Skip to content

TG Pull 5/6/2026#1030

Draft
FalloutFalcon wants to merge 219 commits intoDarkPack13:masterfrom
FalloutFalcon:tg-pull-5-6-2026
Draft

TG Pull 5/6/2026#1030
FalloutFalcon wants to merge 219 commits intoDarkPack13:masterfrom
FalloutFalcon:tg-pull-5-6-2026

Conversation

@FalloutFalcon
Copy link
Copy Markdown
Member

@FalloutFalcon FalloutFalcon commented May 6, 2026

About The Pull Request

Pulls the latest TGStation commits to keep us up-to-date
Please dont squash this one!!!

Highlights include:
Busting my balls because they reworked time pretty heavy and im needing to revert a fair few parts of the pr (its a good pr just not for us). Its prob gonna cause a few odditys, primarly, they shifted the alot of timestamps to be the "time of the round" rather then time of day ic/ooc
Cute signboards
Ghost have runechat (or better runechat)

Why It's Good For The Game

MODERN CODE

Changelog

🆑 Beautiful TG coders
code: TG Pull. Thank you TG.
/:cl:

Yobrocharlie and others added 30 commits April 20, 2026 21:05
## About The Pull Request

from the closed snowdin pr that was closed due to apathy.

everything on the table is up for discussion and subject to change

## Why It's Good For The Game

As of the itme of writing this for something called antag gear spawner
the best thing you can hope to get is a syndicate toolbox or 15 raw
diamonds, this changes that by adding instead just actual antag gear but
not real antag gear- more so just loot in general.

## Changelog

massive change just look at changed files

:cl:
add: added more things to the antag gear spawner
/:cl:
## About The Pull Request
Fixes materials orders being delivered in a box instead of a crate. The
crate is billed as part of the order, subtracted from the order value,
and boxes aren't eligible for the 200cr return credit. This results in a
loss of 400 credits if there is an error in the order and the manifest
is correctly stamped denied.

## Why It's Good For The Game

Fixes materials orders correctly stamped 'Denied' resulting in a loss of
400 credits.

## Changelog

:cl: LT3
fix: Fixed loss of credits for correctly denied minerals market cargo
manifest
fix: Cargo budget materials market orders arrive in crates as expected
/:cl:
## About The Pull Request

The ERT wing of Centcom (the west-most part with the briefing room,
commander's office and the ferry bay) has been updated to make it more
up-to-date with the decoration tools that we have, as well as make it
easier for admins to control where their ERTs go.

Case in point: 
<img width="539" height="749" alt="image"
src="https://github.com/user-attachments/assets/d9d934f3-8eb8-44a1-96c5-5e5d1c5c50bb"
/>
The pod bay now has direct access to the briefing room! This door starts
bolted by default, but there's also four handy buttons in officer's
portion of the briefing room that control bolts for the hallway doors,
pod bay doors, the quick access into the briefing room, _and_ a button
that open/closes the hallway shutters as well.
There's also a regular ID console to allow for changes to be made to IDs
outside of the central command access.

This makes it a lot easier to get ERTs into the fray a lot quicker,
rather than having to herd them through the hallway then back into the
pod bay if things have already hit the fan.

Other small changes include an extra C4 in the armory, moving the lights
in the pod bay to underneath the windows (so that it no longer tries to
pod out the floor lights when you send your ERT), a mechanical toolbox
and some assorted medkits available in the briefing room... There's a
few other things too, but nothing too drastic! I tried to keep the
same-ish layout overall.

<img width="991" height="929" alt="centcom"
src="https://github.com/user-attachments/assets/7151be4a-f01c-4ee6-ad68-6c284fa8dd30"
/>

## Why It's Good For The Game

CentCom has remained relatively the same ever since I joined back in
2019, and I felt like we're at the point where so many of our systems
and visuals have come so far and centcom has been relatively left
behind. Central Command is where a lot of event roles start and the
briefing room is incredibly useful for giving a team the low-down of
what's happened - or any member of the station that's been extracted
from the station. Updating the briefing room and most of the wing around
it gives it a fresh coat of paint, and will hopefully allow players &
admins more roleplay opportunities overall.

Opening up a door directly into the ERT bay and giving the briefing
officer several buttons to control which doors are bolted also makes it
way easier for admins to herd an ERT.

## Changelog

:cl:
map: Centcom's ERT wing has been updated, including a new door that
leads directly to the pod bay and buttons to control the doors!
/:cl:
…834)

Closes #95833

Hopefully this will reduce dependabot spam and actually tie it to a set
version that can be audited at
https://github.com/robinraju/release-downloader/releases/tag/v1.13. I
think this had to be on some sort of interstital version due to Node
version changes but now that a proper release was made an hour ago that
we should be fine.
## About The Pull Request
Fixes https://github.com/tgstation/tgstation/actions/runs/24643489491
Fixes https://github.com/tgstation/tgstation/actions/runs/24058690318

Storing the string as environment variable removes the need to runtime
decode the value which causes double slashes // to be decoded as a
single slash / which breaks the json string

## Changelog
N/A
## About The Pull Request
2 years ago i added this item. 2 years ago i set its price at 3000
points, i dont remember why cause this was 2 years ago.

## Why It's Good For The Game
i talked to a few (1) miner players regarding this, the feedback i got
was that, for a minor QoL tool, it was a bit too expensive for what it
does. Especially now that theres more viable/accessible ways of
traversing lava, ive decided to knock its price down a bit hopefully to
make it more worthwhile.

## Changelog
:cl:
balance: the grapple gun's price has been reduced to 1500 points
/:cl:
## About The Pull Request
Refactor the majority of the current gasmix mole change use cases into a
proc called adjust_gas which simply adds the designated mole count of
the species into the gas mix while also handling asserting the gas and
garbage_collect()
I also added adjust_multiple_gases and convert_gas() for modifying
multiple gases and within a gasmix

## Why It's Good For The Game
Lemon wanted this to be done as part of the air group refactor 

## Changelog

:cl:
refactor: refactored majority of gas_mix mole change into adjust_gas()
proc
/:cl:
## About The Pull Request

<details><summary> big purple dinosaur clogging up the runtime logs
</summary>

<img width="600" height="400" alt="v7N2LciICX"
src="https://github.com/user-attachments/assets/e9955159-caa2-4e86-862a-43c295bd31be"
/>

</details>

The issue is, the `contents` of items checked by `get_surroundings()`
are assumed to be `/obj/item` which is a false assumption. So this just
adds typechecking so that we don't runtime here and break crafting in
the vicinity.

This is a bad spot to runtime because it will stop materials from being
picked up by the crafting menu, preventing crafting from being possible.

<details><summary> before </summary> 

<img width="1786" height="162" alt="tracy-profiler_Fk2WSoYG5t"
src="https://github.com/user-attachments/assets/dc8f04a5-0f68-41d3-9e90-20e075ef68b4"
/>

</details>

<details><summary> after </summary> 

<img width="1767" height="176" alt="tracy-profiler_gHRDdRMMqo"
src="https://github.com/user-attachments/assets/a50ad290-153f-4ab6-9c6b-74fc43efaa4f"
/>

</details>

I profiled this both before and after these changes in the same exact
spot, surrounded by 70 electrical toolboxes, and the impact is
negligible (actually appears to be ~7.5% faster, interestingly).

## Why It's Good For The Game

## Changelog

:cl:
fix: fixes an issue where raptor chicks and other non-items appearing in
item contents would prevent any personal crafting in the vicinity
/:cl:
## About The Pull Request

Spacers who manage to get nograv on a planet are given a positive
moodlet, and are considered in space for their buffs/debuffs

## Why It's Good For The Game

I don't remember if I was opposed to this in the past or why I didn't
make it work this way in the first place.
It's sensible that, if you manage to disable your own gravity, all of
the negative effects (which are tied to you feeling heavy gravity) would
be lifted.

## Changelog

:cl: Melbert
add: Spacers who manage to get nograv while on a planet are given a
positive moodlet, and are considered in space for the purpose of their
buffs/debuffs
/:cl:
## About The Pull Request

The "Create Black Market Item" verb now needs an input so that it
doesn't try and crash the client.

The verb also has a few extra bits of cleanup. Successful completion of
the verb will now alert admins that it's been added to the market.

~~This also adds an additonal admin verb, "View Blackmarket", which will
allows you to view a blackmarket UI with all the currently loaded items.
(I HAVE YET TO MAKE THIS WORK WITH MY CURRENT STRATEGY, HENCE THIS PR
BEING A DRAFT).~~ Removed due to taking too long.

## Why It's Good For The Game

Better admin ui/ux, fewer ways to accidently crash your game from
viewing all `/obj`s in the game, and allows for more admin interaction
with the black market which the original PR intended to do.

## Changelog
:cl:
fix: More safeguards were added to the admin "Create Black Market Item"
verb.
/:cl:
## About The Pull Request
See
tgstation/discord-notify#1 (comment)

Fixes all warning in
https://github.com/tgstation/tgstation/actions/runs/24754317912. Either
we use the `main` branch or create a new tag and I'll update it in this
PR

## Changelog
N/A
…811)

## About The Pull Request

Bumps ``tgui-core`` to ``5.10.0``
Converts the plane search dropdown into a proper text input for easier
searching on multiz planecube assemblies.

<img width="406" height="288" alt="image"
src="https://github.com/user-attachments/assets/17934c3b-167b-467a-a420-0c1a7260715e"
/>

## Why It's Good For The Game

Need this for my evil developer plans

## Changelog
:cl:
admin: Planemaster Debugger now has a text search input to locate and
jump to planes
/:cl:
## About The Pull Request

Admins can disable ongoing or start meteor mode in the secrets menu

## Why It's Good For The Game

Only other way is doing it mid round is manually, which is wack

## Changelog

:cl: Melbert
admin: Adds toggle for meteor mode in secrets
/:cl:
…ering [no gbp] (#95809)

## About The Pull Request

This doesn't actually have any negative consequences here, but any
downstreams might notice some issues if they make use of the
`get_icon_state()` proc.

## Why It's Good For The Game

Fixes an oversight, I'm blind and overlooked this one.

## Changelog

Nothing placer-facing
tgstation-ci Bot and others added 17 commits May 5, 2026 14:29
## About The Pull Request

April 26th is Chernobyl Disaster Remembrance Day

There are no colored tiles or posters associated, but it does have
station prefixes.
Also as an added effect, radiation storms are twice as likely to trigger
randomly, and multiple can trigger in one round.

## Why It's Good For The Game

Today is the 40th anniversary of the Chernobyl disaster and I feel it
would be somewhat fitting as an in game holiday given our game's
propensity to have reactor meltdowns

(and also the Space Soviet Union existed in the lore so I imagine they'd
carry the tradition out to the Spinward Sector)

## Changelog

:cl: Melbert
add: April 26th is Chernobyl Disaster Remembrance Day.
/:cl:
## About The Pull Request

Ports our optimizations to the version of ghost runechat introduced by
tgstation/tgstation#95223

Instead of looping through all the mobs a second time it will do it in
deadchat_broadcast(). Also adds a global for if drunechat is
enabled/disabled and an admin verb for toggling it on or off.

<details><summary>still works</summary>

<img width="330" height="220" alt="dreamseeker_kkNBPBjbMv"
src="https://github.com/user-attachments/assets/4706ad98-fafe-4f88-9de0-6b72983ab044"
/>

</details>

## Why It's Good For The Game

Better option for performance

## Changelog

:cl:
code: speeds ghost runechat up a bit, and makes it show as italic
admin: adds a 'toggle dead runechat' admin verb in case you need to
disable it midround for an event or something
/:cl:
…y (#95878)

## About The Pull Request
Originally this PR was just supposed to split blob's "start victory"
thing into its own proc and add an extra check that could be overridden,
both for downstreams because a friend asked, but then I thought
"wouldn't it be funny if you could varedit a blob to not end the round
on critical mass?" so now we're here.

Anyways, it's about what it says on the tin. Blobs now have a variable,
`end_round_on_victory`, which defaults to TRUE (preserving current
behavior). Setting it to 0/FALSE:
- Makes the blob no longer gain infinite points upon reaching critical
mass
- Makes it announce an "emergency containment activation" instead of
killing everyone if it does hit critical mass
- Prevents the blob from expanding over the blob victory count (400 by
default).
- ...basically does nothing else. (You're still going to have to
manually remove the blob from SSshuttle's hostile environments list!)

## Why It's Good For The Game

Maybe you want to jumpscare the station with a giant fight they have to
take but then not actually kill them in the sake they don't actually
win. You could make an event out of this (said in the same cadence as
"You could make a religion out of this"), probably.

## Changelog

:cl:
admin: Admins can now varedit blob overminds (the eye mob) to not kill
everyone on the station if they hit critical mass. (Admins will still
have to remove the blob from the shuttle subsystem's "hostile
environments" tracker, though.)
/:cl:

---------

Co-authored-by: Hatterhat <Hatterhat@users.noreply.github.com>
… in preferences (#95904)

Fixes
tgstation/tgstation#95860 (comment).
Thank you to @leaKsi for isolating it

React lints would've caught this--components not being components'd
properly and then an inline callback ended up causing a bunch of
re-renders.

I didn't test shit

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
## About The Pull Request

~~I saw this when I was debugging something else, and thought it was my
fault.~~

~~Nope - turns out this has been happening for who knows how long. I was
able to very reliably reproduce it in my env downstream so went ahead
and pushed a fix to this while I am working on something unrelated, I
have tested it and seems to be gone.~~

~~populateOptions function was being passed as an inline arrow function
from the caller, which created a new function reference on every render.
Since it was listed as a dependency in useEffect, the effect re-ran on
every render, which called setDropdownOptions, which triggered a
re-render, which created a new function reference... and so on~~

Building off of the fix Mothblocks made in
tgstation/tgstation#95904 this goes a step
further and nukes that useEffect while we are at it

## Why It's Good For The Game

## Changelog

Nothing player-facing
@FalloutFalcon FalloutFalcon added the Upstream Merge Copy and paste TG code. If it compiles, it ships! label May 6, 2026
@FalloutFalcon FalloutFalcon changed the title TG Pull 5/6/ 2026 TG Pull 5/6/2026 May 6, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.