* Splits ballistic firearms "mag_type" into "accepted_magazine_type" and "spawn_magazine_type", fixing a few funny magazine bugs (#76973)
## About The Pull Request
As the title says, mag type has been split into two variable that do
different things:
Accepted magazine type handles what magazines that gun will accept, type
and any subtypes. If spawn magazine type isnt defined, then it will be
made equal to accepted magazine type to prevent having to double define
magazines on every gun ever.
Spawn magazine type is separate from accepted magazine type, spawn
magazine type is what magazine the gun will actually spawn with. This
exists because there are a few weapons which are made to spawn with
special magazines, that can't use normal magazines anymore. For example,
the riot dart pre-loaded donk soft pistol can only ever be reloaded with
the riot subtype of donk soft magazines at the moment. This isn't
typically something people notice because new magazines are usually not
a thing people come by with these specific weapons, but its a problem I
noticed while coding some weapons.
## Why It's Good For The Game
In short, certain weapons (mostly donksoft weapons, but there's a single
traitor pistol subtype that spawns with fire ammo) will no longer be
limited to the exact subtype of magazine they spawned with, allowing
them to use the normal versions of those magazines as well.
## Changelog
🆑
refactor: The mag_type variable on guns has been split between
accepted_magazine_type and spawn_magazine_type, allowing weapons to
safely spawn with subtypes of their normal magazines without breaking
the weapon
fix: Several weapons that spawned with special magazines, the riot dart
pre-loaded donk pistol for example, will now be able to accept normal
donksoft magazines that don't spawn loaded with riot darts.
/🆑
* Splits ballistic firearms "mag_type" into "accepted_magazine_type" and "spawn_magazine_type", fixing a few funny magazine bugs
* merge conflict
* merge conflict continued
---------
Co-authored-by: Paxilmaniac <82386923+Paxilmaniac@users.noreply.github.com>
Co-authored-by: Giz <13398309+vinylspiders@users.noreply.github.com>
* Material container & related stuff ui refactors & clean-up (#76220)
## About The Pull Request
**1. Material container clean-up & refactor**
- Replaced `total_amount` var with `total_amount()` proc, this var can
be easily computed by summing up all material amounts rather than
storing it as a var which is tedious to update & keep track of when
materials are added/removed
- Removed unused procs `transer_amt_to()`, `can_insert_amount_mat()`,
and `get_categories()`. These procs are not used anywhere in the
codebase so let's remove them & make some space.
- Callbacks are replaced with signals, the callbacks don't need to be
explicitly garbage collected & having macros & procs marked with
`SIGNAL_HANDLER` makes your intentions more readable & explicit.
- Fixes#76151
All material adding, removal, checking operations are "Integer"
operations, i.e. the final value is rounded & them made 1 if the final
value is 0 using the macro `OPTIMIZE_COST`[coudn't come up with a better
name]. No more dealing with decimal value materials
The problem was after the protolathe was upgraded with better parts all
the design costs were multiplied with a decimal `efficiency_coeff`
value, this means even though in the UI the cost was displayed as 60
bluespace crystals its actual cost was `60.0001` something in the
backend causing this check for materials to fail & print the error
message.
- Replaced `GetComponent(/datum/component_material_container)` with just
a simple ref to the material container when adding the component, so we
can save some overhead from calling this proc
- Gave all procs a ton of documentation with documentation having
documentation
- Fixes#76506 RCD and other devices that uses the silo link upgrade now
have the correct material usages
- Fixes#72096. It wasn't just a problem with ancient protolathe but
with all machines that used `datum/component/remote_materials` the
problem was remote materials would add an instance of
`datum/remote/material_container` if it wanted to use local storage but
this component would get added before `datum/component/remote_materials`
could be registered i.e. it comes before remote_materials in the
component list. So when the machine is destroyed it will first destroy
`material_container` & then `remote_materials` therefore destroying the
materials before they could get ejected
- Silo link is established when parent is registered with remote
materials raher than adding an external timer which is faster
- Everything that uses a material container will auto eject their sheets
when destroyed
- Moved this & remote materials into its own folder for better
organization
**2. Material UI Changes**
- Removed the x25 & x50 print buttons from the autolathe, now they just
have x5 & x10 buttons like the protolathe, These buttons were of no use
since you could just type the exact amount you want to print in the
`[Max: <some amount>]` side bar. The code to compute these buttons was
just plain right nasty & some of it unused in the UI.
- The material eject button in the material bar does not gray out when
you can eject exactly one sheet
- All material cost are integer values rounded
- Fixes#76253 Exosuit Fabricator sends the material container static
data to the UI so its material bar is not greyed out when there are
sufficient materials to eject
- Component printer material bar sends the material container static
data to the UI so its material bar is not greyed out when there are
sufficient materials to eject
- Autolathe Material bars now display number of sheets available
- Max printable amount of items are now computed & updated correctly in
the UI. They were displaying wrong values & now get updated when items
are printed, materials are removed
- Silo hold actually works now. When a machine is put on hold it calls
this proc
e929cf39cd/code/datums/components/remote_materials.dm (L78-L87)
Notice how the key is `src` so we should be consistent during checking
if a machine is on hold using the same `src` var. But for some reason we
did dumb shit like this
e929cf39cd/code/datums/components/remote_materials.dm (L150-L153)
What is category? Why do we care for the area the machine is in? None of
it made sense so i removed all that junk and just made it check for
`src` like it should
- Removed redundant `removable` & `sheets` var from the material
container ui_data. These vars are unused in the UI
- If an item does not have the required materials then upon clicking
that item you will not get any error message but instead nothing happens
## Changelog
🆑
fix: items can be printed from autolathe & protolathe when the exact
material amounts are present in them after upgrading
fix: max printable amount now shows the correct value & updates when
items are printed, materials are removed in the autolathe & protolathe
fix: component printer material bar is not greyed out when there are
sufficient materials to eject
fix: rcd and other devices that uses the silo link upgrade now have the
correct material usages
fix: silo hold actually works
fix: machines using local storage to hold materials will eject it's
materials as sheets when deconstructed/destroyed
refactor: Autolathe Material bars now display number of sheets available
refactor: printing an item that does not have enough materials will fail
silently with no error messages
refactor: Drone dispenser will eject sheets upon deconstruction
refactor: all things that store materials will auto ejects its sheets(if
there is sufficient material) when destroyed
refactor: inserting an item into the material container will display the
units consumed as sheets not absolute units
refactor: removed x25 & x50 print buttons from the autolathe
* Material container & related stuff ui refactors & clean-up
* Update ammo_workbench.dm
---------
Co-authored-by: SyncIt21 <110812394+SyncIt21@users.noreply.github.com>
Co-authored-by: Giz <13398309+vinylspiders@users.noreply.github.com>
* [NO-GBP] Space IRS fixes and rebalances (#77031)
## About The Pull Request
Fixes the following things:
1. Fire alarms so pirates don't get stuck in their own ship
2. Fixes turret control starts out as unlocked
3. Adds more clarity to their armor to indicate their lack of space
worthiness
Also re-balances their vest to be bulky.
## Why It's Good For The Game
fixes the issues I saw appeared when I observed them. simple as. the
sample size is a mind-boggling 2 (two) so please point out any more
issues that you know of.
Also changed the suit weight class to bulky to encourage them using it
from the start
## Changelog
🆑
fix: some fixes to spess IRS pirates.
balance: IRS armor is now bulky
/🆑
* [NO-GBP] Space IRS fixes and rebalances
---------
Co-authored-by: Singul0 <127663818+Singul0@users.noreply.github.com>
* made the bee a basic insect (#76971)
## About The Pull Request
the bee now a baisc insect he will now go to find his home and he will
go and pollinated the plants and helped the queen make children by
polliniting the plants and he will. the queen will leve the hive more
rarely than the normal bees so she can stay in the hive to make kids
## Why It's Good For The Game
the bee now is a basic insect so it means he have a better ai
## Changelog
🆑
balance: the bee now can fly over the machines so its easy for him to go
to the hydroponics machine
fix: player bees now will not be stuck inside the hive if he entered it,
they can now leave it
fix: fixed a har deleted when the hive is deleted all the bees still
have a refence to the hive now its fixed
fix: now when a player interacted with the bee hive the bees will now
leave the hive to defend the hive (it was glitched)
refactor: the bees now are a basic insect.
/🆑
* made the bee a basic insect
* Merge conflict
---------
Co-authored-by: Ben10Omintrix <138636438+Ben10Omintrix@users.noreply.github.com>
Co-authored-by: Giz <13398309+vinylspiders@users.noreply.github.com>
* Re-adds medal code I accidentally removed (#76992)
## About The Pull Request
In
79c57e3d14
, I snapped all of the medal awarding code out of existence, as I
thought I moved it all over to attach, which I did
But I forgot to move the... rest of it over. The attacking part. Very
foolish of me.
I re-added it into pre-attack, gave accessories `nobludgeon`, and
generally cleaned it up a bit.
## Why It's Good For The Game
Accidentally removing code is bad
## Changelog
🆑 Melbert
fix: Once again you can award people medals.
/🆑
* Re-adds medal code I accidentally removed
---------
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
* Fixes inconsistency in security hat armor berets/softcaps (#76986)
## About The Pull Request
Brings soft sec headgear softcaps/berets more in line with eachother in
armor
## Why It's Good For The Game
More consistent armor values for "cosmetic" security gear instead one
cosmetic hat being better then the other(even though they should serve
the same values)
## Changelog
🆑 Improvedname
fix: Brings security berets down to softcap armor values also softcaps
get wound armor
/🆑
* Fixes inconsistency in security hat armor berets/softcaps
---------
Co-authored-by: jughu <melvin2626@live.nl>
* Adds in the smoothbore disablers.
* Resolve merge conflicts + ammo HUD stuff
* No better way to do this than a skyrat edit since the proc sleeps
* Fixes a changed path
---------
Co-authored-by: CRITAWAKETS <sebastienracicot@hotmail.com>
Co-authored-by: Giz <13398309+vinylspiders@users.noreply.github.com>
* allows surgery caps to toggle hair visibility (#76906)
## About The Pull Request
Allows doctors to choose between looking like a baldie and letting their
hair peek out.

**By default** the original behaviour of hiding all hair remains. Using
the cap in your hands you can "loosen" the strings which toggles the
visibility of the hair.

(Outdated image, now uses a balloon alert instead of a to_chat)
It's also on a short do_after so you can't just spam flip it back and
forth, plus you have to actually take it off to fiddle with it.
## Why It's Good For The Game
We can already wear uniforms "casually" by alt clicking them, this is
just something similar but for caps.
Creates opportunities for CMO's to yell at their doctors for not keeping
their uniforms up to scratch.
Also fashion idk.
## Changelog
🆑
add: You can now toggle the visibility for hair on your noggin when
wearing surgery caps.
/🆑
---------
Co-authored-by: MrMelbert <51863163+MrMelbert@ users.noreply.github.com>
* allows surgery caps to toggle hair visibility
---------
Co-authored-by: coldud13 <coldud13@users.noreply.github.com>
Co-authored-by: MrMelbert <51863163+MrMelbert@ users.noreply.github.com>
Co-authored-by: Bloop <vinylspiders@gmail.com>
<!-- Write **BELOW** The Headers and **ABOVE** The comments else it may
not be viewable. -->
<!-- You can view Contributing.MD for a detailed description of the pull
request process. -->
## About The Pull Request
Buffs HoS armour so that it's not **worse** than regular security vests.
## Changelog
HoS armor now has 40 melee, 35 bullet, and 40 laser protection. For
reference, it used to be 30 armor for all of them.
For comparison, security vests are 35, 30, 30. Captain's carapace is 50,
40, 50.
<!-- If your PR modifies aspects of the game that can be concretely
observed by players or admins you should add a changelog. If your change
does NOT meet this description, remove this section. Be sure to properly
mark your PRs to prevent unnecessary GBP loss. You can read up on GBP
and it's effects on PRs in the tgstation guides for contributors. Please
note that maintainers freely reserve the right to remove and add tags
should they deem it appropriate. You can attempt to finagle the system
all you want, but it's best to shoot for clear communication right off
the bat. -->
🆑
balance: HoS armor now has slightly better protection values than
regular security gear, instead of being worse.
/🆑
<!-- Both 🆑's are required for the changelog to work! You can put
your name to the right of the first 🆑 if you want to overwrite your
GitHub username as author ingame. -->
<!-- You can use multiple of the same prefix (they're only used for the
icon ingame) and delete the unneeded ones. Despite some of the tags,
changelogs should generally represent how a player might be affected by
the changes rather than a summary of the PR's contents. -->
---------
Co-authored-by: nevimer <77420409+nevimer@users.noreply.github.com>
* New traitor item: Polarized Contacts (#76752)
## About The Pull Request
Adds a new simple but sweet traitor item for 3 tc, polarized contacts.
Use them in hand to upgrade your eyes to have +tier 2 flash resistance.
Single use.
Now if you have welder protection of 2 or higher, and someone checks
your eyes with a flashlight, your pupils to not dilate. This is
potentially possible non-antagonistically through the use of upgraded
robotic eyes.
## Why It's Good For The Game
The idea behind this change is to allow traitors some counterplay
against revolutionaries and security. If a traitor thinks they are about
to go into combat with people with flashes, they will be rewarded for
preparing. It also fills a similar role as no-slip shoes as being a low
cost but always nice to have passive item, which I don't think we have
enough of.
Its arguable that this should only be worth 2 tc to be on-par with
noslips, or that it should be more because flash protection is more
valuable.
## Changelog
🆑 itseasytosee
add: A new traitor item has been added, Polarized Contacts!
/🆑
---------
Co-authored-by: Sealed101 <cool.bullseye@ yandex.ru>
* New traitor item: Polarized Contacts
---------
Co-authored-by: itseasytosee <55666666+itseasytosee@users.noreply.github.com>
Co-authored-by: Sealed101 <cool.bullseye@ yandex.ru>
SPECIES NUKING 2023: Head flags 2: Electric Boogaloo (#76298)
Continues the work I started on
https://github.com/tgstation/tgstation/pull/76074
Fixes https://github.com/tgstation/tgstation/issues/73782
Implements a bunch of wrapper procs for hair style, facial hair style,
etc etc the whole nine yards.
Fixes many issues, especially with gradients because I did sloppy tired
code that didn't work there.
Makes head/get_limb_icon() not a disgusting mess (well, at least makes
it less of a disgusting mess).
Actually makes hair and lips depend entirely on the bodypart.
🆑
refactor: Head rendering code has been updated significantly... Again.
Please report any issues with hair, facial hair, lipstick and such.
/🆑
Co-authored-by: ChungusGamer666 <82850673+ChungusGamer666@users.noreply.github.com>
* Adds an extra malf AI ability: Remote emagging. Also tidies up emag code and coverts a lot of things to balloon alerts
* Update communications.dm
* Modular override
* Some modular adjustments, removes 'emagged' vars in favor of obj_flags
* whoops, mobs don't have obj_flags.
---------
Co-authored-by: nikothedude <59709059+nikothedude@users.noreply.github.com>
Co-authored-by: Giz <vinylspiders@gmail.com>
Adds Bandana toggle info to examines (#76512)
Didn't realize bandanas could be used in-hand AND alt-clicked for two
different results
Co-authored-by: OrionTheFox <76465278+OrionTheFox@users.noreply.github.com>
* Rewrites anti-magic slightly to stop spamming anti-magic effects on the same mob to silly levels (#76616)
## About The Pull Request
Moves anti-magic effect off of the component and onto the mob. Fixes
some bugs while there.
Anti-magic effects will now only trigger on calls with a charge cost
associated.
If the user is under the effects of.. an antimagic effect, a new one
will not play. This cuts down on overlay and sound effect spam from
walking through forcewall or spacetime distortion, for example.
## Why It's Good For The Game
I just found it a little annoying to see a chaplain walk through a magic
effect and it just spams the fart sound over and over on repeat and
makes them completely impossible to see.
## Changelog
🆑 Melbert
fix: Anti-magic visual effects will no longer trigger overtop one
another
/🆑
* Rewrites anti-magic slightly to stop spamming anti-magic effects on the same mob to silly levels
---------
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
* Adds a new heavy weight space pirate variant: The space IRS!
* Fix merge conflicts, UpdatePaths
* Fixes some path changes
* Updates icon files, adds a new sprite for breacher slug box illustration
* Removes some skyrat edits and puts them in modular overrides instead
---------
Co-authored-by: Singul0 <127663818+Singul0@users.noreply.github.com>
Co-authored-by: Giz <vinylspiders@gmail.com>
* Makes bodytype a carbon mob variable, not a species variable
* Dealing with more conflicts
* Actually makes shit compile
* 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?)
* Other fixes that were required for shit to compile
* Revert "Fixes carbon bodytypes not always being synchronized with bodyparts (#76522)"
This reverts commit 6a029bcb16e279c716066452fa2905eed141c1d1.
* Revert "Other fixes that were required for shit to compile"
This reverts commit f8f8bb0ec7e2b3fb4e398b6c4bf76abc5fad551d.
* Please no constant monke
---------
Co-authored-by: ChungusGamer666 <82850673+ChungusGamer666@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
* The Laser Musket (2023) (Settlement Helper Edition) (#76231)
## About The Pull Request
This adds a craftable laser musket to the game. It's slow and unwieldy,
but consistent! I'd be happy to tweak the numbers if it's too good/bad.
This PR also adds an independent militia ERT, who travels the spinward
sector to help defend stations!
TO DO LIST:
- [x] Finish worn sprites
- [x] Add a crafting recipe on par with the pipegun
- [x] Add bayonets
- [x] Separate charging into two stages and REDO THE AUDIO AAAA
- [x] Clean up code (Needs review, totally)
Scrapped:
- Possibly add overcharge mechanic (This is just beyond my skill level
for now)
- Find a unique sound for the weapon firing (We have a unique
projectile, and I can't a sound that fits more than the laser gun one)





Inhands by RedSentry27
Suit sprite by Kinnebian
Prime Laser Musket sprites by RedSentry27
Balance Considerations (ew):
25 damage (30 on prime)
Normal wound
40 Stamina damage (45 on prime)
Weak to armour (prime not weak to armor)
2 second charge time, needs to be charged twice
No overcharge
Requires two hands to hold (like a chainsaw)
Crafting Recipe:
One rifle stock
Fifteen Cable Coils
Four Iron Rods
One micro laser
One capacitor
One pair of prescription glasses
One drinking glass
Craft for 10 seconds with a wirecutter and screwdriver
Prime crafting recipe: (REQUIRES READING MAINTENANCE LOOT: "journal of a
space ranger")
One laser musket
Fifteen cable coils
Five silver
One water recycler
Fifteen units of nuka cola
Craft for 30 seconds with a screwdriver while wearing cowboy boots and a
cowboy hat
## Why It's Good For The Game
The idea of assistants and revs forming firing lines in the halls to
shoot eachother sounds hilarious. Besides, we need a parallel to the
pipegun, and this is the funniest way to do so.
## Changelog
🆑 Cheshify, Kinnebian, and RedSentry27
add: Maintenance engineers have sent out blueprints across the sector
for a new laser musket.
admin: A new energy-gun toting ERT is available to send to the crew.
---------
Co-authored-by: carlarctg <53100513+carlarctg@ users.noreply.github.com>
* The Laser Musket (2023) (Settlement Helper Edition)
* Update guns.dm
* Update guns.dm
* Fixes vox/teshari greyscale config paths
---------
Co-authored-by: Cheshify <73589390+Cheshify@users.noreply.github.com>
Co-authored-by: carlarctg <53100513+carlarctg@ users.noreply.github.com>
Co-authored-by: Pinta <68373373+softcerv@users.noreply.github.com>
Co-authored-by: Bloop <vinylspiders@gmail.com>
* Refactors mind language holders into non-existent, fixes new languages being deleted on species swap + tests
* Fixing merge conflicts
* don't forget to ctrl+s!
* Another forgotten file
* urgh
* gets rid of vestiges of update_atom_languages()
and mind language holders
* No longer needed
* Fixes some modular grant_language calls
* Deprecated code
* This was up here before..
* Fixes failing unit tests, refactors silverscale lizards language a bit removing the need for skyrat edits
Removes some no longer needed code
---------
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Pinta <68373373+softcerv@users.noreply.github.com>
Co-authored-by: Giz <vinylspiders@gmail.com>
* Icon folder cleaning wave one
* Fixe a merge conflict
* Fixes some more merge conflicts
* Fixes some modular icon paths
* Fixes even more modular icon paths...
Hopefully that's the last of them
* Fixes some merge discrepencies
* More merge issues
* ok
* not ok
---------
Co-authored-by: YesterdaysPromise <122572637+YesterdaysPromise@users.noreply.github.com>
Co-authored-by: Giz <vinylspiders@gmail.com>
* Merge branch 'master' of https://github.com/Skyrat-SS13/Skyrat-tg into upstream-merge-76184
* Akula's are angry apparently
* Video Search is a liar
* wetsuit pain
* Plasmaman Clown's clothes is now swabable. (#76758)
## About The Pull Request
Added swabable component to plasmaclown's cloth so you can get clown
microbes from it. Copypasted all parameters so its discussable.
Also added plasmaclown's helmet and gloves to the list of phobia. It
already has envirosuit so why wouldn't it have helmet and gloves?
## Why It's Good For The Game
More clownsteins.
## Changelog
🆑
add: You can now swab plasmaman clown clothes to get clown microbes.
add: Clown phobia makes you fear plasmaman clown's gloves and helmet.
/🆑
* Plasmaman Clown's clothes is now swabable.
---------
Co-authored-by: Helg2 <93882977+Helg2@users.noreply.github.com>
* Coroner additions and tweaks (#76534)
## About The Pull Request
Serrated bone shovels can be created with any kind of shovel now, not
just a spade (???)
Serrated bone shovels can be used in place of circular saw in most
surgeries.
Added a duller (still deadly) variant of the serrated bone shovel as
coroner mail.
Autopsy scanners now act as advanced health analyzers on dead and
seemingly-dead people.
Increased the force, throwforce, and wound bonus of inert ritual knives
and scythes.
Coroner gloves can quickly apply medicine like nitrile gloves.
## Why It's Good For The Game
> Serrated bone shovels can be created with any kind of shovel now, not
just a spade (???)
Weird ass bug.
> Serrated bone shovels can be used in place of circular saw in most
surgeries.
It's serrated, it's cool, it's rare, it has a fast toolspeed.
> Added a duller (still deadly) variant of the serrated bone shovel as
coroner mail.
Very thematic for the coroner, should probably also be a heirloom item
but whatevs. Weaker so there's still a reason to seek out the OG.
> Autopsy scanners now act as advanced health analyzers on dead and
seemingly-dead people.
Scanning corpses is pretty important during surgery - it tells you how
much blood they have, organ damage, diseases... these things don't
appear in the surgical computer readout, which means the coroner has to
go out of his cave to pick up a boring light blue meatbag wound scanner.
This also incentivizes coroners to do their job by giving them something
cool that only works on dead bodies.
> Increased the force, throwforce, and wound bonus of inert ritual
knives and scythes.
These two options in the MortiDrobe are pretty frickin' badass,
especially with how SICK the Coroner looks with them, double especially
in combat.

However, there's the large issue that as actual weapons they're really,
really weak. Not enough damage, when I use them in combat I both feel
badass but also get a nagging feeling in the back of my mind that I'm
intentionally gimping myself, and with only 10 damage I can *really*
feel it. I find it unfair that these are objectively worse than a
welding tool or even a Butcher's Cleaver when they're a lot more
involved to find, and scarce besides. These arguments apply equally to
the Wizard's ritual knife, and the scythe.
Additionally on the scythe, the crew really needs more good ghetto
weaponry that isn't the boring same ol' of baseball bats, spears,
cleavers... and making scythes useful is a great way to help bridge that
gap. They deal a satisfying amount of damage now, with the clear
downside, of course, being that they're bulky and hard to lug around.
> Coroner gloves can quickly apply medicine like nitrile gloves.
'Fast medicine' doesn't just cover sutures, it also covers medical gel.
Specifically, sterilizer gel. I find it annoying that the Coroner is
encouraged to give up his drip for the boring life-saver nitrile gloves,
because the difference in applying time really does make a difference -
it makes gel applying go from annoying to smooth, which is important
considering the whole purpose of sterilizer gel is to make surgeries go
faster. The Coroner has surgery and thus medical locker access to begin
with, so this isn't a balance problem, (and nitrile gloves are found by
the dozen anyways) especially with how rare the coroner gloves are.
## Changelog
🆑
fix: Serrated bone shovels can be created with any kind of shovel now,
not just a spade (???)
add: Serrated bone shovels can be used in place of circular saw in most
surgeries.
add: Added a duller (still deadly) variant of the serrated bone shovel
as coroner mail.
add: Autopsy scanners now act as advanced health analyzers on dead and
seemingly-dead people.
add: Increased the force, throwforce, and wound bonus of inert ritual
knives and scythes.
add: Coroner gloves can quickly apply medicine like nitrile gloves.
/🆑
* Modular Scythes
---------
Co-authored-by: carlarctg <53100513+carlarctg@users.noreply.github.com>
* Bibles, Lighters, and Cowboy Hats can block bullets (#76521)
## About The Pull Request
If you are wearing a bible or lighter in your suit slot, or a cowboy hat
on your head, there is a small (2%) chance that bullets (only bullets,
not lasers) will hit them instead of you.
This destroys lighters, removes the storage capacity of the bible, or
sends the hat flying off your head.
The Bounty Hunter's cowboy hat has a significantly higher chance to
intercept bullets.
## Why It's Good For The Game
Adds some fun flavour to these items.
## Changelog
🆑
add: A bible or lighter in your suit slot, or cowboy hat on your head
will occasionally intercept a bullet.
/🆑
* Bibles, Lighters, and Cowboy Hats can block bullets
---------
Co-authored-by: Jacquerel <hnevard@gmail.com>
Co-authored-by: Bloop <vinylspiders@gmail.com>
* Fixes explorer drone trader asking for "suit" (#76695)
There was an oversight with one of the explorer drone trader events who
wants /obj/item/clothing/suit/armor (base armor path) which currently
doesn't have its own name so it gets referred to by the inherited name
from /obj/item/clothing/suit in game. I've given it the proper generic
name "armor" so this sort of thing won't happen in the future.
Ran into a player doing explorer drone who tried using different types
of clothing because the trader asked for "suit" and not even the admins
online knew what it meant. This will clear things up and stop similar
confusion in the event any code needs to refer to the base armor path by
name.
* Fixes explorer drone trader asking for "suit"
---------
Co-authored-by: TerraGS <40574831+TerraGS@users.noreply.github.com>
* Makes hoods into a component (#75977)
## About The Pull Request
Refactors the behaviour of "one clothing item deploying another clothing
item" from `/obj/item/clothing/suit/hooded` and makes it into a
component.
This allows you to make hooded items which are not part of that
typepath. It also means you could make (for instance) a hat which can
deploy a pair of sunglasses into the eye slot or a jumpsuit with
deployable clown shoes or something.
I need to pass in an assload of callbacks because we have a bunch of
special hoodies that want to do things when you raise and lower the
hood, but for a normal item you would not need these.
## Why It's Good For The Game
Frees people from the tyrrany of typepaths, mostly.
Plausibly you could use it to do something fun we don't currently do.
## Changelog
Not player facing, hopefully. As long as I did this all right.
* Makes hoods into a component
* [no gbp] Fixes item action buttons
* Update items.dm
* Fix mirror 22129
* Some last minute updates -- comment and small optimization
---------
Co-authored-by: Jacquerel <hnevard@gmail.com>
Co-authored-by: SkyratBot <59378654+SkyratBot@users.noreply.github.com>
Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
* Command and Centcom plasmamen envirosuit helmets get armor. (#76423)
The HoS gets armor values for their envirosuit helm, it would only be
fitting if the rest of command had their envirosuit helmets have armor
as well.
* Command and Centcom plasmamen envirosuit helmets get armor.
---------
Co-authored-by: FunnyToilet <117867244+Funnytoilet@users.noreply.github.com>
* SPECIES NUKING 2023: Refactors a bunch of species traits into flags for the head bodypart
* Makes it all compile, for now
* Fixes eye emissives not working right.
* Fixes the plasmaman head (oof conflicts)
* Fixes the screenshot tests
---------
Co-authored-by: ChungusGamer666 <82850673+ChungusGamer666@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
* Improves spacepol jumpsuit wound armor from 5 to 10 (#76513)
## About The Pull Request
I was looking at uniform code and noticed that spacepol jumpsuits didn't
have 10 wound armor like the rest of the security jumpsuits in the file
it's in.
## Why It's Good For The Game
Improving the wound armor of spacepol jumpsuits makes it more consistent
with the other security uniforms and slightly increases spacepol
survivability considering they don't have any medicine.
* Improves spacepol jumpsuit wound armor from 5 to 10
---------
Co-authored-by: Vincent983 <124026007+Vincent983@users.noreply.github.com>
Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
* Doctors surgical caps hides hair (#76303)
## About The Pull Request
Simple pr that makes the doctors surgical cap hide your hair.
## Why It's Good For The Game
Less hair in patients insides.
But actually, I think this looks better, and it opens some more
possibilities to go incognito as a doctor.
Plus, that's what a surgical cap is supposed to do!
## Changelog
🆑 Seven
add: Surgical caps now actually hide your hair
/🆑
* Doctors surgical caps hides hair
---------
Co-authored-by: Lufferly <40921881+Lufferly@users.noreply.github.com>
* Simple suit storage fixes (#76267)
## About The Pull Request
Makes toys, stamps, and spacecash invisible in suit storage, fixing some
missing textures
adds stamps to the allowed suit storage items for hop, qm, and cargo
wintercoats
## Why It's Good For The Game
The /datum/unit_test/suit_storage_icons failure list is awfully long,
and while some of them require more thoughtful fixes, just these couple
of lines clears more than 100 lines from the failure list.
While I was here I added the stamps to the allowed suit storage for hop,
qm, and cargo wintercoats cause that seems fair
## Changelog
🆑 Seven
fix: toys, stamps, and spacecash no longer has a missing texture when
put into suit storage
qol: stamps are now allowed suit storage items in the hop, qm, and cargo
wintercoats
/🆑
* Simple suit storage fixes
* Fixes the issue with tennis balls not showing up properly
---------
Co-authored-by: Lufferly <40921881+Lufferly@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
* Rat RP expansion (#76455)
## About The Pull Request
This fixes a vile and long-standing bug where putting a mouse inside
your hat would not allow the mouse to control your movements, as it
would pop out of the hat whenever it tried to move.
Additionally as a feature this allows a mouse sitting on your head to
convey complicated instructions such as "scream" or "do a flip", via
emoting. Through drift compatibility, the rat's living mech will also
perform this action.
I could have made this into a component but there's no fucking way any
other item is going to have this behaviour, so I didn't.
## Why It's Good For The Game
This feature was already in the game but broken and I want it not to be
broken.
The mouse should be able to control your entire life.
## Changelog
🆑
fix: Placing a mouse inside your chef hat will once more allow it to
pilot you around.
add: A player-controlled mouse inside your chef hat can compel you to
perform complex actions, such as flipping and spinning. You will obey
because the mouse knows better than you do.
/🆑
* Rat RP expansion
---------
Co-authored-by: Jacquerel <hnevard@gmail.com>
* Nerfs summon stickman spam (#76119)
Weakens stickman summoned from the summon stickman spell.
Its very toxic to play against it only encourages spamming stickmen who
die from 4 laser shots(even after the laser gun buff) This will lower
them to be either 1 hittable or 2 hittable depending what weapon you
have available as exchange of how fast they can be summoned.
Most people who do paper wizard tend to cheese it one or the other way
either trough atmos or having self revives as for example a changeling.
🆑 Improvedname
balance: Weakens summoned stickmen to be 1 or 2 hit
/🆑
* Nerfs summon stickman spam
---------
Co-authored-by: jughu <melvin2626@live.nl>
* Useful Stethoscopes and Penlights (#75800)
## About The Pull Request
This PR overhauls and adds functionality to Stethoscopes and Flashlight
examinations (i.e. shining a penlight into someone's eyes/mouth).
Stethoscope Changes
- Dynamic results based on targeted body part.
- Chest: Assess whether the heart is beating, whether it is damaged
(above 10 dmg), and whether or not the player has suffered severe blood
loss. Assess whether the player is breathing, has lung damage (above
10dmg), and whether or not they have suffocation damage (above 10dmg).
- Head/Extremities: Assess heart function as above, and blood level
(nominal/low/critical).
- Groin: Assess whether or not the liver or the appendix have suffered
damage (above 10dmg). (The latter is only detectable if the patient is
conscious)
Flashlight Changes
- Eyes: Assess whether the patient is dead, has sustained brain damage
(above 20dmg), or has an X-Ray mutation.
- Mouth: Assess mouth organs, dental implants, suffocation damage (above
20dmg), and blood volume (nominal/low/critical)
## Why It's Good For The Game
Adds some proper functionality to two very rarely used tools.
Loosens up medical players' dependence on health analyzers to assess
their patients Provides an alternative, if manual and less accurate,
means of assessment.
For players interested in a more hands-on, RP focused approach to medbay
(or those in areas without power to recharge analyzers); I think this
will be a welcome addition.
## Proof of Testing
<details>
<summary>Screenshots/Videos</summary>
https://github.com/tgstation/tgstation/assets/107971606/43e87774-6db5-4db1-b7fa-92c3565c1009https://github.com/tgstation/tgstation/assets/107971606/9ec42cc4-a996-4d60-a6f1-1aecf24b9bc8
</details>
## Changelog
🆑
add: Stethoscopes may be used on the chest, groin, or extremities to
assess organ damage, blood level, and/or suffocation damage depending on
the targeted area.
add: Shining flashlights into the mouth or eyes of other players will
additionally assess brain health, suffocation damage, and/or blood level
depending on the targeted area.
balance: Halves the duration of the flash effect from shining lights
into players' eyes (2s -> 1s). Use combat mode to get the full duration.
/🆑
---------
Co-authored-by: MrMelbert <51863163+MrMelbert@ users.noreply.github.com>
Co-authored-by: Jacquerel <hnevard@ gmail.com>
* Useful Stethoscopes and Penlights
---------
Co-authored-by: LovliestPlant <107971606+LovliestPlant@users.noreply.github.com>
Co-authored-by: MrMelbert <51863163+MrMelbert@ users.noreply.github.com>
Co-authored-by: Jacquerel <hnevard@ gmail.com>
* Adds wound armor to ALL jumpsuits that were missing it (#75956)
## About The Pull Request
Adds wound armor to ALL jumpsuits that were missing it.
Every jumpsuit, by default, has 5 wound armor. However, because for some
godforsaken reason armor datums don't use subtypes (seriously, the
fuck?), the vast majority of jumpsuits weren't updated to have anything
in case they overrode the base armor.
This includes critical oversights such as any nonstandard jumpsuit meant
to be armored (Tracksuits, turtlenecks, admin suit, tgmc suit). This is
especially critical a problem on nuclear operatives, who face a lot of
combat every round and need that wound armor.
Any nonstandard jumpsuit that also protects from departmental hazards
doesn't recieve the wound armor, this is seemingly reasonable with, say,
medical jumpsuits, but starts to get weird when it includes engineering,
botany, the RD, CMO, and CE..
Plasmaman envirosuits also don't by default. This may or may not be on
purpose but I added it on them just in case.
Armored jumpsuits that didn't have the wound resistance now have 10,
instead of the base 5, since they're meant to be, well, armored. This
might also make durathread useful for something (lol, as if)
## Why It's Good For The Game
Consistency. It's very inconsistent that 'wound' armor randomly pops in
and out of places ingame. It requires you to think like a space whale to
figure out what's the Best Combat Uniform rather than picking what
SHOULD be the right choices.
## Changelog
🆑
fix: Adds wound armor to ALL jumpsuits that were missing it
/🆑
* Adds wound armor to ALL jumpsuits that were missing it
---------
Co-authored-by: carlarctg <53100513+carlarctg@users.noreply.github.com>
* Makes sechailers/SWAT masks work with gas filters (#76147)
it was missing a GAS_FILTERING lmao lol even
## Why It's Good For The Game
fixes#75218
that also probably means that plasmeme special filters in the sechailers
were not operational lmao
## Changelog
🆑
fix: fixed sechailers/SWAT masks not using the installed air filter
/🆑
* Makes sechailers/SWAT masks work with gas filters
---------
Co-authored-by: Sealed101 <cool.bullseye@yandex.ru>
* Makes decals only caught on mapload & removes turf_loc_check (#76130)
Theres one player-facing change in this PR and it's that I removed human
gibs from being valid in space turfs, making it more consistent with the
other gib decals.
I've cleaned up many instances of decals spawning in bad turfs on
mapload in https://github.com/tgstation/tgstation/pull/75189, but making
it error anytime in-game a decal is put over an invalid turf is bad as
it punishes contributors for not optimizing their decals properly.
This changes it so it only errors if it's on mapload, unit testing or
not.
I've also removed ``turf_loc_check`` and replaced instances of it with
overwriting ``NeverShouldHaveComeHere``, which gives us greater control
of where decals can be placed.
This let me remove 2 subtypes that were made to have decals in specific
places (which then got placed elsewhere, ruining it all).
Mappers are still able to set decals to be placed anywhere, they just
need to add it as a valid turf for that decal.
* Makes decals only caught on mapload & removes turf_loc_check
---------
Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>