## About The Pull Request
Are YOU annoyed about never finding the fucking mats you need? Slap some
cable coil on an analyzer and find that untouched sheet of iron and or
glass. It's a pinpointer for basic sheets.
## Why It's Good For The Game
Originally I meant to give this as something borgs might want, but I
realized they really won't have a great time using it and the situation
is more about botanists not being asked, and not knowing how to grow
lots of iron, repeat for all other departments. Awareness problems!!!
But I still like the item as a miscellaneous craftable.
## Changelog
🆑
add: Craftable Material sniffers
/🆑
---------
Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
## About The Pull Request
Tablet UIs are now changed when opening/closing an app, instead of
constantly checking for a UI change every ui update.
Program UI acts no longer call parent, as it was unnecessary, Computers
are the ones that should be calling it.
Fixes a ton of problems with static data not updating, such as in
Messenger, ID management, Siliconnect, and Chat client
Chat Client's Admin mode also works again, which was broken when
accesses to check was turned into a list.
Turns a few lists in Robocontrol into static ones when we aren't
changing anything, and makes it actually scan your ID's access.
Fixes budget ordering being unable to show the cart/call the cargo
shuttle.
## Why It's Good For The Game
While I can't seem to find a single issue report on any of the above,
these are still problems that should be fixed.
## Changelog
🆑
fix: SiliConnect can download borg logs again.
fix: The RD can once again enable Admin mode on Wirecarp
fix: NT IRN can once again see the shopping cart and call the cargo
shuttle.
fix: Chat Client, ID Management and Messenger should now update their
UIs properly.
code: PDAs will hopefully not lag as much when clicking on buttons (such
as in ID management).
/🆑
## About The Pull Request
Exactly what it says. You want to set people on fire using a candle or a
flare now? No problem.
## Why It's Good For The Game
Not sure why you could never do this.
## Changelog
🆑
fix: mobs can now be set on fire using flares and candles if they are
covered in something flammable
/🆑
## About The Pull Request
Right so, I was trying to imagine why goliath cloak isn't fire proof
when goliaths can quite literally bathe in lava. So I decided it must be
an oversight.
So now they're fireproof.

## Why It's Good For The Game
Fireproof mob leather is actually fireproof
## Changelog
🆑
fix: fixed an oversight - Made Goliath Cloak and Goliath Cloak Hood
fireproof. And Goliath hide.
/🆑
## About The Pull Request
Ya so I just recently learned about the portable chem mixer and after 10
minutes of playing with it I found a game breaking exploit on accident
and ended up thinking part of it was intentional.
Basically this is how the portable chem mixer currently works, you put
beakers with chems into it and then you change it to dispense mode which
disallows opening the inventory (but doesnt close it) once you change it
to dispense mode the next beaker you put in it becomes linked to it and
it can dispense chems from other beakers into this linked beaker.
The problem was it doesnt close your inventory, which lead me to believe
the beaker is supposed to be in your hand when you dispense chems into
it.
Then someone who I was having ic conflict with stole my beaker and I
noticed that the beaker still shows up in my dispense ui.....
And how excited I was to learn that I indeed could turn them into a
fireball from over a screen away..
https://www.youtube.com/watch?v=ebNJVYgVsKA
(For clarification the reaction I did was failed helgrasp which makes a
(non damaging) fireblast that sets people on fire and knocks them back)
The fix is to make it so the inventory of the portable chem mixer is
automatically closed when its locked so you cant take the beaker out (I
dont think instant summons will work either since that teleports the
container too so no need to check where the linked beaker is constantly)
## Why It's Good For The Game
This is an exploit that I firmly believe has BS murderbone
potential...imagine being able to remotely dump chems into a bluespace
beaker...imagine giving someone a beaker that you have linked.
## Changelog
🆑
fix: You can no longer bypass the laws of bluespace with a portable chem
mixer.
fix: You can no longer bypass container locks with storage hotkeys.
/🆑
## About The Pull Request
Health analyzers are now red/blue if the temperature of the person is
too hot/cold



Also because I just noticed it, I moved the signal for health scan down,
meaning that things that are registered to it now work with inverse
technetium setting it to advanced mode.
I also removed the ishuman check for bleeding because it's a carbon
proc. This has no game-effects as xenos don't have DNA.
## Why It's Good For The Game
We currently expect doctors to see all the important information with
red text to know what needs to be fixed, however this is not the case
for temperature, we are currently expecting them to pay attention to a
body's temperature, and what their species can handle. I think this is
quite lame, and I think it would be better if it worked like everything
else in the analyzer.
## Changelog
🆑
qol: Health analyzers now show body temperature in red/blue if the
temperature of the body can't sustain it's own life.
fix: Inverse technetium now properly gives advanced details in
genetics/radiation analyzing.
/🆑
Lowercased RPD name and lowered the speeds for building atmos pipes/devices, reprogramming stuff and destroying stuff
atmos 0.5s -> 0.3s
reprogram/destroy 0.5s->0.3s
Why It's Good For The Game
QOL for atmos, makes big atmos/engi projects more viable
Loose pipes/devices don't even have gas in them no point in taking a lot of time to destroy them, they don't cost any materials to make either so nothing is wasted
This especially helps with fixing huge explosions since that leads to 50 pipe fittings being spammed everywhere and takes ages to clean up
Changelog
cl
qol: Lowered the atmos build, reprogram, and destroy delays on the RPD
/cl
## About The Pull Request
1. `pre_attack()` was defined twice, removed one
2. `attackby()` does the exact same thing as `pre_attack()` for
installing upgrades so removed that
3. Fixes runtime

When you attempt to unwrench a pipe via the RPD but you interrupt the
`do_after()` proc by moving. it doesn't need to crash but simply return
if unwrenching was unsuccessful see
`/obj/machinery/atmospherics/wrench_act()`
## Changelog
🆑
refactor: removed duplicate `pre_attack()` & redundant `attackby()`
procs which did the same thing
fix: unnecessary crash when unwrenching pipes/devices with the RPD
/🆑
## About The Pull Request
Generally cleans up code on both components.
Moves burn proc back to /obj level, I'm not sure why I moved it to /atom
level, it was unnecessary.
Acid component generalized so it can be used on any atom that uses
atom_integrity.
Fixes a bug where objects that stopped burning didn't update their burn
overlay properly due to bad removal logic and leftover code.
Standardizes examine messages on burning items by just slapping an
examine signal registration on the component.
Adds fire particles to items thanks to Lemon's PR:
https://github.com/tgstation/tgstation/pull/74524
## Why It's Good For The Game
Particles look cool


Bugfixes are good
Code improvements are good
## Changelog
🆑
add: Burning items now get (small) smoke particles. Sick.
fix: Burning objects now clear their burning overlay properly.
qol: Examining burning objects will always tell you that they are
burning.
/🆑
---------
Co-authored-by: san7890 <the@san7890.com>
## About The Pull Request
Adds an override for `attack_robot()` on reflectors, which is called
when a borg clicks on an object with no tool selected. Only allows
rotating if the borg is adjacent to the reflector.
## Why It's Good For The Game
This was an undocumented change of #74800, and I assume unintended. In
any case, the inability to adjust reflectors somewhat restricts engineer
borgs' ability to engineer.
## Changelog
🆑
fix: Restores ability for borgs to adjust reflector angles. This is now
a left-click with nothing selected, similar to humans' left-click with
an empty hand.
/🆑
## About The Pull Request
Nothing too interesting to be quite honest, just cleans up the thermite
component code a bit because it was a bit weird.
## Why It's Good For The Game
This probably fixes a few rare bugs where the thermite overlay
disappears due to an update_icon call. Slightly neater code.
Also, adds an examine message to thermite walls because small QoL stuff
is neat.
## Changelog
🆑
qol: Thermited walls now get an examine message telling you they are, in
fact, thermited.
/🆑
---------
Co-authored-by: san7890 <the@san7890.com>
## About The Pull Request
Simply put, unless overriden, items with the ON_FIRE flag will always be
at least 150º C (491,15 kelvin).
I didn't want to pack this change with
https://github.com/tgstation/tgstation/pull/74803 because I feel this
might have some weird unintended consequences, maybe.
## Why It's Good For The Game
Emergent gameplay like lighting a cigarette with a burning piece of
paper, I guess.
## Changelog
🆑
add: Burning items are now actually considered to be at a minimum, 150
degrees celsius by the game.
/🆑
---------
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
## About The Pull Request
When the syndicate posters were added, they were intended to be a
traitor objective. To quote from the original PR:
>"If you start seeing red posters then you know there are traitors
somewhere."
As an unintended consequence of how poster randomization works however
they are able to spawn from the base random poster mapping object,
defeating the purpose. They should only be able to be placed by actual
player traitors (or a deliberate mapping decision).
This PR just removes them from the pool of posters to select from when
using `/obj/structure/sign/poster/random`. You can still use
`/obj/structure/sign/poster/traitor/random` to spawn random traitor
posters both when mapping or ingame via commands.
This will close https://github.com/Skyrat-SS13/Skyrat-tg/issues/17956.
## Why It's Good For The Game
More control over mapping poster placement.
## Changelog
🆑
fix: traitor objective posters will no longer be able to spawn from
general random poster spawners.
/🆑
---------
Co-authored-by: san7890 <the@san7890.com>
## About The Pull Request
Removes a bunch of sound files that we don't use and moves some sound
files into better locations. I'm hoping to get an archive repo for
sounds going, much like the
[map_depot](https://github.com/tgstation/map_depot) and
[SS13-sprites](https://github.com/tgstation/SS13-sprites).
EDIT: The old sound files are being moved here:
https://github.com/tgstation/SS13-sounds
Also increased the volume of the clownana rustle sound and clipped off
some dead air from shockwave_explosion
## Why It's Good For The Game
Removes a total of 1.95MB worth of unused sound files from the codebase.
## Changelog
🆑 Tattle
soundadd: increased the volume of the clownana rustle
/🆑
---------
Co-authored-by: tattle <article.disaster@gmail.com>
## About The Pull Request
This whole PR started because I realized that baseball bats are not
actually flammable which I found weird, then I looked at a whole bunch
of other stuff that really should be flammable but also isn't.
## Why It's Good For The Game
Makes wooden objects behave slightly more consistently? Honestly, most
of these seem like oversights to me.
## Changelog
🆑
balance: The following structures are now flammable: Picture frame,
fermenting barrel, drying rack, sandals, painting frames, paintings,
spirit board, notice board, dresser, displaycase chassis, wooden
barricade
balance: The following items are now flammable: Baseball bat, rolling
pin, mortar, coffee condiments display, sandals, wooden hatchet, gohei,
popsicle stick, rifle stock
/🆑
## About The Pull Request
list of fixes:
- dna infusers got a random check for the dna infuser to be open when
adding what you're infusing from. i made it intentional that they don't
require this for the infusion items, and it just seems to confuse people
so i'm reverting
- gondola martial art works again, the martial arts help proc literally
never worked GUHHHH
- gondola now correctly can't pick up items they're not able to hold
- adds a missing period to a rat organ examine
- small code cleanup in the species grab proc
## Why It's Good For The Game
feeexes
## Changelog
🆑
qol: made dna infusers less confusing to use by removing the "must be
opened" check
fix: fixed up gondola mutants and how to obtain them
/🆑
This text should be concatenated to the health report, not replace it
## About The Pull Request
Fixes a simple bug/oversight in the health analyzer code
## Why It's Good For The Game
It makes a thing work properly.
## Changelog
:cl:iain0
fix: Fixes an error in health analyzers which would cut off the top of
the health scan if the player was deaf.
/🆑
## About The Pull Request
### Polishes and Reworks Holograms
Hologram generation currently involves a bunch of icon operations, which
are slow.
Not to mention a series of get flats for the human models, which is even
worse.
We lose 0.05 seconds of init to em off just the 2 RCD holograms. it
hurts man.
So instead, let's use filters and render steps to achive the same
effect.
While I'm here I'll dim the holo light and make it blue, make the
hologram and its beam emissive (so they glow), and do some fenangling
with move_hologram() (it doesn't clear the hologram off failure anymore,
instead relying on callers to do that) to ensure holocalls can't be
accidentially ended by moving out of the area.
Ah and I added RESET_ALPHA to the emissive appearance flags, cause the
alpha does override and fuck with color rendering, which ends up looking
dumb. If we're gonna support this stuff it should be first class not
accidential.
### Makes Static Not Shit
While I'm here (since holograms see static) lets ensure the static plane
is always visible if you're seeing through an ai eye.
The old solution was limited to applying it to JUST ais, which isn't
satisfactory for this sort of thing and missed a LOT of cases (I didn't
really get how ai eyes worked before I'ma be honest)
I'm adding a signal off the hud for it detecting a change in its eye
here.
This is semi redundant, but avoids unneeded dupe work, so I'm ok with
it.
The pipeline here is less sane then I'd like, but it works and that's
enough
## Why It's Good For The Game

More pretty, better ux, **static works**
## Changelog
🆑
add: Holograms glow now, pokes at the lighting for holocalls in general
a bit to make em nicer.
qol: You can no longer accidentally end a holocall (as a non ai) by
leaving the area. Felt like garbage
fix: Fixes static rendering improperly if viewed by a non ai
/🆑
## About The Pull Request
Plastitanium glass no longer always creates stacks of 50, this was
caused by an accidental overload with the presized stacks used for
mapping.
Fixes#74802
## Changelog
🆑
fix: Plastitanium glass no longer always creates stacks of 50
/🆑
## About The Pull Request
I realized while working on another project, that the rolling table does
not play the rolling sound when it's moved. Absolutely criminal. I took
it upon myself to right this wrong. And not just because it will go
great with said project I'm working on. I swear.
## Why It's Good For The Game
Makes the visuals of the table moving work with the audio of the table
moving, instead of wondering due to the rarity of the rolling table
'Huh, is the table bugged?' if they haven't noticed the table name.
## Changelog
🆑
fix: The rolling table actually plays the rolling sound, as the lord
intended.
/🆑
## About The Pull Request
Removes network_id as it was completely unused now.
Also reworks the maints access secret buttons to work with how accesses
work now, taking into account req_one_access. This is theoretically a
problem when we moved to req_one_access more often in maints so
departments can access their own maint areas.
## Why It's Good For The Game
This is just minor changes I found while trying to edit other things,
and thought I should PR it.
## Changelog
🆑
admin: Secret buttons for Engineering/Brig maint accesses should now
work more consistently.
/🆑
## About The Pull Request
Resolves an extreme edge case where if (via adminbus or a downstream's
changes) a borg is somehow immune to being flashed, a laser pointer
would still be able to blind them.
## Why It's Good For The Game
Aerial rodent made its ninja cyborgs flashproof, but they're not laser
pointer-proof due to this bug. I figured that fixing this bug upstream
would be best, in case some insane /tg/ admin (or coder 😳) attempts to
flashproof a borg at some point in the distant future.
## Changelog
🆑 ATHATH
fix: Laser pointers will no longer disable borgs that have somehow been
made immune to flashes.
/🆑
---------
Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
## About The Pull Request
Thought https://github.com/tgstation/tgstation/pull/74552 was good?
YOU WON'T BE READY FOR THIS ONE...
## Why It's Good For The Game
free miniscule amount of performance by getting rid of some silly
component datums
## Changelog
player dont care
---------
Co-authored-by: san7890 <the@san7890.com>
## About The Pull Request
Body purists no longer mind implants with a special trait for "hidden
implants". This special trait is replacing the "syndicate implant"
variable and was just used to hide certain implants from medical
scanners.
## Why It's Good For The Game
fixes#74180
## Changelog
🆑
fix: Body purist headrevs having a bad time with their implant
/🆑
## About The Pull Request
Fixes eigenlockers bypassing teleport protections.

Tested w/ one and multiple lockers, prevents entering or exiting from a
tp-prot eigenlocker
## Why It's Good For The Game
This came up in an away mission designed to be a "one-way-trip", the
only exit being at the very end of the away mission. However, people are
able to bypass this with eigenlockers, thanks to them performing no
teleportation checks, which I believe is an oversight.
## Changelog
🆑
fix: Eigenstasium lockers no longer bypass teleport protection
/🆑
---------
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: san7890 <the@san7890.com>
## About The Pull Request
It isn't really an issue now, but these will be used more in future, so
let's start off strong.
There's a lot of work going on here that doesn't really need to be
happening, mostly off not knowing a trickTM.
Biggest one is vis_locs and vis_contents are linked lists, being in one
requires being in another. Atoms clear out their vis_locs on Destroy, so
we do not need to "own" references to things that have us in their
vis_contents.
This combined with knowing our old loc's loc off Moved made the use of
weakrefs here unneeded. Similarly, atoms inside atom movables qdel on
when the upper layer is deleted, so most cases of the qdeleting signal
were unneeded.
Also, we only cared about movement if we were an item (speaking of
which, I swapped out the isitem stuff with a flag that gets passed into
the new() call)
## Why It's Good For The Game
Speed
## About The Pull Request
0426f7ddba/code/game/objects/items/stacks/stack.dm (L449)
Ok, but can we not?
This PR refactors sheet crafting to generalize all the cases that were
previously locked behind grille/window type checks and such. In their
stead there are bitflags that can be set to achieve certain behaviors.
All the behavior from before should be preserved, but now it can be
extended to other items. E.g. if you want a railing that can be crafted
underneath directional windows, or an item that behaves like a grille
does--it's just a matter of setting the right obj_flags for it now.
This makes it very simple and painless to add new recipes that use
directional crafting! It's all modular now.
<details><summary>Details</summary>
---
### What I've done:
-Eliminated all the type checks, instead it will now be handled by
object flags and recipe vars, making for a much more configurable
system.
-Added two new obj_flags: `BLOCKS_CONSTRUCTION_DIR` and
`IGNORE_DENSITY`.
-Additionally, I renamed the existing flag `NO_BUILD` to
`BLOCKS_CONSTRUCTION`.
-Changes the proc `valid_window_location` to `valid_build_direction`,
and makes it work for things other than windows.
-Removed a deprecated `window_checks` var from the stack_recipe datum.
-Added three more vars to the stack_recipe datum: `check_direction` and
`check_density`, `is_fulltile`
-Decoupled `on_solid_ground` from the object density check. Now you can
set those separately, allowing you to make recipes that forbid/allow
building things over other things while in space.
---
### What the new flags do:
`BLOCKS_CONSTRUCTION` works as before---prevents objects from being
built on the object. I felt that the previous name was not descriptive
enough, you should know exactly what it does just from looking at the
name.
_example: dna scanner_
`BLOCKS_CONSTRUCTION_DIR` -- setting this on an object will prevent
objects from being built on it when their directions are the same.
_example: directional windows, windoors, railings_
`IGNORE_DENSITY` -- setting this on an object will cause its density to
be ignored when performing the construction density check. This could
have other potential uses as well in the future.
_example: grilles, directional windows, tables_
These three flags cover all the bases for the types of items that are
currently craftable, so there is no more need for any type checking or
weird snowflake window checks. Simply set the appropriate flag and it'll
work as you would expect.
---
### What the recipe vars do:
`check_direction` tells the recipe to check if there's something in that
direction with the `BLOCKS_CONSTRUCTION_DIR` flag set.
`check_density` tells the recipe to run the density check when set. This
is true by default. There are very few items in the game that currently
have this set to false--namely grilles. Setting this to false will make
it so that the object can be constructed regardless of what is in that
tile (unless `one_per_turf` is also set, which will make it so that you
can't craft the same thing twice in the same turf).
`is_fulltile` is used for fulltile windows, but it doesn't necessarily
have to be--you can give this to any recipe and it will adopt the same
properties as that of the fulltile window. Basically they have a special
case where they shouldn't be able to be built over directional
constructions, where normally things would be able to be. Setting this
makes check_direction true as well.
---
### In summary:
Sheet crafting still works just as it did before. But the backend of it
has gotten a glow up and will be able to more easily support new
behaviors.
</details>
## Why It's Good For The Game
This makes the crafting system much more flexible to add recipes to, and
will prevent bad code practices of stacking more conditionals down the
line whenever someone wants to add an item that behaves like grilles or
directional windows in how they are constructed.
It had to be done. Those window checks were a mess.
## Changelog
🆑
qol: added fifty stack versions of remaining glass sheet stacks for ease
of debugging
refactor: refactored sheet crafting to better support directional
constructions that aren't windows
/🆑
---------
Co-authored-by: san7890 <the@san7890.com>
Legally endorsed nightcode 👍
## About The Pull Request
When 2 plants are adjacent to each other, they will begin to
cross-pollenate, sharing their potency, instability, and yield values
between the two. This has been in the game since #50001 , however we
never added a more clear visual tell that cross-pollenation exists.
Thanks to the magic of *barticles*, now you can!

_pictured: wheat and tomatoes pollenating_
Adds a simple particle effect, largely lifted from bonfires, that
indicates that two plants are sharing stats at minimum.
## Why It's Good For The Game
Following discussion from #74621, it was decided we needed and preferred
a more visual cue to the mechanic. As a general point I think that's a
longer term fix to the issue, and this adds more visual clarity to an
otherwise arcane mechanic (heh).
Looking for feedback on how to improve the look of the particles but for
fast nightcode I think I did okay for a first try
## Changelog
🆑
imageadd: Hydroponics trays now have pollen particles that they generate
when they share stats and chems. Non-allergenic!
/🆑
---------
Co-authored-by: san7890 <the@san7890.com>
## About The Pull Request
I think @vinylspiders forgot to change it in his latex balloons pr so
now it's broken.
## Why It's Good For The Game
Slap
## Changelog
🆑
fix: slapper is visible in-hand again.
/🆑
## About The Pull Request
- Adds a new apparatus for Engineer Cyborgs that can pick up and
manipulate material sheet stacks. Once holding a stack, interactions are
passed to the stack.
- Sheets in the new apparatus will always show as single sheets while
held, regardless of the actual count.
- Removes the R-Glass tool from Engineer Cyborgs.
- Sabotage borgs have the same changes
## Why It's Good For The Game
Allows Engiborgs to repair or build with various materials, without
(further) destroying the concept of material economy.
The R-Glass tool, in my experience, is generally unused, as the RCD can
create R-Windows and that's the main use for the sheets. So the tool has
been removed to keep the Engineer Borg Toolkit from exploding. The new
tool can also pick up R-Glass, if a need for it arises.
## Changelog
🆑
balance: Engineer Borgs now have a tool to manipulate material stacks
(and also tile stacks). This replaces the R-Glass tool.
/🆑
Pictured: Apparatus carrying titanium.

## About The Pull Request
After bludgeoning myself one too many times with a spoon, here we are.
The spoon overlay wasn't updating to reflect that soup had been
consumed, which led to trying to eat it again and then pain.
Why do spoons hurt so much?
## Why It's Good For The Game
Less spoon related injuries.
## Changelog
🆑
fix: spoon overlays will now update when you eat from them to reflect
that food = gone. it really is gone, you can stop beating yourself with
the spoon. oh god please stop--
/🆑
## About The Pull Request
Was requested in #74592
- Properly type casts the target into `turf/open/space` for mecha rcd
plating action,
- Removes single variable names throughout
- uses datum/ui component to get user for to_chat() instead of usr
## Changelog
🆑
refactor: correctly type casts the turf into open type for the rcd mecha
plating action
refactor: removes single letter variable names
refactor: uses datum/ui component to get user for to_chat() instead of
usr
/🆑
## About The Pull Request
Gives lockers screentips, more balloon alerts, and examine hints to make
interactions more obvious.
## Why It's Good For The Game
Quality of life is good.
## Changelog
🆑
qol: Add contextual screentips, balloon alerts, and examine hints to
lockers
/🆑
## About The Pull Request
Gives nuke ops three free health analyzers in their shuttle, advanced
health analyzers in both medic kits, and a bonus health analyzer MODule
in the premium medical kit.
## Why It's Good For The Game
Nuke ops had these until, most likely, base medkits lost their scanners,
and nobody has really noticed or cared about it until now. While they
aren't obligatory, they are nice to have and especially useful if the
patient is suffering non-standard symptoms. Given that there is
absolutely no way to actually scan someone's health in the Infiltrator
shuttle, having some for free is a _must_ else you are just left
confused as you slowly die. You *can* buy the radioactive microlaser,
but that's a crapshoot, it costs 4 TC, nobody does it and it shouldn't
even be purchasable tbh, and there's the risk of irradiating your
teammate.
Combat medic kits get advanced health analyzers because, well, they're
medics and they NEED a way to diagnose patients, and the premium kit
gets both an advanced analyzer and a module so the medic can choose
whichever is most comfortable for them.
## Changelog
🆑
qol: Gives nuke ops three free health analyzers in their shuttle,
advanced health analyzers in both medic kits, and a bonus health
analyzer MODule in the premium medical kit.
/🆑
Makes DNA injector for clever for admin use.
## About The Pull Request
When the Clever mutation was made, an injector for it was never added to
the dna_injector file. This means that admins didn't have a way to spawn
this item in. Well, now they do. Added an anticlever one to remove it as
well for good measure.
## Why It's Good For The Game
Not that big of a deal, you could use the mutation as a gene man without
this, but adding more items to spawn in as an admin can't be a bad
thing. Additionally, as Clever is a mutation that does some pretty
unique things, so it actually seems like one that might theoretically be
a bit more useful to have in the toolbelt then some of its counterparts.
## Changelog
🆑
admin: Added clever DNA injector to admin spawn options.
fix: Added clever DNA injector.
/🆑
## About The Pull Request
Title.
Also, to make bodypart code slightly nicer, I retooled some variables to
be part of a new bitfield called bodypart_flags.
## Why It's Good For The Game
We've been trying to move away from the species datum for limb stuff
precisely because of funny shenanigans like this, no?
## Changelog
🆑
refactor: Implanted foreign limbs will no longer be wiped by species
change.
/🆑
Fixes#74313.
## About The Pull Request
During a refactor to storage in #73761 , they forgot to add a check to
loc.atom_storage in attack_paw to mirror the check made in attack_hand.
This meant that monkeys and other mobs that used attack_paw always
dropped items taken from storage onto the ground. Now, the code to check
if they should go into your hand instead is properly checked.
## Why It's Good For The Game
Bugs are bad mkay
## Changelog
🆑
fix: Monkeys and some other mobs no longer drop items they've grabbed
from storage onto the ground.
/🆑
## About The Pull Request
A new map for TGstation, in the works! It has 4 fucking Z levels, a
massive expansive maintenance with unique designs, and some unique code
features in the works.
To Do:
- [x] Update the Map to Modern TG
- [x] Local Tests
- [x] Work on Map Optimizations
- [x] Run Live Tests
Fikou has greatly helped with creating an important flavour aspect of
this map, Trek Uniforms on anyone who joins! See the forum thread for
more. This includes the framework for innate station traits, station
traits loaded as long as it's in a map's json
Here's the forum dev thread there are screenshots there.
https://tgstation13.org/phpBB/viewtopic.php?p=657252#p657252
### Mapping March
Ckey to receive rewards: Cheshify
## Why It's Good For The Game
So, this is the North Star. An effort taking multiple mappers and of 9~
months of hard work. This map was not initially designed for TGstation,
but always designed for TGstation code. The process of retooling the map
for TGstation was an absolute joy and I feel like the map definitely has
it's niche as a massive and unique experience for it's players.
I adore this map, it's gorgeous, has a unique aesthetic, and a number of
very funny interactions with multi-Z. The PR comes packed with unique
mechanics for future mappers (innate station traits!), a number of
map-fitting shuttles, and a fun spacefaring uniform gimmick for the
crew.
**This is my second attempt at bringing this map into rotation. It was
initially closed due to concerns about maptick and performance, as I
wasn't willing to push for a map to be added to the repository if it
didn't function to my own standards. I've been informed by a number of
coders far better than I that optimizations are arriving and enroute, so
I think it's time to dust her off and set sail for another journey.**
**Quick Disclaimer: Due to some design decisions disagreed upon by the
headcoder team and myself, the map will not be featuring unique
roundstart uniforms, and despite my design intentions, the innate
station trait features will be shelved for now.**
## Changelog
🆑 Cheshify, Fikou, Blue-Berry, Zytolg, InfiniteGalaxies, Striders,
Sylphet, Riggle, Soal, Andry, Crit, Deranging, and Pumpkin0.
add: Nanotrasen's Newest Exploratory Vessel is now available! Meet the
North Star!
add: More landmines, and a landmine random spawner.
add: energy barriers now have a regenerative subtype, fit for permanent
installations.
code: Raised the number of possible level render to 4, check your
preferences if needed to be reduced.
/🆑
---------
Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
This tracks the seconds per tick of a subsystem, however note that it is
not completely accurate, as subsystems can be delayed, however it's
useful to have this number as a multiplier or ratio, so that if in
future someone changes the subsystem wait time code correctly adjusts
how fast it applies effects
regexes used
git grep --files-with-matches --name-only 'DT_PROB' | xargs -l sed -i
's/DT_PROB/SPT_PROB/g'
git grep --files-with-matches --name-only 'delta_time' | xargs -l sed -i
's/delta_time/seconds_per_tick/g'