Commit Graph
5161 Commits
Author SHA1 Message Date
Roxy e28e9fbdba Merge branch 'master' of https://github.com/tgstation/tgstation into upstream-23-10-2025 2025-10-23 17:38:23 -04:00
SmArtKarandGitHub db5cb34c96 Fixes jumpsuit sensor repair runtimes (#93555)
## About The Pull Request

Cable was passed as the user

## Changelog
🆑
fix: Fixed jumpsuit sensor repair runtimes
/🆑
2025-10-22 18:41:06 -04:00
dieandGitHub a3ada68c40 gas mask sounds (#93539)
## About The Pull Request


https://github.com/user-attachments/assets/0935997c-bb49-4729-904e-93ca51185f38
## Changelog
🆑
sound: added sounds for gas masks
/🆑
2025-10-23 00:39:42 +02:00
GhomandGitHub ca2cc70322 Organ damage refactor/cleanup (#93436)
## About The Pull Request
So, my original goal was just a refactor for the emissive overlays of
eyes, as a way to implement the specular emissive introduced by smartkar
some time ago, but somehow I found myself dragged into a bigger refactor
or cleanup of organ damage, thresholds, failures. One of the main
problem was that there were no procs called when a organ suffered enough
damage to fail or when recovering from failure. It'd just enable or
disable a bitflag, leaving it up to subtypes to decide how to tackle
organ failure their own ways: diverse, funky and sometimes incompatible.
More often than not relying on their very own "update_thingamajig" kinda
procs that run whenever the organ takes damage, rather than just when
the threshold is reached (low, high, failure. There are however a couple
organs with their own quirky thresholds, I let those slide).

There's also a bit of old code, especially for ears, with the
`AdjustEarDamage` and temporary deafness both predating the framework
for organ damage as far as I know. It really needed a coat of fresh
paint.

Oh, there were also more than a handful of organs that still heavily
relied on some ORGAN_TRAIT source instead of the `organ_traits` list and
the two add/remove procs `add_organ_trait` or `remove_organ_trait`. This
include organs that lose or gain specific traits when failing et
viceversa.

~~Lastly, felinids (and the halloween ghost species) having reflective
eyes. It's just a nod to the tapetum lucidum that animals with night
vision often have (including cats), which is why their eyes are a bit
brighter in the dark. Felinids however, do not have night vision (nor do
ghosts). This is merely cosmetic.~~ Cut out for the time being due to
issues with the specular emissive...

## Why It's Good For The Game
Refactoring / cleaning up old organ code.

## Changelog

🆑
refactor: Refactored organ damage code a little. Hopefully there won't
be issues (otherwise report them).
/🆑
2025-10-21 16:52:28 -05:00
ArchBTWandGitHub cbd8ce6ea7 removes fov cone (oversight?) medieval pirate helmet (#93465)
## About The Pull Request

medieval pirate helmets have an fov cone, i think this is an oversight
because I think fov cones have been made obsolete as a whole for various
reasons, correct me if im wrong if it is not an oversight.
the PR removes the 90' FOV cone

## Why It's Good For The Game

this PR's main focus is simply fixing a potential oversight to do with a
niche helmet that still has an FOV cone

## Changelog

🆑 ArchBTW
fix: removes fov cone (oversight) with medieval pirate helmet
/🆑
2025-10-18 18:37:17 +02:00
dieandGitHub 04d955dcb8 eyegear sounds (#93476)
## About The Pull Request


https://github.com/user-attachments/assets/57bdba6d-a8ca-4f73-a805-478b7370d45d



https://github.com/user-attachments/assets/2293ac58-262e-4290-8a7c-ccc1b4c4d55a
## Changelog
🆑
sound: added sounds for eyewear
/🆑
2025-10-18 17:38:35 +02:00
e5be2d0f91 Sensors can now be printed, removed and installed on jumpsuits. HANDCRAFTED jumpsuits no longer have sensors by default (also mild crafting refactor) (#93121)
Co-authored-by: ArcaneMusic <41715314+ArcaneMusic@users.noreply.github.com>
2025-10-18 11:43:38 +02:00
TwaticusandGitHub 7dfb765db9 Fixes Yukatas & Kimonos on Female Bodytypes (#93483)
## About The Pull Request

Gives the yukatas and kimonos a female sprite flag to fix missing
pixels.
## Why It's Good For The Game

dress broke me fix unga
## Changelog
🆑
fix: Females wearing either a yukata or kimono no longer have holes in
their clothes.
/🆑
2025-10-17 22:33:07 +02:00
Aliceee2chandGitHub 51a01efdab Jaws of Recovery QOL's (#93454)
## About The Pull Request

changelog should say pretty much enough, dont want to double it here.

## Why It's Good For The Game

as paramedic later into the game you'll prefer jaws of life over jaws of
recovery because theyre both silent AND have no area restrictions, but
heres the thing: you cant wear it in suit storage, nor it can act as
bonesetter additionally (why would paramed need wirecutter?) this PR is
aimed to combie both of those jaws into one modified, that would be
useful for paramedic.

also you really should be able to wear them in mod suit storage, trust
me, it sucks to carry paramedic jacket/coat in inventory everytime and
waste time on swapping

## Changelog
🆑
qol: Jaws of Recovery can be worn on medical MODSuit suit storage now.
add: Added modified Jaws of Recovery and recipe for them. Made from
regular Jaws of Life they act like one, without area restrictions and
radio announcements.
/🆑
2025-10-16 09:23:44 -04:00
Roxy d14e538393 Merge branch 'master' of https://github.com/tgstation/tgstation into upstream-15-10-2025 2025-10-15 19:34:41 -04:00
e7abcf98a8 Moves RedSec to our folder (#4800)
## About The Pull Request

Title. To be honest this started as just fixing up some errors I made
with the bomber coats. Woulda fixed them sooner but telling someone on
my own PR that 'I don't care' is apperently ragebaiting.

But that's in the past. This is the future. And the future is red.

I moved everything in the bubber redsec folder to the goofsec folder
where the other reskins are handled. I ported Nova's red variants where
I could. Removed overrides (like the ugly bulletproof helmet and the PDA
colours) and the 'durr no skirt as hos/warden' thing.

I also removed species & joblocks from the Akula outfits. Nothing else
has a species lock and the sprites work perfectly fine on the default
spaceman.
## Why It's Good For The Game

Redsec is better, actually.


## Proof Of Testing

I've tested it but I wasn't sure what exactly to screenshot with the
sheer volume of shit I done. But I tested all I done. It all worked.

## Changelog
🆑
add: Most, if not all sec clothing now properly has a red variant via
the alt click reskin system.
add: Anyone can wear the Akula outfits now.
del: Removed Bluesec PDA override and the ugly bulletproof helmet.
del: HoS and Warden can wear skirts again.
fix: Atmos Bomber no longer hides legs or slows you down.
/🆑

---------

Co-authored-by: Roxy <75404941+TealSeer@users.noreply.github.com>
2025-10-13 01:13:04 -04:00
Xander3359andGitHub bbe729aef7 Converts more attackby's to interactions (#93106)
## About The Pull Request
Converts the following:
- Medical Kiosk
- Implant case
- Flamethrower
- Chemical implant case
- Pappercutter

Also I've looked at some alt click procs and adjusted some of their
returns
2025-10-12 22:40:42 -05:00
da10322dc1 Fix modsuits and defibs (#93373)
## About The Pull Request

Fixes #93359

Caused by #93165

Inventory screen elements were no longer considered reachable, which
broke mousedrop handing on objects that check "is dragging into
inventory slot"

I don't know the best way to fix this yet but I figured the next best
thing would be to make all of these use the `drag_pickup` element, which
skips this reach-ability check

Thus I refactored it slightly to accommodate for items which should
contextually not be drag-pick-up-abble and bam, works like a charm

## Changelog

🆑 Melbert
fix: Dragging defibs and modsuits off your back works again
/🆑

---------

Co-authored-by: ArcaneMusic <41715314+ArcaneMusic@users.noreply.github.com>
Co-authored-by: Xander3359 <66163761+Xander3359@users.noreply.github.com>
2025-10-11 18:17:23 -04:00
necromanceranneandGitHub 86c499ebc3 Adds the Jaws of Recovery, a specialized form of Jaws of Life for paramedics with heavier limitations. (#93021)
## About The Pull Request

Adds the Jaws of Recovery, a form of Jaws of Life. These spawn in
cabinets in medical, similar to the fireaxe and mech removal tool.

Jaws of Recovery have two heads; prying, like a standard set of jaws of
life, and bonesetting.

Jaws of Recovery cannot be used to open windoors, and cannot be used to
open certain restricted doors. These doors include command staff private
offices, any command specific areas, AI upload areas and security areas
that aren't the brig entrance.

Jaws of Recovery also send out an alarm whenever used to open a door
that is of meaningful significance, like a departmental area. This does
not happen when opening maintenance airlocks, public accessible doors,
external airlocks and the auxiliary base.

The standard Jaws of Life and Syndicate Jaws of Death are entirely
untouched and function as expected.

<img width="240" height="177" alt="image"
src="https://github.com/user-attachments/assets/4e661720-25c7-42b5-963d-707b77d3683f"
/>


## Why It's Good For The Game

In my last PR I removed the broad access available to paramedics.
https://github.com/tgstation/tgstation/pull/92751
I have already explained my reasoning as to why this broad access is a
mistake. This is not anywhere close to that broad access being returned.
This is a slow, deliberate interaction meant to create friction when
someone is moving around using this tool.

Now, obviously, the change was something of a kick in the teeth for
paramedics (which I won't apologize for doing). I hadn't received any
moderate alternatives that sounded like a good idea for months. That is,
until the PR was merged and someone told me about how paramedics over on
Baystation have jaws of life, but they alert people over the radio when
they are used. Seemingly they were as much worried about paramedic
tiders as we are, and they're a high roleplay environment. We clearly
invited a problem on our end that they had sought to resolve because
they too realized that it was a mistake to just give the role this
access.

Now, obviously, [RETA exists to get medical staff into an
area](https://github.com/tgstation/tgstation/pull/92753). That's all
well and good and I like that system. This does not detract from that PR
whatsoever either. This is meant to serve as an extra emergency measure
in the event a paramedic REALLY needs to get into an area while trying
to create some kind of accountability for their actions by telling sec
when they start being used to pry open airlocks. If sec doesn't like how
much the paramedic is invading areas without reason, they at least know
where and when they've been going into locations and might be
incentivized to go investigate.

## Changelog
🆑
add: Adds the Jaws of Recovery. One can be found in a locked glass
cabinet in medical. These jaws of life are restricted on what they can
force open, and alert security and medical whenever they are utilized to
pry open departmental doors. They can't be used to open high security
doors whatsoever. And they come with a bonesetter attachment instead of
wirecutters. You know, for power-relocating your arm.
/🆑
2025-10-10 16:44:57 -04:00
MrMelbertandGitHub 4c86487b30 Fixes some sensor inconsistency (#93307) 2025-10-06 13:23:25 +02:00
CursorandGitHub 677171718e Gives the Aerostatic Boots storage (#93306)
## About The Pull Request
Title.

## Why It's Good For The Game

Boots should be consistently storable.

## Changelog
🆑
qol: Aerostatic Boots now have storage, as they're boots actually.
/🆑
2025-10-06 02:53:14 +02:00
TimandGitHub f27682c7e4 Add admin debug goggles to show area blueprints (#91879)
## About The Pull Request
This adds an admin version of meson goggles that lets someone see the
area overlays.


![dreamseeker_yUcjxWEcM8](https://github.com/user-attachments/assets/39f237ea-5d40-4799-a827-7c3b2b9d9eaf)

It has also been added to the admin debug tools.

## Why It's Good For The Game
Useful for construction projects.

## Changelog
🆑
admin: Add admin debug goggles that lets you see area overlays which is
useful for construction projects.
image: Add icons for admin debug goggles (which is just a reskinned
color version of mesons)
code: Improve meson code to be more robust
/🆑
2025-10-05 12:44:15 -07:00
xPokee 8aa39b75f0 Merge branch 'master' of https://github.com/tgstation/tgstation into upstream-sync 2025-10-04 05:28:09 -04:00
MrMelbertandGitHub a82a805727 Fixed suit sensors only working on laundered clothes (#93264)
## About The Pull Request

I don't think I need to explain anything

## Changelog

🆑 Melbert
fix: Equipping clothes adds you to suit sensors correctly if your
clothes are unlaundered
/🆑
2025-10-04 04:39:45 +02:00
xPokee 5e629dff04 Merge branch 'master' of https://github.com/tgstation/tgstation into upstream-sync 2025-10-03 07:05:54 -04:00
MrMelbertandGitHub 44acefa73f More things use trait huds over raw hud management (#93084) 2025-10-02 21:36:40 +02:00
CursorandGitHub c4efcc91de Fixes a mispelling of the word 'adjust' (#93242)
## About The Pull Request

Title.

## Why It's Good For The Game

Words should be spelt right.

## Changelog
🆑
spellcheck: You can no longer 'ajdust' your sensors. Adjusting hasn't
changed, though.
/🆑
2025-10-02 19:12:48 +03:00
MrMelbertandGitHub e350c50a5c Emp prot tags are more specific, also no longer leak stealthy emp protection (#93211)
## About The Pull Request

Fixes #93199

EMP protection now specifies what it protects

Adds an EMP flag for things which should definitely not indicate they
are EMP proof

## Changelog

🆑 Melbert
fix: EMP proof objects now specify what they protect rather than only
implying it's 100% emp proof
fix: Some objects meant to stealthily be emp proof no longer broadcast
they are emp proof on examine
/🆑
2025-10-02 05:05:57 +02:00
necromanceranneandGitHub f843f61b9f Tendril loot changes: Demonic portals drop locked chests instead of just flat out the item, removes some items from some lists, punching mitts is a vendor item. Concussive gauntlets grant hunter boxing. (#93127) 2025-09-29 08:12:33 +02:00
TimandGitHub 751fcb5f16 Add more examine tags and fix ones not appearing (#93110)
## About The Pull Request
This fixes custom materials not appearing for things like structures. It
also adds a bunch of new tags:
- bomb-proof
- flammable
- holograhic
- ~~unpaintable~~
- ~~supermatter proof~~
- ~~recolorable~~
- crush-proof
- conductive

Also use hyphens for multi-word examine tags.

## Why It's Good For The Game
Better UX

## Changelog
🆑
qol: Add several new examine categories for objects descs that include:
bomb-proof, flammable, holograhic, crush-proof, and conductive. Also use
hyphens for multi-word examine tags.
fix: Fixes custom materials not appearing for things like structures
when examined.
/🆑
2025-09-26 15:18:30 +02:00
xPokee b308ee9d78 Merge branch 'master' of https://github.com/tgstation/tgstation into upstream-sync 2025-09-24 10:13:01 -04:00
Leland KembleandGitHub 481c28a3b1 Changes detective hat candy corn text to be correct when not on your head (#93046) 2025-09-20 17:16:42 -04:00
MrMelbertandGitHub 750ca9d2ec Two as anything greps (and some other cleanup) (#92974) 2025-09-20 13:44:28 -04:00
MrMelbertandGitHub 4a618934e9 Removes message arg from Hear, free performance (#93020)
## About The Pull Request

The first argument of `Hear` is `message`, the message heard

OR SO YOU'D THINK

Actually the first argument doesn't do anything but get overridden by
ALL implementations of `Hear`

No other uses as far as I and Ephe can tell. Removing it makes it a ton
easier to understand and gives us some free performance in radio code by
not rendering messages twice

## Changelog

🆑 Melbert
code: Removed some redundant code from core hearing code. Report if you
hear anything weird.
/🆑
2025-09-20 12:29:40 +02:00
c0f8e7bb5c Multiload Second Pass (ft. Speedloaders Will Be Real In 2025) (#92854)
## About The Pull Request
Gets, yet again, more granular with multiload capabilities, by
introducing `AMMO_BOX_MULTILOAD_OUT_LOADED`; ammo boxes flagged with
this can speed-load ammo boxes that are currently inside another gun,
like revolver cylinders or internal magazines.

To accomodate for this, the previous flag that covered this,
`AMMO_BOX_MULTILOAD_OUT` can no longer speedload into currently loaded
magazines (e.g. internal magazines, including revolver cylinders).

Also implements a base type for speedloaders, moving .38 and .357
speedloaders along with .310 stripper clips to this type, instead of
being ammo boxes. Also features an UpdatePaths script for mappers, which
is why there's so many files touched - repathing is a pain.

Also also adds fancy types for ammo boxes, magazines, and speedloaders,
which isn't particularly player-facing.

Also also also makes the lionhunter ammo strip for the lionhunter rifle
visually three rounds only instead of being perpetually half-full (or
half-empty, depending on your pessimism).

## Why It's Good For The Game

The hypothetical case of "ammo box that holds shotgun ammo" should
probably... not... teleport as much of its ammo as possible into a
tube-fed shotgun, but should probably still be okay at reloading
magazines that actually go into shotguns. Or something.

More relevant, reloading BR-38 magazines with speedloaders, while funny,
probably also shouldn't be teleporting in six fresh rounds.

## Changelog

🆑
balance: General ammo boxes (not speedloaders, not stripper clips) can
no longer multiload into currently loaded magazines (revolver cylinders,
internal magazines).
balance: Speedloaders are now a separate type from ammo boxes, and can
only multiload into currently loaded magazines e.g. revolver cylinders.
qol: Ammo boxes, magazines, and speedloaders now have fancier types for
spawning in by admins.
sprite: Lionhunter ammo clips are visually smaller now.
/🆑

---------

Co-authored-by: Hatterhat <Hatterhat@users.noreply.github.com>
2025-09-20 08:10:35 +10:00
CursorandGitHub fe19746183 [nogbp] wrong armor type fixy wixy (#93012) 2025-09-18 16:23:14 +02:00
xPokee 9b282a850e Merge branch 'master' of https://github.com/tgstation/tgstation into upstream-sync 2025-09-17 11:45:44 -04:00
CursorandGitHub 236982b1ec Ports GAGS Ushankas from Nova (#92981) 2025-09-17 08:44:11 +02:00
GhomandGitHub a57638dd52 Accessories (waistcoats, pins etc.) other than the first are now shown on worn clothing (#92962)
## About The Pull Request
Right now, only the first accessory is shown. Layering aside, that isn't
a good thing and I don't see a reason why it should be this way. This PR
also updates the code for the creation of worn overlays a little.

## Why It's Good For The Game
I don't have the time to code offsets for worn icons for medals,
otherwise I would for the funny gimmicks, but for now this is a small
step toward a world where all accessories are rightfully displayed.

## Changelog

🆑
qol: Accessories other than the first are now displayed on worn
clothing.
/🆑
2025-09-15 16:39:44 -07:00
FalloutFalconandGitHub d2f34e33be moves abstract_type up to datum, spawners wont spawn them (#92909)
## About The Pull Request
moves all implementations (im aware of) for "Im a parent type dont spawn
me please" to the datum layer to standardized behavior
adds a standerized proc for filtering out "bad" items that we dont want
spawning. applies to it the subtype vendor, gifts, and a new spawner and
mystery box for a random gun (neither playerfacing)
"port" of https://github.com/shiptest-ss13/Shiptest/pull/4621



https://github.com/user-attachments/assets/22f6f0b2-b44e-411a-b3dc-6b97dc0287aa

small warning: I dont have EVERY abstract type defined right now but,
ive done a good enough job for now. Im tired of data entry rn
## Why It's Good For The Game
standardizing behavior. Might be a micro hit to performance however

having this lets us not rely on icon state to determine whether
something is a parent type and makes it much easier to tell something is
a parent type (could be applied further to things like admin spawning
menus and things like that).

need feedback on if this is actually good for the game.
## Changelog
🆑
add: Soda cans show up in the silver slime drink table.
add: Examine tag for items that are not mean to show up ingame.
refactor: Standardizes how gifts rule out abstract types.
fix: gifts no longer check if something has an inhand, massively
expanding the list of potential items.
/🆑
2025-09-13 00:36:15 +02:00
MrMelbertandGitHub 7c0973ccf4 Refactors names and voices / potted plants no longer conceal voice (just appearance) / honorifics show on examine (#92781)
## About The Pull Request

Closes #92778
Closes #86829

<img width="347" height="39" alt="image"
src="https://github.com/user-attachments/assets/c50bd1ff-8c00-47a7-a31a-617fae2adc5b"
/>

1. Splits `TRAIT_UNKNOWN` into `TRAIT_UNKNOWN_APPEARANCE` and
`TRAIT_UNKNOWN_VOICE`

2. Renames some stuff like `getvoice` and `getspecialvoice`

3. Gets rid some crummy signals around `get_visible_name` and
`get_voice`

4. Heads now apply the disfigured trait when relevant (rather than
snowflake checking for damage amount)

5. Ling voice refactored into using special voice (it was only used by a
viro symptom anyways; I don't anticipate this overlap being problematic)

6. Mask voice changer refactored into a trait

## Why It's Good For The Game

Potted plants shouldn't have magical voice concealing powers -
especially not over radio, but not over in person either. It's a damn
plant

So I addressed this by refactoring our face and voice system. Overall
things should be a lot cleaner and easier to use.

## Changelog

🆑 Melbert
refactor: Refactored a lot of code relating to human face and voice, ie,
what shows up in examine and in say. Report anything odd when examining
people, with ID cards, when talking over radio, or when disguised
refcator: Refactored how you get disfigured when your head's super
damaged
refactor: Refactored ling mimic voice and traitor voice changer
del: Potted plants no longer hide voice. They still hide appearance,
though
qol: Honorifics now show in examine / in world, rather than only when
speaking.
/🆑
2025-09-12 17:11:06 +02:00
necromanceranneandGitHub 38c7df2756 Renders rebellion masks behind hair. You can use internals with the mask (#92916)
## About The Pull Request

Rebellion masks are now behind hair.

Lets you plug your internals into the mask

## Why It's Good For The Game

> Rendering

I just think it looks a lot nicer than a big oval over your entire head.
I've been using tricks to simulate this change and it looks quite nice.

> Internals

If the Joy mask works for internals, I don't see why this can't either.
It's a silly cosmetic. The actual, like, balancing point of internals is
not so much what you're plugging it into (which we've really
proliferated as over time), and more the actual air supply.

## Changelog
🆑
image: The rebellion mask now renders beneath your hair. 
qol: The rebellion mask now lets you plug in internals.
/🆑
2025-09-12 16:46:05 +02:00
e67ab69e5a Lets jackets as a whole clothing category carry handguns and holsters, improvised weapons on a few more 'assistant' clothing options, and minor changes (#92833)
## About The Pull Request

Jackets as a category now can carry handguns like pistols and revolvers
and can hold holsters in their suit storage. This also includes hawaiian
shirts and comedian coats.

More 'assistant' jackets can carry improvised firearms.

Justice suits (which are actually security vests in disguise if you can
believe it) hold security gear.

Imperium monk outfits now hold the true list of chaplain suit storage
items, and not just a limited list.

## Why It's Good For The Game

These lists were kind of a mess so using some more consistent holder
lists should make things easier going forward for making sure suits
across a category are at least consistent with one another. Redefining
the allowed list usually means a lot of items get lost from parent to
child.

The additions were either potentially oversights, or are because of
either for reference or trope reasons.

I actually think I overlooked the imperium suit last time I touched
chaplain clothing suit storage.

## Changelog
🆑
balance: Jackets can carry personal firearms and holsters in their suit
storage. So can hawaiian shirts and comedian suits.
balance: More 'assistant' attire can fit improvised weapons.
balance: Justice suits can fit security items in their suit storage.
fix: Imperium monk outfits now hold the true list of chaplain suit
storage items, and not just a limited list.
/🆑

---------

Co-authored-by: 1393F <59183821+1393F@users.noreply.github.com>
2025-09-11 09:06:28 +12:00
xPokee 939f2fc9ac Merge branch 'master' of https://github.com/tgstation/tgstation into xpokee-test-upstream-sync 2025-09-10 14:12:16 -04:00
MrMelbertandGitHub 135a09182b Refactors obscured (#92779)
## About The Pull Request

Fixes #85028

Obscured flags and covered flags are tracked on carbons, updated as
items are equipped and unequipped. It's that shrimple.

Closes #92760

Just removes the species exception checks for not making sense

Also refactors handcuffs / legcuffs removal. In all of these situations
they were hardcoded when they could easily just use an inventory proc to
work.

## Why It's Good For The Game

Stops a million excessive calls to `check_obscured_slots`

Makes obscured behavior more consistent

Makes obscured behavior easier to use

Cleans up human rendering (There was some cursed stuff before with
render item -> updated obscured -> update body -> cause side effects)

## Changelog

🆑 Melbert
del: Golems which somehow manage to grow wings and somehow manage to
equip something that covers their jumpsuit can no longer fly.
(Seriously, this will not affect anyone)
refactor: Refactored clothing obscurity entirely. Items should be a
loooot more consistent and what covers what, and should update a lot
snappier. As always, report any oddities, like mysteriously disappearing
articles of clothing, hair, or species parts
refactored: Refactored handcuffs and legcuffs a bit, report any odd
situations with cuffs like getting stuck restrained
/🆑
2025-09-07 09:24:34 +02:00
Leland KembleandGitHub 29e109c525 Stethoscopes can now detect heart attacks (#92869)
## About The Pull Request

Adds text for when you use a stethoscope on a person having a heart
attack(and removes a doubled check for `body_part ==
BODY_ZONE_PRECISE_GROIN` that's already handled with the `switch`)

## Why It's Good For The Game

Closes #92865

## Changelog
🆑

qol: You can now hear heart attacks with a stethoscope

/🆑
2025-09-07 09:09:33 +02:00
nevimer b348b617a3 Merge branch 'master' of https://github.com/tgstation/tgstation into pupstream-2025-09-07
# Conflicts:
#	README.md
#	code/__DEFINES/admin.dm
#	code/__DEFINES/melee.dm
#	code/_globalvars/traits/_traits.dm
#	code/controllers/subsystem/economy.dm
#	code/datums/components/crafting/crafting.dm
#	code/datums/elements/crusher_loot.dm
#	code/modules/antagonists/pirate/pirate_shuttle_equipment.dm
#	code/modules/clothing/suits/_suits.dm
#	code/modules/escape_menu/leave_body.dm
#	code/modules/jobs/job_types/_job.dm
#	code/modules/mining/equipment/mineral_scanner.dm
#	code/modules/mob/living/living.dm
#	code/modules/plumbing/plumbers/pill_press.dm
#	tgui/packages/tgui/interfaces/Vending.tsx
2025-09-07 00:37:52 -04:00
BloopandGitHub c66c5c58ab Fixes an oversight with suit accessory overlays (#92687)
## About The Pull Request

Just because an accessory has `above_suit` set to `TRUE` does not mean
the suit has an `accessory_overlay`.

You wouldn't wanna add a null to the overlays list to return here so
make sure we actually have one first.

(It turns out, it is actually silently doing this every time you first
attach or remove an accessory-when an accessory is added, it calls
`successful_attach()` which ends up calling `update_clothing()` which
calls `worn_overlays()`--all _before_ creating the `accessory_overlay`
-- which results in a `null` in the returned list of `worn_overlays()`)

Shifts the ordering around so that this race condition no longer occurs.
2025-08-26 16:40:36 -05:00
SmArtKarandGitHub 5d86c8104d Fixes surgical breath masks being adjustable (#92650)
## About The Pull Request

Closes #92616
Closes #92552

## Changelog
🆑
fix: You can no longer adjust surgical breath masks to break their
sprites.
/🆑
2025-08-26 22:20:17 +01:00
panvxvandGitHub 36e4da1941 Helmets with seclight (#92514)
## About The Pull Request
Riot, Press, Swat helmets can now hold seclight. Added new sprites for
riot helmets and swat helmets (by justice54).
All helmets with attachable seclight also got resprite of the seclight
part (also justice54)

<img width="1330" height="107" alt="obraz"
src="https://github.com/user-attachments/assets/3d6b2504-6419-4e7b-81a3-de5109e48f0a"
/>

<img width="665" height="95" alt="obraz"
src="https://github.com/user-attachments/assets/2e51dfcf-9abc-4eb3-a4f0-8860750a6dd0"
/>

## Why It's Good For The Game
Poor security is afraid of badly lit rooms. Let's say NO to it!
## Changelog
🆑
add: Added seclight attachment for swat, riot, press helmets
fix: Fixed bulletproof helmets switching sprites to normal sec helmet
image: Added sprites of Swat helmet and riot helmet with attached
seclight
image: Reworked part of helmet sprites - seclight
/🆑
2025-08-21 05:49:25 +10:00
panvxvandnevimer 9ad596913e New messages system for visors and welding equipment (#92501)
## About The Pull Request
Riot helmets and welding helmets will give message about their visor
being moved and not whole helmet.
## Changelog
🆑
qol: Swat and welding helmets give proper messages when adjusting
visors.
/🆑
2025-08-19 22:40:34 -04:00
SmArtKarandnevimer ffc95e5759 Gives constable helmet a hair mask and its armor back, fixes some hair masks not working (#92465)
## About The Pull Request

Also, all middle hair masks were broken because they had an incorrectly
set icon_state
Closes #92450

## Why It's Good For The Game

Its supposed to be a replacement for the security helmet, and while it
makes sense that it doesn't act as a full helmet (as it doesn't fully
cover your head), it still probably should have armor as per original
design (and also to not be useless for sec, who are the intended users
of this item)

## Changelog
🆑
fix: Fixed constable helmet not having any armor
fix: Fixed some hair masks not working
/🆑
2025-08-19 22:39:38 -04:00
Thunder12345andnevimer 20118ad747 Converts a bunch of time/delay vars to use time defines (#92495)
## About The Pull Request

Converts as many time vars expressed in deciseconds as I could find to
use time defines.

## Why It's Good For The Game

Makes these values neater and more readable.

## Changelog
🆑
code: Converted a lot of time-based variables to be expressed with time
defines.
/🆑
# Conflicts:
#	code/modules/clothing/head/hat.dm
#	code/modules/clothing/shoes/boots.dm
#	code/modules/clothing/suits/utility.dm
2025-08-19 22:38:55 -04:00
SSensum13andnevimer 99d95aae62 Some ITEM_SLOT bitflags fixes. (#92441)
## About The Pull Request

This PR fixes wrong usage of bitflags in a few places, where instead of
bitfields lists were used.

## Why It's Good For The Game

It will help prevent problems that can be a thing in the future,
improving consistency of the codebase.
2025-08-19 22:30:33 -04:00
Time-Greenandnevimer 147df9ec59 Organ Growing Kit | Coroner Cytology Cargo Content (1/2) (#92108)
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: SmArtKar <44720187+SmArtKar@users.noreply.github.com>

# Conflicts:
#	code/modules/clothing/head/tinfoilhat.dm
2025-08-19 22:29:26 -04:00