## About The Pull Request
Makes unqueue'ing rulesets use a `unqueue_ruleset()` proc, just like
`queue_ruleset()`
Takes singletons instead of type paths.
## Why It's Good For The Game
Consistently uses these procs when adding or removing rulesets from the
queue. There was already a proc for adding, so having one for removing
suits. This PR removes any case of directly editing the
`queued_rulesets` list. This should make the code cleaner, among other
things.
## Changelog
🆑
code: Adding or removing rulesets from the queue list is done by procs
instead of directly editing the list.
/🆑
## About The Pull Request
If a crate fails to generate, fail but actually give you the type path
so you can fix it
## Why It's Good For The Game
Ran up with an issue trying to debug the return of generate being null
while having no clue what type path it was. Prevents that headache in
future
## Changelog
N/A
## About The Pull Request
**This must not be merged before
https://github.com/tgstation/tgstation/pull/94672 is merged**
Chapel is now larger, less cramped so more things can happen with more
players, plus a confession booth is back along with a few of Chaplain's
favourites.
All four solar arrays have been adjusted, some had no grilles and had
many many lattices/catwalks in a giant sprawl, so just shrunk them,
northern solars have had more positions added as it was tiny.
Southern most solars have had controls/APC moved into space to match the
other 3x and to keep it consistent for engineers.
North West corner Maintenance has been shrunk a bit to allow chapel size
increase, some wiring and pipe changes to suit.
South East part of the station has had maintenance shrunk in size, some
more details added and styled, Solars brought in closer as a result,
should feel a bit less empty.
Some extra "space" warning signs added to external airlocks
A few arrivals decals tweaked, move a few hangover spawns near there for
added comedy.
The docking bay at arrivals is now more of a feature next to arrivals,
double doors and airlock cyclers plus more visible as to where it is
with windows, plus space for projects or masses of people arriving.
Atmos waste goes straight to a passive vent in case of fires and so on.
A few redundant air/waste pipes removed.
Entire SM chamber moved 1 tile to the East, Made a little more space for
projects at the front plus aesthetic wise, it looks better.
Security cells now have flasher units, yay for crimers. Cells are also
fully working. Security prison/cells have extra shutters and blast
doors, extra windows wired to power, force field gate added to prison.
Security has expanded in size, new toys in Armoury to play with as well.
Security wardens office re-arranged with extra buttons.
Abandoned Hallway now includes an extra set of doors/firelocks on the
lower level, making station wide air loss harder now.
Locker room near dorms now has 2x more lockers for hiding things away.
AI Satellite now has external cameras, better placement at the core,
re-positioned turrets and a few more windoors, plus APC changed location
to be less of an instant off button for intruders.
AI Sat T-comms now has SMES similar to other maps so comms won't
immediately die.
AI Sat pacman SMES tweaked to work properly.
AI satellite disconnected from scrubbers network, because it has a perma
vent to space and was siphoning all waste off station every round.
There are a lot of visual/aesthetic changes as well, bit of a marathon
PR.
## Why It's Good For The Game
Makes Catwalk even better but remember this PR depends on the other PR.
## Changelog
🆑
map: CATWALK - Chapel has had an upgrade, rejoice in a larger area
map: CATWALK - Atmos & Engi had a quick tidy up
map: CATWALK - Solar Arrays tweaked to be better
map: CATWALK - South East Maintenance has changed
map: CATWALK - Security expanded
map: CATWALK - AI Sat fortified similar to Meta and other maps
map: CATWALK - See full change log in PR
/🆑
---------
Co-authored-by: loganuk <falseemail@aol.com>
## About The Pull Request
``get_hair_gradient_color()`` returns a list if no arguments are
specified, which is no good when we just want a singular hex code of
whatever we're dyeing.
## Why It's Good For The Game
Lets people dye in peace
## Changelog
🆑 Hardly
fix: Fixed hair dyes returning a TGUI error when trying to dye a hair.
/🆑
## About The Pull Request
Fixes#94855
Three things
1. We filter incompatible surgical states when removing the wound. I'm
not sure if this contributed to the problem, but it seemed wrong
regardless - At that point we don't really care about incompatible
states since we're removing everything regardless
2. `COMSIG_BODYPART_UPDATING_SURGERY_STATE` was registered before adding
the states, which would cause the act of adding the states to clear the
variable.
3. The signal handler was missing the source arg, so it was removing the
wrong values.
## Changelog
🆑 Melbert
fix: Surgical state applied by wounds no longer persist after fix
/🆑
## About The Pull Request
Makes the ghost toggles that make your clicks produce health and chem
scans on people show the scan information after standard examine
information
## Why It's Good For The Game
This makes these scans less annoying to use, as you don't have to scroll
up after using them.
## Changelog
🆑
qol: Ghost health and chem scanning displays after examine information
rather than before
/🆑
---------
Co-authored-by: san7890 <the@san7890.com>
## About The Pull Request
Standardizes the accesses to rooms within and peripheral to AI
satellites across maps, with the goal of making it easier to guess which
access a door takes.
The set of standards I'm operating under & enforcing are laid out as
such:
- "AI Upload access" is "AI access", IE you get access to the whole sat,
especially the most direct route to the AI.
- - Several maps have made areas that are pretty explicitly denied from
AI upload accesses, that are (dead-end) maintenance areas. These have
been kept, as every room that can do it without collateral damage
currently does it, but not added, as every room that can do it without
collateral damage currently does it.
- - "The Whole Sat" does not include telecomms, if telecomms is part of
the sat. Telecomms takes telecomms access.
- - - This does mean that wawa's AI is directly accessible via tcomms
access and a climbing hook. There's simply nothing to be done about it,
that's how the room is made.
- "Minisat" access is non-sensitive maintenance access. It's what
engineers get, and they get it so they can access the air and power.
Basically, the assumption made is that minisat access is what its code
comment says it is: "...for the small maintenance cubicle some AI
satellites may have". This access gets you any of those supplemental
areas, but as far as possible from the AI itself.
- - Maintenance accesses that lead directly adjacent to the AI room are
considered "sensitive", and fall under AI upload access.
- - On tramstation, the maintenance cubby is accessible via only a door
within the lower floor of the AI's front door, and thus is considered
"sensitive"
- Both accesses get you teleporter access. Only tram, nebula & wawa
don't already have this, and wawa's a special case.
Catwalk has not been touched out of fear of the pending large-scale
modifications, but oh, it will be. That place uses GENERAL COMMAND
access for EVERY DOOR except the one directly into the ai's room. Space
Christ.
Here's a list of what I personally consider high(er)-impact changes.
- Tcomms access will no longer access two doors on tram(which does not
have tcomms inside of it)
- Delta AI upload requires upload access, not general command
- Icebox transit tube accepts minisat access, so you don't have to go
outside to get in like some vagrant.
- The whole of wawa sat takes upload access. Previously, not a single
door but the actual upload doors took upload access, meaning someone
with upload but not minisat access(hop) could not access upload. Also,
people with minisat but not tcomms access could not use the front
elevator door, and had to use the side, because it took ONLY tcomms
access for some reason(I think whoever made it initially didn't know you
could have multiple accesses on doors)
- The aformentioned teleporter accesses on tram, nebula and wawa
## Why It's Good For The Game
Consistency, clear standards. You should be able to intuit whether you
can open a door, especially given that if you think you can and you
can't you're gonna be convulsing on the ground. I think that these
standards are reasonable, and simple enough that people will get a feel
for it.
## Changelog
🆑
map: AI satellite accesses have been made more consistent across maps.
/🆑
## About The Pull Request
As limbs rely on ``limb_id`` to fetch their meat info, digi limbs would
fail to do so and be unbutcherable since they use a unique digi ID from
a separate spritesheet. I've separated biological limb effects into a
separate var (or rather made one that acts an override for ``limb_id``),
so now they should be butcherable.
Butchered limbs now respect bodytypes of the original, and have unique
sprites to match that (currently this only matters for digi legs, plus
monkey creampie face sprites)
<img width="85" height="122" alt="image"
src="https://github.com/user-attachments/assets/a8766a62-e3f5-4265-964f-c48164f1bf6c"
/>
While at it I've also made some non-species limbs have butcher results -
living meat now drops a chunk of synthmeat, while psyker heads drop
their owner's original species' meat.
## About The Pull Request
Makes the parent organizational type for directional paths abstract.
<img width="421" height="524" alt="image"
src="https://github.com/user-attachments/assets/29a98a46-15cb-4932-b4e6-b9f0d5a1493a"
/>
## Why It's Good For The Game
These are not really intended to be spawned or mapped and its mostly an
organizational type.
## Changelog
N/A, SHOULD be non player-facing
## About The Pull Request
On the tin. Whoops. This was supposed to be boss score but I think I was
shuffling stuff around too much and this fell through the cracks.
## Changelog
🆑
fix: Killing Blood Drunk Miner normally should no longer give you a
crusher achievement.
/🆑
## About The Pull Request
So there's two abilities in the abductor camera console that have the
exact icon. This isn't ideal. So I've summoned all my energy and made a
new graphic for one of them. (It's not very good. I'm a programmer, not
an artist.)
What we have now:
<img width="691" height="141" alt="dreamseeker_bMiE3zMHpf"
src="https://github.com/user-attachments/assets/7b60a06a-b8d1-406f-ad74-cfface35c7cd"
/>
What this PR changes:
<img width="685" height="147" alt="dreamseeker_bWI49GBdH3"
src="https://github.com/user-attachments/assets/8819adfd-08a8-4c20-a53f-26cf2dd48883"
/>
## Why It's Good For The Game
I think it's largely a good thing when there's some sort of visual
distinctiveness between GUI icons.
I am extremely open to replacement sprites, but the main thing is having
a different sprite at all.
## Changelog
🆑
image: The Human Observation Console for Abductors now has a separate
icon for Send To and Send Self.
/🆑
## About The Pull Request
Found two constants not referred to by anything in the codebase. I
couldn't even figure out what these related to, they were shuffled into
this file from a different one 5 years ago and they didn't seem to be in
use then either. Goodbye!
## Why It's Good For The Game
Code cleanup, etc. etc.
This pull request updates the TGS DMAPI to the latest version. Please
note any changes that may be breaking or unimplemented in your codebase
by checking what changes are in the definitions file:
code/__DEFINES/tgs.dm before merging.
Full changelog can be found
[here](https://raw.githubusercontent.com/tgstation/tgstation-server/gh-pages/changelog.yml).
- You can now trigger a TGS deployment with
`/world/proc/TriggerTgsDeployment()`. (#2409 Cyberboss)
#tgs-dmapi-release
Co-authored-by: tgstation-ci[bot] <179393467+tgstation-ci[bot]@users.noreply.github.com>
## About The Pull Request
Adds `/obj/machinery/biogenerator` to
`GLOB.typecache_elevated_structures`, protecting food on top of it from
decay and germs
## Why It's Good For The Game
Biogenerator prints food but said food can get dirty immediately
## Changelog
🆑 Melbert
qol: Biogenerators protect food placed on top of them from germs
/🆑
* Fix runtimes in `/datum/id_trim` and when equipping corpses if a map's
.json file fully removes a job
* Remove unused `/datum/powernet/var/number`
* Fix ctrl+clicking a telescreen to mute it also activating it normally
* Unmark `_liver.dm` as executable
## About The Pull Request
I noticed this on a downstream whilst fixing broken icons i noticed due
to another, unrelated to TG issue. As it turns out, one of the icons was
still broken, on closer inspection, thats because bci_five was actually
called bci_fiv in the dmi file.
BEFORE:
<img width="770" height="170" alt="image"
src="https://github.com/user-attachments/assets/d6dfeb28-5fef-4e51-8635-77a6e8e40385"
/>
AFTER:
<img width="730" height="159" alt="image"
src="https://github.com/user-attachments/assets/06e10df3-fe52-4ab2-86a0-856af7ffb701"
/>
## Why It's Good For The Game
bugfix gooood. giant flashing error baaaad.
## Changelog
🆑
fix: fixed circuit action icon five
/🆑
## About The Pull Request
#94802 follow up
Dense objects that can pass over tables like microwaves shouldn't block
table construction
## Why It's Good For The Game
It's a bit annoying to have to work around tables for machines made to
be on tables
## Changelog
🆑 Melbert
qol: Objects that can pass over tables don't block table construction
qol: If table construction fails, it tells you what is blocking, rather
than "something is"
/🆑
<!-- 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
Fixes issue #94835
Emergency Access is currently not functional via comms console, admin
verb or AI emergency access. The lights come on but users just get
access denied on bumping into the door.
| EA Door | Open Sesame |
|--------|--------|
| <img width="270" height="265" alt="Screenshot 2026-01-11 235032"
src="https://github.com/user-attachments/assets/f6c67425-3ff4-4492-b945-ae9729f30583"
/> | <img width="275" height="259" alt="Screenshot 2026-01-11 235026"
src="https://github.com/user-attachments/assets/c231cc52-1233-4d14-a38a-e52549cca23d"
/> |
#94779 removed it as I suspect an unintended oversight, this restores it
while preserving the refactor intention. Tested in game.
<!-- 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
<!-- 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. -->
🆑
fix: Restores emergency access feature
/🆑
<!-- 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: loganuk <falseemail@aol.com>
## About The Pull Request
Closes#94744
Gives players a positive mood bonus for killing xenomorphs instead of a
negative one. This scales from larva -> adult -> queen.
Gives players a negative mood bonus for having seen a killed xenomorph
while carrying an embryo. This only triggers if you're conscious to
witness it, and the effect is modified by the stage of the embryo. Just
get it surgerized on ASAP.
Also minor code improvement with setting priorities to defines (it at
least helped me make this PR so I could figure out the best numerical
value to give something instead of jumping back and forth)
## Why It's Good For The Game
Mobs should be really happy whenever the scourge of the galaxy gets
blapped, not sad.
## Changelog
🆑
balance: Helping out (or just watching) the murderization of xenomorphs
will give you a positive moodlet, with increased effect depending on the
strength of the xenomorph. Bonus points for sending them out in
gibby/dusty fashion.
balance: However, if you are a carrier of a xenomorph embryo and witness
this death, the unborn entity inside you will provoke a sense of malaise
having been so close to the death of the sister.
/🆑
---------
Co-authored-by: Jordan Dominion <dominion@tgstation13.org>