* First bits of code for the polarized controller component
* Hopefully finished the component
* Finishes the code for some fully-functioning polarized windows
* Adds the polarization_controller to the global list on Initialize, instead of removing it (whoops)
* Makes the window polarization remote controller printable and gives it an examine hint to explain how to change its ID
* Adds a polarizer_id variable to the window spawner, for mappers, to avoid making a billion subtypes
* Stabilized gold extracts can now summon basicmobs (#74020)
## About The Pull Request
Stabilized gold extracts can now summon basicmobs,
Also, summoned familiars become friendly to the owner, which stops stuff
like mice running away.
## Why It's Good For The Game
They can now make cool basicmob carp and stuff
Fixes#74008
## Changelog
🆑
fix: Stabilized gold extracts can now spawn basicmobs
/🆑
* Stabilized gold extracts can now summon basicmobs
---------
Co-authored-by: jimmyl <70376633+mc-oofert@users.noreply.github.com>
* Stabilized Orange can no longer cool you infinitely fast (#74027)
## About The Pull Request
Closes https://github.com/tgstation/tgstation/issues/73923
### Mapping March
Ckey to receive rewards: N/A
## Why It's Good For The Game
## Changelog
🆑
fix: Stabilized Orange extracts are no longer able to cool you from any
temperature instantly
/🆑
* Stabilized Orange can no longer cool you infinitely fast
---------
Co-authored-by: Zephyr <12817816+ZephyrTFA@users.noreply.github.com>
* Audits usage of isanimal() vs isanimal_or_basic_mob() (#74029)
## About The Pull Request
There's a couple of open issues which fix places where only simple
animals were considered, but they are doing it piecemeal.
I decided to just go through every instance of `isanimal` or
`subtypesof(mob/living/simple_animal)` I could find, identify which
should also affect basic mobs, and fix them.
I left out the two others which are already in PR, I'm not stealing your
GBP.
Fixes https://github.com/tgstation/tgstation/issues/68881
## Why It's Good For The Game
Consistency, mostly.
As far as I can tell all of these things _should_ have effected basic
mobs, but didn't.
This fixes a fair number of bugs but also they're bugs that nobody
noticed or reported.
There are a couple of places I did not update which will need updating
in future. These are:
- Dextrousness checks, because basic mobs don't have that yet.
- The Charge cooldown action, because frankly I couldn't tell what it
was trying to do.
alright here goes
## Changelog
🆑
fix: Carp will once again be healed from being near carp rifts
fix: Sepia slime cores and the rewind camera now work on Ian
fix: Sapient ridden carp (or cows) can throw off their riders by shoving
them, or by performing the spin emote.
fix: Giant Spider AI will be disabled by the timestop spell
fix: Ian can eat envirochow
fix: Mice, Frogs, and Cockroaches will no longer set off bear traps
fix: You can put a macrobomb implant into Cayenne (or Ian)
fix: Ian will now recognise that being squeezed by a cyborg is a nice
hug
fix: The player panel will tell admins if you're currently a corgi
fix: The staff of storms deals massive damage to Bileworms and Giant
Spiders
fix: Ian will whimper if forced to scream
fix: Slimes can consume space carp
fix: Mice can be captured in xenoballs
fix: You can use pacifying potions on Giant Spiders
fix: Sgt Araneus can be fitted with a xenobiological radio implant
fix: Sapient corgis no longer count as living players for the purpose of
highlander escape objectives
fix: The random sentience event can now target corgis and sergeant
araneus
add: The random sentience event can target a wider array of farm animals
fix: Petsplosion wizard event can target corgis
add: Petsplosion wizard event will now target farm animals and
mothroaches
fix: The colossus possession crystal can now actually possess the
cockroach it spawns, does not kill you instantly upon ending possession
/🆑
* Audits usage of isanimal() vs isanimal_or_basic_mob()
---------
Co-authored-by: Jacquerel <hnevard@gmail.com>
* More stuff to construct & destroy (#73942)
## About The Pull Request
**1. Suit Storage Units**
- What about them?
1. You can print "suit storage unit" circuit boards from engineering &
science circuit printer's after research to make more suit storage
units, now since they behave like regular constructable machines you can
deconstruct them via screwdriver & crowbar.
2. You can upgrade its capacitor to get faster charging speeds
- Why its good for the game?
1. You can rebuild these in the event they get destroyed
2. Better tier capacitors = faster charging speeds
3. More storage units = More places to decontaminate your equipment +
Recharge more mod suits made in robotics
4. If you decide to leave the game or your done using a mod suit e.g. a
mining mod suit rather than keeping it to yourself or throwing it away,
just build a suit storage unit and hang it there so other players can
use it i.e., sharing is caring.
**2. Freezer Cabinet**
- What about them?
1. They are now craftable

3. You can deconstruct them with a welding tool.
- Why its good for the game?
1. You can now make more of them if they get stolen/destroyed
2. More places to store food, dead bodies, whatever
**3. Flood Lights**
- What about them?
They can now be fully deconstructed in the exact opposite sequence you
constructed them.
- First use screwdriver to open its panel
- Then use empty hand to remove light
- Then use screwdriver to unscrew the wiring from frame
- Use wire cutter to remove wiring completely
- Finally use wrench to completely deconstruct frame
- Why it's good for the game?
Reclaim used material to build flood light else where . Also much more
clean than what the wiki is suggesting.

## Changelog
🆑
add: suit storage unit circuit boards to engineering & science
department circuit printers.
add: freezer cabinet as a craftable & destructible item.
qol: flood light can now be deconstructed rather than destroyed/thrown
away.
/🆑
---------
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
Co-authored-by: san7890 <the@ san7890.com>
* More stuff to construct & destroy
---------
Co-authored-by: SyncIt21 <110812394+SyncIt21@users.noreply.github.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
Co-authored-by: san7890 <the@ san7890.com>
Improved engineering tools patch 2: Bolter Wrench (#72445)
This adds a new wrench that can be printed after Advanced Engineering is
researched or as a rare mail gift for engineers.
The Bolter Wrench is medium sized (fits on toolbelts and bags but not on
boxes) and can grab into the bolting system of airlocks, raising it's
bolts after a 5 second `do_after`, even if the airlock has no power or
the wires are cut, as long as you can access the inner wires. (Won't
work if the panel is closed or has it's wires reinforced.)
Codersprite blatantly inspired by Iconoclast's wrench and looks like
this:


Right now, the only way to fix a powerless bolted down airlock is by
fixing the power first, this becomes an issue if the APC is behind the
airlock.
If that is the case, the only way in is to break through walls/windows
or destroy the airlock if you can, both add more things you need to
repair, making reconstruction times longer and longer...
Or you use an RCD to delete the airlock in 5 seconds, while faster than
the above method still is another thing to the repair list...
Repairing damaged and bolted down airlocks is such a hassle that
doormag'd airlocks bypass the default deconstruction system and just let
you deconstruct them directly without the steps of unbolting and
welding, something that could be removed with this tool but I won't
defend the pros and cons of it now.
Reconstruction is slow and cumbersome without an RCD. (And even with
one...)
I've been trying to make it smoother without using RCDs or a future RAT
on previous PRs and future ones to come, this tool is part of those
plans.
🆑 Guillaume Prata
add: Bolter Wrench as a new tool, it can raise the bolts of airlocks
regardless of it's power status to smoother station repairs. It can be
printed and is unlocked on the same tier as RCD. It can also rarely be a
mail gift for engineers.
/🆑
Co-authored-by: GuillaumePrata <55374212+GuillaumePrata@users.noreply.github.com>
Rapid Wiring Device(RWD) (#72802)
Just a big roll of cable(7 stacks worth of cable) you carry around it
has the following features
1. Dual wield it and just walk across plating to lay new cable. Make
sure you wear insulated gloves
2. If you just have it in one of your hands it can pick up any stray
cable pieces lying around
3. Right click on it to dispense a custom amount of cable
4. Refill with cable
5. Alt click to change cable layer
6. Available in autolathe & engineering protolathe round start
https://user-images.githubusercontent.com/110812394/213224959-f393e849-2e0a-4314-ab0e-c10924cf8fce.mp4
1. Clean up cable pieces bitten by rats and lay fresh cable in
maintenance very quickly.
2. For big construction projects. Carrying one big roll of 7 stacks of
cable is much more storage efficient than carrying 7 separate stacks
individually.
3. For wiring Solars very quickly
Also, I'm pretty sure something like this exists in real life so why
not. It's just the rapid pipe cleaner but for cables.
🆑
add: Rapid wiring device
imageadd: Sprite for RWD
/🆑
Co-authored-by: SyncIt21 <110812394+SyncIt21@users.noreply.github.com>
* Completing experiments after their associated nodes have been researched gives back a partial refund of the discount lost (#73814)
## About The Pull Request
So we're like simultaneously moving two vague directions with research.
One being "experisci grants discounts for prohibitively expensive nodes
so you want to do the experiments to discount them" and the other being
"Let's give Heads of Staff a way to research anything they want without
any communication to the research department, including the very
expensive nodes that scientists may be working on"
You already see the issue, right? You can't have your cake and eat it
too.
It sucks for scientists to be working on a complex experiment like
weapons tech for that huge 90% discount only for the HoS to stumble onto
the bridge and research it anyways. Your time is wasted and RND is
slowed down massively.
We can do something to assuage that.
This PR makes it so completing an experiment which discounts already
completed nodes will refund a partial amount of the discount that
would've applied.
For example, researching industrial engineering without scanning the
iron toilets will refund ~5000 points.
This can only apply once per experiment, so if an experiment discounts
multiple technologies, they will only get a refund based on the first
technology researched.
## Why It's Good For The Game
This accomplishes the following:
- Expensive research nodes with difficult experiments remain expensive
without completing the experiments. If no one does the experiment, they
act the same as before.
- Expensive research nodes with very easy experiments (but time
consuming) no longer put RND on a time crunch to beat the itchy trigger
finger of the Heads of Staff. Stuff like scanning lathes allow the
scientists to work more at their own pace: they can talk to people or
maybe stop at the bar or kitchen between departments without feeling
pressure to get it done urgently.
- Scientists are able to complete experiments which previously were no
longer deemed relevant if they need a point injection. Experiments left
behind are no longer completely useless bricks. Maybe even gives
latejoin scientists something to do.
- Scientists mid experiment can still complete it to not feel like their
time is wasted.
Overall I think this has many benefits to the current science system
where many have complaints.
## Changelog
🆑 Melbert
qol: Completing an experiment which discounts a researched tech node
will give a partial refund of the discount lost. For example,
researching the industrial engineering research without scanning iron
toilets will refund ~5000 points if you complete it afterwards. This
only applies once per experiment, so experiments which discount multiple
nodes only refund the first researched.
/🆑
---------
Co-authored-by: san7890 <the@ san7890.com>
* Completing experiments after their associated nodes have been researched gives back a partial refund of the discount lost
---------
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: san7890 <the@ san7890.com>
* A worn item which has its color changed (such as by a slime potion) with now have its color change reflected on mobs. (#73627)
## About The Pull Request
If I'm wearing an outfit and use a slime fireproof potion on it at
present it wont become blue until taking it off and putting it back on
again, this PR makes it so it changes immediately. Also means if an
admin VVs the color value of a worn item its icon worn color will update
to reflect this change immediately.
## Why It's Good For The Game
Bugfix!
## Changelog
🆑
fix: Any worn item that has its color changed will now have its color
change reflected on the item's worn icon immediately.
/🆑
* A worn item which has its color changed (such as by a slime potion) with now have its color change reflected on mobs.
---------
Co-authored-by: NamelessFairy <40036527+NamelessFairy@users.noreply.github.com>
* Fixes overloading and deconstructing of the master RND server not affecting research rate (#73569)
## About The Pull Request
Only a traitor removing the HDD would affect the income modifier of the
stored research web.
Updated it so `on_deconstruction` with an HDD present or a ninja
overloading with an HDD preset will also negatively affect the income
modifier.
## Why It's Good For The Game
Fixes#73338
Round impact!
## Changelog
🆑 Melbert
fix: Deconstructing (or overloading) the Master RND server with an HDD
preset will correctly half research rate
/🆑
* Fixes overloading and deconstructing of the master RND server not affecting research rate
---------
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
* Fixes NtosNet Downloader & App themes (#73500)
## About The Pull Request
NtOS' downloading app is the only application where PC device theme is
actually used by the app directly, instead of handled by NtOS Window. I
forgot about this, and removed it from the data, breaking the TGUI page.
Also two edits;
- NtosWindow now takes their theme directly from PC_device_theme, this
means we're not relying anymore on apps to individually give the theme
they want to have, and tablets will get alerts of downloading illegal
programs if they are on any theme but the syndicate one (instead of not
getting the message if theyre on any but the nt one).
- Removes bad uses of ``as anything`` on stored files, because it holds
more than just programs (like ordnance data).
## Why It's Good For The Game
the NtOS app now works again, sorry for the issue.
Closes https://github.com/tgstation/tgstation/issues/73493
Closes https://github.com/tgstation/tgstation/issues/73507
## Changelog
🆑
fix: NtOS program downloader now works again, and will now properly
alert you of downloading illegal ROMs if you change your theme to
anything that isn't Syndicate.
fix: NtOS themes are now recognized by all windows.
/🆑
* Fixes NtosNet Downloader & App themes
---------
Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
* Reworked PDA menu & NtOS themes (#73070)
## About The Pull Request
This is a port/rework of
https://github.com/yogstation13/Yogstation/pull/15735 - I changed a lot
of how it acted (some themes are locked behind maintenance apps).
The original author allowed this port to happen, and I really liked how
it looked there so I'd like to add it here.
### Applications
Removes the hardware configurator application, as all it did was show
you your space and battery now that all hardware was removed. These are
things your PC does by default, so it was just a waste of space.
Adds a Theme manager application instead, which allows you to change
your PDA's theme at will.
Adds a new Maintenance application that will give a new theme, however
it will also increase the size of the theme manager app itself as it's
bloatware.
### Menu
There's now a bar at the top of the menu showing 'special' tablet apps
which, for one reason or another, should stand out from the rest of the
apps. Currently this is PDA messenger and the Theme manager
Flashlight and Flashlight color is now only an icon, and is shown on the
same line as Updating you ID
https://cdn.discordapp.com/attachments/961874788706574386/1069621173693972551/2023-01-30_09-10-52.mov

### Themes
Adds a lot of themes to choose from, although SOME are hidden behind
Maintenance applications, which will give you a random theme. These are
bloatware however, so they come with some extra cost to the app's
required space storage.
Themes are now supported on ALL APPLICATIONS! If you have a computer
theme, you will have that theme in EVERY app you enter, rather than just
a select few.
ALSO also, emagging the tablet will automatically set & unlock the
Syndicate theme, which makes your PDA obvious but you can disguise it if
you wish through just re-painting it to something else.
https://cdn.discordapp.com/attachments/828923843829432340/1069565383155122266/2023-01-30_05-29-53.mov
### Preferences
This also adds a pref for theme, reworking the ringtone code to work
with it as well. I also removed 2 entirely unused PDA prefs just 'cause.
Screenshot not up-to-date, they now have proper names.

### Other stuff
Made defines for device_themes
Added support for special app-side checks to download files
Fixed programs downloading themselves TWICE because defines all had the
same definition
Removes the Chemistry computer disk as it was empty due to chemistry
app's removal
Removes the 'run_emag' proc, since apps can directly refer to the
computer to check for emag status instead.
Moved over and added better documentation on data computer files, and
moved the ordnance ones to the same file as the others.
## Why It's Good For The Game
It makes PDAs a lot more customizable while adding more features to
maintenance applications. I think the themes look cool and it fits with
PDAs being "personal" anyways.
I also explained most of my other arguments in the about section, such
as the hardware configuration application.
## Changelog
🆑 Chubbygummibear & JohnFulpWillard
add: A ton of new NtOS themes, which are accessible by the new Themify
application that comes with all PCs.
add: Emagging a PC now defaults it to the Syndicate option (and adds it
to go back to it if you wish)
add: There's a new maintenance app that gives you rarer themes
qol: The NtOS Main menu was moved around, added "header" applications
that are shown where the Flashlight is, such as your Theme manager and
PDA messenger.
code: Made defines for device_themes
code: Added support for special app-side checks to download files
code: Removes the 'run_emag' proc, since apps can directly refer to the
computer to check for emag status instead.
fix: Programs no longer download twice.
del: Removes the Chemistry computer disk as it was empty due to
chemistry app's removal
/🆑
---------
Co-authored-by: san7890 <the@ san7890.com>
* Reworked PDA menu & NtOS themes
---------
Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
Co-authored-by: san7890 <the@ san7890.com>
* Adds the Ectoplasmic Outburst, a rare ghost-centric anomaly event (#73024)
## About The Pull Request
This PR description might be a bit rushed because I accidentally
submitted the PR and want to bang out a quick explanation of what this
is before people start asking questions.
Adds a new, rare, ghost-themed anomaly event -- The Ectoplasmic
Outburst.

This event increases in power as more ghosts orbit it, with three
important thresholds to meet.
If 10% or more of all active observers are orbiting the anomaly, an
effect will occur in the nearby area akin to the revenant's defile
spell, damaging flooring, windows, and making a mess.
If 35% or more are orbiting the anomaly, nearby objects in the effect
radius have a chance to become haunted, and will fling themselves at
anyone nearby for a bit. Spooky!
Now, at 50% or more participation, things get serious. Ghosts orbiting
the anomaly will be polled to be brought back into the world for a brief
period as a vengeful spirit, anchored to a SUPER spooky ghost portal.
The portal closes after two minutes (alternatively, smash it with a
toolbox) and deletes all of the ghosts it spawned. Vengeful spirits are
mostly just meant to smash stuff and be a nuisance while they can. It's
a wonderful opportunity to let deadchat desalinate a little.

Oh, also, the anomaly is deadchat controlled. With enough ghosts, you
could theoretically outrun anyone trying to neutralize it!
The associated reactive armor has an effect similar to the anomaly,
haunting nearby objects for a time when the wearer is struck. Not
particularly outstanding, but it can introduce an element of chaos into
a fight that your opponent might not expect.
## Why It's Good For The Game
Anomaly events are great for ghosts. Why not make one tailored just for
them!
Gives admins something to spawn when a wizard has killed half of the
crew but it's not quiiiite time for an ERT.
It's a bit of a silly event with a novelty reward, but I think it's rare
enough not to be a huge issue.
## Changelog
🆑 Rhials
add: Ectoplasmic Outburst anomaly event
add: Reactive Ectoplasm Armor
/🆑
* Adds the Ectoplasmic Outburst, a rare ghost-centric anomaly event
---------
Co-authored-by: Rhials <Datguy33456@gmail.com>
Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
* Dominate & Lazarus Inject basic mobs. Lazarus Injected mobs don't fight each other. (#72440)
Fixes#72404
The Lazarus Injector doesn't currently work on basic mobs, but should.
Problem:
The EMPed state of the Lazarus Injector is intended to make a revived
mob hostile to everyone except you, including other mobs you have
revived wtih an EMPed Lazarus Injector.
This is trivial to achieve for Simple Mobs which essentially all share
the same AI, but I could not think of a single workable solution for
Basic Mobs which don't, or at least any which didn't come with a tedious
requirement to closely consider this niche item when programming any
additional AI.
Solution:
Change the default behaviour of the Lazarus Injector so this is not a
problem.
If all it does it make the mob loyal to you _and_ friendly to other mobs
which are loyal to you, then it's pretty easy because we can just use
the existing faction flags.
This is unambiguously a buff to using the item for nefarious purposes as
now if you revive four ice drakes and fulton them onto the station they
won't kill each other until only one is left, but is the only workable
solution I could really think of.
A lot of the very dangerous mining fauna can't be dragged so
transporting your army to the station still poses a question.
The alternate solution was just to replace the AI controller of any
emp-revived basic mob with a "zombie" AI controller, but this has the
problem that
A- It would now make things like cows and dogs into hostile creatures
when they previously weren't.
B- It loses any interesting behaviour the mob previously had and for
cases like Bileworms doesn't even make any sense (they'd try to walk and
just get stuck in place).
This ultimately leads to needing to make bespoke versions for various
mobs, which doesn't seem desirable from a maintainability standpoint.
As a side note it's still not a great idea to revive Bileworms _anyway_
as, their ability to move is tied to their ability to attack so once
they don't have a target they will just kind of sit there and if they
_do_ get a target their attempts to help you fight are difficult to
distinguish from attempts to kill you... but at least being able to
revive them makes it easier to make one sapient if you really want to
trap a player's mind inside a body which is incapable of leaving
lavaland.
Additional edit:
At Fikou's suggestion I've also added a sentience comparison proc to
`mob/living` and removed some code duplication which dealt with this
problem in the sentience/mind transfer potions, as well as added it to
the Dominate spell.
This device is meant to revive mobs and it shouldn't be required for
players to memorise an arbitrary list of which mobs it does and doesn't
work on.
Especially as the goal is eventually that all simple mobs should be
basic mobs.
This way of working is more intuitive, even if it is also stronger. I
was surprised when I used EMPed injectors and my "new minions" just
killed each other.
🆑
fix: You can now revive 'basic mobs' with a Lazarus Injector, such as
dogs, cows, axolotls, or carp.
fix: The same category of mobs can also now be effected by the Runic
Golem Dominate spell.
fix: Basic Mobs will switch target if they can no longer attack their
current target; meaning that if you become a Bileworm's friend it will
stop attacking you.
balance: Mobs injected with the Lazarus Injector while it is EMPed will
no longer attack other mobs revived by EMPed Lazarus Injectors.
/🆑
* Update code/modules/research/xenobiology/xenobiology.dm
* Update code/modules/research/xenobiology/xenobiology.dm
---------
Co-authored-by: Jacquerel <hnevard@gmail.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
* Vox clowns and mimes now spawn with their masks, added gas mask filters for vox
Fixed vox clowns and mimes not spawning with their job-related masks.
Added said job related masks.
* Moved the gas masks out from breath and into gasmask.dm
* Fixes unused proc from tg that is used on Skyrat
give_important_for_life() proc is a cleaner way to do the vox outfit-giving but I noticed it was not working. The proc itself was bugged, fixed it.
* Update species.dm
* Revert "Update species.dm"
This reverts commit 5b737965f573258211dc219fb6399284cdee8749.
* Revert "Fixes unused proc from tg that is used on Skyrat"
This reverts commit 3d8219a347cee0c17e99d4de32f5ebb3d70585cb.
* Fixes give_important_for_life() proc
give_important_for_life() proc is a cleaner way to do the vox outfit-giving but I noticed it was not working. The proc itself was bugged, fixed it.
* revert skyrat edit, wait for upstream PR to merge
* Fixes potential issue with null jobs, handle vox outfits properly for 'other vox'
* Removed gas filtering flags on the clown and mime masks
* Fixes a balaclava that made you go bald
* Created missing sprites for the alternate versions
Now you can change the style with the radial menu
* ocd edit
* No longer needed as it is handled within equip
* Merge conflict update..
* No longer needed after the update to equipOutfit
Opening internals in hand slots is now done automatically there #19054
* Do not alert admins when an inert BoH is made (#73185)
## About The Pull Request
Removes the `dangerous_construction` variable that was only used by the
BoH, as well as the admin message sent when an inert BoH was printed.
## Why It's Good For The Game
Since the bag of holding changes, admins don't need to know when an
inert BoH is printed.
## Changelog
🆑 Tattle
admin: Admins are no longer alerted when an inert BoH is printed
/🆑
---------
Co-authored-by: tattle <article.disaster@ gmail.com>
Co-authored-by: John Willard <53777086+JohnFulpWillard@ users.noreply.github.com>
* Do not alert admins when an inert BoH is made
* Update bluespace_design.dm
---------
Co-authored-by: tattle <66640614+dragomagol@users.noreply.github.com>
Co-authored-by: tattle <article.disaster@ gmail.com>
Co-authored-by: John Willard <53777086+JohnFulpWillard@ users.noreply.github.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
* Renames Datum Parts above tier 1 accordingly to their tier.
* Makes it so all of our machine also use the datum stock parts, because that's also important
---------
Co-authored-by: SyncIt21 <110812394+SyncIt21@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
* Adds nutriment factor to liquid gibs. (#73033)
## About The Pull Request
Over the years I've heard quite a few lizard players scratch their heads
in confusion due to the lack of gibs filling you up. I gave it a fairly
low value of 2 so people don't end up trying to power game it.
## Why It's Good For The Game
Adding an alternative use to gibs is always nice, at the moment it's
mostly just used for soap and cytology (Which barely anyone does.)
## Changelog
🆑
balance: Gibs now provide a small amount of nutriment.
/🆑
* Fixes the modular uses of liquid gibs
* Fixes an error that somehow slipped through.
---------
Co-authored-by: carshalash <carshalash@gmail.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
Don't initialize stack components inside machines (#72863)
## About The Pull Request
An attempt at the
[Initiative](https://github.com/tgstation/dev-cycles-initiative/issues/29)
all types/subtypes of `obj/item/stack` no longer exist inside any
machine. Only during deconstruction is the stack created from the
circuit boards requested components.
Also moved the component printer & module duplicator circuitboards into
`machine_circuitboards.dm` so they all are in one place
I was unable to do this for circuitboards because that still needs to
exist so we can use `apply_default_parts()` on the machine. I tried to
do the whole datum circuitboard approach just like with stock parts but
i'm unsure about it so maybe next time
## Changelog
🆑
refactor: stack components no longer exist inside a machine's
component_parts
refactor: move component printer & module duplicator circuitboards into
machine_circuitboards.dm
/🆑
Co-authored-by: SyncIt21 <110812394+SyncIt21@users.noreply.github.com>
* Xenobiology regenerative sepia crossbreed usage's description is corrected (#73143)
Changes the description of the "regenerative sepia crossbreed" to tell
what it actually does : Fully heal, then "déjà-vu" on the position it
was used.
* Xenobiology regenerative sepia crossbreed usage's description is corrected
---------
Co-authored-by: Tristrian <Tiago.A.C.9@hotmail.com>
Crafting light switches, request consoles, telescreens, and ticket machines (#72859)
## About The Pull Request
Breaking down #72371 because it's... unreasonably large.
So this PR adds recipes for light switches, request consoles,
telescreens, and ticket machines. Ticket machine frame by Kryson.
You can't print all of the telescreens, like the head of staff ones, but
the general department ones can be printed in their respective
departments.
## Why It's Good For The Game
Wallening compliance, and more of me on my shit breaking down long
files.
## Changelog
🆑 Tattle, Kryson
qol: light switches, request consoles, telescreens, and ticket machines
can now all be printed from lathes
/🆑
Co-authored-by: tattle <66640614+dragomagol@users.noreply.github.com>
Co-authored-by: tattle <article.disaster@gmail.com>
* Clarifies that TRAC bullets are not teleporter compatible (#73141)
## About The Pull Request
The detective's TRAC bullets embeds tracking implants into people. This
implants works similarly to the injectable tracking implant, such as
with the Prisoner Console or the Bluespace Locator. However, it has
`allow_teleport` set to false, preventing it from being used on the
teleporter. This has not been communicated in game, unless if you take
out the implant from whoever you shot, and stuck it inside the implanter
pad to read its in detail description.
This PR updates the ammo box and the design datum's description, to make
this clearer.
## Why It's Good For The Game
Closes#73121 , if a future detective examines the box, they will know
not to walk into the teleporter room to set up an ambush.
## Changelog
🆑
spellcheck: Clarifies that TRAC bullets are not teleporter compatible
/🆑
* Clarifies that TRAC bullets are not teleporter compatible
---------
Co-authored-by: Profakos <profakos@gmail.com>
[NO GBP] Lazy Template Cordoning | Double Runtime Fix (#72709)
## About The Pull Request
Adds automatic cordoning to block reservations.
Also fixes an issue where ChangeTurf would cause SSicon_smoothing to
throw runtimes by calling QUEUE_SMOOTH regardless of initialization
completion
## Why It's Good For The Game
## Changelog
---------
Signed-off-by: GitHub <noreply@github.com>
Co-authored-by: Zephyr <12817816+ZephyrTFA@users.noreply.github.com>
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Adds Axolotls to List of Cytology Creatures (#72924)
## About The Pull Request
Adds axolotls to list of cytology creatures. Edits the name of the cells
for frogs by changing to "anura amphibian cells" and for axolotls,
"caudata amphibian cells." These mean both "frog" and "salamander"
amphibian cells respectively. Also makes axolotls swabbable, adds their
cell lines to fern's list, and they are now distinguishable from the
frog's reagent lists.
## Why It's Good For The Game
Adding more thing to cytology is always good. Frogs could be grown but
not axolotls despite them coming from the same place and are amphibians.
Adds more ways to get axolotls and another reason why you should do
cytology.
Reinforces the PR
([https://github.com/tgstation/tgstation/pull/72922](url)) I added for
amphibian cytology.
## Changelog
🆑
add: Axolotl lovers rejoice! I added axolotls to cytology and as such
are now swabbable.
add: Frog cells are now named "anura amphibian cells." This literally
means "frog amphibian cells."
add: Axolotl are "caudata amphibian cells." This literally means
"salamander amphibian cells."
/🆑
---------
Co-authored-by: ophaq <44999764+ophaq@users.noreply.github.com>
Co-authored-by: kawoppi <94711066+kawoppi@users.noreply.github.com>
Add clown firing pin to techweb (#72930)
## About The Pull Request
This adds the clown firing pin to the `Clown Technology` node.
## Why It's Good For The Game
Clown technode should have all the funny clown items. The firing pin is
something you get from cargo, but I think it's okay to have it as a
techweb item since it requires `bananium` which is one of the rarest
ores in the game.
## Changelog
🆑
qol: Add clown firing pin to techweb
/🆑
Co-authored-by: Tim <timothymtorres@gmail.com>
Add mining scanners to techweb (#72931)
## About The Pull Request
This adds basic mining scanners to the `Mining Technology` node
## Why It's Good For The Game
A mining scanner is a basic tool, much like mesons or a bag.
It should be available to any person who wishes to mine for ore. There
are a limited number of them on the station that can run out and this is
a good way to encourage more people to mine since it's apart of the
basic kit.
## Changelog
🆑
qol: Add mining scanners to techweb
/🆑
Co-authored-by: Tim <timothymtorres@gmail.com>
Adds the universal scanner to lathes (#73006)
## About The Pull Request
Adds the basic tool back to autolathes and cargo protolathe
This was in the game before #70314 so I think it's a fix more than an
addition, but whatever
## Why It's Good For The Game
Sometimes I like to sell things from custom vendors and I don't want to
have to hunt down a roundstart cargonian just to get a price tagger.
## Changelog
🆑
add: You can print universal scanners (export scanners, price taggers,
sales taggers) from the lathe again
/🆑
---------
Co-authored-by: Jeremiah <42397676+jlsnow301@users.noreply.github.com>
Co-authored-by: ArcaneMusic <41715314+ArcaneMusic@users.noreply.github.com>
Checks if a machine has no research before connecting techweb (#72944)
## About The Pull Request
Currently all machines, if the config to not have a techweb link is on,
will set their node to science even if they were meant to be connected
to another (like through subtypes). This fixes that by checking to
ensure they don't have a techweb connected already before giving them a
new one.
Also as a minor fix, RD consoles will now properly add themselves to the
list of accessing RD consoles if they aren't linking to the default.
This list currently does nothing but I can see good uses of it in the
future.
## Why It's Good For The Game
Fixes an error that was found on a downstream, it's a worthwhile fix
that thankfully was caught this early.
## Changelog
Nothing player-facing.
Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
Add advanced fire extinguisher to techweb (#72933)
## About The Pull Request
This adds the advanced fire extinguisher to the `Experimental Tools`
node.
## Why It's Good For The Game
There are several advanced engineering tools in this node. This is an
item that is considered a better version of a regular fire extinguisher
for atmos techs. It makes sense to put this with the other upgraded
tools in techweb, since ya know, it's technically an advanced version.
It does spawn empty, so it needs to be refilled with a foam tank
dispenser.
## Changelog
🆑
qol: Add advanced fire extinguisher to techweb
/🆑
Co-authored-by: Tim <timothymtorres@gmail.com>
Mint can gib obese people again (#72970)
## About The Pull Request
Changes minttoxin(a toxin) to mintextract(a food).
## Why It's Good For The Game
Fixes https://github.com/tgstation/tgstation/issues/72969
The chef's mint is intended to gib fat people. Due to
https://github.com/tgstation/tgstation/pull/70764, liver functionality
was reworked so that instead of being purged rapidly, toxin's in a mobs
system with 3 units or less have no effect. Since the chef's mint only
has 2 units of mint toxin, it's intended functionality is impossible
under normal circumstances.
By changing the reagent type from toxin to consumable, it restores the
ability to gib.
## Changelog
🆑
fix: Mint Toxin(a toxin) has been changed to Mint Extract(a food). The
chef's mint can once again gib, fatties beware.
/🆑
Co-authored-by: the-orange-cow <76538214+the-orange-cow@users.noreply.github.com>
* adds atmospheric gloves, small resprite of firefighter gear, repaths stupid glove paths (#72736)
repaths a lot of gloves off /color because they were incredibly stupid
firefighter gear has gotten an update (it doesnt cover hands anymore
though, you need something else)
firefighter helmets no longer hide your mask or glasses

fixed engine goggles starting with darkness vision
to the atmos lockers adds atmospheric gloves, a pair of thick (chunky
fingers) gloves that are fireproof and fire protective, slightly shock
resistant and let you fireman carry people faster.
atmospheric firefighter helmets now are a subtype of welding hardhats,
you can enable a welding visor.
welding hardhats change mode with right click instead of altclick
im not a good spriter but i think this resprite makes them fit nicer
with other engi equipment
lets me firefighter rp
🆑
add: Atmospheric Gloves, thick gloves that are fully fireproof and fire
protective and let you fireman carry people faster.
fix: fixes engine goggles starting with darkness vision
qol: firefighter helmets can now enable a welding visor
qol: welding hardhats change mode with right click instead of altclick
balance: firesuits no longer protect your hands
/🆑
* Makes shit compile
* Updates the digi and snouted stuff to match the new sprites (thanks Halcyon!)
* Fixes a whole ton more issues that popped up
---------
Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
Add shovel to cargo lathe (#72937)
## About The Pull Request
This adds the shovel to the cargo lathe. It can now be printed from
autolathe, service lathe, or cargo lathe.
## Why It's Good For The Game
The shovel is a basic mining item that spawns in a few places. Mainly it
spawns in mining areas, but it also spawns in some gardens. It would be
a good idea to add it to the cargo lathe for consistency.
## Changelog
🆑
qol: Add shovel to cargo lathe
/🆑
Co-authored-by: Zephyr <12817816+ZephyrTFA@users.noreply.github.com>
Co-authored-by: Tim <timothymtorres@gmail.com>
Co-authored-by: Zephyr <12817816+ZephyrTFA@users.noreply.github.com>
Adds the 2 new components to the techweb (#72910)
## About The Pull Request
Adds the 2 new components I made in my prior PR to the basic circuit
research
also fix an issue with associative pick list
## Why It's Good For The Game
Being able to print them would be usefull
Reason I didn't notice was properly since I ran on debug station and it
never crossed my mind that they where research thingy
## Changelog
🆑
fix: You can print the new list pick and associative list pick
components
fix: Associative list pick works as intended now
/🆑
Co-authored-by: Autisem <36102060+Autisem@users.noreply.github.com>
* Stock Part Datumization Complete (#72559)
So i accidently reverted all my commits in #72511 when resolving a merge
conflict So ummm yeah fuck my bad anyway
Finishes what was started in #71693 and completes the
[initiative](https://github.com/tgstation/dev-cycles-initiative/issues/1)
Except for `obj/item/stock_parts/cell` and its subtypes. All machines
now use `datum/stock_part` for its requested components & component
parts
Not sure if i caught every machine & stuff in the game so merge with
caution
🆑
code: datum stock part for every obj stock part
refactor: all machines & dependent experiments to use datum stock parts
/🆑
* Fixes a teeny tiny Funce mistake :)
Co-authored-by: SyncIt21 <110812394+SyncIt21@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
* Categorizes uncategorized items in techweb, also recategorizes others for sanity reasons (#72689)
## About The Pull Request
Mostly did this for my own sanity in trying to find stuff that's mixed
together in a blob of a subcategory (or completely not in one like the
grinder). This primarily affected the Cybernetics and implants as a
whole but touches some engineering stuff as well. I sort of
universalized the code to make it easier to visually adjust things - i
didnt touch existing stuff that i didnt need too however but if we want
that i can do that.

If you see any verbiage changes/category changes or want more broken
down (Security and Engineering have some i think that could be broken
apart i just couldnt think of the best way) let me know
## Why It's Good For The Game
Making things uniform across the board in appearance makes it easier for
people to find things, Now finding the organ you want will quickly show
the most advanced one you have for example.
<details>
<Summary>Some Screenshots of the new look</Summary>
Cyber Organs are now tiered based on their coding (Ears are oddly named
and i was thinking of fixing it to match but wanted input there)

The grinder now doesnt float in no-mans land at the top of protolathes

Electronics and Construction assemblies are segregated

Gas filters are no longer gas tanks and are just equipment now

</details>
## Changelog
:cl:Zergspower
qol: Protolathes and the like had their printable items categorized
further
fix: fixes a few uncategorized items in protolathes and the like
refactor: Cleaner techweb code with more categories to break apart
individual printable items at proto/mech fabs
/🆑
* Updates the category define usages on our modular medical designs files
Co-authored-by: Zergspower <Griffinj88@yahoo.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>