## About The Pull Request
Purged several files inthe theme of misc.dm and broken the contents out
into better organised files.
Incidentally done some minor cleanup by removing an unused global list
referring to a string file that no-longer exists, and removing a useless
proc that replicated the behaviour of file2list().
## Why It's Good For The Game
See #60358 and all its successors
## Changelog
🆑
code: Reduced the number of files named misc.dm or similar by 14%.
/🆑
## About The Pull Request
Please read the contents of my HackMD to see what my PR does, as well as
further elaboration on the reagents and why it's good for the game
overall.
https://hackmd.io/@MGO/B1YX80nMT
## Contents
Introducing new inverse reagents for existing narcotics and other
reagents! This push includes...
**Naloxone** : New medicine! Requires equal parts Morphine, Hydrogen
Peroxide, Bromine and Ethanol to be made. Opioid antagonist that purges
drowsiness and narcotics from the patient, restores breath loss and
accelerates addiction recovery. Consumption Rate at 0.2u.

**Permonid** : Inverse of Krokodil. Highly potent sedative that provides
the best painkilling effects, but is also extremely addictive. Speeds up
surgery times by 30%. Consumption Rate at 0.1u.

**Monkey Dust** : Inverse of Bath Salts. Oop aak chee aak eek chee. Eek
aak oop chee oop aak aak!! (Consumption Rate at 0.2u.)
https://github.com/user-attachments/assets/cbd5ea48-9c0f-49ca-ba59-59cd65599641
(You can also combine 50u Monkey Powder with 10u Monkey Dust to make an
angry monkey!)

**Epoetin Alfa** : Inverse of Aranesp. Synthetic medication that induces
blood regeneration, heals liver damage and synthesizes Sanguirite when
the patient is bleeding. Causes several side effects if taken for too
long. Consumption Rate at 0.25u.

(Overdose in action.)
https://github.com/user-attachments/assets/27a51a11-0e42-4000-9c96-ba10cbd9e18b
**Sadness** : Inverse of Happiness. Causes severe depressive behavior in
users, and actively purges other antidepressants. Being hugged by a
friendly person that gives good hugs will purge all Sadness unless the
user has the Bad Touch trait. Consumption Rate at 0.1u.
https://github.com/user-attachments/assets/874b0549-1d96-4f4f-ad95-65f780a68436

**Maldium** : Inverse of Baldium. Potent psychotropic that causes
intense anger within users. On end consumption, user will experience a
burst of burn damage that scales with the amount of time the user was
enraged. Consumption Rate at 0.4u.
https://github.com/user-attachments/assets/31a4700e-32b5-4855-a266-45bfde62f718
**Dulling Reagent** : Inverse of Colorful Reagent. Extremely drab
coloring pigment that is favored by corporations who wish to maximize
suffering. Forces Colorblindness trauma in consumers. Consumption Rate
at 0.4u, lowered to 0.04u if overdosing.
https://github.com/user-attachments/assets/3db461d1-26aa-4c77-ad3d-44794230b391
**Newtonium** : Inverse of Gravitum. Experimental reagent that induces
heavy gravokinetic effects on users. Consumption Rate at 1u.
https://github.com/user-attachments/assets/b20e5200-9beb-40a2-8d37-c0d44f0fb4ef
## Why It's Good For The Game
This is an effort to add more variety to the existing inverse reagent
system within chemistry. Not only should this variety serve to provide
additional options for a Chemist to experiment with, they should also
broaden the possibilities for already existing strategies.
## Changelog
:cl:MGO
add: Introduces new inverse reagents for Krokodil, Bath Salts, Aranesp,
Happiness, Baldium, Colorful Reagent and Gravitum!
add: An alternate reaction output has been added for Monkey Powder.
Instead of 1u Water, add 10u Monkey Dust to make an angry monkey!
add: Adds a medicine: Naloxone! Requires equal parts Morphine, Hydrogen
Peroxide, Bromine and Ethanol to be made. Purges opioid-class reagents,
can also help with mitigating drowsiness and breath loss. Also purges
good moodlets associated with opiates and replaces them with negative
moodlets, so don't expect your patient to be happy about losing their
high!
/🆑
## About The Pull Request
Partial revert of #86701
Implements a shared holder particle system, somewhat inspired by
https://github.com/Baystation12/Baystation12/pull/34014 (thanks Kapu).
Atoms can be assigned "shared" particles via add_shared_particles, with
an optional "alternate" key passed as a second arg if you're planning to
edit the returned particle holder (for example, color it like slimed
status does). Removing is done via remove_shared_particles with an
option to delete the shared holder if nothing is using it anymore (on by
default). This system should be prioritized over normal particle holders
when a lot of entities would be using a certain particle effect (like
fires) as it conserves a lot of clientside performance.
Burning, acid, decaying, firestacks and slimed status now use this
system which should help with clientside performance and amount of atoms
created/destroyed.
## Why It's Good For The Game
Less clientside lag.
## Changelog
🆑
refactor: Firestacks, burning/acid/decaying effects and (brought back
after being temporarily removed) slimed status effects now use a new
"shared" particles system, which should considerably improve client
performance when encountering a lot of burning/slimed entities.
/🆑
---------
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
## About The Pull Request
With this PR, I'm introducing fishing bluespace capsules to the game.
They can be found on the black market, but I'll get a couple more ways
to get them before it's ready.
Anyway, they're special bluespace capsules that spawn a fishing spot of
your choice. The fishing spot can be changed by alt-clicking the
capsule, and so far it has 5 choices, plus 2 locked behind emagging for
obvious reasons:
- Freshwater: pretty basic, you get freshwater fish from this.
- Saltwater: mainly saltwater fish.
- Tiziran: You get tiziran fish here, like the gunner jellyfish,
armorfish, needlefish, dwarves moonfish and the new, bigger zagoskian
moonfish. By the by, moonfish now periodically lay moonfish eggs, a
staple of lizardfolk cuisine.
- Ice fishing spot: A small ice turf with a hole dug in it; salmon,
arctic char, arctic chrabs and the bonemass (skeleton fish).
- Hot Spring: Somehow the new home to the ought-to-be-extinct
sacabambaspis. It also doubles as a better shower overall, with mild
healing on top of stamina recovery. Felinids still hate it though, and
won't benefit from the healing.
- Lava: A 2x2 square of pure lava. Requires an emag for obvious reasons.
- Plasma: Ditto, but it's plasma instead of lava.
As a sidenote, unlike standard shelter capsules, these require their
area to be clear of pipes and cables on top of the other requirements,
unless emagged. Obviously, I've done some changes to allow pipes and
cables to not be hidden by water turfs, though I'm still keeping these
reqs because I don't think these fishing spots would look great if
riddled with cables and pipes. I may remove this extra req later if it
proves to be a tad too tedious.
Also they don't knock you back when expanding.
Screenshot from a recent test (fixed the misplaced decal and tweaked a
few things since then):

## Why It's Good For The Game
The idea stems from how not all fishing spots aren't designed to be
accessible every round, which is fine, because we have the fish-porter
for that. However, even the fish-porter should have its limits in terms
of what it can provide by itself (linking is all fair and game), so I've
thought having something of a middle point would been neat, also as a
way to mess around with the station layout a bit, to empower the player
with a little extra "terraforming".
## Changelog
🆑
add: Added fishing bluespace capsules to the game, which can be used to
spawn a variety of fishing spots, from freshwater to tiziran sea to hot
springs, and also lava and plasma if emagged.
add: Added two new fish: the zagoskian moonfish and the sacabambaspis.
Moonfish will now periodically lay moonfish eggs.
map: The 'crashed pod' lavaland ruin now has a hot spring, and the
cursed hotspring on icemoon now has a plastic chair and a fishing
toolbox.
/🆑
## About The Pull Request
https://github.com/user-attachments/assets/98aa2177-ee0f-48d0-bbd4-83d01e688b54
it makes gravity in a radius
you may order it from cargo
may take power from wire instead
## Why It's Good For The Game
good for like space bases and stuff
## Changelog
🆑
add: portable gravity unit, bought at cargo
/🆑
## About The Pull Request
Makes cyborgs blink yellow when they're dead. The icons were lying
around in the code for some reason, so why not repurpose them?
Borg death blink:
https://www.youtube.com/watch?v=DtYSHSSZVs8
Makes cyborgs emit particles when they reach a certain damage threshold.
Smoke for brute, sparks for burn. I think I want to tweak them a little
more, but it's hard to troubleshoot when the particle editor keeps
throwing a BSOD.
Borg particles:
https://www.youtube.com/watch?v=Xh64rZkrp-U
## Why It's Good For The Game
It's really really annoying when you're sitting dead in robotics and
everyone assumes you're AFK because the roboticist isn't wearing a
diagnostic hud (agony).
The particles I just think are cool flavour, plus it's a way for
silicons to show actual signs of wear and tear.
## Changelog
🆑 Tattle
qol: dead cyborgs now blink yellow lights
qol: damaged cyborgs have smoke particles when they've taken brute
damage, and sparks for burn
/🆑
---------
Co-authored-by: tattle <article.disaster@gmail.com>
## About The Pull Request
- Cigarette particles are now particles rather than baked in
- Taking a cigarette out of your mouth release a big puff of smoke
https://github.com/tgstation/tgstation/assets/51863163/183b39e7-3367-43a1-b750-99e66838d60f
## Why It's Good For The Game
Looks better
## Changelog
🆑 Melbert
add: Cigarette smoke is now more smokey.
add: Taking a cigarette out of your mouth will let out a big puff of
smoke.
/🆑
---------
Co-authored-by: san7890 <the@san7890.com>
## About The Pull Request
Humans (who breathe) (with lungs) now has a particle associated when
breathing in cold air. The colder the air, the more likely the particle
to occur per breath.
https://github.com/tgstation/tgstation/assets/51863163/f375dd1b-87f6-4124-9329-4714fe988c16
Other changes:
- Adjusts the probability of getting "your lungs feel cold/hot" when
breathing cold/hot air depending on how cold/hot the air is.
- Very cold air now has a chance of causing humans to shiver when they
breathe it in.
## Why It's Good For The Game
Some nice VFX to breathe some style into the game.
## Changelog
🆑 Melbert
qol: Breathing cold air now has a particle effect associated, careful
not to let your glasses fog up.
qol: Breathing cold air will now occasionally make your spaceman shiver.
Brrr.
/🆑
## About The Pull Request
### Cogitandi Fidis
Creates a holy violin that gives an analysis of songs played on it. This
lets you check how long the song is for final effects, to make sure they
trigger without the hassle of trying a rite with a song until you get
one that works. 20 Favor, looks neat too!
### Portable Song Tuning
Rite to empower an instrument with the ability to invoke specifically
song tuning rites, 5 charges before you need to go back to a proper
altar. Helps a chaplain stay on the move, since songs are interruptable
and sometimes an altar can be incredibly far. 10 Favor for 5 charges.
### Illuminating Solo

New free invocation that lets you light up the way with your music! The
finishing effect applies a weaker glow to all listeners for a minute.
### Other Misc Changes
The threshold for getting a final effect on a song is now lower, 220 ->
170. As a reminder, this threshold is lines * tempo. I think the
threshold was simply too high
## Why It's Good For The Game
Changes were made from
https://tgstation13.org/phpBB/viewtopic.php?f=10&t=35381 statistics and
feedback about sects. I think, overall, Festival Sect is in a very good
place and doesn't need a whole lot but a few rites that help with a
quality of life would really cut down on the amount of time a chappy is
spending doing nothing but running allllll the way back to the chapel to
load up some new songs
## Changelog
🆑
add: Festival Sect has 3 new rites: Cogitandi Fidis, Portable Song
Tuning, and Illuminating Solo.
balance: lowers threshold for triggering a final effect. Consult your
Cogitandi Fidis for more information
/🆑
## About The Pull Request
This PR replaces clone damage dealt by slimes with a new status effect,
"Covered in Slime".
The status effect is applied when you wrestle a slime off. The status
effect has a chance of not applying if your biohazard protection on your
head and chest is good enough.
It deals brute damage over time and gets removed when you stand under
the shower for about 10 seconds or when you are about to enter softcrit.
As a direct consequence of adding this feature I added showers to the
North Star and Birdshot Xenobiology Labs. I'm sorry, I'm sure you wanted
to make a statement with this, but we kind of require them in there now.
## Why It's Good For The Game
One source of clone damage eliminated whilst hopefully keeping a
"unique" interaction when dealing with slimes. No other source of clone
damage has been touched.
Clone damage is a damage type that shouldn't exist anymore, it's a relic
left from the era of cloning and it's so specific of a damage type that
it rarely gets used as a result. It really should be a type of
affliction (wound etc) instead of its own damage counter.
However, some things in the game still depend on clone damage being
around, so those needs to be addressed first.
We start off with slimes in this PR.
This status effect either lets you either continue with your work if you
react fast enough or it forces you to medbay, giving a victim more
control over the situation, as opposed to just being dealt a rare damage
type that always forces you to go to medbay if you want it healed.
## Changelog
🆑 distributivgesetz
add: Replaced slime clone damage with a "Covered in Slime" status effect
that deals brute damage over time and can be washed off by standing
under a shower.
add: Northstar and Birdshot Xenobiology have been outfitted with a new
shower.
code: Replaced the magic strings in slime code with macros. Also
included some warnings to anyone daring to touch the macros.
/🆑
This PR is way less than the file changes make it seem like it is.
Okay, first, the boring part:
- Picking up burning items is now a signal registered on the burning
component itself, instead of being a direct /obj/item/attack_hand()
check
- Sear sound now has an SFX define for convenience, since it is very
commonly used
- Fire stacks when extinguished on mobs will no longer clean acid on
items (WTF?)
## 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>
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

**This PR:**
- Reworks most* existing soup into reagents.
- Adds Stoves and Ranges. Ranges replace most* existing ovens.
- Adds soup pots, to cook soup
**How does it work?**
In the kitchen you will find a stove now.
Stoves act as a "reagent container heater", essentially a chem heater.
You can set a pot onto the stove.
To make soup, visit the cooking recipe book for a guide. Most recipes
are the same as before, just tweaked slightly - Add water to the pot (50
units for 1 batch generally), then add all the corresponding ingredients
to the pot. Set the pot out on the stove and right click it to turn it
on. If the recipe's correct, shortly it will start to mix and give you
soup!
One soup recipe will give you roughly 3 servings of soup. You can pour
our the soup into a bowl using a ladle or just by pouring it manually.
Of note: **All of the reagent contents of the ingredient are transferred
into the soup.** Better, more nutrient rich ingredients produces more
soup, and poisoned produce will pass it on.
If you place the soup into a chem master, you will notice it's roughly
half "soup reagent" and half a variety of reagents, including nutriments
/ proteins. This is your soup! It is recommended you serve your soup
with the reagents included, as they make up more nutrition for the
customer, however you can separate it out if you're picky.
**Todo:**
- [x] Fill out the PR body a bit more
- [x] Mapping (wait for big merge conflict pr to go past)
- [x] Soup colors
- [x] Balance pass over for soup recipes
- [x] TODOs
- [ ] Unit tests
- [x] Cullen Skink's recipe is invalid
- [x] Try to see if there's an easy way to prevent soup from fattening
you up too easy.
## Why it's good for the game
Adds some more depth to the kitchen and moves chef away from the
click-button-get-food style that exists.
Allows for inherently custom soups by the way of making it reagents, so
no need to support custom soup food items.
## Changelog
🆑 Melbert, stove and pot sprites by Kryson, ladle sprite by Kinneb
add: Kitchens are now stocked with Ranges.
add: You can now print (and create) Stoves.
add: The dinnerware vendor now dispenses ladles.
add: Spoons can now actually spoon... things.
add: Soup has been reworked entirely. Soups are now reagents, cooked via
a soup pot on a Stove or Range. Simply add water and your required
items, then apply heat. Be careful not to boil over!
add: Stoves, Ranges, and Griddles will now heat up their surroundings -
don't turn them on around plasma!
fix: Fixes being able to cook in an Oven while the room is depowered
qol: Hitting a customer bot with an incorrect recipe no longer counts as
a hostile attack leading to your demise shortly after
refactor: Customer bots that request a reagent now use custom orders
code: Cut down a lot of code in the crafting menu code, and removes some
ugly ispaths
del: Soup is no longer food items, so can't appear in random food pools
(at least not yet).
balance: Virus Food recipe now requires you cool it to 200k.
/🆑
## About The Pull Request
Demo: https://streamable.com/wnj3mf
Features:
- Full support for most gradients/vectors/numbers/generators/transforms
( I might have forgotten some of the more esoteric ones)
- A "tutorial" section that explains the different rand/generation types
and how physics works with pictures
- Button for viewing what each var does
- Selecting a particle type to set immediately
- The generator types use defines now
Not included:
Color matrix support for color generators (I'm sorry but hell no)
Special thanks to @jlsnow301 for explaining js things to me
## Why It's Good For The Game
Making cool stuf
## Changelog
🆑
refactor: Added a particle editor to VV dropdown which can be used by
coders and admins to edit particle values on the fly easily.
/🆑
Co-authored-by: TiviPlus <572233640+TiviPlus@users.noreply.com>
* PKP Mind Virus: Glorfing Cigs edition
If you glorf while smoking you'll get the cig stuck in your throat, leaving you unable to breath, speak, or eat. Based off the sort of cig you have a random delay before you vomit up the cig. (Pipes last forever don't philoso-larp kids). Other players can help you by using the help action on you while you're hurt, which leads to something imitating the himelich manuver, a broken chest, and a vomited up blockage. Other forms of vomiting will work too, if that's even applicable.
Oh I fixed a bug in vomit code. Because paralyzing you forces you to the ground, thus changing your dir, paralyzing vomits always went down. This is cringe, easy fix tho.
Ah and I added some extra functionality to sound loops too. You can set them to pick and take from the provided list, then refilling it once it's empty. This keeps some variety while preventing the risk of repeat sounds
Oh and I added some new signals. Some misc ones, for force say and a different kind of help then the existing one, which I renamed. One for breathing, which I used to clean up leroxin. I was planning to hook this but didn't need to in the end.
One for vomiting too. and eating. Also added a way to update looping timer delays. Forgot about that, I also added variable delay for sound loops, because I thought it sounded better here.
Features audio courtesy of our very own san7890, and the quake jump sound.