## About The Pull Request
Fixes#71092
## Why It's Good For The Game
Flaky tests bad, fixman good...
## Changelog
🆑
fix: Pubby's whiteship no longer breaks when it tries to dock
/🆑
## About The Pull Request
multitile airlock assemblies from a broken multitile airlock are the
same direction
## Why It's Good For The Game
fixes#81406
## Changelog
🆑
fix: multitile airlock assemblies from a broken multitile airlock are
the same direction
/🆑
Adds a mail sorting unit!
The unit accepts mail, stores it and sorts it per department. It can
also search for individual envelopes, change it's output tile and be
VERY loud.
At the meantime, this PR also adds two flatpack subtypes - flatpacker
subtype and mail sorter subtype. The first one is intended to be used by
mappers to have a flatpacker be accessible roundstart, and the second
one is now sold at cargo wardrobes to make the mail sorter also
available roundstart.
## About The Pull Request
**1. Code Improvement**
- Moved global pipe crafting recipe list into
`code/__DEFINES/globalvars/list` folder because its a global list & it
should belong there. Reduces size of RPD file
- Moved `datum/pipe_info` into `code/__DEFINES/globalvars` folder
because it's used by both RPD & crafting recipe so its a global var.
Reduces size of RPD file
- Replaced a bunch of `usr` with the proper user variable when available
- Autodoc for procs & vars
**2. Refactor**
- Attack chain for RPD has been refactored to `interact_with_atom()` &
`interact_with_atom_secondary()`
## Changelog
🆑
refactor: improved attack chain code for rapid pipe dispenser
code: organized lists & global vars for rapid pipe dispenser into their
own respective files & improved a bunch of code
/🆑
## About The Pull Request
This PR improves our jetpacks in 2 major ways: partially decoupling them
and intentional space movement from SSnewphys, and implementing
consistent pushoff speeds.
Currently jetpacks work by applying constant newtonian force whenever an
input key is held down by a client and stabilizing the movement every
time they get processed by SSnewphys which is an SS_TICKER subsystem,
which means that it attempts to fire prior to everything else and has a
wait of a single tick. This would be fine if we could guarantee that
there isn't another SS_TICKER subsystem with a higher priority that
constantly overtimes... oh right, that'd be the most important subsystem
of SSinput.
Newtonian impulses, both when starting a drift and when applying
continious force rely on SSnewphys to fire the loop, which can end up
not happening due to overtime in input (and is a frequent issue on
highpop). To circumvent this, newtonian impulses now forcefully fire
their drift loop regardless of SSnewphys, thus ensuring that the
movement always happens in the tick it was called (If you ask something
to move with an ``instant`` flag you'd expect it to move the same tick).
Second issue stems from the fact that jetpacks try to move you at your
movement speed, except when pushing you off objects they hijack normal
movement code that would've ran, resulting in a single tile of slow,
janky movement (Or, when moving along walls, making the controls feel
"sticky" and worse than what you'd have without a jetpack in the first
place). By forcefully applying enough force to make players move at
expected speeds, we can solve that issue.
Third issue stems from a minor mistake in SSnewphys processing order -
process() on jetpacks ran **after** moveloops have fired, so all
stabilization only applied next tick. I swapped fire orders around which
solves this problem too, although it won't be triggering much as
stabilization would now forcefully fire the related loop by itself.
https://github.com/user-attachments/assets/1068f68b-2cd1-49b0-bff0-1f79ed0aed5a
Also I've refactored wings to be jetpacks since they behave exactly the
same, which is a bit cursed if you think about it.
## Why It's Good For The Game
Jetpack movement is highly inconsistent in speed/smoothness, janky and
gets ruined by even a slightest amount of overtime in subsystems above
it - this should solve all of those issues.
## Changelog
🆑
qol: Jetpacks are significantly smoother and nicer to use now - and not
affected by lag anymore!
code: Cleaned up spacemove/jetpack code a bit and moved some common code
to helpers.
refactor: Wings are now... jetpacks. They behave exactly the same and
this should reduce the amount of copypaste code in spacemove
significantly.
/🆑
## About The Pull Request
- Removed the following unused/unchanging vars from machines
- `wire_compatible`
- `machine_power_rectifier`
- `market_verb`
- Removed setting `fair_market_price` in places which did not check for
NAP violations like cryo & coffee pot
- Autodoc for other vars & procs. Adds modifiers for procs where it
makes sense
- Merged `base_item_interaction()` with its already existing
implementation. RPED now adds finger print to the machine & respects
`COMSIG_TRY_USE_MACHINE`
- Removed proc `locate_machinery()` which was only used by turbine
machinery,
## Changelog
🆑
code: improved code for machinery
/🆑
---------
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
## About The Pull Request
This adds a crate to medical holodeck sim with a full set of human
organs inside a freezer containing:
- heart
- lungs
- eyes
- ears
- tongue
- liver
- stomach
- appendix
##### (And yes, a holodeck organ can fade away while it's still inside
someone causing them to suffer organ loss)
## Why It's Good For The Game
Immersion.
## Changelog
🆑
add: Add medical human organ crate emergency medical holodeck simulation
/🆑
## About The Pull Request
Technically an improved port of
https://github.com/DaedalusDock/daedalusdock/pull/651, instead of only
storing height over 32 pixels for HUDs we store both pure height and
width for the sake of cutting down on icon operation spam (which is
pretty costly). Should save us a significant amount of time, cuts down
update_health_hud times by 45% and total update_health by 30% which is
pretty good for a somewhat hot proc.
## Why It's Good For The Game
Our health HUDs constantly fetch icons ***twice*** every update_health,
jesus.
## Changelog
🆑 SmArtKar, Kapu
code: Implemented caching for icon sizes which should significantly
improve mob health performance due to HUDs constantly fetching icons
/🆑
<!-- 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
Surgery trays now have a small chance to become medical toolboxes.
Autopsy trays can become coroner toolboxes.

They work basically the same, just that they can't be rolled around and
don't slow you down when walking around.
Medical toolboxes are fairly weak, but coroner toolboxes are pretty
strong.
Added a 1 in 1.000.000 chance for a toolbox to have four latches.
<!-- 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
> Surgery trays now have a small chance to become medical toolboxes.
Autopsy trays can become coroner toolboxes.
> They work basically the same, just that they can't be rolled around
and don't slow you down when walking around.
The idea of going to the surgery room and finding a _medical toolbox_
instead of a surgery tray is inexplicably amusing to me.
> Medical toolboxes are fairly weak, but coroner toolboxes are pretty
strong.
Healers and hurters!
> Added a 1 in 1.000.000 chance for a toolbox to have four latches.
peak absurdity is reached
~~next pr will include brown toolboxes, which clip to your belt~~
credit 2 @SmArtKar for sprites
<!-- 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. -->
🆑
carlarc, smartkar
add: Surgery trays now have a small chance to become medical toolboxes.
Autopsy trays can become coroner toolboxes.
add: Added a 1 in 1.000.000 chance for a toolbox to have four latches.
/🆑
<!-- 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. -->
## About The Pull Request
Using a toolbox on an object will now bring up a radial menu containing
all "tools" inside of it, and picking one will put it in your offhand
and use it on the object you clicked. After use, the item will be stowed
back in the toolbox. Welding tools will be turned on (and off when
stowed), and spess knives will give you an option to pick which tool you
want to use. Only certain items qualify as tools (most items that would
fit into a toolbelt do), so you cannot use this to sneakily attack
someone with an esword.
https://github.com/user-attachments/assets/0cd5c859-490f-4643-b451-92ce15a34fba
Using a toolbox in such a fashion passes click modifiers through,
allowing you to use left/right, ctrl and alt click modes of items just
fine.
God bless our attack chain.
## Why It's Good For The Game
Toolboxes are inferior to toolbelts and boxes in almost every single
way, being only capable of storing 7 items and not fitting anywhere.
This gives them an actual use and maybe they'll see use in actual
construction projects.
## Changelog
🆑
add: Toolboxes can be used on any object to pull out and use a tool from
it as long as your offhand is free.
/🆑
---------
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
## About The Pull Request
Removes some /New overrides, replacing them either with nothing because
they're entirely redundant or with more intuitive/consistent interfaces
## Why It's Good For The Game
Code consistency/readability, fixes an obscure potential-bug that would
delete non-implanted cybernetic implants that are a part of a
loadout/outfit, I'm being haunted by code from 2015 send help
## Changelog
Hopefully not player facing. Except this random thing I saw while I was
here.
🆑
spellcheck: paywall firing pins no longer set the gun description to the
pin's description on removal
/🆑
## About The Pull Request
- Fixes#76827
This removes gravity from the following areas:
- Solars
- Nearstation
- Space
- Ordnance bomb testing
##### Note - Asteroid areas (Tram) or planet areas (Ice) are not
affected.
<details>
<summary>Examples of outside gravity turfs</summary>

</details>
Now stepping on floor plating in those areas will result in mobs
drifting. (like they do inside the station when gravity is offline)
Stepping on or near catwalks, lattices, or walls stills controls your
movement. Also refactored a little bit of the `has_gravity` code to use
defines instead of `TRUE/FALSE`.
## Why It's Good For The Game
Consistency. Mag boots are highly recommended when performing EVA.
## Changelog
🆑
fix: Fix gravity for areas in space near station (solars, nearspace,
bomb testing, etc.)
/🆑
<!-- 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
- Material anomaly will now self-delete after 1-4 relocations
- Bioscrambler now has a countdown like all other anomalies
- Increased anomaly lifetime from 99 seconds to 120
- Adds some more detonation effects where there were none (see: I abuse
the circle effect jacq added (again))
## 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. -->
Material anomalies can wreak insane havok throughout the station if it's
not caught quickly. It's a cat and mouse game, which can get kinda
frustrating (flashbacks to trying to get the anomaly but it constantly
teleporting just before I get to it). I don't wanna kill the cat & mouse
game, but putting a limit on it so the entire station doesn't suffer
endlessly to pizza/snow/jungle toilets is a nice middle road.
Bioscramblers are actually beyond frustrating. If someone doesn't
immediately go for them, they'll start locking on and noclipping through
the entire station and mutating every single person for the rest of the
shift. This would probably be less bad if the bioscrambler couldn't give
every single organ (par some blacklisted), causing a lot of irreversible
damage, spontaneous combustions, glitches and creeping rare organs and
limbs into a round "for the lulz". (This doesn't fix the absolute organ
slop that they cause, but reworking bioscramblers not to be shit is for
later.)
I've also given anomalies 20 extra seconds of runtime. Anomalies take 99
seconds, take 30 to announce (for most), giving scientists 69 seconds to
get anomaly catching gear and navigate to the area and defuse it. It's
always felt like just barely too little time, often not getting the
anomaly even when I am beelining. It was usually enough from when we
just had meta, but we got bigger and bigger maps. It also gives them
more time to wreak havoc for chaos lovers.
## 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. -->
🆑
balance: Bioscramblers are no longer immortal
balance: Anomalies give 20 extra seconds to defuse! Or 20 extra seconds
for them to reach havoc...
balance: Material anomalies only teleport 1-4 times before detonating
/🆑
<!-- 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. -->
## About The Pull Request
I apparently missed a second proc that handles sanity checks with
holding a firelock open. Since it expected mobs, it would challenge the
crowbar holder against an `isliving()` check, which non-mobs
automatically fail. So I'd fixed the issue of a mech holding half a
station's firelocks open remotely, but now the mech couldn't hold one
firelock adjacent.
I've done the same checks with mobs using crowbars (both human and
borgs), and this change again doesn't affect them.
## Why It's Good For The Game
Fixing my own bugs.
## Changelog
🆑
fix: Mechs with crowbar-like tools can now hold adjacent firelocks open
correctly.
/🆑
## About The Pull Request
- Fixes#88272
- Fixes#75480
- Fixes#77658
- Fixes#76380
- Fixes#78664
- Fixes#88272
- Fixes#50078
Gravity checks used to be on `mob/life()` proc and were moved to an
event based architecture to boost performance which lead to some edge
cases not being fully covered. The primary one being any teleport effect
which is now fixed. Another niche way was involving creating/destroying
floor tiles underneath a mob which is now also fixed.
## Why It's Good For The Game
Gravity now behaves normal.
## Changelog
🆑
fix: Fix gravity not updating for mobs when teleporting, wormhole
jaunters, wizard spells, tile creation/destruction, mech entry/ejection
and other methods.
/🆑
## About The Pull Request
- Moves borg inducer to the same file as other inducers for easy
maintainence
- Compressed code for its `get_cell()` proc
- Fixes examines & screentips for borg inducer
## Changelog
🆑
code: slightly improved code for borg inducer
spellcheck: fixes examines & screentips for borg inducer
/🆑
---------
Co-authored-by: AMyriad <143908044+AMyriad@users.noreply.github.com>
## About The Pull Request
Closes#87423
## Why It's Good For The Game
The sound this produces when AI states laws on a non-common frequency is
highly jarring and shouldn't be spammed every time someone from command
asks AI to state laws (or security uses a tape recorder in the
interrogation room).
## Changelog
🆑
qol: AI laws and tape recorders no longer cause radio blips
/🆑
## Why It's Good For The Game
The hub text has a limited (255) amount of characters. Time Dilation
being in there makes it so that the "Next Map" is cut off and doesn't
show.
I get that Time Dilation was added to show off the new TG server. But
it's not necessary now and as a player looking at the hub I care way
more about the next map than "time dilation" especially when no other
server displays their lag rate in the hub so we have nothing to compare
it to
## Changelog
🆑
del: Time Dilation no longer shows in the hub text
/🆑
## About The Pull Request
Looks through calls to `receive_damage` and replaces them with calls to
`apply_damage`
`receive_damage` is a gross to use internal proc that doesn't take into
account physiology (damage modifiers) or even update the mob's sprite
when taking damage
It should be avoided many uses - `apply_damage`, in fact, can take a
bodypart as a target, and is overall a lot easier and more ergonomic to
use.
"So what are valid uses of it?"
- Apply damage itself, and similar direct-damage procs
- Ensuring you deal an exact amount of damage to a bodypart
- Damaging a limb with no owner
## Changelog
🆑 Melbert
refactor: A ton of things now use the more correct method of applying
damage to you. Which means they will correctly factor in damage
modifiers and are less likely to break your sprite. Some examples
include embedded objects jostling around, chiropractice, and tackling a
wall. Report any oddities, such as extreme damage or bodyparts being
wrongly affected.
fix: Having acid splashed on your face may now disfigure you and make
you bald, as it once did three years ago.
fix: Itchy heretic trauma now better checks if the bodypart is covered
or not before determining if you should itch.
fix: "Repair Puncture" logs no longer mistakenly report you are
"Incising burned flesh"
/🆑
## About The Pull Request
Commission plaques were outdated, so they needed updating. This adds
Wawa's merge date, which was not present, moves Northstar's to the
removed station list, and adds one for Nebulastation. I also
alphabetized the current map list to be in line with the removed list.
No map edits were made.
## Why It's Good For The Game
Just keeping things up to date
## Changelog
🆑
spellcheck: Station commission plaques (the gold ones that have the date
they were added) have been updated, adding Nebula's, fixing Wawa's, and
decommissioning Northstar's.
/🆑
## About The Pull Request
Moved all the icon_state setting logic of the broadcast camera to
`update_icon_state`, rather than setting it manually on (de)activation,
and resetting it to inactive in `update_icon_state`
## Why It's Good For The Game
Makes things more consistent.
## Changelog
🆑
fix: Made the broadcast camera's sprite more consistent, it hopefully
shouldn't reset to the inactive sprite while recording in some weird
scenarios now.
/🆑
## About The Pull Request
Recursion!
## Why It's Good For The Game
The code was weird, allowed you to teleport butter and void rods.
## Changelog
🆑
fix: You can no longer stick a butter on a stick on a stick
/🆑
## About The Pull Request
the dotted color board was missing a color for the 10th digit, and
orange and brown were not valid byond colors (damn you ghommie)
fake scrubbers and vents use the correct layer and plane
you may no longer deconstruct indestructible windows
you can no longer push indestructible grilles and robust windows if you
have a strong move force
step teleporters may not teleport abstract objects or mirage holders
(due to init shenanigans this sometimes teleported a mirage holder
messing the visuals up)
## Why It's Good For The Game
bug bad also i didnt make these bugs ok
## Changelog
🆑
fix: fixed the museum password puzzle (to the cafeteria), and the
scrubbers and vents there now look correctly (also fixed a rare visual
bug)
fix: it is now harder to bypass indestructible windows and grilles
(those are placed there for a reason, you know!)
/🆑
## About The Pull Request
Last night I was experimenting with hooking up different chemicals to a
shower and discovered that blood didn't really do anything other than
have red mist and particles. Your characters clothes were still cleaned.
The mood boost was still happy. So I reworked it a bit.
Blood now:
- Gives a negative mood, disgust, and status effect when showering with
it (unless you are morbid, evil, or undead, then it's considered
positive)
- Has an icon alert for bloody showers
- Covers a mob's clothing with blood when showering (or any objects on
the tile)
- Tossing or spraying a container full of blood now covers objects/mobs
in blood
- The revenant defile spell now affects showers by removing all water
recyclers and reagents that gets replaced with blood
Showers now:
- Require 70% of water to clean and get mood/status effects
- Require 70% of blood to get mood/status effects
- Require 20% of radioactive reagents to stop radiation removal effects
So it's possible to have a clean water shower that is secretly
radioactive. Since radioactive reagents do nothing on `TOUCH`, all this
achieves is preventing the water from washing off the radiation.
I did have to refactor some of the reagent code to support method types
for objects since I was experiencing hazmat issues when I was testing.
Whenever I would inject blood from a syringe into a beaker, it would
cover the beaker in blood on the outside. This would have been extremely
hazardous for viruses. So I needed to make sure we are only applying it
to the methods for `VAPOR|TOUCH`
Also improved the mood typecasting for owner to allow checking of mob
biotypes. (so we can check `UNDEAD` for mood)
## Why It's Good For The Game
Blood effects and interactions are now more consistent. The code for
objects is refactored to support method interactions with reagents.
Evil/Morbid people now get some unique interactions that fit their
theme. Last we get a cool new ability to let revenant's make their
defiled areas something out of a horror movie.
## Changelog
🆑
add: The revenant defile spell now affects showers by removing all water
recyclers and reagents that gets replaced with blood.
add: Showering in clean water (+70%) results in positive
mood/regen/stamina effects. It will wash off the mob.
add: Showering in dirty water results in negative mood effects and
disgust. It will NOT wash off the mob.
add: Showering with radioactive reagents (+20%) results in the
preventing the shower from washing off the radiation.
add: Showering in blood (+70%) results in severe negative mood effects
and disgust. (unless you are morbid, evil, or undead then it's
considered positive) It will cover the mob in blood.
add: Water effects that interact with a mob from touch or vapor
(showering/spray bottles/etc.) will now heal sleep, unconsciousness,
confusion, drowsiness, jitters, dizziness, and drunkenness.
fix: Fix bloody showers not covering objects in blood.
fix: Tossing or spraying a container full of blood now covers
objects/mobs in blood
fix: Fix wrong status effect for watery tile
image: Add new alert icons for bloody/dirty showers
code: Refactored some expose_obj reagent code to support method types.
code: Improved mood typecasting for owner to allow checking of mob
biotypes.
/🆑
---------
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
## About The Pull Request
You can now fish from aquariums if you wish to. This includes some
backend changes to make it possible for the fish table from
get_fish_table() to contain instances, and all that it entails up to
spawn_reward(), which is a requirement for the gimmick to respect the
various traits and other variables of the already instantiated fish
rather than read from cached properties.
## Why It's Good For The Game
The fish progress score/index had only little nasty flaw that has been
nagging me since day one: Not all fish species can be caught. Skipping
McGill, which is a peculiar case that for cheevo purposes should be
considered a standard goldfish, there is the one, unsignificant yet rare
purple sludgefish which can only be gotten as a rare evolution of the
generic sludgefish. Talk about petty, but this may be a long-term nit I
prefer to handle right now.
Also why not? The 'unmarine mastodon' is near impossible to get unless
you somehow find a oil well which is locked behind a specific ruin.
## Changelog
🆑
fix: Aquariums are now potential fishing spots.
/🆑
## About The Pull Request
You can now wear a hat on any modsuit, even w/o the stabilizing module.
However:
- It will always sit slightly askew, at an angle.
- Involuntarily falling to the ground for any reason will cause the hat
to fall to the ground.
- Being thrown, slapped, or slipped will send it flying off.
Added the Atrocinator, Hat Stabilizer, and Tanning modules to the black
market.
Added the loose hat component to bio/bomb/rad hoods and space helmets.
## Why It's Good For The Game
> You can now wear a hat on any modsuit, even w/o the stabilizing
module.
I think the notion of, say, the Head of Security putting his cap on his
modsuit and then being slipped by the clown, who then steals the cap, is
really funny.
https://github.com/user-attachments/assets/3ad8a74d-0cb8-4118-8beb-d2ce9c76b358
The module is fairly rare and sometimes I just want to wear a silly hat
alongside the modsuit without badgering the captain for his hat module.
The downsides are rather plentiful so it's not like the hat module is
made irrelevant - if anything it makes it more notable.
This will add a bunch of enjoyable silliness to rounds, so I think it's
worth it.
> Added the Atrocinator, Hat Stabilizer, and Tanning modules to the
black market.
> Added the loose hat component to bio/bomb/rad hoods and space helmets.
It sucks losing your iconic drip when you need to venture out to space
for whichever reason - this lets you keep it without taking up space in
your bag, while having the throw downside.
They just feel perfect for the vibes of the black market. More
miscellaneous completely useless fancy stuff that has exorbitant prices
please!
## 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 it's 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: You can now wear a hat on any modsuit, even w/o the stabilizing
module. But it may easily fall off...
add: Added the Atrocinator, Hat Stabilizer, and Tanning modules to the
black market.
add: Added the loose hat component to bio/bomb/rad hoods and space
helmets.
/🆑
~~I'm having a bit of an issue. Somewhere I fugged up and now the worn
overlay on the mod helmet sprite doesn't work properly...~~ Turns out
that code was never used and nonfunctional to begin with so I removed it
entirely yay
## About The Pull Request
Adds a new biotype, MOB_AQUATIC, indicating the mob is water-themed
somehow. Given to carp, lobstrosities, frogs, axolotls, penguins, fire
sharks.
Aquatic mobs can be hooked by fishing rods, even without a jawed fishing
hook installed.
The carp and fish infusion sets now give the infusee the aquatic
biotype. Added support for infusions adding a biotype.
You can check for a fish's pulse with a stethoscope, which will tell you
its status even without fishing skill.
Refined fish health status checks to be more precise.
Added 'Fishy' Reagent, a version of strange reagent that only works for
fish or aquatic biotype mobs. It's made with omnizine, saltwater, and
carpotoxin or tetrodotoxin.
Added a lifish chemical reaction that creates fish.
## Why It's Good For The Game
Fish content fish content fish content
> Adds a new biotype, MOB_AQUATIC, indicating the mob is water-themed
somehow. Given to carp, lobstrosities, frogs, axolotls, penguins, fire
sharks.
We were really missing this one by now.
> Aquatic mobs can be hooked by fishing rods, even without a jawed
fishing hook installed.
> The carp and fish infusion sets now give the infusee the aquatic
biotype. Added support for infusions adding a biotype.
I want to reel in fish people. This is going to be hilarious.
> You can check for a fish's pulse with a stethoscope, which will tell
you its status even without fishing skill.
Fish doctor content - also lets you see the exact status of a fish's
health even if you haven't interacted w/ fishing that shift.
> Added 'Fishy' Reagent, a version of strange reagent that only works
for fish or aquatic biotype mobs. It's made with omnizine, saltwater,
and carpotoxin or tetrodotoxin.
A somewhat easier to get version of strange reagent, purely for fish, as
they die very easily and the road to making SR is a large diversion. I
might add this to cargo, maybe?
> Added a lifish chemical reaction that creates fish.
Fish. fish fish fish fish fish.
@Ghommie
## Changelog
🆑
add: Adds a new biotype, MOB_AQUATIC, indicating the mob is water-themed
somehow. Given to carp, lobstrosities, frogs, axolotls, penguins, fire
sharks.
add: Aquatic mobs can be hooked by fishing rods, even without a jawed
fishing hook installed.
add: The carp and fish infusion sets now give the infusee the aquatic
biotype. Added support for infusions adding a biotype.
add: You can check for a fish's pulse with a stethoscope, which will
tell you its status even without fishing skill.
qol: Refined fish health status checks to be more precise.
add: Added 'Fishy' Reagent, a version of strange reagent that only works
for fish or aquatic biotype mobs. It's made with omnizine, saltwater,
and carpotoxin or tetrodotoxin.
add: Added a lifish chemical reaction that creates fish.
/🆑
---------
Co-authored-by: _0Steven <42909981+00-Steven@users.noreply.github.com>
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
## About The Pull Request
A new item for 2 TC has been added to the chef's traitor uplink –
Molt'Obeso sauce!
Buying it, you get a bottle for 50 units, filled with this sauce. After
eating Molt'Obese, you'll think you're still hungry. It also removes the
limit on how much food you can eat, so you can just keep going and
going, but you never get full. Plus, Molt'Obeso helps your body absorb
more nutrients from food, so the food is even more nourishing with it.
## Why It's Good For The Game
The Syndicate sabotages the NT station by making everyone fat?
## Changelog
🆑
add: Add a new item to the chef traitor's uplink: Molt'Obeso sauce. A
sauce that makes people want to eat too much.
/🆑
## About The Pull Request
https://github.com/user-attachments/assets/173c1753-3da4-4180-80ea-eb49d19e7b2f
Purely visual. Pulling someone from an IV drip is dangerous so it's nice
to make it more clear than the current very small appearance change that
doesn't give you any more information than that *someone* is connected.
If you review tell me on Discord bc I don't check GitHub
## Changelog
🆑
qol: IV drips now create a beam from their spout to your body, and will
visually pull you closer.
/🆑
## About The Pull Request
`boldannounce` is NOT for use ICly it's only for OOC stuff. `bolddanger`
is identical it just doesn't carry the same baggage
## Changelog
🆑 Melbert
fix: Stuff like the SM exploding will no longer output to your OOC tab
/🆑
## About The Pull Request
- Fixes#88105. No default sound & balloon alert when the chainsaw is
turned on & it's not invisible in hand when it's turned off
- Fixes
https://github.com/tgstation/tgstation/issues/88105#issuecomment-2493592188.
The mounted chainsaw has a new animated sprite when turned on instead of
going invisible
## Changelog
🆑
fix: chainsaw is not invisible when turned off in hand
fix: chainsaw won't play ping sound when turned on
fix: mounted chainsaw has a new animated sprite when turned on & won't
go invisible in hand
/🆑
## About The Pull Request
Didn't even know they had this until it stopped lighting.
While it has fuel, it says it has x fuel out of its maximum.
When empty, it says what to refuel it with (welder fuel)

<details><summary>(For reference, Welders have something similar)
</summary>

</details>
I do not know how to set up math to make this number more useful; it
tends to burn .25 units ever few seconds but beyond that it's just
numbers and I'm not the best with numbers.
At the least you can see if it's full or empty.
## Why It's Good For The Game
This mechanic is not shown to players in any way besides the lighter not
lighting.
## Changelog
🆑
qol: added an examine note to lighters showing their fuel
/🆑
---------
Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
## About The Pull Request
Prevents ghost from emitting analyzing sounds when using the gas scan
verb
## Why It's Good For The Game
Fixes a little bug
## Changelog
🆑 Hardly
fix: Ghosts can no longer emit spooky analyzing sounds when scanning
/🆑
## About The Pull Request
Lil cleanup/tweak I couldn't do in the main PR because it conflicted
before and i forgot after. Yes this works with overrides that don't have
the arg, yes I tested it.
## Why It's Good For The Game
Don't run armor code thrice please thank you
## Changelog
🆑
code: Projectile impacts no longer fetch mobs' armor values thrice
/🆑
## About The Pull Request
bro its a hammer
(speaking of, i feel like it should fit on the toolbelt & be a crowbar.
but that's basically 1:1 the preexisting claw hammer, idk)
## Why It's Good For The Game
bro it's a hammer.
## Changelog
🆑
qol: carpenter hammer fits on belt slot
code: renames belt_icon_state to inside_belt_icon_state for
intelligibiility
/🆑
## About The Pull Request
You do realize in most cases the player must be ***wearing*** the damn
thing to use it, right? Also I am truely clueless as to why we were
registering to defib.loc since check_range checks for turfs anyways.
## Changelog
🆑
fix: Fixed some issues with defib paddle retraction.
/🆑
## About The Pull Request
Adds the crafting complexity to the slices of baklava, so it doesn't go
from very good to nice after you slice it.
Was asked to put the fix to upstream.
## Why It's Good For The Game
If I have one more food suddenly degrade in quality after slicing it
into multiple portions I am going to explode the fucking kitchen,
especially after having to bother Hydroponics to mutate a plant
specifically for it
## Proof Of Testing

</details>
## Changelog
🆑
fix: Makes a sliced baklava pie keep its complexity after slicing
/🆑
## About The Pull Request
Tested on a private server with edited odds that the pulse rifle doesn't
spawn when won and only the message pops.
After code edit it spawned accordingly but the low odds remain.
## Why It's Good For The Game
Beating one in a million odds and not getting a pulse rifle is
disappointing, it should spawn now.
## Changelog
🆑
fix: fixed the pulse rifle not spawning when won
code: added get_turf to the pulserifle when the odds are beat.
🆑
## About The Pull Request
damage done by thrown objects to /obj is multiplied by the demolition
modifier
## Why It's Good For The Game
i think its supposed to respect the demolition mod i mean uhh that seems
like an oversight??
## Changelog
🆑
fix: damage done by thrown objects to objects respects their demolition
modifier
/🆑
## About The Pull Request
We null-ed fish_source before actually creating the component using that
value. Happens to all of us.
## Changelog
🆑
fix: Fixed fishing turfs not lazyloading
/🆑