Commit Graph

288 Commits

Author SHA1 Message Date
Roxy 0d4938228f Fix CI Failures [IDB IGNORE] [MDB IGNORE] (#5126)
## About The Pull Request

- null all GAGS vars for brass wirecutters as it doesn't use GAGS
- Repath `mothbomb.dmi` so it actually gets deployed with the server
- Generate map icons
- Fix 150+ crafting material parity failures
- Fix airlock lights not working
- Fix certain species missing eyes

## Why It's Good For The Game

Don't like red X

## Proof Of Testing

If this PR is green check then you Know
2026-01-15 00:59:34 -05:00
nevimer 6e9f2ccfc0 Merge remote-tracking branch 'tgstation/master' into upstream-12-15
# Conflicts:
#	.github/workflows/compile_all_maps.yml
#	.github/workflows/run_integration_tests.yml
#	_maps/map_files/CatwalkStation/CatwalkStation_2023.dmm
#	code/_onclick/hud/credits.dm
#	code/controllers/subsystem/networks/id_access.dm
#	code/datums/diseases/advance/advance.dm
#	code/datums/diseases/advance/symptoms/heal.dm
#	code/game/machinery/doors/door.dm
#	code/game/objects/structures/crates_lockers/closets/secure/medical.dm
#	code/game/objects/structures/crates_lockers/closets/secure/security.dm
#	code/modules/antagonists/malf_ai/malf_ai_modules.dm
#	code/modules/jobs/job_types/_job.dm
#	code/modules/loadout/categories/accessories.dm
#	code/modules/loadout/loadout_helpers.dm
#	code/modules/loadout/loadout_items.dm
#	code/modules/loadout/loadout_preference.dm
#	code/modules/mob/living/silicon/robot/robot_defense.dm
#	code/modules/mod/mod_theme.dm
#	code/modules/projectiles/ammunition/energy/laser.dm
#	code/modules/reagents/reagent_containers/cups/drinks.dm
#	code/modules/shuttle/mobile_port/variants/supply.dm
#	code/modules/surgery/organs/internal/eyes/_eyes.dm
#	code/modules/unit_tests/screenshots/screenshot_antag_icons_heretic.png
#	icons/hud/screen_full.dmi
2025-12-15 18:12:29 -05:00
Thunder12345 1d270f5f27 Converts pre-rework generic heretic gear into chaplain clothing and a null rod (#94363)
## About The Pull Request

Reused the old pre-rework heretic robe and blade assets as a new set of
chaplain gear and null rod option.

Replaced the last few existing uses of the now spriteless generic robe:
- Deathmatch, changed heretic warrior to use blade robes
- Deathmatch, changed ripper to use the new chaplain armour
- Tribal mothman legion corpse, changed to use new chaplain armour
- Heretic preview and hallucination, changed to use rust robes
- Heretic virtual domain, changed to use rust robes

<img width="127" height="131" alt="image"
src="https://github.com/user-attachments/assets/690e848e-5191-44d4-bd58-5e338fa2aa4e"
/>

## Why It's Good For The Game

Chaplains are the playground of old magic content assets, where they
find a second life as cosplay outfits. Chaplains can already cosplay
cultists, it's only fair that they can pretend to be a heretic as well.

## Changelog
🆑
add: Added a new set of chaplain armour based on the generic heretic
robes unavailable since the path rework.
/🆑
2025-12-07 19:50:19 +00:00
Jinshee 5b39a57e97 Update insect parts (#4898)
## About The Pull Request

Updates the insect_parts_greyscale.dmi file to remove the darker hands
and feet from the basesprite. These can still be implemented via
markings.

## Why It's Good For The Game

Due to request, people would like more ease of customization when
customizing their insects

## Proof Of Testing

<img width="267" height="280" alt="image"
src="https://github.com/user-attachments/assets/78879f6c-54f7-4c6c-911a-55009365024e"
/>


## Changelog

🆑
qol: Removed dark hands and feet from Anthropomorphic Insect sprite.
/🆑
2025-11-12 11:32:00 -05:00
Roxy 058503ed0d Update screenshot tests 2025-11-06 02:06:27 -05:00
Roxy 3e3fa72cdf Fixes for ca2cc70322 2025-10-25 15:51:03 -04:00
Roxy e28e9fbdba Merge branch 'master' of https://github.com/tgstation/tgstation into upstream-23-10-2025 2025-10-23 17:38:23 -04:00
Roxy 37c6e18a11 Normalizes Shadekin Eyes (#4839)
## About The Pull Request
shadekin eyes had different offsets based on the direction before but
now they wont be different

## Why It's Good For The Game
fix bug

## Proof Of Testing
i am not opening my localhost again just to show proof but this is what
they looked like before
<img width="560" height="259" alt="afbeelding"
src="https://github.com/user-attachments/assets/58115cc5-d879-42f9-8730-5517c057663d"
/>


They are now fine after I fixed them I moved the right one 1 pixel more
into the face
<details>
<summary>Screenshots/Videos</summary>

</details>

## Changelog

🆑
fix: fixes shadekin eyes being offset wrong
/🆑
2025-10-22 09:21:56 -04:00
Ghom ca2cc70322 Organ damage refactor/cleanup (#93436)
## About The Pull Request
So, my original goal was just a refactor for the emissive overlays of
eyes, as a way to implement the specular emissive introduced by smartkar
some time ago, but somehow I found myself dragged into a bigger refactor
or cleanup of organ damage, thresholds, failures. One of the main
problem was that there were no procs called when a organ suffered enough
damage to fail or when recovering from failure. It'd just enable or
disable a bitflag, leaving it up to subtypes to decide how to tackle
organ failure their own ways: diverse, funky and sometimes incompatible.
More often than not relying on their very own "update_thingamajig" kinda
procs that run whenever the organ takes damage, rather than just when
the threshold is reached (low, high, failure. There are however a couple
organs with their own quirky thresholds, I let those slide).

There's also a bit of old code, especially for ears, with the
`AdjustEarDamage` and temporary deafness both predating the framework
for organ damage as far as I know. It really needed a coat of fresh
paint.

Oh, there were also more than a handful of organs that still heavily
relied on some ORGAN_TRAIT source instead of the `organ_traits` list and
the two add/remove procs `add_organ_trait` or `remove_organ_trait`. This
include organs that lose or gain specific traits when failing et
viceversa.

~~Lastly, felinids (and the halloween ghost species) having reflective
eyes. It's just a nod to the tapetum lucidum that animals with night
vision often have (including cats), which is why their eyes are a bit
brighter in the dark. Felinids however, do not have night vision (nor do
ghosts). This is merely cosmetic.~~ Cut out for the time being due to
issues with the specular emissive...

## Why It's Good For The Game
Refactoring / cleaning up old organ code.

## Changelog

🆑
refactor: Refactored organ damage code a little. Hopefully there won't
be issues (otherwise report them).
/🆑
2025-10-21 16:52:28 -05:00
Roxy d14e538393 Merge branch 'master' of https://github.com/tgstation/tgstation into upstream-15-10-2025 2025-10-15 19:34:41 -04:00
MrMelbert e85674d366 Unified CMO blues slightly, updates garment bags slightly, updates CMO locker contents slightly (#93321)
## About The Pull Request

### CMO palette update

Before - after

<img width="533" height="324" alt="image"
src="https://github.com/user-attachments/assets/c8a843a6-875d-4796-8c62-d24dd509147b"
/>

Logical follow up to #93313 and #91902

CMO now has a backpack which matches their teal palette rather than
re-using the medical doctor's blue backpack

CMO now starts with white sneakers instead of blue sneakers

### Garment bag update

Garment bags can hold backpacks, duffels, etc. 

However they CANNOT store backpacks which have ANY contents, so no risk
of storage nesting memes here.

### Misc

Removed the defib mount from the CMO's closet

Minor bugfix for being unable to swap storage positions of items which
were instantiated in a storage

## Why It's Good For The Game

- Much like the Paramedic, the CMO has had many cooks which have not
always been on the same page, so this makes their sprite a bit more
coherent.

- Heads with unique packs just tossed them in their closet which is
pretty spammy given we have four variants now. Putting them in the
garment back makes sense.

- Defib mount in CMO's locker hasn't been necessary for a while now that
all treatment centers spawn with defib mounts.

- Bugfix.

## Changelog

🆑 Melbert
image: CMO now has unique backpack/satchel/etc. sprites which matches
their teal palette.
image: CMO spawns with white sneakers instead of blue sneakers.
qol: Garment bags can hold empty backpacks/satchels/etc.
del: Defib mount removed from CMO's locker.
fix: Items stocked in a storage item by default can be
mouse-drag-swapped like any other item.
/🆑
2025-10-13 00:16:49 +02:00
xPokee 9b282a850e Merge branch 'master' of https://github.com/tgstation/tgstation into upstream-sync 2025-09-17 11:45:44 -04:00
John Willard 3cb0b239b7 Merges ghosts into spirits & a rework (#92879)
## About The Pull Request

Having 2 different species with similar names, looks, attributes etc.
seemed like it would be confusing so I thought we should probably trim
it down to 1, however since I'm doing that I thought of other changes to
go along with it:

- The passthrough ability was replaced, now while you're passing through
things you no longer drop stuff, but you put a tombstone where you start
phasing, and are pulled back to it while done. You still can't interact
with anything in this form. Having the tombstone dug out will be raiding
your grave, so you'll be pulled out as a dead skeleton.

- Removes holy water interactions

- Ghosts now have organic limbs & are a Humanoid, so they can have
surgery and other forms of healing used on them.


https://github.com/user-attachments/assets/5db0c204-0070-466b-8b6c-1702ff0fd94e

## Why It's Good For The Game

Ghosts being available to Wizards is okayish but is a rather big buff
for one you get free, yes you can still be caught up to if you're in
hallways and such but it's way easier to get away with than like, your
default teleport scroll even. Being available to Miners though was a big
mistake because it opened them to be quite an annoyance with it. The
only counter was the fact no healing worked on them, which I don't think
is how it should be balanced.
I thought I could trust players with such tools but apparently I had too
high hopes.

Anyway this makes it more bearable for it to be given out at the low
cost it currently is at, it's still good as flavor, to spook people or
ghost around, and I think while it doesn't make 100% sense why you lose
access to your hands, inventory, and UI when you supposedly "drop" your
tombstone, I think it's still a good advantage for "scouting", sorta
like a lesser spirit realm rune.

Closes https://github.com/tgstation/tgstation/issues/91849

## Changelog

🆑
del: Merged ghosts and spirits into one species.
balance: Spirit's passthrough ability is now tied down 7 tiles from a
tombstone, but is no longer affected by holy water nor does it make them
drop their equipped gear.
balance: Ghosts can now be healed.
/🆑
2025-09-12 16:55:47 +02:00
xPokee 75e5f43f5a Update screenshot_digi_leg_test.png 2025-09-11 08:07:17 -04:00
xPokee 939f2fc9ac Merge branch 'master' of https://github.com/tgstation/tgstation into xpokee-test-upstream-sync 2025-09-10 14:12:16 -04:00
MrMelbert 135a09182b Refactors obscured (#92779)
## About The Pull Request

Fixes #85028

Obscured flags and covered flags are tracked on carbons, updated as
items are equipped and unequipped. It's that shrimple.

Closes #92760

Just removes the species exception checks for not making sense

Also refactors handcuffs / legcuffs removal. In all of these situations
they were hardcoded when they could easily just use an inventory proc to
work.

## Why It's Good For The Game

Stops a million excessive calls to `check_obscured_slots`

Makes obscured behavior more consistent

Makes obscured behavior easier to use

Cleans up human rendering (There was some cursed stuff before with
render item -> updated obscured -> update body -> cause side effects)

## Changelog

🆑 Melbert
del: Golems which somehow manage to grow wings and somehow manage to
equip something that covers their jumpsuit can no longer fly.
(Seriously, this will not affect anyone)
refactor: Refactored clothing obscurity entirely. Items should be a
loooot more consistent and what covers what, and should update a lot
snappier. As always, report any oddities, like mysteriously disappearing
articles of clothing, hair, or species parts
refactored: Refactored handcuffs and legcuffs a bit, report any odd
situations with cuffs like getting stuck restrained
/🆑
2025-09-07 09:24:34 +02:00
Alexis 34566c051f (READY FOR MERGE) Adds a new species: Lycans (and cursekin) (#4331)
## About The Pull Request
Adds a new species, lycans. They start as a cursekin, but can transform
between lycan form and cursekin form at will via an action button, with
a three-minute cooldown between swapping forms. **You need to select
ears/tail as a cursekin or your lycan form won't have them. (You can
toggle them off in-game via the show/hide mutant parts verb)** The
secondary mutant color for body color also changes the lycan form body
color.

### Cursekin Form

In cursekin form, you are pretty much comparable to a baseline human,
albeit with far more customization due to opting for mutant colors over
skin tone. At this time, the one notable difference is that your body
will reject any inorganic organs/implants that may be attempted to be
inserted.

### Lycan Form

In lycan form is where you really start to see the differences from a
human, some key differences are:
- You now have built in armor, but, are unable to wear clothes, armour,
or any gear.
- Your punches do damage equivalent to a butcher cleaver (minus AP), but
you cannot use guns.
- You are oversized
- You have night vision and better hearing, but this comes at a cost as
you will take extra damage from flash bangs, on both the eyes and ears
fronts.
- You have chunky fingers and are illiterate.
- You get the hunger increase of vulps.

### To Do:

- [x] Code in all the features outlined by the bounty issuer.

- [x] Polish the code.

- [x] Fix any remaining bugs.

- [x] Have the PR test-merged.

- [x] Fix any new bugs that come up.

- [ ] Full merge.
## Why It's Good For The Game
It's a whole new species with mostly unique mechanics not seen by other
species. The transformation aspect is not seen in any other species
unless you count slimes, and the cybernetic rejection is not used by
other species in this exact way to my knowledge. This lets players play
as a species capable of transforming between two species, which makes
for some interesting possibilities.
## Proof Of Testing
Everything seemed to work on my end.
## Changelog
🆑
add: added a new species, werewolves (and werehumans)
image: added icons for the werewolves from Monkestation
/🆑

---------

Co-authored-by: Artur Lang <24881678+Arturlang@users.noreply.github.com>
Co-authored-by: The Sharkening <95130227+StrangeWeirdKitten@users.noreply.github.com>
Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
2025-09-05 13:54:58 -04:00
Return b95174d2da Reflavors the Lone Infiltrator to prevent confusion with Lone Operative (#4495)
## About The Pull Request
We've had many cases of new players mistaking Lone Infiltrator for Lone
Operative. This PR renames the antagonist to "Syndicate Boarder," and
changes their preview to instead use the Infiltrator MOD (even if they
don't actually get an infiltrator MOD, yet)

## Why It's Good For The Game
Prevents confusion with the murderbone punishment antagonist type and
more clearly explains what the Syndicate Boarder (former Lone
Infiltrator) is.

## Proof Of Testing
<img width="340" height="309" alt="image"
src="https://github.com/user-attachments/assets/c26ca7fb-5655-424e-b2f7-209790738e69"
/>

## Changelog

🆑 ReturnToZender
qol: Lone Infiltrators have been renamed to Syndicate Boarders for
clarity.
/🆑

---------

Co-authored-by: Artur Lang <24881678+Arturlang@users.noreply.github.com>
2025-08-20 23:06:38 -06:00
Roxy 4c62a21b1a Fixes for #92061 2025-08-12 13:50:57 -04:00
Return c5f1e43ca4 Reworks species previews in the creator (#4415)
## About The Pull Request
This PR makes it so all the species previews and more visually
interesting and more closely resemble what the species you're about to
become should look like.

See proof of testing for before vs after comparison. This has no effect
on characters of this species, only what people see when browsing
species for what to pick.

## Why It's Good For The Game
This PR will give a better idea of what the vibe of a species is, and
therefore allow you to make a better choice as to what your character
will look like

## Proof Of Testing
Before
<img width="70" height="599" alt="image"
src="https://github.com/user-attachments/assets/0785366f-44d7-4fab-b160-ea2525671695"
/>
After
<img width="85" height="596" alt="image"
src="https://github.com/user-attachments/assets/3f6a8939-c25e-43cf-9810-a2242bc42659"
/>

<details>
<summary>Screenshots/Videos</summary>

</details>

## Changelog

🆑 ReturnToZender
qol: Character previews in the species menu got a visual glow-up!
add: Akula (Generic) has been renamed to the Aquatic template species
add: Primitive Demihumans have been renamed to Hearthkin in the species
list, so they're not confused with a template species.
add: Anthromorphic Insects have been renamed to "Insectoids,"
simplifying their name and preventing confusion with Anthromorphs.
/🆑
2025-08-12 13:34:27 -04:00
EnterTheJake d738cbb296 Several balance changes to Combat MODsuits (#91944)
## About The Pull Request

atomization of https://github.com/tgstation/tgstation/pull/91702 with a
few changes.

- armor booster module has been removed, nukie suits are now always
fully armored and EVA proof.

- Jetpack modules have had their power drain reduced considerably.

- Cap,Hos and Sec MODs armor values have been bumped up (similar to the
old hardsuit values).

- Sec armor plates are now a cargo import.

The nf suit now comes with the Shock absorber pre-installed.

- Fixes Nukie suits not having T4 flash protection.


- All combat modsuits now have ear protection by default when the suit
active (Cap,Sec,Hos,Syndie,ERT, Death Squad, Ninja and RD.)

- Night visor module now comes preinstalled in the syndie mods and
doesn't conflict with other vision modules, nor it costs complexity,
power drain reduced, the module itself has been removed from the uplink.

- Increases the complexity on the nukie suits by 2 points.

- all traitor modules now cost 1 less TC.

## Why It's Good For The Game

**armor booster removal**

I really dislike how this module works, it's a constant hassle having to
manually swap mode depending on the pressure, it's just an annoyng
memory check that punishes you with chip damage when not respected.

The choice of wheter wearing a mod or not doesn't really apply to
nuclear operatives since they wear these things all the time and losing
half of your armor in space never really made a ton of sense to begin
with.

**Jetpack power drain buff**

The drain on this thing is absolute fucking nuts, it eats high capacity
cells in a matter of minutes, power should be a limiting factor to using
these things but it shouldn't tank your battery health this quickly.

**Cap,Sec,Hos MODs buffs**

Back when Fikou introduced MODsuits, one point he clarified in the
design doc is that "Combat stuff usually leads to uninteresting design,
it makes the suits do everything for everyone"

I don't want to diss on the dude (Love you bud), but I don't think his
point makes a ton of sense.

Combat stuff, on this case Combat mods should be built with Combat in
mind.

In all fairness he then has a paragraph addressing why the crew based
combat suits should have low armor, but it still rings hollow to me.

Armored or not, being slower than your average spessman is enough to
make you an easy target or to never be able to chase anyone on foot,
even with their armor increased I don't see players having them
constantly on all the time, the slowdown is a hard enough disincentive.

The Magnate and HoS mods specifically are unique pieces of gear, and
they are usually assigned to 2 of the most important (and prone to
assassination) roles on the station.

There's also a weird paradox with some of the modules they come equipped
with the sec MODs, the pepper spray and the projectile dampener are
built around getting hit, which is a hard sell when your armor is so low
you might as well just die straight up.

Out of respect to Fikou's will of not wanting to grant the crew the
ability to mass produce combat MODs, I removed the sec modplates from
the techweb and moved em as a cargo import.

**Uplink MODules Price reduction**

These were originally priced with progression in mind, traitor
specifically has become considerably weaker since they lost access to
avenues to generate extra TCs.

It's hard to justify getting a suit when most weapons in the uplink cost
more than half of your budget, let alone the modules.

**Shock absorption into the inf suit**

This module is pretty much already mandatory if you don't want to lose
fights in one hit, wearing a syndie modsuit makes you giga valid to
everyone on station and any traitor worth their salt will buy this
module regardless anyway; it just punishes new players who don't know
better.


**Night Visor MOD changes**

This module is completely useless, nobody ever uses it, because it
conflicts with other vision modules, and it's completely redundant since
Thermal vision already comes packed with NV on their own.

**Complexity increase on the Nukie suits + T4 flashing protection
added**

The nukie suits have honestly quite limited complexity for the role they
are supposed to fill , the T4 flash protection missing from the suit is
unintended as we made any other MODsuit have T4 protection already, Moth
Nukies rejoice.

**Ear Protection on combat MODs (oh boy)**

Listen, as of right now we have a total of 2 counters for flashbangs, a
Bowman or being deaf.

A sealed, airtight suit shouldn't offer less protection against loud
noises than a mere headset.
baddies that usually pack these suits usually have a Bowman anyway,
Nukies have it, ninja can easily teleport into a sec outpost and get it,
it's a bit more tricky for traitor since they usually have to invest in
an emag to quickly take the set or kill a security officer.

At least now if you see a baddie roll up in a suit you no longer have to
play hypotheticals wheter your flashbang will work properly or not.

I also gave the ear protection to the RD mod despite it not being a
combat MOD, because frankly it made sense, it's a bomb proof armor, It
should also protect you from loud noises.

## Changelog

🆑
removal: Armor booster module has been removed.
balance: Jetpack module energy drain has been massively reduced.
balance: armor on the Magnate,Safegaurd and sec modsuits has been
considerably increased.
balance: Sec MOD plates have been transferred from RnD to Cargo.
balance The Infiltrator MOD now comes with the shock absorption module
pre-installed.
balance: Nukie MODsuits hav a bit more complexity.
fix: Nukie MODs now have the same flash protection as the other suits
with welding protection.
balance: night visor module comes pre-installed in the syndie mods, no
longer consumes complexity,drains less power and doesn't conflict with
the other visor MODules.
removal: Nightvision MODule removed from the uplink.
balance: Combat MODs and RDs now grant earing protection when the suit
is active.
/🆑

---------

Co-authored-by: Xander3359 <66163761+Xander3359@users.noreply.github.com>
2025-07-19 20:29:31 -04:00
EnterTheJake ec0a685866 Several balance changes to Combat MODsuits (#91944)
## About The Pull Request

atomization of https://github.com/tgstation/tgstation/pull/91702 with a
few changes.

- armor booster module has been removed, nukie suits are now always
fully armored and EVA proof.

- Jetpack modules have had their power drain reduced considerably.

- Cap,Hos and Sec MODs armor values have been bumped up (similar to the
old hardsuit values).

- Sec armor plates are now a cargo import.

The nf suit now comes with the Shock absorber pre-installed.

- Fixes Nukie suits not having T4 flash protection.


- All combat modsuits now have ear protection by default when the suit
active (Cap,Sec,Hos,Syndie,ERT, Death Squad, Ninja and RD.)

- Night visor module now comes preinstalled in the syndie mods and
doesn't conflict with other vision modules, nor it costs complexity,
power drain reduced, the module itself has been removed from the uplink.

- Increases the complexity on the nukie suits by 2 points.

- all traitor modules now cost 1 less TC.

## Why It's Good For The Game

**armor booster removal**

I really dislike how this module works, it's a constant hassle having to
manually swap mode depending on the pressure, it's just an annoyng
memory check that punishes you with chip damage when not respected.

The choice of wheter wearing a mod or not doesn't really apply to
nuclear operatives since they wear these things all the time and losing
half of your armor in space never really made a ton of sense to begin
with.

**Jetpack power drain buff**

The drain on this thing is absolute fucking nuts, it eats high capacity
cells in a matter of minutes, power should be a limiting factor to using
these things but it shouldn't tank your battery health this quickly.

**Cap,Sec,Hos MODs buffs**

Back when Fikou introduced MODsuits, one point he clarified in the
design doc is that "Combat stuff usually leads to uninteresting design,
it makes the suits do everything for everyone"

I don't want to diss on the dude (Love you bud), but I don't think his
point makes a ton of sense.

Combat stuff, on this case Combat mods should be built with Combat in
mind.

In all fairness he then has a paragraph addressing why the crew based
combat suits should have low armor, but it still rings hollow to me.

Armored or not, being slower than your average spessman is enough to
make you an easy target or to never be able to chase anyone on foot,
even with their armor increased I don't see players having them
constantly on all the time, the slowdown is a hard enough disincentive.

The Magnate and HoS mods specifically are unique pieces of gear, and
they are usually assigned to 2 of the most important (and prone to
assassination) roles on the station.

There's also a weird paradox with some of the modules they come equipped
with the sec MODs, the pepper spray and the projectile dampener are
built around getting hit, which is a hard sell when your armor is so low
you might as well just die straight up.

Out of respect to Fikou's will of not wanting to grant the crew the
ability to mass produce combat MODs, I removed the sec modplates from
the techweb and moved em as a cargo import.

**Uplink MODules Price reduction**

These were originally priced with progression in mind, traitor
specifically has become considerably weaker since they lost access to
avenues to generate extra TCs.

It's hard to justify getting a suit when most weapons in the uplink cost
more than half of your budget, let alone the modules.

**Shock absorption into the inf suit**

This module is pretty much already mandatory if you don't want to lose
fights in one hit, wearing a syndie modsuit makes you giga valid to
everyone on station and any traitor worth their salt will buy this
module regardless anyway; it just punishes new players who don't know
better.


**Night Visor MOD changes**

This module is completely useless, nobody ever uses it, because it
conflicts with other vision modules, and it's completely redundant since
Thermal vision already comes packed with NV on their own.

**Complexity increase on the Nukie suits + T4 flashing protection
added**

The nukie suits have honestly quite limited complexity for the role they
are supposed to fill , the T4 flash protection missing from the suit is
unintended as we made any other MODsuit have T4 protection already, Moth
Nukies rejoice.

**Ear Protection on combat MODs (oh boy)**

Listen, as of right now we have a total of 2 counters for flashbangs, a
Bowman or being deaf.

A sealed, airtight suit shouldn't offer less protection against loud
noises than a mere headset.
baddies that usually pack these suits usually have a Bowman anyway,
Nukies have it, ninja can easily teleport into a sec outpost and get it,
it's a bit more tricky for traitor since they usually have to invest in
an emag to quickly take the set or kill a security officer.

At least now if you see a baddie roll up in a suit you no longer have to
play hypotheticals wheter your flashbang will work properly or not.

I also gave the ear protection to the RD mod despite it not being a
combat MOD, because frankly it made sense, it's a bomb proof armor, It
should also protect you from loud noises.

## Changelog

🆑
removal: Armor booster module has been removed.
balance: Jetpack module energy drain has been massively reduced.
balance: armor on the Magnate,Safegaurd and sec modsuits has been
considerably increased.
balance: Sec MOD plates have been transferred from RnD to Cargo.
balance The Infiltrator MOD now comes with the shock absorption module
pre-installed.
balance: Nukie MODsuits hav a bit more complexity.
fix: Nukie MODs now have the same flash protection as the other suits
with welding protection.
balance: night visor module comes pre-installed in the syndie mods, no
longer consumes complexity,drains less power and doesn't conflict with
the other visor MODules.
removal: Nightvision MODule removed from the uplink.
balance: Combat MODs and RDs now grant earing protection when the suit
is active.
/🆑

---------

Co-authored-by: Xander3359 <66163761+Xander3359@users.noreply.github.com>
2025-07-19 14:14:58 +10:00
Roxy 4420ed30ec Update screenshot tests 2025-07-04 20:47:46 -04:00
Time-Green 2dbbe4f41d Voidwalker Rework | Basic Mob Edition + Bonus Antag (#91646)
Reworks the Voidwalker into a basic mob, including a lot of the balance
and mechanics!

Old (left), new (right)

![image](https://github.com/user-attachments/assets/5583db66-6025-4874-95dd-938aa828634c)![image](https://github.com/user-attachments/assets/2785c5cc-ccda-4ffd-bc1c-5bb278873d9b)

https://github.com/user-attachments/assets/22d6138f-11aa-4f7a-8600-2565e6578bcf

(little outdated)
https://youtu.be/cp1E3qPJGX4 (high res mirror)

**🟨Voidwalker mob changes🟨**
No longer a human species and no more void eater. Instead deals damage
by simple unarmed attacks.
Instead of dealing brute, the voidwalker does oxygen damage (4-5 hits to
knock out) with left-click, and slight brute on right click. Non-human
mobs automatically take brute damage instead of oxygen damage.

150 HP
33% burn armor

Yes it has hands, but it can only pick up and drop stuff

**🟨Window phase🟨**

![image](https://github.com/user-attachments/assets/82a330ee-16f8-46e4-a325-c894fc8931d6)
Instead of needing to smash a window with the void eater, moving through
windows simply leaves them passable for 5 seconds. Makes kidnapping a
lot easier, but also makes it easier for people to chase you

People who used the voided skull also leave windows passable for a short
bit.

**🟩Cosmic Charge🟩**
Standard charge ability, but only lets you charge towards space and
works while dragging people

**🟩The Vomitwalker🟩**
People you kidnapped now occasionally do the nebula vomit, which
voidwalkers can use to dive from and into

![image](https://github.com/user-attachments/assets/e483a0d2-a418-479e-89e5-1dcd71165140)
Diving into it is very fast but also removes the nebula vomit. You can
also kidnap people into the vomit (this doesn't remove the vomit).

There is also a little UI for tracking this. Clicking it while in space
dive teleports you to the next nebula vomit, if there are any.

![image](https://github.com/user-attachments/assets/8907f261-6395-44fb-86ea-0ed548aca3ab)

**🟨Voided people changes🟨**
Kidnapped people and people that used the cosmic skull are no longer
muted, but take 10% extra brute and occasionally leave behind glass
shards when taking a lot of damage.

Are no longer obliterated on a second encounter with voidwalkers.
Voidwalkers can't hurt people they've already voided (unless they really
want to), but instead just knock them out for 30s

Also the kidnapped do space vomit as I said earlier.

**🟩Sunwalker🟩**
Voidwalker variant made for pure murderbone. Has no camo and kindap
mechanics, but has a fiery charge, loads of damage and area igniting and
people ignition. It's admin, but I might change this later once I've had
some more time to think about it.

![image](https://github.com/user-attachments/assets/2383dc6e-2173-4449-b71b-367e81c55f88)

Other changes:
- Voidwindows no longer need to be space adjacent
- Unsettle works faster but can't be used in combat anymore
- Space camo now grants complete space invisibility
- Makes a lot of aspects easily moddable, so we can easily mod it into a
moistwalker in-game
- Taking a cosmic skull when you already used one gives you the old
voidwalker void eater arm. Additional uses just gives you more void
eater arms until you run out of hands
- I definitely forgot a lot more
- I made a cool voidwalker hud! It even has a unique space camo toggle

<details>
  <summary>Lot of text</summary>

Voidwalker was basically a snowflaked toghether human species because I
didn't know how to sprite, but I was able to work with species and
visual effects. Then I realized I can just commission sprites!

This also let me just cut out a lot of the snowflake code, because it's
no longer a human so half the things I didn't want them to be able to
do, they just literally cannot do.

Voidwalkers were in a bit of strange spot with kidnapping? There was
essentially no incentive, other than "smash spaceman = funny". They also
had issues doing, anything? There's surprisingly little space on a space
station, especially maps such as tram. Making the voided victims have
nebula vomit gives the voidwalker a reason to WANT to kidnap, by giving
them a way to appear basically anywhere on the station. I don't think
it's too overpowered. Voided people don't vomit that much, it's easily
cleanable and diving into it removes them, so they're limited usability.

Replacing the brute damage with oxygen damage also kinda... just makes
sense? I seriously contemplated letting them do stamina damage for the
first iteration, but opted not to do it because stamina damage has so
many hooks attached. Oxygen damage doesn't! It's also just incredibly
thematic, let's them bypass most armor and makes them more suited to
non-letha kidnappings.

Space camo making them completely invisible was also long overdue. It
was literally just urging people to turn up their gamma and turn down
their parallax settings. I thought it was an interesting mechanic, but
it's just straight up unfair and doesn't belong in a multiplayer game.
They now more frequently leave behind little glass shards, leave
particles from nebula vomit they leave from and have more unique sound
effects, so attentive (and lucky) people can still deduce if an area is
safe-ish.

I removed being able to shatter voided people because the mechanic was
deeply misunderstood. It was intended to give them a means of removing
people if they kept incessently bothering the voidwalker, but people
went out of their way to use this to roundremove people they had already
voided. The 30s sleep conveys my intention a lot better, and fits better
now that the voidwalker benefits from having as many voided people
vomitting all over the place.

The cosmic charge gives them some much needed survivability. My
experiences (in observing voidwalkers, I can never get the roll ;_;) is
that they're constantly one mistake away from complete obliteration. The
cosmic charge let's them get out quick despite their slow movement speed
in gravity. It also makes them stronger when fighting in space.

They got 33% burn armor so it's a tiny bit harder to wipe them away in a
single laser salvo, while still giving people ample opportunity to fight
them off . Also they're like glass or something so it fits thematically.

I gave them hands because I thought it was cool, might be a mistake idk

</details>

🆑 Time-Green, INFRARED_BACON
add: Voidwalker has been throughly reworked! Now you are even less safe!
admin: Adds admin-only Sunwalker mob
fix: Unsettle doesnt work on yourself anymore
fix: Space camo doesnt stop bobbing anymore
fix: Voidwalker windows now recharge on kidnap
runtime: Fixes healthanalyzers runtiming when scanning mobs without
reagent holders
/🆑
2025-07-04 16:41:45 -04:00
Krysonism c5f1b7f8c3 Da blobmob update! Indepedent strains, new sprites, egglike spores, fixes, sounds and buffs! #Cytology2025 (#91368)
## About The Pull Request

This PR makes a number of changes focusing on improving the blob
minions, spores, nauts, zombies and their associated component.

## New sprites

The blob spore, blob zombie and blobbernaut has been resprited. 

The spore and zombie have been lightly touched to preserve the most of
the original characteristics while given a cleaner look.

The spore and zombie have a partially desaturated version used to let
more of the strain colour through instead of them all ending up dark
brown.

The blobbernaut has been reshaded and the side sprite has been made
coherent with the front state, I made decided how the front state was
shaded should be the "canon" one (this might be a bit controversial but
the wild inconsistency was bugging me.)

The blobbernaut is a bit less veiny, but the veins look more natural and
use the strain complementary colour. Many combinations are cool, some
are a bit lacking due to the weird choices of complementary colour.


![image](https://github.com/user-attachments/assets/aee01fb1-5d3a-47ad-abd6-85096f8b8751)

![image](https://github.com/user-attachments/assets/732a4157-c7f6-4a43-ad46-62a505a97088)

## New Cytology Related Features

Blob mobs can now have strains independently of an overmind. 

The 15% mutation chance of vat grown creatures causes a spore or
blobbernaut to get a random strain.

When I first added the blob spore cell line, ghosts could click on cyto
blob spores to posses them, they would then presumably(?) but not
explicitly be free antags. This ability was lost when the blob spore
code was modernised.

Very few people knew about this, and no one grew blob spores anyway.
 
This feature is coming back in a big way, vat grown blob spores present
a new unique job hazard, they are automatically offered to ghost as an
extremely shitty, but free antag.

I have tested spawning like 15 antag pre-buff blob spores in a live
round and they failed completely to antagonise the crew effectively,
hopefully these buffed spores won't present too much of an issue to our
great administration team, if that ends up being the case, there are
many levers to pull to tone them down.

## Blob Spore Buffs 

Blob spores prior to this PR were almost completely useless.

The main cause of this was the extremely dilute reagent smoke reaction;
10u divided over 20 seconds.

This resulted the smoke clouds dealing 0.15 - 0.6 DPS, a completely
negligible and useless amount.

The smoke reagent concentration has been massively increased(10u -> 40u)
and the smoke duration has been reduced(20s -> 8s).
The result of this is that blob spore clouds are something you want to
avoid standing in, but they provide less smoke cover for the blob and
nauts.

Blob spores have also gained the ability to vent crawl. Simple mobs that
can't either open doors or vent crawl feel super bad to play.

They also deal a little more melee damage, but this is still
pathetically low on account of their low attack speed.

I have adjusted their supplementary reagents and reduced the amounts of
spores produced per cycle(2 -> 1) to make them a bit harder to mass
produce.

## Blob Strain Buffs

I have not made this PR with the goal of buffing any particular strain,
but some changes have affected blob strain balance:

### Debris Devourer 

This was the only strain that was strongly mechanically tied to the
core.
In order to allow for independent debris devourer mobs, they can now eat
trash(or any item really), they are independent, they store these items
inside their mob, and use these for the debris devourer reactions.

If they have an overmind, the item gets sent to the core.

This should result in a nice buff to the strain, which I've been told is
one of the bad ones.

### Regenerative Materia & Cryogenic Poison

5 years back another contributor removed the ability of blobs and
blobbernauts to transfer reagents with their attacks(as their expose
method is vapour).

This was a completely undocumented change and possibly unintentional, so
I am reverting it by giving blob reagents penetrates_skin = VAPOR again.

This only really affects these two strains. It makes regenerative
materia much stronger, while barely having any effect on cryogenic
poison, because temperature normalisation changes has made it completely
ineffective even with much more reagent applied.

### Electromagnetic Web

The spore reagent cloud buff might also give a boost to some strains
with good expose effects, like electromagnetic web.

## Blob Cooking

Blob spores now drop spore sacks, they can be ground for spore toxin, or
cracked on a griddle to create an egg-like treat!

I also added a detoxification reaction to reduce the amount of toxin
when cooked, might not work yet because I think griddles may not
actually heat the food?

## Sound Effects

Blob spores bursting and blobbernauts dying have sound effects. 

## Why It's Good For The Game

level 5 biohazard

## Changelog
🆑
image: blob mobs have been respectfully resprited. 
add: vat grown blob mobs can sometimes get born with a blob strain.
add: blob spores drop spore sacks, crack them on the griddle. 
add: debris devourer mobs can now eat trash, sending it to the core, if
there is one.
add: vat grown blob spores are now sentient and evil.
balance: blob spores now have much more concentrated smoke.
balance: blob spores can ventcrawl.
fix: regenerative materia and cryogenic poison strain blob tiles & nauts
now inject chems again.
sound: blob spores & blobbernaut now have death sound effects.
/🆑
2025-07-02 16:03:47 +00:00
Time-Green 39a2434c06 Voidwalker Rework | Basic Mob Edition + Bonus Antag (#91646)
## About The Pull Request

Reworks the Voidwalker into a basic mob, including a lot of the balance
and mechanics!

Old (left), new (right)

![image](https://github.com/user-attachments/assets/5583db66-6025-4874-95dd-938aa828634c)![image](https://github.com/user-attachments/assets/2785c5cc-ccda-4ffd-bc1c-5bb278873d9b)


https://github.com/user-attachments/assets/22d6138f-11aa-4f7a-8600-2565e6578bcf

(little outdated)
https://youtu.be/cp1E3qPJGX4 (high res mirror)

**🟨Voidwalker mob changes🟨**
No longer a human species and no more void eater. Instead deals damage
by simple unarmed attacks.
Instead of dealing brute, the voidwalker does oxygen damage (4-5 hits to
knock out) with left-click, and slight brute on right click. Non-human
mobs automatically take brute damage instead of oxygen damage.

150 HP
33% burn armor

Yes it has hands, but it can only pick up and drop stuff

**🟨Window phase🟨**

![image](https://github.com/user-attachments/assets/82a330ee-16f8-46e4-a325-c894fc8931d6)
Instead of needing to smash a window with the void eater, moving through
windows simply leaves them passable for 5 seconds. Makes kidnapping a
lot easier, but also makes it easier for people to chase you

People who used the voided skull also leave windows passable for a short
bit.

**🟩Cosmic Charge🟩**
Standard charge ability, but only lets you charge towards space and
works while dragging people

**🟩The Vomitwalker🟩**
People you kidnapped now occasionally do the nebula vomit, which
voidwalkers can use to dive from and into

![image](https://github.com/user-attachments/assets/e483a0d2-a418-479e-89e5-1dcd71165140)
Diving into it is very fast but also removes the nebula vomit. You can
also kidnap people into the vomit (this doesn't remove the vomit).

There is also a little UI for tracking this. Clicking it while in space
dive teleports you to the next nebula vomit, if there are any.


![image](https://github.com/user-attachments/assets/8907f261-6395-44fb-86ea-0ed548aca3ab)

**🟨Voided people changes🟨**
Kidnapped people and people that used the cosmic skull are no longer
muted, but take 10% extra brute and occasionally leave behind glass
shards when taking a lot of damage.

Are no longer obliterated on a second encounter with voidwalkers.
Voidwalkers can't hurt people they've already voided (unless they really
want to), but instead just knock them out for 30s

Also the kidnapped do space vomit as I said earlier.

**🟩Sunwalker🟩**
Voidwalker variant made for pure murderbone. Has no camo and kindap
mechanics, but has a fiery charge, loads of damage and area igniting and
people ignition. It's admin, but I might change this later once I've had
some more time to think about it.

![image](https://github.com/user-attachments/assets/2383dc6e-2173-4449-b71b-367e81c55f88)

Other changes: 
- Voidwindows no longer need to be space adjacent
- Unsettle works faster but can't be used in combat anymore
- Space camo now grants complete space invisibility
- Makes a lot of aspects easily moddable, so we can easily mod it into a
moistwalker in-game
- Taking a cosmic skull when you already used one gives you the old
voidwalker void eater arm. Additional uses just gives you more void
eater arms until you run out of hands
- I definitely forgot a lot more
- I made a cool voidwalker hud! It even has a unique space camo toggle
## Why It's Good For The Game

<details>
  <summary>Lot of text</summary>
  
Voidwalker was basically a snowflaked toghether human species because I
didn't know how to sprite, but I was able to work with species and
visual effects. Then I realized I can just commission sprites!

This also let me just cut out a lot of the snowflake code, because it's
no longer a human so half the things I didn't want them to be able to
do, they just literally cannot do.

Voidwalkers were in a bit of strange spot with kidnapping? There was
essentially no incentive, other than "smash spaceman = funny". They also
had issues doing, anything? There's surprisingly little space on a space
station, especially maps such as tram. Making the voided victims have
nebula vomit gives the voidwalker a reason to WANT to kidnap, by giving
them a way to appear basically anywhere on the station. I don't think
it's too overpowered. Voided people don't vomit that much, it's easily
cleanable and diving into it removes them, so they're limited usability.

Replacing the brute damage with oxygen damage also kinda... just makes
sense? I seriously contemplated letting them do stamina damage for the
first iteration, but opted not to do it because stamina damage has so
many hooks attached. Oxygen damage doesn't! It's also just incredibly
thematic, let's them bypass most armor and makes them more suited to
non-letha kidnappings.

Space camo making them completely invisible was also long overdue. It
was literally just urging people to turn up their gamma and turn down
their parallax settings. I thought it was an interesting mechanic, but
it's just straight up unfair and doesn't belong in a multiplayer game.
They now more frequently leave behind little glass shards, leave
particles from nebula vomit they leave from and have more unique sound
effects, so attentive (and lucky) people can still deduce if an area is
safe-ish.

I removed being able to shatter voided people because the mechanic was
deeply misunderstood. It was intended to give them a means of removing
people if they kept incessently bothering the voidwalker, but people
went out of their way to use this to roundremove people they had already
voided. The 30s sleep conveys my intention a lot better, and fits better
now that the voidwalker benefits from having as many voided people
vomitting all over the place.

The cosmic charge gives them some much needed survivability. My
experiences (in observing voidwalkers, I can never get the roll ;_;) is
that they're constantly one mistake away from complete obliteration. The
cosmic charge let's them get out quick despite their slow movement speed
in gravity. It also makes them stronger when fighting in space.

They got 33% burn armor so it's a tiny bit harder to wipe them away in a
single laser salvo, while still giving people ample opportunity to fight
them off . Also they're like glass or something so it fits thematically.

I gave them hands because I thought it was cool, might be a mistake idk
  
</details>

## Changelog

🆑 Time-Green, INFRARED_BACON
add: Voidwalker has been throughly reworked! Now you are even less safe!
admin: Adds admin-only Sunwalker mob
fix: Unsettle doesnt work on yourself anymore
fix: Space camo doesnt stop bobbing anymore
fix: Voidwalker windows now recharge on kidnap 
runtime: Fixes healthanalyzers runtiming when scanning mobs without
reagent holders
/🆑
2025-07-01 12:55:31 +01:00
MrMelbert e0bdfc3f5f Dynamic Rework (#91290)
Implements https://hackmd.io/@tgstation/SkeUS7lSp , rewriting Dynamic
from the ground-up

- Dynamic configuration is now vastly streamlined, making it far far far
easier to understand and edit

- Threat is gone entirely; round chaos is now determined by dynamic
tiers
   - There's 5 dynamic tiers, 0 to 4.
      - 0 is a pure greenshift.
- Tiers are just picked via weight - "16% chance of getting a high chaos
round".
- Tiers have min pop ranges. "Tier 4 (high chaos) requires 25 pop to be
selected".
- Tier determines how much of every ruleset is picked. "Tier 4 (High
Chaos) will pick 3-4 roundstart[1], 1-2 light, 1-2 heavy, and 2-3
latejoins".
- The number of rulesets picked depends on how many people are in the
server - this is also configurable[2]. As an example, a tier that
demands "1-3" rulesets will not spawn 3 rulesets if population <= 40 and
will not spawn 2 rulesets if population <= 25.
- Tiers also determine time before light, heavy, and latejoin rulesets
are picked, as well as the cooldown range between spawns. More chaotic
tiers may send midrounds sooner or wait less time between sending them.

- On the ruleset side of things, "requirements", "scaling", and
"enemies" is gone.
- You can configure a ruleset's min pop and weight flat, or per tier.
- For example a ruleset like Obsession is weighted higher for tiers 1-2
and lower for tiers 3-4.
- Rather than scaling up, roundstart rulesets can just be selected
multiple times.
- Rulesets also have `min_antag_cap` and `max_antag_cap`.
`min_antag_cap` determines how many candidates are needed for it to run,
and `max_antag_cap` determines how many candidates are selected.

- Rulesets attempt to run every 2.5 minutes. [3]

- Light rulesets will ALWAYS be picked before heavy rulesets. [4]

- Light injection chance is no longer 100%, heavy injection chance
formula has been simplified.
- Chance simply scales based on number of dead players / total number
off players, with a flag 50% chance if no antags exist. [5]

[1] This does not guarantee you will actually GET 3-4 roundstart
rulesets. If a roundstart ruleset is picked, and it ends up being unable
to execute (such as "not enough candidates", that slot is effectively a
wash.) This might be revisited.

[2] Currently, this is a hard limit - below X pop, you WILL get a
quarter or a half of the rulesets. This might be revisited to just be
weighted - you are just MORE LIKELY to get a quarter or a half.

[3] Little worried about accidentally frontloading everything so we'll
see about this

[4] This may be revisited but in most contexts it seems sensible.

[5] This may also be revisited, I'm not 100% sure what the best / most
simple way to tackle midround chances is.

Other implementation details

- The process of making rulesets has been streamlined as well. Many
rulesets only amount to a definition and `assign_role`.

- Dynamic.json -> Dynamic.toml

- Dynamic event hijacked was ripped out entirely.
- Most midround antag random events are now dynamic rulesets. Fugitives,
Morphs, Slaughter Demons, etc.
      - The 1 weight slaughter demon event is gone. RIP in peace.
- There is now a hidden midround event that simply adds +1 latejoin, +1
light, or +1 heavy ruleset.

- `mind.special_role` is dead. Minds have a lazylist of special roles
now but it's essentially only used for traitor panel.

- Revs refactored almost entirely. Revs can now exist without a dynamic
ruleset.

- Cult refactored a tiny bit.

- Antag datums cleaned up.

- Pre round setup is less centralized on Dynamic.

- Admins have a whole panel for interfacing with dynamic. It's pretty
slapdash I'm sure someone could make a nicer looking one.

![image](https://github.com/user-attachments/assets/e99ca607-20b0-4d30-ab4a-f602babe7ac7)

![image](https://github.com/user-attachments/assets/470c3c20-c354-4ee6-b63b-a8f36dda4b5c)

- Maybe some other things.

See readme for more info.

Will you see a massive change in how rounds play out? My hunch says
rounds will spawn less rulesets on average, but it's ultimately to how
it's configured

🆑 Melbert
refactor: Dynamic rewritten entirely, report any strange rounds
config: Dynamic config reworked, it's now a TOML file
refactor: Refactored antag roles somewhat, report any oddities
refactor: Refactored Revolution entirely, report any oddities
del: Deleted most midround events that spawn antags - they use dynamic
rulesets now
add: Dynamic rulesets can now be false alarms
add: Adds a random event that gives dynamic the ability to run another
ruleset later
admin: Adds a panel for messing around with dynamic
admin: Adds a panel for chance for every dynamic ruleset to be selected
admin: You can spawn revs without using dynamic now
fix: Nuke team leaders get their fun title back
/🆑

(cherry picked from commit 4c277dc572)
2025-06-26 20:12:17 -04:00
John Willard 78cffc2101 Adds a new halloween species: Spirits (#90711)
Adds 2 new species: Spirits and Ghosts

Spirits are available roundstart during Halloween, Wabbajack and
Xenobio's black slime extract
Ghosts are available through Magic mirrors

They fly around, and don't have legs and instead float around. They also
can't get legs implanted onto themselves.

They also do have organs, so they are affected by flashbangs, they do
get hungry, they do need oxygen to survive (they don't take damage in
space but they do suffocate & get slowdown), and can process chems.
Gibbing a ghost gives ectoplasm, an ingredient for ghost burgers.

Chaplains also got a buff here, null rod-type weapons' bane is now
against Spirit mobs, rather than hardcoded revenants. This means it now
includes Spirits/Ghosts, but also Soulscythes & Cult shades.

Also re-adds https://github.com/tgstation/tgstation/pull/81630 which was
reverted in https://github.com/tgstation/tgstation/pull/86506 which I
assume was accidental.

Ghosts have an innate ability to become incorporeal, which allows them
to phase through walls and stuff. Using this will immediately make them
drop any non-ghost limb/organ (not implants cause I thought it would be
funny). This ability is not available if they have holy water in their
system, and like revenants they also can't walk over blessed tiles with
it. They are also invisible to cameras while using this (not the obscura
though).

Sprites taken from observers directly, if anyone wants to make custom
sprites for them feel free. If anyone wants to make this obtainable
somehow in-game as well I wouldn't be opposed, halloween is just where I
thought it would fit most.

This also adds a lot of fixes that I encountered trying to add this,
from systems that have been neglected throughout the years.

https://github.com/user-attachments/assets/e368d710-80a0-4c63-b271-1abe3dd41a5e

We haven't gotten a new halloween species in a long time and thought it
would be fun if you can play as an actual ghost, the soul that remains
after a person passes, so Halloween feels more haunted. It's overall
made in just good fun, with a bonus that Ghosts are a cool species to
play with as well for Wizards & maybe Chaplains in the future (Dead sect
when?)

🆑
add: Added a new halloween species: Spirits, a species without legs and
instead floats.
add: Added a new magic mirror species: Ghosts, like spirits but with the
ability to become incorporeal, traversing through solid wall.
fix: Mobs unable to use storage items now can't use storage items.
fix: Mobs unable to use items can now not open airlocks & closets
fix: Mobs unable to pick items up can no longer pick items up and
immediately drop, moving one tile at a time.
fix: Mobs with intentional missing limbs (Alien larva) no longer show
their limbs as missing on examine (again)
fix: Golems' pref page had a missing icon, it now has one.
/🆑

---------

Co-authored-by: Time-Green <7501474+Time-Green@users.noreply.github.com>
(cherry picked from commit 096c032402)
2025-06-26 19:54:02 -04:00
MrMelbert 4c277dc572 Dynamic Rework (#91290)
## About The Pull Request

Implements https://hackmd.io/@tgstation/SkeUS7lSp , rewriting Dynamic
from the ground-up

- Dynamic configuration is now vastly streamlined, making it far far far
easier to understand and edit

- Threat is gone entirely; round chaos is now determined by dynamic
tiers
   - There's 5 dynamic tiers, 0 to 4.
      - 0 is a pure greenshift.
- Tiers are just picked via weight - "16% chance of getting a high chaos
round".
- Tiers have min pop ranges. "Tier 4 (high chaos) requires 25 pop to be
selected".
- Tier determines how much of every ruleset is picked. "Tier 4 (High
Chaos) will pick 3-4 roundstart[1], 1-2 light, 1-2 heavy, and 2-3
latejoins".
- The number of rulesets picked depends on how many people are in the
server - this is also configurable[2]. As an example, a tier that
demands "1-3" rulesets will not spawn 3 rulesets if population <= 40 and
will not spawn 2 rulesets if population <= 25.
- Tiers also determine time before light, heavy, and latejoin rulesets
are picked, as well as the cooldown range between spawns. More chaotic
tiers may send midrounds sooner or wait less time between sending them.

- On the ruleset side of things, "requirements", "scaling", and
"enemies" is gone.
- You can configure a ruleset's min pop and weight flat, or per tier.
- For example a ruleset like Obsession is weighted higher for tiers 1-2
and lower for tiers 3-4.
- Rather than scaling up, roundstart rulesets can just be selected
multiple times.
- Rulesets also have `min_antag_cap` and `max_antag_cap`.
`min_antag_cap` determines how many candidates are needed for it to run,
and `max_antag_cap` determines how many candidates are selected.

- Rulesets attempt to run every 2.5 minutes. [3]

- Light rulesets will ALWAYS be picked before heavy rulesets. [4]

- Light injection chance is no longer 100%, heavy injection chance
formula has been simplified.
- Chance simply scales based on number of dead players / total number
off players, with a flag 50% chance if no antags exist. [5]

[1] This does not guarantee you will actually GET 3-4 roundstart
rulesets. If a roundstart ruleset is picked, and it ends up being unable
to execute (such as "not enough candidates", that slot is effectively a
wash.) This might be revisited.

[2] Currently, this is a hard limit - below X pop, you WILL get a
quarter or a half of the rulesets. This might be revisited to just be
weighted - you are just MORE LIKELY to get a quarter or a half.

[3] Little worried about accidentally frontloading everything so we'll
see about this

[4] This may be revisited but in most contexts it seems sensible. 

[5] This may also be revisited, I'm not 100% sure what the best / most
simple way to tackle midround chances is.

Other implementation details

- The process of making rulesets has been streamlined as well. Many
rulesets only amount to a definition and `assign_role`.

- Dynamic.json -> Dynamic.toml

- Dynamic event hijacked was ripped out entirely.
- Most midround antag random events are now dynamic rulesets. Fugitives,
Morphs, Slaughter Demons, etc.
      - The 1 weight slaughter demon event is gone. RIP in peace. 
- There is now a hidden midround event that simply adds +1 latejoin, +1
light, or +1 heavy ruleset.

- `mind.special_role` is dead. Minds have a lazylist of special roles
now but it's essentially only used for traitor panel.

- Revs refactored almost entirely. Revs can now exist without a dynamic
ruleset.

- Cult refactored a tiny bit. 

- Antag datums cleaned up.

- Pre round setup is less centralized on Dynamic.

- Admins have a whole panel for interfacing with dynamic. It's pretty
slapdash I'm sure someone could make a nicer looking one.


![image](https://github.com/user-attachments/assets/e99ca607-20b0-4d30-ab4a-f602babe7ac7)


![image](https://github.com/user-attachments/assets/470c3c20-c354-4ee6-b63b-a8f36dda4b5c)

- Maybe some other things.

## Why It's Good For The Game

See readme for more info.

Will you see a massive change in how rounds play out? My hunch says
rounds will spawn less rulesets on average, but it's ultimately to how
it's configured

## Changelog

🆑 Melbert
refactor: Dynamic rewritten entirely, report any strange rounds
config: Dynamic config reworked, it's now a TOML file
refactor: Refactored antag roles somewhat, report any oddities
refactor: Refactored Revolution entirely, report any oddities
del: Deleted most midround events that spawn antags - they use dynamic
rulesets now
add: Dynamic rulesets can now be false alarms
add: Adds a random event that gives dynamic the ability to run another
ruleset later
admin: Adds a panel for messing around with dynamic
admin: Adds a panel for chance for every dynamic ruleset to be selected
admin: You can spawn revs without using dynamic now
fix: Nuke team leaders get their fun title back
/🆑
2025-06-25 17:36:10 -07:00
John Willard 096c032402 Adds a new halloween species: Spirits (#90711)
## About The Pull Request

Adds 2 new species: Spirits and Ghosts

Spirits are available roundstart during Halloween, Wabbajack and
Xenobio's black slime extract
Ghosts are available through Magic mirrors

They fly around, and don't have legs and instead float around. They also
can't get legs implanted onto themselves.

They also do have organs, so they are affected by flashbangs, they do
get hungry, they do need oxygen to survive (they don't take damage in
space but they do suffocate & get slowdown), and can process chems.
Gibbing a ghost gives ectoplasm, an ingredient for ghost burgers.

Chaplains also got a buff here, null rod-type weapons' bane is now
against Spirit mobs, rather than hardcoded revenants. This means it now
includes Spirits/Ghosts, but also Soulscythes & Cult shades.

Also re-adds https://github.com/tgstation/tgstation/pull/81630 which was
reverted in https://github.com/tgstation/tgstation/pull/86506 which I
assume was accidental.

### The difference between Spirits and Ghosts

Ghosts have an innate ability to become incorporeal, which allows them
to phase through walls and stuff. Using this will immediately make them
drop any non-ghost limb/organ (not implants cause I thought it would be
funny). This ability is not available if they have holy water in their
system, and like revenants they also can't walk over blessed tiles with
it. They are also invisible to cameras while using this (not the obscura
though).

Sprites taken from observers directly, if anyone wants to make custom
sprites for them feel free. If anyone wants to make this obtainable
somehow in-game as well I wouldn't be opposed, halloween is just where I
thought it would fit most.

This also adds a lot of fixes that I encountered trying to add this,
from systems that have been neglected throughout the years.


https://github.com/user-attachments/assets/e368d710-80a0-4c63-b271-1abe3dd41a5e

## Why It's Good For The Game

We haven't gotten a new halloween species in a long time and thought it
would be fun if you can play as an actual ghost, the soul that remains
after a person passes, so Halloween feels more haunted. It's overall
made in just good fun, with a bonus that Ghosts are a cool species to
play with as well for Wizards & maybe Chaplains in the future (Dead sect
when?)

## Changelog

🆑
add: Added a new halloween species: Spirits, a species without legs and
instead floats.
add: Added a new magic mirror species: Ghosts, like spirits but with the
ability to become incorporeal, traversing through solid wall.
fix: Mobs unable to use storage items now can't use storage items.
fix: Mobs unable to use items can now not open airlocks & closets
fix: Mobs unable to pick items up can no longer pick items up and
immediately drop, moving one tile at a time.
fix: Mobs with intentional missing limbs (Alien larva) no longer show
their limbs as missing on examine (again)
fix: Golems' pref page had a missing icon, it now has one.
/🆑

---------

Co-authored-by: Time-Green <7501474+Time-Green@users.noreply.github.com>
2025-06-22 10:02:06 +02:00
SapphoQueer 98c097e157 Fixes Vox Legs Becoming Regular Digi Legs Whenever You Change Anything At All (#4103)
## About The Pull Request
Title
## Why It's Good For The Game
Bug is bad
## Proof Of Testing


https://github.com/user-attachments/assets/be82bcb9-bd64-41ad-af32-bd1288f5f1c0
<details>
<summary>Screenshots/Videos</summary>

</details>

## Changelog
🆑
fix: Vox legs no longer change to regular digitigrade legs when you
change anything at all
/🆑
2025-06-22 03:11:48 -04:00
SapphoQueer 7fd63f89fd Luminescent eyes respect eye colors in preferences (#4060)
## About The Pull Request
You dont have to set the hex code manually anymore based on your eye
colors
## Why It's Good For The Game
Fixes #3466
## Proof Of Testing



https://github.com/user-attachments/assets/a058fe6f-b0c4-4cbb-af09-968fa26f25b8



</details>

## Changelog
🆑
Fix: Luminescent eyes respect eye colors in preferences once more
/🆑
2025-06-16 20:37:22 -04:00
Roxy 7ee563027c Update screenshot tests 2025-06-06 01:01:15 -04:00
SmArtKar b4061f1800 [MDB IGNORE] Blood Refactor Chapter 2: Collector's Edition (#91054)
## About The Pull Request

Refactors most of blood handling code untouched by #90593 and completely
rewrites all blood decals, components and reagents.

- Blood types now have behavioral flags which allow them to control
where they leave decals/DNA/viruses. Oil no longer transfers DNA and
viruses with it, while podpeople water-blood doesn't leave visible
decals on turfs and items, but still can be picked up by DNA scanners.
- Multiple blood types have received unique handling - liquid
electricity blood now glows in the dark, oil trails are flammable and
lube ones are slippery. Oil blood can be restored with fuel, lube with
silicon and slime with stable plasma (as normal plasma already passively
regenerates their blood), instead of everything using iron. Saline
solution only supplements on iron-based blood and won't do anything to
help with bloodloss for species who rely on different blood types.
(Roundstart this applies only to Ethereals)
- All blood logic has been moved away from the blood reagent itself into
a blood element that is assigned to the blood reagent by default, and to
any reagent that's drawn from a mob as their "blood" (in
``transfer_blood_to``). This means that blood you draw from lizards will
be green and have lizard's blood description instead of mentioning red
blood cells, Ethereal "blood" will actually contain their DNA and genes,
etc.
- Refactored all blood decals. Blood states are no more, everything is
now handled via blood DNA. Credits to MrMelbert and Maplestation, as a
significant amount of code has been taken from
https://github.com/MrMelbert/MapleStationCode/pull/436 and many of his
followup PRs. Oil and xenomorph splatters are now subtypes of blood,
blood drying is now animated, blood trails now curve and can be
diagonal.
- Rewrote bloodysoles and bloody_spreader components, credits to Melbert
again for the former, while latter now makes more sense with its
interactions. Bloody soles no longer share blood DNA with your hands.
- Ported Melbert's bloody footprint sprites and bot-blood-spreading
functionality.
- Removed all species-side reagent interactions, instead they're handled
by said species' livers. (This previously included exotic blood
handling, thus the removal)
- Slightly optimized human rendering by removing inbetween overlay
holders for clothing when they're not needed.
- Blood-transmitted diseases will now get added to many more decals than
before.
- Cleaned up and partially refactored replica pods, fixed an issue where
monkeys/manipulators were unable to harvest mindless pods.
- Exotic bloodtype on species now automatically assigns their blood
reagent, without the need to assign them separately.
- Clown mobs now bleed (with colorful reagent instead of blood during
april fools), and so do vatbeasts (lizard blood)
- Implemented generic procs for handling bleeding checks, all sorts of
scanners now also correctly call your blood for what it is.
- Podpeople's guts are now lime-green like their organs, instead of
being weirdly greyish like their water-blood. (Their bleeding overlays
are still grey, as they're bleeding water)
- Slimepeople now can bleed. Their jelly is pale purple in color, but
their wound overlays copy their body color.
- Injecting/spraying/splashing/etc mob with a reagent preserves its
data, so you could theoretically recycle fine wines from someone's
bloodstream
- Fixed burdened chaplain's sect never actually giving a blessing when
applying effects, and giving a blessing when nothing can be healed.
Inverted check strikes again.

- Closes #91039 

#### Examples

A lot of blood here has dried, visually the blood colors are almost
exactly the same as before either of the blood refactors.


![dreamseeker_BSP7FE9pRB](https://github.com/user-attachments/assets/45711fa0-ae65-4ec2-9e89-753fa7dd876f)

![dreamseeker_zyv9ssh5VN](https://github.com/user-attachments/assets/7b112854-b7e3-4bfe-b78b-199a55b5b051)
2025-05-31 19:38:07 -05:00
Bloop 655b66bdd0 Adds automatic GAGS icon generation for mapping and the loadout menu (#90940)
Revival of https://github.com/tgstation/tgstation/pull/86482, which is
even more doable now that we have rustg iconforge generation.

What this PR does:

- Sets up every single GAGS icon in the game to have their own preview
icon autogenerated during compile. This is configurable to not run
during live. The icons are created in `icons/map_icons/..`
- This also has the side effect of providing accurate GAGS icons for
things like the loadout menu. No more having to create your own
previews.

![FOuGL6ofxC](https://github.com/user-attachments/assets/e5414971-7f13-4883-9f7f-a8a212b46fe8)

<details><summary>Mappers rejoice!</summary>

![StrongDMM_1oeMSoRHXT](https://github.com/user-attachments/assets/83dcfe4c-31be-4953-98f3-dff90268bbc4)

![StrongDMM_uyqu3CggPn](https://github.com/user-attachments/assets/7896f99e-2656-40e1-a9da-3a513882365a)

</details>

<details><summary>Uses iconforge so it does not take up much time during
init</summary>

![dreamdaemon_u4Md3Dqwge](https://github.com/user-attachments/assets/17baaff8-5d5e-4a4d-ba8f-9dd548024155)

</details>

---

this still applies:

Note for Spriters:

After you've assigned the correct values to vars, you must run the game
through init on your local machine and commit the changes to the map
icon dmi files. Unit tests should catch all cases of forgetting to
assign the correct vars, or not running through init.

Note for Server Operators:

In order to not generate these icons on live I've added a new config
entry which should be disabled on live called GENERATE_ASSETS_IN_INIT in
the config.txt

No more error icons in SDMM and loadout.

🆑
refactor: preview icons for greyscale items are now automatically
generated, meaning you can see GAGS as they actually appear ingame while
mapping or viewing the loadout menu.
/🆑

---------

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
2025-05-29 16:14:43 -04:00
Bloop cb51a652a9 Adds automatic GAGS icon generation for mapping and the loadout menu (#90940)
## About The Pull Request

Revival of https://github.com/tgstation/tgstation/pull/86482, which is
even more doable now that we have rustg iconforge generation.

What this PR does:

- Sets up every single GAGS icon in the game to have their own preview
icon autogenerated during compile. This is configurable to not run
during live. The icons are created in `icons/map_icons/..`
- This also has the side effect of providing accurate GAGS icons for
things like the loadout menu. No more having to create your own
previews.


![FOuGL6ofxC](https://github.com/user-attachments/assets/e5414971-7f13-4883-9f7f-a8a212b46fe8)

<details><summary>Mappers rejoice!</summary>


![StrongDMM_1oeMSoRHXT](https://github.com/user-attachments/assets/83dcfe4c-31be-4953-98f3-dff90268bbc4)


![StrongDMM_uyqu3CggPn](https://github.com/user-attachments/assets/7896f99e-2656-40e1-a9da-3a513882365a)

</details>

<details><summary>Uses iconforge so it does not take up much time during
init</summary>


![dreamdaemon_u4Md3Dqwge](https://github.com/user-attachments/assets/17baaff8-5d5e-4a4d-ba8f-9dd548024155)

</details>

---

### Copied from https://github.com/tgstation/tgstation/pull/86482 as
this still applies:

Note for Spriters:

After you've assigned the correct values to vars, you must run the game
through init on your local machine and commit the changes to the map
icon dmi files. Unit tests should catch all cases of forgetting to
assign the correct vars, or not running through init.

Note for Server Operators:

In order to not generate these icons on live I've added a new config
entry which should be disabled on live called GENERATE_ASSETS_IN_INIT in
the config.txt


## Why It's Good For The Game

No more error icons in SDMM and loadout.

## Changelog

🆑
refactor: preview icons for greyscale items are now automatically
generated, meaning you can see GAGS as they actually appear ingame while
mapping or viewing the loadout menu.
/🆑

---------

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
2025-05-24 15:21:02 -07:00
Roxy 29b71a8bc4 Update screenshot tests 2025-05-22 22:52:40 -04:00
MrMelbert 39f3d16095 Screenshot Tests Airlocks (#91203)
Tests that both normal and glass airlocks, and some of their overlays
work.
2025-05-22 21:31:01 -04:00
MrMelbert f245d8ab79 Screenshot Tests Airlocks (#91203)
## About The Pull Request

Tests that both normal and glass airlocks, and some of their overlays
work.
2025-05-20 12:07:13 +03:00
Roxy 4c6da11d2d Update screenshot tests 2025-05-15 17:26:01 -04:00
The Sharkening 77616e8b0e Add Proteans to the game. (#3449)
## About The Pull Request

Adds the funny nanite blob dudes from Vigro code into the game. It's
more of a port of the idea since they're coded from the ground up. They
will be more of a utility focused species then a combat focused species.
**They are fragile.**

- Eats metal. You need metal to live and you need metal to heal. 
- Healed by materials. You feed Proteans metal to heal them.
- Difficult to kill, but extremely fragile. They are considered a
deathless species but they are stuck in their suit if they die. **You
have to order a new refactory from cargo to revive them**

**Order Refactory > Screwdriver suit > Insert refactory > Wait 5
minutes.**

- Easily dismembered. They have 30 seconds to recover their limbs and
pop them on or they will melt into nothingness. Can do a lengthy heal
which replaces missing limbs and easy to replace organs.
- Without a refactory, you will wither away.
- Without an orchastrator, you will have a lot of issues moving.
- You can lock your suit on someone. (OOC escape will work)
- You can assimilate modsuits.

- [x] OOC escape
- [x] Suit Transformation fixes
- [x] Modsuit Assimilation
- [x] Ensure organs are working
- [x] Species info and lore
- [x] Antag Proteans
- [x] Custom damage. Disable various surgeries.
- [x] Testing, polish, feedback.
- [x] Runtime and CI fixing.
- [ ] Live testing and balance.

## Why It's Good For The Game

This was the second to top vote on species people wanted to see added
and this is more custom mechanics then what is just a human reskin.

## Proof Of Testing


![NVIDIA_Overlay_bC6M2FThJP](https://github.com/user-attachments/assets/cb8c8594-f82c-408b-a9a1-e86a61bf8a0f)


![NVIDIA_Overlay_dbhHrYltOH](https://github.com/user-attachments/assets/cb643365-5512-465f-8582-337e24211b9f)

## Changelog

🆑 StrangeWeirdKitten, Majkl-J
add: New species: Proteans
/🆑

---------

Co-authored-by: Waterpig <49160555+Majkl-J@users.noreply.github.com>
Co-authored-by: Bubberbot <151680451+Bubberbot@users.noreply.github.com>
Co-authored-by: Arturlang <24881678+Arturlang@users.noreply.github.com>
Co-authored-by: aKromatopzia <94389683+aKromatopzia@users.noreply.github.com>
Co-authored-by: Jinshee <96621959+Jinshee@users.noreply.github.com>
Co-authored-by: Jinshee <manastra2536@gmail.com>
Co-authored-by: JustMeTheIInd <145101584+JustMeTheIInd@users.noreply.github.com>
Co-authored-by: nevimer <77420409+nevimer@users.noreply.github.com>
Co-authored-by: Odairu <39929315+Odairu@users.noreply.github.com>
Co-authored-by: LT3 <83487515+lessthnthree@users.noreply.github.com>
Co-authored-by: Roxy <75404941+TealSeer@users.noreply.github.com>
2025-05-13 15:05:46 -04:00
Roxy a4885ae5c2 Update screenshot tests 2025-05-08 21:17:13 -04:00
John Willard 6dc25bfd9d adds a naked person into unit tests (#90942)
Working on https://github.com/tgstation/tgstation/pull/90711 I noticed I
got a screenshot test error because limbs weren't being rendered
properly, which is cool, however I got this alert from antagonist icon
screenshot tests, for Changelings.
That's when I noticed we don't actually have any screenshot tests to
ensure limbs look the same, so I'm adding a naked person.

If for some reason Changeling's icons are changed or removed, we won't
have any way to tell limb icons randomly break one day because all our
screenshotted mobs are clothed.

Nothing player-facing
2025-05-08 18:44:36 -04:00
Roxy 09faf36cae fix 2025-05-05 20:05:16 -04:00
SmArtKar 0694edc174 Fixes potential edgecases with human limb initialization (#90945)
Human initialization calls species' ``create_fresh_body``, which calls
carbon ``create_bodyparts``, which adds bodyparts directly using
``add_bodypart`` to bypass a lot of unnecessary update calls inside of
that proc. However, this also bypasses 3 comsigs, and bodypart sorting,
which means that order of bodyparts set in
``bodyparts``/``replace_body`` could determine how the mob would spawn
and render until they had a limb reattached to them, and some
bodypart-owned effects like organ set bonuses wouldn't apply on mobs
when they were added from their species.

I've just added a ``lazy`` arg to ``try_attach_limb`` which makes it
only check for limb validity, attach the limb and early return after
sending relevant comsigs without doing any of the updating.
2025-05-04 23:14:19 -04:00
John Willard 008a0c7a86 adds a naked person into unit tests (#90942)
## About The Pull Request

Working on https://github.com/tgstation/tgstation/pull/90711 I noticed I
got a screenshot test error because limbs weren't being rendered
properly, which is cool, however I got this alert from antagonist icon
screenshot tests, for Changelings.
That's when I noticed we don't actually have any screenshot tests to
ensure limbs look the same, so I'm adding a naked person.

## Why It's Good For The Game

If for some reason Changeling's icons are changed or removed, we won't
have any way to tell limb icons randomly break one day because all our
screenshotted mobs are clothed.

## Changelog

Nothing player-facing
2025-05-02 10:13:01 +02:00
Bloop 3d01e86e29 There will be (colorful) blood: datumizes bloodtypes, greyscales blood sprites, and fixes a lot of inconsistencies with gibs and forensic data (#90593)
## About The Pull Request


This PR:

- Converts all of the blood types into their own datums, which can be
set up to have their own colors, descriptions, and other fun unique
properties. For example, the clown blood that is constantly randomizing
itself.

- Converts all the blood decals into greyscale, which in turn eliminates
the need for separate xeno sprites. They both use the same ones now.

- Audit of blood splatters/gibs/bodyparts/organs to make sure that they
are getting the correct forensic data applied to them.

- For the admins: Adds a clown blood smite.

My primary goal with was to make the appearance of the new sprites look
almost indistinguishable to the original ones.

I consider this a "first pass", as in there are still some further
refactors I would like to do on the backend side, but am satisfied with
it enough to push it forward as a first step towards a better blood
system! I didn't want to do too much at once because of A) fatigue and
B) easier to test things to make sure I'm not breaking something
important this way.

This has been test-merged on Nova for over a week now and has been going
great, so I finally got around to upstreaming the bones to TG. Although
I did test it a bit you may want to TM it just in case I missed some
things when copying it over.
2025-04-28 00:57:59 -05:00
thegrb93 3613de5a83 Updated sprites for Vox Primalis (#3378)
Mirrors vox primalis updates from
https://github.com/NovaSector/NovaSector/pull/5076 with permission from
@HalcyonicWolf

Info all given in above link

## Changelog
🆑 HalcyonicWolf
image: added/modified several protective clothing sprites for Vox
Primalis
/🆑

---------

Co-authored-by: SyntheticSnake <mmeade362@gmail.com>
Co-authored-by: Roxy <75404941+TealSeer@users.noreply.github.com>
2025-04-22 14:06:52 -04:00
nevimer 12d995aeea Squashed commit of the following:
commit cb550ab79badae3ffd493dcee24d96f7ad146ed6
Merge: 732416f01d8 2fac5d45a6
Author: Roxy <75404941+TealSeer@users.noreply.github.com>
Date:   Mon Apr 14 14:40:04 2025 -0400

    Merge branch 'master' into upstream-25-04a

commit 2fac5d45a6
Author: Arturlang <24881678+Arturlang@users.noreply.github.com>
Date:   Mon Apr 14 01:11:47 2025 +0100

    bring back heretic mute ghoul maxhp to 135 HP (#3464)

    ## About The Pull Request
    bring back heretic mute ghoul maxhp to 135 HP, these are the changes
    made in
    https://github.com/Bubberstation/Bubberstation/pull/2972
    ## Why It's Good For The Game
    otherwise flesh heretic is really sad
    ## Proof Of Testing
    numbers change, no need
    ## Changelog
    no cl

    ---------

    Co-authored-by: Roxy <75404941+TealSeer@users.noreply.github.com>

commit e9c4522c27
Author: Bubberbot <151680451+Bubberbot@users.noreply.github.com>
Date:   Mon Apr 14 01:59:19 2025 +0200

    Automatic changelog for PR #3453 [ci skip]

commit 2d595eba4f
Author: shellspeed1 <46614774+shellspeed1@users.noreply.github.com>
Date:   Sun Apr 13 16:58:54 2025 -0700

    Fixes bitrunning sim having cybersun comms and also makes sure persistence borgs have correct key (#3453)

    ## About The Pull Request

    What it says on the tin
    ## Why It's Good For The Game

    Its best to not let bitrunners ghost spawns talk on comms
    ## Proof Of Testing

    I just did my last cpa today, I'll test this later. Besides its 3 lines
    with just an item swaped.
    <details>
    <summary>Screenshots/Videos</summary>

    </details>

    ## Changelog
    🆑
    fix: Bitrunning sims no longer have comms access
    fix: Borgs given the persistence access upgrade no longer default to
    interdyne and get cybersun comms instead
    /🆑

    Co-authored-by: Roxy <75404941+TealSeer@users.noreply.github.com>

commit 394e8d64d4
Author: Bubberbot <151680451+Bubberbot@users.noreply.github.com>
Date:   Sun Apr 13 23:24:50 2025 +0000

    Bubberstation automatic changelog compile [ci skip]

commit 49141446bf
Author: Bubberbot <151680451+Bubberbot@users.noreply.github.com>
Date:   Mon Apr 14 00:18:15 2025 +0200

    Automatic changelog for PR #3497 [ci skip]

commit 0332c060a8
Author: Roxy <75404941+TealSeer@users.noreply.github.com>
Date:   Sun Apr 13 18:17:52 2025 -0400

    Xenoarch Machine QOL (#3497)

    <!-- Write **BELOW** The Headers and **ABOVE** The comments else it may
    not be viewable. -->
    <!-- You can view Contributing.MD for a detailed description of the pull
    request process. -->

    ## About The Pull Request

    A little treat for xenoarch
    - The xenoarch bag can now hold broken items and useless relics in
    addition to strange rocks
    - You can use the bag on both the researcher and the recoverer to dump
    the contents in
    - The digger and the researcher make a sound now

    ## Why It's Good For The Game

    A bag that holds only one type of item is annoying, you get a lot of the
    other two items too

    ## Proof Of Testing

    <!-- Compile and run your code locally. Make sure it works. This is the
    place to show off your changes! We are not responsible for testing your
    features. -->
    <details>
    <summary>Screenshots/Videos</summary>

    ![image](https://github.com/user-attachments/assets/e314f9e2-efd3-4e4a-a7ea-412c674f88bf)

    </details>

    ## Changelog

    <!-- If your PR modifies aspects of the game that can be concretely
    observed by players or admins you should add a changelog. If your change
    does NOT meet this description, remove this section. Be sure to properly
    mark your PRs to prevent unnecessary GBP loss. You can read up on GBP
    and its effects on PRs in the tgstation guides for contributors. Please
    note that maintainers freely reserve the right to remove and add tags
    should they deem it appropriate. You can attempt to finagle the system
    all you want, but it's best to shoot for clear communication right off
    the bat. -->

    🆑
    qol: the xenoarch bag can now hold broken items and useless relics
    qol: you can use the bag on the researcher and the recoverer to dump
    items in
    sound: the digger and researcher now make a sound when they complete a
    cycle
    /🆑

    <!-- Both 🆑's are required for the changelog to work! You can put
    your name to the right of the first 🆑 if you want to overwrite your
    GitHub username as author ingame. -->
    <!-- You can use multiple of the same prefix (they're only used for the
    icon ingame) and delete the unneeded ones. Despite some of the tags,
    changelogs should generally represent how a player might be affected by
    the changes rather than a summary of the PR's contents. -->

    <!-- By opening a pull request. You have read and understood the
    repository rules located on the main README.md on this project. -->

commit 2b8c074406
Author: Bubberbot <151680451+Bubberbot@users.noreply.github.com>
Date:   Sun Apr 13 19:47:30 2025 +0200

    Automatic changelog for PR #3498 [ci skip]

commit e613940ada
Author: nevimer <77420409+nevimer@users.noreply.github.com>
Date:   Sun Apr 13 13:47:04 2025 -0400

    restores RCD vending, moves RCD's to lockers (#3498)

    ## About The Pull Request
    moves RCD's from engineers backpacks to their lockers roundstart - to
    accommodate the stowaway change aswell as keep a tab on infinite station
    resources.
    ## Why It's Good For The Game

    Above point

    ## Proof Of Testing
    <details>
    <summary>Screenshots/Videos</summary>

    </details>

    ## Changelog
    🆑
    balance: reenabled the RCD vendors and moved RCD's from spawning in
    backpacks to lockers.
    /🆑

commit 732416f01d8ccc6e082cbdbeb60b30c461d8e965
Author: Roxy <75404941+TealSeer@users.noreply.github.com>
Date:   Sun Apr 13 03:03:20 2025 -0400

    these use GMM prices and thus fluctuate

commit 99f097d67faf17569711d670d5891103d96932b1
Merge: 790b64602cd 945479a622
Author: Roxy <75404941+TealSeer@users.noreply.github.com>
Date:   Sun Apr 13 02:12:01 2025 -0400

    Merge branch 'master' into upstream-25-04a

commit 945479a622
Author: Roxy <75404941+TealSeer@users.noreply.github.com>
Date:   Sun Apr 13 00:59:23 2025 -0400

    Fix hot spring runtime related to duplicate elements (#90555)

    If something is mapped to spawn in on a hot spring tile, the tile will
    add the immerse element in `/turf/open/water/Entered` before
    `Initialize` runs, and when it does there's no check if the element has
    already been added, unlike other spots where the immerse element is
    added. This fixes that by adding a check on the call in `Initialize`.

commit 3472fddc11
Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Date:   Sun Apr 13 04:16:19 2025 +0000

    Automatic TGS DMAPI Update (#2743)

    This pull request updates the TGS DMAPI to the latest version. Please
    note any changes that may be breaking or unimplemented in your codebase
    by checking what changes are in the definitions file:
    code/__DEFINES/tgs.dm before merging.

    Full changelog can be found
    [here](https://raw.githubusercontent.com/tgstation/tgstation-server/gh-pages/changelog.yml).

    - Added compatibility with SpacemanDMM's `redefined_proc` lint. (#2058
    Cyberboss)
    #tgs-dmapi-release

    Co-authored-by: tgstation-ci[bot] <179393467+tgstation-ci[bot]@users.noreply.github.com>

commit e5630753ae
Author: Bubberbot <151680451+Bubberbot@users.noreply.github.com>
Date:   Sun Apr 13 05:53:13 2025 +0200

    Automatic changelog for PR #3481 [ci skip]

commit ac3fea9660
Author: chestlet <98193039+chestlet@users.noreply.github.com>
Date:   Sat Apr 12 20:52:34 2025 -0700

    Nova Port: RB-MK2 GUI Rework (#5136) (#3481)

    ## About The Pull Request
    A significant [rework of the RB-MK2
    GUI](https://github.com/NovaSector/NovaSector/pull/5136) that I did over
    on Nova. The one you guys have now is painful to use in comparison so
    let's get it up to snuff.

    ## Why It's Good For The Game
    More information makes the RB-MK2 easier to use and teach in character.
    With how the GUI is currently, it gives no intuitive explanation for
    what it's doing. You can't tell what's going on with it.

    ## Proof Of Testing

    <details>
    <summary>Screenshots/Videos</summary>

    https://github.com/user-attachments/assets/7a178ac2-df8e-40d3-a6f3-b6aa617b69fd

    </details>

    ## Changelog
    🆑 Chestlet
    admin: Improved RB-MK2 logging so admins have a full trace of exactly
    what happened with it.
    fix: Corrected 'tritium usage' math in the RB-MK2.
    code: We've noticed that the Radioscopical Bluespace Reactor Mark Two
    blueprints provided to our stations came with antiquated firmware. This
    issue has been rectified. (Significant rework of the RB-MK2 GUI)
    /🆑

commit 071fcd84a8
Author: Bubberbot <151680451+Bubberbot@users.noreply.github.com>
Date:   Sun Apr 13 05:48:58 2025 +0200

    Automatic changelog for PR #3495 [ci skip]

commit 0a5f60a36c
Author: Roxy <75404941+TealSeer@users.noreply.github.com>
Date:   Sat Apr 12 23:48:24 2025 -0400

    Xenoarch machines cleanup (#3495)

    ## About The Pull Request

    Clean up the code for xenoarch machines some because it made me sad.
    - Changes `attackby`'s to `item_interaction`
    - Keep a list of xenoarch items in contents instead of storing them in
    **an instance of `/obj/item` (yes the abstract concept of an item)**
    - Add context tips for all item interactions and removes that info from
    examine text
    - Switched a list to `static`
    - Add assoc list of `broken_item` types to reward pools instead of
    having a nightmare ladder of `istype` checks

    ## Why It's Good For The Game

    Fixes #3442

    ## Proof Of Testing

    Scout's honor

    ## Changelog
    🆑
    qol: xenoarch machines have context tooltips now
    fix: fixed xenoarch diggers not working
    /🆑

commit 16f02c756b
Author: Bubberbot <151680451+Bubberbot@users.noreply.github.com>
Date:   Sun Apr 13 05:34:54 2025 +0200

    Automatic changelog for PR #3441 [ci skip]

commit ede9fc1646
Author: Bombermansam <Bombermansam@yahoo.com>
Date:   Sat Apr 12 23:34:09 2025 -0400

    [Modular] Adds crowbars to standard borg models that do not have them (#3441)

    ## About The Pull Request
    Adds crowbars to standard borg models that do not have them.
    ## Why It's Good For The Game
    This is a QOL addition, it should not affect balance.

    Half the borg models in the game do not have crowbars and can get stuck
    behind doors if the power fails which is no fun for anyone. This fixes
    it.
    ## Proof Of Testing
    It compiles and was tested locally.
    <details>
    <summary> Screenshots </summary>

    ![dreamseeker_18bfQxpDIz](https://github.com/user-attachments/assets/2dfc12f4-33a1-4ce9-8440-3ea4a098d6e9)

    ![dreamseeker_42TYSMAdVu](https://github.com/user-attachments/assets/5d71bf3f-d20e-47a1-b75e-ece7a10014b0)

    ![dreamseeker_NHBJgPvAtz](https://github.com/user-attachments/assets/56930158-73bb-4917-bb6d-ed6b09ff54aa)

    ![dreamseeker_p9yVo1VNaF](https://github.com/user-attachments/assets/761615e7-dad6-4086-a408-c2fca10f3d58)

    </details>

    ## Changelog
    🆑
    add: Adds Crowbars to Service, Medical, Clown, Sec and Peacekeeper borgs
    /🆑

commit 8e4d6f7052
Author: Bubberbot <151680451+Bubberbot@users.noreply.github.com>
Date:   Sun Apr 13 05:32:18 2025 +0200

    Automatic changelog for PR #3491 [ci skip]

commit 0cdf875cec
Author: Bubberbot <151680451+Bubberbot@users.noreply.github.com>
Date:   Sun Apr 13 03:32:09 2025 +0000

    Bubberstation automatic changelog compile [ci skip]

commit c6f88a026e
Author: Roxy <75404941+TealSeer@users.noreply.github.com>
Date:   Sat Apr 12 23:31:16 2025 -0400

    Fix HEV armor not fully initializing (#3491)

    ## About The Pull Request

    `ADD_TRAIT`/`REMOVE_TRAIT` don't take lists you need to use a proc for
    that

    ## Why It's Good For The Game

    Fixes #3484

    ## Proof Of Testing
    <details>
    <summary>Screenshots/Videos</summary>

    ![image](https://github.com/user-attachments/assets/c11c26f8-2f80-44c8-8f94-513155b7f316)

    </details>

    ## Changelog
    🆑
    fix: fixed HEV suit not turning on properly
    /🆑

commit f93466e6ab
Author: Bubberbot <151680451+Bubberbot@users.noreply.github.com>
Date:   Sun Apr 13 05:18:39 2025 +0200

    Automatic changelog for PR #3486 [ci skip]

commit 952a110077
Author: ariaworld <143797359+ariaworld@users.noreply.github.com>
Date:   Sun Apr 13 05:18:04 2025 +0200

    [FIX?] - Brings robotic brain surgery in line with organic brain sugery/lobotomy after the recent update (#3486)

    ## About The Pull Request
    As title!
    ## Why It's Good For The Game
    I originally opened this as an issue because I wasn't sure if this was
    intended, it's why I labeled it as [FIX?]
    Currently organic brain surgery heals the previous tiers of traumas as
    well which makes sure there's no leftover traumas left and also removes
    the RNG re-roll, applying a status effect instead. This PR brings the
    robotic surgery/lobotomy in line with the organic one in a few ways:

    1. Robotic blessed lobotomy now requires holy water as well (just like
    organic)
    2. Fix posibrain surgery now cures TRAUMA_RESILIENCE_SURGERY traumas as
    well
    3. Reticulate splines surgery now cures TRAUMA_RESILIENCE_SURGERY and
    TRAUMA_RESILIENCE_LOBOTOMY traumas as well
    4. Replaced RNG prob(75) roll with the 15-minute status effect that was
    added to organic brain surgery.

    This should balance/fix the robotic brain surgery to the recent change
    that was done to the organic brain surgery. Only issue is the fact how
    the original surgery was coded: there was no RNG roll for fix posibrain
    surgery, while the normal organic surgery did.
    Please feel free to close this PR if this was an intended feature/there
    are issues with potential balance arguments.
    ## Proof Of Testing
    <details>
    <summary>Screenshots/Videos</summary>
    (It compiles, very simple code just handles surgery steps)
    </details>

    ## Changelog
    🆑 Goku
    balance: Robotic blessed lobotomy now also requires holy water (just
    like the organic surgery)
    balance: Robotic blessed lobotomy requires liquid solder instead of
    Palladium Synthate Catalyst
    fix: Fix posibrain surgery now also cures surgery-tier brain traumas
    balance: Reticulate splines surgery now also cures lower tier brain
    traumas (surgery and lobotomy)
    balance: Replaced advanced robotic brain surgery RNG roll with the
    15-minute vulnerability status effect that was added to organic brain
    surgery
    /🆑

    ---------

    Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com>

commit 790b64602cd2e59b8397c4fe2451d2c14bddb546
Merge: 7d39bddbcb2 5e1b40cf89
Author: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
Date:   Sat Apr 12 20:13:11 2025 -0700

    Merge branch 'master' into upstream-25-04a

commit 5e1b40cf89
Author: Bubberbot <151680451+Bubberbot@users.noreply.github.com>
Date:   Sun Apr 13 05:08:22 2025 +0200

    Automatic changelog for PR #3492 [ci skip]

commit 5e94554873
Author: ariaworld <143797359+ariaworld@users.noreply.github.com>
Date:   Sun Apr 13 05:07:55 2025 +0200

    [FIX] Fixes Wooden shelves turning into metal racks when broken. (#3492)

    ## About The Pull Request
    Title!
    ## Why It's Good For The Game
    Bugfix, my immersion was ruined
    ## Proof Of Testing
    <details>
    <summary>Screenshots/Videos</summary>

    ![shelf](https://github.com/user-attachments/assets/0bdb3fd2-0b85-4672-a02f-0772a4cb4f20)

    </details>

    ## Changelog
    :cl:Goku
    fix: Fix wooden shelves turning into metal rack parts when broken.
    /🆑

commit 7fed3cb7e4
Author: Bubberbot <151680451+Bubberbot@users.noreply.github.com>
Date:   Sun Apr 13 05:07:00 2025 +0200

    Automatic changelog for PR #3493 [ci skip]

commit 2d38b200a0
Author: LT3 <83487515+lessthnthree@users.noreply.github.com>
Date:   Sat Apr 12 20:06:37 2025 -0700

    Allow hypospray in medical pouch (#3493)

    ## About The Pull Request

    Adds hypospray and cable to the allowed list of items in the medical
    pouch

    ## Why It's Good For The Game

    Commonly held items, other reagent containers are accepted but hypo is
    missing.

    ## Changelog

    🆑 LT3
    qol: The medical pouch can now hold hyposprays and cable coil
    /🆑

commit 7d39bddbcb2e775207a4a3e72a3940f9fbf3b0f1
Merge: fde55e27444 bb642474217
Author: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
Date:   Sat Apr 12 17:25:22 2025 -0700

    Merge branch 'upstream-25-04a' of https://github.com/Bubberstation/Bubberstation into upstream-25-04a

commit fde55e2744421b10f115724f70f3db8339b13df0
Author: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
Date:   Sat Apr 12 17:25:20 2025 -0700

    screenshots

commit cfa0c20656
Author: Bubberbot <151680451+Bubberbot@users.noreply.github.com>
Date:   Sun Apr 13 01:39:06 2025 +0200

    Automatic changelog for PR #3478 [ci skip]

commit 0397536620
Author: CatoChristopherMrow <johnmaddentickeledmyrear@gmail.com>
Date:   Sat Apr 12 19:38:42 2025 -0400

    Makes tackle gloves reskinnable (#3478)

    ## About The Pull Request
    Makes tackle gloves reskinnable to their blue, red, and black variants.
    ## Why It's Good For The Game
    Stops basic sec gear forcing you to either wear clashing colors or not
    get the benefit of standard equipment. Viva la matching colors.
    ## Proof Of Testing
    Works on my machine
    <details>
    <summary>Screenshots/Videos</summary>

    </details>

    ## Changelog
    🆑 UvvU
    add: Tackle gloves are now reskinnable.
    /🆑

    ---------

    Co-authored-by: Ian Yanik <Iwantpornspam@gmail.com>

commit 42b725836a
Author: Bubberbot <151680451+Bubberbot@users.noreply.github.com>
Date:   Sat Apr 12 23:24:45 2025 +0000

    Bubberstation automatic changelog compile [ci skip]

commit bb642474217244fd233372d9c68cb4bab5f871f7
Merge: 72beef087ea c872e81588
Author: LT3 <83487515+lessthnthree@users.noreply.github.com>
Date:   Sat Apr 12 16:10:29 2025 -0700

    Merge branch 'master' into upstream-25-04a

commit 72beef087ea8a1b291e286b09a0eb5a6713ba255
Author: Roxy <75404941+TealSeer@users.noreply.github.com>
Date:   Sat Apr 12 15:26:15 2025 -0400

    this now returns an icon path not an icon object

commit 4e85c985ee77a37b44dcef393b815a04421463b7
Author: Roxy <75404941+TealSeer@users.noreply.github.com>
Date:   Sat Apr 12 15:08:12 2025 -0400

    broken dmi

commit c872e81588
Author: Bubberbot <151680451+Bubberbot@users.noreply.github.com>
Date:   Sat Apr 12 07:45:40 2025 +0200

    Automatic changelog for PR #3490 [ci skip]

commit 27801b991c
Author: Roxy <75404941+TealSeer@users.noreply.github.com>
Date:   Sat Apr 12 01:45:17 2025 -0400

    Fix admin chat buttons to cancel/refund storyteller events not working (#3490)

    ## About The Pull Request

    The chat messages that get sent when a storyteller event is about to run
    try to call `Topic` on the scheduled event datum but there isn't
    actually a `Topic` proc defined for them

    ## Why It's Good For The Game

    It's mean to trick admins with fake buttons

    ## Proof Of Testing
    <details>
    <summary>Screenshots/Videos</summary>

    ![image](https://github.com/user-attachments/assets/41d0df79-3220-4b8e-8f86-63df97b2d540)

    </details>

    ## Changelog
    🆑
    admin: the cancel and refund buttons in storyteller event notifications
    will actually do something now
    /🆑

commit bb14605128db2b1b5390d60b28665ed0ceae154a
Author: Roxy <75404941+TealSeer@users.noreply.github.com>
Date:   Sat Apr 12 01:06:39 2025 -0400

    im tired

commit 1245d5145e4f41d63dbe983355ef4619b6441655
Author: Roxy <75404941+TealSeer@users.noreply.github.com>
Date:   Sat Apr 12 00:40:09 2025 -0400

    what if the world was made of pudding

commit 7011b910d3bfaa0dba4a3d118721ad1d42a7625c
Merge: b8c00cbd266 e9ede320c9
Author: Roxy <75404941+TealSeer@users.noreply.github.com>
Date:   Sat Apr 12 00:31:56 2025 -0400

    Merge branch 'master' into upstream-25-04a

commit b8c00cbd2660017d578f07ce20c3732dcfcdb60f
Author: Roxy <75404941+TealSeer@users.noreply.github.com>
Date:   Sat Apr 12 00:31:01 2025 -0400

    silence linters

commit 3a3ea510ed12812fba0d97f545bf87749c16831a
Author: Roxy <75404941+TealSeer@users.noreply.github.com>
Date:   Sat Apr 12 00:00:12 2025 -0400

    the economy is in shambles

commit 0a3e17e897b270dc19a63038b8e99e15ff9242ce
Author: Roxy <75404941+TealSeer@users.noreply.github.com>
Date:   Fri Apr 11 23:43:06 2025 -0400

    missing icons

commit fefc1348f722cf26bb407e6f7a5ba98184867fba
Author: Roxy <75404941+TealSeer@users.noreply.github.com>
Date:   Fri Apr 11 23:24:46 2025 -0400

    no override for this

commit 952f2a7502d972093e1f86bd9fa20bf3ea9788bf
Author: Roxy <75404941+TealSeer@users.noreply.github.com>
Date:   Fri Apr 11 23:16:07 2025 -0400

    shotgun icon states

commit 8e256d21c2bdfd2136f60705a3b5f7600ca6c9e7
Author: Roxy <75404941+TealSeer@users.noreply.github.com>
Date:   Fri Apr 11 23:02:28 2025 -0400

    no icon

commit 60164e1a4c038661d41bbb25a1e0e536147455a2
Author: Roxy <75404941+TealSeer@users.noreply.github.com>
Date:   Fri Apr 11 22:39:35 2025 -0400

    fucking capital letters?

commit 1e395535db671e61ce6514c35928a900d61a3570
Author: Roxy <75404941+TealSeer@users.noreply.github.com>
Date:   Fri Apr 11 22:28:06 2025 -0400

    GRRRRRR

commit 68e35b0068388eb94d1c9ec5b865787b1cdc300a
Author: Roxy <75404941+TealSeer@users.noreply.github.com>
Date:   Fri Apr 11 21:19:15 2025 -0400

    wrong

commit 9f8c9499f2890fad3c479d42c12888b1e0c55a3a
Author: Roxy <75404941+TealSeer@users.noreply.github.com>
Date:   Fri Apr 11 20:59:17 2025 -0400

    just put your icons anywhere who gives a shit

commit f6bc1091867a3b234f2634e8cb120eae5b0053d9
Author: Roxy <75404941+TealSeer@users.noreply.github.com>
Date:   Fri Apr 11 19:58:40 2025 -0400

    buh

commit edc876bff750ddce0593e917f5a68de02383c55e
Author: Roxy <75404941+TealSeer@users.noreply.github.com>
Date:   Fri Apr 11 19:49:32 2025 -0400

    added our GAGS configs to deploy

commit e9ede320c9
Author: Bubberbot <151680451+Bubberbot@users.noreply.github.com>
Date:   Fri Apr 11 23:23:21 2025 +0000

    Bubberstation automatic changelog compile [ci skip]

commit c726e4ee2d231d48334d43b8ce42d8b4e70b52b0
Author: Roxy <75404941+TealSeer@users.noreply.github.com>
Date:   Fri Apr 11 18:50:04 2025 -0400

    fixed recipe foodtypes

commit 9e23291b14371e4703a38ae1711b1fe5b75cbf37
Author: Roxy <75404941+TealSeer@users.noreply.github.com>
Date:   Fri Apr 11 18:24:53 2025 -0400

    Fix changelogs

commit bb8477826614c6e81285c5586de07ee26686c6b1
Author: Roxy <75404941+TealSeer@users.noreply.github.com>
Date:   Fri Apr 11 17:59:23 2025 -0400

    number of args changed for inject

commit f00ed38c1d
Author: Bubberbot <151680451+Bubberbot@users.noreply.github.com>
Date:   Fri Apr 11 11:03:02 2025 +0200

    Automatic changelog for PR #3456 [ci skip]

commit 29b3c8daba
Author: aKromatopzia <94389683+aKromatopzia@users.noreply.github.com>
Date:   Fri Apr 11 17:02:38 2025 +0800

    Smolraptor Updates (#3456)

    ## About The Pull Request
    Adds blue and red sec smolraptors, makes janitor an alt of service

    ![Screenshot_50](https://github.com/user-attachments/assets/a5be3ed8-75da-4939-937c-0261dfcb1953)

    ## Proof Of Testing
    it works

    ## Changelog

    🆑
    add: sec smolraptors
    image: fixes some errors in smolraptors
    /🆑

commit 7c0978a47f
Author: Bubberbot <151680451+Bubberbot@users.noreply.github.com>
Date:   Fri Apr 11 08:21:22 2025 +0200

    Automatic changelog for PR #3463 [ci skip]

commit 04fd2b0a8a
Author: ArrisFairburne <arrisfairburne@gmail.com>
Date:   Fri Apr 11 02:20:59 2025 -0400

    Synth brain PDAs now have departmental PDA apps pre-installed (#3463)

    ## About The Pull Request

    Synth brains now start with your department's apps pre-installed. For
    example, Scientist synths now start with NT Science Hub. They also now
    have double the storage space compared to the basic PDA.

    ## Why It's Good For The Game

    Convenience.
    Also, synth PDAs have sort of existed in a weird limbo where (at least,
    from my point of view having talked to some others) most synth players
    just don't actually use one of the defining features of their race
    because normal PDAs are largely better and more convenient, hopefully
    this change emphasizes their abilities.
    The doubled brain storage space is just so that synth brain PDAs can
    comfortably house whatever programs come with being a dept. head.
    Balance wise, I doubt it will affect anything (what could you even do
    with the extra storage space, short of the dept. head apps? basic crew
    apps fit comfortably on the basic PDA limit, synths can't be emagged for
    expensive syndie apps, and synths can't store files on their brain via
    disks).

    ## Proof Of Testing

    (image taken after I spawned as RD; this is the synth brain PDA)

    ![image](https://github.com/user-attachments/assets/9a4dc579-f5a3-4df2-ad39-17aace34a250)

    ## Changelog
    🆑
    qol: Synthetic crew now spawn in with PDA apps relevant to their work
    station.
    bal: Synthetic crew brain PDAs now have 128 max capacity points (was
    previously 64)
    /🆑

commit eaa6352aff
Author: Bubberbot <151680451+Bubberbot@users.noreply.github.com>
Date:   Fri Apr 11 08:20:28 2025 +0200

    Automatic changelog for PR #3471 [ci skip]

commit 02f3cfdb00
Author: ariaworld <143797359+ariaworld@users.noreply.github.com>
Date:   Fri Apr 11 08:20:05 2025 +0200

    [MAPPING]: Change Kilo Station dorms area type from Locker to Dorms. (#3471)

    ## About The Pull Request
    Makes sure Kilo Station's dorms area actually is a Dorms area.
    ## Why It's Good For The Game
    Other stations' dorms are inside actual Dorms areas, effectively
    granting protection from events like sudden brain trauma/heart attack,
    but Kilo Station didn't have this, they were classified as lockers
    instead.
    ## Proof Of Testing
    <details>
    <summary>Screenshots/Videos</summary>

    ![e](https://github.com/user-attachments/assets/ae6e79db-d68f-4895-a661-e5fa5b0383de)
    </details>

    ## Changelog
    :cl:Goku
    map: Kilo Station's Dormitories area type is now classified as
    dormitories, not as a Locker room.
    /🆑

commit 5266275bc4
Author: Bubberbot <151680451+Bubberbot@users.noreply.github.com>
Date:   Fri Apr 11 07:03:33 2025 +0200

    Automatic changelog for PR #3485 [ci skip]

commit 0a38cf2824
Author: Roxy <75404941+TealSeer@users.noreply.github.com>
Date:   Fri Apr 11 01:03:07 2025 -0400

    Fix examine menu character preview being tiny (#3485)

    ## About The Pull Request

    Upstream fixed the tiny character preview but it requires a little tweak
    on implementations

    ## Why It's Good For The Game

    I can't see the blorbo

    ## Proof Of Testing
    <details>
    <summary>Screenshots/Videos</summary>

    ![image](https://github.com/user-attachments/assets/48961934-05ed-4cfe-b025-26628bea661c)

    </details>

    ## Changelog
    🆑
    fix: fixed character preview in the examine window being tiny
    /🆑

commit 3fc7296b82
Author: Bubberbot <151680451+Bubberbot@users.noreply.github.com>
Date:   Fri Apr 11 06:23:15 2025 +0200

    Automatic changelog for PR #3483 [ci skip]

commit 1d52e91fd0
Author: Roxy <75404941+TealSeer@users.noreply.github.com>
Date:   Fri Apr 11 00:22:51 2025 -0400

    Fix double box on vote results chat message (#3483)

    ## About The Pull Request

    There's a redundant override in `vote.dm` to enclose the vote results in
    a purple examine box, this is the default way votes are displayed now so
    it's making vote results appear as a box within a box

    ## Why It's Good For The Game

    Looks wrong

    ## Proof Of Testing
    <details>
    <summary>Screenshots/Videos</summary>
    Before:

    ![image](https://github.com/user-attachments/assets/e85781f3-ee68-4581-8a26-42aa577479f9)

    After:

    ![image](https://github.com/user-attachments/assets/b9ffda2a-950b-42e3-b476-c3b62dadd9a0)

    </details>

    ## Changelog
    🆑
    fix: fixed vote results in chat having an extra box around them
    /🆑

commit ab74044fc6
Author: Bubberbot <151680451+Bubberbot@users.noreply.github.com>
Date:   Fri Apr 11 06:20:31 2025 +0200

    Automatic changelog for PR #3363 [ci skip]

commit cb06f207d3
Author: Kepteyn <94123167+Kepteyn@users.noreply.github.com>
Date:   Fri Apr 11 05:20:07 2025 +0100

    Just a couple more hotel rooms (#3363)

    ## About The Pull Request

    This adds four (and a half) new infinidorm hotel rooms -- A bar themed
    one, for when you want bar RP that's less public; a nightclub themed
    one; an space themed one for the spaceophilliacs who want to bang in
    space (or an airlock), and finally an oasis themed one, with a day and a
    night version.

    It also fixes the lights in the Library room, given we're no longer
    downstreaming from Skyrat, and it adds a template dmm that should make
    it easier for people to add new rooms should they wish - the plaque on
    the floor represents the spawn point.

    ## Why It's Good For The Game

    This adds even more variety to the infinidorm room options for people to
    roleplay in as a ghost. Or to _roleplay_ in. The bar one in particular
    provides an option for people who want to do a bar RP with some friends
    without getting pesky interruptions from their fellow human beings who
    feel the need to start a gunfight in the bar.

    ## Proof Of Testing

    All the new hotel rooms and the library have been tested in game, and
    are working quite nicely! The template map does not show up as an option
    in-game, as it exists to help mappers.

    ## Screenshots
    <details>
    <summary>Foxbar</summary>

    ![Untitled](https://github.com/user-attachments/assets/ae28e61e-c7db-4b77-8134-82e49ceced3a)

    </details>
    <details>
    <summary>Nightclub</summary>

    ![Untitled](https://github.com/user-attachments/assets/fcc200f1-59e9-402e-aa64-5d97bced377d)

    </details>

    <details>
    <summary>EVA</summary>

    ![Untitled](https://github.com/user-attachments/assets/d2f08b34-921b-4a1c-9c7a-927e04113b8c)
    _The floor is, infact, fake space, and is surrounded by a fake-space
    wall. You will survive nude in space here. Spacesuits still provided._
    </details>

    <details>
    <summary>Oasis</summary>

    ![Untitled](https://github.com/user-attachments/assets/38a9c04b-57c9-4b65-8208-f57abe526eab)
    _Only one is shown for brevity's sake, as the only difference between
    day and night versions is the strength of the external lighting_

    </details>

    <details>
    <summary>Template</summary>

    ![Untitled](https://github.com/user-attachments/assets/9630b870-21d5-47d2-aecf-40d343458451)
    _The template room. The bluespace border must be indestructible solid in
    some form, while the dark grey flooring represents the wall's location
    on the defautl Hilbert room. The door is located where the default door
    is on it, and the plaque on the ground shows where the player will
    spawn_

    </details>

    ## Changelog

    🆑
    add: Added infinidorms: Fox Bar; The Nightclub; EVA; and Oasis (day and
    night versions)
    add: Added a mapping template for creating new infinidorms at
    modular_skyrat\modules\hotel_rooms
    fix: modified the lights of the Library infinidorm so it's not so damn
    dark.
    /🆑

commit 700856e3c5
Author: Bubberbot <151680451+Bubberbot@users.noreply.github.com>
Date:   Thu Apr 10 23:25:40 2025 +0000

    Bubberstation automatic changelog compile [ci skip]

commit 02353b9ec2
Author: Bubberbot <151680451+Bubberbot@users.noreply.github.com>
Date:   Fri Apr 11 01:05:38 2025 +0200

    Automatic changelog for PR #3475 [ci skip]

commit f1722bb1c6
Author: LT3 <83487515+lessthnthree@users.noreply.github.com>
Date:   Thu Apr 10 16:05:12 2025 -0700

    Disable lean reset on direction change (#3475)

    ## About The Pull Request

    Edits TG's lean component to perform the same as the pixel shift
    component

    ## Why It's Good For The Game

    Consistent shifting movement

    ## Changelog

    🆑 LT3
    qol: Leaning no longer resets with directional change
    /🆑

commit 4a5c80e1813ecaf7d26ddeabf2593d2b44c86dcb
Merge: b908b32d387 ada9345244
Author: Majkl-J <49160555+Majkl-J@users.noreply.github.com>
Date:   Thu Apr 10 10:46:20 2025 -0700

    Merge branch 'master' of https://github.com/Bubberstation/Bubberstation into upstream-25-04a

commit ada9345244
Author: Bubberbot <151680451+Bubberbot@users.noreply.github.com>
Date:   Thu Apr 10 19:16:21 2025 +0200

    Automatic changelog for PR #2896 [ci skip]

commit 472893ae5e
Author: Manatee <74586965+MajManatee@users.noreply.github.com>
Date:   Thu Apr 10 12:15:56 2025 -0500

    Tarkon Tweaks and Xeno Changes (#2896)

    ## About The Pull Request

    Update as of 01/26

    So that was a lie

    Anyways I completely remade tarkon, which is what I ORIGNIALLY wanted to
    do, but used a lot of the pre-existing tarkon assets to do so, to
    maintain the same feel.

    Some NEW NEW features (as the project grew in scope) include:

    Med/RND/Engineering are now separate "Islands" like charlie (tarkon was
    always meant to be like that anyhow
    Each one has a few xenos, and a new "Emergency power generator"
    Scanning this with the new (not a ripoff) Hack-C tool will call in a
    repair drone (Original content) to repair it, and it needs to be
    defended from the xenos it alerts.
    Sucsesfully completing a defence will reward sickass weapons and gear
    you wouldn't normally ever get to see, making further areas easier, and
    a key for the final area.
    Once all 3 keys are obtained, and the areas are re-secured, you can go
    to the boss area and clear out the AI sat / command zone.

    A bitrunning server to allow them to make their own bitden (it's the
    first prototype, and the rest must be researched so it's not
    shift-start)

    more floor safes with various things like some ore thumpers and two
    bluespace beakers

    Crates! Someone misfiled a crate of goodies and it got sent here! These
    orders should be delivered to their owners! I'm sure they would
    appreciate it! Probably...

    A Recycler (Amazing)

    A produce order console! Now you can actually cook whatever you want!
    And it gives you a reason to sell stuff for money!

    more stuff, lots more stuff. things keep getting added the longer it
    takes for this to be looked at.

    Also adds three new variants of xenobio, and two new variants of the
    cargo bay. One cult (we miss you cult), one carp, and a monkey themed
    xenobio.

    ## Why It's Good For The Game
    Part 1 of my attempt to make tarkon feel better to play. The overall
    gameplay was very "Meta" and didn't really give you any reason to clear
    out xenos or the threats. Who knows what might come next.
    Tarkon was pretty stale. A bit of new stuff might be nice. plus a reason
    to use their shuttle is good.

    Furthermore, tarkon WILL run on solar, so if you REALLY don't want to,
    you don't HAVE to go and clear everything out.

    ## Proof Of Testing
    <details>
    <summary>Screenshots/Videos</summary>

    ![image](https://github.com/user-attachments/assets/f707090e-426c-4d63-b171-8fdfa33a0489)

    ![image](https://github.com/user-attachments/assets/26b97663-53c4-49b5-827d-484b6aae9b38)

    ![image](https://github.com/user-attachments/assets/94d03e35-8a44-4d39-b8e7-5fa1a722ff8e)

    ![image](https://github.com/user-attachments/assets/a865263b-6e62-409e-a537-7c5e157e21f7)

    ![image](https://github.com/user-attachments/assets/7d8edb71-5dec-469b-9a39-fe3f1305b127)

    ![image](https://github.com/user-attachments/assets/1bae535a-82e3-43f9-93a0-d2983e011ea7)

    ![image](https://github.com/user-attachments/assets/2ad382a1-58e8-4846-a575-2e4bc732216d)

    ![image](https://github.com/user-attachments/assets/2a41c51c-d447-413f-a4f2-3c272c8ddd15)

    ![image](https://github.com/user-attachments/assets/aaae91bd-aec4-4f0d-93c8-857e63416562)

    ![image](https://github.com/user-attachments/assets/4e89da8d-bbc7-4084-bb8d-353ec032ca4c)

    I did test it, and run the wave defense, it DOES work.
    </details>

    ## Changelog
    🆑
    add:  BUNCH of new tarkon things!
    map: Tarkon QOL changes
    /🆑

    ---------

    Co-authored-by: Waterpig <49160555+Majkl-J@users.noreply.github.com>
    Co-authored-by: Arturlang <24881678+Arturlang@users.noreply.github.com>

commit b908b32d387ffe9a2b40d2d25a03cd04c2e62868
Author: Majkl-J <49160555+Majkl-J@users.noreply.github.com>
Date:   Thu Apr 10 08:35:37 2025 -0700

    Compiletimes done

commit a9601004a82714a72f62e9b5db07d2adde27c0c3
Author: Majkl-J <49160555+Majkl-J@users.noreply.github.com>
Date:   Thu Apr 10 08:35:26 2025 -0700

    We are so comically stupid

commit 0f8d37991f
Author: Bubberbot <151680451+Bubberbot@users.noreply.github.com>
Date:   Thu Apr 10 00:05:02 2025 +0000

    Bubberstation automatic changelog compile [ci skip]

commit 31897a95e9
Author: Bubberbot <151680451+Bubberbot@users.noreply.github.com>
Date:   Thu Apr 10 01:54:47 2025 +0200

    Automatic changelog for PR #3468 [ci skip]

commit 385b734424
Author: Bubberbot <151680451+Bubberbot@users.noreply.github.com>
Date:   Thu Apr 10 01:54:32 2025 +0200

    Automatic changelog for PR #3470 [ci skip]

commit 0903ee683e
Author: Roxy <75404941+TealSeer@users.noreply.github.com>
Date:   Wed Apr 9 19:54:20 2025 -0400

    Fix shuttles no longer making sounds or (un)bolting doors (#3468)

    ## About The Pull Request

    The code for these things got lost in an upstream because shuttle code
    got split into multiple files

    ## Why It's Good For The Game

    Fixes #3251

    ## Proof Of Testing

    I tested it and the shuttle went bwwwwrrmmmmm pshewww and the door bolts
    went chk

    ## Changelog
    🆑
    fix: fixed shuttles missing landing/take off engine sounds
    fix: fixed shuttles not bolting/unbolting their doors when moving
    /🆑

commit e5b57bc08c
Author: LT3 <83487515+lessthnthree@users.noreply.github.com>
Date:   Wed Apr 9 16:54:09 2025 -0700

    Fix meow emote for cat tongues (#3470)

    ## About The Pull Request

    Fixes the meow emote to use the correct emote if you have a cat tongue

    ## Why It's Good For The Game

    MEOW.

    ## Changelog

    🆑 LT3
    fix: Mobs with cat tongue get their alternate meow sound back
    /🆑

commit 204ea57363
Author: Bubberbot <151680451+Bubberbot@users.noreply.github.com>
Date:   Wed Apr 9 23:23:16 2025 +0000

    Bubberstation automatic changelog compile [ci skip]

commit ce5944e0733f4c5985e2e48878a02c0c35463d0a
Author: Majkl-J <49160555+Majkl-J@users.noreply.github.com>
Date:   Wed Apr 9 08:19:09 2025 -0700

    6 compiletime errors left

commit d1905c44f5
Author: Bubberbot <151680451+Bubberbot@users.noreply.github.com>
Date:   Wed Apr 9 14:03:13 2025 +0200

    Automatic changelog for PR #3461 [ci skip]

commit 6c3bc53604
Author: Odairu <39929315+Odairu@users.noreply.github.com>
Date:   Wed Apr 9 08:02:51 2025 -0400

    Deathmatch now stores and reapplies your respawn timer prior to being spawned (#3461)

    ## About The Pull Request
    Title
    ## Why It's Good For The Game
    item number TWO on the list
    ## Proof Of Testing

    ![image](https://github.com/user-attachments/assets/3f6fd5d7-1d62-41a5-9c97-3178585f350a)
    <details>
    <summary>Screenshots/Videos</summary>

    </details>

    ## Changelog
    🆑
    code: deathmatch doesn't reset your respawn timer
    /🆑

commit f890cb36b9265f011a187b4f332812590838292c
Author: Majkl-J <49160555+Majkl-J@users.noreply.github.com>
Date:   Wed Apr 9 01:45:20 2025 -0700

    some color stuff

commit fb849a2a8ebc2166915cfbec1e850510678b2f22
Author: Majkl-J <49160555+Majkl-J@users.noreply.github.com>
Date:   Wed Apr 9 01:38:18 2025 -0700

    Fixes

commit 381d77fa68707cc5315b698474df026c2103166c
Author: Majkl-J <49160555+Majkl-J@users.noreply.github.com>
Date:   Wed Apr 9 01:20:20 2025 -0700

    We love guncode and refactors!!!!

commit f30bb6ca01319218795e4004219938aa3d976eb3
Author: Majkl-J <49160555+Majkl-J@users.noreply.github.com>
Date:   Wed Apr 9 01:00:40 2025 -0700

    I love cherry picking!!!

commit 6677a4c7bbe3c7536276178c841290a489d0a4a9
Author: Majkl-J <49160555+Majkl-J@users.noreply.github.com>
Date:   Wed Apr 9 01:00:27 2025 -0700

    so apparently some dumbass on nova reused the turret flag bitfield and it only now runtimes

commit 7acc721baadbdea3d3795a45b9837cfeb4fd4fd0
Author: Majkl-J <49160555+Majkl-J@users.noreply.github.com>
Date:   Wed Apr 9 00:58:48 2025 -0700

    Martials and arcade rework updates

commit bf9f393204fe7d40d5e57e76db870eb1a32aed25
Author: Majkl-J <49160555+Majkl-J@users.noreply.github.com>
Date:   Wed Apr 9 00:47:58 2025 -0700

    This might break taur icons, remember to test once we compile

commit 3bc256cb16ca2e85b78830345bba0a487f49fc17
Author: Majkl-J <49160555+Majkl-J@users.noreply.github.com>
Date:   Wed Apr 9 00:41:03 2025 -0700

    Several varchanges from tg

commit 76f5dc1b5f
Author: Bubberbot <151680451+Bubberbot@users.noreply.github.com>
Date:   Tue Apr 8 23:23:40 2025 +0000

    Bubberstation automatic changelog compile [ci skip]

commit 538049c4cd4960d2c81c43f2e387896049fb02c7
Author: Waterpig <wtryoutube@seznam.cz>
Date:   Tue Apr 8 20:00:59 2025 +0200

    reagent applicators fixes

commit df43e50d68419d2f24bd62eef0432bda8394cc7d
Author: Waterpig <wtryoutube@seznam.cz>
Date:   Tue Apr 8 19:56:27 2025 +0200

    Some missed merge fixes

commit 0f0838bb35
Author: Bubberbot <151680451+Bubberbot@users.noreply.github.com>
Date:   Tue Apr 8 09:27:36 2025 +0200

    Automatic changelog for PR #3399 [ci skip]

commit 234a410586
Author: Bubberbot <151680451+Bubberbot@users.noreply.github.com>
Date:   Tue Apr 8 09:27:29 2025 +0200

    Automatic changelog for PR #3397 [ci skip]

commit 722b51eb07
Author: Iamgoofball <iamgoofball@gmail.com>
Date:   Tue Apr 8 02:27:12 2025 -0500

    [MODULAR] Removes the 60 round Sol drum from being printable in Security (#3399)

    ## About The Pull Request

    Removes the 60 round Sol drum from being printable in Security

    ## Why It's Good For The Game

    After discussing magazine size standardization, this came up and to be
    100% honest, the crew does not need LMG ammo capacity on any of their
    guns. Even though it's illegal contraband to use(yes, Illegal Tech is
    still fuckin' Illegal lol), it's still a lot of ammo capacity that we
    don't really want the crew to have.

    ## Proof Of Testing

    Just deleting a research design.

    ## Changelog

    🆑
    del: Removes the 60 round Sol drum from being printable in Security
    /🆑

    ---------

    Co-authored-by: The Sharkening <95130227+StrangeWeirdKitten@users.noreply.github.com>

commit 3e7223b959
Author: Iamgoofball <iamgoofball@gmail.com>
Date:   Tue Apr 8 02:27:06 2025 -0500

    [MODULAR] Puts the Sol/Carwo/Romulus/Szot/Trappiste gun magazine sizes in line with /tg/ standards (tiny for everything but rifles which are normal) (#3397)

    ## About The Pull Request

    Puts the Sol/Carwo/Romulus/Szot/Trappiste gun magazine sizes in line
    with /tg/ standards (tiny for everything but rifles which are normal)

    ## Why It's Good For The Game

    Size inconsistencies between items results in confused players; it's
    good to keep this sort of thing synced up so that we're not having
    players ask why one pistol magazine fits in a box while another pistol
    magazine doesn't fit in a box when the air tank that's bigger than both
    of them does fit in the box.

    If I find other guns with weird weight classes I'll fix those too.

    ## Proof Of Testing

    Single-line changes, weight classes is a proven working system already.

    ## Changelog
    🆑
    qol: Puts the Sol/Carwo/Romulus/Szot/Trappiste gun magazine weight
    classes in line with /tg/ standards for magazine weight classes (tiny
    for everything but rifles or larger which are normal)
    /🆑

commit 7b420bb680
Author: Bubberbot <151680451+Bubberbot@users.noreply.github.com>
Date:   Mon Apr 7 22:16:23 2025 +0000

    Bubberstation automatic changelog compile [ci skip]

commit f30b0d5df0
Author: Bubberbot <151680451+Bubberbot@users.noreply.github.com>
Date:   Tue Apr 8 00:12:44 2025 +0200

    Automatic changelog for PR #3452 [ci skip]

commit aa4901b571
Author: LT3 <83487515+lessthnthree@users.noreply.github.com>
Date:   Mon Apr 7 15:11:59 2025 -0700

    Map vote is called automatically on blob/nukies/etc. round end (#3452)

    ## About The Pull Request

    Triggers the automatic map vote when the round is about to end due to a
    station threat, if it hasn't happened.

    ## Why It's Good For The Game

    Saves it delaying the next round if no admin catches it in time, causing
    a delay as the vote and another restart needs to occur.

    ## Changelog

    🆑 LT3
    admin: Map vote is automatically triggered near the conclusion of
    station ending threats
    fix: Only a single announcement is sent when the shuttle is called,
    fixing the overlapping sounds
    /🆑

commit a6845577bd
Author: Bubberbot <151680451+Bubberbot@users.noreply.github.com>
Date:   Mon Apr 7 21:55:15 2025 +0000

    Bubberstation automatic changelog compile [ci skip]

commit bf8c0ef85f
Author: Bubberbot <151680451+Bubberbot@users.noreply.github.com>
Date:   Mon Apr 7 23:49:40 2025 +0200

    Automatic changelog for PR #3459 [ci skip]

commit 28e4e2cd42
Author: Roxy <75404941+TealSeer@users.noreply.github.com>
Date:   Mon Apr 7 17:49:12 2025 -0400

    Refactor changelog handling to separate files (#3459)

    ## About The Pull Request

    This rewrites how our actions handle changelogs, and rewrites a bunch of
    the changelog TGUI (in a separate file cause I don't feel like
    massacring the upstream one). The gist of it is that our actions will
    now create autochangelog files with bubber in the name, our changelog
    compile will only compile those autochangelogs (not upstream ones if
    they happen to be in there), and the compile will be done into separate
    bubber changelog files in `html/changelogs/bubber_archive`. In game, the
    UI will pull both archive files (upstream and ours) and combine them in
    the changelog list, putting the codebase logo next to each change to
    distinguish which one it's from.

    ~~NOTE: I'm opening this as a draft because I'm going to try and reset
    our tg changelogs and then reapply all our historical changelogs into
    the new bubber archive files, I'm just putting this up now so the code
    can be reviewed and shit~~ done

    ## Why It's Good For The Game

    For players this makes it easier to distinguish where a change came
    from, and for developers this means we don't need to worry about
    breaking the changelog when we do an upstream pull, we can completely
    ignore it and just pull everything, and our tg archive files will be 1:1
    with upstream with no shit from us added in.

    ## Proof Of Testing
    <details>
    <summary>Screenshots/Videos</summary>

    ![image](https://github.com/user-attachments/assets/ac8a96f9-dcb3-43f0-8d36-faf610f3a7e0)

    </details>

    ## Changelog

    🆑 TealSeer, LT3
    refactor: refactored how changelogs are generated and displayed
    /🆑

    ---------

    Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com>

commit 7de99181db
Author: Roxy <75404941+TealSeer@users.noreply.github.com>
Date:   Mon Apr 7 17:44:07 2025 -0400

    Rename Autochangelog (#3462)

    the refactor is about to merge this isnt gonna be included otherwise

commit 0ed680f2aa
Author: Bubberbot <151680451+Bubberbot@users.noreply.github.com>
Date:   Mon Apr 7 23:36:02 2025 +0200

    Automatic changelog for PR #3457 [ci skip]

commit 0f13b89457
Author: Odairu <39929315+Odairu@users.noreply.github.com>
Date:   Mon Apr 7 17:35:25 2025 -0400

    30 minute grace period to respawn (world time, not round time) (#3457)

    ## About The Pull Request
    from when the server starts to 30 minutes after, respawning is free of
    charge
    ## Why It's Good For The Game
    item #1 on the list
    ## Proof Of Testing
    it works dude trust me
    <details>
    <summary>Screenshots/Videos</summary>

    </details>

    ## Changelog
    🆑
    code: respawn enabled until 30 min (world time)
    /🆑

commit 99cb23f3c5
Author: Bubberbot <151680451+Bubberbot@users.noreply.github.com>
Date:   Mon Apr 7 18:30:45 2025 +0200

    Automatic changelog for PR #3434 [ci skip]

commit 697d89abf3
Author: pixelkitty286 <78038207+pixelkitty286@users.noreply.github.com>
Date:   Mon Apr 7 11:30:19 2025 -0500

    Cleans up and reorganizes some of the borg code (#3434)

    ## About The Pull Request
    This PR reorganizes and cleans up some of the borg code and separates
    sprite defines and borg defines once more but this time correctly.

    Also fixes some small bugs with foot steps with chameleon module.

    Moved some borg model specific trait procs into their own file.
    ## Why It's Good For The Game
    Makes it more organized so we don't have one HUGE file containing all
    the sprite defines and borg model code

    ## Proof Of Testing
    It's all back end. Compile test was last done late march.

    <details>
    <summary>Screenshots/Videos</summary>

    </details>

    ## Changelog
    🆑
    fix: chameleon model foot steps
    code: moved many of the borg defines to their correct _defines file and
    folder
    /🆑

commit 74985f40fc
Author: Bubberbot <151680451+Bubberbot@users.noreply.github.com>
Date:   Mon Apr 7 10:28:15 2025 +0200

    Automatic changelog for PR #3447 [ci skip]

commit d58cf909af
Author: Jinshee <96621959+Jinshee@users.noreply.github.com>
Date:   Mon Apr 7 01:27:49 2025 -0700

    Change podperson eye color (Again (Thanks Upstream)) (#3447)

commit cb3052e6ea
Author: Bubberbot <151680451+Bubberbot@users.noreply.github.com>
Date:   Mon Apr 7 02:04:52 2025 +0200

    Automatic changelog for PR #3448 [ci skip]

commit c29d36ada5
Author: sippykot <sippythekot@outlook.com>
Date:   Mon Apr 7 02:04:27 2025 +0200

    Fish Ass: ports over large shark tails from CHOMP (#3448)

    ## About The Pull Request

    see title
    if you want to see who made the sprites, follow the accreditation chain:
    https://github.com/CHOMPStation2/CHOMPStation2/pull/9926

    it doesn't fully use all the sprites, because our system here is so much
    clunkier to use - if someone wants they can probably bash out several
    more tail variants by copying and rearranging the existing sprites

    ## Why It's Good For The Game

    people wanted them, gushed over them in #suggestions, and then no one
    did anything, so...
    also, 🦈

    ## Proof Of Testing

    yeah i compiled it, they finally showed up in game, thanks #coder-longue

    ## Changelog

    🆑
    add: 4 new tail options
    image: new tail sprites
    /🆑

    ---------

    Co-authored-by: Roxy <75404941+TealSeer@users.noreply.github.com>

commit fa6845f9e6
Author: Bubberbot <151680451+Bubberbot@users.noreply.github.com>
Date:   Sun Apr 6 23:22:10 2025 +0000

    Bubberstation automatic changelog compile [ci skip]

commit 55fd8dd1f7
Author: Bubberbot <151680451+Bubberbot@users.noreply.github.com>
Date:   Mon Apr 7 01:01:20 2025 +0200

    Automatic changelog for PR #3426 [ci skip]

commit 16f6d07548
Author: Odairu <39929315+Odairu@users.noreply.github.com>
Date:   Sun Apr 6 19:00:55 2025 -0400

    Shadekin NV and movespeed rebalance (#3426)

    ## About The Pull Request
    title + nerf movespeed in the light
    ## Why It's Good For The Game
    still can't see shit (nv trait is 4.5, bumping it up to 15)
    ## Proof Of Testing
    it werks
    <details>
    <summary>Screenshots/Videos</summary>

    </details>

    ## Changelog
    🆑
    balance: shadekin nv buffed from 4.5/100 to 15/100
    balance: shadekin move a bit slower in the light
    /🆑

commit d2f96730ba
Author: Bubberbot <151680451+Bubberbot@users.noreply.github.com>
Date:   Sun Apr 6 22:16:10 2025 +0000

    Bubberstation automatic changelog compile [ci skip]

commit c7def946b6
Author: Bubberbot <151680451+Bubberbot@users.noreply.github.com>
Date:   Sun Apr 6 17:39:00 2025 +0200

    Automatic changelog for PR #3450 [ci skip]

commit f833f3edc4
Author: Roxy <75404941+TealSeer@users.noreply.github.com>
Date:   Sun Apr 6 11:38:26 2025 -0400

    Fix persistence medbots speaking on syndicate frequency (#3450)

    ## About The Pull Request

    Make them speak on cybersun frequency

    ## Why It's Good For The Game

    Fixes #3446

    ## Proof Of Testing
    <details>
    <summary>Screenshots/Videos</summary>

    ![image](https://github.com/user-attachments/assets/05dc7869-8904-4005-be2a-d59301daef13)

    </details>

    ## Changelog

    🆑
    fix: fixed persistence medbots speaking on wrong radio frequency
    /🆑

commit 17b620b48e
Author: Bubberbot <151680451+Bubberbot@users.noreply.github.com>
Date:   Sun Apr 6 10:19:15 2025 +0200

    Automatic changelog for PR #3438 [ci skip]

commit bfb9c9e2b5
Author: pixelkitty286 <78038207+pixelkitty286@users.noreply.github.com>
Date:   Sun Apr 6 03:18:52 2025 -0500

    Nerfs super syndicat and makes it no longer a freedom implant. (#3438)

    ## About The Pull Request
    - This PR makes the new syndicat ears item have a 1 minute cool down
    when used and the normal ears have the same thing.

    - This also ports a fix that was done on monkey station:
    https://github.com/Monkestation/Monkestation2.0/pull/6017

    ## Why It's Good For The Game
    - After watching a round on here and getting complaints about this from
    SPLURT I understand now why 20 seconds is too short for such a item like
    this if your gonna be a cat your gonna be a cat for a long while.

    - Also to quote monkey station:
    "It will make the cat not able to bypass any security non-lethal means,
    which in turns mean security won't be forced to lethal them everytime
    they see it."

    ## Proof Of Testing
    Should work only changed the time values.

    Edit: Compiled and tested locally

    <details>
    <summary>Screenshots/Videos</summary>

    </details>

    ## Changelog
    🆑
    balance: Super cat ear cool downs are longer and removed the freedom
    implant function.
    /🆑

commit 4ed70fa4c7
Author: Bubberbot <151680451+Bubberbot@users.noreply.github.com>
Date:   Sun Apr 6 10:18:17 2025 +0200

    Automatic changelog for PR #3451 [ci skip]

commit 65331b085f
Author: Roxy <75404941+TealSeer@users.noreply.github.com>
Date:   Sun Apr 6 04:17:45 2025 -0400

    Fix invisible sprites on security HUD nightvision goggles (#3451)

    ## About The Pull Request

    Upstream changed NV goggles to have different icon states for on and off
    and we dont have that so I reverted it to the tg sprite

    ## Why It's Good For The Game

    Fixes #3383

    ## Proof Of Testing
    <details>
    <summary>Screenshots/Videos</summary>

    ![image](https://github.com/user-attachments/assets/77943197-de8f-409a-86c3-bad205888054)

    </details>

    ## Changelog

    🆑
    fix: fixed sechud nv goggles being invisible when off
    /🆑

commit 8aad924f76
Author: Bubberbot <151680451+Bubberbot@users.noreply.github.com>
Date:   Sun Apr 6 10:16:18 2025 +0200

    Automatic changelog for PR #3443 [ci skip]

commit 3bd5803844
Author: Swift <jackwars4@gmail.com>
Date:   Sun Apr 6 03:15:53 2025 -0500

    Removes tackle buff for having cat ears (#3443)

    ## About The Pull Request

    Title, manual revert of #1513

    ## Why It's Good For The Game

    Tackle chance could be brought to 100% and people have reportedly been
    exploiting this fact.

    ## Proof Of Testing

    I think it will complie

    ## Changelog

    :cl:Swiftfeather
    balance: Cat ears no longer provide a tackle bonus
    /🆑

commit 89594c8547
Author: Bubberbot <151680451+Bubberbot@users.noreply.github.com>
Date:   Sun Apr 6 00:56:59 2025 +0000

    Bubberstation automatic changelog compile [ci skip]

commit b4af64b182
Author: Bubberbot <151680451+Bubberbot@users.noreply.github.com>
Date:   Sun Apr 6 02:25:40 2025 +0200

    Automatic changelog for PR #3370 [ci skip]

commit 0e684db68a
Author: LT3 <83487515+lessthnthree@users.noreply.github.com>
Date:   Sat Apr 5 17:24:44 2025 -0700

    Update various sound prefs for 516 compatibility (#3370)

    ## About The Pull Request

    Updates our various sound prefs to be functional post upstream/516.

    ## Why It's Good For The Game

    We can control sound as expected again.

    ## To-Do

    - [x] Conditional preference sounds
    - [x] Jukebox sound toggle
    - [x] Jukebox volume override

    ## Changelog

    🆑 LT3
    fix: Sound prefs that went missing post-516 are restored
    add: Jukebox volume slider in game preferences
    /🆑

    ---------

    Co-authored-by: tgstation-ci[bot] <179393467+tgstation-ci[bot]@users.noreply.github.com>

commit 60e73702c6
Author: Bubberbot <151680451+Bubberbot@users.noreply.github.com>
Date:   Sat Apr 5 07:14:09 2025 +0000

    Bubberstation automatic changelog compile [ci skip]

commit 9a36823173
Author: Bubberbot <151680451+Bubberbot@users.noreply.github.com>
Date:   Sat Apr 5 09:02:26 2025 +0200

    Automatic changelog for PR #3425 [ci skip]

commit 1ab85fd206
Author: Odairu <39929315+Odairu@users.noreply.github.com>
Date:   Sat Apr 5 03:02:02 2025 -0400

    Spices up vulpkanin [bounty] (#3425)

    ## About The Pull Request
    Changes vulpkanin in several ways:
    - Peanutbutter gives a mood buff
    - Chocolate deals toxin damage while inside you
    - innate hardened soles
    - innate night vision
    - hunger will drain twice as fast
    - higher sensitivity to flashes
    ## Why It's Good For The Game
    vulpkanin are literally human but fluffy, they don't even have lore in
    the species selector (lol) also I'm being paid
    ## Proof Of Testing

    ![image](https://github.com/user-attachments/assets/8860340c-e6c4-4ad9-81ac-89a60f7645eb)

    ![image](https://github.com/user-attachments/assets/3a497358-64f1-4f37-a8c4-e289c7a84734)

    ![image](https://github.com/user-attachments/assets/d6dec08b-c0a6-4d75-8715-2f66791a9cd4)
    <details>
    <summary>Screenshots/Videos</summary>

    </details>

    ## Changelog
    🆑
    add: several vulpkanin species buffs/debuffs
    /🆑

    ---------

    Co-authored-by: LT3 <83487515+lessthnthree@users.noreply.github.com>

commit 4da0397b16
Author: Bubberbot <151680451+Bubberbot@users.noreply.github.com>
Date:   Sat Apr 5 08:54:22 2025 +0200

    Automatic changelog for PR #3396 [ci skip]

commit 1ed1187fca
Author: Jinshee <96621959+Jinshee@users.noreply.github.com>
Date:   Fri Apr 4 23:53:57 2025 -0700

    Slug Scream! (#3396)

    ## About The Pull Request

    Adds a new scream, "Slug". Sound file ripped from Splurt

    ## Why It's Good For The Game

    Expression is the best thing that this video game medium can offer.

    ## Proof Of Testing

    https://github.com/user-attachments/assets/147be9dc-98c2-4ee4-bc76-762331710143

    ## Changelog

    🆑
    sound: Slug Scream sound added to *scream choices
    /🆑

commit 66e28121d4
Author: Bubberbot <151680451+Bubberbot@users.noreply.github.com>
Date:   Sat Apr 5 08:53:15 2025 +0200

    Automatic changelog for PR #3431 [ci skip]

commit 88a238b93c
Author: Bombermansam <Bombermansam@yahoo.com>
Date:   Sat Apr 5 02:52:48 2025 -0400

    Allows players to be sad like raptors (#3431)

    ## About The Pull Request
    Adds a Sad Kweh emote from the two unused raptor sound files.
    ## Why It's Good For The Game
    You can now sad birdly.
    ## Proof Of Testing
    It compiles and was tested locally.

    https://github.com/user-attachments/assets/bc5f31fb-ad12-4026-be94-d28d2db542df

    ## Changelog
    🆑
    add: *skweh emote to be sad
    /🆑

commit 4a93b42977
Author: Bubberbot <151680451+Bubberbot@users.noreply.github.com>
Date:   Sat Apr 5 08:51:43 2025 +0200

    Automatic changelog for PR #3432 [ci skip]

commit f51c4d7942
Author: Bombermansam <Bombermansam@yahoo.com>
Date:   Sat Apr 5 02:51:18 2025 -0400

    Silicons can now Yip (#3432)

    ## About The Pull Request
    Silicons can now emit a singular yip so they can express their inner
    kobold but not too much.
    ## Why It's Good For The Game
    Silicons can yipyip but not yip. This fixes it.
    ## Proof Of Testing
    It compiles and was tested locally.
    </details>

    ## Changelog
    🆑
    fix: Silicons can now yip.
    /🆑

commit 14ec8a0440
Author: Bubberbot <151680451+Bubberbot@users.noreply.github.com>
Date:   Sat Apr 5 08:43:03 2025 +0200

    Automatic changelog for PR #3437 [ci skip]

commit e05fe31faa
Author: Odairu <39929315+Odairu@users.noreply.github.com>
Date:   Sat Apr 5 02:42:41 2025 -0400

    Adds more flavor to shadekin empathy (#3437)

    ## About The Pull Request
    BASED ON SANITY SHADEKIN EMPATHY WILL:
    -Take more or less time to send
    -At lowest levels of sanity the message starts to break down some
    -Be a different color in chat
    ## Why It's Good For The Game
    Shadekin empathy is communication through FEELINGS so it being
    better/worse based on how you're FEELING makes sense (to me)
    ## Proof Of Testing

    ![image](https://github.com/user-attachments/assets/2c539f7b-7edc-43c1-9c28-f8da4606dc17)
    <details>
    <summary>Screenshots/Videos</summary>

    </details>

    ## Changelog
    🆑
    balance: shadekin empathy is better/worse based on mood
    /🆑

    ---------

    Co-authored-by: Waterpig <49160555+Majkl-J@users.noreply.github.com>

commit 457754c461
Author: Bubberbot <151680451+Bubberbot@users.noreply.github.com>
Date:   Sat Apr 5 06:38:05 2025 +0000

    Bubberstation automatic changelog compile [ci skip]

commit c3fe3d31ba
Author: LT3 <83487515+lessthnthree@users.noreply.github.com>
Date:   Fri Apr 4 23:16:53 2025 -0700

    You can cuff people to the tram rails #90293 (#3445)

    ## About The Pull Request

    https://github.com/tgstation/tgstation/pull/90293

    ![image](https://private-user-images.githubusercontent.com/7483112/427767772-688e23ff-93df-4f51-990c-4bc475d344fb.gif?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NDM4MjY2MzAsIm5iZiI6MTc0MzgyNjMzMCwicGF0aCI6Ii83NDgzMTEyLzQyNzc2Nzc3Mi02ODhlMjNmZi05M2RmLTRmNTEtOTkwYy00YmM0NzVkMzQ0ZmIuZ2lmP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI1MDQwNSUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNTA0MDVUMDQxMjEwWiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9MDBiNTNhZGRjYjY5YWRmMjQyZTM4YjY3MGM3MGMyZTIzM2I4MDkwMGYwNTEwODc2YmE0YWE1ZGFiMDJjZWI1MyZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QifQ.6w2hr_2ruJTsAcXoAlcbsZe5bM3ii83iBQk7aDQhvMs)

    Handcuffed people can be buckled to the tram rails.
    If the tram hits them then they will die badly.
    If they're not shockproof and are buckled to a powered rail, it will zap
    them repeatedly for a little bit of damage (but not a lot because you
    probably want them to die from something else).
    Unbuckling someone from a powered rail is also pretty dangerous.

    While doing this I fucked around a bit with how the "is the tram deadly"
    calculation worked because I didn't like how a deadly tram cuts your
    head off but does literally no other damage. Now it pulverises and
    beheads you.

    ## Why It's Good For The Game

    ![image](https://github.com/user-attachments/assets/dd851dda-56b0-41c9-b6aa-26c9db0b9a28)

    ---------

    Co-authored-by: tgstation-ci[bot] <179393467+tgstation-ci[bot]@users.noreply.github.com>

commit 3c1c05052f
Author: Bubberbot <151680451+Bubberbot@users.noreply.github.com>
Date:   Fri Apr 4 23:23:13 2025 +0000

    Bubberstation automatic changelog compile [ci skip]

commit 0287fe4d0b
Author: Bubberbot <151680451+Bubberbot@users.noreply.github.com>
Date:   Fri Apr 4 21:54:53 2025 +0200

    Automatic changelog for PR #3440 [ci skip]

commit 6d081fe0da
Author: Bombermansam <Bombermansam@yahoo.com>
Date:   Fri Apr 4 15:54:30 2025 -0400

    [Modularized] Nugget Boxes and Foodpacks can now be placed into paper sacks. (#3440)

    ## About The Pull Request
    Nugget Boxes and Foodpacks can now be placed into paper sacks.
    ## Why It's Good For The Game
    You can now live out your minimum wage dreams as a fast food worker a
    Chick'fil'a. To quote someone that wanted this "I can now fastfoodmax as
    a chef".

    Food packs can also be placed into paper sacks because it makes sense.
    ## Proof Of Testing
    It compiles and was tested locally.

    ![dreamseeker_WxYzmwbDrn](https://github.com/user-attachments/assets/9b6e4e8e-fa71-48c3-8bbc-b533e3b3e65e)

    I would like to praise [lessthnthree](https://github.com/lessthnthree)
    for their remarkable patience in teaching me how to properly modularize
    code. Really, thank you so much!

    </details>

    ## Changelog
    🆑
    add: Makes Nugget Boxes and Food packs small
    /🆑

    ---------

    Co-authored-by: LT3 <83487515+lessthnthree@users.noreply.github.com>

commit 0824cb07ba
Author: Bubberbot <151680451+Bubberbot@users.noreply.github.com>
Date:   Thu Apr 3 20:19:08 2025 +0000

    Bubberstation automatic changelog compile [ci skip]

commit 9d8a54be49
Author: Bubberbot <151680451+Bubberbot@users.noreply.github.com>
Date:   Thu Apr 3 22:14:42 2025 +0200

    Automatic changelog for PR #3433 [ci skip]

commit 45477353d2
Author: Bubberbot <151680451+Bubberbot@users.noreply.github.com>
Date:   Thu Apr 3 22:14:33 2025 +0200

    Automatic changelog for PR #3403 [ci skip]

commit b6b6fbfba4
Author: The Sharkening <95130227+StrangeWeirdKitten@users.noreply.github.com>
Date:   Thu Apr 3 14:14:17 2025 -0600

    Job Spawn borgs prioritize linking to the malf AI (#3433)

    ## About The Pull Request

    So there's this little quirk where late join cyborgs will auto link to
    whatever AI has the least cyborgs. This changes that.

    This adds a priority: Malf AI > AI cores

    Also this deletes an unused file I noticed.

    ## Why It's Good For The Game

    Every cyborg that spawns in the game during an active malf round should
    always connect to the malf AI if it's available.

    ## Proof Of Testing

    It works

    ## Changelog

    🆑
    balance: Cyborgs now auto link in a priority system. Malf > AI cores >
    Suit AIs / Cards
    /🆑

commit 1f3aedc6c1
Author: LT3 <83487515+lessthnthree@users.noreply.github.com>
Date:   Thu Apr 3 13:14:07 2025 -0700

    Fix brain trauma surgery (#3403)

    ## About The Pull Request

    Fixes the highest level of trauma surgery leaving leftover traumas.
    Applies a status effect instead of the random roll of a new trauma.

    ## Why It's Good For The Game

    Having to do lobotomy surgery over and over until you hit the 25% RNG to
    make it successfully go away isn't a good gameplay experience. Better to
    just apply a status effect for a while instead.

    ## Changelog

    🆑 LT3
    fix: Lobotomy/blessed lobotomy should correctly remove all surgery based
    traumas
    balance: Lobotomy/blessed lobotomy now provides a predictable status
    effect instead of a trauma RNG roll
    /🆑

commit 95d97cf4a2
Author: Bubberbot <151680451+Bubberbot@users.noreply.github.com>
Date:   Thu Apr 3 18:50:51 2025 +0200

    Automatic changelog for PR #3429 [ci skip]

commit 3c30dfbaff
Author: Jinshee <96621959+Jinshee@users.noreply.github.com>
Date:   Thu Apr 3 09:50:24 2025 -0700

    Shadekin Ear Gradient (#3429)

    ## About The Pull Request
    Adds a new ear type: Shadekin Gradient
    ## Why It's Good For The Game

    Makes Healer happy

    ## Proof Of Testing

    ![image](https://github.com/user-attachments/assets/16b3910e-68fa-4caf-8678-2e1f4632ecd9)

    ![image](https://github.com/user-attachments/assets/c3f7eb88-24b2-4aed-804a-075df5917517)

    ## Changelog

    🆑
    add: Added new ear type: Shadekin Gradient
    /🆑

    ---------

    Co-authored-by: Jinshee <manastra2536@gmail.com>

commit 3dd8af584e
Author: Bubberbot <151680451+Bubberbot@users.noreply.github.com>
Date:   Thu Apr 3 06:33:08 2025 +0200

    Automatic changelog for PR #3415 [ci skip]

commit c83b14b15d
Author: Jinshee <96621959+Jinshee@users.noreply.github.com>
Date:   Wed Apr 2 21:32:45 2025 -0700

    Porting New Bug Customization + IPC Screens (#3415)

commit d9d40def4c
Author: Bubberbot <151680451+Bubberbot@users.noreply.github.com>
Date:   Thu Apr 3 02:35:34 2025 +0200

    Automatic changelog for PR #3387 [ci skip]

commit a154dd9d97
Author: Jinshee <96621959+Jinshee@users.noreply.github.com>
Date:   Wed Apr 2 17:35:10 2025 -0700

    Fixes Waggingtail Sprite for Shadekin tails + Ringtail (#3387)

    ## About The Pull Request

    All of the shadekin tails, ringtail included, had incorrectly assigned
    dmi files for their wagging state, causing them to go invisible. This,
    simply, fixes that.

    ## Why It's Good For The Game

    I love fixing sprites!

    ## Proof Of Testing

    https://github.com/user-attachments/assets/186f7dc6-4b78-4e9e-968e-fcbdae40bf2f

    ## Changelog

    🆑
    fix: fixed wagging state for all shadekin tails and ring tail (long)
    /🆑

commit ba3fa0684c
Author: Bubberbot <151680451+Bubberbot@users.noreply.github.com>
Date:   Wed Apr 2 21:56:26 2025 +0000

    Bubberstation automatic changelog compile [ci skip]

commit 70143cdadb
Author: Bubberbot <151680451+Bubberbot@users.noreply.github.com>
Date:   Wed Apr 2 23:52:41 2025 +0200

    Automatic changelog for PR #3419 [ci skip]

commit ad62db6f9b
Author: LT3 <83487515+lessthnthree@users.noreply.github.com>
Date:   Wed Apr 2 14:52:18 2025 -0700

    Adds pipe carp (#3419)

    ## About The Pull Request

    A Ferocious, highly aggressive fish that thrives in the depths of shoddy
    engineering work. Drawn to poorly sealed pipes, mismatched connectors,
    and hastily patched atmospherics, these creatures feast on structural
    incompetence with alarming efficiency.

    ## Changelog

    🆑 LT3
    add: Added new carp variant: carpmospheric technician
    /🆑

commit dab0ff6a09
Author: Bubberbot <151680451+Bubberbot@users.noreply.github.com>
Date:   Wed Apr 2 11:40:26 2025 +0200

    Automatic changelog for PR #3423 [ci skip]

commit 27027d5ceb
Author: The Sharkening <95130227+StrangeWeirdKitten@users.noreply.github.com>
Date:   Wed Apr 2 03:40:00 2025 -0600

    take two: Reverts the disaboot apirl fools (#3423)

    ## About The Pull Request

    Apirl fools code cleanup. Was a funny meme, but I don't think they
    should happen next year.

    ## Changelog

    🆑
    del: Disaboots have been removed from apirl fools.
    /🆑

commit 1c08269f2a
Author: Bubberbot <151680451+Bubberbot@users.noreply.github.com>
Date:   Wed Apr 2 03:08:41 2025 +0000

    Bubberstation automatic changelog compile [ci skip]

commit c43c9d01ed
Author: LT3 <83487515+lessthnthree@users.noreply.github.com>
Date:   Tue Apr 1 19:38:12 2025 -0700

    [TM ONLY] let me send long ass subtler messages to my heart's content (TGUI payload chunking) (#3406)

    ## About The Pull Request

    (https://github.com/tgstation/tgstation/pull/90295)

    ## Changelog

    🆑 Y0SH1M4S73R
    code: Any tgui message that would be too big to send to the server is
    now split into chunks and sent in sequence. This fixes several issues,
    such as...
    fix: It is once again possible to save large amounts of text on paper at
    once.
    /🆑

    ---------

    Co-authored-by: Y0SH1M4S73R <legoboyo@earthlink.net>
    Co-authored-by: Y0SH1M4S73R <y0sh1m4s73r@gmail.com>
    Co-authored-by: Lucy <lucy@absolucy.moe>

commit c96d028562
Author: Bubberbot <151680451+Bubberbot@users.noreply.github.com>
Date:   Wed Apr 2 04:35:29 2025 +0200

    Automatic changelog for PR #3420 [ci skip]

commit e22c174b35
Author: Bubberbot <151680451+Bubberbot@users.noreply.github.com>
Date:   Wed Apr 2 04:35:09 2025 +0200

    Automatic changelog for PR #3407 [ci skip]

commit 43a4b964b1
Author: plsleavemealon <106043510+plsleavemealon@users.noreply.github.com>
Date:   Tue Apr 1 21:35:04 2025 -0500

    Ethereal Powercell Bugfix (#3420)

    ## About The Pull Request

    Fixes ethereal powercells from 20kj back to 220kj which is what they
    used to be.

    ## Why It's Good For The Game

    It is what it used to be, and with the present vanilla values you have
    to recharge yourself once every ~5 minutes or so or suffer a huge mood
    debuff. And if you are entombed, you will suffer death after ~10 minutes
    if you do not recharge.

    ## Proof Of Testing

    ## Changelog

    🆑
    fix: fixed ethereals powercell back to bubbers values
    /🆑

commit 3068303ae3
Author: The Sharkening <95130227+StrangeWeirdKitten@users.noreply.github.com>
Date:   Tue Apr 1 20:34:46 2025 -0600

    Reverts "Adds crew monitors to Advanced biotech and lathes" (#3407)

    ## About The Pull Request

    This removes the handheld crew monitor from the medical lathe.

    ## Why It's Good For The Game

    Alright, I just want to start out with all sources of the handheld crew
    monitor after this PR
    - Paramedics spawn with them
    - Blueshield (command only)
    - The medical vendor premium section.
    - Borg upgrades

    Overall while there's been a lot of QOL to the crew monitor which I
    enjoy, it's all gradually made it so deaths are very noticable and often
    times with someone in medical 1 second later running towards an active
    fight to drag corpses away.

    - I think overall we have a sort of medical omnipresence issue,
    especially with an easy research destroying a level of scarcity with the
    hand held crew monitor.

    Anyone can print it if they have the materials and access to the lathe
    versus only a few existing outside of the paramedic starting with them.

    This PR of course is not going to fully tackle it. It's not going to
    stop a paramedic constantly staring at sensors or the medical console
    beeping when someone's in crit. But this aims to get less eyes on
    sensors, mostly the ability for everyone in medical to have a little
    screen to pull out and see the live feed without actively moving to a
    console.

    Overall I think we have this issue (a lot of it being administrative)
    where every single death must be immedietly found and the person revived
    in 10 minutes. This won't fully tackle that, but if the solution is we
    must bloat a ton of antag abilities and items to combat sensors then I
    think we have too many eyes on sensors.

    ## Proof Of Testing

    ![image](https://github.com/user-attachments/assets/9d845341-7441-4beb-bb61-579b01222190)

    ## Changelog

    🆑
    del: Removes the handheld crew monitor from the medical lathes.
    /🆑

commit c9cca3fbef
Author: Bubberbot <151680451+Bubberbot@users.noreply.github.com>
Date:   Tue Apr 1 23:24:18 2025 +0000

    Bubberstation automatic changelog compile [ci skip]

commit de81adcb6d
Author: Waterpig <49160555+Majkl-J@users.noreply.github.com>
Date:   Wed Apr 2 00:55:25 2025 +0200

    Makes the roundend mapvote not rerun after it gets called the first time (#3418)

    ## About The Pull Request

    See name
    ## Why It's Good For The Game

    Fixes #3395
    ## Proof Of Testing

    It worked I did test it

    ## Changelog
    Nothing player facing, basically allows us to cancel the vote once it
    initializes

commit b36c477460
Author: Roxy <75404941+TealSeer@users.noreply.github.com>
Date:   Tue Apr 1 18:35:54 2025 -0400

    Fix every fucking piece of maint loot being skub (#3412)

    ## About The Pull Request
    the override should append to the global maint loot list not replace it

    ## Why It's Good For The Game
    I'm anti-skub

    ## Proof Of Testing

    I did this PR from my phone in bed because there's no power
2025-04-14 15:51:24 -04:00
OrionTheFox 38dc2369ef Adds GAGS fedoras, updates all other fedora sprites to match the Detective's (+ other related tweaks) (#90132)
## About The Pull Request
First just to get it out of the way, yippee, greyscale fedoras.
Available in the Clothesmate. Now you can make a hat to match those
custom buttondowns+suitjackets we already have.

![image](https://github.com/user-attachments/assets/98f1c53b-058e-4244-ac04-45197da6ccba)

However, because so many of the fedoras pair with other sprites, I
couldn't just make all of them greyscale. Then they wouldn't quite
match!
So I've updated them all - most of the on-mobs are just slight tweaks to
shading so they (as mentioned) match the detective fedora.
The obj sprites were also changed - most are the newer sprite (again,
detective's) but I opted to keep the Reporter and Curator fedoras as
slightly updated old ones because those in particular feel cooler to
have the wide-brims and the angle.


![image](https://github.com/user-attachments/assets/904a0da8-a134-4629-b8ea-56ee07b6ed18)


**Additional changes you might notice in the screenshot:**
- Beige Suit had its contrast just _barely_ tweaked to match the fedora.
- Carpskin hat has like 3px changed because they were stray/inconsistent
- Curator's `treasure hunter jacket` had its color changed to pair with
the hat. As it was, the hat being the same color would have been near
identical to the detective's, and this actually matches up with the
intended reference better too. (Plus it inadvertently matches the boots)
- All the hats are down 1px to match the detective. With hair masks, it
looks a **lot** better over hair now...
<details><summary>However, for spritetainer's curiosity, this is the
comparison of how it'd look if they were all up 1px</summary>


![image](https://github.com/user-attachments/assets/36a99466-05ab-4474-ae40-19ec190a0b1b)

</details>

<details><summary>I also had to slightly alter the mask because it
originally cut off 1px too much.
No visual change on the only other hat that uses it (the sec helmet)
</summary>


![image](https://github.com/user-attachments/assets/13d95e08-87aa-4bce-9c8b-bb5420f0f3b1)

</details>
## Why It's Good For The Game

**Greyscale Fedoras**
We #love customization. Players can already make their own suits, why
not their own hats to match?

**All the resprites**
Having all of the fedoras looking similar is nice, especially with the
onmob sprites' shading and obj sprites' shapes. Helps players associate
the items with each other better. Plus, the curator's was _really_
soulful.

As for the curator's jacket, I feel having it not be as similar to the
detective's palette will make it stand out more as the unique item it
is. It's a treasure hunter. Give them the admiration they deserve.

**Height/Hairmask**
The height is consistency - one fedora being lower than the other is
confusing and almost looks like a bug.
The hairmask solves the issue that lowering them previously caused - no
more severe clipping with hair.
## Changelog
🆑
add: Added greyscale Fedoras, available in the Clothesmate!
image: Resprited most of the Fedoras - now they'll all be much more
consistent with the detective's updated and sleek ones. They also all
have a hairmask now, so hair will no longer clip with them!
image: To pair with this, the Beige suit has been just slightly tweaked
and the Curator's "Treasure Hunter Jacket" entirely recolored to better
match their fedoras.
/🆑
2025-03-22 03:24:19 -04:00