* Unit test organ damage cap (#76439)
## About The Pull Request
Requires #76438 be merged
Tests that organ damage cap is respected on all organs.
Adds a cheeky clamp to ear damage. Not sure if it's necessary but I've
witnessed ear damage bypass the cap in the past even before this bug.
~~Why does use it's own damage system so saaaaaaaaaaaad~~
Co-authored-by: tattle <66640614+dragomagol@ users.noreply.github.com>
* Unit test organ damage cap
---------
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: tattle <66640614+dragomagol@ users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
* Fixes carbon bodytypes not always being synchronized with bodyparts (#76522)
Fixes https://github.com/tgstation/tgstation/issues/76481
TLDR /mob/living/carbon/human/species subtypes were NOT updating their
bodytypes on spawn due to absurd and wacky carbon bodypart creation code
that meant try_attach_limb() never got called (What the FUCK?)
* Fixes CI too
* [NO GBP] Fixes dumb usage of TRAIT_LIVERLESS_METABOLISM i caused (#76500)
## About The Pull Request
TRAIT_LIVERLESS_METABOLISM should do what it implies, and make you
always metabolize as if you were liverless.
This was a stupid mistake on my part because I wasn't aware
TRAIT_STABLELIVER was a thing.
## Why It's Good For The Game
TRAIT_LIVERLESS_METABOLISM and TRAIT_STABLELIVER should not behave the
exact same.
## Changelog
Not quite player facing.
* I fucking swear I fixed this before
---------
Co-authored-by: ChungusGamer666 <82850673+ChungusGamer666@users.noreply.github.com>
* Adds an extra malf AI ability: Remote emagging. Also tidies up emag code and coverts a lot of things to balloon alerts
* Update communications.dm
* Modular override
* Some modular adjustments, removes 'emagged' vars in favor of obj_flags
* whoops, mobs don't have obj_flags.
---------
Co-authored-by: nikothedude <59709059+nikothedude@users.noreply.github.com>
Co-authored-by: Giz <vinylspiders@gmail.com>
Fixes a runtime with cybernetic hearts being EMP'd outside of mobs (#76587)
## About The Pull Request
This proc made a false assumption owner always was set when emp'd, when
hearts can just be emp'd out in the wild
## Why It's Good For The Game
Runtimes
## Changelog
🆑 Melbert
fix: Fixed EMPing a cybernetic heart not implanted in a body not
applying effects (stopping the heartbeat temporarily)
/🆑
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
* SPECIES NUKING 2023: Mein leber! Allows livers to handle reagents in special ways, instead of the species datum doing it
* Fixes another conflict that it decided not to take in
* Fixes the linters!
---------
Co-authored-by: ChungusGamer666 <82850673+ChungusGamer666@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
* Icon folder cleaning wave one
* Fixe a merge conflict
* Fixes some more merge conflicts
* Fixes some modular icon paths
* Fixes even more modular icon paths...
Hopefully that's the last of them
* Fixes some merge discrepencies
* More merge issues
* ok
* not ok
---------
Co-authored-by: YesterdaysPromise <122572637+YesterdaysPromise@users.noreply.github.com>
Co-authored-by: Giz <vinylspiders@gmail.com>
* Jetpack component & Modsuit module signal clean-up & fixes (#76133)
## About The Pull Request
1. Removed the `get_mover` callback, the mover can be retrieved during
activation itself
2. Fixes#76116
the user is passed correctly during activation & deactivation same for
modsuit modules and this also fixes the same bug for
`/obj/item/organ/internal/cyberimp/chest/thrusters` as it's signal was
also not registered correctly with the user
3. Timestop module on `on_module_triggered()` accepts user as 2nd param
## Changelog
🆑
fix: jetpack modules work on mod suits again
fix: jetpack cyber implants also work
refactor: removed `get_mover` callback, user is retrieved during
activation
refactor: timestop module on `on_module_triggered()` accepts user as 2nd
param
/🆑
* Jetpack component & Modsuit module signal clean-up & fixes
---------
Co-authored-by: SyncIt21 <110812394+SyncIt21@users.noreply.github.com>
* SPECIES NUKING 2023: Refactors a bunch of species traits into flags for the head bodypart
* Makes it all compile, for now
* Fixes eye emissives not working right.
* Fixes the plasmaman head (oof conflicts)
* Fixes the screenshot tests
---------
Co-authored-by: ChungusGamer666 <82850673+ChungusGamer666@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
* Visors modules now retract alongside helmets, adds support to hide other modules
* Fixes some lingering issues
Turns out that mod overlays were not being updated on deploy/retract.
* Some formatting nitpicks
* diffs
* Just makes it a weakref instead so we don't have to worry about clearing refs
* This is a better var name, I would say
* comments
* comments
because I cannot type
* Revert "This is a better var name, I would say"
This reverts commit ff642562590df582380f5d6ab1c2459d866f00ad.
* fixing diffs
* cleanup weakref when we're done with it
* the last typo
* Petrify Smite (#75538)
## About The Pull Request
adds a smite to petrify someone forever, works like the wizard spell.
Adds support to make petrification brainless.
Creates a var to remove those annoying "you can not move while buckled
to X" messages for abstract items like statues.
## Why It's Good For The Game
Smite good. Message spam bad.
## Changelog
🆑 itseasytosee
spellcheck: You should see a lot less "you can not move while bucked too
X" messages where they don't make sense.
admin: Added a petrify smite. Try it out on your least favorite player!
/🆑
---------
Co-authored-by: san7890 <the@ san7890.com>
* Petrify Smite
---------
Co-authored-by: itseasytosee <55666666+itseasytosee@users.noreply.github.com>
Co-authored-by: san7890 <the@ san7890.com>
* Arm implants can be properly EMP'd again; Organic implants will NOT be EMP'd. (#76242)
## About The Pull Request
Reverses the logic of an early return in the EMP proc of arm implants.
Rather than returning if the implant is robotic, it returns if it is
organic.
## Why It's Good For The Game
It appears arm implant emp act was broken for about...like 2 years? But
today, I discovered that my vorpal scythe was EMP vulnerable.
I thought 'Oh someone didn't do a proper check that's an easy fix'
Turns out, robotic implants were immune to EMPs this whole time, but the
very few organic arm implants were vulnerable instead!
Well, it's fixed now. I blame the penguin maint.
## Changelog
🆑
fix: Arm implants properly handle EMPs depending on whether it is
robotic or organic. No longer can you EMP an organic organ!
/🆑
* Arm implants can be properly EMP'd again; Organic implants will NOT be EMP'd.
---------
Co-authored-by: necromanceranne <40847847+necromanceranne@users.noreply.github.com>
* Refactors Silverscale tongue action into cooldown action, buffs it slightly (#76426)
## About The Pull Request
Action? With a cooldown? That isn't a cooldown action?
- Refactors Silverscale tongue action into a cooldown action
- Removes side effects on destroy, replaces it with destruction /
deconstruction signals
- Buffs the statue itself slightly, since I'm here
- Gives it some pretty decent innate armor (it didn't have any prior)
- Makes it reflect lasers
- Also just for consistency:
- Also makes it require you not be lying down
## Why It's Good For The Game
- The previous method was very clunky, by making it a cooldown action it
is much easier to use.
- The statue was very weak before, so weak it was actually a downside if
you tried to use it. This might help a bit. ~~Do not say "I'll still
never use it" in the comments~~
## Changelog
🆑 Melbert
qol: Sivlerscale Tongue action is now a cooldown action, making it
significantly easier to use
balance: Buffed the silverscale statue every so slightly, it now has
innate armor and can reflect lasers shot at it. But it also requires you
not by lying down to activate.
/🆑
* Refactors Silverscale tongue action into cooldown action, buffs it slightly
---------
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
* Moves species brutemod and burnmod to be handled by bodyparts
* Fixes compilation issues and updates the brute and burn mods on our own species
* Re-ticks the ashwalker bodyparts
---------
Co-authored-by: ChungusGamer666 <82850673+ChungusGamer666@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
* Fixes certain wings being unhideable
* Actually fixes the issue now
There was an upstream proc that does not call the parent. We are just going to pretend like it doesn't exist and go straight to calling parent.
Also fixes another potential oversight
* Adds special case for moth wings
because moths just have to be annoying like that.
* Merge branch 'wings' of https://github.com/vinylspiders/Skyrat-customization-expansion into wings
* comment
* Changes the param to be self-explanatory
* fixes an oops
* Assistants get a liver trait + Officer's sabre banes against them (#75933)
## About The Pull Request
Assistants get a new liver trait, maintenance metabolism. This trait
only lets them process maintenance drugs, grey bull, and pump-up for 20%
more time and gives them a probably-positive 2 minute moodlet when
ingesting these.
The officer's sabre has gained a small amount of bloodthrist for
assistants!
Fixed liver masters being unable to inspect the liver of scientists.
## Why It's Good For The Game
> Assistants get a new liver trait, maintenance metabolism. This trait
only lets them process maintenance drugs, grey bull, and pump-up for 20%
more time and gives them a probably-positive 2 minute moodlet when
ingesting these.
This trait is pretty much entirely here for the actual
liver-identification of assistants the sabre uses, though I didn't want
to just add an empty trait so I gave it the above effects as pretty damn
harmless effects. I'm sure the maints will dislike even this so I'm open
to anything.
> The officer's sabre has gained a small amount of bloodthirst for
assistants! Or at least their livers.
I find the concept of the sabre having a bane against assistants
amusing, and it wouldn't hurt to give them something that may help
against tiders. As a smidgen of fairness, the detection is tied to the
liver - if they want to take less damage they can have it replaced,
though the captain can also help with that by disemboweling organs. The
liver being used for something that isn't reagents processing might be a
bit controversial, but like I said, I'd rather have that than have it
permanently, intrinsically tied to a job.
> Fixed liver masters being unable to inspect the liver of scientists.
Ballmer metabolism quacks like a duck, traits like a duck, and thus
should be able to be duck inspected by the duck master, since there is
no practical difference between it and other 'official' metabolisms.
## Changelog
🆑
add: Assistants get a new liver trait, maintenance metabolism. This
trait only lets them process maintenance drugs, grey bull, and pump-up
for 20% more time and gives them a probably-positive 2 minute moodlet
when ingesting these.
add: The officer's sabre has gained a small amount of bloodthrist for
assistants!
fix: Fixed liver masters being unable to inspect the liver of
scientists.
/🆑
---------
Co-authored-by: san7890 <the@ san7890.com>
* Assistants get a liver trait + Officer's sabre banes against them
---------
Co-authored-by: carlarctg <53100513+carlarctg@users.noreply.github.com>
Co-authored-by: san7890 <the@ san7890.com>
* fixes reviver implant looping players between soft and hard crit (#75780)
## About The Pull Request
Currently the reviver implant stops working the first tick the player is
above hard crit, meaning it leaves them right on the border between soft
crit and hard crit. This, of course, means the player then falls right
back into hard crit. And then the implant kicks in for a very short
time, looping the player between hard and soft crit.
## Why It's Good For The Game
It doesn't seem like this could possibly be intended, so, bugfix that
prevents the player from looping between soft and hard crit
indefinitely.
closes https://github.com/tgstation/tgstation/issues/75139 (Thanks
Sealed101 and timothymtorres)
## Changelog
🆑
fix: The reviver implant will no longer leave its user looping between
soft and hard critical states.
/🆑
* fixes reviver implant looping players between soft and hard crit
---------
Co-authored-by: YehnBeep <86855173+YehnBeep@users.noreply.github.com>
* Prevents silent station wipe from tritium poisoning (#75500)
## About The Pull Request
Right now you can cull the entire station by releasing a few moles of
tritium in a hall.
This amount is non-scrubbable, invisible and people don't get any
notification that they're choking, they just silently take 1 toxin
damage with each breath. Air alarms do not consider this amount as
dangerous either.
People just start vomiting for unknown reason and eventually die if they
won't figure out that it's due to air being bad.
This PR makes it so that take damage only when tritium is visible in the
air.
## Why It's Good For The Game
Prevents easy silent murdering. I'm not sure that it's good actually.
Fixes#74760
## Changelog
🆑
fix: You receive damage from tritium only when there are enough moles to
make it visible
/🆑
* Prevents silent station wipe from tritium poisoning
---------
Co-authored-by: Andrew <mt.forspam@gmail.com>
* Makes organs not double on delimbing (#75220)
A bugfix and a refactor from a while back kinda clashed and caused some
weird behaviour. Extorgans would be double-referencd upon delimbing and
feature restyling looked at the wrong list (technically the right list
at the time because stuff was a bit fucked)
🆑
fix: Loose limbs will not duplicate organs anymore
/🆑
* Makes organs not double on delimbing
---------
Co-authored-by: Time-Green <timkoster1@hotmail.com>
* Deadchat Announcement Variety Pack 1 (#75140)
## About The Pull Request
Adds announce_to_ghosts()/notify_ghosts() calls to a bunch of different
things.
**THIS INCLUDES:**
- Powersink being activated/reaching critical (explosion) heat capacity.
- His Grace being awoken.
- Hot Potatoes being armed.
- Ascension Rituals being completed.
- Eyesnatcher victims.
- Ovens exploding as a result of the Aurora Caelus event.
- Wizard Imposter spawns.
- Rock-Paper-Scissors with death as the result of Helbital consumption.
- BSA impact sites.
- Spontaneous Appendicitis.
- The purchasing of a badass syndie balloon.
- The Supermatter beginning to delaminate.
This was everything that I could think of that would be worth announcing
to deadchat. These were all chosen with consideration to questions like
"how easy would it be to spam deadchat with this?" and "will observers
actually see the interesting thing happen, or just the aftermath?".
Not gonna lie, I've really become an observer main as of recently. Maybe
that's being reflected in my recent PRs. Who's to say? Deadchat
Announcement Variety Pack 2 will probably never come out. Sorry.
## Why It's Good For The Game
Gives deadchat a better indiciation of when/where something **REALLY
FUNNY** is about to happen. Draws attention to certain things that are
likely to gather an audience anyways, but sooner (for your viewing
pleasure). In simple terms, it helps the observers observe things
better.
Some cases, such as the aurora caelus or helbitaljanken, are occurrences
so rare that they deserve the audience.
## Changelog
🆑 Rhials
qol: Observers now recieve an alert when a powersink is activated/about
to explode.
qol: His Grace being awoken now alerts observers, to give you a
headstart on your murderbone ghost ring.
qol: Ascension Rituals being completed will also alert observers, for
basically the same reason.
qol: Arming a hot potato will now alert observers. Catch!
qol: Eyesnatcher victims will now notify observers, and invite them to
laugh at their state of misery and impotence.
qol: Observers will be notified of any acute references to The Simpsons
or other 20th Television America copyright properties.
qol: Wizard Imposter spawns alert observers, much like any other ghost
role event should.
qol: Playing Rock-Paper-Scissors with death will now alert the observers
and invite them to watch. Better not choke!
qol: Observers now get an orbit link for BSA impact sites. Why does it
keep teleporting me to the AI upload??
qol: Spontaneous Appendicitis now alerts deadchat.
qol: The purchasing of a badass syndie balloon now alerts deadchat. You
might not be any more powerful, but at least you have an audience.
qol: When beginning to delaminate, the Supermatter will alert observers
and invite them to watch the fireworks.
/🆑
* Deadchat Announcement Variety Pack 1
---------
Co-authored-by: Rhials <Datguy33456@gmail.com>
* Experiment with replacing weakrefs in AI blackboard with deleting signals, ideally making it easier to work with and harder to cause hard deletes (#74791)
## About The Pull Request
Replaces weakref usage in AI blackboards with deleting signals
All blackboard var setting must go through setters rather than directly
## Why It's Good For The Game
This both makes it a ton easier to develop AI for, and also makes it
harder for hard deletes to sneak in, as has been seen with recent 515
prs showing hard deletes in AI blackboards
(To quantify "making it easier to develop AI", I found multiple bugs in
existing AI code due to the usage of weakrefs.)
I'm looking for `@ Jacquerel` `@ tralezab` 's opinions on the matter, also
maybe `@ LemonInTheDark` if they're interested
## Changelog
🆑 Melbert
refactor: Mob ai refactored once again
/🆑
* Experiment with replacing weakrefs in AI blackboard with deleting signals, ideally making it easier to work with and harder to cause hard deletes
---------
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
* skeletons healing off milk works like it used to 3 years ago (#74470)
## About The Pull Request
skeletons healing off milk was changed in the pr that made stomachs be
what handles chems
this doesnt acutally work and its been broken for 3 years
so we just revert back to the old way of doing it
## Why It's Good For The Game
its over
## Changelog
🆑
fix: skeletons get boosted heals from milk again
/🆑
* skeletons healing off milk works like it used to 3 years ago
---------
Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
* Sleep immune will make you immune to N2O (#74647)
## About The Pull Request
Currently sleep immunity makes you immune to the sleeping status effect.
I was originally gonna do the same for Unconscious, but I don't think we
want sleep immunity to block all instances of that

## Why It's Good For The Game
If you're immune to sleep, you shouldn't be falling asleep from the
sleepy gas. N2O setting you unconscious is meant as a way to give
players a chance at getting away/putting internals on, before being put
to sleep, however if you're immune to sleep, you'll endlessly fall
unconscious.
## Changelog
🆑
fix: People immune to sleep will not fall asleep from N2O
/🆑
* Sleep immune will make you immune to N2O
---------
Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
* Activating arm implant items in hand now automatically retracts and opens the radial menu (#74300)
## About The Pull Request
Activating arm implant items in hand now automatically retracts and
opens the radial menu. Only if there's more than one item in the list
### Mapping March
Ckey to receive rewards: N/A
## Why It's Good For The Game
Makes these neat implants less unbelievably clunky to use, making 'em
actually worthwhile. Welders don't work so well but you can still right
click in your hand.
## Changelog
🆑
qol: Activating arm implant items in hand now automatically retracts and
opens the radial menu, unless it's a welding tool.
/🆑
* Activating arm implant items in hand now automatically retracts and opens the radial menu
---------
Co-authored-by: carlarctg <53100513+carlarctg@users.noreply.github.com>