* Flattens The Floor Plane (Camera Update Too) (#84350)
## About The Pull Request
Ok so like, side map right? It makes things higher up in the world
render above things lower down in the world.
Most of the time this is what we want, but it is NOT what we want for
floors.
Floors are allowed to be larger then 32x32, and if they are we want them
to render based off JUST their layer.
If we don't allow this grass turfs and others get cut off on their
bottom edge, which looks WEIRD.
In order to make this happen, we can add TOPDOWN_LAYER to every layer on
the floor plane and disable sidemap.
I've added documentation for this to VISUALS.md, and have also
implemented unit test errors to prevent mixing TOPDOWN layers with non
topdown planes (or vis versa).
This new test adds ~1 second to tests, which is I think a perfectly
scrumpulent number.
EDIT:
I nerd sniped myself and implemented sidemap layering and lighting for
cameras (also larger then 32x32 icon support for getflat)
The lighting isn't perfect, we don't handle things displaying in the
void all that well (I am convinced getflat blending is broken but I have
no debugger so I can't fix it properly), but it'll do.
This came up cause I had to fix another layering issue in cameras and
thought I might as well go all in.

## Why It's Good For The Game
Old:

New:

## Changelog
🆑
fix: Grass turfs will render properly now. Reworked how floors render,
please report any bugs!
fix: Cameras now properly capture lighting
fix: The layering seen in photos should better match the actual game
/🆑
* Flattens The Floor Plane (Camera Update Too)
* modular things
* Update fluff.dm
---------
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: SpaceLoveSs13 <68121607+SpaceLoveSs13@users.noreply.github.com>
* Slime core removal surgery changes (#84241)
## About The Pull Request
Fixed an issue with incorrect slime dead icon after core removal
surgery. Made the surgery yield all cores in case if the slime had a
steroid potion applied.
## Why It's Good For The Game
The icon was broken. Less clicks for surgery.
## Changelog
🆑
fix: Fixed dead slime icon not showing when cores are extracted
qol: Slime core removal surgery extracts all cores on completion
/🆑
* Slime core removal surgery changes
---------
Co-authored-by: Andrew <mt.forspam@gmail.com>
* Using ctrl + your quick MOD button now opens module selector on your mouse position (#84879)
## About The Pull Request
Title. Ctrl + middle by default, can be ctrl + alt + LMB if changed in
prefs. Both are unused and default to ctrl/alt click behavior
respectively.
## Why It's Good For The Game
A quick way to change modules. You *can* bind your module wheel to a
hotkey but that still opens it on your sprite, making it harder to
quickly swap modules in combat/danger.
## Changelog
🆑
qol: Using ctrl + your quick MOD button now opens module selector on
your mouse position
/🆑
* Using ctrl + your quick MOD button now opens module selector on your mouse position
---------
Co-authored-by: SmArtKar <44720187+SmArtKar@users.noreply.github.com>
* Toggle the ability for the dead to vote in-game + understandability for the dead whether voting is disabled. (#84352)
## About The Pull Request
Adds a convenient switch to change the ability to vote dead (previously
only in the config), and also turns off the button and adds a tooltip to
let players know why they can't vote (previously, you could just click,
since the button wasn't turned off, but the vote didn't count).
https://github.com/tgstation/tgstation/assets/78199449/404aac9c-0b41-4c16-8ffd-2a435cf25e2c
## Why It's Good For The Game
At the right moments, you can just stop considering the opinions of dead
players.
The dead players will be able to understand why they can't vote.
## Changelog
🆑 Vishenka0704
qol: With voting turned off for the dead, you can now understand why you
can't vote (being dead).
admin: Voting switch for the dead players
/🆑
* Toggle the ability for the dead to vote in-game + understandability for the dead whether voting is disabled.
---------
Co-authored-by: Yaroslav Nurkov <78199449+AnywayFarus@users.noreply.github.com>
* Experimentor malfunction reduction chance is now multiplicative. Copying is now slightly rarer. (#84858)
## About The Pull Request
Alternative / supplementary to #84855. Currently Experimentor's
malfunction reduction chance is additive instead of multiplicative,
allowing to completely babyproof it. Chance to copy an object also has
been lowered from 35% to 20%
## Why It's Good For The Game
Copying critical items is a niche but cool thing. Removal of
babyproofing will keep some risk of having your item destroyed, as
bringing it down low enough to babyproof experimentor again is not
possible by standard round's time constraints.
## Changelog
🆑
balance: Experimentor's reduction chance is multiplicative, and chance
to copy an object has been slightly lowered.
/🆑
* Experimentor malfunction reduction chance is now multiplicative. Copying is now slightly rarer.
---------
Co-authored-by: SmArtKar <44720187+SmArtKar@users.noreply.github.com>
* Heads of staff PDAs start with twice as much disk space (#84874)
## About The Pull Request
Title. Makes heads' and captain's PDAs have 128 GQ of memory instead of
only 64.
## Why It's Good For The Game
RD and CE's PDAs are completely filled roundstart, and while its not
critical for CE, RD needs to delete at least two apps in order to be
able to submit gas shell experiments which is extremely annoying. Other
heads of staff PDAs have been upgraded for parity.
## Changelog
🆑
qol: Heads of staff PDAs start with twice as much disk space
/🆑
---------
Co-authored-by: Zephyr <12817816+ZephyrTFA@ users.noreply.github.com>
* Heads of staff PDAs start with twice as much disk space
---------
Co-authored-by: SmArtKar <44720187+SmArtKar@users.noreply.github.com>
Co-authored-by: Zephyr <12817816+ZephyrTFA@ users.noreply.github.com>
* Other mobs no longer hear your breathing (#84876)
## About The Pull Request
Closes#84809
Direct set in type was overriden by soundloop's constructor, which
resulted in sound being played for everyone around the player at default
volume/range settings. Now it properly respects your pref and doesnt
play to others
## Changelog
🆑
fix: Other mobs no longer hear your breathing
/🆑
* Other mobs no longer hear your breathing
---------
Co-authored-by: SmArtKar <44720187+SmArtKar@users.noreply.github.com>
* Fixes MOD hypospray using incorrect fill sprites (#84875)
## About The Pull Request
After the syringe resprite their fill sprites no longer fit MOD hypos,
so I added proper fill textures for them.
Closes#81469
## Why It's Good For The Game
Current ones look jank and are going outside of the hypo
## Changelog
🆑
image: MOD hyposprays no longer use syringe fill sprites
/🆑
* Fixes MOD hypospray using incorrect fill sprites
---------
Co-authored-by: SmArtKar <44720187+SmArtKar@users.noreply.github.com>
* Fixes the french beret making you speak spanish (#84870)
As a result of an epic copy paste failure, people who don the french
beret will suddenly find themselves speaking spanish phrases instead of
french ones.
* Fixes the french beret making you speak spanish
---------
Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com>
* Adds the National Ice Cream Day. (#84791)
This PR adds the National Ice Cream Day (yeah, it's one of those
'murrican holidays) to the game, bringing a few niche ice-cream-related
effects to the game
During the Ice Cream Day:
- Crematoriums replaced with cre**a**matoriums.
- All cyborgs that don't already come with the treat dispenser are given
(a slightly weaker) one stuck in ice cream mode.
- Robot customers order ice cream thrice as often.
- The ice cream vat starts with two times and a half more ingredients.
- Ice cream cones can hold up to four times as many scoops as normal.
* Adds the National Ice Cream Day.
---------
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
* Buffs tetrodotoxin availiability a bit. (#84623)
## About The Pull Request
When I made the trait and the toxin for the pufferfish, I always had the
doubt it's kinda underwhelming, and then I noticed the mistake of not
giving it the REAGENT_CAN_BE_SYNTHESIZED flag.
## Why It's Good For The Game
It's a slow-acting like bungotoxin and slow-metabolizing like cyanide on
roids, however it isn't all that strong unless you are slow to react
too. I don't think it deserves to be a pain to get.
## Changelog
🆑
balance: Tetrodotoxin can now be synthesized (bees, the odysseus mech,
strange seeds...)
balance: Upped the amount of tetrodotoxin you can harvest from
pufferfishes (or any fish with the trait).
spellcheck: Fixed some typos with the toxin.
/🆑
* Buffs tetrodotoxin availiability a bit.
---------
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
* Pyro and cryo beams (the genetics powers) adjust temperature more severely, additional effects to make them more meaningfully interact with the world (#84628)
## About The Pull Request
Pyro and cryo beams now adjust temperature by a much larger margin. This
is to help them remain useful against....humans. Just straight up naked
humans.
Pyro beams can ignite objects and heat reagents within an object. Cryo
beams freeze reagents in an object.
Cryo beams directly inflict the freezing blast status effect so that you
absolutely will slow someone down on hit. No more fucking around with
temp to MAYBE get some kind of effect.
## Why It's Good For The Game
There was a point where cryokinesis was actually fairly good at slowing
people down. Unfortunately, the same person who last touched temperature
code also made it nearly unusable against regular human targets due to
the rapid pace at which humans normalize their temperature. It takes a
good while before temperature slowdown starts to take effect.
Pyro beams have additional on-hit effects, which cryobeam does not.
Cryobeams only have the temperature adjustment and as noted, it is quite
weak. Being on fire starts to damage equipment and present a more
tangible danger in some environments, such as plasma floods or having
just been hit with an accelerant such as alcohol.
By including a status effect onto the cryo beam that forces the target
to slow down, we avoid the issue of people ignoring the effect of the
cryobeam entirely as a meaningful attack compared to being shot by a
pryro beam, which will usually cause people to start panicking or moving
to remove the fire in some way.
I also think by adding some additional interactions to the beam to make
them meaningfully affect some world objects, like flammable objects,
helps to realizes the idea a bit better of them being blasters of
temperature rather than just being bullets. It means it goes a little
beyond just being a weapon and potentially now a tool. (It was thinking
of Bioshock's plasmid advertising when I made this, like lighting
cigarettes.)
## Changelog
🆑
balance: Cryokinesis and pyrokinesis more severely adjust temperature.
balance: Cryokinesis forces a target to slow down on hit for a few
seconds.
balance: Pyrokinesis can ignite objects.
balance: Temperature projectiles change the temperature of the target's
contained reagents.
/🆑
* Pyro and cryo beams (the genetics powers) adjust temperature more severely, additional effects to make them more meaningfully interact with the world
---------
Co-authored-by: necromanceranne <40847847+necromanceranne@users.noreply.github.com>
* War declaration gives 600 research points (#84757)
## About The Pull Request
Made the Nuke Ops war declaration give 600 points to the station tech
web.

## Why It's Good For The Game
To let the station prepare more varied countermeasures.
## Changelog
🆑
balance: War declaration gives 600 research points to the station
/🆑
* War declaration gives 600 research points
---------
Co-authored-by: Andrew <mt.forspam@gmail.com>
* H.A.R.S. no longer disables your skillchips (and also doesn't show you the brain-removal text) (#84841)
## About The Pull Request
So, this one needs some explanation. First, how does H.A.R.S. work code
wise? Well, it's pretty simple:
7d7a6da735/code/datums/mutations/body.dm (L611-L613)
It removes the victim's brain from their head and then immediately puts
it back into their chest. It also sets that special flag to true. This
is what the docs have to say about that flag:
7d7a6da735/code/modules/surgery/organs/organ_movement.dm (L27)
So basically, it suppresses the side effects of having the organ
removed. This is why H.A.R.S. doesn't kill you instantly despite
removing your brain. So why does still deactivate skillchips, since
that's also a side effect? Well, that's because brain code doesn't
actually take it into account properly:
7d7a6da735/code/modules/mob/living/brain/brain_item.dm (L112-L119)
Instead of treating the special flag as "should we prevent side
effects?" It treats it as "should we make this silent?" So I just took
the obvious route and changed that part.
There was also another bug, where you'd be shown this text upon gaining
or losing H.A.R.S.:
> You feel slightly disoriented. That's normal when you're just a brain.
That obviously shouldn't be happening, so I made H.A.R.S. pass
`movement_flags = NO_ID_TRANSFER` as well.
Fixes#84010
## Why It's Good For The Game
Bugfix. To know why I fixed the bug in this way specifically, see above.
## Changelog
🆑
fix: H.A.R.S. will no longer disable your skillchips or show you text
reserved for total brain removal.
/🆑
* H.A.R.S. no longer disables your skillchips (and also doesn't show you the brain-removal text)
---------
Co-authored-by: GPeckman <21979502+GPeckman@users.noreply.github.com>
* Medical research nodes adjustment (#84783)
## About The Pull Request
Moves XL beaker from Chemical Synthesis to Medbay Equipment
Removes Plumbing node and moves most items to Chemical synthesis node
Moves piercing syringe from Plumbing node to Advanced Medbay Equipment

## Why It's Good For The Game
Love the science rework, there's just a few things that need to be moved
around.
I've got two reasons for ya.
Bluespace beakers are often researched before metamaterial beakers due
to the different node paths and the value of bluespace research being
greater than plumbing research. It's a little weird that the higher
volume beaker is so often available sooner
XL-beakers are pretty simple and are already locked behind plastic, they
should probably be available to chemists at round start, just like they
were before the research rework.
## Changelog
🆑
balance: Moves XL beaker from Chemical Synthesis to Medbay Equipment
balance: Removes Plumbing node and moves most items to Chemical
synthesis node
balance: Moves piercing syringe from Plumbing node to Advanced Medbay
Equipment
/🆑
* Medical research nodes adjustment
---------
Co-authored-by: Redbert <109347230+Deadgebert@users.noreply.github.com>
* Security officers can now be made blood brothers if their mindshield is removed (#84796)
## About The Pull Request
What the title says. If you go to the effort of kidnapping a secoff and
removing their mindshield, then you can now flash them to make them your
bloodbrother. This change was atomized out of #84766.
## Why It's Good For The Game
Making it work this way is consistent with revolutionaries, who can also
convert un-shielded security officers. Given that both antags convert
people in the same way, by flashing people, it stands to reason that
they should work in a consistent manner. This is unlikely to be
overpowered, as you can just flash any head of staff for almost the same
benefit but without all the effort.
## Changelog
🆑
balance: If you remove a security officer's mindshield, then you can
flash them to make them your blood brother.
/🆑
* Security officers can now be made blood brothers if their mindshield is removed
---------
Co-authored-by: GPeckman <21979502+GPeckman@users.noreply.github.com>
* Mannitol pills are 15u (#84846)
## About The Pull Request
Roundstart mannitol pills are 15u (up from 14u)
## Why It's Good For The Game
This was changed like 4 years ago in #62334 to make roundstart pills not
overdose you anymore (mannitol OD is 15u)
But the fact that they went with 14u instead of 15u irritates me. I'm
being robbed of 1u of mannitol*. AND it's not a nice divisible-by-five
number. So I up it by 1u.
*(A 15u pill of a chem that overdoses at 15u won't overdose you, thanks
to the fact that transfer from stomach to bloodstream happens over time.
You never have 15u in you at once - at most, 9.8u.)
## Changelog
🆑 Melbert
qol: Roundstart Mannitol pills are 15u (up from 14u)
/🆑
* Mannitol pills are 15u
---------
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
* Experimentor will no longer duplicate Bags of Holding (#84851)
## About The Pull Request
This feature of the experimentor is ~6 years old, back when BoHs didn't
need anomaly cores, but now that BoHs need anomaly cores this just
bypasses the anomaly core limit. And now it will not.
Closes#84849
## Why It's Good For The Game
Limits to the amount of anomaly core items that can exist aren't
supposed to be able to be bypassed this easily.
## Changelog
🆑
balance: Experimentor will no longer duplicate Bags of Holding
/🆑
* Experimentor will no longer duplicate Bags of Holding
---------
Co-authored-by: JackEnoff <166665535+JackEnoff@users.noreply.github.com>
* Fixes mod paint kit (#84835)
## About The Pull Request
After all the attack chain refactors, the modsuit paint kit was bugged.
If you tried to use it on a modsuit that had storage installed, then the
paint kit would simply be inserted into the modsuit instead of allowing
you to change the skin/color.
Fixes#84620Fixes#84490
## Changelog
🆑
fix: The modsuit paint kit is no longer broken.
/🆑
* Fixes mod paint kit
---------
Co-authored-by: GPeckman <21979502+GPeckman@users.noreply.github.com>
* TV helmet no longer has fov or makes you flash sensitive (#84815)
## About The Pull Request
TV helmet no longer has gas mask FOV, nor does it give you flash
sensitivity.
Since those are gone, removed pepper proof from it as well.
## Why It's Good For The Game
I don't really know why the tv helmet specifically was cucked like this.
Out of all the costume helmets, none do this. I don't think it adds
much? It just makes it a pain in the ass to use? I want to be a tv
helmet guy and see 360 degrees and weld in peace, I don't think that's
too much to ask.
For fairness sake it also doesn't have pepperproof anymore. You can
replicate all its effects by just wearing a gas mask underneath.
## Changelog
🆑
qol: TV helmet no longer has gas mask FOV, nor does it give you flash
sensitivity.
qol: Since those are gone, removed pepper proof from it as well.
/🆑
* TV helmet no longer has fov or makes you flash sensitive
---------
Co-authored-by: carlarctg <53100513+carlarctg@users.noreply.github.com>
* fixes wawa cryo cell (but good) (#84682)
## About The Pull Request
better alternative to #84676
cryo cells having a two tile tall sprite return the turf above in
/proc/get_turf_pixel()
overrides IsObscured on cryo cells to only respect its actual location
fixes#80983
## Why It's Good For The Game
bug bad
## Changelog
🆑
fix: fixes the rightmost wawastation cryo cell
/🆑
* fixes wawa cryo cell (but good)
---------
Co-authored-by: jimmyl <70376633+mc-oofert@users.noreply.github.com>
* Adds in airlock helpers for inaccessible doors (#84792)
## About The Pull Request
ACCESS_INACCESSIBLE was added by #81828, and originally used for the
bitrunning lockboxes that were not meant to be unlockable by any access.
This PR adds in an airlock helper
(`/obj/effect/mapping_helpers/airlock/inaccessible`) that applies the
ACCESS_INACCESSIBLE to make an airlock unable to be opened by any ID.

> An example of the helper, and what it looks like used on an airlock.
## Why It's Good For The Game
This can be used in mapping for ruins or away missions where the mapper
does not want an airlock to be passed through with an ID and does not
want to worry about cases where the player may have access to ID cards
from other ruins that may grant access to set doors.
## Changelog
No player facing changes.
* Adds in airlock helpers for inaccessible doors
---------
Co-authored-by: Ical <86125936+Ical92@users.noreply.github.com>
* Makes gigabeacon easier to research (#84823)
## About The Pull Request
This changes the bluespace navigation gigabeacon to be unlocked with
Applied Bluespace Research (T2) research node, instead of
Telecommunications (T5).
## Why It's Good For The Game
Gigabeacon used to be its own node which nobody researched. #77223
changed that by tying it up with Telecommunications. After the techweb
tree update, Telecommunications has become a tier 5 research, meaning
that nobody researches gigabeacons again. This PR is meant to amend
that, making gigabeacons more accessible again.
I have to admit that putting this item unlock on Applied Bluespace node
is quite generous, since that node should be researched early on every
round. However, I don't believe that to be an issue, but if needed I can
move it to Bluespace Travel (prerequisite to t4 parts).
## Changelog
🆑
balance: bluespace navigation gigabeacons are now unlocked with Applied
Bluespace Research
/🆑
* Makes gigabeacon easier to research
---------
Co-authored-by: zoomachina <97964454+zoomachina@users.noreply.github.com>
* Fixes grounding rods (#84839)
## About The Pull Request
Grounding rods didn't have a circuit properly defined. This meant that
mapped-in grounding rods (and presumably admin spawned ones) could not
be upgraded and did not yield any parts or a circuit board when
deconstructed. Now they do have a circuit defined.
Fixes#84588
## Changelog
🆑
fix: Mapped in grounding rods can be upgraded again (not that upgraded
parts do anything for it) and don't disappear when deconstructed
anymore.
/🆑
* Fixes grounding rods
---------
Co-authored-by: GPeckman <21979502+GPeckman@users.noreply.github.com>
* Fix newly created cardhands not inheriting singlecard offsets (#84838)
## About The Pull Request
So while working on another pr, I noticed every time I used a deck to
click on a single card, it'd create a cardhand... that's centered on the
table.
Looking into it, I noticed we already have code for it... but it doesn't
work?
This seems to be because we copy over the `pixel_x` and `pixel_y` values
AFTER we insert the card into the cardhand:
cb5a5c1c69/code/modules/cards/singlecard.dm (L172-L176)
Swapping these around fixes it.
## Why It's Good For The Game
It's kinda awkward to play card games around a single table if all your
newly created cardhands decide to take up the same space on the table.
## Changelog
🆑
fix: Using a dual wielded deck to add another card to a single card
bases the position of the resulting hand of cards on the position of the
card.
/🆑
* Fix newly created cardhands not inheriting singlecard offsets
---------
Co-authored-by: _0Steven <42909981+00-Steven@users.noreply.github.com>
* You can emag grapple gun to use it on station. (#84829)
## About The Pull Request
You can emag grapple gun to use it on station.
## Why It's Good For The Game
Cool hook. Gives him the way to use his mechanics at the station.
🆑
add: You can emag grapple gun to use it on station.
/🆑
---------
Co-authored-by: MrMelbert <51863163+MrMelbert@ users.noreply.github.com>
* You can emag grapple gun to use it on station.
---------
Co-authored-by: Xackii <120736708+Xackii@users.noreply.github.com>
Co-authored-by: MrMelbert <51863163+MrMelbert@ users.noreply.github.com>
* Random language trait tweak (#84816)
## About The Pull Request
- Splits the trait into two, one that affects only bots (like the
original version) and one that only affects machines
- Only mapload bots are affected (again)
- Only mapload machines are affected
- The Automated Announcer is immune
## Why It's Good For The Game
I made this trait a while back and then someone else changed it to be
far more disruptive and annoying without adjusting the weight, so I feel
like I have the right to reign it back in a little bit.
This aims to retain some of the charm intended behind the original trait
while maintaining some of the changes made to it.
## Changelog
🆑 Melbert
add: Bot Language station trait split into two: One that affects bots
(retains the old weight and cost) and one that affects machine (half
weight, double the cost)
del: Bot Language station trait and (new) Machine Language station trait
no longer affect newly created machines or bots, just those present at
game start
del: Machine Language station trait cannot affect the Automated
Announcer in telecomms
/🆑
* Random language trait tweak
---------
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
* [no gbp] fixes sleeping mobs getting the surgery (#84732)
fixes#84617
i did test this, no clue how this got missed...
* [no gbp] fixes sleeping mobs getting the surgery
---------
Co-authored-by: Afevis <ShizCalev@users.noreply.github.com>
* Buffs the Matrix Flip skillchip (#84658)
## About The Pull Request
Amps up the duration of the flip and the bullet dodging to 1.4 seconds
(from 0.8). EDIT: I've added a check to prevent matrix-flipping into
stamcrit (unless the emote wasn't intentional) and lowered the stam cost
very slightly to allow for a fifth flip.
## Why It's Good For The Game
I've tested the thing, with and without stun immunity (which prevents
stamcrit from overusing it), hulk, rapid gloves, against the colossus
and turrets at the tdome. It's pretty meh overrall, having to keep
spamming the flip hotkey to keep it going, and the duration isn't all
that useful since you can't easily foresee when something or someone's
going to fire at you, or react in time. This is likely going to stay a
gimmick, albeit a less crappier one.
## Changelog
🆑
balance: Buffed the matrix flip skillchip duration. Lowered the stamina
cost very, very slightly.
qol: You can now longer matrix-flip yourself into exhaustion, unless the
emote is unintentional.
/🆑
* Buffs the Matrix Flip skillchip
---------
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
* Variable Door Delay + Timer Based Animations (#84631)
## About The Pull Request
### Variable Door Delay
Door opening/closing delay times are currently static, but many doors do
not have animations that FIT the actual timings.
It would be better if subtypes cound declare how long each animation
takes, and how long it takes for opening to say, become passable and
such.
Let's do that.
### Timer Based Animations
Currently all doors use flick() to do their animations. This is fine
right NOW, but fucks with walleniong because we have to split most
things into segments to make layering work.
So rather then flick let's use client timers and update_icon_state to
achive our effects, alongside a proc that lets us do other effects (like
sound) on playing an animation
## Why It's Good For The Game
Door behavior and visuals better match up, wallening compatability
upstreaming.
## Changelog
🆑
add: Most door animations now better line up with when they are/are not
passable.
/🆑
---------
Co-authored-by: MrMelbert <51863163+MrMelbert@ users.noreply.github.com>
* Variable Door Delay + Timer Based Animations
* Update airlock_override.dm
* modular fix
---------
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: MrMelbert <51863163+MrMelbert@ users.noreply.github.com>
Co-authored-by: SpaceLoveSs13 <68121607+SpaceLoveSs13@users.noreply.github.com>
* Resurrects Liquidscode
Fixes everything broken with liquidscode; with a heavy emphasis on making oceans work again. This makes it possible via signal for atoms to react to liquids updating on a turf nearby, fixes immutable turf rendering; fixes liquid plumbing('s rendering - we're still working on getting the input and outputs themselves fixed and is our biggest "we need this done" rn, the recent plumbing refactor fucked us here); fixes ocean area's icons; redoes liquids spawners' hierarchy and gives them a new sprite, and finally fixes trench mapgen & ocean turfs (while implementing some new subtypes we needed).
Co-Authored-By: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
Co-Authored-By: Ivory <47710522+distributivgesetz@users.noreply.github.com>
* I fucked this one up; oopsies.
* I regex'd for this!! How did this slip through??
* This one's more understandable though.
* Update ocean_turfs.dm
Real "ghosts in the machine" vibe to this one; why specifically does THIS one fail but the rest don't. I don't get it. Worked on our code.
---------
Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
Co-authored-by: Ivory <47710522+distributivgesetz@users.noreply.github.com>
Co-authored-by: SpaceLoveSs13 <68121607+SpaceLoveSs13@users.noreply.github.com>
* Remote materials don't block multitool on failure (#84797)
## About The Pull Request
- Fixes#84794
`/datum/component/remote_materials` blocks the tool act from continuing
when linking with ore silo fails. We don't want that for stacking
machines
## Changelog
🆑
fix: stacking machines can be linked with its console via multitool
/🆑
* Remote materials don't block multitool on failure
---------
Co-authored-by: SyncIt21 <110812394+SyncIt21@users.noreply.github.com>
* Fixed lights stopping emitting light in some situations (#84299)
## About The Pull Request
closes#77789
edt: also closes#82600
Light sources stop emitting light if the tile in which the light source
itself is located and all 4 adjacent tile block the light. This usually
happens when a smoke grenade is thrown, or something went wrong in the
chemistry again
<details>
<summary>Videos</summary>
As it was before
https://github.com/tgstation/tgstation/assets/112967882/44ff556b-d09f-4024-945e-c2c105f511a9
Now
https://github.com/tgstation/tgstation/assets/112967882/9f9f8f43-47a9-47be-8499-99bab39fc166
</details>
## Why It's Good For The Game
You wont need to switch the lights twice to make them work after someone
threw smoke grenades into the hallways anymore
## Changelog
🆑
fix: Fixed lights stopping emitting light in some situations
/🆑
---------
Co-authored-by: Ghom <42542238+Ghommie@ users.noreply.github.com>
* Fixed lights stopping emitting light in some situations
---------
Co-authored-by: Kocma-san <112967882+Kocma-san@users.noreply.github.com>
Co-authored-by: Ghom <42542238+Ghommie@ users.noreply.github.com>
* Fixed paralyzed characters being able to walk post-amputation. (#84805)
## About The Pull Request
Fixes#80396.
Fixes#81508.
I suspect this also fixes#74025, but that one was never properly
reproduced.
There has been a bug for quite a long time allowing paraplegic
characters to walk around after the loss of a leg. This was due to the
paraplegic trait being cleared from a removed limb _before_ its owner is
cleared, causing the number of usable legs to incorrectly increment.
Repeatedly removing and reattaching legs could increment usable_legs
arbitrarily high, allowing you to walk around at full speed with no legs
at all.
Things have been rearranged so that the limb's owner gets cleared first,
removing this bug.
## Why It's Good For The Game
As funny as it is for a completely legless person to be "walking" around
the station at full speed, I don't think this is something you should be
able to do freely if you know how.
## Changelog
🆑
fix: Amputating a paraplegic's leg no longer miraculously allows them to
walk.
/🆑
---------
Co-authored-by: Ghom <42542238+Ghommie@ users.noreply.github.com>
* Fixed paralyzed characters being able to walk post-amputation.
---------
Co-authored-by: lizardqueenlexi <105025397+lizardqueenlexi@users.noreply.github.com>
Co-authored-by: Ghom <42542238+Ghommie@ users.noreply.github.com>
* [NO GBP] Fixing fishing bait-related calculations (#84784)
## About The Pull Request
I subtracted the wrong way around. I should have probably tested it
properly before.
## Why It's Good For The Game
We want a positive integer, not a negative one.
## Changelog
🆑
fix: Fixed a whoopsie with bait-related calculations for fishing.
/🆑
* [NO GBP] Fixing fishing bait-related calculations
---------
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
* Cake baking autotest (#84795)
## About The Pull Request
I want to get back to the food stuff, and adding a few auto tests to
avoid regressions.
The test makes a dummy human bake a cake from the base ingredients,
confirming that the reagent purities are correct and that the cake slice
gives a food buff in the end.
## Why It's Good For The Game
Avoiding bugs.
---------
Co-authored-by: Ghom <42542238+Ghommie@ users.noreply.github.com>
* Cake baking autotest
---------
Co-authored-by: Andrew <mt.forspam@gmail.com>
Co-authored-by: Ghom <42542238+Ghommie@ users.noreply.github.com>
* Living flesh now has a 30/70% chance to touch the targeted thing instead of pulling it (#84752)
## About The Pull Request
Sister PR to #84749
Living flesh arms now have a 30% (70% if you have combat mode on) chance
to touch the thing they're targeting instead of pulling it. You can end
up punching a random person, or, to much more hilarious results, a
heretic influence or the supermatter crystal.
Additionally, adds a ``silent`` argument for ``swap_hand`` proc, false
by default and will prevent failure message from appearing when trying
to swap hands while dual wielding an item if true
## Why It's Good For The Game

It allows for absolutely hilarious situations which is perfect for the
anecdote generator that SS13 is
## Changelog
🆑
add: Living flesh arms have a chance to actually touch the thing they're
targeting instead of pulling it. Careful with supermatter!
/🆑
* Living flesh now has a 30/70% chance to touch the targeted thing instead of pulling it
---------
Co-authored-by: SmArtKar <44720187+SmArtKar@users.noreply.github.com>
* Fixes Exosuit Stress Failure not working (#84776)
## About The Pull Request
Closes#84762
It was missing total_requirement which defaulted to 0 and made it not
generate properly.
## Changelog
🆑
fix: Exosuit Stress Failure experiment now works
/🆑
* Fixes Exosuit Stress Failure not working
---------
Co-authored-by: SmArtKar <44720187+SmArtKar@users.noreply.github.com>
Co-authored-by: SpaceLoveSs13 <68121607+SpaceLoveSs13@users.noreply.github.com>
* Fix chem dispenser feedback (#84781)
## About The Pull Request
When the beaker is full, chem dispenser thinks it should dispense 0
chemicals.
If 0 chemicals should be dispensed, `cell.use` returns 0. The same value
is returned when there isn't enough energy in the cell.
Because of that, the dispenser was confused and gave off the wrong
message. I added a check to fix that.
Closes#84780.
## Why It's Good For The Game
Bug bad
## Changelog
🆑
fix: fixed dubious chem dispenser feedback when the beaker is full
/🆑
* Fix chem dispenser feedback
---------
Co-authored-by: zoomachina <97964454+zoomachina@users.noreply.github.com>