* [NO GBP] Fixing a minor mistake with update_transform() (#77685)
## About The Pull Request
Well, while the translation for lying/standing from #77619 is supposed
to work using the decimal place of whatever value the
`body_position_pixel_y_offset` variable should be while the mob is in
standing position (basically, `get_pixel_y_offset_standing()`), for a
fleeting moment idiocy took the better of me, and instead I just used
`body_position_pixel_y_offset` (which is of a different value when the
mob is lying down), resulting in resized mobs slooowly ascending (if
bigger) or descending (if smaller) each time they stood up.
Also taking a few seconds to add some `if` checks to avoid running these
operations for the wide majority of mobs, which have a default size of 1
anyway.
~~I hope I won't have to make further such PRs for a while.~~
## Why It's Good For The Game
Read above.
## Changelog
N/A
* [NO GBP] Fixing a minor mistake with update_transform()
---------
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
* Fixes Xeno Sentinel's Sneak Action Icon + Additional Sneak QoL (#77543)
## About The Pull Request
This PR fixes the xenomorph sentinel's Sneak ability having an error
icon as opposed to the intended appearance. This PR also adds a smooth
alpha transition to Sneak as opposed to setting the alpha immediately.
Having your alpha drop to its sneak value takes 0.5 seconds, which is
fast enough that it really shouldn't matter.
This PR also changes sneak's chat message alert to a balloon alert.
## Why It's Good For The Game
The icon thing is a bugfix, which is always good. The alpha
transitioning instead of being immediately set looks much better in my
opinion, I think most would agree on that front. Balloon alerts are our
preferred option as opposed to chat alerts now, so its also a good thing
to change.
## Changelog
🆑
qol: Xenomorph Sentinel and Ambusher Spider's sneak ability now has a
transition to a lower alpha as opposed to being immediate.
qol: The sneak ability now uses balloon alerts as opposed to chat
alerts.
fix: Fixed the Xenomorph Sentinel's Sneak ability icon being an error.
/🆑
---------
Co-authored-by: Ghom <42542238+Ghommie@ users.noreply.github.com>
* Fixes Xeno Sentinel's Sneak Action Icon + Additional Sneak QoL
---------
Co-authored-by: IndieanaJones <47086570+IndieanaJones@users.noreply.github.com>
Co-authored-by: Ghom <42542238+Ghommie@ users.noreply.github.com>
* Add Mob Ability menu now displays ability names before typepath (#77682)
## About The Pull Request
Look at this menu:

Isn't this basically useless?
When you try to add a mob ability to a mob, it displays a huge list of
typepaths.
Literally none of the typepaths are short enough that they even fit in
the window, and the data about what the ability actually is usually lies
at the end of the typepath.
This is clearly silly.
I made it look like this instead:

Now you see the name _and_ the typepath (it's still useful information
in cases where there are several similar abilities).
Also I gave the lobster charge ability its own name because it didn't
have one.
## Why It's Good For The Game
Increases usability of this admin feature.
## Changelog
🆑
admin: The Add Mob Ability menu now prefixes the typepath of the ability
with the ability's name, so you can much more quickly see what the
ability is.
/🆑
* Add Mob Ability menu now displays ability names before typepath
---------
Co-authored-by: Jacquerel <hnevard@gmail.com>
* Converts some actions to mob cooldown actions (#77680)
## About The Pull Request
It has come to my attention that it isn't possible for admins to grant
the abilities to place web, lay eggs, and issue commands to spiders to
arbitrary mobs. This refactors Spider, Goliath, and Meteor Heart
abilities (hey what do you know I last touched all of those) such that
they can.
## Why It's Good For The Game
You **can** create the spider pig as an event.
## Changelog
🆑
admin: Adds Spider, Goliath, and Meteor Heart actions to the "Grant Mob
Action" menu.
/🆑
* Converts some actions to mob cooldown actions
---------
Co-authored-by: Jacquerel <hnevard@gmail.com>
* Polymorphic Inverter tweaks (#77675)
## About The Pull Request
Fixes#77649
You can no longer use the belt to turn into any kind of carbon mob,
sorry gamers it was a cool dream but it leads to too many problems.
Also I made space dragon "there's an alive guy in my stomach" code now
work on signals instead of on Life tick which is slightly more efficient
and also resolves an issue with the funny belt.
## Why It's Good For The Game
Too much room for weird edge cases as a result of doing this (messing
with monkey DNA, producing infinite xeno organs, blocking legit xeno
queens from being created) which had no graceful solution.
Moving stuff off Life if it can be event based is nice.
## Changelog
🆑
fix: Turning into a space dragon with the polymorphic inverter will no
longer leave you existing in two places
balance: You can no longer use the belt to transform into monkeys or
xenomorphs, for technical reasons.
/🆑
* Polymorphic Inverter tweaks
---------
Co-authored-by: Jacquerel <hnevard@gmail.com>
* Adds numerous boozepowers to the martian drinks. (#77605)
## About The Pull Request
my family owns a liquor store so i made a bit of each of these and rated
them all on a scale of 1-100 on how fucked up they were likely to make
you for boozepower
These were all set at '20' boozepower for some reason. This fixes that.
## Why It's Good For The Game
fixes#77566
## Changelog
🆑
fix: fixes all the martian drinks having 20 boozepower
/🆑
---------
Co-authored-by: oilysnake <63020759+oilysnake@ users.noreply.github.com>
* Adds numerous boozepowers to the martian drinks.
---------
Co-authored-by: DeerJesus <willgiscool@gmail.com>
Co-authored-by: oilysnake <63020759+oilysnake@ users.noreply.github.com>
Add pickaxe to basic tools techweb (#72938)
Adds the pickaxe to basic tools techweb that can be printed the cargo
lathe or autolathe.
This is a basic mining tool and should be available at roundstart.
It wasn't possible to create pickaxes, despite it being a T1 item. It
should be as easy to make as a shovel since these usually are mapped
together. I was tempted to put this into mining technology, but that
already has advanced drills that are T2 versions of the pickaxe.
🆑
qol: Add pickaxe to basic tools techweb
/🆑
Co-authored-by: Tim <timothymtorres@gmail.com>
* Gives engineers the RCD round start and nerfs its base abilities to compensate (#77641)
## About The Pull Request
- Gives engineers an RCD as part of their round start equipment
- RCD by default will build/deconstruct slower if you already have
another one in progress. This can be upgraded with the new cooling
upgrade disk. Reconstructing (anything that was there roundstart as per
the destructive scan) doesn't have this downside, only
construction/deconstruction.
- RCD construction effects can now be attacked in order to cancel them.
This can be deterred with the anti-disruption upgrade disk.
- RCDs for nukies and whatever don't have these downsides
- The CE's roundstart RCD also doesn't have these downsides
## Why It's Good For The Game
Construction and reconstruction are currently one of the worst aspects
of SS13--they are so slow and tedious that any sort of mass destruction
goes unfixed for 10-30+ minutes, if fixed at all. This limits us because
it means people don't want traitors to create large explosions, for
instance--I do and so I think it's crucial that we fix construction.
Reconstruction has already been improved on the RCD with the destructive
scans, but I see no reason to limit this to something so out of the way.
Ideally the RCD even gets more functionalities, like the ability to
print stock parts (or having stock parts removed), etc, in order to
lessen this burden.
## Changelog
🆑
add: Engineers now have an RCD round start.
balance: RCD construction/deconstruction effects can now be attacked in
order to cancel them. You can get the anti-disruption upgrade disk to
prevent this.
balance: RCD construction/deconstruction is now slower if you already
have another effect up. This does not effect reconstruction.
balance: Both of the above effects do not effect the CE's roundstart
RCD, nor any other RCDs such as combat RCDs.
/🆑
---------
Co-authored-by: Fikou <23585223+Fikou@ users.noreply.github.com>
* Gives engineers the RCD round start and nerfs its base abilities to compensate
---------
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: Fikou <23585223+Fikou@ users.noreply.github.com>
* Automatic changelog for PR #23141 [ci skip]
* Replaces Big Mob Tiny Sprites With Togglable Clientside Transparency For Big Mobs
* Replaces Big Mob Tiny Sprites With Togglable Clientside Transparency For Big Mobs (#77361)
## About The Pull Request
This PR replaces the tiny mob sprite abilities for our large mobs with a
Toggle Seethrough ability. What this does when enabled is make yourself
transparent on your own client and makes you unable to click yourself.
With this, any sort of overlays that get added look correct while in
your tiny mob form and you can still appreciate your large size without
giving up the ability to click on targets that would be hiding
underneath your sprite.


In total, this ability is granted to all the mobs who had tiny sprites:
- Xenomorph Queen
- Space Dragon
- Megafauna (not that players ever get access to these normally, but it
might be nice for admins)
Along with all this, I've also gone and expanded the mobs who get access
to the Seethrough ability to mobs that are large but didn't have a
mini-sprite. This includes:
- Jungle giants (leaper and mega arachnid)
- Tree mob
- Festivus pole mob
- Lavaland elites
- Xenomorph Praetorian
- Wumborian Fugu
On top of all this, any simple/basic mob given a fugu gland also
automatically gains this ability.
This solution also fixes all the overlays bugs that tiny mob sprites
introduced to the game, most notably the xenomorph queen overlays being
screwy when in small form and space dragon's overlays being completely
disabled for everyone if he was in small form.
The only issue with this currently is that clicking on any overlays from
your mob will let you still click on yourself, though this issue is
pretty negligible.
## Why It's Good For The Game
Tiny mob sprite abilities clashed very hard with our overlay system,
leading to a lot of buggy and unintended behavior. This replacement
works a lot more smoothly with overlays and also requires much less
setup to give it to a mob than tiny sprites did. I would also imagine it
helps keep the fantasy of being a big monster alive by letting you still
see yourself being a big monster without it getting in your way when
trying to attack things.
## Changelog
🆑
del: Removed tiny mob sprite abilities for large mobs
add: Add a Self Seethrough ability, given to most large mobs and all
mobs affected by a fugu gland
fix: Space Dragon's overlay will no longer vanish at times
---------
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
* Delete AutoChangeLog-pr-23141.yml
This is really weird
* Modular adjustments
---------
Co-authored-by: IndieanaJones <47086570+IndieanaJones@users.noreply.github.com>
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com>
* Multi-tile airlock assemblies/pathing [NO GBP] (#77537)
## About The Pull Request
Small fixes after https://github.com/tgstation/tgstation/pull/76732
- Creates base large subtype for mapping
- Door assembly naming consistent with other airlocks
- Base subtype large airlock no longer spawns in a normal sized airlock
- Renames station2 subtype to public for consistency
## Changelog
🆑 LT3
fix: Base large airlock subtype no longer spawns a normal sized airlock
image: Added mapping icons for large airlocks
code: Repathed all public airlocks to consistent naming
/🆑
* Multi-tile airlock assemblies/pathing [NO GBP]
* maps
* Merge remote-tracking branch 'upstream/master' into upstream-merge-77537
---------
Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
* the big slappy is now immutably slow (#77655)
## About The Pull Request
the big slappy is now immutably slow, it cant be sped up by xenobio
speed potion (because of how red slime crossbreed works, you can still
avoid it with that bullshit, but at least that requires some effort for
the xenobiologist to specifically create you one)
## Why It's Good For The Game
30 force
30 block chance
double object damage
throws tha guy away
KNOCKS DOWN FOR 2 SECONDS
and then your ass can literally just walk with it for FREE if you visit
xenobio and they gloop out one potion with a slime and water (which if
xenobio is staffed at all they probably will have at the point you made
it)

(also a bit sus that it was added by a xenobio powergamer but thats
beside the point)
## Changelog
🆑
balance: you cant speed up the big slappy with slime potion
/🆑
* the big slappy is now immutably slow
---------
Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
* Makes mob resizing a smidge more precise. (#77619)
## About The Pull Request
I've recently come to learn recently that transform translation, unlike
pixel x/y/w/z, doesn't disregard values after the decimal separator, and
while that has little effect on atoms with identity
transform/interpolation matrices, can alter how the atom is rendered
slightly.
This way, there shouldn't be visible differences between an icon, scaled
by, let's say, 1.23, translated by 2.4 vertically, and a similar icon
scaled the same, offset by another 2pixels in the same direction yet
translated by the remainder 0.4.
## Why It's Good For The Game
Manily because I've a PR up on Skyrat to replace some of the code to
actually use the current size variable, tho some players have reported
it looks worse than before. Also, title.
## Changelog
N/A
* Makes mob resizing a smidge more precise.
---------
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
* Basic Watchers & Basilisks (#77630)
## About The Pull Request
This one is a double feature because Watchers and Basilisks share the
same typepath. You might see a couple more of those.
As is tradition I decided to fuck with them rather than just port them.
Here's what's up.
**Basilisks**


- Have a new soulless sprite which looks less like a living blue hedge.
- Walk at you and shoot you while you are not in range (just like
before).
- Become supercharged if they become "heated" by lava, lasers, or
temperature weapons. This was a feature they also previously had but
they would never encounter lava, so now it also works if you use the
wrong gun on them.
- Lose their supercharge if you cool them down.
- Otherwise pretty normal mobs.
**Watchers**
https://www.youtube.com/watch?v=kOq_Bf78k5A
Here's a traditional video of me intentionally getting hit by mechanics
(trust me its definitely on purpose)
- They glow emmissively a little bit so you can see them from further
away.
- Their eyes light up about 0.5 seconds before they are able to shoot at
you.
- No longer melee attack, instead try to stay out of melee.
- Will occasionally put you into "Overwatch", meaning they will shoot
you rapidly if you move or act while they're staring at you for a brief
time period (after which you become immune for 12 seconds, and during
which other watchers will play fair and stop shooting at you).
- If they start taking damage they will also start using their "Gaze"
attack, look away or suffer some kind of negative effect!
- - Normal watcher gaze flashes and confuses you.
- - Magmawing watcher gaze obviously burns (and briefly stuns) you.
- - Icewing watcher gaze freezes you and throws you backwards.
- Magnetically attract and eat diamonds. They also used to do this, but
just if they happened to coincidentally walk past some.
**Other accompanying changes**
All basic mobs will now adopt the "stop gliding" trait if they get
slowed down too much.
I moved behaviour for "fire a projectile from this atom" into a helper
proc because I was using it in three places and I will probably use it
in more places. There are probably other places in the existing code
which could be using this.
I think I made the basic mob melee attack forecast default a little more
forgiving, they were fucking me up too much and I am the playtester.
## Why It's Good For The Game
Another one off the list.
New tricks for old dogs.
Framework for making mobs with ranged attacks "fairer" (you can see when
they are ready to shoot you).
More (hopefully) versatile AI behaviours which we will reuse later (I
hope I'm not duplicating one someone already made).
If our players "enjoy" them enough we can give more mobs "don't look at
me" mechanics.
Removes some soul sprites.
## Changelog
🆑
refactor: Basilisks and Watchers now use the basic mob framework. Please
bug report any unusual behaviour.
sprite: Basilisks have new sprites.
add: Basilisks will go into a frenzy if heated by energy weapons or
temperature beams as well as by lava.
add: Watcher eyes will be illuminated briefly when they are ready to
fire at you.
add: Watchers can now briefly put you into "Overwatch" and penalise you
for moving while they can see you.
add: Wounded watchers will occasionally punish players who look at them.
balance: Unusual watcher variants are more likely to appear.
/🆑
* Basic Watchers & Basilisks
* Modular paths
---------
Co-authored-by: Jacquerel <hnevard@gmail.com>
Co-authored-by: Giz <13398309+vinylspiders@users.noreply.github.com>
* [no gbp] Goliath tentacles now damage mechs (#77643)
## About The Pull Request
Goliaths will now use said tentacles on mechs.
The tentacles aren't strong enough to grab mechs so they just damage
them a bit, you're still better off driving through them than a human
is.
## Why It's Good For The Game
Someone pointed out that these abilities were only being used on living
mobs, but miners use mechs sometimes.
## Changelog
🆑
fix: Goliaths will try to attack mechs with their tentacles.
/🆑
* [no gbp] Goliath tentacles now damage mechs
---------
Co-authored-by: Jacquerel <hnevard@gmail.com>
* mega arachnid basic monster (#77601)
## About The Pull Request
the mega arachnid is now a basic monster. he is a very tricky and
opportunistic creature he will plan his attacks carefully and only
attack the weak. he will first try to throw fleshy legcuffs at his
victims, if the victim becomes cuffed he will move in to attack him,
otherwise he will run away from him while trying to throw restraints at
his legs. while he is running away he will also release slippery acid to
slip his prey. also when he is looking for his prey, he will be
transparent for more stealth. after he finds his prey the transparency
will wear off. he is also a very stealthy creature, he will break any
lights and cameras near him and he can also climb trees to hide in them
while he is looking for a victim.
## Why It's Good For The Game
add more combat depth for the mega arachnid
## Changelog
🆑
refactor: the mega arachnid is now a basic monster ,please report any
bugs
feature: the mega arachnid now have an ability to slip victims
/🆑
* mega arachnid basic monster
---------
Co-authored-by: Ben10Omintrix <138636438+Ben10Omintrix@users.noreply.github.com>
* Rat King mouse summoning grammar fix (#77648)
## About The Pull Request
the rat king commands mice to their side, not rats; they turn said mice
into rats with a spell, but they do not summon mice.
`"[owner] commands a rat to their side!"`
this PR changes it from rat to mouse in the text.
`"[owner] commands a mouse to their side!"`
## Changelog
🆑
spellcheck: fixed the rat king text saying that they're summoning rats
/🆑
* Rat King mouse summoning grammar fix
---------
Co-authored-by: iwishforducks <65363339+iwishforducks@users.noreply.github.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>
* Rebalances nuisance cell lines for Cyto (#77494)
## About The Pull Request
Makes the cockroach and blob spore cell lines easier to suppress in
Cytology.
Making fun stuff with Cytology already is very hard with how you have to
build your own setup in most maps and somehow get all the reagents you
need.
## Why It's Good For The Game
All of the fun recipes with Cytology require at least 1 of Organic
Slurry or Growth Serum. Sometimes both. And roaches are hard to suppress
and thrive on that. That means that if your cell line includes roaches
you are forced to throw it out. This change makes roaches at least able
to be dealt with by making them not grow as much from these fun reagents
and having a easier to find reagent to suppress them (salt).
Blob spores were already on a relatively balanced state where in some
petri dishes you could ignore them and in others you couldn't. I wanted
to preserve that fun aspect of figuring out if you should or not care
about blob spores based on what you see so I didn't touch its
supplementary reagents. However suppresing them was really hard so if
you did decide that you have to deal with them in the dish you had to
throw the entire petri dish away. This PR adds a way to deal with them;
it's not the easiest to get but it can be obtained with the chemist's
help or (more interestingly) the Psychologist's help since they spawn
with psicodine pills (iirc), making for a very nice interdepartmental
cooperation and giving a lil love to the Psychologist.
## Changelog
🆑
balance: Nuisance cell lines are easier to deal with in Cytology;
Cockroaches:
Salt N/A -> -2
Growth Serum +2 -> +1
Organic Slurry +4 -> +2
Immature blob spore:
Psicodine: N/A -> -2
/🆑
* Rebalances nuisance cell lines for Cyto
---------
Co-authored-by: Fazzie <84548101+EuSouAFazer@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>
* Add policy for sentient mobs that were revived by lazarus injector (#77515)
## About The Pull Request
There's two policies:
* Normal lazarus injector gives you the 'friendly revived mob' policy
since it normally makes mobs friendly to everyone,
* Default text: "The lazarus injector has brought you back to life! You
are now friendly to everyone."
* EMPed lazarus injector gives you the 'slaved revived mob' policy since
it normally makes mobs only friendly to you,
* Default text: "You have been revived by a malfunctioning lazarus
injector! You are now enslaved by whoever revived you."
* The EMPed lazarus injector now also enslaves the mob to the person who
revived them, giving them the text: "Serve [reviver], and assist
[reviver.p_them()] in completing [reviver.p_their()] goals at any cost."
Suggestions for default text welcome,
## Why It's Good For The Game
There's currently no policy for lazarus revived mobs, so can be
confusing. See https://tgstation13.org/phpBB/viewtopic.php?f=33&t=34538
Now it's more clear what they should do.
Admins can also change the text if they want.
## Changelog
🆑
add: Add policy for sentient mobs that were revived by lazarus injector
(depends on config)
add; Sentient mobs that were revived by malfunctioning lazarus injector
now get enslaved to whoever revived them.
fix: Servant golems get their master's real name (Won't be serving
"Unknown" if their master is wearing a mask)
/🆑
* Add policy for sentient mobs that were revived by lazarus injector
---------
Co-authored-by: BlueMemesauce <47338680+BlueMemesauce@users.noreply.github.com>
* More Suits resprites (Bonus: Chef/Bartender updates!) (#77558)
## About The Pull Request
Finally, my ultimate goal:
All Lawyer suits are now under suits.dmi. Having some suits in suits.dmi
and some in civilian.dmi was just really really weird and confusing.
Also updated some more Service stuff, specifically the Chef and
Bartender. Their uniform is the generic Service Buttondown, and their
other gear has been updated. The Bartender, notably, now has a new item,
the bowtie!
Full changelog:
- Adds Bowtie (and yes, it's in relevant vendors)
- Adds a greyscale Formal Jacket (the lawyer jackets but greyscaled)
- Removes `/obj/item/clothing/under/rank/civilian/chef` and
`/obj/item/clothing/under/rank/civilian/bartender`; replaces them with
`/obj/item/clothing/under/costume/buttondown/slacks/service`
- **Moves all Lawyer suit sprites to the suits.dmi**
- Converted `/obj/item/clothing/under/rank/civilian/lawyer/bluesuit` to
use the same GAGS configs as the buttondown (path unchanged)
- Resprited all Lawyer suits (except galaxy ones)
- Resprited the Lawyer jackets to match (including a currently unused
GAGS-palette one)
- Resprited the Chef Apron-Jacket and Hat
- Resprited the Botanist Overalls (and made them Greyscale)
- Updated the shirt on the Cook Jorts to be more up-to-date instead of
being new pants on a super crusty old shirt sprite.
- Puts stuff into vendors
## Why It's Good For The Game
Sprote updates yahoo!
Chef/Bartender showed their age, and essentially had the same uniform.
Now they look much more at home.

GAGS Suit jacket yippee!

This jacket was put into to the Bartender's vendor for the sake of
allowing them their own gimmicks, such as this:

New greyscale overalls wahooo! Since they're greyscaled they're also in
the clothesmate for anybody who really wants them.

The Lawyer suits just used an entirely different type of shading and it
made them stick out weird... I'm not quite sure on reshaping their
jackets but figured it's better to start with this and update them if
requested.

As for moving Lawyer suits to suits.dmi... I just don't like them being
split up. It makes it annoying to prevent duplicates or keep them all
updated.
## Changelog
🆑
add: Added the Bowtie! Bartenders start with one on, but they can also
be found in the Bardrobe, Autodrobe, and Clothesmate. No need to tie it
either, it's just a clip-on.
add: Added a Greyscale "Formal Jacket" of the style that most suits use,
for crew who want to make their own using the buttondown shirt.
del: Removed the generic Cook/Bartender uniforms and changed them to use
the Service buttondown w/ slacks.
image: updated the majority of Lawyer suit sprites, along with the
Cook's Apron-Jacket and Hat, and updated/greyscaled Botany's Overalls!
Also the Overalls are available in the clothesmate, and the Cook Jorts'
shirt is less crusty.
/🆑
* More Suits resprites (Bonus: Chef/Bartender updates!)
* Modular path changes/removals
* Modular adjustments: removing deleted sprites, creating digi sprites for overalls and purple bartender resprite, removing greyscale overalls
* Fix grayscale configs
* Update misc.dm
* Moves icons to new location
* Update civilian.dm
* I hate all of this so very much.
* Update civilian.dm
* Update loadout_datum_suit.dm
---------
Co-authored-by: OrionTheFox <76465278+OrionTheFox@users.noreply.github.com>
Co-authored-by: Giz <13398309+vinylspiders@users.noreply.github.com>
* Plumbing RCD Refactors (#77563)
## About The Pull Request
- Removed the `category` var from all plumbing machinery, now all the
designs are organized by category in a single static list(1 list for
each plumbing rcd type). This makes it easy to add new designs to 1 list
in the future and since the list is static memory is saved when multiple
plumbing RCDs are made in game
- Removed redundant `machinery_data` list. This list simply stored the
cost of designs from the `plumbing_designs` list. Rather than wasting
memory with this list we can derive the cost from `plumbing_designs`
list ourselves
- Removed unused list `choices`. No idea what that did back then
- When low on ammo the plumbing RCD would display multiple balloon
alerts. That's fixed now
- Made the icon sizes of designs in the UI slightly smaller so they
don't clip and look blurry
## Changelog
🆑
fix: multiple balloon alerts when the plumbing RCD is low on ammo
code: organized all plumbing designs into static lists for memory
savings
refactor: removed unused vars for further memory savings
/🆑
* Plumbing RCD Refactors
* Nonmodular update because static
---------
Co-authored-by: SyncIt21 <110812394+SyncIt21@users.noreply.github.com>
Co-authored-by: Giz <13398309+vinylspiders@users.noreply.github.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>
* ammo bands no longer disappear upon icon updates (#77603)
## About The Pull Request
moves the `update_ammo_band()` call from `update_icon_state` to
`update_overlays`, so that the ammo layer sticks around
## Why It's Good For The Game
visual clarity. i want to be able to see which speedloader/magazine/etc
does what for my gun
## Changelog
🆑
fix: Colored ammo bands, such as those on .357 and .38 speedloaders, no
longer permanently disappear upon icon update.
/🆑
---------
Co-authored-by: Hatterhat <Hatterhat@ users.noreply.github.com>
* ammo bands no longer disappear upon icon updates
---------
Co-authored-by: Hatterhat <31829017+Hatterhat@users.noreply.github.com>
Co-authored-by: Hatterhat <Hatterhat@ users.noreply.github.com>
* Fix spaceacillin's infection processing not applying to corpses (#77635)
## About The Pull Request
Spaceacillin used to be able to be able to treat infections on the dead
as well as the living, and got unintentionally changed in #76393. Simply
brings back old functionality
## Why It's Good For The Game
Fix bugs!
## Changelog
🆑
fix: Spaceacillin will once again provide antiviral effects for the
deceased
/🆑
* Fix spaceacillin's infection processing not applying to corpses
---------
Co-authored-by: FlufflesTheDog <piecopresident@gmail.com>
* Fixes Ticked File Enforcement and Missing Unit Test (and makes said Unit Test Compile) (and genericizes the C&D list to the base unit test datum)
* Updates ignores
---------
Co-authored-by: san7890 <the@san7890.com>
Co-authored-by: Giz <13398309+vinylspiders@users.noreply.github.com>
* Add the ability to use blips as your character's voice (#77640)
## About The Pull Request
- Adds the ability to force your TTS voice to always be blips, default
is still normal speech
- Probably fixes a bug with silicon voices not transferring properly?
There was an entire argument missing from tts_request/New
- Fixes problems I got from the Docker build not working at all. Only
thing interesting is `--no-cache-dir` which was to fix the container
running out of RAM even though I literally just got 64GB of RAM today
Got permission from @ optimumtact as alternative to being able to disable
your voice, CC @ Iamgoofball
## Why It's Good For The Game
I spent two hours trying to find a voice that didn't make me
uncomfortable to use and that was even in the realm of being the voice I
would actually want people to hear. Characters still have distinct
"voices" because the blips are chopped together from the voice itself
## Changelog
🆑
add: You can now set your voice to just blips.
/🆑
* Add the ability to use blips as your character's voice
---------
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
* Buffs Heretic ash ascension (#77618)
## About The Pull Request
Post-Ascension the Nightwatchers Rebirth (Or Fiery Rebirth) has its
cooldown lowered from 60 seconds to 10
Additionally adds bomb immunity to the list of resistances that
ascension provides
## Why It's Good For The Game
Ash ascension kind of sucks when compared to its big brothers flesh,
rust and blade. You do get a couple of cool spells but their impact is
negated by how shitty fire damage is and while you get a ton of
resistances, you don't get stun immunity and have absolutely zero
sustainability in long-term engagements.
Blade has its lifesteal, rust has its leeching walk and flesh has a big
worm that eats arms. And while the laziest solution would be to give ash
stun immunity like those three I think it'd be more fitting if it could
capitalize on one of its more powerful spells. Keeping in the fight by
siphoning health from all those people you lit on fire with your cascade
instead of watching in pain as they completely negate any threat you
have with a fire extinguisher and temp adapt.
* Buffs Heretic ash ascension
---------
Co-authored-by: DaydreamIQ <62606051+DaydreamIQ@users.noreply.github.com>
* Stopgap fix for polymorphed headrevs counting towards a rev loss (#77636)
## About The Pull Request
Revheads being a simplemob, basic mob, or xenomorph no longer count
towards a rev loss.
## Why It's Good For The Game
Strictly checking that a revhead is a human introduces several edge
cases in which a revolution would be considered defeated, even if the
last headrev is alive, on station, and able to eliminate command staff.
Such cases include:
- A promoted traitor getting the final objective that lets them turn
into a dragon.
- A promoted, ascended Flesh heretic.
- A headrev getting brain transplanted into a xenomorph, especially a
queen.
- The Polymorphic Field Inverter.
- Other crew-obtainable sources of polymorphing (ash drake/wendigo
blood, colossus crystal, etc.)
Heads of staff don't count towards a rev win in any of these cases, so
it should be fair that revheads in these cases don't count towards a
loss either.
There are probably some more rigorous checks that should be done because
the original intention of the strict humanity check for revheads
probably had to do with being able to convert, but those seem a bit too
complicated for now.
Fixes#77634
## Changelog
🆑
fix: Head Revolutionaries no longer count towards a revolution's defeat
if they have become simplemobs, basic mobs, or xenomorphs.
/🆑
* Stopgap fix for polymorphed headrevs counting towards a rev loss
---------
Co-authored-by: Y0SH1M4S73R <legoboyo@earthlink.net>
* Chemistry Heaters can now be unwrenched (#77612)
## About The Pull Request
Chemistry heaters can now be unwrenched. now you can steal the ENTIRE
chemistry setup
## Why It's Good For The Game
The dispenser and the chem master can be unwrenched, so I've made it
more consistent, especially considering the sprite of the reaction
chamber just has two tiny legs attaching it to the ground.
## Changelog
🆑
qol: the chemistry heater can now be unwrenched.
/🆑
* Chemistry Heaters can now be unwrenched
---------
Co-authored-by: Vincent983 <124026007+Vincent983@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>
* Reflavors the Mosin to be a surplus rifle from the past IC 200 years, rather than from 670 years ago in game. Allergy warning: May contain microscopic silverscale buff
* oorah
* im sure more will come up eventually
---------
Co-authored-by: Paxilmaniac <82386923+Paxilmaniac@users.noreply.github.com>
Co-authored-by: Paxilmaniac <paxilmaniac@gmail.com>
* Putting mobs into evidence bags no longer causes harddels (#77583)
## About The Pull Request
Fun interaction. Since evidence bags make you drop held items to the
floor and then forcemove the item into the bag, mob holders would dump
the mob on the floor, be qdeleted and have their references cleared and
then be put inside the bag's contents, bugging the fuck out and staying
in the bag (`put_in_hands()` fails if the item in question is qdeleted)
until it's eventually harddeleted because the reference to it in the
evidence bag never gets cleared.

<details>
<summary>Harddel logs</summary>
```
[2023-08-13 12:05:25.908] RUNTIME: ## REF SEARCH Beginning search for references to a /obj/item/clothing/head/mob_holder.
[2023-08-13 12:05:26.089] RUNTIME: ## REF SEARCH Finished searching globals
[2023-08-13 12:05:26.353] RUNTIME: ## REF SEARCH Finished searching native globals
[2023-08-13 12:05:59.099] RUNTIME: ## REF SEARCH Found /obj/item/clothing/head/mob_holder [0x2001ffb] in list World -> /obj/item/evidencebag [0x20140e8] -> contents (list).
[2023-08-13 12:09:22.401] RUNTIME: ## REF SEARCH Finished searching atoms
[2023-08-13 12:09:50.415] RUNTIME: ## REF SEARCH Finished searching datums
[2023-08-13 12:09:50.419] RUNTIME: ## REF SEARCH Finished searching clients
[2023-08-13 12:09:50.421] RUNTIME: ## REF SEARCH Completed search for references to a /obj/item/clothing/head/mob_holder.
[2023-08-13 12:09:50.427] RUNTIME: ## TESTING: GC: -- [0x2001ffb] | /obj/item/clothing/head/mob_holder was unable to be GC'd
```
</details>
My solution was to change the checks of the evidence bag. Rather than
making you drop the item, they will check that the item is in your hands
and that it doesn't have `TRAIT_NODROP`. If either isn't true, it will
fail, which I think covers all the relevant cases for this. It should
avoid any similar issues in the future with items that dissapear when
dropped. (Hand gestures would have also suffered from this if they
weren't excluded in an earlier check, for example).
As an additional fallback, it will also check if the item is qdeleted
before trying to forcemove it.
## Why It's Good For The Game
Closes#77197.
Hard deletes are bad, real bad.
## Changelog
🆑
fix: mob holders no longer bug out and harddel when put into evidence
bags.
/🆑
* Putting mobs into evidence bags no longer causes harddels
---------
Co-authored-by: A miscellaneous Fern <80640114+FernandoJ8@users.noreply.github.com>
* Adds a unique medibot to the Syndicate Infiltrator (#77582)
## About The Pull Request
Adds a unique medibot to the Syndicate Infiltrator. It doesn't like
nukes - when one is armed, disarmed, or detonating, it says an unique
line. Players can optionally enable personalities on it if they want to.
Probably best to just let it stay on the shuttle though. (It's also in
the Interdyne Pharmaceuticals ship, renamed)
Fixed an issue that made mapload medibots unable to load custom skins.
This PR adds a medibot subtype to the simple animal freeze list, which I
don't think is a big deal as this isn't a 'true' simplemob but just a
slightly altered medibot, similarly to my 'lesser Gorillas' in the
summon simians PR.
## Why It's Good For The Game
> Adds a unique medibot to the Syndicate Infiltrator. It doesn't like
nukes - when one is armed, disarmed, or detonating, it says an unique
line. Players can optionally enable personalities on it if they want to.
Probably best to just let it stay on the shuttle though.
I know what the inmediate reaction is here - but hear me out. Besides
the meme of the month, it really, genuinely is cute and amusing to have
a friendly medibot that shows dismay when you're arming the nuke and
horror when it blows up (with you, hopefully, at the syndibase), and
still fits quite well within SS13's charm and flavor. The reference
isn't overt and in-your-face.
Besides that, slip-ups, friendly fire, and accidents are semi-common on
the shuttle and, just like Wizards, nukies deserve a bot to patch their
wounds up.
> (It's also in the Interdyne Pharmaceuticals ship, renamed)
I think it makes sense for the pharmacists to have an evil medibot!
> Fixed an issue that made mapload medibots unable to load custom skins.
Fixed "bezerk" skin not appearing. Didn't fix it being ugly as sin
though.
## Changelog
🆑
add: Adds a unique medibot to the Syndicate Infiltrator. It doesn't like
nukes - when one is armed, disarmed, or detonating, it says an unique
line. Players can optionally enable personalities on it if they want to.
Probably best to just let it stay on the shuttle though. (It's also in
the Interdyne Pharmaceuticals ship, renamed)
fix: Fixed an issue that made mapload medibots unable to load custom
skins.
/🆑
---------
Co-authored-by: Fikou <23585223+Fikou@ users.noreply.github.com>
* Adds a unique medibot to the Syndicate Infiltrator
---------
Co-authored-by: carlarctg <53100513+carlarctg@users.noreply.github.com>
Co-authored-by: Fikou <23585223+Fikou@ users.noreply.github.com>
* Adds sanity checking to prefs checks, fixing a bug that can cause emotes to stop displaying intermittently
* Update vox_procs.dm
---------
Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com>
* Big Slappy | Giant Weapon DLC [MERGE READY!!!] (#77273)
## About The Pull Request
Big Slappy is a new illegal shovel/wrench which can be obtained through
illegals means. Parts you need to craft it can be found on the black
market uplink for a low price, but if it is not there you can find it on
the imports page on your hacked cargo console for 4400 credits usually.
Big Slappy makes you slow and you will get 10 recoil damage everytime
you hit someone and you will knock down your opponent for two seconds
while throwing people back like a baseball bat. It deals 30 damage and
is the fastest shovel/wrench out there. It can be folded into its wrench
form which will change its typing and makes it look like a wrench. It
also deals more damage in the wrench state, but also deals more recoil
damage and your target will not get knocked down. This weapon will
probably only appear in a few rounds since it has recoil damage, is slow
and costs a lot to obtain. It also has a longer meele attack cooldown.
To craft it you need 4 wrenches, 1 drill, 5 plasteel, 10 rods and 1 big
slappy parts using tools.

## Why It's Good For The Game
Cool new weapon.
## Changelog
🆑
add: Added big slappy
image: Added big slappy parts and big slappy sprites
/🆑
* Big Slappy | Giant Weapon DLC [MERGE READY!!!]
---------
Co-authored-by: Comxy <tijntensen@gmail.com>
* basic ice whelps (#77493)
## About The Pull Request
i have refactored ice whelps into basic mobs. They are now the artistic
sort as theyll mark their territory by seeking out icy rocks and carve
out statues of theirselves using their claws to serve as a warning to
players/animals that this is dragon turf and theyll also go out of their
way to burn any trees in vicinity just for the hell of it. they are now
gruesome cannibals if they find a corpse of one of their kin near them
theyll go eat it for nurishment. AS for combat, they have a new ability
which allows them to release fire in all directions however theyll only
use this ability once their enraged meter is full. to make it fair ive
given them a new component which allows them to telegraph abilities and
only do them after a delay so players can react in time for it.
## Why It's Good For The Game
basic mob refactor
## Changelog
🆑
refactor: ice whelps have been refactored to basic mobs
add: ice whelps have a new dangerous ability which theyll use once their
enraged meter is full
/🆑
* basic ice whelps
* Modular paths
---------
Co-authored-by: SMOSMOSMOSMOSMO <95004236+SmoSmoSmoSmok@users.noreply.github.com>
Co-authored-by: Giz <13398309+vinylspiders@users.noreply.github.com>