* 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>
* Clarifies treatment for severe burn wounds when scanned with a health analyzer (#76415)
Severe burn wounds can become infected, and if the infection is left
untreated for too long, the limb will 'lock up completely.' When this
happens, then wound can no longer be disinfected. Instead, it must be
amputated, augmented, or treated with cryogenics. Previously, the health
analyzer would only mention augmentation and amputation as ways to treat
this, and only if it was set to the 'detailed information on wounds'
mode. On the normal mode, it would still say the same thing about
disinfecting, even after the limb locked up. Neither mode said anything
at all about cryogenics. Now, both modes will mention all three methods
of treatment.
* Clarifies treatment for severe burn wounds when scanned with a health analyzer
* Updates our modular descriptions too
---------
Co-authored-by: GPeckman <21979502+GPeckman@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
* Godmode now prevents wounds from applying (#75597)
## About The Pull Request
While being godmode'd prevents you from taking damage and suffering
wounds from normal attacks, you're still able to suffer forced wounds
from things like Heretic. This makes it so Godmode now flatly denies the
ability to be wounded.
## Why It's Good For The Game
Godmode more consistent
## Changelog
🆑 Ryll/Shaps
fix: Godmode now prevents people from suffering forced wounds
/🆑
* Godmode now prevents wounds from applying
---------
Co-authored-by: Ryll Ryll <3589655+Ryll-Ryll@users.noreply.github.com>
* Tones down the power of nitrous oxide, the reagent. Makes heparin a bit harder to fix to compensate (#74703)
## About The Pull Request
Nitrous Oxide, rather than directly subtracting blood volume per tick,
instead applies the anticoagulant trait ''TRAIT_BLOODY_MESS''. It shares
this with heparin.
However, unlike, heparin, coagulants like Sanguirite will remove the
trait and allow for continued clotting while the reagent is present,
neutering the nitrous oxide's anticoagulant effects (but not the other
parts)
Heparin, on the other hand, will purge Sanguirite while it is in you
system. You must remove the heparin before you can apply an
anticoagulant.
## Why It's Good For The Game
Nitrous Oxide, on top of being a knockout chem that causes you to
suffocate and become drowsy, just starts deleting blood rapidly. About
15 units of it, standard in a syringe, will kill you in about a minute,
but you'll be unconscious for most of it (you'll be at around 50%-60%
blood by the time it is out of your system, so as good as dead). It
doesn't matter that it metabolizes quickly either, since because it
isn't a toxin, it doesn't get purged by livers/improved livers, so you
will probably metabolize all of the chem that enters your system.
Blood is one of those 'hidden damage types', a bit like brain damage.
Once you start losing it _directly,_ you probably don't have a lot of
options to resolve it (unlike a bleed, which you do in various manners),
and the means of causing blood loss has been mostly pretty well
controlled as of late. Heparin directly interacts with wounds as a good
example.
Blood loss is also tied into oxyloss, which is another very mean damage
type in that it causes you to fall into unconsciousness at 50 damage, so
significantly more lethal than normal damage, kept in check by the fact
that breathing restores some of it. Nitrous oxide, you might note,
causes you to stop breathing.
It's cheaper to make than either heparin or lexorin, and since it isn't
a toxin like those chems, it is able to circumvent a few game mechanics
to simply just start killing you. It does the work of chloral hydrate,
lexorin and heparin while it has a remarkably easy recipe.
Following the example of how lexorin was pulled into line, and
consistency with heparin, I've made nitrous oxide an anticoagulant that
may or may not come into play as one. I think this is more up to date
with the state of toxins and chem warefare as a whole, and works with
the relative ease in making nitrous oxide. And it has been this way for
about 5 years, before we got wounds.
(did I mention that nitrous oxide is also an explosive if it gets hot
enough?)
## TL;DR
I think a chem with a pretty basic recipe shouldn't be doing the work of
5 other, more complicated, chemicals while also not being a toxin and
also not interacting with the wounds system or purity system whatsoever.
And being an explosive.
## Changelog
🆑
balance: Nitrous oxide, the reagent, increases bleed rate from wounds
rather than directly subtracting blood. It can be counteracted using
coagulants (such as those in epipens).
balance: Heparin purges coagulants. You have to remove heparin from
someone's system before you can use coagulants.
/🆑
---------
Co-authored-by: san7890 <the@ san7890.com>
* Tones down the power of nitrous oxide, the reagent. Makes heparin a bit harder to fix to compensate
---------
Co-authored-by: necromanceranne <40847847+necromanceranne@users.noreply.github.com>
Co-authored-by: san7890 <the@ san7890.com>
* Removes dead clotting once more (#74412)
## About The Pull Request
It's very likely that wound clotting while dead was in fact broken all
the way until #66037 was merged.
Why do I think that? Well, if you've played medical for a long time, you
may have noticed that you haven't seen a single dead body with slash
wounds on it within the last, well, almost a year now. Why? Because
#66037 updated the dead clotting code to use the proper proc, very
likely fixing it in the process.
Turns out, dead clotting isn't actually that fun. I personally enjoyed
fixing people's wounds back when they didn't magically disappear while
you're dead. It's also a snowflake since it only applies to slash wounds
and nothing else.
## Why It's Good For The Game
Removing some snowflake code that's explained nowhere is pretty good.
It also happens to be unrealistic, not to mention the fact it removes
from the fun of playing medical.
## Changelog
🆑
balance: Slash wounds no longer clot while dead.
/🆑
* Removes dead clotting once more
* Update slash.dm
---------
Co-authored-by: RikuTheKiller <88713943+RikuTheKiller@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
* Cutting the Burdened Cheese Part 1: Removes free burden points from removing unnecessary or cosmetic organs. (#71938)
Burdened organs now only count for the main organs only. Cyberimplants
don't count, alien organs don't count, etc. This is because someone
could get a bunch of extra organs, and then take the burdened sect and
remove them for free burden points.
Useless organs for species also do not count (stomachs given to species
that do not hunger, for instance)
Removes the error on burden points clamping on negative values. This can
happen when someone previously disabled takes burden sect.
Cheese is being used to bypass the unique gameplay goals burdened sect
provides. Will throw another pr when fikou finishes bat mutants ;)
🆑
fix: Removed some cheese strategies from burdened sect.
/🆑
Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
* Modular!
* Aaaaaa
Co-authored-by: tralezab <40974010+tralezab@users.noreply.github.com>
Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
Co-authored-by: Funce <funce.973@gmail.com>
Makes biological states for wounding limb based, not species based (#71745)
I noticed something pretty terrible when playing around with some humans
locally.
As it turns out, limbs did not preserve their biological state when
amputated - This meant that a skeleton limb on a normal human, still
behaved as if it had a bunch of flesh and veins on it.
I didn't like that, and it seems like an oversight, so I decoupled the
biological state from the species and made it limb based.
What does this mean?
Skeleton limbs on a human will not bleed, but will still break (and be
more prone to breaking)
Human limbs on a skeleton will not bleed, however they will get cuts and
pierces that will not clot and need to be treated to go away - These
limbs will have the same requirements for dismemberment on a skeleton as
they have on a human.
This makes limbs behave according to how they look instead of causing
mild confusion.
🆑 Big chungus wholesome 100
fix: Amputated and reattached limbs now get wounded based on their own
biology, not the current owner's biology.
/🆑
Co-authored-by: ChungusGamer666 <82850673+ChungusGamer666@users.noreply.github.com>
* Save 0.6-0.7s of init time by splitting registering lists of signals into its own proc, and optimizing QDELETED
* modular RegisterSignals
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: tastyfish <crazychris32@gmail.com>
* Fixes some cases of adjusting wound blood flow to use the helper (#69513)
Makes blood flow adjustments use the blood flow adjustment helper.
* Fixes some cases of adjusting wound blood flow to use the hlper
* modular
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: John Doe <gamingskeleton3@gmail.com>
* Fixes some cases which references are used in trait sources, potentially causing hard deletes (#67974)
About The Pull Request
Fixes some cases in which actual references were used in trait sources instead of keys (or ref() keys).
This can cause some rare and difficult to find hard deletes.
Trait sources should be a string key relating to the source of it, not an actual reference to what added it. References within trait sources are never handled in Destroy(), because it's not expected behavior, meaning it can cause hanging references.
So, I went through with a regex to find some cases and replaced them.
I used the following and just picked through the few by hand to find erroneous ones.
ADD_TRAIT\(.+, .+, [a-z]+\)
REMOVE_TRAIT_TRAIT\(.+, .+, [a-z]+\)
Why It's Good For The Game
Less hard deletes, probably.
Changelog
cl Melbert
code: Some traits which mistakenly were sourced from a hard reference are no longer.
/cl
* Fixes some cases which references are used in trait sources, potentially causing hard deletes
* wew
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
* Continues removing unnecessary species names of bodyparts in visible messages (#67254)
* removes some more unnecessary species mentions from bodypart messages
* Continues removing unnecessary species names of bodyparts in visible messages
Co-authored-by: Ryll Ryll <3589655+Ryll-Ryll@users.noreply.github.com>
* Converts drunkness and dizziness to status effects. Refactors status effect examine text (and, subsequently, stabilized black extracts). (#66340)
* Refactors dizziness into a status effect
* Refactors the dizziness setter to use the new kind
* Drunkness.
- Should drunk continue to work off of a magic value or be swapped to duration? I've not yet decided: For understandability it's preferabale for "drunk" to use a timer (they are drunk for 3 more minutes), but both adding drunk and decreasing drunk currently use weird calculations which would be difficult to carry over.
- Ballmer is a liver trait
* Dizzy was a setter, not an adjuster
* Does all the drunk effects over
- refactors examine text fully
- refactors stabilized blacks because of this
* Removed
* repaths, fixes some issues
* Minor fixes
* Some erroneous changes
* Fixes some dizziness errors
* Consistency thing
* Warning
* Undoes this change, I dont like its implementation
* max_duration
* Max amount
* Should be a negative
* max duration
* drunk doesn't tick on death
* Rework dizziness strength
* Erroneous dizzy change
* Fixes return type
* this should do it?
* well, one more
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
#65523 made some changes to bodypart names that messed with the grammar of a few messages around the codebase by inserting the species of a bodypart where it's really not needed. For example:
For most general combat/health cases, we don't need to worry about the species of a bodypart. So, this changes combat and wound messages back to simply displaying the relevant bodypart zone being attacked/affected. See below:
dreamseeker_2022-04-10_02-05-55.png
Let me know if I missed any!
Why It's Good For The Game
Better grammar
Changelog
cl Ryll/Shaps
spellcheck: Wound and combat messages will no longer mention the species of an attacked bodypart when not appropriate
/cl
Co-authored-by: Ryll Ryll <3589655+Ryll-Ryll@users.noreply.github.com>
* Adds mob bleeding overlays, tweaks some bleeding balance
* Fixed the various merge conflicts involved with this, added update_wounds_overlay() in hopes that it just works
* Fixed our non-updated slash wounds bleeding values
Co-authored-by: Ryll Ryll <3589655+Ryll-Ryll@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
* Fixes typos in span, other html elements (#63510)
Atomizes a much larger PR for another time...
There are typos in span and other html messages that causes them to not render correctly or at all.
Bug fixes
Converts those instances of span to use the macro
* Fixes typos in span, other html elements
Co-authored-by: Jeremiah <42397676+jlsnow301@users.noreply.github.com>
* Nerfs bone wounds to make them less miserable (#61196)
So I've always kinda known that bone wounds are unpleasant to receive, but since paying some closer attention to how they affect peoples rounds in the last few months, I've realized that they need to be reigned in some more. So, let's break down the big changes...
General bone wound nerfs
Limping on a busted leg is now a chance with each step of that leg, instead of always happening: No matter how small the delay added to your move time after each step (like if it was just a dislocation), and even with slings, bone wounds on your leg crippled you with the constant slowdown, because they happened every time you stepped on that leg. Now, the chance to limp on any given step with that leg is higher with worse wounds, and applying a sling to that leg further lowers that chance, as well as lowering the delay from that limp. A dislocated leg, for example, only limps 30% of the time, while a compound fracture limps 70% of the time.
Skeletons and plasmamen (aka carbons with no flesh) can now use bone gel directly on cracked limbs to fix them, in 1/4th the time it takes the normal bone gel + surgical tape improvised fix to heal them, and with none of the damage. I felt bad that the ability for skeletons to stick dismembered limbs back into their slots was destroyed because the limbs would be critically wounded already, and still useless. Now, skeletons and plasmamen can be treated with just bone gel and some time. At some point after this is merged, someone should give the pirate ship some free bone gel.
The speed of the improvised bone gel + surgical fix for broken bones is even further improved by laying down and by sleeping than it was before, meaning the improvised fixes can be cut down further by laying down for a bit while it works.
Makes bone wounds less obnoxious, reducing their ability to single-handedly ruin your round when you suffer one. I want to go further in the future and add an easier improvised fix for hairline fractures soon, but those changes can come later after these are merged.
* Nerfs bone wounds to make them less miserable
Co-authored-by: Ryll Ryll <3589655+Ryll-Ryll@users.noreply.github.com>
* use SIGNAL_HANDLER REEEEEE (#59242)
makes as many procs as i can find use the SIGNAL_HANDLER define which i assumed they all already did
* USE SIGNAL_HANDLER REEEEEE
Co-authored-by: Kylerace <kylerlumpkin1@gmail.com>
* Tend Wounds and Debride Infection surgeries now estimate how long you have left to finish (#58682)
* Tend Wounds and Debride Infection surgeries now estimate how long you have left to finish
Co-authored-by: Ryll Ryll <3589655+Ryll-Ryll@users.noreply.github.com>