Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[MDB IGNORE][IDB IGNORE] Hold the Maint Back #514

Merged
merged 731 commits into from
Jan 29, 2024
Merged

Conversation

RogueStationAI
Copy link

No description provided.

SkyratBot and others added 30 commits January 16, 2024 17:31
…[MDB IGNORE] (Skyrat-SS13#26140)

* No runtimes when passing down an empty list to set_access() (#80925)

## About The Pull Request
Emptying the access list of an ID is a totally legit thing to do, so
let's stop throwing errors because vibebots have no access at all.

## Why It's Good For The Game
Fewer runtimes.

## Changelog
Nothing changes.

* No runtimes when passing down an empty list to set_access()

---------

Co-authored-by: Ghom <[email protected]>
…RE] (Skyrat-SS13#26138)

* Optimizes Reftracking (Bigly) (Plus harddel fixes) (#80443)

## About The Pull Request

### Reftracking BS

Alllright so reftracking is slow, really really slow.
That's a problem for me, both because I want it to be fast so I can more
efficiently torture players by running it on live, but also because it
impedes both local and CI runs.

So I've set out to micro optimize the DoSearchVar proc, one of the
hottest in the game.
I've done this in a few different ways.

#### The simple shit

Removing redundant proc args
Yeeting assoc arg setting (extra cost)
Moving if statements around to prioritize the more common case
Ignoring empty lists.

#### The not simple shit

Throwing our snowflake list checking into the sun
(Background, byond has some special lists that cannot be accessed like
an assoc list, trying to will lead to runtimes)
The way we handle this involves inspecting their ref string, and it eats
a LOT of time.

Faster then to mark all the lists we know are special by var name, and
then use try/catch to detect and silence anything that sneaks through
(this is on the order of like 1/3 per run, kinda curious what they are
tbh)
Thanks to MSO for the idea for this btw.

Removes the vars and logic that tied ref searching to clients.
It's not how this code is used, and it slows everything else down for
really no reason

Added support for handing in a known "hanging reference" count, and then
searching for that.
This lets us early exit the ref search if we find everything we were
looking for, which is REALLY powerful, and why I asked for refcount() in
the first place.

### Harddel Fixes

[Fixes some harddels w gulag stuff born of the 515 one way ref
issues](tgstation/tgstation@046d7da)

[Ensures proximity cameras clean their ref to their proximity datum if
it's
deleted](tgstation/tgstation@ff607e9)

[Deleting a pipe connected via the gas_machine_connector datum to a
machine should also delete that machine (harddel
fix)](tgstation/tgstation@9eecca2)
## Why It's Good For The Game

All this combined speeds up refsearching massively, on the order of
hundreds of seconds, and makes it far less time consuming for both CI
and running on live.
I'll be bullying some servers semi soon, want to see what I can cut out.

* Optimizes Reftracking (Bigly) (Plus harddel fixes)

---------

Co-authored-by: LemonInTheDark <[email protected]>
… [MDB IGNORE] (Skyrat-SS13#26137)

* fixes an incorrect direction on the plumbing splitter sprite (#80953)

## About The Pull Request

![image](https://github.com/tgstation/tgstation/assets/70376633/8b412b2d-eb4e-4fb3-bc4f-48ce1b7b85af)

the previous one used to face the wrong direction

## Why It's Good For The Game

uhhh correct direction = good?

## Changelog
:cl:
image: the plumbing chemical splitter no longer has a wrongly rotated
direction
/:cl:

* fixes an incorrect direction on the plumbing splitter sprite

---------

Co-authored-by: jimmyl <[email protected]>
…rong verbs over radio [MDB IGNORE] (Skyrat-SS13#26136)

* Minor say code refactor, fixes signers sometimes using the wrong verbs over radio (#80092)

## About The Pull Request

Alternative title: "Baby's third pr: surprise say code refactor"

While testing sign language I worked out that if the first message sent
after toggling sign language involves speaking directly into a radio, it
proceeds to use the wrong verb. After several hours of digging through
say and telecomms code, I worked out the cause:
the `verb_say` on humans is primarily updated to match tongue data
during the verb _selection_ method `say_mod()` in `human_say.dm`, and as
a consequence this meant the verb wasn't updated to the correct one
until far after it had been copied to a virtualspeaker, leading to the
incorrect verb being used for the radio message.

This pr fixes this by refactoring this verb updating behaviour to be in
a new method `update_verbs()`, which we then call _before_ attempting to
call `radio()` to avoid wrongful copying and thus fixing the bug.

There's theoretically also cases where the previous behaviour would use
the wrong verb if one lost or gained a tongue between radio messages, or
the wrong verb from those picked from a list for some simple/basic
animals, but those are significantly less common.

To note, I gave the new `update_verbs()` method the same arguments as
the `say_mod()` method it got split out of, but having gone through all
instances of it being used for this I don't feel it actually *needs*
those arguments. So I'm unsure whether it should keep them or not.
Opened as a draft for now for sanity's sake, and also cause, y'know, it
touches say code.
## Why It's Good For The Game

It was _really_ annoying.
## Changelog
:cl:
fix: Signers no longer use the wrong verb when speaking directly into a
radio for the first message after toggling sign language.
refactor: Moved the updating of verb variables into a new method which
is called earlier in living's say, which should avoid this happening for
other things which updated their verbs the same way.
/:cl:

---------

Co-authored-by: Ghom <42542238+Ghommie@ users.noreply.github.com>

* Minor say code refactor, fixes signers sometimes using the wrong verbs over radio

---------

Co-authored-by: _0Steven <[email protected]>
Co-authored-by: Ghom <42542238+Ghommie@ users.noreply.github.com>
… IGNORE] (Skyrat-SS13#26131)

* Remove unused `output` var from `sql_message_system.dm` (#80951)

## About The Pull Request
Fixes this
![Screenshot
(382)](https://github.com/tgstation/tgstation/assets/110812394/39f8ae38-0632-4429-9d46-3355d16b9e86)

## Changelog
N/A

* Remove unused `output` var from `sql_message_system.dm`

---------

Co-authored-by: SyncIt21 <[email protected]>
* Refactors pod launcher UI (#80887)

## About The Pull Request
While debugging #80857, it became immediately apparent why it was never
converted over to TypeScript: It's massive. 1203 lines in one file,
making it our largest UI! I stated in the aforementioned PR my general
guideline: 500 lines before something needs to be separated. This does
so.
## Why It's Good For The Game
- Separates a titanic UI component for easier maintainability
- Typescript conversion
## Changelog
N/A nothing player facing

* Refactors pod launcher UI

---------

Co-authored-by: Jeremiah <[email protected]>
… dense turf, obj/machinery hits mob, item without "thrower" hits mob, mob gets hit by non-carbon mob. [MDB IGNORE] (Skyrat-SS13#26129)

* Adds logregisters and messages for situations like: mob hits dense turf, obj/machinery hits mob, item without "thrower" hits mob, mob gets hit by non-carbon mob. (#80909)

## About The Pull Request
Adds few (3) log registers and (2) visible messages for interactions
like; mob hits solid turf (wall for instance), mob gets hit by
obj/machinery and log register for mob gets hit by item without "living
thrower"
Edit: adds additional logregister and chat message when mob hit by non
carbon mob
## Why It's Good For The Game
Fixes #76085
And on top of that, PR is supposed to make situations where players are
being hurt or moved by objects without direct interactions with the
second player (if he does exist) a bit more trackable for player and log
divers.
## Changelog
:cl:
qol: Players are now able to see in chat when they are being hit by
obj/machinery, got crushed into dense turf or get hit by thrown non
carbon mob.
admin: Scenarios like mob hits dense turf, obj/machinery hits mob, item
without "living thrower" hitting mob, mob gets hit by thrown non carbon
mob now appear in logs.
/:cl:

---------

Co-authored-by: Ghom <42542238+Ghommie@ users.noreply.github.com>

* Adds logregisters and messages for situations like: mob hits dense turf, obj/machinery hits mob, item without "thrower" hits mob, mob gets hit by non-carbon mob.

---------

Co-authored-by: Voudez <[email protected]>
Co-authored-by: Ghom <42542238+Ghommie@ users.noreply.github.com>
…E] (Skyrat-SS13#26130)

* fix bileworm ai going insane after eating someone (#80954)

## About The Pull Request
bileworms will no longer infintely try to eat what they already ate

## Why It's Good For The Game
fixes #80948

## Changelog
:cl:
fix: fix bileworm ai going insane after eating someone
/:cl:

* fix bileworm ai going insane after eating someone

---------

Co-authored-by: Ben10Omintrix <[email protected]>
…torm [MDB IGNORE] (Skyrat-SS13#26132)

* [NO-GBP] Fixes radshelter not radprotecting against nebula storm (#80957)

:cl:
fix: Radiation shelters (wherever they are) will protect against nebula
storms
/:cl:

Oversight when I originally added the nebula. Didn't realize these were
a thing

* [NO-GBP] Fixes radshelter not radprotecting against nebula storm

---------

Co-authored-by: Time-Green <[email protected]>
… head [MDB IGNORE] (Skyrat-SS13#26133)

* Fixes assorted head harddels, removes specific organ vars in head (#80950)

Fixes #80926, fixes #80372

The tongue, eyes, ears and brain vars were also being updated and
cleared elsewhere, runtiming whenever a regular head got dismembered and
then emptied, which would eventually cause a harddel due to improper
clean-up

I've fixed the errant proc and just removed those vars because I don't
like having duplicate references for no reason (they should always
already be in contents)

Not player facing

* Fixes assorted head harddels, removes specific organ vars in head

---------

Co-authored-by: Time-Green <[email protected]>
…E] (Skyrat-SS13#26141)

* lock heretics can gain relentless heartbeat again (#80962)

## About The Pull Request

Allows the relentless heartbeat spell to be unlocked after purchasing
burglars fineness.

## Why It's Good For The Game

It lets me have a chance at winning when my targets are more robust than
I am.

Also fixes tgstation/tgstation#80961

## Changelog

:cl:
fix: Lock heretics may once again access 'the relentless heartbeat'
after purchasing 'burglars fineness'.
/:cl:

* lock heretics can gain relentless heartbeat again

---------

Co-authored-by: the-orange-cow <[email protected]>
…6146)

* Ice cream vat uses a radial menu (#80965)

## About The Pull Request

Removes the ice cream vat's html window for ice cream, reagents, and
cones and replaces it with a radial menu and the ability to simply
examine the machine to see its contents.
Soup and Salads currently allow you to see whats inside without the need
for science/bar goggles, so following that theme I thought it would make
more sense for it to also be the case here (and for feature parity with
previous behavior).

#### Controls

Left-click chooses ice cream flavor or ice cream cone
Right-click swaps between which one you will be choosing from

Left click with a beaker will put it inside to use for custom
ingredients
Right click with a beaker will transfer its reagents to the machine (any
that is used for making ice cream)

Dispensing custom ice cream takes from the beaker inside of the beaker

Video demonstration

https://github.com/tgstation/tgstation/assets/53777086/9ebdcb13-b29f-4b3c-9d5f-54be1f6da888

Custom Ice cream

https://github.com/tgstation/tgstation/assets/53777086/687af270-14e4-4851-bf1f-3c4da4aeb21f

## Why It's Good For The Game

The ice cream machine is genuinely confusing because of it's UI and
personally it was unironically the last kitchen tool I learned because I
just didn't think it was worth it. This makes it feel way better to use.
It also helps me with https://hackmd.io/XLt5MoRvRxuhFbwtk4VAUA which
I've been trying to chisel away at.

## Changelog

:cl:
refactor: Ice cream vats now use a radial menu instead of an HTML one.
/:cl:

* Ice cream vat uses a radial menu

---------

Co-authored-by: John Willard <[email protected]>
* Implant pad TGUI (#80978)

## About The Pull Request

I was messing a little bit with TGUI stuff and ended up turning the
implant pad TGUI, so why not.
On top of the new UI, I replaced the messages to chat with nice and
consistent balloon alerts which will hopefully make it not seem like an
ancient piece of shit.

Video demonstration

https://github.com/tgstation/tgstation/assets/53777086/a1ebe0d4-005b-4e29-a623-2c1b352cd017

I also removed ``INTERACT_MACHINE_SET_MACHINE`` from the prisoner
console, because it was accidentally left in when the console was moved
to TGUI

## Why It's Good For The Game

I'm still going down the list of things that need to be TGUI, and I
ended up doing this cause I just felt like it while messing with some
other stuff.
Rest of the list is visible here:
https://hackmd.io/@ sClqlHM0T4yZfn-qa5KnAg/S152Tl2hh

## Changelog

:cl:
refactor: Implant pads now use TGUI
/:cl:

* Implant pad TGUI

---------

Co-authored-by: John Willard <[email protected]>
…nties) [MDB IGNORE] (Skyrat-SS13#26150)

* Fishing hook and reel line tweaks (also qol for the fish bounties) (#80599)

## About The Pull Request
This PR includes a series of small changes and additions to hooks and
reel lines, as well as the aforementioned bounties. My objective here is
to make the (base) hook and reel line feel more useful. Ditto with a few
other things.

Here's the list of changes:
- Almost all fishing rods come with a hook and reel line pre-installed.
The rod from the fishing toolbox comes with separate hook and reel line.
- Without a hook, you cannot fish. Without a reel line, the cast range
is reduced (from 5 to 3).
- Fishing with a reel line installed provides a mild boon to completion
speed by default.
- The sinewy reel line (craftable from lavaland mobs) can now be used to
fish on lava / liquid plasma, but it's a bit stiff and gives a mild
malus to completion speed.
- Unlike other hooks, the rescue and jawed hooks now allow you to cast a
line and reel in living mobs too, not only items. They even get a status
alert they can click to un-snag themselves, or move away far enough to
achieve the same effect.
- Master fishing rod buffed. It now comes with a flexible reel line and
weighted hook pre-installed, and can be cast further than other rods.
- On top of that, the jawed hook will slow down living mobs snagged by
it and is a bit harder to remove.
- when casting a line, it will now show the icon of the current hook as
projectile, not a generic one.
- Reeling now correctly checks movement resistance and anchorage.
- Reeling an object (or a mob) now plays a sound. Ditto for
installing/removing slotted items.
- A few balloon alert feedbacks.
- Minor code improvements.
- The jawed hook should look a smidge sharper.
- reel lines are now small items.

## Why It's Good For The Game
The base hook and reel line didn't do anything begin with, and you would
do just fine without them. In the end it's just a bit unintuitive for
them not to be a requirement.

Beside that, it makes sense for the rescue hook to be able to snag mobs,
so they may as well be used to drag people out of lava or liquid plasma.
As for the jawed hook, it always felt to me a bit underwhelming and a
bit of a filler I had cooked up on the moment. It really could have some
'tactical' utility in virtue of being one of those niche black market
items.

## Changelog

:cl:
add: Most fishing rods come with a hook and line preinstalled. Fishing
toolboxes come with separate reel and lines as usual.
balance: Fishing hooks are now required to fish.
balance: Without a reel line, the range of fishing rods is reduced by
two tiles. Conversely, having one installed gives a mild buff to the
minigame completion speed.
balance: The craftable sinewy reel line can now be used to fish on lava
or liquid plasma, but it's a bit harder to use.
balance: The rare-to-find-in-maintenance master fishing rod now comes
with a flexible line and weighted hook preinstalled, and has better
range than other rods.
balance: Fishing reel lines are now small enough to fit pockets.
add: The rescue and jawed hook can now snag and reel in mobs, not only
items. The jawed hook also slows down when applied, a la beartrap.
qol: Fish bounties now accept filled (stasis) fish cases.
qol: Several balloon alerts for fishing rod interactions.
fix: Reeling in items (and mobs) now respects movement resistance and
anchorage.
fix: Fixed the fishing rod equipment UI being too small to fit its
components.
sound: Reeling in something now plays a sound.
/:cl:

* Fishing hook and reel line tweaks (also qol for the fish bounties)

---------

Co-authored-by: Ghom <[email protected]>
…t-SS13#26151)

* Un-codersprited fishes and the aquarium. (#80960)

## About The Pull Request
I cannot make features and the such this month, so I may as well take
some time to improve AnturK's abysmal codersprites. Some came out
decent, some pretty good. Hopefully you can guess that's a catfish now.

This PR includes a small bit of code changes concerning the aquarium and
one of its props, both pretty bad-looking. I had to modify a dozen lines
of code so that the aquarium stuff is aesthetically layered correctly
(splitting it in multiple icon states), while also replacing the 'rock
floor' prop with 'sand' because it looked pretty bad and hard to read.

The lanternfish, goldfish and pufferfish still need to be resprited.
I'll get to it in a later PR.

## Why It's Good For The Game
So, I've recently checked out the sprites for fish on Goonstation, and
remembered how bad ours are. I drew inspiration from the "googlier" eyes
some of their fishes have, though nothing was copied. Hower, I'm still
crediting Goonstation for reminding me how awful our codersprites are.

Here's the after and before (angel fish missing from the latter 'cuz I
was distracted):

![new_ones](https://github.com/tgstation/tgstation/assets/42542238/cfdecc12-494e-42d3-b1ba-fc0ea510dea4)

![old_ones](https://github.com/tgstation/tgstation/assets/42542238/caf11544-5c5e-43b5-b017-9bc51d10d950)

In-game screenshot coming later, I need to update/downgrade my byond
venrion because 1624 and 1625 are busted.

## Changelog
:cl:
image: Resprited several fishes, and the aquarium.
/:cl:

* Un-codersprited fishes and the aquarium.

---------

Co-authored-by: Ghom <[email protected]>
* New Ore Silo UI (#80975)

![UI](https://github.com/tgstation/tgstation/assets/137328283/8a6f3645-32db-4700-8884-985cf7b3dd40)

## About The Pull Request

Made a new UI for Ore Silo, tweaked `MaterialAccessBar` component a bit
to properly display pop-ups over “wrapped” elements and actually wrap.

## Why It's Good For The Game

Ore Silo is one of the last machines that use browser on TG, we're
almost there!

Also, it helps @ JohnFulpWillard to bring
https://hackmd.io/XLt5MoRvRxuhFbwtk4VAUA HackMD document to a closure.

## Changelog
:cl:
refactor: Refactored Ore Silo Ui.
/:cl:

* New Ore Silo UI

---------

Co-authored-by: Interception&? <[email protected]>
…3#26154)

* Fix bugs regarding immobile shells. (#80976)

## About The Pull Request

In `shell.dm`:
When immobile shells were unsecured it would just directly set
`attached_circuit.on` to whatever the shell anchor state was, which
bypassed sending the signal `set_on()` sends. By instead using
`attached_circuit.set_on()` this state change should actually propagate
to the inner modules, rather than say letting an inner module with a
clock run regardless of the shell's anchor state.
Similarly, adding a circuit to an unsecured immobile shell would try to
set `attached_circuit.on` to the shell anchor state, but in addition to
not propagating to inner modules this simply did not work because the
`attached_circuit.set_shell(parent_atom)` called later would set it to
be on anyway. We resolve this by just, moving the state change until
*after* set_shell.
Finally removes the `attached_circuit.on = TRUE` from the
`remove_circuit()` proc, because
`attached_circuit.remove_current_shell()` immediately sets this to false
again anyway.

More related but separate bits probably tomorrow.
## Why It's Good For The Game

Makes immobile shells actually work only when anchored, and resolved
some related jank.
## Changelog
:cl:
fix: Immobile shells no longer work regardless of anchor state if you
put the circuit in while it's unanchored.
fix: Immobile shells properly propagate their on/off state after
wrenching to inner modules.
/:cl:

* Fix bugs regarding immobile shells.

---------

Co-authored-by: _0Steven <[email protected]>
SkyratBot and others added 26 commits January 29, 2024 01:56
* [GBP NO UPDATE] Hub time timezone fix (#81053)

## About The Pull Request
While browsing the hub I noticed Psychonaut Station the Turkish TG
always had "Time:" with a value of many hours. I thought they had long
rounds until I joined the server and noticed the actual time was 3 hours
behind

Turns out time2text() has a timezone arg which defaults to server
timezone

I have set it to UTC+0 so it is always consistent since world.time is
UTC
## Changelog
:cl:
fix: The hub time should be accurate for servers with different
timezones
/:cl:

* [GBP NO UPDATE] Hub time timezone fix

---------

Co-authored-by: 13spacemen <[email protected]>
Fixes formatting of vending_names_paths (#81071)

Exactly as it says on the tin.

Better code

Nothing player facing

Co-authored-by: Bloop <[email protected]>
* One line cat breeding fix. (#81121)

## About The Pull Request

Alternative title: "Resolve Jerry Tramstation's impotence."

While cats had all the other requirements for breeding, the ai subtree
for it returns early as no `BB_BABIES_PARTNER_TYPES` had been set for
the cat ai and thus it would never actually try to breed.
This pr just adds a `BB_BABIES_PARTNER_TYPES` value to
`code/modules/mob/living/basic/pets/cat/cat_ai.dm`, so they can actually
have kittens again.
## Why It's Good For The Game

Fixes cat breeding bug.
And c'mooooon, look at theeeeem:

![image](https://github.com/tgstation/tgstation/assets/42909981/1c046dae-7541-4b7c-a1eb-c2fe92ef94d4)
## Changelog
:cl:
fix: Jerry Tramstation can get laid again! (Fixed cat breeding.)
/:cl:

* One line cat breeding fix.

---------

Co-authored-by: _0Steven <[email protected]>
* Fixes typos in pyre religious rites. (#81126)

## About The Pull Request
Fixes two small errors in the lines spoken by mob when performing the
fireproof clothing rite.

"a thousand time and more" is now "a thousand times and more"

And the first line has a space added for consistency with the other
lines.
## Why It's Good For The Game
Gotta fix those player facing typos.
## Changelog
:cl:
spellcheck: typos fixed in the fireproof clothing religious rite
/:cl:

* Fixes typos in pyre religious rites.

---------

Co-authored-by: Da Cool Boss <[email protected]>
…rat-SS13#26268)

* [NO GBP] Fixes autolathe power usage for printing items (#81116)

## About The Pull Request
- Fixes #81115

Right we have to start the sum from `0` my bad. Also uses material
define constant when inserting sheets instead of constant `100`

## Changelog
:cl:
fix: auto lathes don't hog local apc supply when printing items
/:cl:

* [NO GBP] Fixes autolathe power usage for printing items

---------

Co-authored-by: SyncIt21 <[email protected]>
* Fixes flashers on tramstation/birdshot (#81104)

## About The Pull Request
didnt have a id set, i set a id
## Why It's Good For The Game
Pressing the flasher should do something
## Changelog
:cl:

fix:  The buttons for flashers on birdshot/tramstation now work

/:cl:

* Fixes flashers on tramstation/birdshot

---------

Co-authored-by: rageguy505 <[email protected]>
…S13#26270)

* Stop blobs from spamming the apc power down noise. (#81125)

## About The Pull Request

It was mentioned to me that APCs were spamming the power down noise when
broken, so I looked into it.
After further questioning and testing, this turned out to be a
blob-specific issue.

Blobs present on the same tile as an APC were continuously calling the
`set_broken()` proc:
```dm
/obj/machinery/power/apc/blob_act(obj/structure/blob/B)
	set_broken()
```
```dm
/obj/machinery/power/apc/proc/set_broken()
    if(malfai && operating)
        malfai.malf_picker.processing_time = clamp(malfai.malf_picker.processing_time - 10,0,1000)
    operating = FALSE
    atom_break()
    if(occupier)
        malfvacate(TRUE)
    update()
```
Which was causing `update()` to be continuously called on the APC, which
was in turn spamming the power down noise:
```dm
/obj/machinery/power/apc/proc/update()
    if(operating && !shorted && !failure_timer)
        (...)
    else
        (...)
        playsound(src.loc, 'sound/machines/terminal_off.ogg', 50, FALSE)
    area.power_change()
```
So we fixed this by just adding an if statement to check if it's broken
or not before breaking it:
```dm
/obj/machinery/power/apc/blob_act(obj/structure/blob/B)
	if(machine_stat & BROKEN)
		return
	set_broken()
```
## Why It's Good For The Game

Fixes noise spam bug.
Ough my ears.
## Changelog
:cl:
fix: Blobs sitting on APCs no longer break them when already broken, and
so no longer spam the power down noise.
/:cl:

* Stop blobs from spamming the apc power down noise.

---------

Co-authored-by: _0Steven <[email protected]>
* Fixes the Wizarditis Timestop joke (#81136)

## About The Pull Request

I made it so Wizarditis Timestop just freezes yourself but forgot
timestop makes you immune to timestop.

So now I added some vars to timestop both to fix this and also for
admins to mess around with.

## Changelog

:cl: Melbert
fix: Wizarditis Timestop now has the desired effect.
admin: Admins can now VV Timestop to make the caster not immune to their
own Timestop. If they really wanted.
/:cl:

* Fixes the Wizarditis Timestop joke

---------

Co-authored-by: MrMelbert <[email protected]>
* A few food fixes (#81128)

## About The Pull Request

Some bug smashing, as well as adding decent values to martian drinks.
This is also my first few ever PRs, so if something goes wrong, yell at
me

## Why It's Good For The Game

This should hopefully make it so that martian drinks appear more at
bars. Also, you can now eat a pesto pizza whole. Yey.

## Changelog

:cl:
fix martian drinks give various moodboosts that aren't just "nice" now
fix: pesto pizza (cooked) is no longer raw, and cilbir is meat instead
of fruit
/:cl:

* A few food fixes

---------

Co-authored-by: Krypandenej <[email protected]>
…kyrat-SS13#26277)

* Adds better buildtool errors when using byond 514 or older (#81129)

Every time someone asks what -DCBT means i lose sleep so here's a
slightly invasive solution.
Build will now check if the dm version is at least 515.1597 (first
version with -D switch), at the cost of having to run dry dm.exe run.

* Adds better buildtool errors when using byond 514 or older

---------

Co-authored-by: AnturK <[email protected]>
* [no gbp] fixes ai controller runtime (#81134)

## About The Pull Request
fixes the flaky error that would happen in cleanbot controllers. i
discovered thru the profiler that a proc i was using to stop tracking
unreachable targets and caching them to a blacklist in selectbehavior
had a bit of a high real time cost, so if the mob got deleted midway
through for any reason would cause a runtime error. ive moved this proc
off selectbehavior and im instead letting the move loop cache this
target into the blacklist if it reaches the max pathing attempts
## Why It's Good For The Game
fixes a runtime that sometimes happens in ai controllers

## Changelog
:cl:
fix: fixes a runtime that sometimes happens in ai controllers
/:cl:

* [no gbp] fixes ai controller runtime

---------

Co-authored-by: Ben10Omintrix <[email protected]>
* Sets reagent holder minimum volume to 0.01 (#81131)

## About The Pull Request
- Fixes #81096

Basically if the reagent volume inside an reagent holder falls below
`CHEMICAL_VOLUME_ROUNDING`(or 0.01) only then is it garbage collected.
Helps with small transfer rates like the plumbing iv drip

This means volumes like 0.01 of a reagent can now exist inside your
beaker, previously this was 0.05

## Changelog
:cl:
fix: sets minimum volume of reagent allowed to exist inside anything to
0.01 therefore allowing plumbing iv drip small transfer rates to occur
without reagents disappearing.
/:cl:

* Sets reagent holder minimum volume to 0.01

---------

Co-authored-by: SyncIt21 <[email protected]>
Fixes Tramstation external atmos ports (#81110)

## About The Pull Request

- Fixes the disconnected external air in/out pipes in Tramstation atmos
- Fixes a floating lightswitch in janitor's closet
- Fixes floating sign in engineering SMES room


![image](https://github.com/tgstation/tgstation/assets/83487515/e98e3a0e-13fb-49cf-96aa-66d7ba6fe886)

## Changelog

:cl: LT3
fix: Tramstation external atmos ports are now properly connected
/:cl:

Co-authored-by: lessthanthree <[email protected]>
@ORCACommander ORCACommander merged commit 234d464 into master Jan 29, 2024
21 of 25 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.