* Fix Flypeople food consumption (#71432)
## About The Pull Request
This PR fixes#70716 by having flypeople ingest vomited reagents into
their stomach instead of directly modifying nutrition. To accomplish
this, flypeople no longer vomit their entire stomach contents every life
tick, which also fixes them vomiting immediately on spawn. Instead they
vomit only after taking bites of food.
Since flypeople aren't currently metabolizing food the same way as other
species there's a huge discrepancy in nutrition gained from food. For
example, a human gets 37 nutrition from a slice of pizza and 270
nutrition from a whole margherita pizza, but a flyperson only gets 10
and 70 respectively, meaning they'd need to eat 4 entire margherita
pizzas and slurp up the vomit to go from total starvation to being
satiated again. With this change flypeople get ~190 nutrition from a
whole margherita pizza.
## Why It's Good For The Game
Makes it easier for flypeople to stay satiated without having to consume
mass amounts of food. Also makes it easier and more predictable to deal
with flyperson interactions with other reagents getting in their stomach
- for example, currently taking a happy pill causes flypeople to vomit
due to the sugar.
## Changelog
🆑
fix: Flypeople gain a comparable amount of nutrients from vomited food
to other species (~70%, up from ~30%)
fix: Flypeople no longer vomit after drinking fluids
fix: Flypeople no longer vomit all contents of their stomach on spawn
code: Stomachs can now react to foods entering them by overriding the
`after_eat` proc
/🆑
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
* Fix Flypeople food consumption
Co-authored-by: Roryl-c <5150427+Roryl-c@users.noreply.github.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
* Fixes liver failure metabolization, TRAIT_STABLELIVER and herignis. (#71367)
## About The Pull Request
fixes#71012
This PR makes it so that a failing liver can still process reagents that
don't need you to have a liver. You can now also overdose on liverless
reagents while not having a liver. (Who coded this? I just want to
talk.)
TRAIT_STABLELIVER and TRAIT_NOMETABOLISM work while you have a failing
liver.
TRAIT_STABLELIVER prevents liver failure as it should.
It also fixes herignis not working and changes it's effects. (More
potent.)
## Why It's Good For The Game
Major bugfix good.
## Changelog
🆑
fix: Metabolization works for reagents that are meant to metabolize
while your liver is failing.
fix: Higadrite, cordiolis hepatico and herignis work properly.
balance: Herignis is more potent and has an overdose threshold of 25u.
/🆑
* Fixes liver failure metabolization, TRAIT_STABLELIVER and herignis.
Co-authored-by: RikuTheKiller <88713943+RikuTheKiller@users.noreply.github.com>
* Plumbing Reagent UI changes & fixes (#71410)
**About the pull request**
3rd attempt cause the 1st
[PR](https://github.com/tgstation/tgstation/pull/71032) had way too many
problems and the 2nd
[PR](https://github.com/tgstation/tgstation/pull/71101) had merge
conflicts and became stale so fuck it delete those branches & try again.
1)For Plumbing the
- Chemical Reaction Chamber
- Chemical Filter
- As a side effect for Modifying Chemical Filter the BloodFilter also
now
Picks reagents from an input-list with a search bar attached at the
bottom
2)Fixes bug which prevented the user from entering new
values[temperature,acidic ph & alkaline ph] into the
ChemReactionChamber. They would be stuck at their defaults 300k,5,9
respectively even if you tried to enter new values it would reject those
new values. That's fixed now
https://user-images.githubusercontent.com/110812394/203076880-eb801c76-68ec-4470-8648-9239270fbcbc.mp4
**Why its good for the game**
1. Removes the need to type long reagent names manually by hand which is
error prone and time consuming
2. Allows you to change the ph & temp values for various reactions which
would have not been possible if not for this
**ChangeLog**
🆑
qol: Entering reagent names is much faster with zero errors
fix: You can enter new temp & ph values
/🆑
Co-authored-by: Time-Green <timkoster1@ hotmail.com>
* Plumbing Reagent UI changes & fixes[Take 3]
Co-authored-by: SyncIt21 <110812394+SyncIt21@users.noreply.github.com>
Co-authored-by: Time-Green <timkoster1@ hotmail.com>
* Easy's Super Omega "unarmed strike based species var moved to limbs" refractor, unarmed strike striking with specific body parts rather than it just being flavor, and brain based attacking limb selection extra chunky edition. And also bodypart traits.
* Removed all the conflicts, and started converting all the arms and legs to the proper typepaths
* Actually makes the game compile :)
* Makes the maps compile too!
* Early mirror of #71143 because it's more relevant to us
Co-authored-by: itseasytosee <55666666+itseasytosee@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
* Brimdemons & Lobstrosities drop (slightly) useful organs (#70546)
Goliaths, Legions, Watchers, and (as of recently) Bileworms all drop
something vaguely useful when they die.
Brimdemons and Lobstrosities do not. This PR aims to fix that, so that
there's at least some vague benefit to hunting them.
In this case it takes the form of organs you get when you butcher them,
similar to the regenerative core from Legions.
As they're similar to the regenerative core, I modified the regenerative
core to extend from a new common "monster core" typepath which these two
new organs also extend.
Like the regenerative core, both of these items do something when used
and something slightly different if you go to the effort of having
someone implant them into your body. They also decay over time, and you
can use stabilising serum to prevent this from happening.
https://user-images.githubusercontent.com/7483112/195967746-55a7d04d-224e-412d-aedc-3a0ec754db3d.mp4
The Rush Gland from the Lobstrosity lets you do a little impression of
their charging attack, making you run very fast for a handful of seconds
and ignoring slowdown effects. Unlike a lobstrosity you aren't actually
built to do this so if you run into a mob you will fall over, and if you
are doing this on the space station running into any dense object will
also make you fall over (it shouldn't make you _too_ much of a pain for
security to catch).
The idea here is that you use this to save time running back and forth
from the mining base.
The Brimdust Sac from the Brimdemon covers you in exploding dust. The
next three times you take Brute damage some of the dust will explode,
dealing damage equal to an unupgraded PKA shot to anything near you (but
not you).
If you do this in a space station not only is the damage proportionally
lower (still matching the PKA), but it _does_ effect you and also it
sets you on fire. You can remove the buff by showering it off.
The idea here is that you use this for minor revenge damage on enemies
whose attacks you don't manage to dodge.
https://user-images.githubusercontent.com/7483112/195967811-0b362ba9-2da0-42ac-bd55-3809473cbc74.mp4
If you implant the Rush Gland then you can use it once every 3 minutes
without consuming it, and the buff lasts very slightly longer. It will
automatically trigger itself if your health gets low, which might be
good (helps you escape a rough situation) or bad (didn't want to use it
yet).
https://user-images.githubusercontent.com/7483112/195967888-f63f7cbd-60cd-4309-8004-203afc5b2153.mp4
If you implant the Brimdust Sac then you can use it once every 3 minutes
to shake off cloud of dust which gives the buff to everyone nearby, if
you want to kit out your miner squad. The dust cloud also makes you
cough if you stand in it, and it's opaque. If you catch fire with this
organ inside you and aren't in mining atmosphere then it will explode
inside of your abdomen, which should probably be avoided, resultingly it
is very risky to use this on the space station.
* Brimdemons & Lobstrosities drop (slightly) useful organs
* update modular
Co-authored-by: Jacquerel <hnevard@gmail.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
* Surgery computers tell which tool to use. (#70973)
## About The Pull Request

All surgery step names, displayed in the surgical computer, will now
show which tool to use for that step in parentheses. In cases where
multiple tools have a 100% success chance, all are listed; if no tool
has a 100% chance then the "correct" one is shown.
Surgery computers will never display "alternate" tools for surgeries
(those with a lower success chance), but this shouldn't be a problem.
Surgical computers are _usually_ in places with surgical tools at hand,
and NanoTrasen wouldn't want to encourage doing brain surgery with a
screwdriver. Y'know, probably.
## Why It's Good For The Game
Firstly, this change is particularly helpful to new players. If you have
little experience with surgery, it's not always clear which tool you're
meant to use for which step. This is especially true for some of the
odder surgeries - if you didn't already know, it's not clear at all that
"brainwash" means "use a hemostat". While there are certainly guides on
the wiki, it's nice to have as much information provided in-game as
possible.
Secondly, this change brings consistency. A _small_ number of surgical
steps (healing broken bones, namely) already do this! I see no reason
why this shouldn't be extended to the remaining surgical steps,
especially because it's not particularly obtrusive to the surgery
computer interface.
## Changelog
🆑
qol: Made surgical computers tell you what tool to use for the current
surgical step.
/🆑
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
* Surgery computers tell which tool to use.
Co-authored-by: lizardqueenlexi <105025397+lizardqueenlexi@users.noreply.github.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
* Changing species now maintains Brain traumas, Cybernetic implants, Liver traits, organ damage, and Heretic Living Heart (#70530)
About The Pull Request
Implements additional code in before_organ_replacement in additional places, to better maintain cohesion when species changes take place.
Brain traumas will now carry over on species change
Having synthetic / cybernetic organs will now carry over on species change
Liver job traits will also carry over on species change
Organ damage will, in most cases, carry over on species change (only if the new organ is identical to the old)
The heretic's Living Heart will attempt to carry over to species change, if it's valid
Some species will still not, as it will attempt to give heart -> liver or something and be invalid
Heretic Living Heart is now a cooldown action. Still not really content with the current state of it, it could use some improvements.
Fixes#42308Fixes#35539Fixes#69574
Why It's Good For The Game
Removes a lot of exploits involving using forced species change to get rid of stuff like quirks / permanent brain traumas and similar.
* Changing species now maintains Brain traumas, Cybernetic implants, Liver traits, organ damage, and Heretic Living Heart
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
* Fixes lung swapping giving you false air alerts and slightly improves their descriptions (#70630)
* Fixes lung swapping giving you false air alerts and slightly improves their descriptions
Co-authored-by: RikuTheKiller <88713943+RikuTheKiller@users.noreply.github.com>
* Wizard DLC - Tower of Babel (#69629)
About The Pull Request
This adds a new status effect called - Tower of Babel
Any carbon mob afflicted by the status effect will lose knowledge of every known language and gain a randomized one as a replacement. The affected mob will also be hit with a depressing moodlet that lasts for 15 seconds. Silicons are immune to all effects.
This effect is implemented in several ways:
Tower of Babel wizard event (all crew on the station z level are affected. The wizard is not and gains mastery of every language to taunt their victims)
Admin smite option
Admin secret event (can be reversed)
Staff of Babel (formerly the Staff of Sapping) will spawn during spawn magic wizard event
Magicarp will randomly shoot bolts of babel
Staff of Chaos will randomly shoot bolts of babel
Overdosing on Mushroom Hallucinogen will temporarily and sporadically acquire the effect
The effect can be blocked or cured in several ways:
Curators are given immunity
Reading a book of babel (via lavaland loot) cures and gives immunity
Reading a language book cures and gives immunity ONLY for that particular language
Note - The Tower of Babel does not allow tongueless, mute, or tongue tied people the ability to speak
* Wizard DLC - Tower of Babel
Co-authored-by: Tim <timothymtorres@gmail.com>
* Fixes removing objects embedded in yourself (#70389)
Fixes removing objects embedding in yourself, as it was ref'ed to the wrong items since the bodypart refactors.
* Fixes removing objects embedded in yourself
Co-authored-by: GoblinBackwards <22856555+GoblinBackwards@users.noreply.github.com>
* Fix xeno hivemind talk causing hissing sound (#69844)
* Fix xeno hivemind talk causing hissing sound
* Fix dullahan speech arg
Add message_range and saymode to say arguments
Add new say args to other say procs
Add new say args to other say procs
* Revert "Fix dullahan speech arg"
This reverts commit abff2bec1a03c1270b2896faa547c465e046ad78.
* Fix speech_args to be list
* Refactor hulk speech signal handler
* Revert "Revert "Fix dullahan speech arg""
This reverts commit 58997930096ef6b7fa8a1c79395595e61db954c6.
* Change filterproof to be null like other say procs
* Remove unused COMSIG_MOB_SAY defines
* Readd defines for COMSIGH_MOB_SAY
* Fix xeno hivemind talk causing hissing sound
* Updates the arguments of the say and whisper procs for the borers
Co-authored-by: Tim <timothymtorres@gmail.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
* pumping your heart doesnt require to be conscious (#63290)
Simply removes the requirement to be conscious to pump your blood with a cursed heart.
Why It's Good For The Game
Entering crit or falling asleep is basically a life sentence since you are unable to pump your blood while asleep. The player still is manually pumping it, I don't see any reason why the user has to be awake for it.
This also means medical can't revive you, as you'll instantly lose all your blood before you have enough time to wake up to start pumping again. The only IC fix would be to remove your heart entirely, something most doctors wouldn't even notice.
Changelog
cl
fix: You can manually pump your blood while asleep/in crit, rather than instantly lose all your blood and die forever.
/cl
* pumping your heart doesnt require to be conscious
Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
* adds selenian and xerxian languages
* Update modular_skyrat/modules/customization/modules/language/selenian.dm
Co-authored-by: OrionTheFox <76465278+OrionTheFox@users.noreply.github.com>
* I LOOOOOOVE NOT BEING ABLE TO RESOLVE CONFLICTS
* Update tongue.dm
* change the language dmi to the old one so i can fix this fucking merge conflict
* CAN YOU WORK NOW......?
* changes shit from "arabic" to "xerxian"
* FUCK YOU
* fixes dme
* Just popped a bean
* updates xerxian icon (THANK YOU ORION)
* REST IN PEACE SELENIAN I LOVED YOU SO SO SO MUCH AND YOU WERE SO GOOD TO ME I WILL MISS YOU DEARLY OH GOD ILL MISS YOU SO FUCKING MUCH
Co-authored-by: OrionTheFox <76465278+OrionTheFox@users.noreply.github.com>
* Add speech modifier to zombie tongue (#69899)
About The Pull Request
A zombie rotten tongue has a complex language modifier.
The language modifier works by:
All occurrences of characters "eiou" (case-insensitive) are replaced with "r".
All characters other than "zhrgbmna .!?-" (case-insensitive) are stripped.
Multiple spaces are replaced with a single.
Lower-case "r" at the end of words replaced with "rh".
An "a" or "A" by itself will be replaced with "hra".
The first character is capitalised.
Some interesting dialogue examples:
Bab, am gaa habbah abah zah namrh ah Bh!rh!b?
Bob, are you happy about the death of Philip?
Zah bang bang man ganna harm mah zambah?
Will the Zombie Hunter attack me?
Mah zambah nah harm brazzarz.
I do not hurt brothers.
Mah zambah ganna gangbang harmanz zammarrar.
I will kill humans tomorrow.
Mah zambah am nah habbah, an mah zambah gab, -Graaaagh!-
I am not happy, and I say "Graaaagh!"
The language idea was taken from a zombie game back in 2005 called Urban Dead. It's no longer developed and I made all the code myself while following the given language rule structures.
Zombie Speech Translator
Zombie Language Examples
Zombie Dictionary
Why It's Good For The Game
Abracadabra - The Steve Miller Band
Ah raab zha brahnz ahn zarh hagh, (I love the brains in your head)
Ah ganna barg abgrah gangbang, (I'm gonna eat them when you're dead)
Az rahnah zarh ranz ahn hahg ahahz, (Now as you run and hide away)
Zarh harh mah zambah az hah zahz: (You hear my zombie as he says:)
Abra-abra-gababra, (Abra-abra-cadabra)
Ah ganna rahg arg ahn grab zarh! (I'm gonna reach out and grab ya!)
Abra-abra-gababra, (Abra-abra-cadabra)
Ah ganna rahg arg ahn grab zarh! (I'm gonna reach out and grab ya!)
Changelog
cl
add: Rotten zombie tongue has a new speech modifier that converts spoken language into zombie sentences. If the person speaking is a high-functioning zombie this is bypassed.
/cl
* Add speech modifier to zombie tongue
Co-authored-by: Tim <timothymtorres@gmail.com>
* Completely refactors hallucinations, and also adds a few
* delete 5 old hallucination types that should have been removed
* Fixed old leftover tips conflicts
* Fixes all the leftover conflicts and otherwise broken code
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: tastyfish <crazychris32@gmail.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
* Updates Liver Failure Eyes Examine Text (#69967)
So when livers fail it adds something about eyes to the carbon's examine text. The 2nd state of eye yellowness used a static he, that has been replaced by a helper to get the correct pronoun. The 3rd state didn't capitalise the first pronoun use and followed it up with a static they, that has also been replaced by a pronoun helper.
* Updates Liver Failure Eyes Examine Text
Co-authored-by: Jackraxxus <60418544+Jackraxxus@users.noreply.github.com>