Commit Graph
122958 Commits
Author SHA1 Message Date
theOOZandGitHub fdd96d7d23 queued_rulesets list uses proc to unqueue (#94843)
## 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.
/🆑
2026-01-15 03:44:38 +01:00
FalloutFalconandGitHub 4a95d7025d Clarity in crate sanity unit test if generate fails to return (#94865)
## 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
2026-01-15 03:37:53 +01:00
tgstation-ci[bot]andGitHub 429ac17cea Automatic changelog for PR #94741 [ci skip] 2026-01-15 01:10:54 +00:00
2fb903b55e MAP - CATWALK - Chapel Expansion - Maintenance Shrink - Security Expansion - [2/2] (#94741)
## 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>
2026-01-15 01:10:36 +00:00
tgstation-ci[bot] 0b307762d0 Automatic changelog compile [ci skip] 2026-01-15 00:30:43 +00:00
tgstation-ci[bot]andGitHub 5e64389a55 Automatic changelog for PR #94859 [ci skip] 2026-01-14 23:56:12 +00:00
ElGitificadorandGitHub bfa5aa847e fixes bear suit not hiding your hands (#94859)
## About The Pull Request

fixes #92341. 

## Why It's Good For The Game

muh bear larping

## Changelog

🆑

fix: fixed bear suit not hiding hands

/🆑
2026-01-15 00:55:53 +01:00
tgstation-ci[bot]andGitHub a870cb377f Automatic changelog for PR #94862 [ci skip] 2026-01-14 22:34:58 +00:00
Hardly3DandGitHub 69342d97ec Fixes hair dyeing returning a TGUI error (#94862)
## 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.
/🆑
2026-01-14 15:34:38 -07:00
tgstation-ci[bot]andGitHub 32999888d6 Automatic changelog for PR #94858 [ci skip] 2026-01-14 22:15:04 +00:00
MrMelbertandGitHub 2a9faabcd7 Fix wound surgical state (#94858)
## 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
/🆑
2026-01-14 15:14:42 -07:00
tgstation-ci[bot]andGitHub 659f564373 Automatic changelog for PR #94849 [ci skip] 2026-01-14 22:14:10 +00:00
b7f7b61043 Ghost chem/health scan displays after examine information (#94849)
## 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>
2026-01-14 15:13:47 -07:00
tgstation-ci[bot]andGitHub b7a6f4100d Automatic changelog for PR #94852 [ci skip] 2026-01-14 22:13:15 +00:00
Leland KembleandGitHub d8be8572a0 Makes AI sat accesses between upload/minisat more consistent. (#94852)
## 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.

/🆑
2026-01-14 15:12:55 -07:00
tgstation-ci[bot]andGitHub 7c3a4ccb74 Automatic changelog for PR #94842 [ci skip] 2026-01-14 19:25:38 +00:00
SmArtKarandGitHub 84519a3b3f Fixes digitigrade limbs not being butcherable, adds digi bone limb variants (#94842)
## 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.
2026-01-14 19:25:19 +00:00
FalloutFalconandGitHub 26dbd3fb61 Makes directional parent types abstract (#94857)
## 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
2026-01-13 21:52:04 -07:00
tgstation-ci[bot]andGitHub 2521b9b745 Automatic changelog for PR #94853 [ci skip] 2026-01-14 02:45:38 +00:00
John WillardandGitHub e86c89edb7 fixes ringing (#94853)
## About The Pull Request

Before
<img width="480" height="29" alt="image"
src="https://github.com/user-attachments/assets/dd352495-c566-481f-aee0-aa8618df7e7e"
/>

After
<img width="496" height="43" alt="image"
src="https://github.com/user-attachments/assets/a0edd64f-50ae-4b7a-8932-292acdd558df"
/>

## Why It's Good For The Game

*ring
2026-01-13 20:45:20 -06:00
tgstation-ci[bot] d8d7edef88 Automatic changelog compile [ci skip] 2026-01-14 00:34:18 +00:00
tgstation-ci[bot]andGitHub 201fa60c58 Automatic changelog for PR #94847 [ci skip] 2026-01-14 00:18:33 +00:00
san7890andGitHub 51a83118b0 Prevents Crusher Achievement Given For Regular BDM Kills (#94847)
## 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.
/🆑
2026-01-14 00:18:14 +00:00
tgstation-ci[bot]andGitHub 946363b29c Automatic changelog for PR #94840 [ci skip] 2026-01-13 22:15:56 +00:00
CirrialandGitHub a95ddf081e Adds Very Slightly Different Icon for Abductor Send To (vs Send Self) (#94840)
## 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.
/🆑
2026-01-13 17:13:26 -05:00
CirrialandGitHub c195ebdefc Remove unused ARCH constants (#94841)
## 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.
2026-01-13 17:12:17 -05:00
tgstation-ci[bot]GitHubtgstation-ci[bot] <179393467+tgstation-ci[bot]@users.noreply.github.com>
1be30d8928 Automatic TGS DMAPI Update (#94846)
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>
2026-01-13 17:11:53 -05:00
tgstation-ci[bot]andGitHub 6540e272d4 Automatic changelog for PR #94828 [ci skip] 2026-01-13 18:33:08 +00:00
ArcaneMusicandGitHub 81b99b85a1 Adds a fishing log file. (#94828) 2026-01-13 19:32:47 +01:00
tgstation-ci[bot]andGitHub f32d8aa19e Automatic changelog for PR #94631 [ci skip] 2026-01-13 11:35:55 +00:00
d8fc69cd76 Buffs adv dna injectors, dna disks. (#94631)
Co-authored-by: necromanceranne <40847847+necromanceranne@users.noreply.github.com>
2026-01-13 22:35:37 +11:00
tgstation-ci[bot] 24d6ea43f1 Automatic changelog compile [ci skip] 2026-01-13 00:03:24 +00:00
tgstation-ci[bot]andGitHub 26eee8bba6 Automatic changelog for PR #94799 [ci skip] 2026-01-12 23:51:55 +00:00
KingkumaArtandGitHub 67a090f687 Makes the giantslayer spear bane work, actually. (#94799) 2026-01-13 00:50:14 +01:00
tgstation-ci[bot]andGitHub 12881ed7c9 Automatic changelog for PR #94829 [ci skip] 2026-01-12 23:02:20 +00:00
MrMelbertandGitHub 48630dba4a Adds the biogenerator to germ protected structure list (#94829)
## 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
/🆑
2026-01-12 23:01:43 +00:00
tgstation-ci[bot]andGitHub a3d9807ed3 Automatic changelog for PR #94837 [ci skip] 2026-01-12 22:52:06 +00:00
MrMelbertandGitHub feccb60c35 Update spotlight plane on z change (#94837)
## About The Pull Request

Spotlights don't break on multi-z maps

## Changelog

🆑 Melbert
fix: Fixed spotlight effect on multi-z map 
/🆑
2026-01-12 17:51:48 -05:00
tgstation-ci[bot]andGitHub cab4d6cf8e Automatic changelog for PR #94827 [ci skip] 2026-01-12 22:51:30 +00:00
Tad HardestyandGitHub e5e06aff43 Fix corner-case runtimes for removed jobs, other minor fixes (#94822)
* 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
2026-01-12 17:51:24 -05:00
Tractor MaamandGitHub 5eec9d1906 Fixes integrated circuit action 5 icon (#94827)
## 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
/🆑
2026-01-12 17:51:10 -05:00
tgstation-ci[bot]andGitHub 4de4b09193 Automatic changelog for PR #94834 [ci skip] 2026-01-12 22:50:19 +00:00
tgstation-ci[bot]andGitHub ca57a17cfc Automatic changelog for PR #94836 [ci skip] 2026-01-12 22:50:08 +00:00
MrMelbertandGitHub 026fff8853 Objects that can pass over tables don't block table construction (#94834)
## 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"
/🆑
2026-01-12 17:49:58 -05:00
9c11db5c29 Restores emergency access feature (#94836)
<!-- 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>
2026-01-12 17:49:47 -05:00
tgstation-ci[bot]andGitHub 42bab871bf Automatic changelog for PR #94824 [ci skip] 2026-01-12 22:48:50 +00:00
18eb58b4af Adds Positive and Negative Mood Events For Killing Xenomorphs (#94824)
## 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>
2026-01-12 17:48:32 -05:00
tgstation-ci[bot]andGitHub 41694ad4c6 Automatic changelog for PR #94752 [ci skip] 2026-01-12 14:32:39 +00:00
MelokGandGitHub 455089e20a Adds an engi pocket oxygen tank to kinetic crusher kit (#94752) 2026-01-12 15:32:17 +01:00
tgstation-ci[bot]andGitHub f3b7af692e Automatic changelog for PR #94823 [ci skip] 2026-01-12 02:20:13 +00:00