1889 Commits

Author SHA1 Message Date
Roxy a19098fcac Merge branch 'master' into upstream-2026-06-23 2026-06-27 13:07:00 -04:00
muchatras 74a3fa6d03 Fixes sprites from the security officer/hos outfits, adds other viro sec stuff and remove duplicates (#5841)
## About The Pull Request
This PR is basically an hos outfit cleanup:

- It fixes the viro sec helmet and the hos sec helmet from not being
able to carry a flashlight, it also put the hos helmet to the same armor
level as all other head garbs
- It removes all of the duplicates from the hos outfit bag
- It fixes stray pixels from the viro hos uniform
- It fixes a missing icon from the softshell coat
- It removes one of the viro hos trenchcoat which I couldn't find the
worn icon anywhere (currently invisible ingame)
- Re-add the hos plate carrier that was forgotten in the code and the
security viro helmet in the sec vendor
- Migrates all of the hos custom garment from the TG code into the
Bubber module
## Why It's Good For The Game

The hos outfit bag had 9 duplicated items
Before: 
<img width="473" height="538" alt="image"
src="https://github.com/user-attachments/assets/8fffe8e1-8267-4300-b27e-c7adb3591821"
/>

After:
<img width="470" height="467" alt="Screenshot 2026-06-24 183746"
src="https://github.com/user-attachments/assets/b326f63d-b998-40fc-baae-ed046823fb86"
/>
 
The removed coat was identical to another one that is working, but had a
red pixel on one of the arm. I'll eventually try to find the missing
icon
Everything that was there is still there
The plate carrier is cool and awesome and is my prized jewel that I
didn't create myself

Bugs bad
## Proof Of Testing
The plate, the helmet with flashlight, the uniform with no more stray
pixel floating
<img width="83" height="74" alt="Screenshot 2026-06-24 185003"
src="https://github.com/user-attachments/assets/4048f68d-cf3e-47a8-bae1-17d2f7f0efe4"
/>



## Changelog
🆑
add: Re-added the hos plate carrier and sec helmets from viro (in
vendor)
fix: Fixed certain missing/broken icons from sec outfits
fix: Fixed the viro sec helmets
fix: Removed all the duplicates from the hos outfit bag

/🆑
2026-06-25 06:55:27 +02:00
Roxy de4c3b255d Merge branch 'master' of github.com:tgstation/tgstation into upstream-2026-06-23 2026-06-23 15:51:55 -04:00
cacogen 51708d5504 Adds beef space ramen (#96393)
## About The Pull Request

Adds beef space ramen packets as an uncommon maintenance spawn. These
are small boxes that contain a brick of dehydrated space ramen and a
beef flavour sachet (these are all they can hold). These items can be
used on the soup range to create beef ramen.
## Why It's Good For The Game

The existing option for ramen leaves something to be desired. You just
add water and it magically heats itself. The ramen is treated as a
reagent rather than an object like other noodles.
## Changelog
🆑 cacogen
add: Adds packets of beef ramen as an uncommon maintenance spawn
/🆑
2026-06-10 09:08:10 +12:00
EnterTheJake 0bd4b0820f Adds TGMC Tactical maps to the game and to Nuclear Operatives! (#96068)
<!-- 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

Brought to you by Team Powercrèpe.(same group of people that delivered
the Heretic Overhaul)

This PR ports the TGMC Tacmaps and grants em to our NukeOps.

Code by Me, @Xander3359, @Arturlang, @Absolucy.

Mapping by @RipGrayson 

Sprites by @KillerOrcaCora

Writing bits by @necromanceranne

Tacmaps are essentially dynamically generated minimaps,

<img width="1711" height="1335" alt="Tac map examples"
src="https://github.com/user-attachments/assets/f936fac0-fb7c-4b84-970d-7195b4995ca7"
/>



<img width="1274" height="714" alt="Tac-Maps Icons"
src="https://github.com/user-attachments/assets/0f04e388-af4b-4955-be7a-04650cfd746b"
/>






As you can see from the screenshots above, departments are classified by
color, hovering your cursor over an area or a team mate, will display
their name, the system does allow the user to switch between Multi-Z,
and lastly you can draw and add labels to the map, although the last
option is only available to the NukeOps Leader and OW agents.


The functionality is tied to the Syndicate implants nukies start with,
Cayenne, Syndie borgs and Mechs also have the ability to toggle the map.

Likewise, the tacmaps will display the positioning of the following in
real time!

- Nuke ops agents

- Syndie borgs and Mechs

- Cayenne

- Location of the nuclear fission device (and beer nuke)

- Location of the Nuclear Authentication Disk.

<img width="1274" height="714" alt="SkyBridge OFF"
src="https://github.com/user-attachments/assets/3915e7d7-644a-4e9a-b213-997834dde2ea"
/>

<img width="1274" height="714" alt="SkyBridge ON"
src="https://github.com/user-attachments/assets/13748290-fd16-42ba-a9c4-a6b4f7e69c79"
/>

<img width="566" height="459" alt="Holo table done"
src="https://github.com/user-attachments/assets/1a43c5b7-ee51-4794-9c09-16b4fb50e2ad"
/>






https://github.com/user-attachments/assets/caf38538-ef04-4330-992c-3137a67ea0d0






Lastly The tactiical map implant cannot be be used on the nuke ops
base,If the team wishes to interact with the map they'll have to
Interact with the "Reconnaisance Platform" (Sprite by Orcacora) in the
briefing room, which has seen some mapping changes (Brought to you by
TheLastGrayson).



<!-- Describe The Pull Request. Please be sure every change is
documented or this can delay review and even discourage maintainers from
merging your PR! -->

## Why It's Good For The Game

Originally this feature was planned for the Upcoming Contractor Rework
our team is currently working on, but given the massive size of it all,
we decided to atomize it.

But without that consideration in mind, I think it makes sense for
Nuclear operatives of all antagonists to have the means to Recon and
plot an assault plan onto the station and actually be able to know the
whereabouts of their teammates.

Obviously this feature has a lot of other potential applications, we
have wanted to have functional Maps for a very long time, if someone
wants to give it a go once the feature is merged, by all means.

<!-- Argue for the merits of your changes and how they benefit the game,
especially if they are controversial and/or far reaching. If you can't
actually explain WHY what you are doing will improve the game, then it
probably isn't good for the game in the first place. -->

## Changelog

<!-- 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 its 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. -->

🆑
add: Tactical Maps have been added to the game!
add: Nuclear Operatives implants now grant the ability to open a
Minimap, this map will display and show the names of various areas of
the station, and the positioning of the Nukeops team,borgs,mechs,Cayenne
and the nuke disk in real time!
add: Nukie leaders and OW agents can also draw and apply labels to the
map.
add: the "Recoinassance Platform" has been added to the Nukie Base, it
allows displaying of the Tactical maps while on the Syndicate Base Z
level.
map: The briefing room in the NukeOps base has been remapped to better
accomodate the new Holographic table.
map: Changed the front shutters on the Syndicate Infiltrator to the more
fitting Syndicate Shutters.
/🆑

<!-- 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: Xander3359 <66163761+Xander3359@users.noreply.github.com>
Co-authored-by: Artur Lang <24881678+Arturlang@users.noreply.github.com>
Co-authored-by: Lucy <lucy@absolucy.moe>
Co-authored-by: Copilot <copilot@github.com>
Co-authored-by: RipGrayson <49290523+RipGrayson@users.noreply.github.com>
Co-authored-by: necromanceranne <40847847+necromanceranne@users.noreply.github.com>
2026-06-09 16:38:00 +02:00
shayoki f601a6ddaf Merge remote-tracking branch 'tgstation/master' into upstream-6-2-2026 2026-06-03 01:23:54 -05:00
MrMelbert 6b631cb2c2 Roundstart nuke ops now spawn on an elevator to wait while the base loads in (#96178) 2026-06-02 20:59:42 +10:00
TheRyeGuyWhoWillNowDie 479c924bd7 refactors teleporter interference (#96187)
## About The Pull Request

Refactors teleporter interference into an item flag, refactors
teleporter interference checks to check your contents for items with
this flag rather than doing a hard check for a bag of holding. Currently
this flag is only used by BOH and SMOH, replicating current (intended)
behavior

Closes #96170
2026-06-01 02:34:00 +00:00
Cursor 0701cf95bf Enhances LARP by allowing the Captain to dress like Napoleon. (#96156)
## About The Pull Request

My antagonists are many. My equals are none. In the shade of tendrils,
they said Lavaland could never be conquered. In the land of wizards and
operatives, they said Space could never be humbled. In the realm of
wolves and snow, they said Icebox could never be tamed. Now they say
nothing. They fear me; like a force of nature, a dealer in thunder and
death. I say, “I am the Captain.” I am emperor.

## Why It's Good For The Game

<img width="292" height="152" alt="image"
src="https://github.com/user-attachments/assets/eb4dc06a-1ce6-4244-a067-ead41b5735e0"
/>
<img width="1395" height="632" alt="image"
src="https://github.com/user-attachments/assets/a21c4a22-3bfc-4023-ab59-5a1cad57ba52"
/>

We have pirates in 17-19th Century gear. The HoS has a Shako from the
19th Century. Let the King of Kings get in on that action.

## Changelog
🆑 theselfish, INFRARED_BARON
add: The Captain now has a Bicorne, and matching attire...
/🆑
2026-05-27 12:08:31 -04:00
MrMelbert ea0859d5fe Bane refactor (now uses damage multipliers) (#96003) 2026-05-16 11:41:29 +10:00
Alexis 21b4095dfd [MDB IGNORE] [IDB IGNORE] Upstream Sync - 04/17/2026 (#5453)
Upstream 04/17/2026

fixes https://github.com/Bubberstation/Bubberstation/issues/5549

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: tgstation-ci[bot] <179393467+tgstation-ci[bot]@users.noreply.github.com>
Co-authored-by: ArcaneMusic <41715314+ArcaneMusic@users.noreply.github.com>
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Rhials <28870487+Rhials@users.noreply.github.com>
Co-authored-by: rageguy505 <54517726+rageguy505@users.noreply.github.com>
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
Co-authored-by: Aliceee2ch <160794176+Aliceee2ch@users.noreply.github.com>
Co-authored-by: Time-Green <7501474+Time-Green@users.noreply.github.com>
Co-authored-by: Tsar-Salat <62388554+Tsar-Salat@users.noreply.github.com>
Co-authored-by: SmArtKar <44720187+SmArtKar@users.noreply.github.com>
Co-authored-by: Maxipat <108554989+Maxipat112@users.noreply.github.com>
Co-authored-by: SyncIt21 <110812394+SyncIt21@users.noreply.github.com>
Co-authored-by: deltanedas <39013340+deltanedas@users.noreply.github.com>
Co-authored-by: SimplyLogan <47579821+loganuk@users.noreply.github.com>
Co-authored-by: loganuk <fakeemail123@aol.com>
Co-authored-by: Leland Kemble <70413276+lelandkemble@users.noreply.github.com>
Co-authored-by: FalloutFalcon <86381784+FalloutFalcon@users.noreply.github.com>
Co-authored-by: Roxy <75404941+TealSeer@users.noreply.github.com>
Co-authored-by: Lucy <lucy@absolucy.moe>
Co-authored-by: siliconOpossum <138069572+siliconOpossum@users.noreply.github.com>
Co-authored-by: Isratosh <Isratosh@hotmail.com>
Co-authored-by: TheRyeGuyWhoWillNowDie <70169560+TheRyeGuyWhoWillNowDie@users.noreply.github.com>
Co-authored-by: Neocloudy <88008002+Neocloudy@users.noreply.github.com>
Co-authored-by: Alexander V. <volas@ya.ru>
Co-authored-by: ElGitificador <168473461+ElGitificador@users.noreply.github.com>
Co-authored-by: Twaticus <46540570+Twaticus@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com>
Co-authored-by: Cameron Lennox <killer65311@gmail.com>
Co-authored-by: Tim <timothymtorres@gmail.com>
Co-authored-by: Iamgoofball <iamgoofball@gmail.com>
Co-authored-by: Layzu666 <121319428+Layzu666@users.noreply.github.com>
Co-authored-by: Arturlang <24881678+Arturlang@users.noreply.github.com>
Co-authored-by: _0Steven <42909981+00-Steven@users.noreply.github.com>
Co-authored-by: mrmanlikesbt <99309552+mrmanlikesbt@users.noreply.github.com>
Co-authored-by: Ben10Omintrix <138636438+Ben10Omintrix@users.noreply.github.com>
Co-authored-by: John F. Kennedy <54908920+MacaroniCritter@users.noreply.github.com>
Co-authored-by: Cursor <102828457+theselfish@users.noreply.github.com>
Co-authored-by: Josh <josh.adam.powell@gmail.com>
Co-authored-by: Josh Powell <josh.powell@softwire.com>
Co-authored-by: Yobrocharlie <Charliemiller5617@gmail.com>
Co-authored-by: Hardly3D <66234359+Hardly3D@users.noreply.github.com>
Co-authored-by: shayoki <96078776+shayoki@users.noreply.github.com>
Co-authored-by: LT3 <83487515+lessthnthree@users.noreply.github.com>
2026-05-16 00:56:00 +02:00
Arturlang d67ca75e37 kills cargo imports (#5491)
## About The Pull Request
kills cargo imports with no mercy, moves it into goodies with
newly-added subcategories
also adds a persi only agent ID single pack per request
also also tarkon and persi can buy private packs via id money
## Why It's Good For The Game
ugly UI that doesn't work for other factions and needs hacks to work
with cargo ui is not great

## Proof Of Testing


<summary>Screenshots/Videos</summary>
<img width="1268" height="1124" alt="image"
src="https://github.com/user-attachments/assets/fd3d9a58-ea0b-4242-88d2-b6123a214c72"
/>

## Changelog

🆑
add: cargo imports moved into it's own category with a brand subcategory
system, and orderable without a private account (god why did i do this)
add: persistence only agent ID single pack
add: persistence and tarkon can now buy stuff via ids directly
add: captain access can always unlock departmental orders
fix: persistence and persistence cargo consoles sending cargo pods to
the station if cargo bay is selected
del: entire cargo company imports system
/🆑
2026-05-12 17:20:32 -07:00
Leland Kemble 5511bda793 Carnivorous Blood : A new DNA-targeting traitor chemical that eats away at your bloodstream (#95915)
## About The Pull Request

Adds a new chemical: Carnivorous Blood. This chemical is acquirable via
traitor uplinks, at the cost of 3 telecrystals for a 30 unit bottle.

This chemical's purpose is to eat blood. When it enters its victim's
bloodstream, it begins consuming their blood at a base rate of 2 units
per second, consuming itself at a rate of 0.3 units per second. This
means that a dose of 15 units of it will consume roughly 14% of its
victim's bloodstream over the course of roughly a minute. That isn't
anything to call home over, obviously. This is because you are supposed
to pair it first.
To pair it, you acquire a blood sample from your chosen victim, in any
form that retains their intact DNA. You mix this with the carnivorous
blood, and the blood is now three times as effective inside that
specific person(or anyone sharing their DNA). The paired version,
assuming a dose of a full 15 units that is allowed to fully metabolize,
will take the paired victim's blood down to roughly 55% over the course
of roughly a minute(assuming nothing is impairing or improving the
person's natural blood regeneration). This is just slightly less than is
required to knock out a victim from just blood loss, but is certainly
enough to significantly impair them.

(Up to three sets of DNA can be paired with a single set of carnivorous
blood. It cannot be de-paired in any useful way.)

Additionally, the chemical is twice as effective in the dead, allowing
one fifteen unit dose to fully drain a paired person of their blood.

The chemical can be duplicated using protein.

As a necessity in order to let the thing be used how I want it to be
used, this also makes it so that blood taken off the ground out of
bloodstains has DNA(unique enzymes) in with it. As it'd be absurd to
track how much of each specific DNA was in each specific bloodstain for
just this purpose, and because blood(the reagent) can only have one set
of DNA within it, it's been made such that the DNA you get from blood
taken from bloodstains is a random pick of the DNA present within the
bloodstain. If you don't get pure blood, you might not get what you
want.

## Why It's Good For The Game

A reasonably powerful traitor item that requires not just preparation on
your part, but INVOLVED preparation. The chemical itself is fairly
cheap(and could probably be cheaper but I'm being safe), but to get your
benefit you have to actually involve yourself with your target. Hurt
them a little bit, telegraphing yourself, or lurk around them until a
carp bites them and they leave their blood on the floor. Get them in a
rage cage, run a blood drive, whatever. There's a lot of ways to get
someone's blood, but all of them require active involvement, and I think
that that, on its own, will lead to interesting situations.


Also, side benefit that isn't really material but is worth mentioning
anyway, finding a body with no blood is currently absolute 100% no holds
barred completely airtight proof of bloodworms unless some psychopath
manually took a million years to slowly drain their blood manually. As
one dose completely drains a dead person, this provides an alternate
theory and reasonable means of faking.


Balance-wise, I say this every feature PR I make, but I don't think this
will be a problem. The chemical basically necessitates putting yourself
at risk in order to set it up, and is not a one-hit-kill. That is more
than can be said for several other crew-obtainable chemicals, BUT the
benefit of this chemical is that it takes a very long time to recover
from naturally. If someone succeeds the lexorin knowledge check and
survives, the oxygen damage goes away in a flash. Losing half your blood
takes an extremely long time to recover from naturally(and specific
items to recover from quickly), and leaves you quite vulnerable in the
meantime.

## Changelog
🆑

add: Added a new traitor item, Carnivorous Blood. It is purchasable in
uplinks. Carnivorous Blood is a reagent that eats away at a victim's
blood once in their bloodstream, doing so significantly faster if it has
been mixed with the victim's blood beforehand.

/🆑
2026-05-12 14:29:17 -04:00
Alexis d9a6b832ed Reverts 'Virosec' and Returns Redsec to Base /tg/ + Red Skyrat Security Gear (#5518)
## About The Pull Request
Does as the title suggests. This was voted on and approved unanimously
by maintainers.

**BLUE DONATOR ITEMS HAVE BEEN LEFT INTACT.**
## Why It's Good For The Game
A lot of players discussed discontent with 'virosec' and I feel this is
a solution that works.
## Proof Of Testing
I forgot to take screenshots, but it compiles, builds, and almost
everything is red.
<details>
<summary>Screenshots/Videos</summary>

</details>

## Changelog
🆑
add: Added back base /tg/ redsec along with red Skyrat clothing items.
del: Removed 'virosec'.
/🆑
2026-05-03 18:47:46 +02:00
ArcaneMusic 0c91535120 Arcmining: Chemical Boosting (#95530) 2026-04-23 17:46:06 +02:00
Jacquerel 039a0a8180 Wizard Wand blind box & wand bandolier (#95563)
## About The Pull Request


![dreamseeker_vQmIqvqtUo](https://github.com/user-attachments/assets/462d95f8-7447-45e2-90a8-9111fa07fe11)

This PR adds 16 more wands to the game, try and guess what they all do!
I finished coding this PR 6 weeks ago but it turns out I had to sprite
16 wands after that before I could PR it.

<details>

**Wand of Animation**- It's like the Staff of Animation but doesn't
recharge itself, obviously.
**Rod of Babel**- Grants victims a new random spoken language and then
removes all of their other languages.
**Shearing Rod**- It renders you bald. If you are covering your hair
with a helmet, it pops the helmet off (possibly its most useful effect).
If you're already bald, your bald head will shine brightly and blind
nearby people.
**Party Wand**- Fires projectiles that are incredibly alcoholic. Two of
them will destroy the livers of most targets and kill them (although it
gives them a good leadup time to get that fixed before dying of alcohol
toxicity), so try one at a time if you're just there to have fun.
**Wand of Ice**- Freezes people temporarily, making them really cold and
unable to move. It also spawns slippery ice on impacted tiles.
**Wand of Chaos**- Forces targets to hallucinate from a curated list of
hallucinations. It looks and is named sort of like the Staff of Chaos
just in the hopes that people are more likely to believe that the wizard
did actually just instantly kill them, set them on fire, or turn them
into a demon. Even if it doesn't, a lot of these cause you to stop
moving or be temporarily knocked down or in some other way disoriented.
**Lifting Rod**- Removes gravity from a target for two minutes, which
funcionally immobilises them if they're in the middle of a room or you
can use on yourself to cross big pits.
**Rod of Compassion**- Heals you and your target a little bit, and also
gives you both Pacifism for 30 seconds. This gives you time to talk out
your problems, or deliver a monologue.
**Wand of Snacking**- Turns things into pizza. If fired at a mob, will
put some pizza in their hands and force them to start eating it.
Unlikely to be deadly, but it might spawn mouldy pizza, a food they are
allergic to, ethereal battery acid pizza, or pizza which dismembers you.
**Pestilent Wand**- Confers a transmissible plague which causes you to
periodically cough out vermin of various degrees of danger and hostility
depending on disease level, treated via traditional methods of exorcism.
**Wand of Pratfalls**- Slips and pies the target as well as creating
small amounts of lube foam.
**Wand of Rebellion**- Removes a limb from the target, then animates
that limb. Stop hitting yourself.
**Rod of Repulsion**- Throws things you shoot away from you.
**Switching Rod**- Swap places with the hit atom, as with the spell
Swap.
**Restraining Rod**- Summons a tentacle from the ground to grasp the
target, immobilising them for 20 seconds or until someone helps them.
**Wand of Zapping**- Briefly locks up the target's nerves with lightning
(it's secretly a classic ss13 taser).

</details>

They are available to wizards via the new option "Wand Assortment
(Bargain Bin)" which only costs a single spellbook point, but gives you
an assortment of 6 wands picked at random from this list of new wands
and some of the existing ones.

If you buy two or more sets of wands (and are wearing the wand belt from
the first one) then instead of spawning wands in a belt it will spawn
them in a bandolier, which fits into your backpack or can be worn on a
suit slot.
Wand bandoliers in a suit slot will automatically replace an empty wand
you try to fire with a wand that still has ammo in it.

Several of these wands' projectiles are now also possibilities from
firing the Staff of Chaos (making it more chaotic) and some of them also
have their own Magicarp types.

Also I made it so that if you animate an animating weapon then it
focuses on animating more things instead of shooting its animating bolts
at mobs that are already animate. I could do this for more specialty
wands too at some point (door wand projectiles don't exactly hurt
anyone) but if I do that it'll probably be in a different PR.

## Why It's Good For The Game

A good number of these wands come from a downstream antagonist that's
essentially a lower-threat wizard. I thought these were all fun or funny
effects to have in the game upstream but also not ones that people would
typically want to buy as a dedicated spell (or alternately, that would
be pretty good as a dedicated spell but quite boring), so instead
they're limited use spells that you get in bulk for cheap.
I didn't think we'd really want to bulk up the spellbook with several
different kinds of themed bundle though (and frankly, they don't share
themes), so it's a blind box instead.
The bandolier was added to compensate people for buying random wands
multiple times, so they can have more of a wand-based playstyle.
Now you can spend all of your points on 60 wands (maybe more if you take
the gambling trait...) and be a sort of wizard cowboy, or split them
among your apprentices, or just leave them everywhere like candy and see
whether the crew fuck things up for themselves with their new power I
guess.

## Changelog

🆑
add: Adds 16 more wizard wands to the game, which wizards can buy
cheaply but randomly, or are available via Summon Magic.
add: If a wizard buys more than one set of wands they will receive a
"Wand Bandolier" holster which fits in the backpack or, if worn in the
suit slot, will automatically exchange an expended wand for a full one.
balance: Staffs (and wands) of animation that are animated will try to
animate other objects instead of firing at living mobs, which are
already animated.
balance: Animating a wand of nothing will turn it into a wand of
animation (and animate it).
balance: The staff of chaos can now do more things.
balance: Magicarp now additionally come in Babbling, Frigid, Quantum,
and Weightless varieties. Collect them all!
/🆑
2026-04-20 09:31:55 +12:00
MrMelbert 05b7ce90ff Adds Lawyer/HoP/QM/Spy unique traitor item, the briefcase firearm mechanism (#95607)
## About The Pull Request

Lawyers, Quartermasters, and Heads of Personnels can now purchase a
`"Briefcase Embedded Firearm Trigger"` from the traitor uplink for 4 tc.

The briefcase looks like a normal, unassuming briefcase - But when any
weapon is placed inside, you gain the ability to "fire" the briefcase,
which *actually* fires the weapon.

Only the first weapon found is fired, even if it's empty.
So while you CAN put 5 pistols inside, you'd have to cycle them in and
out manually.

This works with *any* weapon that can fit inside the briefcase, which
essentially restricts it to pistols and some laser weapons.
*No*, sniper rifles won't work in the briefcase. (You can't use it to
bypass weapons that require two hands.)
*Yes*, you can also handcuff the briefcase to your wrist as normal. (Who
knows what this will allow.)

---

Also purchaseable is an 8tc `"Briefcase Embedded Firearm (Combo Deal)"`,
which comes pre-loaded with a Makarov and 0 magazines.

This variant is also available to all Spies as a medium difficulty
reward.

--- 

Additionally I changed the boot-dagger's examine tell to only show to
people holding the item.
When I was implementing the briefcase gun I made the examine tell only
show while held and I thought "well, the boot-dagger should follow the
same logic". They're meant to be stealth objects so being able to figure
it out from across the room feels weird.

## Why It's Good For The Game

This was a random idea someone threw out that I thought fit the vibe and
gameplay of traitors and spies really well.
It's a very espionage-y idea, very James Bond. 

It will definitely catch a lot of people off guard. It basically allows
the Lawyer to walk around with a pistol or revolver drawn at all times.
I'm a bit worried it'll be too potent combined with handcuffs (nodrop
revolver?), but the Lawyer doesn't get many Ws so maybe it's fine.

## Changelog

🆑 Melbert
add: Traitor Lawyers, Quartermasters, and Heads of Personnels can now
purchase a "Briefcase Embedded Firearm Trigger" from the uplink for 4tc
- a briefcase that allows any weapon stored within to be fired by
"firing" the briefcase itself. Weapon sizes are restricted to whatever
fits in a briefcase, meaning it practically only works with pistols and
some laser weapons. It has a subtle examine tell that only appears while
being held.
add: Also available for 8tc is a combo deal that comes pre-loaded with a
Makarov. This can also appear as a medium Spy reward.
balance: The Spy item "boot dagger"'s examine tell now only appears if
you're examining them WHILE holding them.
/🆑
2026-04-17 13:29:57 +10:00
Twaticus c77e009876 Nugget Box Resprite + Nuggets/Wings/Fries Containers (#95537) 2026-03-28 18:33:53 -04:00
ArcaneMusic 42839c4fc9 The random supply drop event can now contain goodies and will not runtime. (#95416)
## About The Pull Request

This PR tweaks how supply_packs' `generate` and `fill` procs function,
so that they do not default to needing to be spawned with a crate
specifically in order to properly spawn.

What this allows is for the random supply drop event to be able to spawn
in with a non-crate container, such as an empty briefcase.

## Why It's Good For The Game

Ran into the random runtime while I was testing something non-cargo
related, and was considering having a non-crate supply crate for #95393,
but decided against it. Took this as a sign that I should implement it
anyway.

Plus, this will add even more variety to the random supply drop event's
results.
2026-03-25 16:33:33 -05:00
necromanceranne 1ce02afed8 Adds the pump-action grenade launcher and updates the existing break-action ballistic grenade launcher with a new sprite (#95244) 2026-03-10 20:54:05 +02:00
Alexis 5c5a636485 Merge branch 'master' into upstream-feb12-2026 2026-03-02 07:42:16 -05:00
Alien 68dea2c73b Replaces formaldehyde in traitor poison kit with anacea (#95190)
## About The Pull Request

Anacea purges medicines and prevents multiver from working. Incredibly
good with any kind of poison

## Why It's Good For The Game

The 6 TC poison kit should have the chemical that makes every poison
much much stronger over something that's barely even a poison

## Changelog
🆑
balance: Replaced formaldehyde with anacea in traitor poison kits
/🆑
2026-02-23 06:27:45 +11:00
SmArtKar a3498fdcd7 Material Science 1: A bunch of math (#95090) 2026-02-22 16:53:51 +11:00
Jordan Dominion a85dadab65 Gives Havana cigars distinct sprites. Properly colours cigar butts and worn overlays (#95201)
Co-authored-by: Jordan Dominion <Cyberboss@users.noreply.github.com>
2026-02-21 00:50:41 -05:00
axietheaxolotl 51ad6527c7 stabs blusec in the jugular and takes their wallet (virosec - security resprite and reset) (#5159)
## About The Pull Request

I'm working on it. the poll won so I am going ahead w/ this. 

<img width="1436" height="286" alt="image"
src="https://github.com/user-attachments/assets/255eda79-eb2c-4e36-9ad8-53c91c3b245e"
/>

<img width="336" height="183" alt="image"
src="https://github.com/user-attachments/assets/f92f5c29-c4e0-46da-889e-88acc903d253"
/>

stuff left to do

- [x] finish hos outfits
- [x] finish warden outfits
- [x] finish obj icons
- [ ] bugtest

this is a total overhaul of security, essentially resetting everything
to a new standard which can be worked off of. this is also a deletion of
blusec, an antiquated, unpopular idea that has long since proven to both
not be liked, and not work.

### this pr will not be the be-all, end-all. stuff will likely be
tweaked, added, removed, changed, or resprited in the coming days,
weeks, and months. due to just how much stuff security has.

## Why It's Good For The Game

will write a markup for this specific pr eventually but I will just be
posting the discord justification I gave

<img width="427" height="313" alt="image"
src="https://github.com/user-attachments/assets/e033ff0c-44f2-4cf6-ad9b-4b2d124cf21e"
/>
<img width="419" height="506" alt="image"
src="https://github.com/user-attachments/assets/84e86f18-72d2-4bef-a84b-1b53067fe41d"
/>

## Proof Of Testing
<details>
<summary>Screenshots/Videos</summary>

<img width="967" height="1046" alt="image"
src="https://github.com/user-attachments/assets/feaf9395-88d3-4999-a02f-e89cae25cc67"
/>
<img width="602" height="728" alt="image"
src="https://github.com/user-attachments/assets/81daae2f-f18e-41a9-a225-48dbbaad697f"
/>


</details>

## Changelog
🆑 axietheaxolotl / viro
del: blusec
add: redsec
/🆑
2026-02-18 16:38:21 +01:00
MrMelbert ef28e00690 [MDB Ignore] Refactors gauze, adds Tourniquets (#95041)
## About The Pull Request

1. Refactors gauze

Removes gauze var from `/stack`, adds a shared parent between tape and
gauze.
Behavior of "sticking thing on limb" is now a bit more generic, with
there being a component to facilitate it and a framework on `/bodypart`

Closes #92990

2. Adds Tourniquets

A first aid item, when attached to a limb it reduces blood loss from
that limb by 90%.
However while attached you walk slower (if on a leg), interact slower
(if on a arm), and yes, you rapidly die if you put it on your head

Paramedic belts have their starting equipment changed again for the
500th time.
Surgical tape -> Tourniquet
Bone gel -> Bonesetter

<img width="604" height="224" alt="image"
src="https://github.com/user-attachments/assets/443dd5c0-44a3-4ccb-9f6a-c561bbf2fba9"
/>

## Why It's Good For The Game

Adds some more variety for field treatment of bleeding wounds, and in
the future we can add things like "improvised tourniquets" or
"improvised splints" with wooden planks.

## Changelog

🆑 Melbert
add: Adds Tourniquets. While attached to a limb, reduces blood loss from
that limb by 90%, but makes you walk / interact slower. (Or if you put
it on your head, you die.)
add: You can purchase Tourniquets from the premium section of the
medical vendor
add: Paramedic belt setup has changed yet again: Surgical tape replaced
with Tourniquet, Bone gel replaced with Bonesetter.
add: You can use all forms of tape as splint - like Gauze. Will secure a
fracture but won't stop your blood from exiting.
refactor: Refactored gauze entirely, report any strangeness with it (or
tape, or tourniquets)
/🆑
2026-02-15 08:30:57 +01:00
nevimer 4dc38c0ad6 Merge remote-tracking branch 'tgstation/master' into upstream-feb12-2026
# Conflicts:
#	code/game/objects/items/storage/belt.dm
#	code/modules/jobs/job_types/chief_engineer.dm
2026-02-12 23:54:07 -05:00
nevimer 00ccf0c6b5 Merge remote-tracking branch 'tgstation/master' into upstream-feb12-2026
# Conflicts:
#	.github/CODEOWNERS
#	.github/workflows/compile_changelogs.yml
#	.github/workflows/stale.yml
#	SQL/database_changelog.md
#	_maps/map_files/CatwalkStation/CatwalkStation_2023.dmm
#	code/__DEFINES/atom_hud.dm
#	code/__DEFINES/inventory.dm
#	code/__DEFINES/mobs.dm
#	code/__DEFINES/species_clothing_paths.dm
#	code/__DEFINES/subsystems.dm
#	code/__DEFINES/surgery.dm
#	code/__HELPERS/global_lists.dm
#	code/_globalvars/lists/maintenance_loot.dm
#	code/_globalvars/traits/_traits.dm
#	code/controllers/subsystem/minor_mapping.dm
#	code/controllers/subsystem/processing/quirks.dm
#	code/controllers/subsystem/shuttle.dm
#	code/datums/components/palette.dm
#	code/datums/components/surgery_initiator.dm
#	code/datums/diseases/advance/advance.dm
#	code/datums/hud.dm
#	code/datums/mood.dm
#	code/datums/mutations/chameleon.dm
#	code/datums/quirks/negative_quirks/nyctophobia.dm
#	code/datums/status_effects/debuffs/debuffs.dm
#	code/datums/status_effects/debuffs/drunk.dm
#	code/datums/status_effects/debuffs/slime/slime_leech.dm
#	code/datums/weather/weather.dm
#	code/game/data_huds.dm
#	code/game/objects/items.dm
#	code/game/objects/items/devices/scanners/health_analyzer.dm
#	code/game/objects/items/frog_statue.dm
#	code/game/objects/items/rcd/RLD.dm
#	code/game/objects/items/robot/items/hypo.dm
#	code/game/objects/items/stacks/medical.dm
#	code/game/objects/items/stacks/wrap.dm
#	code/game/objects/items/storage/garment.dm
#	code/game/objects/items/tools/medical/defib.dm
#	code/game/objects/items/weaponry.dm
#	code/game/objects/items/weaponry/melee/misc.dm
#	code/game/objects/structures/crates_lockers/closets/secure/security.dm
#	code/game/objects/structures/curtains.dm
#	code/game/objects/structures/dresser.dm
#	code/game/objects/structures/girders.dm
#	code/game/objects/structures/maintenance.dm
#	code/game/objects/structures/mirror.dm
#	code/modules/admin/greyscale_modify_menu.dm
#	code/modules/admin/verbs/light_debug.dm
#	code/modules/antagonists/ashwalker/ashwalker.dm
#	code/modules/antagonists/heretic/knowledge/starting_lore.dm
#	code/modules/antagonists/ninja/ninjaDrainAct.dm
#	code/modules/art/paintings.dm
#	code/modules/client/preferences.dm
#	code/modules/client/verbs/ooc.dm
#	code/modules/clothing/head/wig.dm
#	code/modules/events/disease_outbreak.dm
#	code/modules/holodeck/holo_effect.dm
#	code/modules/jobs/job_types/head_of_security.dm
#	code/modules/jobs/job_types/security_officer.dm
#	code/modules/library/skill_learning/generic_skillchips/point.dm
#	code/modules/mining/lavaland/ash_flora.dm
#	code/modules/mining/lavaland/mining_loot/megafauna/ash_drake.dm
#	code/modules/mob/dead/new_player/new_player.dm
#	code/modules/mob/living/basic/guardian/guardian.dm
#	code/modules/mob/living/basic/space_fauna/space_dragon/space_dragon.dm
#	code/modules/mob/living/carbon/carbon.dm
#	code/modules/mob/living/carbon/human/human.dm
#	code/modules/mob/living/carbon/human/human_defines.dm
#	code/modules/mob/living/carbon/life.dm
#	code/modules/mob/living/living.dm
#	code/modules/mob/living/living_defines.dm
#	code/modules/mob/mob.dm
#	code/modules/mob_spawn/ghost_roles/mining_roles.dm
#	code/modules/mod/mod_control.dm
#	code/modules/mod/modules/modules_general.dm
#	code/modules/modular_computers/computers/item/computer_ui.dm
#	code/modules/paperwork/paper.dm
#	code/modules/paperwork/paperbin.dm
#	code/modules/power/lighting/light.dm
#	code/modules/projectiles/guns/energy/kinetic_accelerator.dm
#	code/modules/projectiles/projectile.dm
#	code/modules/reagents/chemistry/reagents/drinks/alcohol_reagents.dm
#	code/modules/reagents/chemistry/reagents/food_reagents.dm
#	code/modules/reagents/chemistry/reagents/other_reagents.dm
#	code/modules/reagents/chemistry/reagents/pyrotechnic_reagents.dm
#	code/modules/research/xenobiology/crossbreeding/_clothing.dm
#	code/modules/research/xenobiology/crossbreeding/prismatic.dm
#	code/modules/surgery/advanced/brainwashing.dm
#	code/modules/surgery/advanced/lobotomy.dm
#	code/modules/surgery/amputation.dm
#	code/modules/surgery/blood_filter.dm
#	code/modules/surgery/bodyparts/_bodyparts.dm
#	code/modules/surgery/brain_surgery.dm
#	code/modules/surgery/cavity_implant.dm
#	code/modules/surgery/coronary_bypass.dm
#	code/modules/surgery/gastrectomy.dm
#	code/modules/surgery/healing.dm
#	code/modules/surgery/limb_augmentation.dm
#	code/modules/surgery/organ_manipulation.dm
#	code/modules/surgery/revival.dm
#	code/modules/surgery/sleeper_protocol.dm
#	code/modules/surgery/surgery_helpers.dm
#	code/modules/surgery/surgery_step.dm
#	code/modules/unit_tests/_unit_tests.dm
#	code/modules/unit_tests/designs.dm
#	code/modules/unit_tests/icon_state_worn.dm
#	code/modules/unit_tests/screenshots/screenshot_antag_icons_cultist.png
#	code/modules/unit_tests/screenshots/screenshot_antag_icons_headrevolutionary.png
#	code/modules/unit_tests/screenshots/screenshot_antag_icons_provocateur.png
#	code/modules/unit_tests/screenshots/screenshot_husk_body.png
#	code/modules/unit_tests/screenshots/screenshot_husk_body_missing_limbs.png
#	icons/map_icons/clothing/head/_head.dmi
#	icons/map_icons/clothing/shoes.dmi
#	icons/map_icons/items/_item.dmi
#	icons/mob/huds/hud.dmi
#	icons/mob/inhands/64x64_lefthand.dmi
#	icons/mob/inhands/64x64_righthand.dmi
#	icons/obj/machines/computer.dmi
#	tgui/packages/tgui/interfaces/OperatingComputer.jsx
#	tgui/packages/tgui/interfaces/PreferencesMenu/CharacterPreferences/MainPage.tsx
#	tgui/packages/tgui/interfaces/PreferencesMenu/types.ts
#	tgui/packages/tgui/interfaces/SurgeryInitiator.tsx
#	tools/icon_cutter/check.py
2026-02-12 23:50:09 -05:00
Roxy 29fc28b09c Revert "Replaces T2 Tools with T1 Versions in CE Toolbelt (#92872)" (#95134)
## About The Pull Request

Following an extensive conversation in maintainerbus that was about a
lot of things, this PR was used as an example of something that probably
shouldn't have been merged in the first place, in the context of a
larger point about the relative merge chance of a change versus a revert
to that change. (This is intentionally vague because I'm not even going
to attempt to summarize the conversation it was long and you should
probably just read it) From the way it was talked about there was vague
support from other maints that it should be reverted, so I'm making this
because I didn't agree with it being merged either and I want to re-open
the floor.

## Why It's Good For The Game

There was a LOT of discussion about this both on GitHub and in the
discord, but I'm going to focus on addressing the why it's good for the
game given in the original PR and in the comment made by cobby (the
maint who merged it).

>It encourages heads to play their subdepartment’s roles instead of
their own, which is to manage their department, delegate tasks, and
teach newer players.

Heads *do* play their department's role, that is very much an aspect of
being a head of staff. The majority of them get unique items designed
specifically to make the duties of their department easier, and I don't
think there's anything wrong with that! I'm not sure where this
perspective of it as a zero-sum game where they can either delegate and
manage the department or they can solo the department to the detriment
of their subordinates came from, but any competent head can do both!

>It encourages bad command players to take the role for the gear instead
of leaving it for the people who want it for the command.

This is basically a continuation of the first point but with the framing
that people who consider the gear a reason to play the job are Bad
Players and are taking the role away from someone better who would play
it Properly. Again, many heads can and do balance both aspects of the
job, and I'm not sure why this framing was considered reasonable. Heads
tend to be experienced in all aspects of the department they're a head
of, and being able to step in when needed and get shit done because you
have both the experience and better tools sells the fiction of you being
the head honcho, someone that can be relied on and was put in charge for
a reason.

With this in mind, I'm aware that these points were made with the
unspoken assumption that the hypothetical player being described is bad
because they're violating Rule 5: "Players in vital job roles require a
minimum amount of effort." My problem with that is, why is this being
solved with code? If a head of staff is failing to perform their duties
so grossly that it feels necessary to take away anything that might
tempt them to take the role, why are they not being dealt with
administratively? Why do the majority that can handle the job have to
take a downgrade because of it? Hell, Rule 5 even states "you should be
a reliable worker for your department", and then after that states that
"As an upside, being THE BOSS allows you to dictate the workflow of your
department as you like", which to me sounds like it is explicitly
expected that heads will both perform the duties of the department and
delegate/manage their subordinates as needed. So why was the former seen
as the wrong way to play the job?

>The heads should be about management of the department, and shouldnt
have gear incentives to forgo that aspect if it is needed in the round.
Giving them better tools FORCES them into job+ role or at best a loot
pinata because otherwise theyre not making full use of their roundstart
provided tools without it being awkward, and thats only if someone gets
in that isnt seeking the free tool upgrades to begin with.

Cobby's comment broadly supported the points made in the PR body, with a
few additions about how if a CE doesn't want to be "job+" then they're
in an uncomfortable position because they have this desirable gear
they're not going to make use of. This is a strange argument to me,
because as I just said in the last paragraph, *as a head of staff you
should be doing at least a little of the department's job*. There's room
for varied play-styles obviously, but if you consistently feel like
you're being forced into the position of doing Engineering as the Chief
Engineer such that having the upgraded tools feels like it's wasted on
you... Maybe you shouldn't be the Chief Engineer? I don't say that in a
rude way, I just don't know what the appeal of the job would be
otherwise, if you enjoy bureaucracy then the HoP is seen as the epitome
of that with little to no formal duties otherwise, I just don't see why
CE would appeal to someone who does so little Engineering they see the
tools as an uncomfortable burden they'd rather not have.

>Also dislike the idea that heads just get to skip part of the research,
they should want said research just as badly as the rest of the
department.

The last point that was made repeatedly was the idea that existence of
these tools cause a tech tree skip, and this is a bad thing because it
means the CE has no incentive to push for unlocking the Experimental
Tools node because they got theirs already. Setting aside that again,
this framing applies only to absolute worst-case players who probably
should be dealt with administratively, it doesn't even make sense if you
have experience playing Engineering. Experimental Tools gates RCD
upgrades, the node that gives you the silo link and the thing that lets
you spawn already wired machine frames and air alarm, APC, and fire
alarm circuits, even the most selfish, unfit, department soloer CE is
going to get Experimental Tools unlocked so they (and their co-workers)
can get RCD upgrades.

Overall it seems like a ton of the justification for this PR hinged on a
false dichotomy that heads can either delegate and manage or do the job
of their subordinates, and it just doesn't cohere.

## Changelog
🆑
balance: The CE spawns with upgraded tools again
/🆑
2026-02-12 17:58:08 -08:00
Leland Kemble e114ce52f5 [NO GBP] correctly uses pronoun helpers in counterattack text (#95126)
## About The Pull Request

Calls pronoun helpers in counterattack text from the relevant mob,
rather than passing them as arguments.

## Why It's Good For The Game

More specific pronouns

## Changelog
🆑

spellcheck: Pronouns in counterattack text are more correct

/🆑
2026-02-10 17:56:23 -05:00
Leland Kemble cc67a09aeb [NO GBP] powered sheath counter runtime removal (#95027)
## About The Pull Request

If you were armless, this would have runtimed, and not done anything.
now it doesnt do anything but without runtiming.

## Why It's Good For The Game

Runtime error

## Changelog

It does the same thing as before if you cant see the runtimes
2026-01-29 20:22:11 -05:00
Leland Kemble 321287dd34 Sheathed weapon counterattack 2: What if the sheath was also a gun (#94780) 2026-01-28 18:46:10 +01:00
Nick 12fabce357 Katanas now have their own respective sheaths, adds leather crafting recipes for katana sheaths (#94939) 2026-01-28 13:09:44 +02:00
Leland Kemble 0feafc28e2 Removes double definitions from sheaths (#94926) 2026-01-20 23:38:20 +01:00
Nick eac94083c9 sword sheathes can now be worn on all suits (#94816)
## About The Pull Request

This PR makes it so you can wear sheathes on all suit storages

## Why It's Good For The Game
It mostly allows players freedom to shuffle stuff around they already
have to haggle a sheathe around with the sword in it while still having
most of their storage thing vs a gun, which allows players freedom when
it comes to setups, but also make them be able to use counterattack
mechanic. heres some cosmetic setups i just made up that isn't reliant
on armour

in the future we can make things less reliant on backpacks when it comes
to storage

<img width="227" height="317" alt="image"
src="https://github.com/user-attachments/assets/83a684cb-a096-4a92-af8f-ebc8d982a463"
/>

## Changelog
🆑 Ezel
balance: sabre, parsnip, gladius sheathe can now be worn on suit
storages
fix: mirrors gladius belt worn sprite so it doesn't overlap with belted
revolvers
image: adds mirrored belt sprites
/🆑
2026-01-19 14:00:12 -08:00
Bloop 68153c2333 Refactors faction lists to use getters and setters and be cached (#94490) 2026-01-19 04:12:35 +01:00
MrMelbert 596b785ec5 More medical larp: Stasis bodybags and triage cards (#94709)
## About The Pull Request

1. Adds stasis bodybags, unlocked with cryogenics tech 

These bodybags are portable forms of stasis. However, they wear down
with use, only being able to keep someone in stasis for about 2, 3
minutes before falling apart.

Bodyparts and organs put in the bodybag are also frozen, allowing you to
maintain parts of gibbed people.

You can med scan through the walls of the stasis bag as well. Also you
can med scan through holographics bodybags.

2. Adds triage cards to the medical vendor

Triage cards are small pieces of paper you can write on and stick to
people. They're color coded according to severity, and are intended to
be used in mass casualty events for prioritizing patients.

3. You can pin paper to bodybags

You can pin a sheet of paper to bodybags that people can read, be it
autopsy or whatever.

4. Updates paper interaction code slightly

We have new procs for allowing interactions rather that snowflakes

5. Other forms of stasis apply tumor suppression

Oversight?

## Why It's Good For The Game

I made these a while back to just give medical doctors a few more tools
to play around with beyond the meta tools. Just to get more immersed
into the larp.

Otherwise, stasis bodybags gives Paramedics a tangible upgrade(if you
can call it that), offering a safer way to retrieve patients

## Changelog

🆑 Melbert
add: Adds stasis bodybags, unlocked with cryo tech. They put its
occupants (organ or mobs) in stasis, but wear down over time.
add: Adds triage cards to the medical vendor, a flavor item docs can use
during mass casualty events.
qol: You can pin papers to closed bodybags. Keep organized with your
autopsies.
qol: You can interact with papers in folders and on clipboards
qol: All forms of stasis stop brain tumors
/🆑
2026-01-17 10:37:49 -07:00
Roxy 7f41a04827 Gives HOP civhuds in their garment bag (#5108)
## About The Pull Request
title

## Why It's Good For The Game
for a job dealing an awful lot with jobs, they can't see people's jobs.
Despite glasses for that being in the code.

## Proof Of Testing
no

<details>
<summary>Screenshots/Videos</summary>

</details>

## Changelog

🆑
add: HOP now gets Civilian HUDSunglasses in their garment bag.
/🆑
2026-01-16 11:33:30 -08:00
nevimer a9a59ed3f9 Merge remote-tracking branch 'origin/upsteam-12-15-25-revert-unique-reskins'
# Conflicts:
#	_maps/bubber/automapper/templates/centcom/interlink_adminoffice.dmm
#	_maps/map_files/BoxStation/BoxStation.dmm
#	_maps/map_files/generic/CentCom_skyrat_z2.dmm
#	_maps/map_files/moonstation/moonstation.dmm
#	code/modules/holiday/holidays.dm
2026-01-12 22:09:10 -05:00
Jacquerel b942cec267 Audit dismemberment to make sure we don't forget it might fail (#94808)
## About The Pull Request

Fixes #94778

There are a bunch of places where we dismember a limb (or head) and then
do something with it assuming that we actually dismembered it, but that
isn't actually true.
Many of these places then move your not-actually-dismembered head
somewhere else. If you have an unremovable limb (such as if you have
TRAIT_NODISMEMBER) this means that it actually gets removed anyway
because it's physically moved somewhere else.
In all of these cases, if we failed to dismember the limb we should just
leave it alone.

I left anything where after dismembering the limb it immediately deletes
it in though because those are generally supposed to be invariably
fatal.

## Changelog

🆑
fix: Chainsaws can't behead people with unremovable heads.
fix: You can only put your own head on a spear or into a box if it is
possible to remove your head.
fix: Heretic rifts can only remove your arms if your arms can be
removed.
fix: Paperwork can only cut off your head if your head can be cut off.
fix: Smite being reflected can only blow off your arm if your arm can be
removed.
/🆑
2026-01-10 22:56:25 -07:00
nevimer a33fd49968 Upstream 12 15 25 unique reskins fixes (#5019)
This branch needs help, tons of datums to make for the customizable
items.

---------

Co-authored-by: Alexis <catmc8565@gmail.com>
2026-01-10 13:14:26 -05:00
Fghj240 d5102b2030 Void stamp integration - the stampening (#94359)
## About The Pull Request

Void stamp added to bureaucracy loot spawners, a new box that contains a
granted, denied, and void stamp found in the lawdrobe, hop locker,
bureaucracy crate, mod stamper module, and the paperwork implant gets a
stamp that can cycle between 3 different ones like the mod stamp.

## Why It's Good For The Game

Finally the void stamp is obtainable

## Changelog

🆑
add: The void stamp is now obtainable
add: The lawdrobe now sells a box of stamps
add: The head of personnel's locker now contains a box of stamps
fix: The mod stamper module is now visible
/🆑

---------

Co-authored-by: Fghj240 <fakeemail@notrealemail.com>
2026-01-08 18:31:15 +00:00
Hatterhat 15baf7873a Offsite Deathrattle Implants and Repathed Kheiral Cuffs (#94209)
## About The Pull Request

Updates subdermal implants so that they have `implant_info` and
`implant_lore` variables instead of one unchanging `get_info()`. Also
rewrites/updates/tweaks/etc. lore for every implant that had get_info()
blocks.

Makes beacon implants (the ones you teleport onto) turn off (hide
themselves on prisoner management consoles) after ten minutes, matching
the tracking implant's functionality.

Deathrattle implants are now `allow_multiple = TRUE`, so you can have
multiple deathrattles implanted.

Reworked the implant pad's UI to have collapsible sections for implant
info, implant lore, and also have buttons for configuring deathrattle
implants.

Adds a box of expeditionary deathrattle implants to the mining vendor.
For 900 points (585 points if delivered), you receive a box containing 5
expeditionary deathrattle implants, which **ONLY ALERT TO DEATHS IN
MINING WASTELAND AREAS (e.g. not ruins, not space, not station) (this is
important)**, an implanter, and an implant pad.

The intended workflow is that you initialize one deathrattle implant,
use that network for all the other deathrattles, and implant yourself,
your mining buddies, your QM, and a paramedic, maybe. However since they
start unset you could theoretically make one really big deathrattle
network. Good luck getting people to volunteer for implanting, though,
and as above, it only really works if you die outside of the station.

Also, repaths kheiral cuffs to be accessories, so you can attach them to
uniforms. They're still functional as suit sensor extenders and GPSes
(when off-station).

<details><summary>Screenshots</summary>

<img width="469" height="91" alt="image"
src="https://github.com/user-attachments/assets/2c88b151-e5ab-415a-8c41-0f166f439315"
/><br>
<img width="300" height="350" alt="image"
src="https://github.com/user-attachments/assets/0764983a-1160-48ab-aa6a-d1aaf08a682e"
/><br>
<img width="300" height="350" alt="image"
src="https://github.com/user-attachments/assets/98e84368-300b-453a-89a4-d922c80628e8"
/>

</details>

## Why It's Good For The Game

Deathrattle implants are cool. Being able to know that your coworker
exploded, after a non-negligible amount of setup and wrangling your
fellow spaceman to let you implant them, is probably a good thing.
Introduces a cooperative avenue of "Wait, my coworker just died" instead
of "Hey, they haven't yelled something on comms, did they roll antag?
(No. They died.)"

Kheiral cuffs being uniform attachments is because having to sacrifice
glove slot for them annoyed me a lot.

## Changelog

🆑
add: Nanotrasen has begun rolling out (unconfigured) expeditionary
deathrattle implant kits for their mining teams for 900 points (585
points, if manually delivered). These only alert for deaths on raw
mining wasteland, and will not work in space, ruins, or on-station.
balance: Kheiral cuffs can now be attached to uniforms as accessories.
They retain their suit sensor extension/GPS functionality (still only
when off station Z-levels, though).
fix: Beacon implants now turn off (hide themselves on prisoner
management consoles) after ten minutes, matching the tracking implant's
functionality.
qol: Made the implant pad UI a little nicer to look at, with dropdowns
and demarcated sections.
code: Implants now have separated "immediately useful" information and
"extended lore tidbits" information as variables instead of one
unchangeable get_info() block.
/🆑

---------

Co-authored-by: Hatterhat <Hatterhat@users.noreply.github.com>
2026-01-04 16:55:09 +00:00
arbuzik456 03c9cc3b71 fashion justice (#94651)
## About The Pull Request

gives warden spare red hat and hos spare suit
## Why It's Good For The Game

every other garment bag has spare starting clothing but these two ts pmo
## Changelog
🆑
fix: warden and hos got spare starting clothes in their garment bag
/🆑
2026-01-04 13:22:33 +01:00
mcbalaam 3799968eb3 feat: new floppy disk sprites; most disks are now under the /item/disk type; adds disk stacking, uqinue styling and wrapping (#94112)
## About The Pull Request

Floppy disks received a sprite upgrade, as well as unique wraps:

<img width="364" height="150" alt="image"
src="https://github.com/user-attachments/assets/0ac433e3-7432-4c06-bec2-aeae00b6852f"
/>

<img width="786" height="527" alt="image"
src="https://github.com/user-attachments/assets/0f36bd0d-0362-4431-8131-49060a2fe348"
/>

You can now stack floppy disks! They also scatter around when thrown.
The video also showcases new styling options with a selection of
stickers! You can also write something on the disk instead of selecting
an icon:


https://github.com/user-attachments/assets/ff0a8542-9d79-4108-ae46-672ca5d620a2

MOST disks now inherit the `/item/disk` type to properly stack and do...
stuff. An updatepaths script included.

## Why It's Good For The Game

Old school is cool. Stacking disks makes them feel more authentic, while
styling allows for more crearivity!

## Changelog

🆑
add: New unique wraps for floppy disks
qol: Floppy disks can now be stacked
image: New sprites and stickers for floppy disks
map: Added and ran an updatepaths script
refactor: Most disks are now under the base disk item type
/🆑

---------

Co-authored-by: The-Tyrant <tyrantofgaming@gmail.com>
2026-01-04 08:52:18 +13:00
Bloop cf14dcfc1a Converts 3 components into elements (#94589)
## About The Pull Request

`adjust_fishing_difficulty` is a good one to make into a bespoke element
since a number of the same clothing item are created in the wardrobe
system.

climb_walkable is also good due to how prevalent it is, and it is a bit
of a two for one since it also removes the need for the
`/component/connect_loc_behalf`

Also stops adding the on_climbable trait to literally everything in the
turf, it now only applies it to atoms with density. So no more pipes and
stuff getting trait lists created for no reason.

<details><summary> Tested + things still work as before </summary>

<img width="422" height="122" alt="image"
src="https://github.com/user-attachments/assets/b23696f5-cd16-4150-aeb3-14ea6bd256fc"
/>

</details>

## Why It's Good For The Game

Lessens overhead, fixes a bug as well.

## Changelog

🆑
fix: fixes a pushed crate not removing on_climbable trait properly off
the mob standing atop it
/🆑
2025-12-30 01:05:50 +01:00
Leland Kemble 8d3bbbd0a9 Gives the Chief Engineer workboots rather than sneakers (#94630)
## About The Pull Request

Changes the Chief Engineer's default shoes to workboots, from brown
sneakers. Also in their garment bag.

## Why It's Good For The Game

You're telling me our CHIEF engineer, our FOREMAN, is wearing SNEAKERS
to go work with their death machines? I don't think so. This distinction
has existed since the invention of work boots a full decade ago, and I
don't think it was a intention then.

They just look better, especially when they're inevitably covered in
oil.

## Changelog
🆑

balance: took away the CE's sneakers and gave them work boots.

/🆑
2025-12-29 13:00:49 -05:00
Alexis 080e131b50 Refactors the safe Christmas trees to use a safe present subtype by way of a blacklist (#5027)
## About The Pull Request
Updates the safe tree to use a proper blacklist instead of being boring
and just giving bloodthirsty spacemen and women toys... They were good
all year, they crave violence. This replaces the round start Christmas
trees with the safe trees, which no longer only give out toys, but also
no longer give out admin/debug gear. A compromise for all, just in time
for Christmas!

The Christmas event present spawns have all been replaced with the safe
variants that utilize the blacklist, the other means of acquiring
presents have been left untouched.
## Why It's Good For The Game
People not getting admin tools out of Christmas presents and causing
headaches for staff is probably good for the game, maybe.
## Proof Of Testing
<details>
<summary>Screenshots/Videos</summary>
<img width="418" height="452" alt="image"
src="https://github.com/user-attachments/assets/df6554ee-084a-40c2-9592-94c88f6569c4"
/>

</details>

## Changelog
🆑 xPokee, LT3
balance: All Christmas event presents have been replaced with the safe
variants.
refactor: The safe Christmas tree subtype now uses a blacklist instead
of just giving toys.
admin: Added a new verb in the 'game' tab to blacklist presents on the
fly.
/🆑
2025-12-27 16:20:08 -08:00
SyncIt21 468b351b86 Axes grind & juice vars into procs (#94592)
## About The Pull Request
Inspired by #94233. `grind_results`(list) & `juice_typepath`(typepath)
are only used when grinding & juicing after which the atom is deleted.
This means if that object is not processed these vars occupy memory &
don't do anything.

Now these values are only generated on demand by calling their
respective procs. Considering how these vars are on the obj level the
memory savings are quite significant

## Changelog
🆑
refactor: grinding & juicing have been refactored to occupy low memory.
Report bugs on github
code: improved grinding & juicing code
/🆑
2025-12-25 20:40:35 +01:00
Leland Kemble 668616061d Makes unconcious people no longer pick up ores (#94559)
## About The Pull Request

Adds a check for `CONCIOUS` in the ore bag move handling where it picks
up ores.

## Why It's Good For The Game

Dead people continuing to work has been described by many as unlikely.

## Changelog
🆑

fix: Miners are no longer so dedicated they will pick up ores while dead

/🆑
2025-12-21 18:40:33 +01:00