* Cauteries have heat, you can smoke with a space helmet (#78122)
## About The Pull Request
Cauteries now have 'heat', like lighters, welders, etc.
You can smoke with a space helmet as long as you have internals on.
## Why It's Good For The Game
> Cauteries now have 'heat', like lighters, welders, etc.
Seems like an oversight. If an esword can do it so can a implement meant
to sear wounds shut.
> You can smoke with a space helmet as long as you have internals on.
Space smoking is awesome.
## Changelog
🆑
fix: Cauteries now have 'heat', like lighters, welders, etc.
qol: You can smoke with a space helmet as long as you have internals on.
/🆑
* Cauteries have heat, you can smoke with a space helmet
---------
Co-authored-by: carlarctg <53100513+carlarctg@users.noreply.github.com>
* Adds special lung sprites for smoker quirk (#78119)
## About The Pull Request
What it says on the tin, adds special sprites for ethereal, plasmaman,
and regular lungs for if you use the smoker quirk.
Top is normal lungs, bottom is lungs if you use the smoker quirk

Adds some cool flavor and a visual difference between regular and smoker
lungs. Previously, smoker lungs looked identical to normal ones but had
less health and healed slower.
## Why It's Good For The Game
Details are nice, and it was weird there was no visual difference before
since realistically, smoking constantly makes your lungs very visually
different and deteriorate over time.
## Changelog
🆑
image: adds special sprites for lungs when you use the smoker quirk
/🆑
---------
Co-authored-by: san7890 <the@ san7890.com>
* Adds special lung sprites for smoker quirk
---------
Co-authored-by: die_amond <58376695+dieamond13@users.noreply.github.com>
Co-authored-by: san7890 <the@ san7890.com>
* [TEST-MERGE FIRST] Allows all limbs to be dismembered and significantly refactors wounds
* ah fuck it
* test
* edaawdawd
* Revert "edaawdawd"
This reverts commit 47be710fe61a1f4ca79212b29b3e88bf05ec9a3a.
* nothing but sheer hatred
* freaawd
* dzfxg
* Fixing some diffs here while we are at it.
* These are deprecated and should be removed
---------
Co-authored-by: nikothedude <59709059+nikothedude@users.noreply.github.com>
Co-authored-by: nikothedude <simon.prouty@gmail.com>
Co-authored-by: Giz <13398309+vinylspiders@users.noreply.github.com>
* Move some job related achievements into the job achievement category (#78092)
## About The Pull Request
Read title, this only affects the UI and not the database as far as I am
aware
## Why It's Good For The Game
The jobs category is painfully empty, only being home to four
achievements total. Meanwhile we have a ton of achievements inside the
miscellaneous category, a lot of which are not miscellaneous
achievements at all. Right now I just wanna focus on moving around
achievements from existing category to existing category though. This
improves achievement category spread overall by a small but necessary
amount.
## Changelog
🆑 distributivgesetz
code: Moved some job-related achievements from the misc category to the
jobs category.
/🆑
* Move some job related achievements into the job achievement category
---------
Co-authored-by: distributivgesetz <distributivgesetz93@gmail.com>
* Violent debraining no longer strands clients (#77959)
## About The Pull Request
Man this took me forever to diagnose.
Currently, when debraining a dismembered head, the brain doesn't
properly get its brainmob set. This both prevents the brain from being
usable even in MMI's, displaying a devoid of life message, and sends an
admin log that the brainmob was stranded.
This fixes both that and a nearby runtime that I encountered while
testing.
I believe introduced by #77339 when handle_atom_del's code was switched
to run whenever anything exited the head instead of just when deleted
## Why It's Good For The Game
Fix bugs! Stranded clients very bad
## Changelog
🆑
fix: Non-surgically debraining someone no longer makes their brain
unusuable
/🆑
* Violent debraining no longer strands clients
---------
Co-authored-by: FlufflesTheDog <piecopresident@gmail.com>
* Fixes an issue with eyes not properly storing the old_eye_color var (#77692)
## About The Pull Request
Somewhere down the line with all the refactors the code that saved the
previous eyes' color stopped working.
This just fixes it. It's used for things such as qol for the high
luminosity eyes. It can be considered a fix and QoL alike but I'm going
to label it as QoL.

## Why It's Good For The Game
Restores previous functionality that was lost in a refactor
## Changelog
🆑
qol: inserting new high luminosity eyes will now properly remember the
previous eyes' color and default to that initially
/🆑
* Fixes an issue with eyes not properly storing the old_eye_color var
---------
Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com>
* Very quick wound code improvement (#77814)
## About The Pull Request
Replaces four hardcoded `locate(wound) in wounds` with a proc and 1
loop.
## Why It's Good For The Game
Why iterate over a loop four times when you can iterate once?
## Changelog
🆑 Melbert
code: Cleans up limb wound examine text code a tad.
/🆑
* Very quick wound code improvement
* Modular update
---------
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Giz <13398309+vinylspiders@users.noreply.github.com>
* Fix sleep status effect not processing (#77637)
## About The Pull Request
Some fixes in #77219 brought up some weirdness with the sleep status
effect. Healium would perma-sleep people, and sleeping in general lost
the ability to heal minor wounds.
## Why It's Good For The Game
Fix bugs, wow healium is abusable right now
* Fix sleep status effect not processing
---------
Co-authored-by: FlufflesTheDog <piecopresident@gmail.com>
* Removes Liver Damage From Spider Toxins, Reduces Injection Amount for Tangle Spider (#77550)
## About The Pull Request
This PR adds a new value to toxins called liver_damage_multiplier. As
you might have guessed, this value modifies how much liver damage
processing the toxin will do, and it is default at 1. Spider toxins now
have this value set to 0, as having their toxins murdering livers isn't
an intentional part of their gameplay loop.
Tangle spiders also now inject half the amount of acid they used to. It
was actually really strong compared to the other toxin types and wasn't
intentional according to Seth.
## Why It's Good For The Game
Liver damage is very strong when it comes to spiders, but it isn't
considered at all in their balancing. Removing it makes the actual toxin
damage the threat and not the liver damage.
Tangle Spider isn't supposed to have high toxin damage, but because of
it injecting acid, it did more damage than the other spider types and
was requested to be have the injection amount reduced by Seth.
## Changelog
🆑
balance: Hunter and viper spider toxins no longer deal liver damage.
balance: Tangle spider's acid injection per bite reduced from 5 to 2.5.
/🆑
* Removes Liver Damage From Spider Toxins, Reduces Injection Amount for Tangle Spider
---------
Co-authored-by: IndieanaJones <47086570+IndieanaJones@users.noreply.github.com>
* Fixes runtimes with arm implants in general and the Vorpal Scythe in particular (#77595)
## About The Pull Request
Two batches of runtimes, somewhat related:
1. Being dismembered while holding an extended arm implant would
runtime, because Retract() no longer has an owner to reference when
moving the deployed item back into the implant. This, on top of
runtiming, would make the item in question be permanently stuck (and
usable) on your missing limb. (Described, along a similar but seemingly
unrelated issue with the godhand, in #76899)
Solution: Sanity check for an owner, forcemove the item into the implant
if we don't have one.
2. Spamming sheathe and unsheathe on a vorpal blade seems to
occasionally cause it to retract while it isn't in your hand.
Additionally, being self-dismembered by unsheathing an unsated vorpal
blade would trigger runtime number 1 with a vengeance, as it calls
Retract() twice in the same block.
Solution: Sanity check to make sure we do have a scythe in hand before
continuing and some other changes and minor re-structuring to more
cleanly handle losing the limb.
## Why It's Good For The Game
The less runtimes, the better.
The less people running around with scythes and energy guns super-glued
to the stump of their arm, the better.
## Changelog
🆑
fix: items implanted on arms no longer become permanently stuck in-hand
when their limb is dismembered
fix: quickly sheathing and unsheathing the vorpal scythe can no longer
bug out and prevent its effects from being applied
/🆑
---------
Co-authored-by: san7890 <the@ san7890.com>
* Fixes runtimes with arm implants in general and the Vorpal Scythe in particular
---------
Co-authored-by: A miscellaneous Fern <80640114+FernandoJ8@users.noreply.github.com>
Co-authored-by: san7890 <the@ san7890.com>
* Dismemberment moodlets are alleviated when recovering your limbs. (#77581)
## About The Pull Request
What it says on the tin.
When reattaching a limb, the respective dismemberment debuff will be
replaced by a significantly less severe one (-3 for 2
minutes as opposed to -10 for 8 minutes)
However, the way I've done it, to that ensure replacing a leg when
you're missing 4 limbs doesn't clear the moodbuff, has the entertaining
side effect of **allowing dismemberment moodlets to stack for each limb
you've lost, and being cleared separately.**
I honestly kind of like it. Their description changes in accordance to
what limb it is as well.
## Why It's Good For The Game
It doesn't make much sense for your character to continue lamenting the
loss of their arm/leg after they've already acquired a replacement.
I also like that this makes losing multiple limbs worse than losing just
one, as someone who's been nugget-ed would have a far worse day than
someone who has simply lost an arm.
Closes#77388.
## Changelog
🆑
fix: dismemberment moodlets are replaced by a lesser mood debuff when
you recover the limb in question.
balance: dismemberment moodlets can now stack for each limb you lose,
and are cleared separately. Their descriptions have been updated to
reflect this.
/🆑
---------
Co-authored-by: MrMelbert <51863163+MrMelbert@ users.noreply.github.com>
Co-authored-by: Ghom <42542238+Ghommie@ users.noreply.github.com>
* Dismemberment moodlets are alleviated when recovering your limbs.
---------
Co-authored-by: A miscellaneous Fern <80640114+FernandoJ8@users.noreply.github.com>
Co-authored-by: MrMelbert <51863163+MrMelbert@ users.noreply.github.com>
Co-authored-by: Ghom <42542238+Ghommie@ users.noreply.github.com>
* Held items are now dropped when their associated arm is dismembered (#77613)
## About The Pull Request
What it says on the tin. The parent of
`obj/item/bodypart/arm/drop_limb()` would remove the arm from the
owner's hand_bodyparts list, which would then prevent the child proc
from dropping the item held in the now missing hand.
Now we call the parent afterwards and it works just fine.
## Why It's Good For The Game
Addresses the issue with the GodHand described in #76899, although it's
not limited to items you can't ordinarily drop. It's a bit more
noticeable with them, because there's no risk of dropping the item in
shock if the limb is being hit with a weapon, but you can verify using
amputation shears that any ordinary item would also stay stuck on the
arm.
## Changelog
🆑
fix: items no longer stay in your hands after their respective arm is
dismembered
/🆑
* Held items are now dropped when their associated arm is dismembered
---------
Co-authored-by: A miscellaneous Fern <80640114+FernandoJ8@users.noreply.github.com>
* You can no longer stand up without legs (#77572)
## About The Pull Request
Fixes issue #73211 by removing wounds from dismembered limbs after their
owner is removed, rather than before.
## Why It's Good For The Game
Fixes a bug.
## Changelog
🆑
fix: You can no longer stand up without legs.
/🆑
* You can no longer stand up without legs
---------
Co-authored-by: Shroopy <delyth@shroop.net>
* Adds a unit test for client colours. (#77484)
## About The Pull Request
I'm adding a unit test for the sanity of client colours, ancient datums
which I had refactored a long time ago. This also affects the
`color_to_full_rgba_matrix()` proc, which I had also worked on.
## Why It's Good For The Game
Ever since that aforementioned years old refactor, there have always
been a few issues with client colours.
The most annoying one being the monochromacy client color lingering even
after the blindness status effect is ok.
It's unlikely this will fix that. However, this should clear a few other
runtimes with the feature.
## Changelog
N/A.
* Adds a unit test for client colours.
---------
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
* The set gradients style and color procs early return if the new style/color is the same. (#77469)
## About The Pull Request
This will save us a couple unneeded get_gradient_overlay() calls for
most player human mobs.
## Why It's Good For The Game
Player characters have plenty empty overlays.
## Changelog
N/A
* The set gradients style and color procs early return if the new style/color is the same.
---------
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
* removes dextrous_hud_type and healable var (#77244)
## About The Pull Request
I was working on some basic mob stuff and noticed this is a little
messy, so I made these changes separately.
I removed ``dextrous_hud_type`` because ``hud_type`` exists and can just
be used instead.
I also removed the ``healable`` var, because it was incorrectly used
(with the expectation that basic mobs had it too). Instead it will rely
on the mob being Organic, the check right under it, and I gave mob
biotypes to mobs that were not healable and had no biotype already.
I made a new biotype for slimes because I didn't find any other ones
that fit it (and gave it to slimepeople), but it is not used anywhere
other than to prevent them from healing from sutures, as I didn't want
to just set it to NONE. Thought this may be useful for the future.
## Why It's Good For The Game
``healable`` is checked on simple animals and basic mobs, despite basic
mobs not having this var. I do not want to add this var to basic mobs
either, I think checking for them being organic makes much more sense
and avoids having to make basic mobs less basic.
## Changelog
Nothing player-facing.
* removes dextrous_hud_type and healable var
* Modular
---------
Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
Co-authored-by: Giz <13398309+vinylspiders@users.noreply.github.com>
* Species change damage/wound transfer (#77162)
## About The Pull Request
You now keep the same damage on limbs when you species gets changed.
## Why It's Good For The Game
Fixes the first half of #77001
## Changelog
🆑
fix: Damage on limbs get transferred on species change.
/🆑
---------
Co-authored-by: Time-Green <7501474+Time-Green@ users.noreply.github.com>
* Species change damage/wound transfer
---------
Co-authored-by: Comxy <tijntensen@gmail.com>
Co-authored-by: Time-Green <7501474+Time-Green@ users.noreply.github.com>
* Robotic organ and disease improvements (#76766)
## About The Pull Request
In the code description for the `ORGAN_ROBOTIC` flag, it says that
robotic organs are not supposed to decay or regenerate health. I went
and fixed this and added some more "robotic" behavior.
New changes for robotic organs:
- No longer heal damage passively
- No longer gain health from revival
- No longer heal in the smart organ fridge
- No longer heal from pluoxium
- Robotic ears no longer heal from ear healing items (earmuffs, etc.)
- Robotic eyes are immune to changeling blind stings
- Robotic eyes no longer heal from occuline
New changes for diseases:
- Some diseases now require an organ to work. A robotic organ will give
immunity to the disease symptom unless the disease has "Inorganic
Biology".
- The transmission methods for diseases require organs to work but
robotic organs are immune. (except inorganic biology) Airborne disease
transmission require lungs. Ingested (drunk or eaten) disease
transmission requires a stomach. Blood (inject or patch) disease
transmission requires a heart.
- Organs removed from a mob that is afflicted with a disease will be
infectious while handling or transplanting it. (again, robotic organs
are immune unless inorganic biology is present) Certain admin spawned or
special diseases are exempt from this transmission method.
- A stomach is required for nebula nausea, gastritium, carpellosis,
metabolic boost, vomit, weight loss, death sandwich poisoning,
- Lungs are required for choking, asphyxiation, cough, cold9, oxygen
restoration, sneezing, flu, cold, spanish flu, tuberculosis
- A liver is required for tissue hydration, plasma fixation, parasitic
infection
- Ears are required for deafness, sensory restoration
- A heart is required for toxolysis, heart failure
- Eyes are required for sensory restoration, hyphema
- A tongue is required for voice change, parrot possession, pierrot
throat
- Wizarditis no longer requires a head (wtf?) to function
## Why It's Good For The Game
Robotic organs should behave as intended. Not naturally healing (like
organic organs) was supposed to be their downside to counteract their
their ability to not decay upon death.
## Changelog
🆑
fix: Fix robotic organs to not gain health passively, from revival,
smart organ fridge, pluxium, occuline, and earmuffs.
add: Some diseases now require the appropriate internal organ to work. A
robotic organ will give immunity to the disease symptom unless the
disease has "Inorganic Biology".
add: Disease transmission methods now require an internal organ to be
successful. Robotic organs give immunity. (except inorganic biology)
Airborne disease transmission require lungs. Ingested (drunk or eaten)
disease transmission requires a stomach. Blood (inject or patch) disease
transmission requires a heart.
add: Organs removed from a mob that is afflicted with a disease will be
infectious while handling or transplanting it. (again, robotic organs
are immune unless inorganic biology is present) Certain admin spawned or
special diseases are exempt from this transmission method.
add: A stomach is required for nebula nausea, gastritium, carpellosis,
metabolic boost, vomit, weight loss, death sandwich poisoning
add: Lungs are required for choking, asphyxiation, cough, cold9, oxygen
restoration, sneezing, flu, cold, spanish flu, tuberculosis
add: A liver is required for tissue hydration, plasma fixation,
parasitic infection
add: Ears are required for deafness, sensory restoration
add: A heart is required for toxolysis, heart failure
add: Eyes are required for sensory restoration, hyphema
add: A tongue is required for voice change, pierrot throat
bal: Remove head requirement for wizarditis disease
/🆑
---------
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
* Modular parts
* Printing time
* Hah typos
* I cant spell
* Golden Shower feedback
* Posi-Time
* Update modular_skyrat/modules/synths/code/bodyparts/brain.dm
---------
Co-authored-by: Tim <timothymtorres@gmail.com>
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
* Replaces Upgraded Cybernetic Ears with two new variants (#75931)
## About The Pull Request
Adjusts the placement of basic and upgraded cybernetic ears in the
research tree and adds two new variants: Whisper-sensitive Cybernetic
Ears, which make it slightly easier to hear whispers from a tile away,
at the cost of higher vulnerability to flashbangs and other loud noises;
and Wall-penetrating Cybernetic Ears, which allow you to 'hear through
walls' so to speak, also at the cost of higher vulnerability to loud
noises.
Basic cybernetic ears are now in basic medical tech node, meaning that
medbay can print them roundstart the same as other basic cybernetics.
The upgraded cybernetic ears are now unlocked with the other tier 2
cybernetics. The two new ear variants are unlocked with the other tier 3
cybernetic organs, and the luminiscent and welding shield eyes have also
been moved there from the cybernetic implants node for consistency
reasons.
The whisper ears allow you to clearly hear whispers from up to seven
tiles away, the same range where you can hear normal speech. The
wall-penetrating ears allow you to hear normal speech within seven tiles
even through walls. Due to technical limitations, runechat popups do not
show up for people you can't see, but the messages will still show up in
chat.
## Why It's Good For The Game
Currently, upgraded cybernetic ears are very underwhelming compared to
other high-tier cybernetic organs. All other high tier organs provide
some sort of benefit; even if the benefit is minor like a built-in
flashlight, a slightly higher tolerance to alcohol and toxins, or higher
tolerance to disgusting food. This change is intended to grant similarly
minor but useful benefits to the cybernetic ears.
## Changelog
🆑
add: Added whisper-sensitive cybernetic ears, which make it much easier
for the user to hear whispers at the cost of being more vulnerable to
loud noises
add: Added wall-penetrating cybernetic ears, which allow you to hear
speech through walls
balance: Basic cybernetic ears and upgraded cybernetic ears are now
unlocked with the other basic/normal cybernetics
balance: The welding shield and luminiscent cybernetic eyes are now
unlocked with the other upgraded cybernetics
/🆑
* Replaces Upgraded Cybernetic Ears with two new variants
* Modular adjustments
* Linters
* Linters
---------
Co-authored-by: GPeckman <21979502+GPeckman@users.noreply.github.com>
Co-authored-by: Giz <13398309+vinylspiders@users.noreply.github.com>
* First step, it compiles
* The tongue likes BLOODY again
* Properly implemented organ corruption, and componentalized the behavior of corrupted organs
* Fixes the stomach not working properly
* Properly handles the liked and disliked foodtypes for the corrupted tongue
Also adds it to the bitflags variables (WHY IS IT THREE COPYPASTED LISTS WHYYYYYYYYYY????)
* Fixes Hemophages having lungs (again)
* Adds an owner check to the tumor changes
* Refactored the blood_drain code, so it's a bit cleaner and spread between more procs
* strong arm implant now actually respects armor (#77284)
## About The Pull Request
title; makes the strong arm implant now actually check for and respect
melee armor when punching people.
also tweaks its attack messages by giving it some new ones and removing
the "kick" attack text
## Why It's Good For The Game
maybe a crew-available essentially-invisible arm implant that lets you
punch things harder shouldn't be 13 true damage i don't know. the attack
messages was just something i noticed that bugged me because you're not
KICKING anyone with your funny arm you're punching them. beating the
snot out of them if you will
## Changelog
🆑
balance: The strong-arm implant's punches now respect armor.
spellcheck: While using an arm with the strong-arm implant to punch
people, you no longer kick them; your implant's in your arm, after all!
/🆑
---------
Co-authored-by: Hatterhat <Hatterhat@ users.noreply.github.com>
* strong arm implant now actually respects armor
---------
Co-authored-by: Hatterhat <31829017+Hatterhat@users.noreply.github.com>
Co-authored-by: Hatterhat <Hatterhat@ users.noreply.github.com>
* Fix ethereal crystal destruction not removing light (#77263)
## About The Pull Request
Fixes#77252
This removes the lingering light sources after a ethereal crystal is
destroyed that were never properly turned off. Also it segreates the
ethereal heart and crystal code into its own file.
## Why It's Good For The Game
One less bug on the tracker.
## Changelog
🆑
fix: Fix ethereal crystal destruction not removing light
/🆑
* Fix ethereal crystal destruction not removing light
---------
Co-authored-by: Tim <timothymtorres@gmail.com>
* Improves the RPG loot wizard event. (#77218)
## About The Pull Request
As the title says. Adds a bunch more stat changes to various different
items and a somewhat simple way of modifying them whilst minimizing
side-effects as much as possible.
Added a new negative curse of polymorph suffix that can randomly
polymorph you once you pick up the item.
Curse of hunger items won't start on items that are not on a turf.
Curse of polymorph will only activate when equipped.
Bodyparts, two-handed melees, bags, guns and grenades, to name a few,
have a bunch of type-specific stat changes depending on their quality.
Some items won't gain fantasy suffixes during the RPG loot event, like
stacks, chairs and paper, to make gamifying the stats a bit harder.
I'm sure there'll still be other ways to game the event, but it's not
that big of a deal since these are the easiest ways to game it.
High level items also have a cool unusual effect aura
## Why It's Good For The Game
Makes the RPG item event cooler. Right now, it's a bit lame since
everything only gains force value and wound bonus on attack. This makes
the statistic increases more type-based and make it interesting to use
It's okay for some items to be powerful since this is a wizard event and
a very impactful one too. By making the curse of hunger items not spawn
on people, it'll also make it a less painful event too.
## Changelog
🆑
add: Expanded the RPG loot wizard event by giving various different
items their own statistic boost.
/🆑
---------
Co-authored-by: Watermelon914 <3052169-Watermelon914@ users.noreply.gitlab.com>
* Improves the RPG loot wizard event.
---------
Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
Co-authored-by: Watermelon914 <3052169-Watermelon914@ users.noreply.gitlab.com>
Adds wings from potion of flight for fly persons in game. (#72991)
## About The Pull Request
So, i was kinda surprised that there are no fly wings in game, when
their sprite was already made. So it adds wings from strange elixir
(potion of flight) for fly persons. Not much to discuss, i guess.
## Why It's Good For The Game
Wings for flies.
## Changelog
🆑
add: Wings for fly persons from flight potion
/🆑
Co-authored-by: Helg2 <93882977+Helg2@users.noreply.github.com>
* Removed tails inherit their color (#77170)
## About The Pull Request
Hey there,

Something that was pissing me off was that tails weren't inheriting the
color when they were removed from a carbon. I actually did a bit of
chicanery in cat surgeon code so I wouldn't be so pissed off about it,
but I think now is the time to fix it for real.
## Why It's Good For The Game

Much better. I also got rid of one of my pet peeves since I decided to
do this in `on_remove()` (nothing should break as a consequence, though
let me know if anything looks cringe) and was able to remove the fugly
override of parent on `Remove()` which didn't need to be like that at
all
## Changelog
🆑
fix: Carbons with tails (felinids, lizards) who have that tail removed
will now have that tail actually look like it came from the person in
question, rather than just be a grey thing of sadness.
/🆑
* Removed tails inherit their color
---------
Co-authored-by: san7890 <the@san7890.com>
* Fixes ethereals' hair. Separates fixed hair color from the 'fixed_mut_color' var (#76930)
The series of "species nuking" prs made it so that the `fixed_mut_color`
also applies to hair. The problem with that is you may not want that in
some cases. It also introduced a bug where that var prevents ethereals'
hair from changing colors when they die.
So I have moved hair out of the things that gets `FIXED_MUT_COLOR` trait
applied to it in favor of its own thing.
`FIXED_HAIR_COLOR` trait is now used for ethereals to get a fixed hair
color.
Ethereals' hair should go out now when they die again, and it comes back on when they are revived.
* Fixes ethereals' hair. Separates fixed hair color from the 'fixed_mut_color' var
---------
Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com>
* SPECIES NUKING 2023 EXTRA: Makes skin tones a trait instead of a species variable (#76410)
very similar to https://github.com/tgstation/tgstation/pull/76297, much
simpler though
removes the uses_skintones variable for similar reasons
Species variables are less useful and modular than traits.
If for some reason we ever add a mechanic that for some reason makes
your character use skin tones instead of whatever their original color
is, it will be much simpler to be handled.
not player facing
* Fixes all of the remaining issues
---------
Co-authored-by: ChungusGamer666 <82850673+ChungusGamer666@users.noreply.github.com>
* 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>
* Ethereal Pirates (Re-pr) (#76554)
Other pr had some weird check failure, making a new pr to see if it
fixes it.
## About The Pull Request
After he ended up finishing his pirate pr before I could, SethLafuente
graciously offered to let me roll my in-progress pirate pr into his
overall pirate expansion project.
This pr essentially adds a new faction of pirates, along with a new
subspecies of Ethereals a-la silverscales.
- The Lustrous:
A unique subspecies of Ethereal, with years of exposure to bluespace
dust mutating them into crystalline abominations sporting a new pointy
head, pressure resistance, and a permanent bluespace prophet brain
trauma. They're still as fragile as ever, but far more capable of
getting in and out of sticky situations.
- Geode Pirates:
A hollowed out asteroid manned by three Lustrous, equipped with
switchblades, traitor PKAs, jump boots, two teleporting turrets, and an
upgradable bluespace launchpad.
However, they lack proper armor and ship defenses, forcing them to adopt
a coordinated hit-and-run playstyle.



## Why It's Good For The Game
When I started working on this project, I wanted to implement this
faction to cover for the loss of psykers and as a means of creating a
"rock-paper-scissors" system to how standard pirate playstyles would
work; with default pirates being offensive, Silverscales defensive, and
Lustrous mobile.
With Seth's pr, things are a little different now, but I still believe a
glass cannon mobility-focused pirate faction would be a welcome addition
to the pirate roster.
## Changelog
🆑
add: Adds the Lustrous, ethereal pirates in a big bluespace geode!
sound: Unique scream sound for the Lustrous species.
image: Unique head icon for the Lustrous species.
/🆑
---------
Co-authored-by: MrMelbert <51863163+MrMelbert@ users.noreply.github.com>
Co-authored-by: Jacquerel <hnevard@ gmail.com>
* Ethereal Pirates (Re-pr)
* Fixes some merge whackiness
---------
Co-authored-by: Toastgoats <63932673+Toastgoats@users.noreply.github.com>
Co-authored-by: MrMelbert <51863163+MrMelbert@ users.noreply.github.com>
Co-authored-by: Jacquerel <hnevard@ gmail.com>
Co-authored-by: Giz <vinylspiders@gmail.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>