Compare commits

...
1347 Commits
Author SHA1 Message Date
Delta-V bot f94cab57df Automatic changelog update 2026-09-17 06:23:05 +02:00
742524b2ff Asakim Tweaks (#6452)
* yippee

* pulser buff

* rulesops

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* changes made i hope

* Update objectiveGroups.yml

* Update Resources/Prototypes/_Mono/Entities/Clothing/OuterClothing/Hardsuits/asakim.yml

Signed-off-by: Radezolid <snappednexus@gmail.com>

---------

Signed-off-by: Radezolid <snappednexus@gmail.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Radezolid <snappednexus@gmail.com>
2026-09-17 04:22:45 +00:00
Delta-V bot cdb104ee2e Automatic changelog update 2026-09-17 06:19:59 +02:00
freezer dog 180281ae0d slimes can have prosthetic limbs (#6496)
yep
2026-09-17 01:19:40 -03:00
Delta-V bot 0a3507c93b Automatic changelog update 2026-09-17 06:05:39 +02:00
pixelStrifeandRadezolid 2efc9871db Ovinia suffocation noises: Enabled (#6481)
* add ovinia suffocation

* Update Resources/Prototypes/_DEN/Voice/speech_emote_sounds.yml

Co-authored-by: Radezolid <snappednexus@gmail.com>
Signed-off-by: pixelStrife <46169994+pixelStrife@users.noreply.github.com>

* Update Resources/Prototypes/_DEN/Voice/speech_emote_sounds.yml

Co-authored-by: Radezolid <snappednexus@gmail.com>
Signed-off-by: pixelStrife <46169994+pixelStrife@users.noreply.github.com>

---------

Signed-off-by: pixelStrife <46169994+pixelStrife@users.noreply.github.com>
Co-authored-by: Radezolid <snappednexus@gmail.com>
2026-09-17 01:05:18 -03:00
Delta-V bot 814ef07035 Automatic changelog update 2026-09-17 05:01:56 +02:00
657f1fd534 Changes the sprite for the air sensor (#6340)
* Changes the sprite for the air sensor

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Forgot to comment the assembly entity

Signed-off-by: BriBrooo <45323530+Bribrooo@users.noreply.github.com>

* Adds gray air sensors

* Adds the extensions of the gray air sensors

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Update freezer.yml

Signed-off-by: BriBrooo <45323530+Bribrooo@users.noreply.github.com>

* Update Resources/Prototypes/_DV/Entities/Structures/Specific/Atmospherics/sensor.yml

Co-authored-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
Signed-off-by: BriBrooo <45323530+Bribrooo@users.noreply.github.com>

* Update Resources/Prototypes/_DV/Entities/Structures/Specific/Atmospherics/sensor.yml

Co-authored-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
Signed-off-by: BriBrooo <45323530+Bribrooo@users.noreply.github.com>

* Update Resources/Prototypes/_DV/Entities/Structures/Specific/Atmospherics/vox.yml

Co-authored-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
Signed-off-by: BriBrooo <45323530+Bribrooo@users.noreply.github.com>

* Update Resources/Prototypes/_DV/Entities/Structures/Specific/Atmospherics/sensor.yml

Co-authored-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
Signed-off-by: BriBrooo <45323530+Bribrooo@users.noreply.github.com>

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Fixes explosions in the code

* Fixed the meta.json order

Signed-off-by: Radezolid <snappednexus@gmail.com>

---------

Signed-off-by: BriBrooo <45323530+Bribrooo@users.noreply.github.com>
Signed-off-by: Radezolid <snappednexus@gmail.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
Co-authored-by: Radezolid <snappednexus@gmail.com>
2026-09-17 03:01:35 +00:00
Delta-V bot a8e51dffc3 Automatic changelog update 2026-09-16 14:44:57 +02:00
84c7e3d877 Unstable Core Refractor (2 electric boogaloo) (#6491)
* Added in -
UCR (unstable core refractor) a hard to obtain crew side maybe heavy laser gun which has very low capacity high dps and slows you down a shit ton along side that it cant aim for shit and only does radiation damage which is countered by rad suit and thermal suit for syndis. its fully sprited even for its back and suitstorage sprites...
Added in -
Specialized weapon parts which holds two new parts to create the UCR being the Unstable reactor core and the Unstable Reactor Housing which will later combine to make the weapon when i figure that out
changed -
loot tables to include in legendary the unstable reactor core

* added everything else
 fixed up inhand sprites for the core, and gave it some more omph interms of radiation because i hate salv
 now its craftable in the crafting menu when you get the housing and the core and you just have both of em and put it together decently not fast
 yeah crafting systems suck i had to make like 3 new stuffs and add to like 2 already existing thingys...
 also i forgot to add reactor core to legdary loot table, now its in
 also its in the sec fab now and blacklisted from portable recharger not like it would do you any good but it would negate the speed downisde which is a big part of it

* small final fixes
fixed unstable reactor core spawning in sets of 3 to 5 now it only spawns 1 (its still really fuckin rare)

changed unstable core refractor's sprite thingy to fit in with the rest of them in terms of naming convention

changed icon and base sprites so they were more shaded and look less odd

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* hot fix :)
changed graph name to UnstableCoreRefractor

* Fixing single word

added word core in between the UnstableReactor in the Unstable Reactor Housing item thingy

Signed-off-by: Apersos-coll <collsherlo@gmail.com>

* reworks the thingy
reverse bloom on the gun allows it to be both "unstable" and useable
some other stuff which are just fixes

* made core buyable
made core less radioactive
stat changes for gun so it focusses fire faster and has a bit faster generation

* Made Unstable Beam projectiles have unique textures i made :)
buffed projectiles to 6 damage a hit instead of 5 cause radiation damage is so weak, now its more viable in actual combat :)

* recharge buff cause its so slow

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* fixed it, the crate i had to fix while updating it i missplaced the y and the p in type...

* Update Resources/Prototypes/_DV/Entities/Objects/Misc/specialized_weapon_parts.yml

Co-authored-by: Sir Warock <67167466+SirWarock@users.noreply.github.com>
Signed-off-by: Apersos-coll <collsherlo@gmail.com>

* Update Resources/Prototypes/Research/arsenal.yml

Co-authored-by: Sir Warock <67167466+SirWarock@users.noreply.github.com>
Signed-off-by: Apersos-coll <collsherlo@gmail.com>

* Update Resources/Prototypes/_DV/Entities/Objects/Weapons/Guns/Battery/battery_guns.yml

Co-authored-by: Sir Warock <67167466+SirWarock@users.noreply.github.com>
Signed-off-by: Apersos-coll <collsherlo@gmail.com>

* Update Resources/Prototypes/Entities/Markers/Spawners/Random/Salvage/tables_loot.yml

Co-authored-by: Sir Warock <67167466+SirWarock@users.noreply.github.com>
Signed-off-by: Apersos-coll <collsherlo@gmail.com>

* Update Resources/Prototypes/_DV/Entities/Objects/Misc/specialized_weapon_parts.yml

Co-authored-by: Sir Warock <67167466+SirWarock@users.noreply.github.com>
Signed-off-by: Apersos-coll <collsherlo@gmail.com>

* crate will no longer spill radiation onto the populus of cargonia

Signed-off-by: Apersos-coll <collsherlo@gmail.com>

* Re increased radiation due to the crate not leaking it so now its a actual threat and hard to store, instead of lightly tickling you over the course of 9 minutes

Signed-off-by: Apersos-coll <collsherlo@gmail.com>

* all requested maintainer changes, and we are donzo!!!!!!

* Update Resources/Prototypes/_DV/Entities/Objects/Misc/specialized_weapon_parts.yml

Signed-off-by: Sir Warock <67167466+SirWarock@users.noreply.github.com>

* Update Resources/Prototypes/_DV/Entities/Objects/Misc/specialized_weapon_parts.yml

Signed-off-by: Sir Warock <67167466+SirWarock@users.noreply.github.com>

---------

Signed-off-by: Apersos-coll <collsherlo@gmail.com>
Signed-off-by: Sir Warock <67167466+SirWarock@users.noreply.github.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Sir Warock <67167466+SirWarock@users.noreply.github.com>
2026-09-16 12:44:36 +00:00
Delta-V bot d151384db8 Automatic changelog update 2026-09-16 14:31:26 +02:00
SumofThreeParts 7bcc06b46a Glimmer prober lockout at 600 instead of 750 (#6493)
Glimmer probers lockout at 600 instead of 750

Signed-off-by: SumofThreeParts <its.a.joke1000@gmail.com>
2026-09-16 09:31:05 -03:00
Delta-V bot e409e98bf6 Automatic changelog update 2026-09-14 19:45:03 +02:00
760af2e261 Fix beer bottles (#6503)
* fix:beer bottles were missing the DrinkBottle tag

* Revert "fix:beer bottles were missing the DrinkBottle tag"

This reverts commit 320bdfeaf9.

* fix:beer bottles were missing the DrinkBottle tag

* Update Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_bottles_glass.yml

missing DeltaV tag to specify that it's a delta-v specific change

Co-authored-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
Signed-off-by: pinoinha <55506432+Pinoinha@users.noreply.github.com>

---------

Signed-off-by: pinoinha <55506432+Pinoinha@users.noreply.github.com>
Co-authored-by: Marina Barros <azulmarina799@gmail.com>
Co-authored-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
2026-09-14 12:44:42 -05:00
Delta-V bot ebc0340fc9 Automatic changelog update 2026-09-14 00:20:01 +02:00
KOTOB e8b6c42de4 Fix/Lower Asakim Weight (#6455)
* whoop

* nuke from antag table

* we love webedits in this household

Signed-off-by: KOTOB <59124164+kotobdev@users.noreply.github.com>

---------

Signed-off-by: KOTOB <59124164+kotobdev@users.noreply.github.com>
2026-09-13 15:19:39 -07:00
github-actions[bot]andDeltaV-Bot 5e0d668f60 Update Credits (#6505)
Co-authored-by: DeltaV-Bot <github@deltav.gay>
2026-09-13 04:36:32 +02:00
Delta-V bot 2c1084da78 Automatic changelog update 2026-09-11 01:40:04 +02:00
BarryNorfolk 9304aad604 Swap emergency shuttles to use NTNet (#6497) 2026-09-10 19:39:43 -04:00
Delta-V bot 5132e64a0f Automatic changelog update 2026-09-09 17:49:38 +02:00
SumofThreePartsandpre-commit-ci[bot] d2bf1e9a39 Adding the Anaconda (#6458)
* Creating the Anaconda

Signed-off-by: SumofThreeParts <its.a.joke1000@gmail.com>

* hashtag balance

Signed-off-by: SumofThreeParts <its.a.joke1000@gmail.com>

* Adding the anaconda sprites

Signed-off-by: SumofThreeParts <its.a.joke1000@gmail.com>

* Delete anaconda directory

Signed-off-by: SumofThreeParts <its.a.joke1000@gmail.com>

* Adding the anaconda sprites

Signed-off-by: SumofThreeParts <its.a.joke1000@gmail.com>

* whoops!

Signed-off-by: SumofThreeParts <its.a.joke1000@gmail.com>

* yuuuup. adding tha andaconda sprites. again

Signed-off-by: SumofThreeParts <its.a.joke1000@gmail.com>

* doing the thing!!!

Signed-off-by: SumofThreeParts <its.a.joke1000@gmail.com>

* part one of adding it to uplink 

Signed-off-by: SumofThreeParts <its.a.joke1000@gmail.com>

* whoops!

Signed-off-by: SumofThreeParts <its.a.joke1000@gmail.com>

* guh

Signed-off-by: SumofThreeParts <its.a.joke1000@gmail.com>

* part 2 of adding anaconda to uplink

Signed-off-by: SumofThreeParts <its.a.joke1000@gmail.com>

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* doing the thang 

Signed-off-by: SumofThreeParts <its.a.joke1000@gmail.com>

* adding the thang i was told to

Signed-off-by: SumofThreeParts <its.a.joke1000@gmail.com>

* adding it but for real

Signed-off-by: SumofThreeParts <its.a.joke1000@gmail.com>

* oh yeah the description

Signed-off-by: SumofThreeParts <its.a.joke1000@gmail.com>

* grrrr grrr not correct

Signed-off-by: SumofThreeParts <its.a.joke1000@gmail.com>

* guh

Signed-off-by: SumofThreeParts <its.a.joke1000@gmail.com>

---------

Signed-off-by: SumofThreeParts <its.a.joke1000@gmail.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2026-09-09 15:49:17 +00:00
Delta-V bot 865d254cd4 Automatic changelog update 2026-09-09 16:55:05 +02:00
Astra 29ec2e659f Give shadekin hair (#6453)
Add shadekin hair
2026-09-09 09:54:44 -05:00
Delta-V bot 690f64d592 Automatic changelog update 2026-09-09 16:18:58 +02:00
pixelStrife b6e018eb18 Namespace drink metabolites (#6486)
* switched Silencer parent to BaseDrink to revert to pre-Metabolite behavior (non-alcoholic)

* Bring namespace drinks in line with upstream, using the new(-ish) Metabolites system in place of the AdjustReagent effect
2026-09-09 09:18:38 -05:00
Delta-V bot 8bcddf4333 Automatic changelog update 2026-09-09 16:15:50 +02:00
34940ecde7 The Pitbull Update of Doom and Despair (#6449)
* it begins.

* THEYRE IN THE VENTS

* Update pitbull.yml

* I AM THE ONE WHO COLLECTS THE PITBULLS

* Fuck you

* THAT IS BULLSHIT BLAZING

* Throw a small child into upper orbit

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* 100 pitbull names

* changed one

* sorry one last pitbull name

* Update pitbull_names.yml

---------

Co-authored-by: Solaris <63768197+Solaris7518@users.noreply.github.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2026-09-09 09:15:30 -05:00
Delta-V bot dafd97e6e1 Automatic changelog update 2026-09-09 16:07:57 +02:00
einknusprigestoastandpre-commit-ci[bot] 593d35903d ERT Gamma changes + gun addition - The return of the fake balancing. (#6239)
* Added Jackdaw and Kammerer

* ERT hardsuit change

* Jackdaw changes

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2026-09-09 09:07:34 -05:00
Delta-V bot 1856f65a18 Automatic changelog update 2026-09-07 02:34:02 +02:00
brainslushie 9066c4af7f Surplus boots - cosmetic jackboots (#6472)
* +surplus boots

* surplus boots in vendor
2026-09-06 21:33:42 -03:00
Stxcking cf9a10af4e PORT: Thaven Markings and Organs from Macrocosm (#6162)
* Can't go wrong with Sprites

* .ftl and .yml files

* displacement + parts + organs

* marking and displacement yaml

* does arent real...yet

* Imp dupe nuke

* go my human+

* no shaders :<

* whoopsie

idk how
2026-09-06 21:18:44 -03:00
Delta-V bot 2d7af5622f Automatic changelog update 2026-09-07 02:17:42 +02:00
nlaky 974f5ff5fa Vulp alt tail wag + fade tip fix (#6480)
* Add wag markings for vulp alt tail

* Fix tip markings used for fade tails
2026-09-06 21:17:22 -03:00
Delta-V bot 88dc8af9a4 Automatic changelog update 2026-09-07 01:36:12 +02:00
BriBrooo 7c33759cbe Update Botanicals.xml (#6483)
Fixes a duplicate entry in the botanical reagent guidebook.
2026-09-06 20:35:52 -03:00
Delta-V bot baf009af3a Automatic changelog update 2026-09-05 16:03:30 +02:00
Field Command b59dfa8991 Central Command remake! (#6198)
* New Central Command

* Me forget

* typos and name change

* Fix and typo

* More polish

* Requested Fixes
2026-09-05 09:03:08 -05:00
github-actions[bot]andDeltaV-Bot e43a587ede Update Credits (#6465)
Co-authored-by: DeltaV-Bot <github@deltav.gay>
2026-08-30 05:00:27 +02:00
Delta-V bot 00d77213c6 Automatic changelog update 2026-08-29 01:54:53 +02:00
VapeandVanessa 389a616138 Ramping Scheduler adjustments and changes (#6440)
* Update roundstart.yml

* updakes

* Rnd 2 fight

* Changes done

* Apply suggestion from @ShepardToTheStars

Signed-off-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>

* Apply batched suggestions from code review

Co-authored-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
Signed-off-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>

---------

Signed-off-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
Co-authored-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
2026-08-28 23:54:33 +00:00
Delta-V bot 07b029ff2b Automatic changelog update 2026-08-28 18:38:29 +02:00
Carol 1043b40246 Added caseless shotgun shells (#6457)
added caseless shotgun shells
2026-08-28 11:38:08 -05:00
Delta-V bot d0385ab8bb Automatic changelog update 2026-08-27 21:26:28 +02:00
03347ed416 Inverse Labels and Handlabeler menu (#6432)
Merge pull request #1120 from oooielp/label-invert (#783)

Co-authored-by: Khaomi <46065349+Khaomi@users.noreply.github.com>
Co-authored-by: Superlagg <sprambersonson@gmail.com>
2026-08-27 14:26:07 -05:00
Delta-V bot e9f0148287 Automatic changelog update 2026-08-27 21:24:33 +02:00
SumofThreePartsandVanessa 0f7131d9e7 Buffing the Hushpup (#6438)
* Buffing the Hushpup

Signed-off-by: SumofThreeParts <its.a.joke1000@gmail.com>

* Doing the thing

Co-authored-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
Signed-off-by: SumofThreeParts <its.a.joke1000@gmail.com>

* doing the thang

Signed-off-by: SumofThreeParts <its.a.joke1000@gmail.com>

* Changing it back

Signed-off-by: SumofThreeParts <its.a.joke1000@gmail.com>

---------

Signed-off-by: SumofThreeParts <its.a.joke1000@gmail.com>
Co-authored-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
2026-08-27 16:24:13 -03:00
Delta-V bot bf9b42c76c Automatic changelog update 2026-08-27 20:38:01 +02:00
a635429d3e Communications console & screens overhaul (#5954)
* i'm going insane from screens

* some wiring

* screemes

* holy shit adhd lock-in

* incomplete

* its FUCKING DONE

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* zeta

* mrrrp

* test fix

* fix arrivals

* fix misnetwork

* Fix iteration outline. Fixed all headers showing if all options where hidden. Added access requirement to keycard auth mechnism. Added countdown. Fixed ninja and fugitive. Fixed AI and aghost.

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Vanessa <vanessalouwagie@gmail.com>
2026-08-27 13:37:40 -05:00
Delta-V bot bd1e4224cd Automatic changelog update 2026-08-27 20:32:18 +02:00
Vanessa 568621858e Trees are now actually rooted and cannot move. (#6456) 2026-08-27 13:31:58 -05:00
Delta-V bot 3df2209227 Automatic changelog update 2026-08-27 16:29:59 +02:00
1da052e36f Letting the patos be purchased (#6361)
* Making Patos a thing you can buy

Signed-off-by: SumofThreeParts <its.a.joke1000@gmail.com>

* Update armory.yml

Signed-off-by: SumofThreeParts <its.a.joke1000@gmail.com>

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Update cargo_armory.yml

Signed-off-by: SumofThreeParts <its.a.joke1000@gmail.com>

* Update armory.yml

Signed-off-by: SumofThreeParts <its.a.joke1000@gmail.com>

* Update armory.yml

Signed-off-by: SumofThreeParts <its.a.joke1000@gmail.com>

* Update armory.yml

Signed-off-by: SumofThreeParts <its.a.joke1000@gmail.com>

* Update magazine amount in armory.yml

Signed-off-by: SumofThreeParts <its.a.joke1000@gmail.com>

* thankies

Co-authored-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
Signed-off-by: SumofThreeParts <its.a.joke1000@gmail.com>

* thankies 2

Co-authored-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
Signed-off-by: SumofThreeParts <its.a.joke1000@gmail.com>

---------

Signed-off-by: SumofThreeParts <its.a.joke1000@gmail.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
2026-08-27 11:29:39 -03:00
Delta-V bot 66b95a46ed Automatic changelog update 2026-08-26 10:35:09 +02:00
Vanessa 92ba9edeee Small Midround Antag Balance Pass (#6410)
* Nerfed skia regen.

* Nerfed ninja dash

* Fix ninja agent id

* Skia tweak

* Add reveal to rev attack

* Apply suggestion from @ShepardToTheStars

Signed-off-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>

---------

Signed-off-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
2026-08-26 10:34:48 +02:00
Delta-V bot 680092719f Automatic changelog update 2026-08-24 18:23:27 +02:00
Vanessa 1afbadd404 Fix Health Analyzer Not Showing Traits (#6446)
* Fixed some alerts not showing in the health analyzer

* This is upstream now so removing comments
2026-08-24 11:23:07 -05:00
Delta-V bot 2c190cf2f2 Automatic changelog update 2026-08-24 17:14:11 +02:00
Vanessa 17d798a3e8 Stole Thief Gloves from the Uplink (#6425)
Stole thief gloves from the uplink.
2026-08-24 10:13:51 -05:00
Delta-V bot 287714d87b Automatic changelog update 2026-08-23 17:00:54 +02:00
Vanessa 029aaf8127 Fix Mothroach Grenades (#6447)
Fix mothroach grenades
2026-08-23 10:00:34 -05:00
Delta-V bot bbf1bec942 Automatic changelog update 2026-08-23 14:57:21 +02:00
Vanessaandpre-commit-ci[bot] bd34a94587 Embeddable Syndicate and Hitman Business Cards (#6439)
* make business cards embed

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2026-08-23 07:57:01 -05:00
Delta-V bot 86c54228f8 Automatic changelog update 2026-08-23 14:56:33 +02:00
Vanessa c66bf7c249 Remove coords for Arms Dealers, Asakim, and SRN (#6441)
* Remove coords for arms dealers, asakim, and SRN

* Also set a bunch of other syndicate uniforms to coords off

* forgot two
2026-08-23 07:56:12 -05:00
github-actions[bot]andDeltaV-Bot fd0f01e49a Update Credits (#6444)
Co-authored-by: DeltaV-Bot <github@deltav.gay>
2026-08-23 02:56:31 +02:00
Delta-V bot cfddb40c2f Automatic changelog update 2026-08-22 18:18:52 +02:00
DisposableCrewmember42 19d4eb8489 feat: Unorbitable component (#6435)
* feat: Unorbitable component

* feat: stealthmin adds/removes Unorbitable
2026-08-22 11:18:31 -05:00
Delta-V bot 9bb7925bd2 Automatic changelog update 2026-08-21 20:29:57 +02:00
Radezolid e340ddcec9 Kill combat medkits free storage (#6413)
* Kill!!

* Medkit size

* Removed from printable list + made resistant to explosions

* Make the test not angry at me

* I can't read

* I can't read v2
2026-08-21 13:29:37 -05:00
Delta-V bot e0b6261454 Automatic changelog update 2026-08-21 04:39:06 +02:00
Radezolid d741daca19 Syndie shuttles fixes + interdyne locker + new syndie evac pod (#6094)
* Interdyne locker

* Haibu

* strongbox

* synth

* Census

* hornet

* old evac pod to adming folder

* Add a syndie door and fix census

* Apply requested changes

---------

Signed-off-by: Radezolid <snappednexus@gmail.com>
2026-08-20 21:38:45 -05:00
Vanessa 970c8d71b5 Fix NodeCrawling ClientSide Errors (#6429)
fix some clientside errors with nodecrawling
2026-08-20 12:28:47 -05:00
Delta-V bot b6801b2fe5 Automatic changelog update 2026-08-20 19:20:06 +02:00
Vanessa 5cd26f877e Fix Hitman Targeting Marked as Protected (#6426)
Fix objective immunity.
2026-08-20 12:19:46 -05:00
Minerva 105ad32f98 Minor indentation change on pull request template (#5634) 2026-08-20 10:18:59 -05:00
Delta-V bot e3566a4cc9 Automatic changelog update 2026-08-20 16:25:25 +02:00
Vanessa 5e63549b8c Locale Ops (#6427)
* Fixed missing locale strings.

* Meant to revert this.
2026-08-20 09:24:59 -05:00
Delta-V bot 5b08961c35 Automatic changelog update 2026-08-18 20:15:03 +02:00
3c6ab7b676 Reduced the slowdown of the Advanced Riot Control Suit to 15% (#6353)
* ARCS slowdown 15% explosion resist 40%

* Comment on the explosion resistance of the ARCS

* Replaces the ARCS with the upstream riot suit, riot suit now has 40% explosion resist

* Apply suggestion from @ShepardToTheStars

Signed-off-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>

---------

Signed-off-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
Co-authored-by: john <sadadawd3@gmail.com>
Co-authored-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
2026-08-18 18:14:43 +00:00
23e55c9c40 Fix lack of justice access on AA (#6408)
* Add access, uncomment brig

* borgs

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: Vanessa <vanessalouwagie@gmail.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2026-08-18 18:08:39 +00:00
Delta-V bot ffa442f844 Automatic changelog update 2026-08-18 19:51:56 +02:00
CorynandVanessa 6d75455dd1 Add Vulp Scream Sound Collection (#6348)
* Add Vulp Scream Sound Collection

* Fix mistake

---------

Signed-off-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
Co-authored-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
2026-08-18 12:51:36 -05:00
Delta-V bot 0d89320364 Automatic changelog update 2026-08-18 18:39:28 +02:00
Theo 1984cc2118 hristov rework (#5905)
* Add deviation, slowdown, projectile slower, bipod and stats

* add nt-3 piercing remove bullet slow

* fixed the piercing stuff

* ok
2026-08-18 11:39:07 -05:00
Delta-V bot 3248ee4715 Automatic changelog update 2026-08-17 22:26:29 +02:00
Vanessaandpre-commit-ci[bot] b2b08e698e Ramping Scheduler Fixes / Convert to Survival Fixes (#6416)
* Fixed nukie behavior check firing early

* Fixed ZombieOutbreak adding ramping schedulers

* RampingSchedulers now look at when they were added for keypoint times

* Xenoborgs no longer has a RampingScheduler roundstart.

* Added number of cuffed hands check

* Use GameRule activation time.

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* silly compiler flag

* Apply suggestions from code review

Co-authored-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
Signed-off-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>

* Fix other locale usages

* silly me

* PR feedback

---------

Signed-off-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2026-08-17 15:26:09 -05:00
Delta-V bot 3a612b9450 Automatic changelog update 2026-08-17 21:14:50 +02:00
Vanessaandpre-commit-ci[bot] 9746e92479 Adjust Traitor Objectives if 30TC (#6389)
* Adjust traitor objectives. More objectives. Increase objective variance a bit. Add new CMO steal target.

* Remove stealcondition blacklist from DAGD so its not just muderboning

* locale

* Fix DAGD steal objective again. Tweak LO steal objectives

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Updated super surplus

* Added migration.

* Locale tweak

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2026-08-17 14:14:31 -05:00
Delta-V bot 9d723af15d Automatic changelog update 2026-08-17 19:38:23 +02:00
Vanessa 8e925a02b9 Fix Kitsune Getting Posioned by Raw Meat (#6422)
fix kitsune
2026-08-17 19:38:02 +02:00
Delta-V bot d898300c5c Automatic changelog update 2026-08-16 17:05:00 +02:00
Vanessa 4294df8fd7 Fix Holy Water (#6421)
fix holy water
2026-08-16 10:04:40 -05:00
Delta-V bot 365209174b Automatic changelog update 2026-08-16 16:08:07 +02:00
Sir Warock 0c852409b3 Prioritize ejecting handgun from secbelt (#6418)
one commit
2026-08-16 09:07:45 -05:00
github-actions[bot]andDeltaV-Bot 9fb8bab84e Update Credits (#6420)
Co-authored-by: DeltaV-Bot <github@deltav.gay>
2026-08-16 02:55:39 +02:00
Delta-V bot c7e1c980b6 Automatic changelog update 2026-08-14 06:31:17 +02:00
Stop-Signs 0516e97461 Disallow evil fucked up brainwashing (#6414) 2026-08-13 23:30:57 -05:00
Delta-V bot fd5b16abb3 Automatic changelog update 2026-08-13 17:02:06 +02:00
Vanessa 1a9281ab63 Fixed Species Organs (#6409)
Fixed some inconsistent organs with species.
2026-08-13 10:01:47 -05:00
Delta-V bot c9038be25f Automatic changelog update 2026-08-13 03:17:23 +02:00
Vanessa b3cf460bda Fix and Tweak Random Shuttle Spawns (#6401)
* Fix and slightly alter random shuttle spawns

* Few more tweaks. Twice as many shuttles.

* Tweaked to be max every 90 min
2026-08-13 03:17:03 +02:00
Delta-V bot 7fddf52368 Automatic changelog update 2026-08-12 19:34:32 +02:00
pathetic meowmeow 4a96535892 Finetune ion law set (#6390) 2026-08-12 14:34:11 -03:00
Stop-Signs 93f614fdfc Add animation to the radiant sword (#6380)
* progress

* kermit

* donezo

* light
2026-08-12 14:15:26 -03:00
Delta-V bot 40997fb4a4 Automatic changelog update 2026-08-12 19:05:52 +02:00
freezer dog c3adbb32f1 a cowboy crate edit (#6363)
yeehaw
2026-08-12 14:05:32 -03:00
Delta-V bot 3974a0331b Automatic changelog update 2026-08-12 18:49:52 +02:00
SumofThreeParts 92c6c8cfa3 Making Universals Cheaper (#6366)
* Making Universals Cheaper

Signed-off-by: SumofThreeParts <its.a.joke1000@gmail.com>

* Update cargo_armory.yml

Signed-off-by: SumofThreeParts <its.a.joke1000@gmail.com>

* Update cargo_armory.yml

Signed-off-by: SumofThreeParts <its.a.joke1000@gmail.com>

---------

Signed-off-by: SumofThreeParts <its.a.joke1000@gmail.com>
2026-08-12 13:49:31 -03:00
Vanessa ea313aae4a Update Configs (#6407)
* add configs that were not managed in git

* Add fallback preset

* removed map_enabled
2026-08-10 17:03:25 -05:00
Delta-V bot 272c38a6d0 Automatic changelog update 2026-08-10 18:15:15 +02:00
Coryn 7f11e1eebb Harpy Layers Fix (#6406)
* Harpy Layers Fix

* Remove unused Dependency

* Commented out Visual Subscribes, Add RArmExtension has a hideable layer for hardsuits

* Untouch Harpy Visuals
2026-08-10 11:14:55 -05:00
Delta-V bot 06429d050a Automatic changelog update 2026-08-09 20:24:45 +02:00
ed07a12d24 Gnomes (#6027)
* add gnomes, gnome hat, gnome gamerule, gnome voice

* inventory and hand fixed, speech half fix, hat embed, gamerule doesn't work

* fix audio, gamerule doesn't spawn correctly, need to fix dead sprite 90 degrees off

* add audio, add custom jaunt + polymorph, "fix" dead sprite

* add storage to hat, gnome fit into duffelbags

* make jaunt 2 seconds, hat store small items

* fix spawn

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* jaunt 20 seconds

* fix stupid web merge, 20 second jaunt cooldown

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* add pitch variation

* audio fixes and guidebook, make pulling need hands

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* fix hands and polymorph inventory, make storage implant unremovable

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* polymorph inventory make linter mad

* Update Resources/Prototypes/_DV/Polymorphs/polymorph.yml

Co-authored-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
Signed-off-by: Theo <tad3@illinois.edu>

* Update Resources/Locale/en-US/_DV/abilities/psionic.ftl

Co-authored-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
Signed-off-by: Theo <tad3@illinois.edu>

* passive HTN and glimmer event

* fix comment

* random names

* PR Review Suggestions but it works this time

---------

Signed-off-by: Theo <rebe83a@gmail.com>
Signed-off-by: Theo <tad3@illinois.edu>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
Co-authored-by: Vanessa <vanessalouwagie@gmail.com>
2026-08-09 18:24:25 +00:00
Delta-V bot 493db6d129 Automatic changelog update 2026-08-09 20:14:34 +02:00
Vanessa d07f16f43f Allow curators to help out with people learning the game (#6374) 2026-08-09 13:14:15 -05:00
Delta-V bot f580f3b060 Automatic changelog update 2026-08-09 18:57:52 +02:00
Vanessa e7869d8221 Fix Jaunting/Polymorph while Nodecrawling (#6400)
* Disable polymorph while ventcrawling

* Actually, allow but remove from vent

* update comments
2026-08-09 11:57:32 -05:00
Vanessa 398e3eb75f Server Location Updates (#6405)
Server name updates (because we're in canada now)
2026-08-09 11:54:55 -05:00
Vanessa 0637a82e40 Update CODEOWNERS (#6404) 2026-08-09 11:41:59 -05:00
github-actions[bot]andDeltaV-Bot 206ded17c8 Update Credits (#6402)
Co-authored-by: DeltaV-Bot <github@deltav.gay>
2026-08-09 03:11:44 +02:00
Delta-V bot 847f534ff6 Automatic changelog update 2026-08-08 01:25:14 +02:00
VanessaandWhatstone b38f0b1a59 Fix parcel wrap transform parenting via SpawnAtPosition (#44679) (#6399)
ParcelWrap: spawn at position, use PopupEntity

Co-authored-by: Whatstone <166147148+whatston3@users.noreply.github.com>
2026-08-07 23:24:53 +00:00
Delta-V bot efbeb5bf68 Automatic changelog update 2026-08-07 18:51:45 +02:00
VanessaandSir Warock 1f09c717f3 Fix Antags Being Crazy Smol (#6398)
* Fixed antags being crazy smol

* Update Content.Shared/Sprite/SharedScaleVisualsSystem.cs

Signed-off-by: Sir Warock <67167466+SirWarock@users.noreply.github.com>

---------

Signed-off-by: Sir Warock <67167466+SirWarock@users.noreply.github.com>
Co-authored-by: Sir Warock <67167466+SirWarock@users.noreply.github.com>
2026-08-07 16:51:24 +00:00
Radezolid 52ed881e2c Extra mapping stuff for justice rework (#6397)
* Banner

* Beacons

* Warp

* Gun safe stuff
2026-08-07 09:04:06 -05:00
Radezolid 393e1951a2 More suffixes fixes for Justice (#6396)
Suffixes, suffixes!
2026-08-05 00:07:51 +00:00
Delta-V bot ca7c7daf6c Automatic changelog update 2026-08-05 00:19:07 +02:00
Stxcking 697da0679a Fix: Moproach Ghostrole + Critter Emoting Fixes (#6356)
yeah sure it works
2026-08-04 17:18:46 -05:00
Delta-V bot 1b75cad94f Automatic changelog update 2026-08-04 23:49:39 +02:00
Vanessa 82e5d9b924 Fix Shadekin Changelog (#6395)
* Fix changelog

* i can't spell
2026-08-04 21:49:18 +00:00
Radezolid e44717f262 Fix Justice Warden's suffixes for mapping (#6393)
* SUFFIXES

* I missed the PDA one.

* Justice warden's shit

* Holopad
2026-08-04 12:45:19 -05:00
Delta-V bot 9c83b91850 Automatic changelog update 2026-08-04 18:41:34 +02:00
VanessaandSir Warock f027ae4566 Fix Shadekin Inheritence (#6381)
* Make shadekin organic

* Removed shadekin lungs

* Update Content.Server/_Starlight/ShadekinSystem.cs

Co-authored-by: Sir Warock <67167466+SirWarock@users.noreply.github.com>
Signed-off-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>

---------

Signed-off-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
Co-authored-by: Sir Warock <67167466+SirWarock@users.noreply.github.com>
2026-08-04 16:41:14 +00:00
Delta-V bot 724cd1c9b8 Automatic changelog update 2026-08-04 18:28:16 +02:00
Vanessaandpre-commit-ci[bot] f44178bec3 Character Height Slider + Character Height Changes (#6320)
* Do the thing for everyone. Height is now +/- 20% for everyone.

* Make the height slider show height. Solve for special cases. Solve world hunger.

* Fixed some minor things.

* Adjust some densities

* Smaller character balance

* Comment

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Oops, that was from a failed thing.

* Size calc correction

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* people are tall in the future

* I need to refactor a bit still.

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Refactor into a system

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* smol

* Fixed remaining scale visual components and species

* Remove MockScale. Just add scale visuals for Allalulo to compensate.

* PR feedback

* Slight refactor. Moved profile/species scale out of the scale system and put it into the HumanoidProfileSystem. Removed some CD logic that is no longer needed.

* how'd this get in there

* Move the other motorkind.yml to AprilFools dir

* NO NO_PENTALTY lol

* Other PR stuff

* Other PR stuff

* Add a dirty

* Add some networking to the comp

* Add small character to cloning

* One more fixX

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2026-08-04 16:27:55 +00:00
Delta-V bot 877267cd31 Automatic changelog update 2026-08-03 04:45:31 +02:00
3572bf4739 Skia Shadow-Walk and DarkVision instead of VentCrawl (#6346)
* What if Skia were awesome instead of sucking

* Shhh Yaml Linter... Shhh

* Small change to make it feel more consistant

* Reworked shadowwalking to be lazy

Much faster, preserves most of the feel

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Update Content.Shared/_DV/Overlays/Components/DarkVisionComponent.cs

Signed-off-by: pathetic meowmeow <uhhadd@gmail.com>

---------

Signed-off-by: pathetic meowmeow <uhhadd@gmail.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: pathetic meowmeow <uhhadd@gmail.com>
2026-08-02 22:45:11 -04:00
Delta-V bot 7867fb7f1f Automatic changelog update 2026-08-02 15:31:52 +02:00
a3b1059c21 PORT: Added Construction Bag and Bag of Holding from Frontier (#5846)
* Construction Bag (#1487)

* initial commit

* Un Tag

* fixes

* no tickets

* research thingy

* inflatable walls, shared.comp

---------

Co-authored-by: Dvir <dvirf01@gmail.com>

* DeltaV related

Don't kill me for fixing my own grammar mistake with the borg module please

* BorgModuleAdvancedConstruction

- I will fix the spelling in another PR I guess. GUH
- Some fixes to the bag according to linter.
Anything and everything you need for a borg module:
- Lathe recipe.
- Module.
- Icon/action sprite.

* Sprite fixes

* lathe fix I forgor

* nuke BorgModuleAdvancedConstruction

CR request

* why was this not merged uh whoops

* suggestions

* Update Resources/Prototypes/_NF/Recipes/Lathes/misc.yml

Signed-off-by: Radezolid <snappednexus@gmail.com>

---------

Signed-off-by: Radezolid <snappednexus@gmail.com>
Co-authored-by: ErhardSteinhauer <65374927+ErhardSteinhauer@users.noreply.github.com>
Co-authored-by: Dvir <dvirf01@gmail.com>
Co-authored-by: Radezolid <snappednexus@gmail.com>
2026-08-02 13:31:30 +00:00
Stxckingandpre-commit-ci[bot] 076d960072 Justice Rework - Mapping (#6276)
* windoors, airlocks, faxes, dresser, beacon, warppoints

* Lockers and placeholder bedsheets

Most of this done by Rebe

* attorney as a separate role

idk why we decide to just modify upstream lawyer instead of making a separate role from the start sobs

* justice warden, armorer, marshal job roles

* linter fixes

* holy shit theres more

a mixture of everything as I had a list to go down
-JusticeDetective stuff because Det is now under justice
-More Armorer stuff
-Cameras
-Telecoms
-Prosec/Attorney lockers
-Secure windoors

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* brig access as requested + admin config

also dupe beacon fix wop

* Reb

* Bypass ChameleonJobLoadoutTest

dear maint i pinky promise they will get added before rework launches

* suggestions and fixes

They don't need to be on the access config right now but should be fine.

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2026-08-02 10:20:12 -03:00
github-actions[bot]andDeltaV-Bot acb6677aff Update Credits (#6392)
Co-authored-by: DeltaV-Bot <github@deltav.gay>
2026-08-02 04:08:22 +02:00
Delta-V bot c916f9a90b Automatic changelog update 2026-07-30 19:31:07 +02:00
71b6dfc0b1 Add Remote Medical Tracking to T3 Biochemical Tree (#6272)
* Added handheld monitors to the research tree.

* changed logi crate parent

* Added new board to dynamic pack

* Namespaced new entity

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Apply suggestions from code review

Co-authored-by: Radezolid <snappednexus@gmail.com>
Signed-off-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>

---------

Signed-off-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Radezolid <snappednexus@gmail.com>
2026-07-30 17:30:47 +00:00
Delta-V bot 5fe8a394ba Automatic changelog update 2026-07-29 17:42:20 +02:00
Vanessaandpre-commit-ci[bot] 69d3d96d79 Reduce Sink Claws Delay + Sink Claws Alert (#6376)
* Reduced felinid rootable delay to tolerable levels

* Added the unused toggle icon to the alerts on the side when claws are protracted, instead of using the diona one.

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2026-07-29 17:42:01 +02:00
Delta-V bot 1e6f69361d Automatic changelog update 2026-07-29 14:19:14 +02:00
NollaDarkstarandjohn cb71e8159c Change resistances of the Durathread Vest and Plate Carrier (#6311)
* Change to durathread vest and plate carrier

* Increase heat resistance of the durathread to 20%, plate carrier remains at 20% slash

* Plate Carrier is back at 20% heat

---------

Co-authored-by: john <sadadawd3@gmail.com>
2026-07-29 12:18:53 +00:00
Delta-V bot 809525b1bd Automatic changelog update 2026-07-27 21:26:57 +02:00
CalliganSierreandpre-commit-ci[bot] b81ccd4f15 Ported Shadekin Audio Revamp (#6370)
* Port TheDen Shadowkin voice noises for Shadekin

Bring over TheDen's Shadowkin scream, laugh, and talk audio, wire them into Shadekin emote sound collections and speech sounds so Shadekin no longer use generic human laughs/speech.

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Move TheDen Shadowkin voice prototypes to _DEN

Restore Starlight shadekin sound collections and emote sounds to their original state. Keep TheDen scream, laugh, and talk wiring under _DEN and point MobShadekin at those prototypes.

* Clean up comments on Shadekin voice port

Remove unnecessary inline notes from MobShadekin wiring and drop the extra header on sound collections. Keep a single provenance comment on the TheDen emote sound block.

* Cleaned up unneccessary comments

* Added gulps, i guess lol

* Removed custom laugh emotes for shadekin, reverted to normal human laugh.

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2026-07-27 21:26:37 +02:00
Delta-V bot c50871e76b Automatic changelog update 2026-07-27 18:43:40 +02:00
Stxcking 1206fca623 Feat: Departmental Bomber Jackets (#6220)
* Sprites

* bombers.yml

* drobes changes

* loadouts

* armor values (dread) + fixes

* updated sprites

* Suggestions
2026-07-27 11:43:19 -05:00
140be08fbb Health analyzer plus (#6230)
* Add medtek+ cart, healthanalyzer+ gui, research target

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Make new health analyzer default, remove research

* Remove bloodlevel unit count, center damage/reagents

* Accidentally pushed wording change, reverting

* Added unknown reagent category. Fixed some issues with FixedPoint2 showing 100x the damage.

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Vanessa <vanessalouwagie@gmail.com>
2026-07-27 14:02:14 +00:00
Delta-V bot b218279e7f Automatic changelog update 2026-07-27 15:48:35 +02:00
Vanessa 5664d6746d Revert "PORT: Selectable Cyborg Chassis from CosmicDrift (#5712)" (#6385)
This reverts commit 4e2dce4414.
2026-07-27 08:48:14 -05:00
github-actions[bot]andDeltaV-Bot ac747032ce Update Credits (#6383)
Co-authored-by: DeltaV-Bot <github@deltav.gay>
2026-07-26 04:09:10 +02:00
Delta-V bot 42db88fa74 Automatic changelog update 2026-07-24 19:39:38 +02:00
a52809279e Nerf & Fix NT-3 (#5653)
* One Commit ops

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Implement requested changes

Co-Authored-By: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>

* Well Well Well

* Fix Pierce Mechanic

* Include it in comment

* Implement requested changes

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
2026-07-24 12:39:18 -05:00
Delta-V bot 07f73179cd Automatic changelog update 2026-07-24 19:35:07 +02:00
freezer dog d1c4e94499 giving the wt a little love not like a whole lot like a pat on the shoulder or somethin (#6364)
* i cant think of anything funny to say yknow just like yep its like yknow and like yeah

* deletin this, also saw literally nothing attached to this to begin with i guess? gonna double check but yeah
2026-07-24 12:34:47 -05:00
Delta-V bot 481335487e Automatic changelog update 2026-07-24 19:29:07 +02:00
pootslapandpre-commit-ci[bot] ef0e8497ce Monkey emote sounds (#5928)
* pitch change ops

adding the params to emoteSounds overrides every individual emote which sucks

* lower gulps and blinking

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Update speech_emote_sounds.yml

Signed-off-by: pootslap <211648338+pootslap@users.noreply.github.com>

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Signed-off-by: pootslap <211648338+pootslap@users.noreply.github.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2026-07-24 12:28:47 -05:00
Delta-V bot 06c5917dbf Automatic changelog update 2026-07-24 19:28:20 +02:00
Manoob f0d1f668fe FIX: Emergency access doesn't change the BOLT/Emergency permissions on a door using remote control (#6141)
AA doesnt change the BOLT/AA permissions on a door using remote control!
2026-07-24 12:28:00 -05:00
Vanessa 583eb39799 ADMIN: Move common QUERY commands to DEBUG (#6351)
ADMIN: Move entities command to DEBUG
2026-07-24 12:27:47 -05:00
Delta-V bot a0ebf263e3 Automatic changelog update 2026-07-23 22:07:23 +02:00
VanessaandSir Warock 898101b18e Buckle Bugfix + Dynamic CPR Prio (#6375)
* Fix long-time carrying bug with buckling. Also change CPR priority

* remove TODO comment

* small nitpick

Refactor OnRemoved method and improve code formatting.

Signed-off-by: Sir Warock <67167466+SirWarock@users.noreply.github.com>

---------

Signed-off-by: Sir Warock <67167466+SirWarock@users.noreply.github.com>
Co-authored-by: Sir Warock <67167466+SirWarock@users.noreply.github.com>
2026-07-23 20:07:03 +00:00
Delta-V bot 25f4ffda47 Automatic changelog update 2026-07-23 18:29:49 +02:00
turtlemutt 796e6e4405 Lighthouse Tweaks (#6088)
* Update lighthouse.yml

* Update lighthouse.yml
2026-07-23 18:29:29 +02:00
Delta-V bot 5a4e73574d Automatic changelog update 2026-07-23 05:17:21 +02:00
Astra e4e3f30b84 Shrink entropic blades (#6371)
Resize entropic blade
2026-07-23 00:17:01 -03:00
William Lemonandpre-commit-ci[bot] b15639af05 Fixed Motorkind (#6347)
* Fixed Motorkind

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Gave the hand sprites human hand sprites

I'm not making motorkind hand sprites. Please god don't make me

* Tiny fixes

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2026-07-21 23:51:35 +00:00
Delta-V bot 009371129a Automatic changelog update 2026-07-21 20:45:08 +02:00
Coryn 09553d6b8e Add back Felinid Rootable (#6358) 2026-07-21 18:44:48 +00:00
Delta-V bot d736537261 Automatic changelog update 2026-07-21 09:59:15 +02:00
Coryn c0fbc4f262 Shadekin fixes (#6357)
* Fix Shadekin Emote availablity for everyone else

* Add Shadekin Bloodstream, so meds work
2026-07-21 03:58:55 -04:00
Delta-V bot cc33dc08e8 Automatic changelog update 2026-07-21 04:20:49 +02:00
Stxcking f6558cef8e Fix: Yip missing string (#6354)
yips
2026-07-21 02:20:29 +00:00
Delta-V bot 196419daf0 Automatic changelog update 2026-07-21 02:05:28 +02:00
nlaky ee01a470cf Fix vulp helmet sprites (#6201) 2026-07-21 00:05:08 +00:00
Delta-V bot c0b78a5065 Automatic changelog update 2026-07-21 01:46:30 +02:00
ArionGekkota 3b27cb1630 Pka upstream merge (#6258)
* PKA changes to upstream PKA balance

* Nerfed goliath and basilisk health

* Nerfed carp HP (3 shots to kill with unupgraded PKA)
2026-07-20 18:46:11 -05:00
Delta-V bot fc77ebae4d Automatic changelog update 2026-07-21 01:37:26 +02:00
Proxy also works :3 00d1991154 traitors get 30 tc (#6275)
* traitors get 30 tc

* Update roundstart.yml

* higher is fewer woops

* again

* like this?
2026-07-20 23:37:06 +00:00
William Lemon f20d8d9f7f Toolshed Additions: Field & DoExt commands (#6329)
* Toolshed Additions

* Removed MarkingCommand, added description to FieldCommand

* Added DoExt command
2026-07-20 19:28:39 -04:00
Delta-V bot ae4a864ad0 Automatic changelog update 2026-07-21 01:23:48 +02:00
dbe955ca17 Cargo bounty console improvements (with changes) (#6306)
* simple fix for "Approved by: Self" on all cargo invoices

* port of ruddygreat's bounty console improvements to DeltaV

* modified tooltips and fixed a few importing errors

* StatusLabel in BountyEntry.xaml.cs

* final stupid tweak

* removed unrelated bugfix PR that snuck into this branch somehow

* Cargo bounty fix requests

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: cargomouse <dboozlebeep@gmail.com>
Co-authored-by: Jessica Harvey <itsjessagain23@gmail.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2026-07-20 18:23:28 -05:00
Delta-V bot 19ebd10ad1 Automatic changelog update 2026-07-21 01:18:12 +02:00
pathetic meowmeow dcd0fb693c Evidence bags (#6280)
* Evidence bags

* tests

* fix the gridinv thing
2026-07-20 18:17:52 -05:00
Delta-V bot 9a6cfb2bfb Automatic changelog update 2026-07-21 00:44:20 +02:00
KOTOB 35fa80f737 Kill security poncho (#6332)
* ughhh

* explode

* explode harder
2026-07-20 17:44:01 -05:00
Delta-V bot 3b7304d092 Automatic changelog update 2026-07-21 00:23:18 +02:00
pootslap da7468e79e Fixed improvised shotgun recipe (#6327)
fixed recipes
2026-07-20 17:22:59 -05:00
Delta-V bot 609bf88d9d Automatic changelog update 2026-07-21 00:21:43 +02:00
freezer dog b71e0a2edf vulpkanin yip (#6301)
* ok i think this works? idunno

* now its working

* fixin some namespace stuff thank ya stxcking
2026-07-20 17:21:23 -05:00
Delta-V bot aacfbd17f8 Automatic changelog update 2026-07-21 00:20:31 +02:00
pathetic meowmeow 6fda61e9cb Report global coordinates on the crew monitor (#6326) 2026-07-20 17:20:11 -05:00
Delta-V bot e47ee2601b Automatic changelog update 2026-07-21 00:11:09 +02:00
064fd77a11 Shadekins arrived (#5481)
* Merge pull request #838 from FoxxoTrystan/Shadekin

Shadekin

# Conflicts:
#	Resources/Prototypes/Body/species_base.yml
#	Resources/Prototypes/Entities/Mobs/Customization/Markings/tattoos.yml
#	Resources/Prototypes/Guidebook/species.yml
#	Resources/Prototypes/Species/species_weights.yml

* Merge pull request #868 from FoxxoTrystan/Shadekin-Perf

Shadekin Performence

* Merge pull request #883 from FoxxoTrystan/Shadekin-Patch

Shadekin Patch + Markings

* Merge pull request #947 from RHSvenson/Shadekin_SurvivalBox

Added and implemented emergency boxes for nonbreathers

* Merge pull request #1861 from ilovehans10/shadekin-guidebook-typo-fixes

Shadekin guidebook typo fixes

* Mars -> Marrs (#2381)

<!-- IT'S NOT WIZDENS REPO, IF YOU WANT TO ADD YOUR CHANGES ON ALL
SERVERS, CREATE PR TO WIZDENS REPO -->

<!-- What do you propose to change with your PR? -->
Changes `@ mars` to `@ marr`s for Shadekin.

<!-- What is the reason for adding these changes? Please post links to
Discussions as well as Bug Reports here. Please describe how this will
change the game balance. -->
Parity with emote wheel. Also, `<PLAYERNAME> mars` feels weird.
(...probably because Mars as in the planet.)

<!--
If your PR contains in-game changes you must provide screenshots/videos
of the changes.
-->

<!-- check boxes for faster reviewing of your PR -->

- [X] I do not require assistance to complete the PR.
- [X] Before posting/requesting review of a PR, I have verified that the
changes work.
- [X] I have added screenshots/videos of the changes, or this PR does
not change in-game mechanics.
- [X] I affirm that my changes are licensed under the [Starlight Fork
License](https://github.com/ss14Starlight/space-station-14/blob/Starlight/LICENSE-Starlight.TXT)
and grant permission for use in this repository under its conditions.

**Changelog**
🆑 Fractalflower
- tweak: Changed Mar emote text to `@ marrs`.

* Fix shadekin guidebook resistance info (#2881)

The shadekin guidebook currently overstates the cellular resistance by
10% and vastly underestimates the bloodloss damage.

The guidebook being accurate helps guide player understanding.

<img width="563" height="669" alt="image"
src="https://github.com/user-attachments/assets/bece997a-5aa4-46f5-9b9f-2fe41dc98e97"
/>

- [X] I do not require assistance to complete the PR.
- [X] Before posting/requesting review of a PR, I have verified that the
changes work.
- [X] I have added screenshots/videos of the changes, or this PR does
not change in-game mechanics.
- [X] I affirm that my changes are licensed under the [Starlight Fork
License](https://github.com/ss14Starlight/space-station-14/blob/Starlight/LICENSE-Starlight.TXT)
and grant permission for use in this repository under its conditions.

**Changelog**

🆑 Penguinwizzard
- fix: Turns out that we were issuing wildly incorrect guidebooks on
Shadekin; an updated edition should now be available for crews.

* New Shadekin Disabilities

* Light hurts Shadekin

Shadekin should get more than a mild sunburn in extreme light

* Changes to make it work

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Foam Immunity Readded

* Flash Modifer works now

* Remove DarkLightComponent

* Add missing Locale for Markings from Den

* Fix Issues, Seperate from _DV namespace

* Yaml Linter Fixes

* ARGH

* ARGHv.2

* ARGHv.3

* Nutribatard instead of Baguette

* Exchange Nutribricks with PSB

* Cotton Baguette

* Changing away from BaseOrganic and Respirator Removal in Code

* Fulfill Content Review Requests

* Remove Eye Coloration - Unused

* Remove ShadekinPhase entirely

* Attribution correctly linked

* Review Changes

* done yml links correctly now

* yml format in shadekin effects

* Remove yml file mention and read Internal

* Readd Internals

* _StarLight -> _Starlight

* Port to Nubody and maybe fixing some fuckups

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Shadekin Yaml Errors

* Add missing markings name, add missing base_scale

* Remove Internal Removal in base_species. Make it Component based

* Add missing readonly

* Remove Non Breahter emergency boxes, Shadekin normal box

* DV Comment Fixes

* Untouched File?

* Use FlashMultiplierDurationEvent

* Add missing attribution

* Fixed scream attributions

* Shadekins can now properly succumb. Starlight#4746

---------

Co-authored-by: Matthew Herber <32679887+Happyrobot33@users.noreply.github.com>
Co-authored-by: FoxxoTrystan <45297731+FoxxoTrystan@users.noreply.github.com>
Co-authored-by: Rinary <rinary.super@gmail.com>
Co-authored-by: FoxxoTrystan <trystan.garnierhein@gmail.com>
Co-authored-by: Tess_the_Evil <tessawfresh@gmail.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Tobias Berger <toby@tobot.dev>
Co-authored-by: Vanessa <vanessalouwagie@gmail.com>
2026-07-20 22:10:48 +00:00
Delta-V bot 2f5f2fd491 Automatic changelog update 2026-07-21 00:09:16 +02:00
018d65d99b Imp ports - Novice mark and wearable examine (#6118)
* Obvious Examine (#2462)

* Obvious Examine

* Feature creep is real

* Less words and better colors

* even fewer words, please

* Oops sorry yaml

* Refactor entire Obvious Examine system

* whitespace

---------

Co-authored-by: beck <163376292+widgetbeck@users.noreply.github.com>
# Conflicts:
#	Content.Shared/_Impstation/Examine/DetailedInspectComponent.cs
#	Content.Shared/_Impstation/Examine/DetailedInspectSystem.cs
#	Resources/Locale/en-US/ghost/roles/ghost-role-component.ftl
#	Resources/Prototypes/Entities/Clothing/Neck/cloaks.yml
#	Resources/Prototypes/Entities/Clothing/Neck/medals.yml
#	Resources/Prototypes/Entities/Clothing/Neck/pins.yml
#	Resources/Prototypes/Entities/Clothing/Neck/scarfs.yml
#	Resources/Prototypes/_Impstation/Entities/Clothing/Neck/cloaks.yml
#	Resources/Prototypes/_Impstation/Entities/Clothing/Neck/misc.yml
#	Resources/Prototypes/_Impstation/Entities/Clothing/Neck/pins.yml
#	Resources/Prototypes/_Impstation/Entities/Clothing/Neck/scarfs.yml

* Novice's mark (#2626)

* Adding the item

* Update descriptions

* Add to trinket list, add to all trainee roles

* Add to PTech

* License fix

* And credit fix.

 Be nice it's my first sprite implementation lol
# Conflicts:
#	Resources/Prototypes/Catalog/VendingMachines/Inventories/cart.yml
#	Resources/Prototypes/Loadouts/loadout_groups.yml
#	Resources/Prototypes/Roles/Jobs/Engineering/technical_assistant.yml
#	Resources/Prototypes/Roles/Jobs/Medical/medical_intern.yml
#	Resources/Prototypes/_DV/Roles/Jobs/Cargo/cargo_assistant.yml
#	Resources/Prototypes/_Impstation/Entities/Clothing/Neck/pins.yml
#	Resources/Prototypes/_Impstation/Loadouts/Miscellaneous/trinkets.yml

* killing things i forgot to oops

* fix + select in loadouts for everyone

---------

Co-authored-by: January Nelson <inelsona@gmail.com>
Co-authored-by: beck <163376292+widgetbeck@users.noreply.github.com>
2026-07-20 17:08:56 -05:00
Delta-V bot ca91333906 Automatic changelog update 2026-07-20 22:29:21 +02:00
VanessaandSir Warock 2b1d0bb364 Locking Probers @ 750 Glimmer + Bigger Prober Explosions over 900 Glimmer (#6292)
* Lock the probers :)

* Added normality to oracle. Up'd max intensity to syndicate bomb levels per CR review.

* Apply suggestions from code review

Co-authored-by: Sir Warock <67167466+SirWarock@users.noreply.github.com>
Co-authored-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
Signed-off-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>

---------

Signed-off-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
Co-authored-by: Sir Warock <67167466+SirWarock@users.noreply.github.com>
2026-07-20 22:29:02 +02:00
Delta-V bot a34e8bff90 Automatic changelog update 2026-07-20 22:14:18 +02:00
b67c029061 Port Item Offering from Euphoria (#5597)
* Item offering port (#96)

* Offer item system port

* More fixes

* Make the formatting a bit more readable

* Add a missing keybind

* Add missing alert click handler and make some of the code more readable

* Duplicate offer-item-system.ftl

Signed-off-by: Mnemotechnican <69920617+Mnemotechnician@users.noreply.github.com>

* Namespace fix and prediction fixes

* Port various carrying and pseudo-item fixes from floofstation

* Refactor the offer system to hopefully bring more clarity

* Final fixes

* Final final final fixes maybe

* Sike, just do it the proper way

---------

Signed-off-by: Mnemotechnican <69920617+Mnemotechnician@users.noreply.github.com>

* fixes

* empty commit (weird test fail?)

* Moved some stuff to shared. Reorganized a bit. I could be here all day...

---------

Signed-off-by: Mnemotechnican <69920617+Mnemotechnician@users.noreply.github.com>
Co-authored-by: Mnemotechnican <69920617+Mnemotechnician@users.noreply.github.com>
Co-authored-by: Vanessa <vanessalouwagie@gmail.com>
2026-07-20 15:13:57 -05:00
Delta-V bot 72f6bff008 Automatic changelog update 2026-07-20 22:07:19 +02:00
KOTOBandpre-commit-ci[bot] baf36b659d Freighter Crew's Jumpsuit (#6331)
* my larp...

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2026-07-20 20:06:59 +00:00
Delta-V bot 0488fcbf8c Automatic changelog update 2026-07-20 19:39:15 +02:00
KOTOBandVanessa edc2b87fa1 Cosmic Censer no longer requires fuel (#5016)
* fun allowed

* guidebook update

* Update Resources/Prototypes/_DV/CosmicCult/Objects/censer.yml

Co-authored-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
Signed-off-by: KOTOB <59124164+kotobdev@users.noreply.github.com>

* Update Resources/Prototypes/_DV/CosmicCult/Objects/censer.yml

Co-authored-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
Signed-off-by: KOTOB <59124164+kotobdev@users.noreply.github.com>

---------

Signed-off-by: KOTOB <59124164+kotobdev@users.noreply.github.com>
Co-authored-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
2026-07-20 12:38:50 -05:00
Delta-V bot 3885aee7cf Automatic changelog update 2026-07-20 02:25:02 +02:00
ConstantlyConfused 859f0418ac Bring back the IPC "Boop" and "Whirr" emotes for cyborgs (#6310)
* return, buzz, whirr, and maybe boop emotes (for borgs)

* cleanup

* remove buzz, since it seems unused???
2026-07-19 19:24:43 -05:00
Delta-V bot d1385ab95b Automatic changelog update 2026-07-20 02:13:11 +02:00
1e45f2da21 Chef's Kimono (#6341)
* Adds the chef kimono

The drobe thing doesn't work yet

* Adds loadout groups

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Apply suggestion from @ShepardToTheStars

Co-authored-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
Signed-off-by: BriBrooo <45323530+Bribrooo@users.noreply.github.com>

* Rename ChefJobShoes to ChefShoes in loadouts

Signed-off-by: BriBrooo <45323530+Bribrooo@users.noreply.github.com>

---------

Signed-off-by: BriBrooo <45323530+Bribrooo@users.noreply.github.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
2026-07-19 19:12:51 -05:00
Delta-V bot 64c50527c3 Automatic changelog update 2026-07-19 18:38:45 +02:00
Myra d7ef3b4a06 Fix pills not having a taste (#5063) (#6299)
The edible-swallow locale message used by pills was missing the
{$flavors} placeholder that edible-nom, edible-slurp and edible-gulp
all have. IngestionSystem always passes the computed flavor text, so
pills silently dropped it. Eating a pill now shows its taste again,
e.g. "You swallow the pill. Tastes sweet."
2026-07-19 11:38:26 -05:00
Delta-V bot 23ec100ed8 Automatic changelog update 2026-07-19 18:19:49 +02:00
SumofThreePartsandVanessa d62ca61fb4 I halved the chance for the Escape objective, again. (#6323)
* Doing the thing again

Signed-off-by: SumofThreeParts <its.a.joke1000@gmail.com>

* Apply suggestions from code review

Co-authored-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
Signed-off-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>

---------

Signed-off-by: SumofThreeParts <its.a.joke1000@gmail.com>
Signed-off-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
Co-authored-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
2026-07-19 11:19:30 -05:00
Delta-V bot 229a857b7e Automatic changelog update 2026-07-19 18:19:07 +02:00
dd9c88ca4b Eventing Toolkit - The Great White (#6317)
* Added the Space Dragon Matriarch

* moved the fireball to its own projectile thingy

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Update Resources/Prototypes/_DV/Entities/Mobs/Player/dragon.yml

Co-authored-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
Signed-off-by: einknusprigestoast <90181825+einknusprigestoast@users.noreply.github.com>

* Fixed Parenting (god i wish this was this easy IRL)

* Huh?

* Accidentally deleted something i didnt want to delete

* Upped Blunt regeneration

* Apply suggestion from @ShepardToTheStars

Co-authored-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
Signed-off-by: einknusprigestoast <90181825+einknusprigestoast@users.noreply.github.com>

* Apply suggestion from @ShepardToTheStars

Signed-off-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>

* Apply suggestion from @ShepardToTheStars

Signed-off-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>

---------

Signed-off-by: einknusprigestoast <90181825+einknusprigestoast@users.noreply.github.com>
Signed-off-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
2026-07-19 11:18:47 -05:00
github-actions[bot]andDeltaV-Bot aaad3b5c00 Update Credits (#6336)
Co-authored-by: DeltaV-Bot <github@deltav.gay>
2026-07-19 04:05:18 +02:00
Delta-V bot addfc247bf Automatic changelog update 2026-07-17 06:40:25 +02:00
6affab00ea Reworked hitman kits (#6270)
* Reworked hitman kits, first draft

* Fixed spacing for the kits

* Update hitman-case.ftl

Rename samurai to ninja kit

* Update hitman_case_catalog.yml

* Update hitman-case.yml

* fixed .ftl error

* Added blue oni mask to ninja kit

* fix hitman_case_catalog.yml, wrong mask ID

* Replaced the high frequency blade with a medium frequency blade - this weapon has a lower reflect chance, and deals heat damage instead of shock.

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Small tweak

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Stxcking <217132821+Stxcking@users.noreply.github.com>
2026-07-17 04:40:05 +00:00
Delta-V bot 7f85b2a196 Automatic changelog update 2026-07-17 06:31:43 +02:00
Velitation a7d25c697f Mime fashion (#6307)
* Added 3 new neck items, 1 new coat, 1 new shoe, and 2 new hats to mime loadout

Also added shoe selection to the mime loadout, new coat to the uniform printer, and new coat + boots to the autodrobe.

* Added missing newlines
2026-07-17 00:31:23 -04:00
Delta-V bot 61884f5fe1 Automatic changelog update 2026-07-17 05:51:10 +02:00
ollyoandStxcking ebcd3b23f9 Slime Nubody tweaks and new markings (incl. ports from Impstation) (#6288)
* Slime people tweaks and new markings (incl. ports from Impstation)
-Removed eyes, mouth, nose, and torso bitties from base Slime person sprite
   -Added them back in as optional markings (excl. mouth as Delta-V has lips already)
-Added the new "OrganSlimeEyes" to Slime people to handle eye markings
-Ported Cyclops and Droopy eyes from Impstation
   -Assigned Droopy eyes as "Droopy Eyes (Left)"
   -Made corresponding Droopy eyes on the right side
   -Added "Four eyes" marking
-Removed eyeshadow tattoo markings from Slime people
   -Added a copy into _DV's makeup directory assigned purely to Slime people
   -Made new matching eyeshadows for the various new eye types
-Adjusted the marking limits to make sense with the tweaks
-Moved and reorganized the Slime Elf Ears within the _DV directories to make more sense

* Fixed Slime people full.png sprite dimensions

* -Removed "followSkinColor" from Prototypes\_Impstation\Entities\Mobs\Customization\Markings\slime.yml causing an error

* Update Resources/Prototypes/Body/Species/slime.yml

Co-authored-by: Stxcking <217132821+Stxcking@users.noreply.github.com>
Signed-off-by: ollyo <296974732+ollyoaner@users.noreply.github.com>

* Update Resources/Prototypes/Entities/Mobs/Customization/Markings/tattoos.yml

Co-authored-by: Stxcking <217132821+Stxcking@users.noreply.github.com>
Signed-off-by: ollyo <296974732+ollyoaner@users.noreply.github.com>

* Update Resources/Prototypes/Body/Species/slime.yml

Co-authored-by: Stxcking <217132821+Stxcking@users.noreply.github.com>
Signed-off-by: ollyo <296974732+ollyoaner@users.noreply.github.com>

* - Fixed formatting and improved in line comment readability.
- Moved eyeshadow additions from makeup to Slime categories
- Added "matchskin" to relevant body markings that are meant to follow skin color

* -Returned Eyeshadow to eye markings category
-Returned Slime to whitelisted group in tattoos.yml
-Removed Eye markings limit and the requirement to have eyes
-Added two new eyes to complement the r/l eyes for more eye mixing
-Tweaked inline readability and organization

* Removed outdated prototype MatchSkin from slime.yml

---------

Signed-off-by: ollyo <296974732+ollyoaner@users.noreply.github.com>
Co-authored-by: Stxcking <217132821+Stxcking@users.noreply.github.com>
2026-07-16 23:50:51 -04:00
Delta-V bot 1a23a02b5e Automatic changelog update 2026-07-16 22:24:47 +02:00
RileyandVanessa f6572840b1 Nuclear scientist (#6283)
* Added Nuclear Scientist alt job.

The Nuclear Reactor can be difficult for those to learn and easy for those to blow up.
Put the "experts" on the job.

* Fixed the meta

Meta fixses.

* Apply suggestions from code review

Thanks ShepardToTheStars.
I'm bad at doing these, but getting better.

Co-authored-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
Signed-off-by: Riley <applesmithworks@gmail.com>

---------

Signed-off-by: Riley <applesmithworks@gmail.com>
Co-authored-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
2026-07-16 15:24:27 -05:00
Delta-V bot 8680f5c4fd Automatic changelog update 2026-07-15 20:43:48 +02:00
MD360 670b6d0858 Fugi paper fix (#6308)
* +\n

* missed one /n

* missed \n #2
2026-07-15 18:42:51 +00:00
Delta-V bot 94004e3ce0 Automatic changelog update 2026-07-15 03:58:24 +02:00
Vanessa fd09b8f68e Airlock Access Override Removes Access, Give Engineers Access Config (#6263)
* doors access is now broken.

* Access configs for Engi

* AI can see modified accesses now

* Added ability to see access on Engi borgs

* Fixed comment and namespace

* comment

* Also add to Revenant.

* Update Resources/Prototypes/_Mono/Recipes/Lathes/tools.yml

Signed-off-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>

---------

Signed-off-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
2026-07-15 03:58:05 +02:00
Delta-V bot d8edffcbb2 Automatic changelog update 2026-07-15 02:43:39 +02:00
VelitationandStxcking 8316434da2 Revert the upstream changes to the mime PDA (#6252)
* Reverted the upstream changes to the mime PDA

* Comment Change

---------

Co-authored-by: Stxcking <217132821+Stxcking@users.noreply.github.com>
2026-07-15 00:43:19 +00:00
Delta-V bot 6b03d1cc80 Automatic changelog update 2026-07-14 03:38:47 +02:00
Cepelinas1 2f68c7329f Give animals and pests nightvision (#5902)
* first

* fix a lot of things

* i forgot some mobs

* snails

* cooobras
2026-07-14 01:38:27 +00:00
Delta-V bot e8138473d1 Automatic changelog update 2026-07-14 02:30:25 +02:00
Field Command a114cf88d0 Midpoint pool addition! (#6242)
* Midpoint Pool Update

* Whoops, better remember disposals
2026-07-13 17:30:06 -07:00
Delta-V bot ff14cb6846 Automatic changelog update 2026-07-13 23:26:20 +02:00
e639f423f4 Minor Xenoborg Fixes and Tweaks (#6278)
* Disallowed crew IDs and talking over binary for xenoborg borgs.

* Added tag

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Add a EMP resistant battery

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* added EMP duration resistance

* Fixed attribution

* Fixed xenoborg magnet bags. Made the core suck up materials.

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Removed Xenoborg ID chips since they should never have more than Xenoborg access

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Apply suggestions from code review

Co-authored-by: Radezolid <snappednexus@gmail.com>
Signed-off-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>

* meta.json ordering

---------

Signed-off-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Radezolid <snappednexus@gmail.com>
2026-07-13 18:26:00 -03:00
Delta-V bot 57e5564ff8 Automatic changelog update 2026-07-13 22:37:11 +02:00
Vanessa 48921f9af9 no more animated zombie objects (#6291) 2026-07-13 22:36:52 +02:00
Delta-V bot 8bd44c5e7b Automatic changelog update 2026-07-13 21:58:45 +02:00
Coryn 303e1f4563 Cloning and Paradox Cone height workaround (#6205) 2026-07-13 14:58:25 -05:00
Delta-V bot 8003517bbc Automatic changelog update 2026-07-13 19:38:27 +02:00
Vanessa 6486b49bf3 Fixed derelict borg AA (#6284) 2026-07-13 14:38:08 -03:00
Vanessa aabf5ac1bb Fix syndie meal test failure (#6290) 2026-07-13 13:12:08 -04:00
Delta-V bot b4daabc55f Automatic changelog update 2026-07-13 18:16:39 +02:00
Velitationandpre-commit-ci[bot] 338ac84008 Add 2 new outfits and a mantle for mime (#6264)
* Added 2 new outfits and a mantle for mime

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Comment Addressed

- Removed changes from \Loadouts\loadout_groups.yml
- Made changes to \_DV\Loudouts\loutout_groups.yml

* Addressed Comment (again)

I missed a spot... oops
- Removed changes from \Loadouts\loadout_groups.yml
- Made changes to \_DV\Loadouts\loadout_groups.yml

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Probably shouldn't have made that second commit

My fault

- Undid the previous commit

* Removed duplicate

- Removed the duplicate loadoutGroup for MimeJumpsuit that I added to \_DV\Loadouts\loadout_groups.yml
- Readded the changes to \Loadouts\loadout_groups.yml

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2026-07-13 11:16:19 -05:00
Delta-V bot 61e8547327 Automatic changelog update 2026-07-13 16:24:44 +02:00
730cba2ee1 Remove telepads (#6266)
* Kill cargo telepad

* Remove telepad from random spawners & recipes

* Fixed comment conventions

* Update Resources/Prototypes/Entities/Objects/Devices/Circuitboards/Machine/production.yml

Signed-off-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>

---------

Signed-off-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
Co-authored-by: Jessica Harvey <itsjessagain23@gmail.com>
Co-authored-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
2026-07-13 14:24:24 +00:00
Delta-V bot 6089c30923 Automatic changelog update 2026-07-13 15:51:31 +02:00
ArionGekkotaandpre-commit-ci[bot] 4e6eee4854 Added the small arms mining kit (#6260)
* Added the small arms mining kit

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2026-07-13 08:51:12 -05:00
Delta-V bot 71302e037c Automatic changelog update 2026-07-13 15:46:44 +02:00
pootslap fd0a91733f Make improvised/forged weapons and armour uncraftable (#6250)
* remove recipes

thanks radezolid

* forge too
2026-07-13 08:46:24 -05:00
e7c0c98258 Adds Invisible Walls (#6287)
* Wow! Invisible!

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Update Resources/Prototypes/_DV/Entities/Structures/Walls/invisible.yml

Co-authored-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
Signed-off-by: William Lemon <William.Lemon2@gmail.com>

* Apply suggestion from @ShepardToTheStars

Signed-off-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>

---------

Signed-off-by: William Lemon <William.Lemon2@gmail.com>
Signed-off-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
2026-07-13 13:45:10 +00:00
Delta-V bot df99ef84f5 Automatic changelog update 2026-07-13 15:44:26 +02:00
7932eddb48 SRT Part 4 - The fake balancing strikes back (#6233)
* Added Caustic, Asphyxiation and Radiation regeneration.

* *coughs*

* Added the Eviscerator

* Removed explonades, added Truncheon

* whoops, stole the mateba from the rest of the teams

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* WHY DID IT DO THAT IT WAS NOT SUPPOSED TO DO THAT

* added Tags

* Update Resources/Prototypes/_DV/tags.yml

Co-authored-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
Signed-off-by: einknusprigestoast <90181825+einknusprigestoast@users.noreply.github.com>

* Update Resources/Prototypes/_DV/tags.yml

Co-authored-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
Signed-off-by: einknusprigestoast <90181825+einknusprigestoast@users.noreply.github.com>

* Update Resources/Prototypes/_DV/Entities/Objects/Weapons/Guns/backpackfed.yml

Co-authored-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
Signed-off-by: einknusprigestoast <90181825+einknusprigestoast@users.noreply.github.com>

* Update Resources/Prototypes/_DV/Entities/Objects/Weapons/Guns/backpackfed.yml

Co-authored-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
Signed-off-by: einknusprigestoast <90181825+einknusprigestoast@users.noreply.github.com>

* Update Resources/Prototypes/_DV/Entities/Clothing/Back/specific.yml

Co-authored-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
Signed-off-by: einknusprigestoast <90181825+einknusprigestoast@users.noreply.github.com>

* Update Resources/Prototypes/_DV/Entities/Clothing/Back/specific.yml

Co-authored-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
Signed-off-by: einknusprigestoast <90181825+einknusprigestoast@users.noreply.github.com>

---------

Signed-off-by: einknusprigestoast <90181825+einknusprigestoast@users.noreply.github.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
2026-07-13 08:44:06 -05:00
Delta-V bot 72efa8c9d3 Automatic changelog update 2026-07-13 15:32:24 +02:00
Coryn cdc8aeb3a6 Avali feather colors are correct again (#6285) 2026-07-13 08:32:04 -05:00
Delta-V bot 9e047522e9 Automatic changelog update 2026-07-13 15:16:46 +02:00
Field Command 2e7134f028 Xenoborgs have turrets now! (#6244)
Xenoborgs have turrets now
2026-07-13 08:16:25 -05:00
github-actions[bot]andDeltaV-Bot 8d772a67fa Update Credits (#6281)
Co-authored-by: DeltaV-Bot <github@deltav.gay>
2026-07-12 04:07:22 +02:00
TNE 310a2c6575 Add Meridian server config preset (#6277) 2026-07-11 23:47:08 +02:00
VelcroboyandVelcroboy 7b6a41b28f Map Edits: The Hive (#6107)
Co-authored-by: Velcroboy <velcroboy333@hotmail.com>
2026-07-11 13:04:53 -07:00
Delta-V bot 5ddec75e0b Automatic changelog update 2026-07-11 19:25:26 +02:00
3f29960640 PORT: Imp Learner pai (#5924)
* learner pais!  (#2269)

* almost published to master holy fuck

* vomits

* grhg

* mqole guiding light

* yupdate!

* escaped the torment nexus of losing my head

---------

Co-authored-by: mousesweater <moondogg228@gmail.com>

* fix where the sprites are

* learner pais!  (#2269)

* almost published to master holy fuck

* vomits

* grhg

* mqole guiding light

* yupdate!

* escaped the torment nexus of losing my head

---------

Co-authored-by: mousesweater <moondogg228@gmail.com>

* fix where the sprites are

* Adds a golden personal AI variant as a trinket, requiring 10hrs Silicon playtime

* Revert "Adds a golden personal AI variant as a trinket, requiring 10hrs Silicon playtime"

This reverts commit 4f545547ed.

* remove golden pai fix names

* move the imp item to the deltaV table (?)

* merge conflict ops

---------

Signed-off-by: Theo <rebe83a@gmail.com>
Signed-off-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
Co-authored-by: mousesweater <55769023+Mousetrinity@users.noreply.github.com>
Co-authored-by: mousesweater <moondogg228@gmail.com>
Co-authored-by: AftrLite <61218133+AftrLite@users.noreply.github.com>
Co-authored-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
2026-07-11 17:25:07 +00:00
Delta-V bot fe940f0289 Automatic changelog update 2026-07-11 18:35:16 +02:00
70c0494061 Remove ion damage (#5960)
* comment out borg ion damage

* remove ion damage from disabler

* actually nuke it

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Additional removals.

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Vanessa <vanessalouwagie@gmail.com>
2026-07-11 16:34:56 +00:00
Delta-V bot 4b0b6ff16e Automatic changelog update 2026-07-11 18:30:27 +02:00
ollyoandpre-commit-ci[bot] e4826f3b8a Elf ears for Slime People (#6265)
* Added long ears markings to Slime people.
    -Ported and edited human long ear marking sprites to match Slime palette.
    -Placed Slime long ears in (HeadSide) marking slot
    -Placed a limit marking of 1 on HeadSide for Slime

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2026-07-11 16:30:07 +00:00
Delta-V bot a8796530e6 Automatic changelog update 2026-07-11 18:09:42 +02:00
Radezolid 1afb572366 Add a nanite applicator to the engie toolbelt (#6261)
* Added tools

* Kill the gas analyzer
2026-07-11 11:09:22 -05:00
Delta-V bot 08e4ee47c3 Automatic changelog update 2026-07-11 10:29:39 +02:00
Radezolid 097f165961 Re-add the knuckleduster to the LO's locker. (#6243)
Reverted
2026-07-11 10:29:19 +02:00
Delta-V bot a8cd6be09c Automatic changelog update 2026-07-10 22:22:01 +02:00
ArionGekkota 3698acd6d2 Allow allulalo to fit in bags (#6248)
* Allow allulalo to fit in bags

* Added delta-v comment
2026-07-10 22:21:41 +02:00
Delta-V bot b35b68b8aa Automatic changelog update 2026-07-10 22:20:28 +02:00
f585bcd233 toolbelt add multitool and welding mask because really it should have those (#6217)
* toolbelt add multitool and mask

* Update Resources/Prototypes/Catalog/Fills/Items/belt.yml

Signed-off-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>

---------

Signed-off-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
Co-authored-by: stormyatt <stormyatt@users.noreply.github.com>
Co-authored-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
2026-07-10 20:20:08 +00:00
Delta-V bot e2f79f2236 Automatic changelog update 2026-07-10 22:08:52 +02:00
CheddaCheez f4c6352dea Rodentia Ears + Whiskers (#6273)
Move marking and up limit

Whiskers moved from HeadTop to HeadSide.
HeadSide marking limit upped from 1 to 2.
2026-07-10 22:08:32 +02:00
Delta-V bot 54514adf64 Automatic changelog update 2026-07-10 21:58:37 +02:00
Vanessaandpre-commit-ci[bot] 75d30a857a Sometimes, dead is better. (DAGD On Death Implanters) (#6221)
* Added unrevivable implanter for DAGD

* Verbage

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Choose your own adventure

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* local and admin menu fixes

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2026-07-10 21:58:17 +02:00
Vanessa 519ca118c4 Merge pull request #6228 from DeltaV-Station/zombie-survival-fix
Fix Convert to Survival Behavior during Zombies
2026-07-10 14:17:30 -05:00
Delta-V bot ca1f82d430 Automatic changelog update 2026-07-10 19:22:57 +02:00
Vanessa d62a4911e7 MedHUDs no longer show your own health bar :) (#6241)
Im evil
2026-07-10 19:22:38 +02:00
Vanessa 2984ecbb8c Undo a change 2026-07-10 11:54:02 -05:00
Vanessa 304c99dc2e Removed a comment 2026-07-10 11:48:31 -05:00
Vanessa 8030fe1b2a Silly linq queries 2026-07-10 11:47:48 -05:00
Vanessa 795772ecc2 Switched up checks 2026-07-10 10:06:00 -05:00
Delta-V bot 37327a2c70 Automatic changelog update 2026-07-10 17:03:32 +02:00
Vanessa f3361860d2 Fix Tech Disk Test Failures (#6271) 2026-07-10 11:03:12 -04:00
Delta-V bot 86a9eff122 Automatic changelog update 2026-07-10 16:05:37 +02:00
Radezolid 2ff9e1d56a Raise the point price of seismic charges (#6245)
up goes the price
2026-07-10 09:05:17 -05:00
Delta-V bot 48f1cff536 Automatic changelog update 2026-07-10 15:59:49 +02:00
Carol a86501907f Add locked storage component to secure cabinets (#6269)
added LockedStorage component to secure cabinets
2026-07-10 08:59:29 -05:00
Delta-V bot 4bdcb0d556 Automatic changelog update 2026-07-09 20:03:39 +02:00
1351e0fb67 Rewrite of C3 introduction of C3.1-C3.3 (#5929)
* boop

* Update Resources/ServerInfo/Guidebook/_DV/Rules/RoleRules/C3_Antags.xml

Co-authored-by: This_Is_Gray <167829864+IAmNotGray@users.noreply.github.com>
Signed-off-by: Halo3moth <mdavid.wininger@gmail.com>

* Update Resources/ServerInfo/Guidebook/_DV/Rules/RoleRules/C3_Antags.xml

Co-authored-by: This_Is_Gray <167829864+IAmNotGray@users.noreply.github.com>
Signed-off-by: Halo3moth <mdavid.wininger@gmail.com>

* Update Resources/ServerInfo/Guidebook/_DV/Rules/RoleRules/C3_Antags.xml

Co-authored-by: BarryNorfolk <barrynorfolkman@protonmail.com>
Signed-off-by: Halo3moth <mdavid.wininger@gmail.com>

* Update Resources/ServerInfo/Guidebook/_DV/Rules/RoleRules/C3_Antags.xml

Co-authored-by: This_Is_Gray <167829864+IAmNotGray@users.noreply.github.com>
Signed-off-by: Halo3moth <mdavid.wininger@gmail.com>

---------

Signed-off-by: Halo3moth <mdavid.wininger@gmail.com>
Co-authored-by: This_Is_Gray <167829864+IAmNotGray@users.noreply.github.com>
Co-authored-by: BarryNorfolk <barrynorfolkman@protonmail.com>
2026-07-09 13:03:19 -05:00
Delta-V bot f8e59733dd Automatic changelog update 2026-07-09 15:29:26 +02:00
ConstantlyConfused 4750e885b2 Add missing Space Law Sections to the guidebook (#6223)
* move spacelaw into space law folder

* move procedural defense to its own file

* add sentences and modifers to SpaceLaw guidebook
2026-07-09 08:29:06 -05:00
Delta-V bot a7d34aacda Automatic changelog update 2026-07-09 13:39:08 +02:00
TheoandVanessa 91494215ca ghost buffers tweaks (#5981)
* tweaks

* Update Resources/Prototypes/Entities/Objects/Materials/ore.yml

Co-authored-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
Signed-off-by: Theo <tad3@illinois.edu>

---------

Signed-off-by: Theo <tad3@illinois.edu>
Co-authored-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
2026-07-09 11:38:48 +00:00
ConstantlyConfused 5e50b6969c Fix the Umbroxol Description (#6247)
fix  the umbrox description
2026-07-09 06:25:03 -05:00
einknusprigestoast 4538b4ded1 Added Caustic, Asphyxiation and Radiation regeneration to the combat nanites. (#6231)
* Added Caustic, Asphyxiation and Radiation regeneration.

* *coughs*
2026-07-09 06:24:21 -05:00
Delta-V bot cdbf170b37 Automatic changelog update 2026-07-09 06:43:03 +02:00
freezer dog daf03f45ed bigger magnum boxes (and they fit in bandoliers now) (#6226)
* doubled magnum box capacity, whitelist for bandoliers holdin magnum cartridges, and fixed 2 misspellings (cause i mighta caused one of em oops)

* dumbass dog is stupid who woulda thunk it....
2026-07-08 23:42:43 -05:00
Delta-V bot 987678965f Automatic changelog update 2026-07-09 05:54:14 +02:00
Theo 663952f2fb Sabotage borg nerf (#6080)
* modules changed

* 1 tc change lol
2026-07-08 22:53:55 -05:00
Delta-V bot 46a37b1caf Automatic changelog update 2026-07-09 03:25:05 +02:00
jessiscah23andJessica Harvey bcc50db33b Fix salvage magnet asteroids not spawning in ore. (#5973)
Co-authored-by: Jessica Harvey <itsjessagain23@gmail.com>
2026-07-09 01:24:45 +00:00
Apersos-collandVanessa 30cfa646e4 Grav Gauntlet weapon changes and resprite (#5951)
* medium overhaul to weapon and sprite
removed taser
added Reflection (base 30% chance)
added speed up while in hand (25% speed up)
changed icon to fit more with artstyle plus bluesec
inhand sprites match new sprite

* OBSENLY SMALL CHANGED (small fixes to icon color and suitStorage being 1 to far up

* added clothing slowdown resist
added passive block modifier (makes it act like a shield)

* added/removed to fit with changes asked.
removed blocking
added prying
added higher damage

* fixing new sprite

* Update Hos-Briefcase.ftl

forgot to update discription

Signed-off-by: Apersos-coll <collsherlo@gmail.com>

* fixing new sprite

* fixing

* more fixing

* attempting to see if that was a false positive (fixing stuff)

i changed a word slightly to see if it was false positive cause i checked the log and there was no such mention of my weapon at all 
anyways i just changed a single word so if it works this time i dont have to make a second commit

Signed-off-by: Apersos-coll <collsherlo@gmail.com>

---------

Signed-off-by: Apersos-coll <collsherlo@gmail.com>
Co-authored-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
2026-07-08 19:54:32 -05:00
ConstantlyConfused 91ff29416b Merge pull request #6251 from Eternally-Confused/blows-up-IPC
Remove another mention of IPCs
2026-07-08 17:07:28 -05:00
Delta-V bot 75fe7ce9db Automatic changelog update 2026-07-07 20:40:38 +02:00
Stxcking 0a41b9208f Feat: Xenoborg Shuttle Gun + Sentry Turret + Switches (#5957)
* xil

* sentry

* turret control

* Tweaks

* im silli
2026-07-07 14:40:17 -04:00
Stxcking 1b80619c65 Feat/Tweak: Enable Xenoborg as a Gamemode in Secret + Tweak Role Requirement (#6055)
* xenoborgs fake but real

* requested changes
2026-07-07 14:40:15 -04:00
Delta-V bot 87385f9aef Automatic changelog update 2026-07-07 19:08:13 +02:00
Vanessa a49360414b Cleanup: Disable Surgeon until Next Week (#6209)
* Disabled surgeon. Removed more references to shitmed things. Added medical access to surgery doors.

* Access fix

* Removed invalid jobs (surgeon) from the maps.

* Apply suggestions from code review

Co-authored-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
Signed-off-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>

* Update Resources/Prototypes/Maps/academy.yml

Signed-off-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>

---------

Signed-off-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
2026-07-07 12:06:20 -05:00
Delta-V bot bd7a0d686e Automatic changelog update 2026-07-07 17:45:57 +02:00
Vanessa fb7de4c114 Merge pull request #6202 from sowelipililimute/work/densetsu/progress-bar-begone
with deference to the progress bar kill it as gaudily as possible
2026-07-07 10:45:37 -05:00
Janet Blackquill 248b4b498a photography 2026-07-07 10:59:33 -04:00
Janet Blackquill 90eba428d0 with deference to the progress bar kill it as gaudily as possible 2026-07-07 10:59:33 -04:00
Delta-V bot 7eaecafdc6 Automatic changelog update 2026-07-07 16:57:00 +02:00
Vanessa b09f03ce69 Merge pull request #6237 from EmberAstra/allu-tweaks
Small Allulalo tweaks
2026-07-07 09:56:40 -05:00
Vanessa 68582ff296 Merge pull request #6238 from Proxysseia/fix-linking-in-wiki-
fix linking in wiki
2026-07-07 09:25:02 -05:00
Delta-V bot a4bbd1a0ba Automatic changelog update 2026-07-07 16:24:52 +02:00
Vanessa c5d3201388 Merge pull request #6232 from DeltaV-Station/holosigh
Fix Holosign Angle
2026-07-07 09:24:32 -05:00
Delta-V bot ca2ac8dbd6 Automatic changelog update 2026-07-07 16:23:48 +02:00
Vanessa 25d3da76a9 Merge pull request #6236 from sowelipililimute/work/densetsu/event-pain
Limit events by round time
2026-07-07 09:23:27 -05:00
Proxy also works :3 133b371cef fix linking in wiki 2026-07-07 13:08:11 +02:00
EmberAstra 516d51e104 Adjust Allu shortness 2026-07-07 10:54:51 +02:00
Janet Blackquill f3d0954df1 Limit events by round time 2026-07-07 01:36:55 -04:00
Vanessa 1b02a5153a Fixed Holosigns 2026-07-06 15:16:39 -05:00
Delta-V bot 688ef3f872 Automatic changelog update 2026-07-06 22:13:21 +02:00
Vanessa 0f98f0aada Merge pull request #6197 from sowelipililimute/work/densetsu/glyphed
get glyphed idiot
2026-07-06 15:13:01 -05:00
Delta-V bot 62bac2d0a2 Automatic changelog update 2026-07-06 22:08:23 +02:00
Vanessa a14f75c281 Merge pull request #6132 from DeltaV-Station/nanite-applicator
Examine Damage on Structure/Machine, Nanite Applicators
2026-07-06 15:08:03 -05:00
Delta-V bot 96261d284b Automatic changelog update 2026-07-06 19:43:41 +02:00
Vanessa 353f730141 Merge pull request #6194 from DeltaV-Station/medtek-reports
MedTek Reports
2026-07-06 12:43:21 -05:00
pre-commit-ci[bot] 0206951c2c [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2026-07-06 16:45:15 +00:00
Vanessa 47ecdb3c6a texture metadata files 2026-07-06 11:44:09 -05:00
pre-commit-ci[bot] 00959557ca [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2026-07-06 16:07:41 +00:00
Vanessa 3c7fdfda10 PR feedback. Also fixed the spriteview so its like upstream. 2026-07-06 11:06:26 -05:00
Vanessa a9574aa940 Tests 2026-07-06 09:59:16 -05:00
Vanessa 74d687ee4e Check if there are any pending zombies 2026-07-05 23:02:36 -05:00
Vanessa eef2b2215d whitespace 2026-07-05 22:41:46 -05:00
Vanessa b74569d20b Check II un-turned count. 2026-07-05 22:38:20 -05:00
Delta-V bot 6f2949e56f Automatic changelog update 2026-07-06 03:56:00 +02:00
freezer dog b848e41567 Vulps are messy drinkers (and tail wagging) (#6177)
* messy drinkin back on the menu

* wagging, i gotta mess with how to make it not show up in markings when i wake up

* ok got the wagging ones outta marking selection, and sorted em, and killed the unneeded localization
2026-07-05 21:55:41 -04:00
Delta-V bot c774d358b8 Automatic changelog update 2026-07-06 03:53:23 +02:00
554d044365 make pigs drop spesos (#6173)
* make pigs drop spesos

* no testing thats maints problem

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Update animals.yml

* null + coins

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Stxcking <217132821+Stxcking@users.noreply.github.com>
2026-07-06 01:53:03 +00:00
Delta-V bot 1405fdc222 Automatic changelog update 2026-07-06 03:35:29 +02:00
freezer dogandpre-commit-ci[bot] 42116a1b93 some more AAC phrases (again) (#6193)
* ok cleaned up a little

* ok new phrases + med change stuff

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* ok time to hope git doesnt shoot me now... whoe even is his pre commit ci fella... anywho forgot a space in an ftl comment and added ovinia and allulalo to species... probably wait till the race is in

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2026-07-05 21:35:10 -04:00
Vanessa ebcf4472b6 Merge pull request #6212 from Eternally-Confused/allulalo-guidebook
Some Guidebook Fixes
2026-07-05 17:02:17 -05:00
Delta-V bot 7e701ef8c6 Automatic changelog update 2026-07-05 23:35:50 +02:00
645ab832f5 Add Doctor Stamp (#6189)
* Doctor Stamp (#1782)

* Stamp cleanup, bureaucracy loadouts

* Squiggly pen signatures, more loadouts

* Remove doctor folder from contractor fun loadouts

---------

Co-authored-by: Dvir <39403717+dvir001@users.noreply.github.com>

* Add doctor stamp to locker.

* Added to CMO locker too

* oops

* Added chemist stamp to CMO locker. Added perscriptions to medical lockers.

* Updated space law and SoP for medical to allow for basic prescriptions.

* Psychs matter I guess.

* Medicine capitalization consistency

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* wiki stuff

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Removed mentions of addictine.

* lax it a bit

* Fixed doctor locker fills.

---------

Co-authored-by: Whatstone <166147148+whatston3@users.noreply.github.com>
Co-authored-by: Dvir <39403717+dvir001@users.noreply.github.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2026-07-06 00:35:31 +03:00
Delta-V bot 37f4f17a0d Automatic changelog update 2026-07-05 22:35:44 +02:00
640359bec2 IMP PORT: Sec tickets (#6089)
* tickets

* fix ticket pad size

* flavoured tickets

* add tag add to secvend

* add to sec locker

* the much anticipated blue

* tickets

* fix ticket pad size

* flavoured tickets

* add tag add to secvend

* the much anticipated blue

* merge conflict thank you rade

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Signed-off-by: Theo <rebe83a@gmail.com>
Co-authored-by: Kip <tfraser520@gmail.com>
Co-authored-by: Shaman <56280352+Sha-Seng@users.noreply.github.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
2026-07-05 15:35:24 -05:00
Vanessa 7cd51ae798 icon update 2026-07-05 14:58:27 -05:00
Vanessaandpathetic meowmeow 1dfbc49142 Update Content.Client/HealthAnalyzer/UI/HealthAnalyzerControl.xaml
Co-authored-by: pathetic meowmeow <uhhadd@gmail.com>
Signed-off-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
2026-07-05 14:38:06 -05:00
Delta-V bot 7d11598b97 Automatic changelog update 2026-07-05 21:35:16 +02:00
Princess CheeseballsandPrincess Cheeseballs 287daf5141 SSD Players now properly stay asleep when being revived. (#39409)
* Fixes and API changes

* aaaaaaaaaa

* super shitcode

* cleanup

* fix admin logs

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2026-07-05 14:34:57 -05:00
zHonys b3597fb664 Fixed talking when sleeping while on crit (#37572)
* Fixed talking when sleeping while on crit

* Changed fix location to DamageForceSaySystem from SleepingSystem
2026-07-05 14:34:57 -05:00
Vanessa fceafff79f Removed mutliple qualities repairing. Applicator now replaces welding for most objects. 2026-07-05 14:27:10 -05:00
Delta-V bot f88d8f0137 Automatic changelog update 2026-07-05 21:25:26 +02:00
pathetic meowmeow 077f09f62f The mothroaches yearn to ventcrawl (#6222) 2026-07-05 15:25:07 -04:00
Vanessaandpathetic meowmeow 33b12db031 Update Resources/Prototypes/_NF/Entities/Objects/Specific/chemical-containers.yml
Co-authored-by: pathetic meowmeow <uhhadd@gmail.com>
Signed-off-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
2026-07-05 13:56:25 -05:00
Vanessa e586c25e53 PR feedback 2026-07-05 13:55:38 -05:00
Delta-V bot 3db32113d7 Automatic changelog update 2026-07-05 20:29:57 +02:00
pathetic meowmeow acc9361a34 Add the ability to spawn in as a vent critter at will (#6187)
* Add the ability to spawn in as a vent critter at will

* cooldown
2026-07-05 14:29:38 -04:00
Delta-V bot 6bd4603734 Automatic changelog update 2026-07-05 19:53:22 +02:00
Vanessaandpre-commit-ci[bot] 8f8f1dd001 Convert Round to Survival when Major Antag Fails (#6127)
* Changed up shuttle calls to make the round convert to survival.

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Added CosCult state checking.

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* typo

* Fix nuke ops test

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2026-07-05 13:53:02 -04:00
Delta-V bot bc1593f79c Automatic changelog update 2026-07-05 18:14:37 +02:00
Vanessa 460eb5ed31 Clean Up Jobs (#6210)
* Cleaned up old borg spawns since they can choose a chassis now. Moved and/or renamed some nyano assets in the DV namespace

* Neat new MARK feature

* Mapper input

* Applied objectively-bad YAML property ordering
2026-07-05 16:14:17 +00:00
Vanessa 229444d0dc lol 2026-07-05 11:06:43 -05:00
Vanessa e7f1fe4a02 Stuff 2026-07-05 10:56:19 -05:00
Vanessa d210720f20 SRT has too much shit 2026-07-05 10:42:32 -05:00
Vanessa 818fe4aa01 Fix error after rebase 2026-07-05 10:13:45 -05:00
Vanessa 6e97947aa8 Actually fix damage access. 2026-07-05 10:10:45 -05:00
Vanessa 0f09e24ccd Fixed damage comp access. 2026-07-05 10:10:45 -05:00
Vanessa ca0b124f2b Type change and increased exp welder's capacity a bit 2026-07-05 10:10:45 -05:00
Vanessa 25dad0fb63 Regen nerf 2026-07-05 10:10:45 -05:00
Vanessa dffb1917d0 Long overdue experimental nerf 2026-07-05 10:10:45 -05:00
Vanessa 2783c9273e Fixed some yaml that wasn't inheriting right. 2026-07-05 10:10:45 -05:00
Vanessa aa22ff3a5a Slight sprite color edit to the base one so it doesn't look like the experimental 2026-07-05 10:10:45 -05:00
pre-commit-ci[bot] e45565fb81 [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2026-07-05 10:10:44 -05:00
Vanessa 8d2668c12a Added regular version to engi lathe. 2026-07-05 10:10:44 -05:00
Vanessa c5026279d2 Added to SRN lathe. Increased material cost to be on part with experimental welder. 2026-07-05 10:10:44 -05:00
Vanessa 49d6ced9d3 Fixed arbitrage 2026-07-05 10:10:44 -05:00
Vanessa 03ca4ec3e1 Fixed material arbitrage 2026-07-05 10:10:44 -05:00
Vanessa e309d3ea3a Add repairable scaling based on the damage the repair target has. 2026-07-05 10:10:44 -05:00
pre-commit-ci[bot] e0f4a497d0 [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2026-07-05 10:10:44 -05:00
Vanessa 41d0fd7b53 Sandbox and yaml fixes. 2026-07-05 10:10:44 -05:00
Vanessa c8d9eac105 Directional Window Fix 2026-07-05 10:10:44 -05:00
Vanessa 058e83c2ab Unchain Nanite Applicator#3104 2026-07-05 10:10:44 -05:00
c07219f92c Jerry Cans (#1759)
* Welding fuel jerry cans

* Move jerry can inhand-left sprites up a pixel

* increase jerry can drink delays

* Yes

* cove.yml: sub console out until doubloon contrabnd

---------

Co-authored-by: Dvir <39403717+dvir001@users.noreply.github.com>
Co-authored-by: Dvir <dvirf01@gmail.com>
2026-07-05 10:10:44 -05:00
cc39ded995 Nanite Applicator (#2314)
* tool added

* comments and fixes

* final fix

* chore: automatically update REUSE headers

* final fix

* chore: automatically update REUSE headers

* fix localization

* fix

* chore: automatically update REUSE headers

* fixed the comment location

* test fix

* fix

* chore: automatically update REUSE headers

* not syndicate anymore

* Update Content.Server/Repairable/RepairableSystem.cs

sure

Co-authored-by: sleepyyapril <123355664+sleepyyapril@users.noreply.github.com>

* nesting fixed

---------

Co-authored-by: Vanessa Louwagie <vanessalouwagie@outlook.com>
Co-authored-by: monolith8319 <195513600+monolith8319@users.noreply.github.com>
Co-authored-by: sleepyyapril <123355664+sleepyyapril@users.noreply.github.com>
2026-07-05 10:10:44 -05:00
Vanessa 5da72df6ad Add damage examinable to base structure. 2026-07-05 10:10:44 -05:00
Delta-V bot aae05e3c21 Automatic changelog update 2026-07-05 05:08:39 +02:00
Vanessa de8269f1ed Nerfed ventcrawling zombies (#6215) 2026-07-04 22:08:20 -05:00
github-actions[bot]andDeltaV-Bot c1df3aa4e3 Update Credits (#6216)
Co-authored-by: DeltaV-Bot <github@deltav.gay>
2026-07-05 04:31:27 +02:00
Field Command 2e1baa4aac Tortuga fix (#6213)
fix
2026-07-05 01:11:05 +00:00
ConstantlyConfused 88bd4833b9 fix kitsune claw phrasing 2026-07-04 14:23:14 -06:00
ConstantlyConfused 55c963f0a8 fix the color added to harpy guidebook 2026-07-04 14:10:50 -06:00
ConstantlyConfused 6800471357 minor fixes 2026-07-04 14:04:08 -06:00
ConstantlyConfused 7bab4eb5fc fix crash because i'm dumb 2026-07-04 14:03:43 -06:00
ConstantlyConfused ace3a68d71 Tweak kitsune and allulalo guidebooks for consistency 2026-07-04 13:40:41 -06:00
ConstantlyConfused 9511294e3f delete unused allulalo guidebook 2026-07-04 13:15:13 -06:00
ConstantlyConfused 3b96d6b250 move DV antagonist guidebooks to the correct folder 2026-07-04 13:14:33 -06:00
Delta-V bot 622d8f77c5 Automatic changelog update 2026-07-04 18:30:46 +02:00
be1a942051 Update harpy.yml (#6174)
* Update harpy.yml

* Set baseScale to 1.0, shifted min and max to match prechange limits (was 0.85 to 1.35, now 0.75 to 1.25)

* Apply suggestion from @ShepardToTheStars

Signed-off-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>

---------

Signed-off-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
Co-authored-by: Malfaltto <malfaltto@gmail.com>
Co-authored-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
2026-07-04 16:30:27 +00:00
Delta-V bot 7ca548e7ab Automatic changelog update 2026-07-04 18:16:21 +02:00
Proxy also works :3 790af5f9f4 grand sabo for borg murder isnt real (#6204) 2026-07-04 19:16:02 +03:00
Delta-V bot 21e6c04e70 Automatic changelog update 2026-07-04 15:09:43 +02:00
pathetic meowmeow 2dc14840d0 Make doors solid when they begin closing (#6184) 2026-07-04 08:09:24 -05:00
Delta-V bot 47a6d10306 Automatic changelog update 2026-07-04 14:47:21 +02:00
Coryn 969ecc342a Machine Incompatible works again (#6206)
* Machine Incompatible works again

* Add missing DV comment
2026-07-04 07:47:02 -05:00
Delta-V bot 9d6e6e1a22 Automatic changelog update 2026-07-04 09:28:51 +02:00
f22266d51f Port Allulalo from Impstation (#6172)
* Allulalo: finally finishing the ancient raptor species project (#3504)

* well, it loads

* sprite's

* names + starting on displacements

* more displacements

* displacements

* left hand only

* displacements

* yup

* ooa

* inhand displacements

* blood

* accent

* iv bags

* placeholder clarification

* Revert "iv bags"

This reverts commit c2aa504eab8d0673604b33e0ccaf79b406979da6.

* whitespace

* adds tooshortforUI and removes the damage modifier set

* speechsounds

* typing indicator

* basic customisation

* guidebook 1

* fixed full

* markings, displacements, speech verb

* displacement fixes

* trailing newlines

* spelling moment

* brute damage sprites and blood fix

* guidebook iteration

* injection melee + ethanotoxin + guidebook rewrite

* guidebook

* guidebook

* nitpicks + roundstart

---------

Co-authored-by: starlighthowls <starlighthowls7@gmail.com>
Co-authored-by: mqole <anactualpanacea@gmail.com>

* Allulalo tooshotforui bugfix (#3598)

* yay

* p[leebnmar

* oops

* Allulalo Markings (#3602)

* eye markings and two tails

* more

* almost got ya

* yup

* wings yay

* thank you landshark for my life btw

* still needs loc files

* Update allulalo.ftl

* I lost so much progress to git bullshit

* and who can forget dear rat boy

* touch up speech indicator at yesters request

---------

Co-authored-by: starlighthowls <starlighthowls7@gmail.com>

* Allulalo Roundstart (#3621)

* yup

* shock blanket + pleebnar fixes

* yuuup (#3655)

* Allulalo fix pass 1 (#3661)

* what if I did it all in one commit like a total moron

* yup

* untuch

* i love you spriting tool

* my birdsty

* Update allulalo.yml

* Update Species.xml

* let allulalo use holopads. (#3669)

* adds a white list for the too small component to add specific allowed entities. e.g holopads

* imp comment

* i love forgetting white space!!!!

---------

Co-authored-by: sev7ves <soapedzone@gmail.com>
Co-authored-by: beck <163376292+widgetbeck@users.noreply.github.com>

* fix (#3693)

* I need to learn to not do everything in one commit (#3750)

* mime on again (#4243)

* Small fix

* Add them to our accentless trait

* Add unable to wield system

* Fix too short for UI using old blacklist methods

* Fix duplicated localization line

* Add heavyweight drunk comp (might merge this with lightweight later)

* Why was this even added

* Revert "Add unable to wield system"

This reverts commit cbe3a10fc7.

* Revert "Fix too short for UI using old blacklist methods"

This reverts commit 833743f029.

* add TooShortForUIComponent (#3495)

* add TooShortForUIComponent

* correct documentation

* incomplete documentation

* add UnableToWieldComponent (#3496)

* Fixing this again I am dumb I cherrypicked things in the wrong order

* WHY WAS THIS EVEN ADDED THERE'S NO SPRITE EVEN ON IMPSTATION???

* Port Allulalos to Nubody

* Fix for Allulalo chems doing nothing

* Add allulalo to the guidebook species list

* Restore some accidentally deleted effects and comments

* Fix typo that made allu blood 10x more alcoholic than normal

* Delete random misplaced sprites from cherrypicking

* More of the random sprites removal (this time from the meta)

* Add missing allulalo flavor

* Removed some nonexistant fields from the species

* Add unisex cough/sneeze, comment out Wuhey and Ungh emotes

* Fix guidebook not using loc string

* I THINK this fixes that test error and it doesn't seem to break anything either so let's try

* Remove unsupported unshaded shader from eyes

* Ok last one didn't work (sorry for trial and error)

* Removed mention of HARMPACKs and Tether Guns from the guidebook.

* Blacklist allulalos from random humanoid spawns

* Add missing allulalo gulp sound

* Carriable in 1 hand allulalos, fix carrying system blocking both hands always

* Remove DV comments

---------

Co-authored-by: Kip <32859367+kipdotnet@users.noreply.github.com>
Co-authored-by: starlighthowls <starlighthowls7@gmail.com>
Co-authored-by: mqole <anactualpanacea@gmail.com>
Co-authored-by: sev7ves <58966116+sev7ves@users.noreply.github.com>
Co-authored-by: sev7ves <soapedzone@gmail.com>
Co-authored-by: beck <163376292+widgetbeck@users.noreply.github.com>
Co-authored-by: Yesteryear <208338078+yesteryuri@users.noreply.github.com>
2026-07-04 17:28:31 +10:00
Delta-V bot 7b77d25068 Automatic changelog update 2026-07-04 06:54:41 +02:00
d4f380dd6e Special Response Team - fake balancing number 3 (#6102)
* Pulse rifle changes

* SRT Loadout Items + Spawners

* Added SRT Suffix + Removed upstream spawners

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Typo

* *cough*

* *COUGHS*

* *sniffs*

* *coughs*

* Yeah i hate this

* Do not map suffix

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Changes to Injectors + Added Combat Nanites

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Whoops, too fast

* Coughs

* Yeah

* changes to guns and typo fix

* Removed useless lines

* Update Resources/Locale/en-US/_DV/ghost/roles/SRT-Agent.ftl

Co-authored-by: Stxcking <217132821+Stxcking@users.noreply.github.com>
Signed-off-by: einknusprigestoast <90181825+einknusprigestoast@users.noreply.github.com>

* Update Resources/Locale/en-US/_DV/reagents/meta/medicine.ftl

Co-authored-by: Stxcking <217132821+Stxcking@users.noreply.github.com>
Signed-off-by: einknusprigestoast <90181825+einknusprigestoast@users.noreply.github.com>

* Update Resources/Locale/en-US/_DV/reagents/meta/narcotic.ftl

Co-authored-by: Stxcking <217132821+Stxcking@users.noreply.github.com>
Signed-off-by: einknusprigestoast <90181825+einknusprigestoast@users.noreply.github.com>

* Update Resources/Locale/en-US/_DV/reagents/meta/narcotic.ftl

Co-authored-by: Stxcking <217132821+Stxcking@users.noreply.github.com>
Signed-off-by: einknusprigestoast <90181825+einknusprigestoast@users.noreply.github.com>

* Update Resources/Prototypes/_DV/Entities/Objects/Tools/SRTinjectors.yml

Co-authored-by: Stxcking <217132821+Stxcking@users.noreply.github.com>
Signed-off-by: einknusprigestoast <90181825+einknusprigestoast@users.noreply.github.com>

* Update Resources/Prototypes/Entities/Mobs/Player/humanoid.yml

Co-authored-by: Stxcking <217132821+Stxcking@users.noreply.github.com>
Signed-off-by: einknusprigestoast <90181825+einknusprigestoast@users.noreply.github.com>

* Update Resources/Prototypes/_DV/Reagents/medicine.yml

Co-authored-by: Stxcking <217132821+Stxcking@users.noreply.github.com>
Signed-off-by: einknusprigestoast <90181825+einknusprigestoast@users.noreply.github.com>

* Update Resources/Prototypes/_DV/Reagents/narcotics.yml

Co-authored-by: Stxcking <217132821+Stxcking@users.noreply.github.com>
Signed-off-by: einknusprigestoast <90181825+einknusprigestoast@users.noreply.github.com>

* Update Resources/Prototypes/_DV/Entities/Objects/Tools/SRTinjectors.yml

Co-authored-by: Stxcking <217132821+Stxcking@users.noreply.github.com>
Signed-off-by: einknusprigestoast <90181825+einknusprigestoast@users.noreply.github.com>

* Update Resources/Prototypes/_DV/Entities/Objects/Tools/SRTinjectors.yml

Co-authored-by: Stxcking <217132821+Stxcking@users.noreply.github.com>
Signed-off-by: einknusprigestoast <90181825+einknusprigestoast@users.noreply.github.com>

* Removed spawn menu hides

* prickly flavor profile

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* changes to names of pngs n shit

* should change the name of the ftl?

* Rename SRT-Agent.ftl to srt-agent.ftl

Signed-off-by: einknusprigestoast <90181825+einknusprigestoast@users.noreply.github.com>

* Apply suggestion from @Stxcking

Co-authored-by: Stxcking <217132821+Stxcking@users.noreply.github.com>
Signed-off-by: einknusprigestoast <90181825+einknusprigestoast@users.noreply.github.com>

* Apply suggestion from @Stxcking

Co-authored-by: Stxcking <217132821+Stxcking@users.noreply.github.com>
Signed-off-by: einknusprigestoast <90181825+einknusprigestoast@users.noreply.github.com>

* Apply suggestion from @Stxcking

Co-authored-by: Stxcking <217132821+Stxcking@users.noreply.github.com>
Signed-off-by: einknusprigestoast <90181825+einknusprigestoast@users.noreply.github.com>

* Apply suggestion from @Stxcking

Co-authored-by: Stxcking <217132821+Stxcking@users.noreply.github.com>
Signed-off-by: einknusprigestoast <90181825+einknusprigestoast@users.noreply.github.com>

* Apply suggestion from @Stxcking

Co-authored-by: Stxcking <217132821+Stxcking@users.noreply.github.com>
Signed-off-by: einknusprigestoast <90181825+einknusprigestoast@users.noreply.github.com>

* Apply suggestion from @Stxcking

Co-authored-by: Stxcking <217132821+Stxcking@users.noreply.github.com>
Signed-off-by: einknusprigestoast <90181825+einknusprigestoast@users.noreply.github.com>

* DeltaV instead of Delta V

* i dont know why, but i cant change the names of these files, so ill just delete them and add them again

* boom

* Changes suit and equipment names to be more in line with existing ERT kit

* backpacks for some reason still show "Deathsquad backpack" so this fixes this

* letters are hard

* hypospray.yml and liner fail

---------

Signed-off-by: einknusprigestoast <90181825+einknusprigestoast@users.noreply.github.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Stxcking <217132821+Stxcking@users.noreply.github.com>
2026-07-04 00:54:21 -04:00
Delta-V bot 2a584cfde3 Automatic changelog update 2026-07-03 17:55:02 +02:00
Coryn 2c6766dce2 Rename Reverse Engineered Techdisks to their recipe name (#6203)
Rename Reverse Engineered Techfabs to their recipe name
2026-07-03 10:54:43 -05:00
Delta-V bot bfea51537b Automatic changelog update 2026-07-03 16:42:28 +02:00
StxckingandVanessa 3b6d918240 Fix: Correct Medicine Effect due to DamageGroupPrototype Being Obsolete From Upstream Merge (#6196)
* explodes

* Skia Fix

* light hurts skia

---------

Co-authored-by: Vanessa <vanessalouwagie@gmail.com>
2026-07-03 14:42:09 +00:00
Delta-V bot 6396d3dc95 Automatic changelog update 2026-07-03 16:25:17 +02:00
d994da7120 Pharmacist clothes and prescriptions (#6178)
* Assets from the pharmacology branch to pharmacology2 branch

Clothing, stamps and prescription paper.

* Fixed bugs from porting clothes

* Fixes bugs

* Update medical.yml

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Added prescription folder

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Update coats.yml

* Update Resources/Prototypes/_DV/Entities/Clothing/OuterClothing/coats.yml

Co-authored-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
Signed-off-by: BriBrooo <45323530+Bribrooo@users.noreply.github.com>

---------

Signed-off-by: BriBrooo <45323530+Bribrooo@users.noreply.github.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
2026-07-03 09:24:57 -05:00
Janet Blackquill 4fd45b7f1d eep 2026-07-03 02:28:53 -04:00
Janet Blackquill 10a3756edb get glyphed idiot 2026-07-03 02:22:16 -04:00
Delta-V bot 77a93cfa98 Automatic changelog update 2026-07-03 03:33:36 +02:00
weskerandpre-commit-ci[bot] 90be1b88e2 add missing event for admin characterspawn (#6124)
* add missing event for admin characterspawn

* cahnges

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2026-07-02 20:33:17 -05:00
Delta-V bot 4ded4c4cb6 Automatic changelog update 2026-07-03 03:19:17 +02:00
Pixel 6ac27a9a9f Add L93 and SKL93 Lever Action rifles (#6146)
* Added L93 and SKL93

* Made SKL93 Available via Syndicate Uplink for 8 TC. Comes with 10 Shots of AP and a .45 Magnum ammo box

* Made L93 available through salvage.

* Made L93 available via Logistics crate.
Cowboy crate can be bought for 7600. It contains two L93's and two Inspectors. Along side 4 boxes of .45 Magnum and two hats.

* Update licenses

* Remove AP from Syndie SKL93 Bundle, Buff Firerate

* Update sprites to make lever darker on icon

* Brought back AP SKL93.
Made L93 Shoot at 2.5 ROF
Increased price of SKL93 Bundle
Added cowboy hat for SKL93 bundle

* Clean up changes to fit coding style and convention.

Fixed armory.yml's prototype properties ordering. Other Fills may be affected
2026-07-02 21:18:57 -04:00
Delta-V bot 0dc7998b41 Automatic changelog update 2026-07-03 01:59:39 +02:00
pathetic meowmeow 884f4f00f9 Node crawl pass one (#6179)
* Node crawl pass one

* Kommentare hinzufügen
2026-07-03 01:59:20 +02:00
Vanessa f56e1dc368 Fix Publish (#6195)
Fix publish
2026-07-02 18:47:09 +00:00
Delta-V bot 4018599cc0 Automatic changelog update 2026-07-02 19:10:53 +02:00
Vanessaandpre-commit-ci[bot] d6023d58f5 Synth emote fix (#6136)
* testing

* Actually fix synth emotes.

* Fixed harpies playing the emote sound twice.

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2026-07-02 19:10:34 +02:00
Delta-V bot 4898707628 Automatic changelog update 2026-07-02 18:32:19 +02:00
Carol 0ecb05388f Reduce blood amount of colossus and dragon to 400 (#6047)
* switched FixedPoint2 * FixedPoint2 to use long

* Revert "switched FixedPoint2 * FixedPoint2 to use long"

This reverts commit b8744f6ac3.

* Reduced blood amount to 400

---------

Signed-off-by: Carol <292806487+CarolCuchara@users.noreply.github.com>
2026-07-02 18:31:59 +02:00
pre-commit-ci[bot] c93a47809c [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2026-07-02 14:54:51 +00:00
Vanessa 81fb4b1625 MedTek Reports 2026-07-02 09:42:56 -05:00
Delta-V bot 8392aaa23a Automatic changelog update 2026-07-02 14:38:20 +02:00
Stxcking 03c85b708c Fix: Syndicate Implanters Showing up Empty (#6191)
i guess bro?
2026-07-02 07:38:01 -05:00
Delta-V bot 5e1f237fce Automatic changelog update 2026-07-02 14:34:32 +02:00
pathetic meowmeow a5ec91bd72 Fix ion laws reverting to old impl after upmerge (#6188)
* Fix ion laws reverting to old impl after upmerge

* delectable publish
2026-07-02 07:34:12 -05:00
Carol 5619c22dd0 Scaled down knives so they fit into lockers and crates (#6171)
scaled down fixture of knives
2026-07-02 12:22:29 +00:00
Delta-V bot fb45e005b5 Automatic changelog update 2026-07-02 12:28:48 +02:00
Cepelinas1 376ed6a5b4 port: IAA Endround Report (#5997)
* it breathes

* probably okay

* Create station-report.ftl

thing miwssing

* IAA store update

* guidebook

* update on things

* revert robusttoolbox

* make it fit into folders and clipboards

* update on the styling of paper
2026-07-02 12:28:28 +02:00
Delta-V bot 206bde288e Automatic changelog update 2026-07-02 02:36:24 +02:00
ArionGekkota 5355fc6514 Hitman disguise kit is now a full chameleon backpack (#6175)
Change the chameleon clothing in the hitman's kit with a full chameleon backpack
2026-07-01 20:36:04 -04:00
Delta-V bot 5377d28bce Automatic changelog update 2026-07-02 02:32:08 +02:00
Vanessa 137a8bbc87 Reverted Xeno Blood type. Reduced giant blood numbers. (#6185) 2026-07-01 20:31:49 -04:00
Delta-V bot 99f3daf547 Automatic changelog update 2026-07-02 00:49:39 +02:00
4e2dce4414 PORT: Selectable Cyborg Chassis from CosmicDrift (#5712)
* pickable borg subtypes but better (#706)

* borg subtype fixes I Forgot To Push (#790)

* update borg subtypes to an entity prototype based approach from SL (#884)

https: //github.com/cosmatic-drift-14/cosmatic-drift/pull/884
Co-Authored-By: lunarcomets <140772713+lunarcomets@users.noreply.github.com>

* Minor Build Error Tweak

Should be ready to add more chassis now!

* Yippee Yahoo

Handpicked some chassis sprites from AL/SL PR which are from Paradise :D

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Clean up + Comments

* CR made me sprite at gunpoint

Also switched standard and generic files for consistency and such

* the spaces were bothering me + comments

---------

Co-authored-by: lunarcomets <140772713+lunarcomets@users.noreply.github.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2026-07-01 18:49:19 -04:00
Delta-V bot 5191732d52 Automatic changelog update 2026-07-01 23:53:04 +02:00
ArionGekkota dbc88393fc Fix chitinid blood amount (#6183) 2026-07-01 21:52:44 +00:00
Delta-V bot eda0cdbe9a Automatic changelog update 2026-07-01 23:32:14 +02:00
Astra c40bae08d9 Fix avali blood amount (#6182)
Fix avali blood
2026-07-01 21:31:54 +00:00
Delta-V bot 20e8e6c295 Automatic changelog update 2026-07-01 22:10:55 +02:00
Cepelinas1 8ac1c479dd Make SuperSynths craftable + musician trinket item only (#6087)
first
2026-07-01 15:10:35 -05:00
Delta-V bot 73d3f55f22 Automatic changelog update 2026-07-01 19:41:25 +02:00
pathetic meowmeow e9a1e53279 Fix nodecrawl connecting to invalid nodes (#6149)
* Fix nodecrawl connecting to invalid nodes

* pain

* recycled
2026-07-01 12:41:06 -05:00
Delta-V bot 0c87be15a3 Automatic changelog update 2026-07-01 06:16:32 +02:00
TheoandStxcking 2a7e8484d7 Uplink scam briefcases removed (#6158)
* scams removed

* evil comments

* wtf

---------

Co-authored-by: Stxcking <217132821+Stxcking@users.noreply.github.com>
2026-07-01 04:16:12 +00:00
Delta-V bot 407ee96712 Automatic changelog update 2026-07-01 05:34:42 +02:00
Manoob 83db0f2bfe Fix carton dispenser restocking (#6123)
* Allow the smaller variants from drink cartons to be put in the soda and booze dispensers

* Bug: Remove double fail message when trying to put something in a dispenser that doesn't belong there

* Remove uneccesary line
2026-06-30 23:34:22 -04:00
Delta-V bot 3fcbcf8853 Automatic changelog update 2026-06-30 21:25:35 +02:00
Vanessaandpre-commit-ci[bot] 567e636a0a Crew Monitor Fix (#6170)
* Fixed crew monitor and gave it buttons instead of trying to figure out which map to display.

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2026-06-30 21:25:15 +02:00
Delta-V bot 042057610f Automatic changelog update 2026-06-30 21:15:47 +02:00
TNE 3024d366a3 Disable upstream silicon "crew icons" (crew indicators) (#6159)
These do not make much sense on DeltaV rules/most silicon laws
2026-06-30 19:15:27 +00:00
Delta-V bot 1c0bfa70be Automatic changelog update 2026-06-30 17:20:53 +02:00
Coryn b2873b92f5 Fix Species Guidebook (#6165)
* Fix Species Guidebook

* oops

* Head to HeadTop
2026-06-30 10:20:34 -05:00
Delta-V bot 98aae97089 Automatic changelog update 2026-06-30 17:19:38 +02:00
pathetic meowmeow edf6525b61 Fix hands on things that are missing hands (#6150) 2026-06-30 10:19:18 -05:00
Delta-V bot a0291a8bd4 Automatic changelog update 2026-06-30 17:02:49 +02:00
Stxcking c7afe1696b Fix: Snails and Nukie Mouse Vent Crawling (#6145)
should do it
2026-06-30 10:02:28 -05:00
Delta-V bot 8e71819fe9 Automatic changelog update 2026-06-30 17:02:09 +02:00
Proxy also works :3 ca4d157c50 you messed with my values!!!! those arent the numbers!! (#6140)
Update uplink_catalog.yml
2026-06-30 10:01:49 -05:00
Delta-V bot 21c532db7c Automatic changelog update 2026-06-30 09:49:20 +02:00
Coryn 90cb041b6e Merge pull request #6148 from Coryler/hidden-species-fix
Fix some upstream issues
2026-06-30 07:49:01 +00:00
Delta-V bot c6bd223999 Automatic changelog update 2026-06-29 21:59:55 +02:00
Vanessa ac9894f07a Fix Client Crash because Tile is using an .rsi path (#6147)
pool fix
2026-06-29 19:59:35 +00:00
+86 04fd017326 Upstream Merge - Jan 2026 through March 2026 (#5894)
* Fix(Humanoid): Prevent skin color verification failures due to precision loss (#42836)

port over uberrations fixes.

* Fix RCD not being able to place hull tiles in space (#42740)

Fall back on player's grid if RCD is clicked on empty space

* Thermal vision overlay for admins (#42812)

* revert of the revert

* tests

* changes

* more fun

* test

* ccvvvar

* works but bad

* now its better

* more fixes

* more cleanup

* cleaning

* last fixes before move to glasses activ

* x

* glasses only

* working

* fix toolbox

* cleanup

* ThermalByte added

* small fix

* small optimalisations

* float bux fix

* comments add

* more comments

* more comments

* last fix

* revert cvar delete

* wrong blue shades

* cvar refactor

* Update Content.Shared/Atmos/EntitySystems/SharedGasTileOverlaySystem.cs

Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>

* Update Content.Client/Atmos/Overlays/GasTileDangerousTemperatureOverlay.cs

Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>

* tweak to TryGetTemperature comment

* Factors are now const

* renames

* Interface for ThermalByte

* admin button

* cleanup

* sandoboxenabled

---------

Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>

* fix: APC sprites stuck in fully drained states on round start (#42852)

* Fix APC incorrect charge state caused by race condition on map startup

* fix: Defer the update from ChargeChangedEvent to next tick

* Minor tweaks to Urist names (#42791)

Tweaks to Urist names

* Vulpkanin Yawns (#42768)

* im eepy too

* softer sound

* Revert "softer sound"

This reverts commit 51b3b7b2d4c741f8abc6d361319a5b44d9593d8d.

* Move vulp yawn mentions to _DV folder

* Split HumanoidProfileEditor.xaml.cs into separate files (#42715)

* separate humanoid profile editor into different files

* move this to the rest of the fields

* Moved DV Traits into the right file

* Ensure profile loading only returns valid species (#42842)

* Ensure profile loading only returns valid species

* punt conversion logic outside of the database

* Add missing Cd mention in Profile

* Slat tiles and decals (#37832)

* Add two varieties of steel vertical slat tiles

* Add dark and white variants of vertical slat tiles

* Add dirt decals

* Add vertical overlay decals

* Add single and double vertical slat decals

* Add steel, dark and white horizontal slat tiles

* Improve single vert slat decals

* Add horizontal slat dirt decals

* Add horizontal slat tile objects

* Add horizontal tile cutter recipe

* Add horizontal slat overlay decals

* Fix inconsistent tile naming

* Add horizontal single and double slat decals

* Fix incorrect slat decal

* Fix two off-color pixels on dark slat tiles

* Change slat tile naming

* Add single-slat overlays

* Smooth tile borders and normalize palette

* Update decals to match tile changes

* Update attributions

* Add missing stack locale lines

* Fix and clean up merged file

* Change slat footstep sounds to be consistent with other steel tiles

As far as I can tell, regular steel tiles use FootstepFloor, (except when
they don't,) and Dark and White variants use FootstepTile.

* Fix confusing merge conflict mismerge

* Remove merge conflict cruft

I have no idea how I missed that.

* Add tile stack prototypes

* Fix slat tile stack localization string refs

* Fix slat tile prototype indentation

* Remove tiles that are identical under rotation

* fix yaml header convention

* Parent slat tiles to common steel tile parent

* Whitespace fix

* Un-de-normalize prototype field ordering

* Fix whitespace

* Re-fix indentation

For some reason, I un-fixed this a little while back. No idea why.

---------

Co-authored-by: Errant <35878406+Errant-4@users.noreply.github.com>

* Fix gas filter always outputting 20C filtered gas (#42876)

ingenious!

* Cleanup warnings: CS0114, CS0414, CS9107 (#42859)

* Cleanup warnings: CS0114, CS0414, CS9107

* I shouldn't trust IDE autocorrection

* Regular bots are now repaired gradually, just like borgs (#42878)

Instead of one long doafter, it's a bunch of smaller doafters. See https://discord.com/channels/310555209753690112/1470704102173315143

* Add Missing IntercomAssembly Components (#42821)

* add missing components to assembly

* use inheritance

* (Re)Add sneezing emote. (#41479)

achoo

* fix: cleaning evidence off a person no longer reveals their true identity (#42868)

fix cleaning evidence revealing your true identity

* Fix chameleon controller not updating fake mindshield action icon (#42900)

fix chameleon controller not updating fake mindshield action icon

* Fix Flares dying after 10 seconds. (#42765)

asdas

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>

* Identity Mask now updates equipped Agent ID name (#42772)

* add identity mask updating agent id functionality

* fix indentation

* add check for voice mask item

* use ChangeIDName field instead

* Minor cleanup

* remove trycomp

---------

Co-authored-by: beck-thompson <beck314159@hotmail.com>

* Fix paradox clones having default voice and pronouns (#42923)

fix

* AI can now read papers and envelopes (#42926)

* AI can now read papers and envelopes

* Move whitelist component from BasePaper to Paper

* Change basic viper magazine to high capacity in operative bundle  (#42927)

* changed atmos fire suit to engineering contraband

* changed normal pistol mag to extended in basic op bundle

* yes

* yes

* Fix uncooked animal proteins metabolism (#42942)

* Update toxins.yml

* poison!!!!

* I hate solutions sytem I hate solutions sytem I hate solutions system

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>

* Fix Thieving Beacon not detecting HUDs for said objective (#42945)

* Fix jetpacks not turning off when switching to another jetpack (#42689)

Initial commit

* fixed barber scissors misgendering when blocked by a hat (#42948)

* Fix reagent duplication from vomiting (#42954)

no more reagent duplication

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>

* New moth emote. Flaps wings! (#42912)

* frfrfrfr

* mh-

* brbrbrbrbr

* small cleanup

* third category time

* removing ReptilianBodyEmotes

* Revert "removing ReptilianBodyEmotes"

This reverts commit 10200c4292a79932109ce2df6b642bcd88e863e0.

* Revert "third category time"

This reverts commit cf62c425b5db93ba4108b8283361623f2f4ad345.

---------

Co-authored-by: ScarKy0 <scarky0@onet.eu>

* Added Emp interaction with Bar Sign (#42950)

* Added Emp interaction with Bar Sign

There was already content for emp bar sign but no support for it.
This adds the interaction with emps to make bar signs EmpDisabled.

* Emp BarSigns stylistic change

* Fixed redundant bar signs

Fixes the extra bar sign popups bug introduced in #42364

* Block bar sign UI when emped

* Revert "Fixed redundant bar signs"

This reverts commit 23168bb503bcf267ac553eff9ac9674bf28adb4b.

* Vox, Diona and Vulp Unique Sneezes (#42929)

* *sneezes!

* fix, quieter vulp sneeze, vox sneeze

* even quieter vulp sneeze

* vulp sneeze attribution

* adjust vox sneeze source

* Move Vulp Sneeze into emotes_speech of _DV

* update basic operative bundle contents (#42930)

modify bundle contents

Co-authored-by: robin <robilythefoxxo@gmail.com>

* Show fuckrules usage to admins (#42988)

* fuck rules

* extreme

* update comment

---------

Co-authored-by: ScarKy0 <scarky0@onet.eu>

* Add hand label blacklist (#42986)

* Add blacklist to hand labeler

* Add comments

* Nullable

* More xenoborg names (#42984)

* more names

* update count

* ops

* whitespace

---------

Co-authored-by: beck-thompson <beck314159@hotmail.com>

* Make prescription glasses actually work (#42990)

* Made prescription glasses actually correct your vision

* Makes prescription glasses actually correct your vision

* Bug fix

* Bug fix

---------

Co-authored-by: lyxcaster <mser956@gmail.com>

* Improved camera static shader randomness (#42968)

Improved static shader

* Predicted Networked Metabolism (#42798)

* PredictedRandom Helpers

* predicted networked metabolism

* ssadasfsa

* AAAAAAAAAAAAAAAAAAAAAAAA

* remove debug

* oopsies

* its inclusive of 0 fool

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>

* Add unlockable reporter cosmetics (#41079)

* Initial commit

* Lower the requirements slightly

* Revert vox displacement fix for another PR

* Remake the "Vegan Meatball" salvage wreck (#42994)

* remake vegan meatball, fix lingering plant enemies

* attempt to remove non-salv ruleset enemy spawns

* EMP implant uplink texture (Addresses #42008) (#42998)

set emp implant texture in uplink catalogue to emp_disable particle

Co-authored-by: nomdéraisonnablementlong <you@example.com>

* Non-obsoletion warnings as errors in Release. (#42983)

* Non-obsoletion warnings as errors in Release.

* Add two other obsoletions related to collection expressions.
These are not present in the codebase, but may become so in the future.

* Exempt NU1903 so the project can't mysteriously stop building.

* Fix some FULL_RELEASE mistakes.

* diff fix

* Resharper caught this one. Note to self: Wire up resharper to CI in another PR.

* Lizard rehappy alternative (#42915)

* new lizard laugh

* typo

* replaced sound with alternative lizard_happy.ogg
adjusted attributions.yml

* Update attributions.yml

Since my friend uses Logic Pro X commercially and paid for
the license, he can freely use the provided samples in his own audio
projects. The resulting lizard_happy.ogg is a combination of multiple
samples transformed to achieve the correct sound, using an original
lizard laugh as reference.

* Add source link for lizard_happy.ogg attribution

Added source information for lizard_happy.ogg.

* update sound

* wtf is a laser raptor

---------

Co-authored-by: Velken <8467292+Velken@users.noreply.github.com>
Co-authored-by: ScarKy0 <scarky0@onet.eu>

* Add TriggerOnRot Component (#42667)

* Add TriggerOnRot Component, and related systems and events

* Move around components and events to proper namespaces

* Improve TriggerOnRotComponent Comment

* fix a bunch of imports

* Change BeginRottingEvent to a ByRefEvent record

---------

Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>

* Fix repeated Localization warnings when viewing the Power Monitoring Console (#43037)

no double work

* Give borgs default prying (#41812)

* init

* 1.5

* remove powered

* CompBorgModules, prying alert

* give to NT borgs and derelict borgs

* review

* review 2

* comment

* Make HasMind not always false for client. (#43033)

* it hasmind but i don't

* potatoe potato

* reading is hard

* still can't read

---------

Co-authored-by: ScarKy0 <scarky0@onet.eu>

* Add transfer entity to mind events. (#43020)

* init

* stuff

* to

* BeforeEvents

* comment

* docs

* Update Content.Shared/Mind/Components/MindContainerComponent.cs

Co-authored-by: pathetic meowmeow <uhhadd@gmail.com>

---------

Co-authored-by: pathetic meowmeow <uhhadd@gmail.com>

* Fix hypodart uplink description (#43035)

fix

* Stop AI knocking on shutters, blast doors (#42972)

Stop AI interacting with shutters

* StrippableComponent timespan calculation fix (#43022)

* timespan calculation fix

* Update Content.Shared/Strip/Components/StrippableComponent.cs

Co-authored-by: Tayrtahn <tayrtahn@gmail.com>

---------

Co-authored-by: Tayrtahn <tayrtahn@gmail.com>

* Fix Holosign Placement (#42909)

* Holosigns now spawn facing player direction

* Holosigns face south

* Snap holosign to grid and attach to clicked entity

* Back to setting local rotation to zero

* No need to snap to grid

* rifts

---------

Co-authored-by: ScarKy0 <scarky0@onet.eu>

* Make DamageSpecifier serializable (#43049)

* pt1 damageable refactor

* fixes

* thusd unused

* sparse damagespecifiers

* fix thongs

* aaaaaa

* fix tests

* de-crash

* Fixed redundant bar sign windows (#42960)

Fixed redundant bar signs

* Fixes the extra bar sign popups bug introduced in #42364
by making BarSignBUI use CreateWindow

* Fixes bar signs placed from Entity Spawn Window

* Make DamageableComponent manually networked again (#43054)

* Make sure vox passively regenerate at the same pace as everyone else (#43055)

* Dynamic feedback popup (#43021)

* add rule filter to feedback popup

* fix the dependency

* simplify

* remove this

* deny popups with rules

* missed here

* new parameter

* the server handles the specific feedback prototypes

* fix logic

* active > added

* minor fixes

* not needed anymore

* now it should be back

* not needed

* cleaning

* create system

* forgot to remove this

* also remove this

* add a I

* remove old feedback popups

* doesn't actually fix it

* maybe this time?

* oh well

* use whitelists

* use gamerule added

* update fix comment

* simplify

* old commentary

* default false

* add blacklist option

* fix helper functions

* remove commentary

* who needs those

* orks hates linq

* not needed

* Change linq into foreach

* remove unwanted popups for next rounds

---------

Co-authored-by: beck-thompson <beck314159@hotmail.com>

* Raise SolutionChangedEvent and SolutionContainerChangedEvent when handling SolutionComponent states (#42814)

raise event on client + comp access

* Xenoborg extractor (#42796)

* verb category

* voltage toggle comp

* move stuff

* add simple prototype

* implement verb action

* switch expression

* fixed the node not updating

* charge the battery

* fixed battery not charging

* spawn on battery level system

* finally works

* swap commentary position

* can only anchor the extractor on the station

* popup message for trying to anchor outside of station

* default placement for unanchored version

* ops

* fix body type

* commentary

* update visuals of power consumer

* add custom sprite

* fix light layer not changing

* xenoborg circuit

* fix xenoborg circuit

* add tag

* add hand to hold xenoborg circuits

* move to material

* add xenoborg circuit material

* add recipe to mothership core

* add a hand to hold circuits to the mothership core

* to not confuse

* update

* ops

* another ops

* update mothership

* update guidebook

* update values

* more info

* fix stack

* can store xenoborg circuits

* description

* also update description

* circuit -> crytal

* not modified from anything

* update description

* Revert "update mothership"

This reverts commit 84974c56afadac2a99ed2a166244a668d83fff48.

* update empty label

* small update to sprite

* not necessary code

* remove empty line

* color

* make it explode when destroyed

* change values

* update sprite

* update sprite

* make it eletrified

* flavor text

* simplify to only use charge

* subscribe to event

* new line

* remove popup

* no need for the setter

* no longer networked

* feedback popups

* Minor tweaks

* better to understand

* better now?

---------

Co-authored-by: beck-thompson <beck314159@hotmail.com>

* Change Bad Chembottle Suffixes (#43064)

Change Suffixes

* Reparent White Gilgamesh (#43065)

* Throwing Croissant Incorrect Inhand Removed (#43066)

* Remove inhand sprite

* Add comment

* Fix Makeshift Juicer Crafting (#43075)

i hate it her

* Add xenoborg gun sprites (#43013)

xenoborg gun sprites

* Remove unused noise texture (#42970)

Remove unused asset

* [Fix] Door remote fixes (#43063)

* fix door remotes

* admeme

* typo

* review

* revert door changes

* tag

* Revenants cannot be stuck with plastic explosives (#42889)

* no touchy!

* Apply suggestion from @slarticodefast

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>

* Removed rollerskates & clown-outfit cargo bounties; reduce pancakes needed for pancake cargo bounty (#42899)

* Removed rolerskate & clown-outfit cargo bounties; reduce pancakes needed for pancake cargo bounty

* adjusted tag comments

* forgot to temove rollerscates bounty item locale

* Fix damagable mispredicts (#43080)

fix

* use proxy methods in EntitySystems (#43083)

use proxy methods

* fix topicals (#43087)

* APC building doAfter fix (#43089)

Add doAfter to APC construction

* [STAGING] Innate prying tooltip (#43081)

Update alerts.ftl

* Fixed Mining Hardsuit Helmet Name + Added Internals to Crates (#43072)

* One commit ops

* Removed extra line

* Fix "Unknown messageId" warnings from ID cards (#42886)

* Empty string bad

* Preserve existing behavior

* yaml format nitpick (#43074)

* minor nitpick

* fix mistake

* clean up

* Fix AtmosDebugOverlay being always active (#43073)

* Fix AtmosDebugOverlay being always active

* review

* Only one puddle sparkle please (#43086)

* only one sparkle please :3

* address review

* Add borg construction interaction test (#42359)

* Add test of borg construction.

* Return Validated when in validation mode.

* Update Content.IntegrationTests/Tests/Construction/Interaction/BorgConstruction.cs

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>

* Fix door remotes 2 (#43094)

* fix door remotes

* admeme

* typo

* review

* revert door changes

* tag

* fix highsec and windoors

* Support for melee weapon user overrides (#39633)

* redefining-using-melee-weapons

* animation bug fix

* review

* fix merge

* add nested entity effects+conditions (#42341)

* add nested effect

* add nested condition

* move api to the main systems and improve effect guidebook text gen

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>

* Inventory + Storage toolshed query commands (#40813)

* Add inventory and storage query toolshed commands

* Forgot FTL

* Fix stuff!

* Make requested changes and stop STACK MAX SIZE ERROR

* cleaning

---------

Co-authored-by: ScarKy0 <scarky0@onet.eu>

* Hyper autolathe now requires the same ammount of manipulators as autolathe (#43109)

hyper lathe now requires the same ammount of manipulators as base lathe

* Remove salv stuff from mothership (#43007)

* verb category

* voltage toggle comp

* move stuff

* add simple prototype

* implement verb action

* switch expression

* fixed the node not updating

* charge the battery

* fixed battery not charging

* spawn on battery level system

* finally works

* swap commentary position

* can only anchor the extractor on the station

* popup message for trying to anchor outside of station

* default placement for unanchored version

* ops

* fix body type

* commentary

* update visuals of power consumer

* add custom sprite

* fix light layer not changing

* xenoborg circuit

* fix xenoborg circuit

* add tag

* add hand to hold xenoborg circuits

* move to material

* add xenoborg circuit material

* add recipe to mothership core

* add a hand to hold circuits to the mothership core

* to not confuse

* update

* ops

* another ops

* update mothership

* update guidebook

* update values

* more info

* fix stack

* can store xenoborg circuits

* description

* also update description

* circuit -> crytal

* not modified from anything

* update description

* Revert "update mothership"

This reverts commit 84974c56afadac2a99ed2a166244a668d83fff48.

* update empty label

* small update to sprite

* not necessary code

* remove empty line

* color

* make it explode when destroyed

* change values

* update sprite

* update sprite

* make it eletrified

* flavor text

* simplify to only use charge

* subscribe to event

* new line

* remove popup

* no need for the setter

* no longer networked

* update mothership

* HTNComponent from SharedNPCSystem (#42750)

* init

* move system

* doc

* Small tippy fix + msg toolshed additions (#43082)

* why is this not how it worked already fml

* better tippy checking

* Brings Estoc DMR accuracy to standard rifle accuracy, removes movement speed debuff (#43038)

* Removed accuracy and move speed debuffs for estoc

* introduced slight speed reduction

* typo

---------

Co-authored-by: august-sun <45527070+august.sun@users.noreply.github.com>

* Initial decoupling pass on Damageable (#43103)

* Initial decoupling pass on Damageable

* ope

* e

* mroaw

* ok sure on the medibot thing

* no medibot bounds

* okidooks

* arcryox era

* cryox moment

* PinpointerSystem&Component cleanup (#42463)

* cleanup

* make some stuff nullable again

* Apply suggestions from code review

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>

* fix and remove a dependency

---------

Co-authored-by: seanpimble <149889301+seanpimble@users.noreply.github.com>
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>

* Mix xenoborg_scream.ogg to mono (#43132)

* Fixing issue 42759, air grenades cannot be re-triggered. (#42866)

Fixed #42759 - air grenades cannot be re-triggered

* Nukie guidebook improvements (#43131)

* improve nukie guidebook (getting to the station, arming procedure)

* removed show vessel from IFF Computer guidebook text

* Make map tests more fine-grained. (#42977)

* Make map tests more fine-grained.

* ..typo.

* fix example

* exclude Empty.

* Adjust a scrounger test & fix it.

* It does respect ignored prototypes, after I realized making it do so was really easy.

* Fix it for real this time.

* General scrounger enhancements for a GameRules test set.

* Fix linter for real.

* Address reviews.

* Weather entities (#41427)

* weather status effect entities

* proto port + fixes

* Update weather.yml

* fix visuals

* Update SharedWeatherSystem.cs

* Update SharedWeatherSystem.cs

* Update WeatherSystem.cs

* Thanks Slarti, thats a much better

* Update WeatherSystem.cs

* Update StencilOverlay.Weather.cs

* Update Content.Client/Overlays/StencilOverlay.Weather.cs

Co-authored-by: Pok <113675512+Pok27@users.noreply.github.com>

* Update Content.Shared/StatusEffectNew/Components/StatusEffectComponent.cs

Co-authored-by: Pok <113675512+Pok27@users.noreply.github.com>

* Update Content.Client/Overlays/StencilOverlay.Weather.cs

Co-authored-by: Pok <113675512+Pok27@users.noreply.github.com>

* Revise weather command help descriptions

Updated weather command help texts for clarity.

* Merge branch 'master' into ed-14-11-2025-weather-entities

* Tayrtahn review apply

* fixes and cleanup

---------

Co-authored-by: Pok <113675512+Pok27@users.noreply.github.com>
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>

* Patch for engine ComponentFilter (#43168)

* Patch for engine ComponentFilter

* Poke

* Refactor guide entry tests. (#43159)

* Add 204 more tests.

* better plan.

* Refactor explosion prototype tests. (#43158)

Add 9 more tests.

* Refactor Device Linking tests. (#43157)

* Add 416 more tests.

* fixes.

* Refactor construction tests (#43155)

Introduce 2681 more tests.

* Add exception tolerance to SharedDoAfterSystem. (#43088)

* Reactions test cleanup. (#42979)

* Make TryAllReactionsTest use a scrounged reagent list.

* naming

* Poke

* Refactor MobThresholds and Stamina tests. (#43156)

Add 561 more tests.

* Update `NodeHelpers` and `Node.GetReachableNodes` to use `Entity<TransformComponent>` and `Entity<MapGridComponent>` (#37734)

* Add overloads for NodeHelpers methods, obsolete old ones

* Pass in SharedMapSystem instead of IEntityManager

* Change GetReachableNodes signature, deal with aftermath

* Allow non-grid nodes

* Change GetReachableNodes to also take Entity<TransformComponent>

* Remove vestigial ReSharper hint

Co-authored-by: Tayrtahn <tayrtahn@gmail.com>

* Formatting

---------

Co-authored-by: TemporalOroboros <TemporalOroboros@gmail.com>

* Add a basic API to `JukeboxSystem` (#42896)

* Add a basic API to JukeboxSystem

* Update Content.Shared/Audio/Jukebox/SharedJukeboxSystem.cs

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>

* Remove pointless Dirty

* Move SetSelectedTrack Dirty inside if block

* logMissing: false

* Remove pointless Audio.Stop call

* Poke tests

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>

* Atmos YAML-defined gas flammability, flammability API (#43165)

* atmos masked flammability/API

* on that oomba pac

* yuuup

* resolve todo and review

* rename

* Vent Hordes (#43047)

* init

* port hostiles to hordes, fakeout horde

* cleaning, docs

* i may be blind sometimes

* i may be even blinder

* remove friendly announcements

* fuck it

* i love microbalancing

* review

* review

* review p2

* Update Resources/Prototypes/GameRules/pests.yml

Co-authored-by: SnappingOpossum <snappingopossum@outlook.com>

* review + powercreep

* lower the times to account for the gamerule delay

* review

* review

* fuck this return actually

* fial

---------

Co-authored-by: SnappingOpossum <snappingopossum@outlook.com>

# Conflicts:
#	Resources/Prototypes/GameRules/pests.yml

* Add DB Config to development.toml (#43036)

add db config development.toml

* Add banning to server api (#43205)

add banning to server api

* Revert "Support for melee weapon user overrides" (#43106)

Revert "Support for melee weapon user overrides (#39633)"

This reverts commit 18149dbb3b.

* Update RT to 273.0.0 (#43130)

* Wrapped parcels can go into mail carts (#43226)

wrapped parcels can go into mail carts

yeah, it technically allows wrapped humanoids to get in there too, but how're you gonna get something you can't pick up into inventory storage?

Also YEAH technically this allows arbitrage of carrying a ton of stuff in the mail cart, but that's no so different from just carrying a ton of stuff around in a trash cart and this at least has the cost of a bit of parcel wrap. I will tolerate no dissent

* Make test runnable on windows in debug config again (#43227)

tfw ur fs isn't posix compliant

* Removes a test that handles engine behavior in content. (#43228)

* [Fix] Silicon Ion Law Scramble Text (#43229)

scramble noises

* Move a metric fuckton of AtmosphereSystem to Shared. (#42989)

* AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

* fix the tests I broke

* Remove methods that the client shouldn't be calling. Hamburger.

* light cleanup for now

* review

* whoop

* docs updates and misc changes

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>

* fix bottle reagent localization (#43208)

* Fix missing word from emitter alerts (#43225)

* fix emitter yapping

* use actual locid objects

* Make EntityTableSpawner spawn relative to grid instead of map (#43234)

* Add a holy light effect to bible healing (#43189)

* save

* remove unneeded event

* Revert "remove unneeded event"

This reverts commit 779ec783094144ca978a5e9d111235e29539e8a3.

Revert "save"

This reverts commit f88e0ab18b253915f5efde5886a4701a73ffa35a.

* Use simple light effect entities with TimedDespawn

* Content-side IRobustRandom cleanup. (#43231)

* Content-side fixes for engine IRobustRandom rejig.

* Define for ensuring SetSeed works.

* Poke.

* Poke

* Poke.

* Cleanup warnings: CS0168, CS0414 (#43198)

* Cleanup warnings: CS0168, CS0414

* That was the right thing to do

* Please tell me that this is a random fail

* ...

* last try

* revert

* CachedResources for GasTileDangerousTemperatureOverlay (#43032)

* init

* minifix

* that is nullable

---------

Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>

* Refactor: Gas tile overlay split (#42881)

* yeah

* split2

* well

* cleanup

* docs fix

* Dependency cleanup

* Update Content.Client/Atmos/EntitySystems/GasTileFireOverlaySystem.cs

Co-authored-by: Pok <113675512+Pok27@users.noreply.github.com>

* Update Content.Client/Atmos/Overlays/GasTileVisibleGasOverlay.cs

Co-authored-by: Pok <113675512+Pok27@users.noreply.github.com>

* Update Content.Client/Atmos/Overlays/GasTileVisibleGasOverlay.cs

Co-authored-by: Pok <113675512+Pok27@users.noreply.github.com>

* yup

* modifying a lot anyways

* other cleanup

---------

Co-authored-by: Pok <113675512+Pok27@users.noreply.github.com>
Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>

* Move ID card name/title length limit to server (#43237)

* Validate string lengths serverside

* Organize usings

* Remove clientside check

* Also remove the cvar caching in the UI

It's one dictionary call, Michael. What could it cost?

* Update ruined_prison_ship.yml (#43242)

Fixed the ruined prison ship yml 2779 line Destryoed thruster to Destroyed thruster

* Single item cargo orders are delivered in Parcel Wrap instead of crates (#40834)

* - rework a bunch of cargo orders to not send a crate with just one thing
  - instead sends the item, wrapped
- add ability for cargo orders to wrap the item ordered in parcel wrap
- cargo order name and descriptions are now localization strings, but still 99.99% of the time just get that info from the entity they're spawning
- small refactor to how cargo orders move around in cargo code so that the actual order proto is kept around longer
- small rework to certain restock cargo orders to halve the cost and number of items received in one order

* oop

* Suffering

* Arbitrary containers for cargo products

* I ran the tests locally and they passed, github please rerun :)

* massage Slarti's work into this.
Mainly by taking the API wrapping ability out back with the rifle q-q

* testfail fake

* wow `_applyingState` is useful, I wonder where I should've been using that in other PRs before :^)

* pr comments

* tfw the hook doesn't update the submodule

* Update Content.Client/Cargo/UI/CargoConsoleMenu.xaml.cs

Co-authored-by: āda <ss.adasts@gmail.com>

* PR comments

* fixies

* Update Content.Client/Cargo/UI/CargoConsoleMenu.xaml.cs

* Update Content.Shared/ParcelWrap/Systems/ParcelWrappingSystem.WrappedParcel.cs

* fix wrapped parcel entity name + audio

* Actually read PR comments

* Apply suggestions from code review

Co-authored-by: ScarKy0 <106310278+ScarKy0@users.noreply.github.com>

---------

Co-authored-by: āda <ss.adasts@gmail.com>
Co-authored-by: ScarKy0 <106310278+ScarKy0@users.noreply.github.com>

* Refactor Ion Law string generation (#42629)

* YAMLs your ion laws

* forgot some weights

* this should be it

* comments and DAGD

* improved testing

* addressing review (part 1 out of 2)

* still part 1 :gosomnia:

* part 2

* refactor the refactor

* loc error fluffs

* address review

* weh

* cleanup

* oops

* fix

* more cleaning

* forgot to remove old thing

* prediction

* fix

# Conflicts:
#	Content.Server/Silicons/Laws/IonStormSystem.cs

* Fix bug blocking character saves for species without hair. (#43170)

* Update ServerDbBase.cs

* Update ServerDbBase.cs

* Update ServerDbSqliteTests.cs

* :grumble grumble grumble:

* tests

* Update ServerDbSqliteTests.cs

* commit

* forgot this.

* relocation.

* nope, not doing that lmao

* Update ServerDbSqliteTests.cs

* test rerun

* GAAAAAA

* Update ServerDbSqliteTests.cs

* Update ServerDbSqliteTests.cs

* Update ServerDbSqliteTests.cs

* GAAAAAA

* go fish

* Port Species

* Fix files for upmerge changes. Notably Nubnody and Damagaeable

* Remove DV FeedbackPopup, due to the upstream one

* Move TotalDamageCondition into _DV along with some other fixes

* Scaling works, some errors killed.

* More progress against the linter

* Make more Yaml Changes to appease the Linter

* Fix Locale issues. Some yml issues I have no idea how to fix

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Fix WeatheR Scheduler

Weather still needs work

* Fix Build Errors

* Fix mroe Build Errors and move Weather Damage into _DV

* Additional migration mention and briefcase item removal

* Fix some Build Warnings

* Fix weather scheduler attempt

* Restore rebased removed actions

* More Migration

* This oughta fix it

* Change some of hte old values back

* Revert this back to Component Registry

* Removing last yml errors

* Change PostMapInit Path to our actual maps

* Revert "Remove loadout time towels (#42536)"

This reverts commit b3ddf57affd43fa952dbae6b7439a881026191bb.

* Change Metabolism of newly reagents

* Rename some Shadow to Soul

Meh

Ok... :/

Test attempt fix

Another Attempt to fix, the null ref

Another Attempt to fix :/

argh

I would really hatre if this is the solution

Try to find null ref

Searching for the fix

* Readd old StatusEffect

* Revert "Remove salv stuff from mothership (#43007)"

This reverts commit eea773ffee.

* Predict reagent grinder (#42815)

* prediction!!!

* fixes

* fixes and add debug logs

* fix prediction and cleanup

* raise event on client + comp access

* reapply power state changes

* Update Content.Client/Kitchen/EntitySystems/ReagentGrinderSystem.cs

Co-authored-by: ScarKy0 <106310278+ScarKy0@users.noreply.github.com>

* Update Content.Shared/Kitchen/Components/ReagentGrinderComponent.cs

Co-authored-by: ScarKy0 <106310278+ScarKy0@users.noreply.github.com>

* comments and prefilled grinder protos

* t

---------

Co-authored-by: ScarKy0 <106310278+ScarKy0@users.noreply.github.com>
Co-authored-by: ScarKy0 <scarky0@onet.eu>

* Fix reagent grinders on dev map (#43253)

fix grinders on dev map

* Removed MovementBodyPartComponent (#43257)

* Revert "Xenoborg extractor (#42796)"

This reverts commit 7f15e77954.

* Fix floating point tilefire nonsense (#43263)

* Change method call and epsilon

* holy guacamole

* Add test result archiving to our test actions + Test fixes (#43175)

* Add test result archiving to our test actions.

* heck.

* Don't waste tremendous amounts of storage.

* Fix ReagentDataTest.

* Reduce retention and increase compression on integration output.

* Back to 7 days, depend on RT instead.

* Poke.

* Fix linter.

* til.

* Actually send YAMLLinter's pair messages into the void.

* Update RT to 274.0.0 (#43261)

* Make the chem guidebook show when chemicals adjust body temperature (again) (#42394)

Make chem guidebook show adjusttemperature effects

* Tech disk resprite and pricing changes (#37719)

* init

new disks are in. can be spawned or printed. no weights or correctly bound techs yet.

* tweak textures and naming

* make tech disks respect their tier and discipline

* make tech console respect tier weight

* yml fixes (forgo a million things)

* meow :3 reworked to use GenericVisualizer

* moved staticPrice comp to shared to support different pricing per tier

* unhardcoded prices; tweaked log messages

* cleanup

* a few fixes

* updated pricing to match weights

* lowering prices I forgor how many of them science can print

* what

* t3 texture, logger, factory

* move PriceCalculationEvent & EstimatedPriceCalculationEvent to shared

* remove static price comp; use EntProtoId for disk proto

* moved staticPrice comp back to server

* cleanup: price event, visualizer enums & yml

* ummove PriceCalculationEvent

* ummove PriceCalculationEvent attempt #2

* more unmoving

* fixes

* predict onExamine

* review changes

* small cleanup

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>

* Fix Airtight Explosion Cache (#43276)

fix explosions

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>

* Fix thermomachine guidebook typo (#43285)

Fix typo

* DeleteComponentCommand minor cleanup/rename. (#43289)

commit

* Cleaning Blood Footstep Sounds (#43266)

The noises have stopped

* Move salvage RandomSpawners to EntityTableSpawners (#43233)

* Move salvage RandomSpawners to EntityTableSpawners

* Spellcheck

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>

* Apply requested changes for spawner

* Move another prob to parent selector

* Why wasn't it that before

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>

* Borg charger hitbox changes (#43300)

* Borg chargers no longer rotate

* Orbing your charger NOW

* Move some simple random spawners to entity table spawners (#43305)

Simple random spawners to entity tables

* Fix melee attack sprite rotations (#43307)

fix melee rotation

* removed PhysicalConstants.ZERO_CELCIUS (#43316)

* Fix welders running an additional time when no damage remains. (#43321)

Update RepairableSystem.cs

* Correct attribution for /Textures/Objects/mre.rsi (#43328)

Update meta.json

* Flatpack opening uses collision of flatpacked entity (#41849)

* flatpacks openable on tables, ignore ghosts

* suggested changes

* if i stash this im going to forget that a stash exists.

* FINAL final (1)

* FINAL final (2)

* i now understand networking

* Move remaining random spawners to entity table spawners (#43324)

Move remaining random spawners to tables

* Update RT to 274.0.1 (#43337)

update RT to 274.0.1

* remove all use cases of TimerComponent (#43320)

cleanup TimerComponent

* trico no longer heals when mob is crit, and no longer heals rad (#43293)

* trico no longer heals when mob is crit, and no longer heals rad

Tricordrazine no longer heals when mob is crit and no longer heals radiation damage.

* Inverted crit mobstate -> alive mobstate

* Fixes ambuzol pills. (#43331)

Fixes ambuzol pills. pp doo kaka

* Fix `SharedCrayonSystem` being both `[Virtual]` and `abstract` (#43339)

Remove [Virtual] from SharedCrayonSystem

* Painting and poster random spawners to  entity table spawners (#43270)

Painting and poster random spawners to tables

* Update RT to 275.0.0 (#43357)

* Change chat straight quotes to curly quotes (#43350)

* GameTest part 1 (#43182)

* Ports much of GameTest, minus all the WIP stuff.

* remark.

* EnsureCVar now adds test properties.

* Some cleanup and functionality.

* Ignore broken test. Needs fixed eventually. Also explicit context config.

* TrackingIssue attribute.

* oops

* Pair config attribute.

* Remove SystemAttribute in favor of using the EntitySystemManager dependency collection.

* Ensure idleness.

* More tests for tests.

* More specific failure catching tests.

* Reverse attribute resolution order so suite-wide attributes happen first.

* Get rid of AffectedProperties again because I need to refactor PoolSettings for that.

* Poke

* Final cleanup pass.

* Update Content.IntegrationTests/Fixtures/Attributes/RunOnSideAttribute.cs

Co-authored-by: Tayrtahn <tayrtahn@gmail.com>

* Update Content.IntegrationTests/Fixtures/Attributes/Side.cs

Co-authored-by: Tayrtahn <tayrtahn@gmail.com>

* Update Content.IntegrationTests/NUnit/Utilities/ITestExtensions.cs

Co-authored-by: Tayrtahn <tayrtahn@gmail.com>

* Fixes.

* shut up nunit.

* Make TrackingIssue a bit strict on purpose, so people don't put junk here.

* Update Content.IntegrationTests/Tests/GameTestTests/DisconnectedDependencyTest.cs

Co-authored-by: Tayrtahn <tayrtahn@gmail.com>

* Address.

---------

Co-authored-by: Tayrtahn <tayrtahn@gmail.com>

* Minor fixes to server api ban endpoint (#43355)

minor fixes to server api ban endpoint

* [FIX] Moved random manifest back server (#43361)

* moved random manifest back server

* fix ordering

* Remove `[Virtual]` from some classes that shouldn't have it (#43347)

* Remove [Virtual] from some classes that shouldn't have it

* Back to virtual with you

* Update RT to 275.1.0 (#43368)

* cleanup GasPrototype and some other atmos code (#43318)

* cleanup

* fix some localizations

* fix typo

* review and test fix

* rename

* minus one

---------

Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>

* Fix `TrackingIssueAttribute` blocking orgs/repos containing numbers (#43369)

Fix TrackingIssueAttribute blocking orgs/repos containing numbers

* Fix: Make clockwork glass grindable (#43371)

make cGlass grindable

* "Reduce motion of visual effects" now works for blood loss effect (#41878)

* "Reduce motion of visual effects" now works for blood loss effect

* Improve strenght

* Make motion less strong

* Stop motion effect

* cleanup and rebalancing

* fix warning

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>

* Heat distortion shader (#42973)

* revert of the revert

* tests

* changes

* more fun

* test

* ccvvvar

* works but bad

* now its better

* more fixes

* more cleanup

* cleaning

* last fixes before move to glasses activ

* x

* glasses only

* working

* fix toolbox

* cleanup

* ThermalByte added

* small fix

* small optimalisations

* float bux fix

* comments add

* more comments

* more comments

* last fix

* revert cvar delete

* wrong blue shades

* cvar refactor

* Update Content.Shared/Atmos/EntitySystems/SharedGasTileOverlaySystem.cs

Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>

* Update Content.Client/Atmos/Overlays/GasTileDangerousTemperatureOverlay.cs

Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>

* tweak to TryGetTemperature comment

* Factors are now const

* renames

* Interface for ThermalByte

* tile color  vaccum and more comments

* saving yeeted

* integration test

* rename and cleanup

* fix

* cleanup

* switch

* UT fix (hopefully)

* small bug+ rename

* vaccum limit  + space is now invalid

* typo

* typo

* fix

* init, works

* move method around

* renames and split

* renames

* heatblur

* cleanup

* more docs

* resource cache

* No dynamic perlin noise generation [no fun allowed] and new blur softening method

* magic numbers and rename

* misc cleanup

* removed init values because display compat mode broken

* misc cleanup

---------

Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>

* Update RT to 275.2.0 (#43378)

* Fix changeling transform ability (#42107)

* fix changeling transform

* Add store UI on MapInit instead

* Apply suggestion from @slarticodefast

* Apply suggestion from @slarticodefast

---------

Co-authored-by: Jessica M <jessica@maybe.sh>
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>

* Remove PDA equip sprites (#40498)

* we have never had pda equip sprites.

* I didn't know the rsi validator would complain about that one tbh

---------

Co-authored-by: ruddygreat <ruddygreat1@gmail.com>

* Lathe Menu Title Enhancement (#43392)

* DefaultWindow -> FancyWindow, use SetInfoFromEntity

* code smell fix

* Reduce speso value of tech disks (#43395)

commit

Co-authored-by: iaada <iaada@users.noreply.github.com>

* Bugfix of Heat distortion shader (#43397)

* revert of the revert

* tests

* changes

* more fun

* test

* ccvvvar

* works but bad

* now its better

* more fixes

* more cleanup

* cleaning

* last fixes before move to glasses activ

* x

* glasses only

* working

* fix toolbox

* cleanup

* ThermalByte added

* small fix

* small optimalisations

* float bux fix

* comments add

* more comments

* more comments

* last fix

* revert cvar delete

* wrong blue shades

* cvar refactor

* Update Content.Shared/Atmos/EntitySystems/SharedGasTileOverlaySystem.cs

Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>

* Update Content.Client/Atmos/Overlays/GasTileDangerousTemperatureOverlay.cs

Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>

* tweak to TryGetTemperature comment

* Factors are now const

* renames

* Interface for ThermalByte

* tile color  vaccum and more comments

* saving yeeted

* integration test

* rename and cleanup

* fix

* cleanup

* switch

* UT fix (hopefully)

* small bug+ rename

* vaccum limit  + space is now invalid

* typo

* typo

* fix

* init, works

* move method around

* renames and split

* renames

* heatblur

* cleanup

* more docs

* resource cache

* No dynamic perlin noise generation [no fun allowed] and new blur softening method

* magic numbers and rename

* misc cleanup

* removed init values because display compat mode broken

* misc cleanup

* bugfix

* fix

---------

Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>

* Greatly reduce spawn rate of salt ore (#43012)

* Disintegrate salt

* Salt is forever

* Forgot to exclude this file

* Fix ghost time of death (#43411)

* Use RealTime when setting ghost TimeOfDeath

* Don't pause with RealTime

* Oops. Also get rid of AutoGenerateComponentPause

* Gametest Part 2: Preliminary refactor every test to use GameTest as the framework. (#43207)

* Pass 1.

* i'm FREE

* Prevent hangups.

* okay fine here's an attribute for settings, will polish later and prolly remove the overridable thing.

* sigh.

* fix singular trigger bug so LatheTest doesn't flake.

* Remove SystemAttribute usage.

* Poke

* I used the shotgun. You know why? Cause the shot gun doesn’t miss, and unlike the shitty hybrid taser it stops a criminal in their tracks in two hits. Bang, bang, and they’re fucking done. I use four shots just to make damn sure. Because, once again, I’m not there to coddle a buncha criminal scum sucking f------, I’m there to 1) Survive the fucking round. 2) Guard the armory. So you can absolutely get fucked. If I get unbanned, which I won’t, you can guarantee I will continue to use the shotgun to apprehend criminals. Because it’s quick, clean and effective as fuck. Why in the seven hells would I fuck around with the disabler shots, which take half a clip just to bring someone down, or with the tazer bolts which are slow as balls, impossible to aim and do about next to jack shit, fuck all. The shotgun is the superior law enforcement weapon. Because it stops crime. And it stops crime by reducing the number of criminals roaming the fucking halls.

* Change the faulty store test into two tests, one of which is ignored for failing.

* Reagentgrinder Fix

* Test missing new

* Revert "Removed MovementBodyPartComponent (#43257)"

This reverts commit 07a757eea3d71ea5133440aae9928e49f189a2e8.

* Forgot one Sharp

* Remove Far Horizon XML Comments... parser hates it

* Comment out Holo Test, needs one written by us

* Guide Entry Test skip

* Christmas Kobols comment out for now

* Moved MovementBodyPartComponent into _DV space

* Change HumanoidLayer Test to our Markings

* Weather: Make Damage Work

* Fix Test Errors realted to wrongly set PowerState variables

* Stopping ArenaMobs from trying to open People

* Attempt to workaround the Dummysession

* Dumb Attempt to workaround the Dummysession

* remove unused MovementBodyPart

* tidy

* Fix Planet Weather crashing, by shoving new grids 150 tiles away.

* PR Review Changes

* Fix Devil being immune to Holy

* Some other Review Things

* Change _DV Tests to new ones

* Yaml Lint Errors

* Fix Build Errors and Test Build Errors mentioned in Review

* Remove unused Dependency

* Attempt to make the Test work

* PR Review fulfillments

* Spider Leg to Arachnid Leg

* Add Nullptr check

* Readding the no send condition

* Kitsune colors, Glimmer Style Popups, and some Comments

* Changed comment for ScaleVisual

* Changed Mindbreak Resolve to not log missing

* Add one more log Misisng

* Update RobustToolbox to v275.2.3, remove manual CI Lidgren patch

Includes a fix for 2 DOS attacks. No other changes.

* Removing this again...

* Glimmer Restyle works

* Glimmer Restyle baldness check

* Glimmer Restyle fix as intended

* Humanoid Appearance mention removal and Restyle early cancel removal

* Quickfix

* gated

---------

Co-authored-by: Kyle Tyo <36606155+VerinSenpai@users.noreply.github.com>
Co-authored-by: TriviaSolari <154280615+TriviaSolari@users.noreply.github.com>
Co-authored-by: InsoPL <lukasz.lindert@protonmail.com>
Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
Co-authored-by: MidoriKurage <104000416+mdrkrg@users.noreply.github.com>
Co-authored-by: Hitlinemoss <209321380+Hitlinemoss@users.noreply.github.com>
Co-authored-by: ScarKy0 <106310278+ScarKy0@users.noreply.github.com>
Co-authored-by: portfiend <109661617+portfiend@users.noreply.github.com>
Co-authored-by: pathetic meowmeow <uhhadd@gmail.com>
Co-authored-by: Aearo-Deepwater <77557990+Aearo-Deepwater@users.noreply.github.com>
Co-authored-by: Errant <35878406+Errant-4@users.noreply.github.com>
Co-authored-by: B_Kirill <153602297+B-Kirill@users.noreply.github.com>
Co-authored-by: Rachel Lowe <60523642+11BelowStudio@users.noreply.github.com>
Co-authored-by: alen <43865831+magnnusson@users.noreply.github.com>
Co-authored-by: Minemoder5000 <minemoder50000@gmail.com>
Co-authored-by: Leah <leahcatdev@gmail.com>
Co-authored-by: Princess Cheeseballs <66055347+Princess-Cheeseballs@users.noreply.github.com>
Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
Co-authored-by: beck-thompson <beck314159@hotmail.com>
Co-authored-by: Le-Arctic-Fox <leightonmicheal28@gmail.com>
Co-authored-by: Synthestra <blearsjace@gmail.com>
Co-authored-by: Steel <prorxan@gmail.com>
Co-authored-by: nekokiwa <hihihihihihihi833@gmail.com>
Co-authored-by: Pgriha <133212269+Pgriha@users.noreply.github.com>
Co-authored-by: ScarKy0 <scarky0@onet.eu>
Co-authored-by: Patrik Caes-Sayrs <heartofgoldfish@gmail.com>
Co-authored-by: robinthegirlthing <robinAWrobeson@gmail.com>
Co-authored-by: robin <robilythefoxxo@gmail.com>
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
Co-authored-by: beck-thompson <107373427+beck-thompson@users.noreply.github.com>
Co-authored-by: Samuka <47865393+Samuka-C@users.noreply.github.com>
Co-authored-by: lyxcaster <187148567+lyxcaster@users.noreply.github.com>
Co-authored-by: lyxcaster <mser956@gmail.com>
Co-authored-by: eoineoineoin <helloworld@eoinrul.es>
Co-authored-by: SlamBamActionman <83650252+SlamBamActionman@users.noreply.github.com>
Co-authored-by: Alzore <140123969+Blackern5000@users.noreply.github.com>
Co-authored-by: KeTuFaisPiKiNut <85769816+ketufaispikinut@users.noreply.github.com>
Co-authored-by: nomdéraisonnablementlong <you@example.com>
Co-authored-by: Moony <moony@hellomouse.net>
Co-authored-by: DaturoDewitt <49022685+DaturoDewitt@users.noreply.github.com>
Co-authored-by: Velken <8467292+Velken@users.noreply.github.com>
Co-authored-by: blueDev2 <89804215+blueDev2@users.noreply.github.com>
Co-authored-by: korczoczek <danielkorczok@gmail.com>
Co-authored-by: OrbitSystem07 <emilymurray717@gmail.com>
Co-authored-by: Redrover1760 <39284090+Redrover1760@users.noreply.github.com>
Co-authored-by: Tayrtahn <tayrtahn@gmail.com>
Co-authored-by: Connor Huffine <chuffine@gmail.com>
Co-authored-by: IProduceWidgets <107586145+IProduceWidgets@users.noreply.github.com>
Co-authored-by: AffleWaffle <135037883+AffleWaffle@users.noreply.github.com>
Co-authored-by: Sir Warock <67167466+SirWarock@users.noreply.github.com>
Co-authored-by: Pharaz4 <143268074+Pharaz4@users.noreply.github.com>
Co-authored-by: Jessica M <jessica@jessicamaybe.com>
Co-authored-by: Pok <113675512+Pok27@users.noreply.github.com>
Co-authored-by: deltanedas <39013340+deltanedas@users.noreply.github.com>
Co-authored-by: UpAndLeaves <92269094+Alpha-Two@users.noreply.github.com>
Co-authored-by: ProPeperos <61984624+ProPeperos@users.noreply.github.com>
Co-authored-by: Shegare <147345753+Shegare@users.noreply.github.com>
Co-authored-by: neomoth <admin@neomoth.dev>
Co-authored-by: August Sun <45527070+august-sun@users.noreply.github.com>
Co-authored-by: august-sun <45527070+august.sun@users.noreply.github.com>
Co-authored-by: alexalexmax <149889301+alexalexmax@users.noreply.github.com>
Co-authored-by: seanpimble <149889301+seanpimble@users.noreply.github.com>
Co-authored-by: Coco <CoconutThunder@users.noreply.github.com>
Co-authored-by: Red <96445749+TheShuEd@users.noreply.github.com>
Co-authored-by: TemporalOroboros <TemporalOroboros@gmail.com>
Co-authored-by: Geekyhobo <66805063+Geekyhobo@users.noreply.github.com>
Co-authored-by: Simon <63975668+Simyon264@users.noreply.github.com>
Co-authored-by: Centronias <me@centronias.com>
Co-authored-by: Taser <81585596+TaserTheFox@users.noreply.github.com>
Co-authored-by: Crude Oil <124208219+CroilBird@users.noreply.github.com>
Co-authored-by: SnappingOpossum <snappingopossum@outlook.com>
Co-authored-by: themias <89101928+themias@users.noreply.github.com>
Co-authored-by: Diego Lobo <widsgamecube@gmail.com>
Co-authored-by: āda <ss.adasts@gmail.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: WS01 <151183296+Tuchila-Adi-Bogdan@users.noreply.github.com>
Co-authored-by: ConstantlyConfused <67894661+Eternally-Confused@users.noreply.github.com>
Co-authored-by: Vladislav Suchkov <20380250+murolem@users.noreply.github.com>
Co-authored-by: Ben Dake <124413509+Buunie099@users.noreply.github.com>
Co-authored-by: Kyle Tyo <akikai297@gmail.com>
Co-authored-by: Prole <172158352+Prole0@users.noreply.github.com>
Co-authored-by: MendaxxDev <153332064+MendaxxDev@users.noreply.github.com>
Co-authored-by: mq <113324899+mqole@users.noreply.github.com>
Co-authored-by: Not-A-Chair <106408238+Not-A-Chair@users.noreply.github.com>
Co-authored-by: Arcane <234029700+ArcaneValiance@users.noreply.github.com>
Co-authored-by: salarua <salarua@protonmail.com>
Co-authored-by: Gentleman-Bird <dcgreen406@gmail.com>
Co-authored-by: Marchy <89603088+M4rchy-S@users.noreply.github.com>
Co-authored-by: Jessica M <jessica@maybe.sh>
Co-authored-by: ruddygreat <53099277+ruddygreat@users.noreply.github.com>
Co-authored-by: ruddygreat <ruddygreat1@gmail.com>
Co-authored-by: Chris V. <HoofedEar@users.noreply.github.com>
Co-authored-by: iaada <iaada@users.noreply.github.com>
Co-authored-by: MissKay1994 <15877268+MissKay1994@users.noreply.github.com>
Co-authored-by: TNE <tne@garudalinux.org>
Co-authored-by: Tobias Berger <toby@tobot.dev>
2026-06-29 21:40:08 +02:00
Janet Blackquill 0d8644179b gated 2026-06-29 15:14:28 -04:00
Janet Blackquill 63b8364864 Quickfix 2026-06-29 13:50:13 -04:00
Tobias Berger 0919d0f064 Merge branch 'main' into pr/5894 2026-06-29 18:59:38 +02:00
BriBroooandpre-commit-ci[bot] 448b755b75 Fixes messageId console errors (#6143)
* Fixes messageId console errors

Replaced paper.yml HydroCo's notices in the paper-misc.ftl file and moved the [bold] to the last line to prevent error messages in the console

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2026-06-29 09:59:09 -05:00
Delta-V bot 977e47b434 Automatic changelog update 2026-06-29 16:06:38 +02:00
Vanessa ee18b71805 Various Crew Monitor Fixes/Tweaks (#6139)
* Various Crew Monitor Fixes/Tweaks

* comment

* comment

* Increased wireless ranges
2026-06-29 14:06:18 +00:00
29b64c1f7e Suffix and other entity naming megafix (#6091)
* Suffix and other entity naming megafix

* migration

* others

---------

Signed-off-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
Co-authored-by: Velcroboy <velcroboy333@hotmail.com>
Co-authored-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
2026-06-29 14:00:08 +00:00
Delta-V bot a99d488b04 Automatic changelog update 2026-06-29 15:39:43 +02:00
f18d6803b9 PORT: DV's Pool Episode - Longue Chairs + Swim Rings + Pool Tiles & Water (#6113)
* Pool-Themed Decorations: Lounge Chairs, Umbrellas, Tiles, Swim Rings, and Pool Water (#2071)

<!-- Guidelines:
https://docs.spacestation14.io/en/getting-started/pr-guideline -->
<!-- NOTE: All code submitted to this repository is ALWAYS licensed
under the AGPL-3.0-or-later license.
The REUSE Specification headers or separate .license files indicate a
secondary license (e.g., MPL or MIT) solely to facilitate
integration for projects that do not use the AGPL license. This
secondary license does not replace the fact that AGPL-3.0-or-later
remains the primary and binding license.
Uncomment and modify the following line if you wish to change the
license from the default of AGPL.-->
<!--- LICENSE: AGPL -->
<!-- What did you change? -->

This PR adds a bunch of, well, mapper toys basically, but normal players
can obtain them too. They are:
- Pool tile and dark pool tile; obtainable via the cutter machine.
- Pool water; unobtainable without mapping/admin tools, but it's 1%
chlorine.
- Lounge chairs, constructed with steel and cloth. Deconstructible with
a screwdriver.
- Beach umbrellas, constructed with rods and cloth. Deconstructible with
a screwdriver.
- Swim rings, which can be ordered from Logistics. They're sort of like
the emergency comfort units (pillows), but they're inflatable rings and
you can pick them up.

<!-- Discuss how this would affect game balance or explain why it was
changed. Link any relevant discussions or issues. -->
These assets are needed for an upcoming map I'm making and I'm giving
them to the community early out of the kindness of my heart

<!-- Summary of code changes for easier review. -->
All YML and sprites babyyy

- Entity prototypes for chairs, umbrellas, pool water, swim rings, and
the pool tile stack items
- Some construction graphs
- A cargo product
- A floor definition
- Recipes for the tile cutter

Pool water IS drinkable because it's extremely funny. Keep in mind that
50u of pool water will only give you like 2 poison damage

<!-- Attach media if the PR makes ingame changes (clothing, items,
features, etc).
Small fixes/refactors are exempt. Media may be used in SS14 progress
reports with credit. -->

Preview of the stuff:

<img width="713" height="541" alt="image"
src="https://github.com/user-attachments/assets/42f1acc8-cc83-4356-a8e0-3c715245d120"
/>

<img width="697" height="666" alt="image"
src="https://github.com/user-attachments/assets/8597017a-9d03-4419-80c5-cf475f3206d1"
/>

sorry i forgot the pink ring

<img width="253" height="179" alt="image"
src="https://github.com/user-attachments/assets/7f738f8e-42b4-4ee4-aa75-9f08b67ded0c"
/>

sorry i forgot the white chair

<img width="206" height="140" alt="image"
src="https://github.com/user-attachments/assets/6fabe541-4821-4e88-8d64-a99f463c5253"
/>

Cargo:

<img width="633" height="461" alt="image"
src="https://github.com/user-attachments/assets/b8ae9b89-4d2f-4326-9814-d000d5e88809"
/>

Crafting menu:

<img width="266" height="454" alt="image"
src="https://github.com/user-attachments/assets/cc480ee6-0e0d-4055-93c3-e5a1c4e0687c"
/>

<img width="409" height="211" alt="image"
src="https://github.com/user-attachments/assets/41970a43-1ba8-4898-a96c-deb87a05a409"
/>

<img width="409" height="211" alt="image"
src="https://github.com/user-attachments/assets/ffc00874-e330-49eb-8aba-972c6d223a3a"
/>

Pool water:

<img width="680" height="463" alt="image"
src="https://github.com/user-attachments/assets/9abc48b0-8358-46de-89ef-41fc64989787"
/>

<!-- Confirm the following by placing an X in the brackets [X]: -->
- [x] I have read and am following the [Pull Request and Changelog
Guidelines](https://docs.spacestation14.com/en/general-development/codebase-info/pull-request-guidelines.html).
- [x] I have added media to this PR or it does not require an ingame
showcase.
- [x] I have tested any changes or additions.
- [x] I can confirm this PR contains no AI-generated content, and did
not use any AI-generated content.
<!-- You should understand that not following the above may get your PR
closed at maintainer’s discretion -->

<!-- List any breaking changes, including namespaces, public
class/method/field changes, prototype renames; and provide instructions
for fixing them.
This will be posted in #codebase-changes. -->

Nope

**Changelog**
<!-- Add a Changelog entry to make players aware of new features or
changes that could affect gameplay.
Make sure to read the guidelines and take this Changelog template out of
the comment block in order for it to show up.
Changelog must have a 🆑 symbol, so the bot recognizes the changes and
adds them to the game's changelog. -->
🆑
- add: 13 colors of lounge chairs can be constructed out of steel and
cloth.
- add: 8 colors of beach umbrellas can be constructed out of rods and
cloth.
- add: Pool tile (and dark pool tile) can be produced at the cutter
machine.
- add: Logistics can now order a crate of bulk swim rings, in 11
possible colors!
- add: For mappers (and admins): there is a new "pool water" entity that
is a nice green-cyan color and contains about 1% chlorine.

---------

Co-authored-by: sleepyyapril <123355664+sleepyyapril@users.noreply.github.com>

* Remove Umbrella + Fixes from Port

* Pool Ring Additions

* Buff Fishing Vendor

* grr

* its no longer 2am

---------

Co-authored-by: portfiend <109661617+portfiend@users.noreply.github.com>
Co-authored-by: sleepyyapril <123355664+sleepyyapril@users.noreply.github.com>
2026-06-29 08:39:22 -05:00
Delta-V bot db38e48754 Automatic changelog update 2026-06-29 15:27:30 +02:00
MD360 3acbf512be Borgs must amogus. (#6126)
* We must scream

* +1 License

* Moved to _DV audio

* + Comment

* forgot space
2026-06-29 13:27:10 +00:00
pathetic meowmeowandVanessa cb956f605f Use the actual backported engine fix (#6138)
* Revert "I hate submodules. Why did it have to be submodules? (#6117)"

This reverts commit d3b13a6c83.

* from one workaround to another

---------

Signed-off-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
Co-authored-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
2026-06-29 13:43:52 +02:00
Coryler 2e5db0ee5b Humanoid Appearance mention removal and Restyle early cancel removal 2026-06-29 12:44:23 +02:00
Coryler 14d6a2449a Glimmer Restyle fix as intended 2026-06-29 12:44:22 +02:00
Coryler d207efd604 Glimmer Restyle baldness check 2026-06-29 12:44:22 +02:00
Coryler df48892c77 Glimmer Restyle works 2026-06-29 12:44:22 +02:00
Coryler 7ec3301313 Removing this again... 2026-06-29 12:44:22 +02:00
TNE 52192d4cfb Update RobustToolbox to v275.2.3, remove manual CI Lidgren patch
Includes a fix for 2 DOS attacks. No other changes.
2026-06-29 12:44:22 +02:00
Coryler 78ee68e600 Add one more log Misisng 2026-06-29 12:44:22 +02:00
Coryler 0bfdc24673 Changed Mindbreak Resolve to not log missing 2026-06-29 12:44:22 +02:00
Coryler 475cbeab18 Changed comment for ScaleVisual 2026-06-29 12:44:22 +02:00
Coryler d68cd142a1 Kitsune colors, Glimmer Style Popups, and some Comments 2026-06-29 12:44:22 +02:00
Coryler 79711bc285 Readding the no send condition 2026-06-29 12:44:22 +02:00
Coryler 7a9f718c92 Add Nullptr check 2026-06-29 12:44:21 +02:00
Coryler 5192d4ab03 Spider Leg to Arachnid Leg 2026-06-29 12:44:21 +02:00
Coryler 63d7c592a1 PR Review fulfillments 2026-06-29 12:44:21 +02:00
Coryler 61b980c6e5 Attempt to make the Test work 2026-06-29 12:44:21 +02:00
Coryler 586b71c82a Remove unused Dependency 2026-06-29 12:44:21 +02:00
Coryler e3d0afccf7 Fix Build Errors and Test Build Errors mentioned in Review 2026-06-29 12:44:21 +02:00
Coryler c07c932b6a Yaml Lint Errors 2026-06-29 12:44:21 +02:00
Coryler f8979bbeda Change _DV Tests to new ones 2026-06-29 12:44:21 +02:00
Coryler 91757358b9 Some other Review Things 2026-06-29 12:44:21 +02:00
Coryler 04cd42187a Fix Devil being immune to Holy 2026-06-29 12:44:20 +02:00
Coryler 4099d94344 PR Review Changes 2026-06-29 12:44:20 +02:00
Coryler e90bc7332f Fix Planet Weather crashing, by shoving new grids 150 tiles away. 2026-06-29 12:44:20 +02:00
Janet Blackquill 03fe729471 tidy 2026-06-29 12:44:20 +02:00
Janet Blackquill c62e6a694d remove unused MovementBodyPart 2026-06-29 12:44:20 +02:00
Coryler cb2c2cd719 Dumb Attempt to workaround the Dummysession 2026-06-29 12:44:20 +02:00
Coryler 8ad8ba9199 Attempt to workaround the Dummysession 2026-06-29 12:44:20 +02:00
Coryler ed9d604f9d Stopping ArenaMobs from trying to open People 2026-06-29 12:44:20 +02:00
Coryler 89dd41763b Fix Test Errors realted to wrongly set PowerState variables 2026-06-29 12:44:19 +02:00
Coryler a0ef5b737e Weather: Make Damage Work 2026-06-29 12:44:19 +02:00
Coryler 025991f019 Change HumanoidLayer Test to our Markings 2026-06-29 12:44:19 +02:00
Coryler df073eb57d Moved MovementBodyPartComponent into _DV space 2026-06-29 12:44:19 +02:00
Coryler 74ca68cfe4 Christmas Kobols comment out for now 2026-06-29 12:44:19 +02:00
Coryler f18f591c11 Guide Entry Test skip 2026-06-29 12:44:19 +02:00
Coryler 2628cd07dd Comment out Holo Test, needs one written by us 2026-06-29 12:44:19 +02:00
Coryler 29addda0fe Remove Far Horizon XML Comments... parser hates it 2026-06-29 12:44:19 +02:00
Coryler c6bc55bb41 Forgot one Sharp 2026-06-29 12:44:18 +02:00
Coryler b1288f3f0a Revert "Removed MovementBodyPartComponent (#43257)"
This reverts commit 07a757eea3d71ea5133440aae9928e49f189a2e8.
2026-06-29 12:44:18 +02:00
Coryler 0187242d9d Test missing new 2026-06-29 12:44:18 +02:00
Coryler f0b9b97da8 Reagentgrinder Fix 2026-06-29 12:44:18 +02:00
Moony 6656adc083 Gametest Part 2: Preliminary refactor every test to use GameTest as the framework. (#43207)
* Pass 1.

* i'm FREE

* Prevent hangups.

* okay fine here's an attribute for settings, will polish later and prolly remove the overridable thing.

* sigh.

* fix singular trigger bug so LatheTest doesn't flake.

* Remove SystemAttribute usage.

* Poke

* I used the shotgun. You know why? Cause the shot gun doesn’t miss, and unlike the shitty hybrid taser it stops a criminal in their tracks in two hits. Bang, bang, and they’re fucking done. I use four shots just to make damn sure. Because, once again, I’m not there to coddle a buncha criminal scum sucking f------, I’m there to 1) Survive the fucking round. 2) Guard the armory. So you can absolutely get fucked. If I get unbanned, which I won’t, you can guarantee I will continue to use the shotgun to apprehend criminals. Because it’s quick, clean and effective as fuck. Why in the seven hells would I fuck around with the disabler shots, which take half a clip just to bring someone down, or with the tazer bolts which are slow as balls, impossible to aim and do about next to jack shit, fuck all. The shotgun is the superior law enforcement weapon. Because it stops crime. And it stops crime by reducing the number of criminals roaming the fucking halls.

* Change the faulty store test into two tests, one of which is ignored for failing.
2026-06-29 12:44:18 +02:00
Tayrtahn c7e2660322 Fix ghost time of death (#43411)
* Use RealTime when setting ghost TimeOfDeath

* Don't pause with RealTime

* Oops. Also get rid of AutoGenerateComponentPause
2026-06-29 12:44:18 +02:00
MissKay1994 6314c94994 Greatly reduce spawn rate of salt ore (#43012)
* Disintegrate salt

* Salt is forever

* Forgot to exclude this file
2026-06-29 12:44:17 +02:00
InsoPLandArtisticRoomba 973e404751 Bugfix of Heat distortion shader (#43397)
* revert of the revert

* tests

* changes

* more fun

* test

* ccvvvar

* works but bad

* now its better

* more fixes

* more cleanup

* cleaning

* last fixes before move to glasses activ

* x

* glasses only

* working

* fix toolbox

* cleanup

* ThermalByte added

* small fix

* small optimalisations

* float bux fix

* comments add

* more comments

* more comments

* last fix

* revert cvar delete

* wrong blue shades

* cvar refactor

* Update Content.Shared/Atmos/EntitySystems/SharedGasTileOverlaySystem.cs

Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>

* Update Content.Client/Atmos/Overlays/GasTileDangerousTemperatureOverlay.cs

Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>

* tweak to TryGetTemperature comment

* Factors are now const

* renames

* Interface for ThermalByte

* tile color  vaccum and more comments

* saving yeeted

* integration test

* rename and cleanup

* fix

* cleanup

* switch

* UT fix (hopefully)

* small bug+ rename

* vaccum limit  + space is now invalid

* typo

* typo

* fix

* init, works

* move method around

* renames and split

* renames

* heatblur

* cleanup

* more docs

* resource cache

* No dynamic perlin noise generation [no fun allowed] and new blur softening method

* magic numbers and rename

* misc cleanup

* removed init values because display compat mode broken

* misc cleanup

* bugfix

* fix

---------

Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
2026-06-29 12:44:17 +02:00
ādaandiaada 0958929f64 Reduce speso value of tech disks (#43395)
commit

Co-authored-by: iaada <iaada@users.noreply.github.com>
2026-06-29 12:44:17 +02:00
Chris V. 6795e26843 Lathe Menu Title Enhancement (#43392)
* DefaultWindow -> FancyWindow, use SetInfoFromEntity

* code smell fix
2026-06-29 12:44:17 +02:00
ruddygreatandruddygreat b204c67e90 Remove PDA equip sprites (#40498)
* we have never had pda equip sprites.

* I didn't know the rsi validator would complain about that one tbh

---------

Co-authored-by: ruddygreat <ruddygreat1@gmail.com>
2026-06-29 12:44:17 +02:00
dca7952208 Fix changeling transform ability (#42107)
* fix changeling transform

* Add store UI on MapInit instead

* Apply suggestion from @slarticodefast

* Apply suggestion from @slarticodefast

---------

Co-authored-by: Jessica M <jessica@maybe.sh>
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2026-06-29 12:44:17 +02:00
Tayrtahn 5eee3a5de4 Update RT to 275.2.0 (#43378) 2026-06-29 12:44:17 +02:00
InsoPLandArtisticRoomba 58a5a0469f Heat distortion shader (#42973)
* revert of the revert

* tests

* changes

* more fun

* test

* ccvvvar

* works but bad

* now its better

* more fixes

* more cleanup

* cleaning

* last fixes before move to glasses activ

* x

* glasses only

* working

* fix toolbox

* cleanup

* ThermalByte added

* small fix

* small optimalisations

* float bux fix

* comments add

* more comments

* more comments

* last fix

* revert cvar delete

* wrong blue shades

* cvar refactor

* Update Content.Shared/Atmos/EntitySystems/SharedGasTileOverlaySystem.cs

Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>

* Update Content.Client/Atmos/Overlays/GasTileDangerousTemperatureOverlay.cs

Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>

* tweak to TryGetTemperature comment

* Factors are now const

* renames

* Interface for ThermalByte

* tile color  vaccum and more comments

* saving yeeted

* integration test

* rename and cleanup

* fix

* cleanup

* switch

* UT fix (hopefully)

* small bug+ rename

* vaccum limit  + space is now invalid

* typo

* typo

* fix

* init, works

* move method around

* renames and split

* renames

* heatblur

* cleanup

* more docs

* resource cache

* No dynamic perlin noise generation [no fun allowed] and new blur softening method

* magic numbers and rename

* misc cleanup

* removed init values because display compat mode broken

* misc cleanup

---------

Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
2026-06-29 12:44:16 +02:00
Marchyandslarticodefast 02e9751013 "Reduce motion of visual effects" now works for blood loss effect (#41878)
* "Reduce motion of visual effects" now works for blood loss effect

* Improve strenght

* Make motion less strong

* Stop motion effect

* cleanup and rebalancing

* fix warning

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2026-06-29 12:44:16 +02:00
Gentleman-Bird 81fa41913b Fix: Make clockwork glass grindable (#43371)
make cGlass grindable
2026-06-29 12:44:16 +02:00
Tayrtahn 799dc60fd2 Fix TrackingIssueAttribute blocking orgs/repos containing numbers (#43369)
Fix TrackingIssueAttribute blocking orgs/repos containing numbers
2026-06-29 12:44:16 +02:00
slarticodefastandArtisticRoomba 79e519696b cleanup GasPrototype and some other atmos code (#43318)
* cleanup

* fix some localizations

* fix typo

* review and test fix

* rename

* minus one

---------

Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
2026-06-29 12:44:16 +02:00
Tayrtahn d9b585051f Update RT to 275.1.0 (#43368) 2026-06-29 12:44:15 +02:00
Tayrtahn c32b082254 Remove [Virtual] from some classes that shouldn't have it (#43347)
* Remove [Virtual] from some classes that shouldn't have it

* Back to virtual with you
2026-06-29 12:44:15 +02:00
Velken 4faae65643 [FIX] Moved random manifest back server (#43361)
* moved random manifest back server

* fix ordering
2026-06-29 12:44:15 +02:00
Simon 9b099cc12c Minor fixes to server api ban endpoint (#43355)
minor fixes to server api ban endpoint
2026-06-29 12:44:15 +02:00
MoonyandTayrtahn 3c48c0129f GameTest part 1 (#43182)
* Ports much of GameTest, minus all the WIP stuff.

* remark.

* EnsureCVar now adds test properties.

* Some cleanup and functionality.

* Ignore broken test. Needs fixed eventually. Also explicit context config.

* TrackingIssue attribute.

* oops

* Pair config attribute.

* Remove SystemAttribute in favor of using the EntitySystemManager dependency collection.

* Ensure idleness.

* More tests for tests.

* More specific failure catching tests.

* Reverse attribute resolution order so suite-wide attributes happen first.

* Get rid of AffectedProperties again because I need to refactor PoolSettings for that.

* Poke

* Final cleanup pass.

* Update Content.IntegrationTests/Fixtures/Attributes/RunOnSideAttribute.cs

Co-authored-by: Tayrtahn <tayrtahn@gmail.com>

* Update Content.IntegrationTests/Fixtures/Attributes/Side.cs

Co-authored-by: Tayrtahn <tayrtahn@gmail.com>

* Update Content.IntegrationTests/NUnit/Utilities/ITestExtensions.cs

Co-authored-by: Tayrtahn <tayrtahn@gmail.com>

* Fixes.

* shut up nunit.

* Make TrackingIssue a bit strict on purpose, so people don't put junk here.

* Update Content.IntegrationTests/Tests/GameTestTests/DisconnectedDependencyTest.cs

Co-authored-by: Tayrtahn <tayrtahn@gmail.com>

* Address.

---------

Co-authored-by: Tayrtahn <tayrtahn@gmail.com>
2026-06-29 12:44:15 +02:00
salarua f7cde159c5 Change chat straight quotes to curly quotes (#43350) 2026-06-29 12:44:15 +02:00
Tayrtahn 8f69627d43 Update RT to 275.0.0 (#43357) 2026-06-29 12:44:14 +02:00
SnappingOpossum 2b86bdd407 Painting and poster random spawners to entity table spawners (#43270)
Painting and poster random spawners to tables
2026-06-29 12:44:14 +02:00
Tayrtahn b7ac8d2fc3 Fix SharedCrayonSystem being both [Virtual] and abstract (#43339)
Remove [Virtual] from SharedCrayonSystem
2026-06-29 12:44:14 +02:00
Arcane 949a277f79 Fixes ambuzol pills. (#43331)
Fixes ambuzol pills. pp doo kaka
2026-06-29 12:44:14 +02:00
Not-A-Chair 03b20830f5 trico no longer heals when mob is crit, and no longer heals rad (#43293)
* trico no longer heals when mob is crit, and no longer heals rad

Tricordrazine no longer heals when mob is crit and no longer heals radiation damage.

* Inverted crit mobstate -> alive mobstate
2026-06-29 12:44:14 +02:00
slarticodefast cb3554b579 remove all use cases of TimerComponent (#43320)
cleanup TimerComponent
2026-06-29 12:44:13 +02:00
slarticodefast 1ec3aa7248 Update RT to 274.0.1 (#43337)
update RT to 274.0.1
2026-06-29 12:44:13 +02:00
SnappingOpossum a0788d49f8 Move remaining random spawners to entity table spawners (#43324)
Move remaining random spawners to tables
2026-06-29 12:44:13 +02:00
mq 55662b5a5c Flatpack opening uses collision of flatpacked entity (#41849)
* flatpacks openable on tables, ignore ghosts

* suggested changes

* if i stash this im going to forget that a stash exists.

* FINAL final (1)

* FINAL final (2)

* i now understand networking
2026-06-29 12:44:13 +02:00
Kyle Tyo c8d1356446 Correct attribution for /Textures/Objects/mre.rsi (#43328)
Update meta.json
2026-06-29 12:44:13 +02:00
Kyle Tyo 4ff7db897e Fix welders running an additional time when no damage remains. (#43321)
Update RepairableSystem.cs
2026-06-29 12:44:13 +02:00
MendaxxDev 8416a31210 removed PhysicalConstants.ZERO_CELCIUS (#43316) 2026-06-29 12:44:12 +02:00
slarticodefast aad63f460b Fix melee attack sprite rotations (#43307)
fix melee rotation
2026-06-29 12:44:12 +02:00
SnappingOpossum d494434458 Move some simple random spawners to entity table spawners (#43305)
Simple random spawners to entity tables
2026-06-29 12:44:12 +02:00
ProPeperos b6f45dc2b5 Borg charger hitbox changes (#43300)
* Borg chargers no longer rotate

* Orbing your charger NOW
2026-06-29 12:44:12 +02:00
SnappingOpossumandslarticodefast bb809cd5a0 Move salvage RandomSpawners to EntityTableSpawners (#43233)
* Move salvage RandomSpawners to EntityTableSpawners

* Spellcheck

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>

* Apply requested changes for spawner

* Move another prob to parent selector

* Why wasn't it that before

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2026-06-29 12:44:11 +02:00
Prole 019d934075 Cleaning Blood Footstep Sounds (#43266)
The noises have stopped
2026-06-29 12:44:11 +02:00
Kyle Tyo fdd1d1fb08 DeleteComponentCommand minor cleanup/rename. (#43289)
commit
2026-06-29 12:44:11 +02:00
Ben Dake 5b7c1b2c8e Fix thermomachine guidebook typo (#43285)
Fix typo
2026-06-29 12:44:10 +02:00
Princess CheeseballsandPrincess Cheeseballs 196a26a5ca Fix Airtight Explosion Cache (#43276)
fix explosions

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2026-06-29 12:44:10 +02:00
Vladislav Suchkovandslarticodefast 7addfbec77 Tech disk resprite and pricing changes (#37719)
* init

new disks are in. can be spawned or printed. no weights or correctly bound techs yet.

* tweak textures and naming

* make tech disks respect their tier and discipline

* make tech console respect tier weight

* yml fixes (forgo a million things)

* meow :3 reworked to use GenericVisualizer

* moved staticPrice comp to shared to support different pricing per tier

* unhardcoded prices; tweaked log messages

* cleanup

* a few fixes

* updated pricing to match weights

* lowering prices I forgor how many of them science can print

* what

* t3 texture, logger, factory

* move PriceCalculationEvent & EstimatedPriceCalculationEvent to shared

* remove static price comp; use EntProtoId for disk proto

* moved staticPrice comp back to server

* cleanup: price event, visualizer enums & yml

* ummove PriceCalculationEvent

* ummove PriceCalculationEvent attempt #2

* more unmoving

* fixes

* predict onExamine

* review changes

* small cleanup

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2026-06-29 12:44:10 +02:00
ConstantlyConfused 909f0e49ab Make the chem guidebook show when chemicals adjust body temperature (again) (#42394)
Make chem guidebook show adjusttemperature effects
2026-06-29 12:44:10 +02:00
Tayrtahn 2a9b640fc6 Update RT to 274.0.0 (#43261) 2026-06-29 12:44:10 +02:00
Moony b6d8de1258 Add test result archiving to our test actions + Test fixes (#43175)
* Add test result archiving to our test actions.

* heck.

* Don't waste tremendous amounts of storage.

* Fix ReagentDataTest.

* Reduce retention and increase compression on integration output.

* Back to 7 days, depend on RT instead.

* Poke.

* Fix linter.

* til.

* Actually send YAMLLinter's pair messages into the void.
2026-06-29 12:44:10 +02:00
ArtisticRoomba d1c86ee235 Fix floating point tilefire nonsense (#43263)
* Change method call and epsilon

* holy guacamole
2026-06-29 12:44:10 +02:00
ScarKy0 a1b69294b2 Revert "Xenoborg extractor (#42796)"
This reverts commit 7f15e77954.
2026-06-29 12:44:10 +02:00
WS01 c2c3ff8c1a Removed MovementBodyPartComponent (#43257) 2026-06-29 12:44:09 +02:00
slarticodefast 42113bb30b Fix reagent grinders on dev map (#43253)
fix grinders on dev map
2026-06-29 12:44:09 +02:00
c7077a388c Predict reagent grinder (#42815)
* prediction!!!

* fixes

* fixes and add debug logs

* fix prediction and cleanup

* raise event on client + comp access

* reapply power state changes

* Update Content.Client/Kitchen/EntitySystems/ReagentGrinderSystem.cs

Co-authored-by: ScarKy0 <106310278+ScarKy0@users.noreply.github.com>

* Update Content.Shared/Kitchen/Components/ReagentGrinderComponent.cs

Co-authored-by: ScarKy0 <106310278+ScarKy0@users.noreply.github.com>

* comments and prefilled grinder protos

* t

---------

Co-authored-by: ScarKy0 <106310278+ScarKy0@users.noreply.github.com>
Co-authored-by: ScarKy0 <scarky0@onet.eu>
2026-06-29 12:44:09 +02:00
ScarKy0 1a7cb0c510 Revert "Remove salv stuff from mothership (#43007)"
This reverts commit eea773ffee.
2026-06-29 12:44:09 +02:00
Coryler 7e3606ae6b Readd old StatusEffect 2026-06-29 12:44:09 +02:00
Coryler 398712ee12 Rename some Shadow to Soul
Meh

Ok... :/

Test attempt fix

Another Attempt to fix, the null ref

Another Attempt to fix :/

argh

I would really hatre if this is the solution

Try to find null ref

Searching for the fix
2026-06-29 12:44:09 +02:00
Coryler b84df1993c Change Metabolism of newly reagents 2026-06-29 12:44:09 +02:00
Coryler 6f16d07fa0 Revert "Remove loadout time towels (#42536)"
This reverts commit b3ddf57affd43fa952dbae6b7439a881026191bb.
2026-06-29 12:44:09 +02:00
Coryler 75c59ba997 Change PostMapInit Path to our actual maps 2026-06-29 12:44:09 +02:00
Coryler dedfa69f7f Removing last yml errors 2026-06-29 12:44:09 +02:00
Coryler 4caaeba72c Revert this back to Component Registry 2026-06-29 12:44:08 +02:00
Coryler 35f4533a7f Change some of hte old values back 2026-06-29 12:44:08 +02:00
Coryler ac3793dafc This oughta fix it 2026-06-29 12:44:08 +02:00
Coryler 0de4c1646a More Migration 2026-06-29 12:44:08 +02:00
Coryler 772c004c48 Restore rebased removed actions 2026-06-29 12:44:08 +02:00
Coryler b026ded3db Fix weather scheduler attempt 2026-06-29 12:44:08 +02:00
Coryler a9eeb98744 Fix some Build Warnings 2026-06-29 12:44:08 +02:00
Coryler d7b086865b Additional migration mention and briefcase item removal 2026-06-29 12:44:08 +02:00
Coryler 5388e869e4 Fix mroe Build Errors and move Weather Damage into _DV 2026-06-29 12:44:08 +02:00
Coryler 17e5bb87ab Fix Build Errors 2026-06-29 12:44:07 +02:00
Coryler da45e22ffe Fix WeatheR Scheduler
Weather still needs work
2026-06-29 12:44:07 +02:00
pre-commit-ci[bot] fcee456397 [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2026-06-29 12:44:07 +02:00
Coryler 0e7c4ecee3 Fix Locale issues. Some yml issues I have no idea how to fix 2026-06-29 12:44:07 +02:00
Coryler c398193cfe Make more Yaml Changes to appease the Linter 2026-06-29 12:44:07 +02:00
Coryler cc5300d1ef More progress against the linter 2026-06-29 12:44:07 +02:00
Coryler 254823df76 Scaling works, some errors killed. 2026-06-29 12:44:07 +02:00
Coryler e1231ab140 Move TotalDamageCondition into _DV along with some other fixes 2026-06-29 12:44:07 +02:00
Coryler 5e7c4ec6e0 Remove DV FeedbackPopup, due to the upstream one 2026-06-29 12:44:07 +02:00
Coryler 7b939bfd28 Fix files for upmerge changes. Notably Nubnody and Damagaeable 2026-06-29 12:44:06 +02:00
Coryler 7d0cbda4e8 Port Species 2026-06-29 12:44:06 +02:00
Kyle Tyo 6f6483f543 Fix bug blocking character saves for species without hair. (#43170)
* Update ServerDbBase.cs

* Update ServerDbBase.cs

* Update ServerDbSqliteTests.cs

* :grumble grumble grumble:

* tests

* Update ServerDbSqliteTests.cs

* commit

* forgot this.

* relocation.

* nope, not doing that lmao

* Update ServerDbSqliteTests.cs

* test rerun

* GAAAAAA

* Update ServerDbSqliteTests.cs

* Update ServerDbSqliteTests.cs

* Update ServerDbSqliteTests.cs

* GAAAAAA

* go fish
2026-06-29 12:44:06 +02:00
Velken 24b56cfe96 Refactor Ion Law string generation (#42629)
* YAMLs your ion laws

* forgot some weights

* this should be it

* comments and DAGD

* improved testing

* addressing review (part 1 out of 2)

* still part 1 :gosomnia:

* part 2

* refactor the refactor

* loc error fluffs

* address review

* weh

* cleanup

* oops

* fix

* more cleaning

* forgot to remove old thing

* prediction

* fix

# Conflicts:
#	Content.Server/Silicons/Laws/IonStormSystem.cs
2026-06-29 12:44:06 +02:00
a667530e18 Single item cargo orders are delivered in Parcel Wrap instead of crates (#40834)
* - rework a bunch of cargo orders to not send a crate with just one thing
  - instead sends the item, wrapped
- add ability for cargo orders to wrap the item ordered in parcel wrap
- cargo order name and descriptions are now localization strings, but still 99.99% of the time just get that info from the entity they're spawning
- small refactor to how cargo orders move around in cargo code so that the actual order proto is kept around longer
- small rework to certain restock cargo orders to halve the cost and number of items received in one order

* oop

* Suffering

* Arbitrary containers for cargo products

* I ran the tests locally and they passed, github please rerun :)

* massage Slarti's work into this.
Mainly by taking the API wrapping ability out back with the rifle q-q

* testfail fake

* wow `_applyingState` is useful, I wonder where I should've been using that in other PRs before :^)

* pr comments

* tfw the hook doesn't update the submodule

* Update Content.Client/Cargo/UI/CargoConsoleMenu.xaml.cs

Co-authored-by: āda <ss.adasts@gmail.com>

* PR comments

* fixies

* Update Content.Client/Cargo/UI/CargoConsoleMenu.xaml.cs

* Update Content.Shared/ParcelWrap/Systems/ParcelWrappingSystem.WrappedParcel.cs

* fix wrapped parcel entity name + audio

* Actually read PR comments

* Apply suggestions from code review

Co-authored-by: ScarKy0 <106310278+ScarKy0@users.noreply.github.com>

---------

Co-authored-by: āda <ss.adasts@gmail.com>
Co-authored-by: ScarKy0 <106310278+ScarKy0@users.noreply.github.com>
2026-06-29 12:44:06 +02:00
Diego Lobo dfb76ff520 Update ruined_prison_ship.yml (#43242)
Fixed the ruined prison ship yml 2779 line Destryoed thruster to Destroyed thruster
2026-06-29 12:44:06 +02:00
Tayrtahn cad016ccef Move ID card name/title length limit to server (#43237)
* Validate string lengths serverside

* Organize usings

* Remove clientside check

* Also remove the cvar caching in the UI

It's one dictionary call, Michael. What could it cost?
2026-06-29 12:44:06 +02:00
ee62de4c20 Refactor: Gas tile overlay split (#42881)
* yeah

* split2

* well

* cleanup

* docs fix

* Dependency cleanup

* Update Content.Client/Atmos/EntitySystems/GasTileFireOverlaySystem.cs

Co-authored-by: Pok <113675512+Pok27@users.noreply.github.com>

* Update Content.Client/Atmos/Overlays/GasTileVisibleGasOverlay.cs

Co-authored-by: Pok <113675512+Pok27@users.noreply.github.com>

* Update Content.Client/Atmos/Overlays/GasTileVisibleGasOverlay.cs

Co-authored-by: Pok <113675512+Pok27@users.noreply.github.com>

* yup

* modifying a lot anyways

* other cleanup

---------

Co-authored-by: Pok <113675512+Pok27@users.noreply.github.com>
Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
2026-06-29 12:44:06 +02:00
InsoPLandArtisticRoomba 8e6ab360e2 CachedResources for GasTileDangerousTemperatureOverlay (#43032)
* init

* minifix

* that is nullable

---------

Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
2026-06-29 12:44:05 +02:00
B_Kirill 607abc0b41 Cleanup warnings: CS0168, CS0414 (#43198)
* Cleanup warnings: CS0168, CS0414

* That was the right thing to do

* Please tell me that this is a random fail

* ...

* last try

* revert
2026-06-29 12:44:05 +02:00
Moony 4e4e6e13a2 Content-side IRobustRandom cleanup. (#43231)
* Content-side fixes for engine IRobustRandom rejig.

* Define for ensuring SetSeed works.

* Poke.

* Poke

* Poke.
2026-06-29 12:44:05 +02:00
themias f06a3a695d Add a holy light effect to bible healing (#43189)
* save

* remove unneeded event

* Revert "remove unneeded event"

This reverts commit 779ec783094144ca978a5e9d111235e29539e8a3.

Revert "save"

This reverts commit f88e0ab18b253915f5efde5886a4701a73ffa35a.

* Use simple light effect entities with TimedDespawn
2026-06-29 12:44:05 +02:00
SnappingOpossum e8ffd71067 Make EntityTableSpawner spawn relative to grid instead of map (#43234) 2026-06-29 12:44:05 +02:00
Crude Oil 0d5d7f6745 Fix missing word from emitter alerts (#43225)
* fix emitter yapping

* use actual locid objects
2026-06-29 12:44:05 +02:00
Taser 6398bb8080 fix bottle reagent localization (#43208) 2026-06-29 12:44:05 +02:00
733d479425 Move a metric fuckton of AtmosphereSystem to Shared. (#42989)
* AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

* fix the tests I broke

* Remove methods that the client shouldn't be calling. Hamburger.

* light cleanup for now

* review

* whoop

* docs updates and misc changes

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
2026-06-29 12:44:04 +02:00
Velken 6195c9982a [Fix] Silicon Ion Law Scramble Text (#43229)
scramble noises
2026-06-29 12:44:04 +02:00
Moony 56210a7d94 Removes a test that handles engine behavior in content. (#43228) 2026-06-29 12:44:04 +02:00
Centronias 0e884decd5 Make test runnable on windows in debug config again (#43227)
tfw ur fs isn't posix compliant
2026-06-29 12:44:04 +02:00
Centronias 36c7e7b194 Wrapped parcels can go into mail carts (#43226)
wrapped parcels can go into mail carts

yeah, it technically allows wrapped humanoids to get in there too, but how're you gonna get something you can't pick up into inventory storage?

Also YEAH technically this allows arbitrage of carrying a ton of stuff in the mail cart, but that's no so different from just carrying a ton of stuff around in a trash cart and this at least has the cost of a bit of parcel wrap. I will tolerate no dissent
2026-06-29 12:44:04 +02:00
Tayrtahn dbd84ad839 Update RT to 273.0.0 (#43130) 2026-06-29 12:44:04 +02:00
slarticodefast de82d72c34 Revert "Support for melee weapon user overrides" (#43106)
Revert "Support for melee weapon user overrides (#39633)"

This reverts commit 18149dbb3b.
2026-06-29 12:44:04 +02:00
Simon 61cd13a470 Add banning to server api (#43205)
add banning to server api
2026-06-29 12:44:03 +02:00
Geekyhobo 6ff6978636 Add DB Config to development.toml (#43036)
add db config development.toml
2026-06-29 12:44:03 +02:00
ScarKy0 9b5a09e8a8 Vent Hordes (#43047)
* init

* port hostiles to hordes, fakeout horde

* cleaning, docs

* i may be blind sometimes

* i may be even blinder

* remove friendly announcements

* fuck it

* i love microbalancing

* review

* review

* review p2

* Update Resources/Prototypes/GameRules/pests.yml

Co-authored-by: SnappingOpossum <snappingopossum@outlook.com>

* review + powercreep

* lower the times to account for the gamerule delay

* review

* review

* fuck this return actually

* fial

---------

Co-authored-by: SnappingOpossum <snappingopossum@outlook.com>

# Conflicts:
#	Resources/Prototypes/GameRules/pests.yml
2026-06-29 12:44:03 +02:00
ArtisticRoomba 86c4c900eb Atmos YAML-defined gas flammability, flammability API (#43165)
* atmos masked flammability/API

* on that oomba pac

* yuuup

* resolve todo and review

* rename
2026-06-29 12:44:03 +02:00
Tayrtahnandslarticodefast f27bf8b218 Add a basic API to JukeboxSystem (#42896)
* Add a basic API to JukeboxSystem

* Update Content.Shared/Audio/Jukebox/SharedJukeboxSystem.cs

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>

* Remove pointless Dirty

* Move SetSelectedTrack Dirty inside if block

* logMissing: false

* Remove pointless Audio.Stop call

* Poke tests

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2026-06-29 12:44:03 +02:00
TayrtahnandTemporalOroboros efa47d601c Update NodeHelpers and Node.GetReachableNodes to use Entity<TransformComponent> and Entity<MapGridComponent> (#37734)
* Add overloads for NodeHelpers methods, obsolete old ones

* Pass in SharedMapSystem instead of IEntityManager

* Change GetReachableNodes signature, deal with aftermath

* Allow non-grid nodes

* Change GetReachableNodes to also take Entity<TransformComponent>

* Remove vestigial ReSharper hint

Co-authored-by: Tayrtahn <tayrtahn@gmail.com>

* Formatting

---------

Co-authored-by: TemporalOroboros <TemporalOroboros@gmail.com>
2026-06-29 12:44:03 +02:00
Moony 6db5d7860a Refactor MobThresholds and Stamina tests. (#43156)
Add 561 more tests.
2026-06-29 12:44:03 +02:00
Moony b26a9735aa Reactions test cleanup. (#42979)
* Make TryAllReactionsTest use a scrounged reagent list.

* naming

* Poke
2026-06-29 12:44:02 +02:00
Moony 35177173e2 Add exception tolerance to SharedDoAfterSystem. (#43088) 2026-06-29 12:44:02 +02:00
Moony 79590e2a69 Refactor construction tests (#43155)
Introduce 2681 more tests.
2026-06-29 12:44:02 +02:00
Moony 43f8a9d395 Refactor Device Linking tests. (#43157)
* Add 416 more tests.

* fixes.
2026-06-29 12:44:02 +02:00
Moony bc5b6299a6 Refactor explosion prototype tests. (#43158)
Add 9 more tests.
2026-06-29 12:44:02 +02:00
Moony 13900c9ffb Refactor guide entry tests. (#43159)
* Add 204 more tests.

* better plan.
2026-06-29 12:44:02 +02:00
Moony 5aec92445a Patch for engine ComponentFilter (#43168)
* Patch for engine ComponentFilter

* Poke
2026-06-29 12:44:02 +02:00
4186c8caa2 Weather entities (#41427)
* weather status effect entities

* proto port + fixes

* Update weather.yml

* fix visuals

* Update SharedWeatherSystem.cs

* Update SharedWeatherSystem.cs

* Update WeatherSystem.cs

* Thanks Slarti, thats a much better

* Update WeatherSystem.cs

* Update StencilOverlay.Weather.cs

* Update Content.Client/Overlays/StencilOverlay.Weather.cs

Co-authored-by: Pok <113675512+Pok27@users.noreply.github.com>

* Update Content.Shared/StatusEffectNew/Components/StatusEffectComponent.cs

Co-authored-by: Pok <113675512+Pok27@users.noreply.github.com>

* Update Content.Client/Overlays/StencilOverlay.Weather.cs

Co-authored-by: Pok <113675512+Pok27@users.noreply.github.com>

* Revise weather command help descriptions

Updated weather command help texts for clarity.

* Merge branch 'master' into ed-14-11-2025-weather-entities

* Tayrtahn review apply

* fixes and cleanup

---------

Co-authored-by: Pok <113675512+Pok27@users.noreply.github.com>
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2026-06-29 12:44:02 +02:00
Moony e2a2f0c969 Make map tests more fine-grained. (#42977)
* Make map tests more fine-grained.

* ..typo.

* fix example

* exclude Empty.

* Adjust a scrounger test & fix it.

* It does respect ignored prototypes, after I realized making it do so was really easy.

* Fix it for real this time.

* General scrounger enhancements for a GameRules test set.

* Fix linter for real.

* Address reviews.
2026-06-29 12:44:02 +02:00
Coco 886b33ce40 Nukie guidebook improvements (#43131)
* improve nukie guidebook (getting to the station, arming procedure)

* removed show vessel from IFF Computer guidebook text
2026-06-29 12:44:01 +02:00
Rachel Lowe 1d3617ad6a Fixing issue 42759, air grenades cannot be re-triggered. (#42866)
Fixed #42759 - air grenades cannot be re-triggered
2026-06-29 12:44:01 +02:00
Tayrtahn e844139061 Mix xenoborg_scream.ogg to mono (#43132) 2026-06-29 12:44:01 +02:00
da240861a4 PinpointerSystem&Component cleanup (#42463)
* cleanup

* make some stuff nullable again

* Apply suggestions from code review

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>

* fix and remove a dependency

---------

Co-authored-by: seanpimble <149889301+seanpimble@users.noreply.github.com>
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2026-06-29 12:44:01 +02:00
pathetic meowmeow f889c9f817 Initial decoupling pass on Damageable (#43103)
* Initial decoupling pass on Damageable

* ope

* e

* mroaw

* ok sure on the medibot thing

* no medibot bounds

* okidooks

* arcryox era

* cryox moment
2026-06-29 12:44:01 +02:00
August Sunandaugust-sun 1416f45199 Brings Estoc DMR accuracy to standard rifle accuracy, removes movement speed debuff (#43038)
* Removed accuracy and move speed debuffs for estoc

* introduced slight speed reduction

* typo

---------

Co-authored-by: august-sun <45527070+august.sun@users.noreply.github.com>
2026-06-29 12:44:01 +02:00
neomoth d4ef9dc0c6 Small tippy fix + msg toolshed additions (#43082)
* why is this not how it worked already fml

* better tippy checking
2026-06-29 12:44:01 +02:00
Shegare b28568d2da HTNComponent from SharedNPCSystem (#42750)
* init

* move system

* doc
2026-06-29 12:44:01 +02:00
Samuka 2438155aa7 Remove salv stuff from mothership (#43007)
* verb category

* voltage toggle comp

* move stuff

* add simple prototype

* implement verb action

* switch expression

* fixed the node not updating

* charge the battery

* fixed battery not charging

* spawn on battery level system

* finally works

* swap commentary position

* can only anchor the extractor on the station

* popup message for trying to anchor outside of station

* default placement for unanchored version

* ops

* fix body type

* commentary

* update visuals of power consumer

* add custom sprite

* fix light layer not changing

* xenoborg circuit

* fix xenoborg circuit

* add tag

* add hand to hold xenoborg circuits

* move to material

* add xenoborg circuit material

* add recipe to mothership core

* add a hand to hold circuits to the mothership core

* to not confuse

* update

* ops

* another ops

* update mothership

* update guidebook

* update values

* more info

* fix stack

* can store xenoborg circuits

* description

* also update description

* circuit -> crytal

* not modified from anything

* update description

* Revert "update mothership"

This reverts commit 84974c56afadac2a99ed2a166244a668d83fff48.

* update empty label

* small update to sprite

* not necessary code

* remove empty line

* color

* make it explode when destroyed

* change values

* update sprite

* update sprite

* make it eletrified

* flavor text

* simplify to only use charge

* subscribe to event

* new line

* remove popup

* no need for the setter

* no longer networked

* update mothership
2026-06-29 12:44:01 +02:00
ProPeperos 0bc411fffd Hyper autolathe now requires the same ammount of manipulators as autolathe (#43109)
hyper lathe now requires the same ammount of manipulators as base lathe
2026-06-29 12:44:01 +02:00
UpAndLeavesandScarKy0 ad81feb40c Inventory + Storage toolshed query commands (#40813)
* Add inventory and storage query toolshed commands

* Forgot FTL

* Fix stuff!

* Make requested changes and stop STACK MAX SIZE ERROR

* cleaning

---------

Co-authored-by: ScarKy0 <scarky0@onet.eu>
2026-06-29 12:44:00 +02:00
deltanedasanddeltanedas f0b4c6ef2a add nested entity effects+conditions (#42341)
* add nested effect

* add nested condition

* move api to the main systems and improve effect guidebook text gen

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
2026-06-29 12:44:00 +02:00
Pok 74c336597d Support for melee weapon user overrides (#39633)
* redefining-using-melee-weapons

* animation bug fix

* review

* fix merge
2026-06-29 12:44:00 +02:00
Velken 0010296f5d Fix door remotes 2 (#43094)
* fix door remotes

* admeme

* typo

* review

* revert door changes

* tag

* fix highsec and windoors
2026-06-29 12:44:00 +02:00
Tayrtahnandslarticodefast a1d74b7573 Add borg construction interaction test (#42359)
* Add test of borg construction.

* Return Validated when in validation mode.

* Update Content.IntegrationTests/Tests/Construction/Interaction/BorgConstruction.cs

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2026-06-29 12:44:00 +02:00
Jessica M 8c1c79ebd2 Only one puddle sparkle please (#43086)
* only one sparkle please :3

* address review
2026-06-29 12:44:00 +02:00
B_Kirill c845c99680 Fix AtmosDebugOverlay being always active (#43073)
* Fix AtmosDebugOverlay being always active

* review
2026-06-29 12:44:00 +02:00
Pharaz4 430da243b7 yaml format nitpick (#43074)
* minor nitpick

* fix mistake

* clean up
2026-06-29 12:43:59 +02:00
Tayrtahn 59ad40f5c9 Fix "Unknown messageId" warnings from ID cards (#42886)
* Empty string bad

* Preserve existing behavior
2026-06-29 12:43:59 +02:00
Sir Warock 4776c8b45f Fixed Mining Hardsuit Helmet Name + Added Internals to Crates (#43072)
* One commit ops

* Removed extra line
2026-06-29 12:43:59 +02:00
ScarKy0 c949508aa7 [STAGING] Innate prying tooltip (#43081)
Update alerts.ftl
2026-06-29 12:43:59 +02:00
AffleWaffle 48f525c0da APC building doAfter fix (#43089)
Add doAfter to APC construction
2026-06-29 12:43:59 +02:00
slarticodefast f5083ad524 fix topicals (#43087) 2026-06-29 12:43:59 +02:00
slarticodefast 2a01f421fa use proxy methods in EntitySystems (#43083)
use proxy methods
2026-06-29 12:43:59 +02:00
slarticodefast cc0a3befdd Fix damagable mispredicts (#43080)
fix
2026-06-29 12:43:58 +02:00
Hitlinemoss b34cef50c6 Removed rollerskates & clown-outfit cargo bounties; reduce pancakes needed for pancake cargo bounty (#42899)
* Removed rolerskate & clown-outfit cargo bounties; reduce pancakes needed for pancake cargo bounty

* adjusted tag comments

* forgot to temove rollerscates bounty item locale
2026-06-29 12:43:58 +02:00
IProduceWidgetsandslarticodefast b21ce37b5f Revenants cannot be stuck with plastic explosives (#42889)
* no touchy!

* Apply suggestion from @slarticodefast

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2026-06-29 12:43:58 +02:00
Velken 6bdcda5456 [Fix] Door remote fixes (#43063)
* fix door remotes

* admeme

* typo

* review

* revert door changes

* tag
2026-06-29 12:43:58 +02:00
eoineoineoin 46cc3f7e7c Remove unused noise texture (#42970)
Remove unused asset
2026-06-29 12:43:58 +02:00
beck-thompson 02bb8c25cb Add xenoborg gun sprites (#43013)
xenoborg gun sprites
2026-06-29 12:43:58 +02:00
ScarKy0 c486156c3d Fix Makeshift Juicer Crafting (#43075)
i hate it her
2026-06-29 12:43:58 +02:00
Connor Huffine cd659fef02 Throwing Croissant Incorrect Inhand Removed (#43066)
* Remove inhand sprite

* Add comment
2026-06-29 12:43:58 +02:00
Connor Huffine 5e75623091 Reparent White Gilgamesh (#43065) 2026-06-29 12:43:57 +02:00
Connor Huffine b614ffb90d Change Bad Chembottle Suffixes (#43064)
Change Suffixes
2026-06-29 12:43:57 +02:00
Samukaandbeck-thompson a3e9625a48 Xenoborg extractor (#42796)
* verb category

* voltage toggle comp

* move stuff

* add simple prototype

* implement verb action

* switch expression

* fixed the node not updating

* charge the battery

* fixed battery not charging

* spawn on battery level system

* finally works

* swap commentary position

* can only anchor the extractor on the station

* popup message for trying to anchor outside of station

* default placement for unanchored version

* ops

* fix body type

* commentary

* update visuals of power consumer

* add custom sprite

* fix light layer not changing

* xenoborg circuit

* fix xenoborg circuit

* add tag

* add hand to hold xenoborg circuits

* move to material

* add xenoborg circuit material

* add recipe to mothership core

* add a hand to hold circuits to the mothership core

* to not confuse

* update

* ops

* another ops

* update mothership

* update guidebook

* update values

* more info

* fix stack

* can store xenoborg circuits

* description

* also update description

* circuit -> crytal

* not modified from anything

* update description

* Revert "update mothership"

This reverts commit 84974c56afadac2a99ed2a166244a668d83fff48.

* update empty label

* small update to sprite

* not necessary code

* remove empty line

* color

* make it explode when destroyed

* change values

* update sprite

* update sprite

* make it eletrified

* flavor text

* simplify to only use charge

* subscribe to event

* new line

* remove popup

* no need for the setter

* no longer networked

* feedback popups

* Minor tweaks

* better to understand

* better now?

---------

Co-authored-by: beck-thompson <beck314159@hotmail.com>
2026-06-29 12:43:57 +02:00
slarticodefast 38ae6416cd Raise SolutionChangedEvent and SolutionContainerChangedEvent when handling SolutionComponent states (#42814)
raise event on client + comp access
2026-06-29 12:43:57 +02:00
Samukaandbeck-thompson a885d981b4 Dynamic feedback popup (#43021)
* add rule filter to feedback popup

* fix the dependency

* simplify

* remove this

* deny popups with rules

* missed here

* new parameter

* the server handles the specific feedback prototypes

* fix logic

* active > added

* minor fixes

* not needed anymore

* now it should be back

* not needed

* cleaning

* create system

* forgot to remove this

* also remove this

* add a I

* remove old feedback popups

* doesn't actually fix it

* maybe this time?

* oh well

* use whitelists

* use gamerule added

* update fix comment

* simplify

* old commentary

* default false

* add blacklist option

* fix helper functions

* remove commentary

* who needs those

* orks hates linq

* not needed

* Change linq into foreach

* remove unwanted popups for next rounds

---------

Co-authored-by: beck-thompson <beck314159@hotmail.com>
2026-06-29 12:43:57 +02:00
pathetic meowmeow 8d24c66331 Make sure vox passively regenerate at the same pace as everyone else (#43055) 2026-06-29 12:43:57 +02:00
pathetic meowmeow 190421b7a0 Make DamageableComponent manually networked again (#43054) 2026-06-29 12:43:56 +02:00
Patrik Caes-Sayrs 3b9db7359b Fixed redundant bar sign windows (#42960)
Fixed redundant bar signs

* Fixes the extra bar sign popups bug introduced in #42364
by making BarSignBUI use CreateWindow

* Fixes bar signs placed from Entity Spawn Window
2026-06-29 12:43:56 +02:00
pathetic meowmeow 662e9883a4 Make DamageSpecifier serializable (#43049)
* pt1 damageable refactor

* fixes

* thusd unused

* sparse damagespecifiers

* fix thongs

* aaaaaa

* fix tests

* de-crash
2026-06-29 12:43:56 +02:00
TriviaSolariandScarKy0 118d15f943 Fix Holosign Placement (#42909)
* Holosigns now spawn facing player direction

* Holosigns face south

* Snap holosign to grid and attach to clicked entity

* Back to setting local rotation to zero

* No need to snap to grid

* rifts

---------

Co-authored-by: ScarKy0 <scarky0@onet.eu>
2026-06-29 12:43:56 +02:00
Redrover1760andTayrtahn e77c72721f StrippableComponent timespan calculation fix (#43022)
* timespan calculation fix

* Update Content.Shared/Strip/Components/StrippableComponent.cs

Co-authored-by: Tayrtahn <tayrtahn@gmail.com>

---------

Co-authored-by: Tayrtahn <tayrtahn@gmail.com>
2026-06-29 12:43:56 +02:00
eoineoineoin f1e989a7e8 Stop AI knocking on shutters, blast doors (#42972)
Stop AI interacting with shutters
2026-06-29 12:43:56 +02:00
OrbitSystem07 874b116376 Fix hypodart uplink description (#43035)
fix
2026-06-29 12:43:55 +02:00
ScarKy0andpathetic meowmeow b8753aebf0 Add transfer entity to mind events. (#43020)
* init

* stuff

* to

* BeforeEvents

* comment

* docs

* Update Content.Shared/Mind/Components/MindContainerComponent.cs

Co-authored-by: pathetic meowmeow <uhhadd@gmail.com>

---------

Co-authored-by: pathetic meowmeow <uhhadd@gmail.com>
2026-06-29 12:43:55 +02:00
VelkenandScarKy0 cc5ac54c31 Make HasMind not always false for client. (#43033)
* it hasmind but i don't

* potatoe potato

* reading is hard

* still can't read

---------

Co-authored-by: ScarKy0 <scarky0@onet.eu>
2026-06-29 12:43:55 +02:00
ScarKy0 33cbea1883 Give borgs default prying (#41812)
* init

* 1.5

* remove powered

* CompBorgModules, prying alert

* give to NT borgs and derelict borgs

* review

* review 2

* comment
2026-06-29 12:43:55 +02:00
korczoczek 6e91ec0e36 Fix repeated Localization warnings when viewing the Power Monitoring Console (#43037)
no double work
2026-06-29 12:43:55 +02:00
blueDev2andArtisticRoomba 911a137303 Add TriggerOnRot Component (#42667)
* Add TriggerOnRot Component, and related systems and events

* Move around components and events to proper namespaces

* Improve TriggerOnRotComponent Comment

* fix a bunch of imports

* Change BeginRottingEvent to a ByRefEvent record

---------

Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
2026-06-29 12:43:55 +02:00
4febe39deb Lizard rehappy alternative (#42915)
* new lizard laugh

* typo

* replaced sound with alternative lizard_happy.ogg
adjusted attributions.yml

* Update attributions.yml

Since my friend uses Logic Pro X commercially and paid for
the license, he can freely use the provided samples in his own audio
projects. The resulting lizard_happy.ogg is a combination of multiple
samples transformed to achieve the correct sound, using an original
lizard laugh as reference.

* Add source link for lizard_happy.ogg attribution

Added source information for lizard_happy.ogg.

* update sound

* wtf is a laser raptor

---------

Co-authored-by: Velken <8467292+Velken@users.noreply.github.com>
Co-authored-by: ScarKy0 <scarky0@onet.eu>
2026-06-29 12:43:54 +02:00
Moony f421221a00 Non-obsoletion warnings as errors in Release. (#42983)
* Non-obsoletion warnings as errors in Release.

* Add two other obsoletions related to collection expressions.
These are not present in the codebase, but may become so in the future.

* Exempt NU1903 so the project can't mysteriously stop building.

* Fix some FULL_RELEASE mistakes.

* diff fix

* Resharper caught this one. Note to self: Wire up resharper to CI in another PR.
2026-06-29 12:43:54 +02:00
KeTuFaisPiKiNutandnomdéraisonnablementlong 94a329fb5c EMP implant uplink texture (Addresses #42008) (#42998)
set emp implant texture in uplink catalogue to emp_disable particle

Co-authored-by: nomdéraisonnablementlong <you@example.com>
2026-06-29 12:43:54 +02:00
Alzore 52d3e637b8 Remake the "Vegan Meatball" salvage wreck (#42994)
* remake vegan meatball, fix lingering plant enemies

* attempt to remove non-salv ruleset enemy spawns
2026-06-29 12:43:54 +02:00
SlamBamActionman d9fbc88a20 Add unlockable reporter cosmetics (#41079)
* Initial commit

* Lower the requirements slightly

* Revert vox displacement fix for another PR
2026-06-29 12:43:54 +02:00
Princess CheeseballsandPrincess Cheeseballs 78ec8d4664 Predicted Networked Metabolism (#42798)
* PredictedRandom Helpers

* predicted networked metabolism

* ssadasfsa

* AAAAAAAAAAAAAAAAAAAAAAAA

* remove debug

* oopsies

* its inclusive of 0 fool

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2026-06-29 12:43:54 +02:00
eoineoineoin 50756353b1 Improved camera static shader randomness (#42968)
Improved static shader
2026-06-29 12:43:54 +02:00
lyxcasterandlyxcaster 13cedc593b Make prescription glasses actually work (#42990)
* Made prescription glasses actually correct your vision

* Makes prescription glasses actually correct your vision

* Bug fix

* Bug fix

---------

Co-authored-by: lyxcaster <mser956@gmail.com>
2026-06-29 12:43:54 +02:00
Samukaandbeck-thompson 420f851644 More xenoborg names (#42984)
* more names

* update count

* ops

* whitespace

---------

Co-authored-by: beck-thompson <beck314159@hotmail.com>
2026-06-29 12:43:54 +02:00
beck-thompson 7b66f04a65 Add hand label blacklist (#42986)
* Add blacklist to hand labeler

* Add comments

* Nullable
2026-06-29 12:43:53 +02:00
slarticodefastandScarKy0 31d6da207a Show fuckrules usage to admins (#42988)
* fuck rules

* extreme

* update comment

---------

Co-authored-by: ScarKy0 <scarky0@onet.eu>
2026-06-29 12:43:53 +02:00
robinthegirlthingandrobin 86b53d7270 update basic operative bundle contents (#42930)
modify bundle contents

Co-authored-by: robin <robilythefoxxo@gmail.com>
2026-06-29 12:43:53 +02:00
Coryler b3b0962493 Move Vulp Sneeze into emotes_speech of _DV 2026-06-29 12:43:53 +02:00
ScarKy0 822efc1010 Vox, Diona and Vulp Unique Sneezes (#42929)
* *sneezes!

* fix, quieter vulp sneeze, vox sneeze

* even quieter vulp sneeze

* vulp sneeze attribution

* adjust vox sneeze source
2026-06-29 12:43:53 +02:00
Patrik Caes-Sayrs 516c3f4840 Added Emp interaction with Bar Sign (#42950)
* Added Emp interaction with Bar Sign

There was already content for emp bar sign but no support for it.
This adds the interaction with emps to make bar signs EmpDisabled.

* Emp BarSigns stylistic change

* Fixed redundant bar signs

Fixes the extra bar sign popups bug introduced in #42364

* Block bar sign UI when emped

* Revert "Fixed redundant bar signs"

This reverts commit 23168bb503bcf267ac553eff9ac9674bf28adb4b.
2026-06-29 12:43:53 +02:00
PgrihaandScarKy0 812dd3cdfc New moth emote. Flaps wings! (#42912)
* frfrfrfr

* mh-

* brbrbrbrbr

* small cleanup

* third category time

* removing ReptilianBodyEmotes

* Revert "removing ReptilianBodyEmotes"

This reverts commit 10200c4292a79932109ce2df6b642bcd88e863e0.

* Revert "third category time"

This reverts commit cf62c425b5db93ba4108b8283361623f2f4ad345.

---------

Co-authored-by: ScarKy0 <scarky0@onet.eu>
2026-06-29 12:43:53 +02:00
Princess CheeseballsandPrincess Cheeseballs 4eb3544a4f Fix reagent duplication from vomiting (#42954)
no more reagent duplication

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2026-06-29 12:43:52 +02:00
nekokiwa bd4d2afb9c fixed barber scissors misgendering when blocked by a hat (#42948) 2026-06-29 12:43:52 +02:00
Steel e3858e5619 Fix jetpacks not turning off when switching to another jetpack (#42689)
Initial commit
2026-06-29 12:43:52 +02:00
Synthestra 23f1e31773 Fix Thieving Beacon not detecting HUDs for said objective (#42945) 2026-06-29 12:43:52 +02:00
ScarKy0andPrincess Cheeseballs 0130273a54 Fix uncooked animal proteins metabolism (#42942)
* Update toxins.yml

* poison!!!!

* I hate solutions sytem I hate solutions sytem I hate solutions system

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2026-06-29 12:43:52 +02:00
Le-Arctic-Fox 0cc560e036 Change basic viper magazine to high capacity in operative bundle (#42927)
* changed atmos fire suit to engineering contraband

* changed normal pistol mag to extended in basic op bundle

* yes

* yes
2026-06-29 12:43:52 +02:00
TriviaSolari 26d1b95412 AI can now read papers and envelopes (#42926)
* AI can now read papers and envelopes

* Move whitelist component from BasePaper to Paper
2026-06-29 12:43:52 +02:00
ScarKy0 ea0f87b6c8 Fix paradox clones having default voice and pronouns (#42923)
fix
2026-06-29 12:43:52 +02:00
Leahandbeck-thompson 05953b8c40 Identity Mask now updates equipped Agent ID name (#42772)
* add identity mask updating agent id functionality

* fix indentation

* add check for voice mask item

* use ChangeIDName field instead

* Minor cleanup

* remove trycomp

---------

Co-authored-by: beck-thompson <beck314159@hotmail.com>
2026-06-29 12:43:52 +02:00
Princess CheeseballsandPrincess Cheeseballs 89f1f96f6d Fix Flares dying after 10 seconds. (#42765)
asdas

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2026-06-29 12:43:52 +02:00
Leah 68b6d5aec4 Fix chameleon controller not updating fake mindshield action icon (#42900)
fix chameleon controller not updating fake mindshield action icon
2026-06-29 12:43:51 +02:00
Leah 1f6237f75f fix: cleaning evidence off a person no longer reveals their true identity (#42868)
fix cleaning evidence revealing your true identity
2026-06-29 12:43:51 +02:00
Minemoder5000 65df262bff (Re)Add sneezing emote. (#41479)
achoo
2026-06-29 12:43:51 +02:00
alen 2ac27401ca Add Missing IntercomAssembly Components (#42821)
* add missing components to assembly

* use inheritance
2026-06-29 12:43:51 +02:00
Rachel Lowe 0c759150da Regular bots are now repaired gradually, just like borgs (#42878)
Instead of one long doafter, it's a bunch of smaller doafters. See https://discord.com/channels/310555209753690112/1470704102173315143
2026-06-29 12:43:51 +02:00
B_Kirill 4db7a5eb52 Cleanup warnings: CS0114, CS0414, CS9107 (#42859)
* Cleanup warnings: CS0114, CS0414, CS9107

* I shouldn't trust IDE autocorrection
2026-06-29 12:43:51 +02:00
ArtisticRoomba d974b15abb Fix gas filter always outputting 20C filtered gas (#42876)
ingenious!
2026-06-29 12:43:51 +02:00
Aearo-DeepwaterandErrant 474d431924 Slat tiles and decals (#37832)
* Add two varieties of steel vertical slat tiles

* Add dark and white variants of vertical slat tiles

* Add dirt decals

* Add vertical overlay decals

* Add single and double vertical slat decals

* Add steel, dark and white horizontal slat tiles

* Improve single vert slat decals

* Add horizontal slat dirt decals

* Add horizontal slat tile objects

* Add horizontal tile cutter recipe

* Add horizontal slat overlay decals

* Fix inconsistent tile naming

* Add horizontal single and double slat decals

* Fix incorrect slat decal

* Fix two off-color pixels on dark slat tiles

* Change slat tile naming

* Add single-slat overlays

* Smooth tile borders and normalize palette

* Update decals to match tile changes

* Update attributions

* Add missing stack locale lines

* Fix and clean up merged file

* Change slat footstep sounds to be consistent with other steel tiles

As far as I can tell, regular steel tiles use FootstepFloor, (except when
they don't,) and Dark and White variants use FootstepTile.

* Fix confusing merge conflict mismerge

* Remove merge conflict cruft

I have no idea how I missed that.

* Add tile stack prototypes

* Fix slat tile stack localization string refs

* Fix slat tile prototype indentation

* Remove tiles that are identical under rotation

* fix yaml header convention

* Parent slat tiles to common steel tile parent

* Whitespace fix

* Un-de-normalize prototype field ordering

* Fix whitespace

* Re-fix indentation

For some reason, I un-fixed this a little while back. No idea why.

---------

Co-authored-by: Errant <35878406+Errant-4@users.noreply.github.com>
2026-06-29 12:43:51 +02:00
Coryler ec2c7dd76b Add missing Cd mention in Profile 2026-06-29 12:43:51 +02:00
pathetic meowmeow 63fea071c5 Ensure profile loading only returns valid species (#42842)
* Ensure profile loading only returns valid species

* punt conversion logic outside of the database
2026-06-29 12:43:50 +02:00
Coryler 84bf9e4e87 Moved DV Traits into the right file 2026-06-29 12:43:50 +02:00
portfiend f279c9abeb Split HumanoidProfileEditor.xaml.cs into separate files (#42715)
* separate humanoid profile editor into different files

* move this to the rest of the fields
2026-06-29 12:43:50 +02:00
Coryler a44be92c0c Move vulp yawn mentions to _DV folder 2026-06-29 12:43:50 +02:00
ScarKy0 6146554bc5 Vulpkanin Yawns (#42768)
* im eepy too

* softer sound

* Revert "softer sound"

This reverts commit 51b3b7b2d4c741f8abc6d361319a5b44d9593d8d.
2026-06-29 12:43:50 +02:00
Hitlinemoss ade454d76d Minor tweaks to Urist names (#42791)
Tweaks to Urist names
2026-06-29 12:43:50 +02:00
MidoriKurage 6ae985a4b5 fix: APC sprites stuck in fully drained states on round start (#42852)
* Fix APC incorrect charge state caused by race condition on map startup

* fix: Defer the update from ChargeChangedEvent to next tick
2026-06-29 12:43:50 +02:00
InsoPLandArtisticRoomba 43e8ac5dde Thermal vision overlay for admins (#42812)
* revert of the revert

* tests

* changes

* more fun

* test

* ccvvvar

* works but bad

* now its better

* more fixes

* more cleanup

* cleaning

* last fixes before move to glasses activ

* x

* glasses only

* working

* fix toolbox

* cleanup

* ThermalByte added

* small fix

* small optimalisations

* float bux fix

* comments add

* more comments

* more comments

* last fix

* revert cvar delete

* wrong blue shades

* cvar refactor

* Update Content.Shared/Atmos/EntitySystems/SharedGasTileOverlaySystem.cs

Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>

* Update Content.Client/Atmos/Overlays/GasTileDangerousTemperatureOverlay.cs

Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>

* tweak to TryGetTemperature comment

* Factors are now const

* renames

* Interface for ThermalByte

* admin button

* cleanup

* sandoboxenabled

---------

Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
2026-06-29 12:43:50 +02:00
TriviaSolari a074566940 Fix RCD not being able to place hull tiles in space (#42740)
Fall back on player's grid if RCD is clicked on empty space
2026-06-29 12:43:50 +02:00
Kyle Tyo f6a0ccc4a6 Fix(Humanoid): Prevent skin color verification failures due to precision loss (#42836)
port over uberrations fixes.
2026-06-29 12:43:49 +02:00
pathetic meowmeow ee17a544d2 Documents all the public APIs for Nubody & markings code (#42857) 2026-06-29 12:43:49 +02:00
Kittygyat 0d92860b32 Fixed vox cigarette smoking sprites (#42584)
Fixed vox cigarette sprites
2026-06-29 12:43:49 +02:00
MoraandTrixxedHeart 30dd145305 Animated Vox Tails (#40925)
* Added Animated Vox Tails

* Extra cleanup

* Missing Pixels

* Missing Pixels

* fix

* Update vox.yml

* Update vox_parts.yml

* Update vox_parts.yml

---------

Co-authored-by: TrixxedHeart <46364955+TrixxedBit@users.noreply.github.com>
2026-06-29 12:43:49 +02:00
kosticia 5268fcec7f Fix some locale that sometimes get ignored by gitignore (#42834)
fix
2026-06-29 12:43:49 +02:00
Aearo-Deepwater 1f6cda5959 Empty Crayon Box (#42837)
Add prototype for empty crayon box
2026-06-29 12:43:49 +02:00
Rachel Lowe 8361dd7e64 Solved #42803 - Syndie contra explicitly has no allowed departments or jobs. (#42820)
Solved #42803
Syndie contra explicitly has no allowed departments or jobs.
2026-06-29 12:43:49 +02:00
SlamBamActionmanandArtisticRoomba 43383cbe49 Make conveyors stack items that stop (#42829)
* Initial commit

* formatting

---------

Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
2026-06-29 12:43:49 +02:00
PAFFhassoocks e818cf35d7 Make nukie infiltrator shuttle pinpointer universal (#42101)
replaces pinpointer with universal pinpointer
2026-06-29 12:43:49 +02:00
Matt IdzikandArtisticRoomba 60ce323e5e Fixed containment fields dying even when one side still had power (#41006)
* Containment fields only die if both sides lose power

Currently, if either side of a containment field loses power,
the field dies, even if the other side is still powered. This commit
changes the behavior to only destroy the field if neither side
of the field has enough power.

* discard

---------

Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
2026-06-29 12:43:48 +02:00
SuperandArtisticRoomba 73c9c02539 Emitters now give alerts if interfered with. (#39513)
* tesloose alert

* forgot to remove this when I removed naming the unlocker

* and these too...

* migrate to Entity<T> and clarify emitter lines

---------

Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
2026-06-29 12:43:48 +02:00
qwerltaz e3f481510b scale ammonia and nitrous oxide damage with gas quantity (#39591)
buff ammonia and nitrous oxide damage
2026-06-29 12:43:48 +02:00
3ba8f1e28e fixing firelocks (#37523)
* fixing fire locks

* ouch

* Revert "fixing fire locks"

This reverts commit d7c8f9a6e58daf4ba0ec58c38b951613574294bb.

* lol

* opts

---------

Co-authored-by: Dmitry <57028746+dimm00n@users.noreply.github.com>
Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
2026-06-29 12:43:48 +02:00
slarticodefast 4e628968fe Predict holoprojectors and add an integration test for them (#41569)
* cleanup

* fix fixtures

* prediction

* fix test

* review

* fix svalinn visuals

* fix chargers

* fix portable recharger and its unlit visuals

* fix borgs

* oomba review

* fix examination prediction

* predict holosign
2026-06-29 12:43:48 +02:00
Rachel Lowe 496e2eb410 Chaplains can now choose a custom name (#42819) 2026-06-29 12:43:48 +02:00
John c3c88952e0 fixed vox tail marking and suitslot layer order (#42808)
* fixed vox tail marking and suitslot layer order

* explained marking

* now it's hideable

* Revert "now it's hideable"

This reverts commit ab799b088739b3d986a5158f51b44f9c770e6e3e.

* re-order one more time for correct parity with the previous system
2026-06-29 12:43:48 +02:00
InsoPL 739a396d02 Add opticial thermal scanners to engivend (#42813)
yeah
2026-06-29 12:43:48 +02:00
InsoPLandArtisticRoomba 0ccccc8227 Optical thermal scanner implementation (#42613)
* revert of the revert

* tests

* changes

* more fun

* test

* ccvvvar

* works but bad

* now its better

* more fixes

* more cleanup

* cleaning

* last fixes before move to glasses activ

* x

* glasses only

* working

* fix toolbox

* cleanup

* ThermalByte added

* small fix

* small optimalisations

* float bux fix

* comments add

* more comments

* more comments

* last fix

* revert cvar delete

* wrong blue shades

* cvar refactor

* Update Content.Shared/Atmos/EntitySystems/SharedGasTileOverlaySystem.cs

Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>

* Update Content.Client/Atmos/Overlays/GasTileDangerousTemperatureOverlay.cs

Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>

* tweak to TryGetTemperature comment

* Factors are now const

* renames

* Interface for ThermalByte

* tile color  vaccum and more comments

* saving yeeted

* integration test

* rename and cleanup

* fix

* cleanup

* switch

* UT fix (hopefully)

* small bug+ rename

* vaccum limit  + space is now invalid

* typo

* typo

* fix

* cleanup

---------

Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
2026-06-29 12:43:48 +02:00
ArtisticRoomba 231fb6ab3f Fix gas filter math (#42801)
* fix gas filter math
i'm just a stunning genius aren't i

* yeah i can do it better
2026-06-29 12:43:48 +02:00
ScarKy0andPrincess Cheeseballs 57155b811d [Stable] Fix metabolism shuffle (#42795)
* yeah

* move up

* fssaf

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2026-06-29 12:43:47 +02:00
Princess CheeseballsandPrincess Cheeseballs df401ff47c PredictedRandom Helpers (#42797)
* PredictedRandom Helpers

* fixxxx

* documentation!!!

* pram

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2026-06-29 12:43:47 +02:00
ScholarNZL e00aa94522 Added Insulated Components to RK and Servants. (#42569)
* Added Insulated Components to RK and Servants.

* Better comment for Rat Servants.
2026-06-29 12:43:47 +02:00
0-Anon 7ec67b38da Remove Uranium from Mute Toxin recipe (#42787)
remove uranium from mute toxin
2026-06-29 12:43:47 +02:00
Kowlin b11e3cb967 Hopefully fix subgamemodes from pushing rounds into extended. (#42744)
* Hopefully fix subgamemodes from hard locking rounds

* You'd revert this change, you potato...
2026-06-29 12:43:47 +02:00
Kowlin f02b636d36 Minor spelling correction in admin logging (#42784) 2026-06-29 12:43:47 +02:00
e3e388a04f Make volumetric devices respect their pressure limits (#35211)
* Make volumetric pump limits inclusive

* Make volumetric devices respect pressure limits

* Improve pressure limit calculation comments

* Fix negative gas transfer in filters

* Extract to API

---------

Co-authored-by: veprolet <>
Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
2026-06-29 12:43:47 +02:00
Marchy 2b0c647302 Adding logs for ImmovableRodSystem Interactions for admin panel (#42769)
Adding logs for ImmovableRodSystem for admin panel
2026-06-29 12:43:47 +02:00
pathetic meowmeow 1edf6bdf27 Only rebuild organ markings when sex or group has changed (#42782) 2026-06-29 12:43:47 +02:00
Minemoder5000 5ed492aaaf Syndimov Kit (#42764)
* syndimov kit

* attribution fix

* adjust prototype
2026-06-29 12:43:47 +02:00
pathetic meowmeow 429b710875 Fix markings colour setting (#42771) 2026-06-29 12:43:46 +02:00
Centronias 43ca70a962 Make StatusEffectsSystem's cache an instance field (#42762)
make statuseffectsystem's cache not static
2026-06-29 12:43:46 +02:00
pathetic meowmeowandPrincess Cheeseballs 05f04b9189 Clean up Marking data structure, add tests for Zombie transformation (#42756)
* Clean up Marking data structure, add tests for Zombie transformation

* empty

* AAAAAAAAAAAAAAAA

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2026-06-29 12:43:46 +02:00
pathetic meowmeowandPrincess Cheeseballs 8ef211cfed Make Ichor work in the bloodstream (#42758)
* Make Ichor work in the bloodstream

* retun test

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2026-06-29 12:43:46 +02:00
pathetic meowmeow aa5623a4db Ensure DNA scrambling makes valid profiles (#42757) 2026-06-29 12:43:46 +02:00
ShegareandSamur7 9531570f77 Fix bio suits (#42748)
fix

---------


(cherry picked from commit fd618775a2be5e66d32c6b4f66f3be882312228f)

Co-authored-by: Samur7 <asman102n@gmail.com>
2026-06-29 12:43:46 +02:00
Quantum-cross 19c64d21e0 Prevent anomalies from spawning multiple entities on the same tile when instructed not to. (#37833)
* Fix the ability to hit overlapping walls.

* Revert "Fix the ability to hit overlapping walls."

This reverts commit f6866b6af43ef3a0939147673f2303c7e90d9bca.

* Ensure that anomalies do not spawn multiple entities in the same tile when `CanSpawnOnEntities` is false.
2026-06-29 12:43:46 +02:00
ArtisticRoomba f9019f37a2 Clarify documentation on Atmospherics heat capacity APIs (#42747)
* clarify heat capacity APIs

* more docs
2026-06-29 12:43:46 +02:00
ArtisticRoomba a19342dfc3 Atmospherics DeltaPressure Bulk Processing (#41553) 2026-06-29 12:43:45 +02:00
Crude Oil 8bfa3c27f9 Admin log new state on emitter toggle (#42736)
log new state on emitter toggle
2026-06-29 12:43:45 +02:00
Absotively 3d9c2bc891 Gas device power switches use switch buttons (#42619)
* Switch button for gas filter power

* Switch button for gas mixer power

* Switch button for gas pump power

* Switch button for thermomachine power

* Switch button for space heater power

* Remove redundant switch labels
2026-06-29 12:43:45 +02:00
ArtisticRoomba 8b243e533f Atmos GetAirflowDirections API (#42668) 2026-06-29 12:43:45 +02:00
Samuka 2ca299985c Sent fax now tells where it was sent from (#41108)
* Make fax tell where the fax is from

* make the line shorter

* localization

* fix fax machine not knowing where the fax is from

* fix popup saying PeerSelector

* name is now get from the known fax list

* shorter to fit in more papers

* send the sender not the destination

* add time to info displayed

* nuke [ViewVariables(VVAccess.ReadWrite)]

* update submodule

* use RoundDuration() instead

* ops, this was needed
2026-06-29 12:43:45 +02:00
ce7f99fbfb Entity Table Probabilities API (#41920)
* push

* fix

* push

* abstract and more accurate

* new abstract method I guess

* that table does not explode

* webedit major

* Update Content.Shared/EntityTable/ValueSelector/BinomialNumberSelector.cs

Co-authored-by: SnappingOpossum <snappingopossum@outlook.com>

* big ass merge conflicts

* sadas

* review

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
Co-authored-by: Tayrtahn <tayrtahn@gmail.com>
Co-authored-by: SnappingOpossum <snappingopossum@outlook.com>
2026-06-29 12:43:45 +02:00
SlamBamActionman ccff0117bb Remove writing apps from the Mime PDA (#42706) 2026-06-29 12:43:45 +02:00
Princess CheeseballsandPrincess Cheeseballs 5d93f9eb7f [STAGING] Fix having to /ghost as spacemobs when you die. (#42709)
fixe

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2026-06-29 12:43:45 +02:00
Princess CheeseballsandPrincess Cheeseballs 77f927cca3 [STAGING] Fix Hardsuit Helmets dropping on being gibbed. (#42703)
* bullshit

* sdasdsas

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2026-06-29 12:43:45 +02:00
Princess CheeseballsandPrincess Cheeseballs 19e21ea954 [STAGING] Fix Diona not transferring their minds to their nymphs when gibbing. (#42699)
2 line fix

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2026-06-29 12:43:44 +02:00
Errant cd522c8670 Fix debug assert when using Control Entity verb on inanimate objects (#42525)
fix Control Entity assert
2026-06-29 12:43:44 +02:00
Jessica MandJessica M 7f640dd56d Remove InternalsComponent from BaseSimpleMob (#42705)
remove internals from simplemob

Co-authored-by: Jessica M <jessica@maybe.sh>
2026-06-29 12:43:44 +02:00
Velken 7db4a25ce4 [Admin] Made admin log be high if the buyer is not from expected faction for a store. (#42687)
* more admin qol prs

* mistakes were made at 3am

* mindshield check and cleanup

* address reviews

* typo
2026-06-29 12:43:44 +02:00
MidoriKurage a49e01251e Add fontconfig and pipewire to shell.nix (#42700)
fix(nix): Add fontconfig and pipewire to shell.nix

This fixes dev client crashing when running in a nix dev shell.
2026-06-29 12:43:44 +02:00
Princess CheeseballsandPrincess Cheeseballs e15436cdda Estoc DMR made Nukie Only (#42698)
* literally 1984

* Don't need that anymore

* remove looc as well

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2026-06-29 12:43:44 +02:00
SlamBamActionmanandslarticodefast 53fcd12147 Add Cyborg crew indicator (#37038)
* Initial commit

* Include uncertain crew and make it work for AI

* Add new definition to Silicon Rules 8

* Update based on review

* Remove Cluwne from job list

* ProtoIdify

* Update and also make monkey/corgi show IDs

* Remove unnecessary property

* Remove redundant code

* Carrrrd

* cleanup

* Nicer code

* Update to fix the spawn bug + agent ID

* Fix new icons

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2026-06-29 12:43:44 +02:00
Marchy 4ddd649595 Log Criminal Status changes for admin panel (#42691)
Adding adming logger to log criminal status changes
2026-06-29 12:43:44 +02:00
Pieter-Jan Briers 894e290331 Update RT to 272.0.0 (#42694) 2026-06-29 12:43:43 +02:00
Huaqas f0a2de94d9 Lizard Unhappy (#42594)
* Remove lizard_happy.ogg

* Lizard still unhappy.
2026-06-29 12:43:43 +02:00
VelkenandPrincess Cheeseballs ccea80ac0b [FIX] Fix spacing explosions ignoring indestructible flag in stacked tiles (#42682)
* bald man broke my tiles

* move it around

* shrink it

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2026-06-29 12:43:43 +02:00
Princess CheeseballsandPrincess Cheeseballs b6b2a563ab Remove Visitor Shuttles (Real) and also cleanup the event rule system to not break when I try to do this. (#41915)
* shelve

* halfway there

* borgar

* just pass TimeSpan.Zero????

* better API

* no more TODO

* comment

* some fixes

* Gonna make a new PR for this I guess shrug

* add quark back, cleanup some stuff

* add syndie pod back

* one final change

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2026-06-29 12:43:43 +02:00
Kyle Tyo 588c07b7e1 Add Attribution for Web Walls. (#42677)
Update meta.json
2026-06-29 12:43:43 +02:00
B_Kirill 67e5a319d8 Some bonfire fixes (#42675) 2026-06-29 12:43:43 +02:00
ScholarNZL de7b03cbbc Fix 42643 meat spike doafter race condition (#42644)
* Resolve doafter race condition on meat spike deconstruction.

* set a letter to lowercase.
2026-06-29 12:43:43 +02:00
Pieter-Jan Briers 987df8c06d Content.Packaging can now emit binlogs for the build (#42659)
* Content.Packaging can now emit binlogs for the build

I was checking why packaging is so much slower and it *seems* to be entirely the actual build being twice as slow as before .NET 10. Strange.

Content.Packaging can now emit MSBuild binlogs that we can analyze to see why that's the case.

* Enable --log-build on Test Packaging workflow, produce artifact with binlogs

* Disable setup-dotnet in packaging workflow

I have a suspicion...
2026-06-29 12:43:43 +02:00
Dmitry 484b4ec42c fixing the handling of the RespiratorComponent without checking (#42665)
* the correction itself

* it will be more adequate

* doc

* not log - not debug

* ohhh
2026-06-29 12:43:42 +02:00
pathetic meowmeow b81a0c7a85 Drop ICharacterProfile/ICharacterAppearance interfaces (#42661) 2026-06-29 12:43:42 +02:00
abb13de3dd Move character preview handling into a specialized control (#41252)
* Move character preview handling into a specialized control

Co-authored-by: Quantum-cross <7065792+Quantum-cross@users.noreply.github.com>

* Restore job name that I accidentally removed from character picker buttons

* Just resolve dependencies the standard way

---------

Co-authored-by: Quantum-cross <7065792+Quantum-cross@users.noreply.github.com>
Co-authored-by: Janet Blackquill <uhhadd@gmail.com>
2026-06-29 12:43:42 +02:00
B_Kirill e3eb8083e8 Fix InstrumentSystem.Update exception when deleting band lead (#42331) 2026-06-29 12:43:42 +02:00
Winkarst-cpu 8028412480 Fix: Make vote call button toggable (#42450)
Fix
2026-06-29 12:43:42 +02:00
Marlyn d5c449db03 Fixes Opporozidone Instarot issues (#42472)
Removes a vestigial shutdown handler

When opporozidone removes the RottingComponent, the PerishableComponent's
RotNextUpdate is set to 0 - and then it undergoes a period of catch-up to
the current time. If the entity is susceptible to rot in that interval, it'll
accumulate 2 minutes 30 seconds worth of rot, per second.

This gets worse the longer the server has been running, as there's a greater value
in _timing.CurTime to catch up to. This handler seems to be vestigial from the
MiasmaSystem and does not seem to be necessary for anything anymore.
2026-06-29 12:43:42 +02:00
War__Prophet 8251eb1013 Doors can now close on clown spider webs (#42589)
buh
2026-06-29 12:43:42 +02:00
Ohelig 895afab003 Refresh gas canister UI on canister startup (#42616)
* Refresh UI on canister startup

* Rework DirtyUI to not fail during tests on fake canisters

* Feedback from Discord
2026-06-29 12:43:42 +02:00
B_Kirill b1af38a6ff Prevent picking up chameleon projector disguises via context menu (#42656) 2026-06-29 12:43:41 +02:00
Princess CheeseballsandPrincess Cheeseballs e2f1025965 Fix sound issues with arti crusher. (#42406)
AAAAAAAAAAAAAAAAAAAAA

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2026-06-29 12:43:41 +02:00
EchoOfNothing 6b51323d9b Fix dev map med APC overload (#42157) 2026-06-29 12:43:41 +02:00
ScholarNZL 7c566c91e4 Add Part Assembly and Temprature Construction Validations for Dev builds (#41396)
Resolves 43194; part ass. and temp con. validation
2026-06-29 12:43:41 +02:00
SlamBamActionman 09cdb87c90 Make crowbars consistent with 1x2 item storage (#42585)
Like scratching an itch
2026-06-29 12:43:41 +02:00
roryflowersandRory Flowers 0f766aab0c restore tritium fire energy to reenable maxcaps (#42641)
Co-authored-by: Rory Flowers <roryflowers@github>
2026-06-29 12:43:41 +02:00
Pieter-Jan Briers ed28d77fb2 Remove duplicate loc getstring calls (#42648)
guh
2026-06-29 12:43:41 +02:00
B_Kirill a9e654b9cb Improve sandbox window toggle buttons state handling (#42281) 2026-06-29 12:43:41 +02:00
Winkarst-cpu 187875d732 Fix: Make votes force select maps (#42426)
* Fix

* Add safe guard
2026-06-29 12:43:41 +02:00
Connor Huffine ba5a22b7a1 Add EditorHidden member to ContentTileDefinition (#42564)
Add EditorHidden member
2026-06-29 12:43:40 +02:00
SlamBamActionman ddeea645ef Add an option for hold-to-attack in settings (#42596)
* Initial commit

* Separate ranged and melee

* Move to controls tab
2026-06-29 12:43:40 +02:00
InsoPL 876f2dfd08 Translation fix: insulated verbs (#42617)
* feat

* only clothing

* fix

* Revert "fix"

This reverts commit 858c3f882718cd003391e0fde6b2711b31e6ab54.

* fix

* reversal

* removed double namespace

* ehhh

* wrong robust toolbox

* typo
2026-06-29 12:43:40 +02:00
B_Kirill ad821fdb43 GasLeak and PowerGridCheck rules components cleanup (#42624) 2026-06-29 12:43:40 +02:00
B_Kirill 81d0b1d7ef Fix emergency shuttle authorization bypass via ID rename (#42640) 2026-06-29 12:43:40 +02:00
Pieter-Jan Briers 2c2be56ff6 Update RT to 271.2.0 (#42646) 2026-06-29 12:43:40 +02:00
Myra 5eefbeb167 Fix roundstart with thief gamerule (#42633) 2026-06-29 12:43:40 +02:00
Hitlinemoss 89c94ffa80 Improvements to automatic job highlights (#42630)
* Improvements to automatic chat highlights

* Automatic highlights option is more clearly labelled
2026-06-29 12:43:40 +02:00
B_Kirill e9f5ae611b Cleanup warnings: CS0168, CS0414, CS8321 (#42623) 2026-06-29 12:43:39 +02:00
Samuka df16c8b0a2 Admin log now shows who called or recalled evac (#41557)
* admin log now shows who called or recalled evac

* ops

* named parameters

* show in player search

* ops, forgot 2

* when did this happen?
2026-06-29 12:43:39 +02:00
alexalexmax 14dcc43215 Fix holoparasite stun (#42315)
add immunity tags
2026-06-29 12:43:39 +02:00
Princess Cheeseballs c770d631f7 Tweak Traitor Uplink - The Rest of the Uplink (#42582)
* jaws of death

* I hate YAML

* open the gate

* I forgot about this one

* I forgor

* Fix croissant

* this didn't work actually rip

* made lights look better and undo on the boxing gloves

* small change

* Update Resources/Prototypes/Entities/Clothing/Hands/gloves.yml

Co-authored-by: IProduceWidgets <107586145+IProduceWidgets@users.noreply.github.com>

* baguette contraband, eat your evidence.

* suffix

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
Co-authored-by: IProduceWidgets <107586145+IProduceWidgets@users.noreply.github.com>

# Conflicts:
#	Resources/Prototypes/Catalog/uplink_catalog.yml
2026-06-29 12:43:39 +02:00
Pieter-Jan Briers de269d0176 Fix PostgreSQL migration for ban DB refactor (#42609)
This didn't come up in testing. The ban hit foreign key was added before the data was migrated, so it didn't work.

Fix that.
2026-06-29 12:43:39 +02:00
Pieter-Jan Briers 7419408ec5 Ban database refactor (#42495)
* Ban DB refactor seems to work at a basic level for PostgreSQL

* New ban creation API

Supports all the new functionality (multiple players/addresses/hwids/roles/rounds per ban).

* Make the migration irreversible

* Re-implement ban notifications

The server ID check is no longer done as admins may want to place bans spanning multiple rounds irrelevant of the source server.

* Fix some split query warnings

* Implement migration on SQLite

* More comments

* Remove required from ban reason

SS14.Admin changes would like this

* More missing AsSplitQuery() calls

* Fix missing ban type filter

* Fix old CreateServerBan API with permanent time

* Fix department and role ban commands with permanent time

* Re-add banhits navigation property

Dropped this on accident, SS14.Admin needs it.

* More ban API fixes.

* Don't fetch ban exemption info for role bans

Not relevant, reduces query performance

* Regenerate migrations

* Fix adminnotes command for players that never connected

Would blow up handling null player records. Not a new bug introduced by the refactor, but I ran into it.

* Great shame... I accidentally committed submodule update...

* Update GDPR scripts

* Fix sandbox violation

* Fix bans with duplicate info causing DB exceptions

Most notably happened with role bans, as multiple departments may include the same role.
2026-06-29 12:43:39 +02:00
pathetic meowmeow 17d3e83d5a Replace metabolism groups with metabolism stages (#42172)
* Replace metabolism groups with metabolism stages

* return to return

* killed

* yaml linted

* yaml linted again

* margarine

* bugfixes and balancing tweaks

# Conflicts:
#	Content.Shared/Metabolism/MetabolizerSystem.cs
2026-06-29 12:43:39 +02:00
deathride58 50578834fe Fixes grappling hook audio infinitely looping (#42588)
Fixes a regression with grappling hook sounds by reverting a last-minute commit
2026-06-29 12:43:38 +02:00
56b2e0ff88 Fix typo in feedback popup (#42587)
* Commit

* add the form post

* dv

* fixes

* Change wording

* Address review

* wording change

* Added some stuff

* New format

* bruh

* thanks perry!

* yes

* More fixes!

* typo

* Add a command to show the list, improve the UI slightly, split up command names

* Fix UI controller

* Add better comment

* Get rid of weird recursive thing

* Cleanup

* Work on moving feedback popups out of simulation

* Move round end screen subscription to feedback ui controller

* Finish moving feedback popups out of simulation

* Fix _ as parameter

* Clean up FeedbackPopupUIController

* Clean up commands

* Fix prototype yaml

* Fix openfeedbackpopup command description

* Update Resources/Locale/en-US/feedbackpopup/feedbackpopup.ftl

Co-authored-by: Simon <63975668+Simyon264@users.noreply.github.com>

* Apply suggestions from code review

Co-authored-by: Simon <63975668+Simyon264@users.noreply.github.com>

* Address reviews

* Address reviews

* Fix FeedbackPopupPrototype.cs using empty string instead of string.empty

* Address some more of the reviews, style nano is still trolling sadly

* Fix feedback popup styling

* Fix PopupPrototype ID field not having a setter

* Address reviews

* Add label when no feedback entries are present

Change link button to not show when no link is set

* Fix typo in feedback prototype

---------

Co-authored-by: beck-thompson <beck314159@hotmail.com>
Co-authored-by: SlamBamActionman <slambamactionman@gmail.com>
Co-authored-by: Simon <63975668+Simyon264@users.noreply.github.com>
2026-06-29 12:43:38 +02:00
Archee eb4d76b33f Replaces thief beer goggles objective with stealing HUD items (#38043)
* initial commit

* forgot to set it back to 1

* forgot to revert difficulty from testing
2026-06-29 12:43:38 +02:00
B_Kirill edde782dae Fix construction ghost sprite offset (#42193) 2026-06-29 12:43:38 +02:00
Julian Giebel 0ce9663ddd Add feedback popups (#41352)
* Commit

* add the form post

* dv

* fixes

* Change wording

* Address review

* wording change

* Added some stuff

* New format

* bruh

* thanks perry!

* yes

* More fixes!

* typo

* Add a command to show the list, improve the UI slightly, split up command names

* Fix UI controller

* Add better comment

* Get rid of weird recursive thing

* Cleanup

* Work on moving feedback popups out of simulation

* Move round end screen subscription to feedback ui controller

* Finish moving feedback popups out of simulation

* Fix _ as parameter

* Clean up FeedbackPopupUIController

* Clean up commands

* Fix prototype yaml

* Fix openfeedbackpopup command description

* Update Resources/Locale/en-US/feedbackpopup/feedbackpopup.ftl

Co-authored-by: Simon <63975668+Simyon264@users.noreply.github.com>

* Apply suggestions from code review

Co-authored-by: Simon <63975668+Simyon264@users.noreply.github.com>

* Address reviews

* Address reviews

* Fix FeedbackPopupPrototype.cs using empty string instead of string.empty

* Address some more of the reviews, style nano is still trolling sadly

* Fix feedback popup styling

* Fix PopupPrototype ID field not having a setter

* Address reviews

* Add label when no feedback entries are present

Change link button to not show when no link is set

---------

Co-authored-by: beck-thompson <beck314159@hotmail.com>
Co-authored-by: SlamBamActionman <slambamactionman@gmail.com>
Co-authored-by: Simon <63975668+Simyon264@users.noreply.github.com>

# Conflicts:
#	Content.Client/Stylesheets/StyleNano.cs
2026-06-29 12:43:38 +02:00
deathride58andPrincess Cheeseballs e5f734769f Grappling rework - Grappling hooks are now physics-driven (#42409)
* Grappling rework - Grappling hooks are now physics-based

* still have no idea wtf is going on with portals but fixed a few bugs + cleanup

* bonus fixes + prep for optional-but-recommended engine PR

* dropkicking a stray comment outta here

* makes the impulses actually take into account the fucking relays, makes reeling cancel if the rope's already too short, and tweaks values

* reviews + cleanup + makes ungrapple behavior a bit more consistent
joint removal was removed from ungrapple because it mispredicts either way, and breaks grappling hooks attached to the grappling gun (always good to leave possibilities like that open)

* adds a hack to work around grids not caring about waking cross-grid joints

* makes use of dirtyfield(), defenestrates magic number

* y'know it'd probably be better if we were like actually awake before we made commits

* null-coalesce instead of if statement

* two changes

* dont datafield and fix up for sound overrides

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2026-06-29 12:43:38 +02:00
pathetic meowmeowandPrincess Cheeseballs a5149c759e Simplify hands UI code (#42534)
* Simplify hands UI code

* i remembered about SortedHands in the component

* minor cleanup

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2026-06-29 12:43:38 +02:00
pathetic meowmeow c4cd6b60ce Make some of the arachnid metabolisers animal ones (#42529) 2026-06-29 12:43:38 +02:00
MinervaandJanet Blackquill bcaf0e46d2 Makes defib cabinets constructable and deconstructable (#42571)
* Makes defib cabinets constructable and deconstructable

* fix crash on master

---------

Co-authored-by: Janet Blackquill <uhhadd@gmail.com>
2026-06-29 12:43:38 +02:00
eoineoineoinandJanet Blackquill 8ae4611855 Character editor style fixes (#41278)
* Restore pre-StyleNano element height

* Add style for HelpButton to sheetlet

---------

Co-authored-by: Janet Blackquill <uhhadd@gmail.com>
2026-06-29 12:43:38 +02:00
SabreMLandJanet Blackquill 64d3b0638f Colour picker, palettes, & other spraypainter stuff (#41943)
* The stuff

* Valid check

* Spraypaintable decals don't actually seem to use `ZIndex`

* Don't need this

* datafield fix and button swap

---------

Co-authored-by: Janet Blackquill <uhhadd@gmail.com>
2026-06-29 12:43:37 +02:00
Absotively 27083f246e SwitchButton (#39161)
* Initial toggle switch styling

* tweak toggle switch textures

* Simplify toggle SVG images a bit

* Better name for switch button

* Update CheckButtons that were already just regular buttons

* Match checkbox/text field outline colour instead of slider outline colour

* Use switch button for APC power

* Update switch button styling; add separate style for power buttons

* Use new switch button in midi channels menu

* Add spacer

* adjust switch button icon proportions, position

* Add disabled toggle switch styles, use improved pressed style setup, make APC breaker state visible to all

* Use Janet Blackquill's icon design; remove StyleClassPowerSwitchButton. Co-authored-by: Janet Blackquill <uhhadd@gmail.com>

* Style switch children directly instead of with propagated styles

* Add attributions file

* Turns out source is a required field

* Move SwitchButton out of engine

* Move styles to sheetlet

* Make workaround for child controls not updating work in content

* Icon layers

* Set up ISwitchButtonConfig

* Fix disabled switch label font color

* Don't redefine base pseudostyles

* Use pseudoclass helpers for better readability

* Use margin instead of padding element

* Remove unused using statements

* Remove extra image file

* Update attributions for changed files
2026-06-29 12:43:37 +02:00
e955bb449f Cargo console rework (retry) (#34052)
* Cargo console upgraded

* add comment of hardcode

* Update Resources/Locale/en-US/cargo/cargo-console-component.ftl

Co-authored-by: Thomas <87614336+Aeshus@users.noreply.github.com>

* Update Content.Client/Cargo/UI/CargoConsoleMenu.xaml.cs

Co-authored-by: Thomas <87614336+Aeshus@users.noreply.github.com>

* Update Content.Client/Cargo/UI/CargoConsoleOrderMenu.xaml

Co-authored-by: Thomas <87614336+Aeshus@users.noreply.github.com>

* Some small technical improvements

* More indent

* Fix unknown requester name

* whitespace cleanup

* Small improvement

* Add order price to the title

* Fix build errors

* Port new slip system

* Remove unused loc

* Some required changes

* Add stride

* minor code style + update to sheetlets

---------

Co-authored-by: VideoKompany <135313844+VlaDOS1408@users.noreply.github.com>
Co-authored-by: Thomas <87614336+Aeshus@users.noreply.github.com>
Co-authored-by: Janet Blackquill <uhhadd@gmail.com>
2026-06-29 12:43:37 +02:00
ScarKy0 ee5c22f723 Force-prying crit borgs opens borg panel (#42460)
yeah
2026-06-29 12:43:37 +02:00
pathetic meowmeow 9612ca3ab9 Ensure cat ears & tails cannot be selected by players (#42579)
Ensure cat ears & tails cannot be selected.
2026-06-29 12:43:37 +02:00
Steelandāda cd4e660f4e Add aloe cream storage sprite (#42453)
* Initial commit

* Rotate sprite

* Update Resources/Prototypes/Entities/Objects/Specific/Medical/healing.yml

Use existing sprite

Co-authored-by: āda <ss.adasts@gmail.com>

* Remove cream-storage sprite

---------

Co-authored-by: āda <ss.adasts@gmail.com>
2026-06-29 12:43:37 +02:00
ArtisticRoomba 11dc186941 Power Consumers Rebalance: Simple Dynamic Power Loading (#41961)
* initial commit

* misc additions and fixes

* final tests and additions

* cleanup 1

* fix tests and add a test

* fix tests AGAIN

* abject horror and misery

* cleanup

* cleanup 2

* address some issues
2026-06-29 12:43:37 +02:00
Velken 18bb4fe1fa FIX: Give RCD plating unique name (#42560)
* sorry mappers, i had forgor

* rename instead of abstract
2026-06-29 12:43:37 +02:00
pathetic meowmeowandPrincess Cheeseballs b4e20b6d6d Fix hideable humanoid layers (#42553)
* Fix hideable humanoid layers

* test maintenance coin

* clean return

* voxes can no longer have human beards

* voxes fixes

* voxing out

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2026-06-29 12:43:37 +02:00
Kip 03b90fa2e4 Remove "Fuck Lizards" and "Lizard Power" decals from crayondecals.rsi (#42541)
* remove antilizard.png, replace prolizard.png

* forgot the meta.json
2026-06-29 12:43:37 +02:00
Velken 88f3601f56 "Fix RCD light spam, bypass of indestructible tiles and some plating fixes" - Tile Stacking got merged, time to bring back the RCD fix (#42556)
* No more light spam, and some plating fixes

* fixed test
2026-06-29 12:43:36 +02:00
Pok 607d16e810 Towel migration (#42555)
Update migration.yml
2026-06-29 12:43:36 +02:00
ScarKy0andPrincess Cheeseballs 858ee62e6e Fix handheld grinder and reaction mixer audio stacking (#42498)
* yeah

* AAAAAAAAAAAAAAAAAAAAAAA

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2026-06-29 12:43:36 +02:00
pathetic meowmeow 319b060f7d Fix sexed organs (#42554) 2026-06-29 12:43:36 +02:00
70874e4cae Medibot doAfter and some other improvements (#32932)
* Medibot doAfter and some other improvements

* Clean-up

* Review fixes

* the army of medibots chasing someone is really funny

* misc cleanup

---------

Co-authored-by: SlamBamActionman <slambamactionman@gmail.com>
Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
2026-06-29 12:43:36 +02:00
12a7a2de67 Tile Stacking - attempt 2 (#42543)
* WORK IN PROGRESS 1

* ITS ALIVE, ALIVE!!!!

* clean up

* WIP 1

* fix small oversight

* big diff of doom

* added CVAR to tile history stack size

* component time

* filescoped namespaces + remove redundant nametag

* fix silly little mistakes

* typo

* TileStacksTest

* bweeeeeeh :P

* nuke cvar

* :3

* WIP2025

* Fix submodule

* It's beginning to look a lot like Christmas

* It's the Most Wonderful Time of the Year

* tiny fix

* fixed extra spacing on yaml

* slightly improve tilestacking test

* Part 1 out of 2 (part 2 tomorrow)

* Part 2

* add a simple tile construction test for tilestacking

* guh

* address reviews (no documentation yet)

* documentation be upon ye

* remove extra spaces

* prediction fix

* dirt

* oops :p

* attempt to make this suck less

* am never doing a PR that touches explosion system ever again

* small fix

* maybe a bit better now?

* more cleanup

* one last cleanup for me

---------

Co-authored-by: Killerqu00 <killerqueen1777@gmail.com>
Co-authored-by: Killerqu00 <47712032+Killerqu00@users.noreply.github.com>
Co-authored-by: ScarKy0 <scarky0@onet.eu>
Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2026-06-29 12:43:36 +02:00
pathetic meowmeow dd43910f79 Fix humanoid profile voice being broken (#42550)
Fix humanoid appearance voice being broken
2026-06-29 12:43:36 +02:00
Pieter-Jan Briers e19f4643f2 Update RT to 271.1.0 (#42551) 2026-06-29 12:43:36 +02:00
InsoPL 93f733dbbe Examination verb for insuls (#42444)
* feat

* only clothing

* fix

* Revert "fix"

This reverts commit 858c3f882718cd003391e0fde6b2711b31e6ab54.

* fix

* reversal

* removed double namespace
2026-06-29 12:43:36 +02:00
B_Kirill 594d3b780f Fix MagicMirror UI (#42544) 2026-06-29 12:43:36 +02:00
Pieter-Jan Briers f1b20f2e2d Update RT to 271.0.0 (#42533) 2026-06-29 12:43:35 +02:00
pathetic meowmeow 0735328f8d Inflatable inflation (#42539) 2026-06-29 12:43:35 +02:00
pathetic meowmeow c57721eca5 Visual nubody (humanoid appearance refactor) (#42476)
* initial visual nubody

* oops overlay

* im so pheeming rn

* conversion...

* tests

* comeback of the underwear

* oops eyes

* blabbl

* zeds

* yaml linted

* search and visible count constraints

* reordering

* preserve previously selected markings colors

* fix test

* some ui niceties

* ordering

* make DB changes backwards-compatible/downgrade-friendly

* fix things again

* fix migration

* vulpkanin markings limit increase

* wrapping

* code cleanup and more code cleanup and more code cleanup and more code cleanup and

* fix slop ports

* better sampling API

* make filter work + use the method i made for its intended purpose

* fix test fails real quick

* magic mirror cleanup, remove TODO

* don't 0-init the organ profile data

* remove deltastates

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>

# Conflicts:
#	Content.Server/Humanoid/Components/RandomHumanoidAppearanceComponent.cs
#	Content.Server/Humanoid/Systems/RandomHumanoidAppearanceSystem.cs

# Conflicts:
#	Resources/Prototypes/Species/diona.yml

# Conflicts:
#	Content.Server/Zombies/ZombieSystem.Transform.cs
2026-06-29 12:43:35 +02:00
pathetic meowmeow 4f85f1b483 Remove loadout time towels (#42536)
# Conflicts:
#	Resources/Prototypes/Loadouts/loadout_groups.yml
2026-06-29 12:43:35 +02:00
ahandleman edc11b4968 Make Seed Non-Unique on Sample (#42527)
Make Seed Unique on Sample
2026-06-29 12:43:35 +02:00
eoineoineoin 350046f1b3 Rename "Inset" style, implement in sheetlets (#41975)
* Rename "Inset" style, implement in sheetlets

* Remove from StyleNano
2026-06-29 12:43:35 +02:00
612f82ca87 Syndicate Weapons/Ammo rebalances + Weapons Case (#42468)
* working commit

* final batch of changes

* reviw

Co-authored-by: SnappingOpossum <snappingopossum@outlook.com>

* lower china lake projectile speed

* hnnnnnnnnnnnnnng

* omelette joke back at popular request.

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
Co-authored-by: SnappingOpossum <snappingopossum@outlook.com>
2026-06-29 12:43:35 +02:00
Princess CheeseballsandPrincess Cheeseballs e2aac67bdb Traitor Chemicals Rebalance (#42484)
very small list of changes overall

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2026-06-29 12:43:35 +02:00
ArtisticRoombaandPrincess Cheeseballs 2f6a03c19b Adjust various traitor explosives (#42477)
* adj explosions

* yuuup

* next release

* cleanup and EMP changes

* minibomb revert, wait until gib experiment

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2026-06-29 12:43:35 +02:00
DDDragoni 6decbb943b Thieving beacons automatically set coordinates when unfolded. (#42520)
Thieving beacons set coordinates when unfolded
2026-06-29 12:43:34 +02:00
Thinbug 118aab2bb3 Magic 9 Ball (#42189)
* hoping i didnt forget anythin

* thingiess i forgor

* fixies

* first half of fixies

* other half

* sprite changes

* more proper outline on the sprites

* making the outline a tad more visible again

* making it tiny

* readding the yaml for the magic 9 ball

* sprite update so its less flat and more shapey
2026-06-29 12:43:34 +02:00
pathetic meowmeow 5e52e82ca4 Make sure simplemobs ghost on movement when dead (#42506) 2026-06-29 12:43:34 +02:00
pathetic meowmeow e53f356512 Fix inventory contents not being dropped on gibbing (#42504) 2026-06-29 12:43:34 +02:00
Vasilis The Pikachu 9661e4138e Revert "Allow station tiles to be placed on solid ground and other platings. (#38898)"
This reverts commit 418b2b70b0.

Maintainer vote decided to vote this out due to code quality issues. The original contributor is aware and will get help from a maintainer to reintroduce it
2026-06-29 12:43:34 +02:00
Vasilis The Pikachu a69640f61b Revert "Fix RCD light spam, bypass of indestructible tiles and some plating fixes (#42432)"
This reverts commit 7d58e42ade.

Required to revert 418b2b70b0 via maintainer vote due to code quality issues.
2026-06-29 12:43:34 +02:00
pathetic meowmeow 7da255e902 Let vox eat trash again (#42503) 2026-06-29 12:43:34 +02:00
ScarKy0 e114fc9c21 [Hotfix] Delivery console unanchorable (#42499) 2026-06-29 12:43:34 +02:00
pathetic meowmeow 490994ea01 Nubody (#42419)
* Nubody

* fix test fails

* gibbing

* lung test returns

* doc comment

* hand organ test

* giblet test

* yaml formatting

* returning

* relocate

* trimming

* re-smite

* oops thusd tweak

* arachnids have slower metabolism i guess

* never mind the old behaviour is bad actually

* rider whyyy

* style changes and allat

* fix collision

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>

# Conflicts:
#	Resources/Prototypes/Entities/Mobs/Species/diona.yml

# Conflicts:
#	Resources/Prototypes/Body/species_base.yml

# Conflicts:
#	Resources/Prototypes/Entities/Mobs/Species/moth.yml

# Conflicts:
#	Resources/Prototypes/Entities/Mobs/NPCs/animals.yml
#	Resources/Prototypes/Entities/Mobs/NPCs/regalrat.yml
#	Resources/Prototypes/Entities/Mobs/NPCs/slimes.yml
2026-06-29 12:43:27 +02:00
Delta-V bot e6e094a7a1 Automatic changelog update 2026-06-29 11:46:17 +02:00
Manoob b7d8476473 Make pigs drop bacon and adjust a few recipes to do with bacon/pork (#6122)
* Make pigs drop bacon and adjust a few recipes to do with bacon/pork

* Only one piece of bacon for rice and pork!

Signed-off-by: Manoob <manu.demoen@gmail.com>

* Make pigs drop bacon AND meat

* Add 3 bacon to the chef-vend inventories

---------

Signed-off-by: Manoob <manu.demoen@gmail.com>
2026-06-29 11:45:57 +02:00
Delta-V bot 3df4bfaeb7 Automatic changelog update 2026-06-29 08:05:44 +02:00
Apachito 29b46efa16 Rebalanced Tide Crafting (#5818) 2026-06-29 02:05:24 -04:00
Vanessa e7607e1227 I love submodules. Always use submodules. (#6119)
Revert "I hate submodules. Why did it have to be submodules? (#6117)"

This reverts commit d3b13a6c83.
2026-06-29 00:16:42 -05:00
Delta-V bot 460dbe1fc1 Automatic changelog update 2026-06-29 02:54:28 +02:00
pathetic meowmeow c7c6f1a67a Add nodecrawling, implement ventcrawl with it (#5830)
* node crawling movement

* more node crawling

* quality assurance

* do-after it

* i'm ratted king

* we don't need to serialize node stuff

* rename and ser/de fix

* review fixes
2026-06-29 00:54:08 +00:00
Delta-V bot 495107e5e0 Automatic changelog update 2026-06-28 21:15:54 +02:00
pathetic meowmeowandpre-commit-ci[bot] 8366dde288 Rewrite ion laws (#6121)
* Rewrite ion laws

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* edits

* get gooned

* jumpsuit clarity

* review and tests

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2026-06-28 21:15:35 +02:00
Delta-V bot 5f9315f43b Automatic changelog update 2026-06-28 18:42:54 +02:00
Stxcking c21ddfeb41 Tweaks: New Fishing Vendor Stock and Price Changes (#6114)
* man

* Update fishing_points.yml
2026-06-28 11:42:34 -05:00
Delta-V bot 9b0eef0805 Automatic changelog update 2026-06-28 18:42:21 +02:00
StxckingandRadezolid 36bc3d0b04 The Disappearance of Hatsune Miku (#5790)
* I HATE FUN

* uh

* make it actually parent

* Update Resources/Prototypes/_DV/Catalog/Fills/Boxes/general.yml

Co-authored-by: Radezolid <snappednexus@gmail.com>
Signed-off-by: Stxcking <217132821+Stxcking@users.noreply.github.com>

---------

Signed-off-by: Stxcking <217132821+Stxcking@users.noreply.github.com>
Co-authored-by: Radezolid <snappednexus@gmail.com>
2026-06-28 11:42:01 -05:00
Delta-V bot e9b6634747 Automatic changelog update 2026-06-28 15:26:15 +02:00
Vape d1390f5e98 Update tips.ftl (#6133) 2026-06-28 15:25:56 +02:00
Delta-V bot 196e2a52e3 Automatic changelog update 2026-06-28 14:19:16 +02:00
Proxy also works :3 401ae01321 Reduce Holoparasite Cost (#6115)
Update uplink_catalog.yml
2026-06-28 14:18:56 +02:00
github-actions[bot]andDeltaV-Bot 793236f12b Update Credits (#6135)
Co-authored-by: DeltaV-Bot <github@deltav.gay>
2026-06-28 04:52:00 +02:00
Delta-V bot 229491aa46 Automatic changelog update 2026-06-28 02:39:01 +02:00
Vape a09e09ac0f Remove mention of "morphotypes" (#6134) 2026-06-27 19:38:41 -05:00
Delta-V bot e59b37b081 Automatic changelog update 2026-06-27 22:18:26 +02:00
Vape b359f44c15 Fix: Fixes to both Harpy and Moth (#6131)
Bug Fix
2026-06-27 15:18:06 -05:00
Delta-V bot 932dd5e429 Automatic changelog update 2026-06-26 19:23:56 +02:00
wesker 3001253e43 Synthetic Emotes Fix (#6125)
* separate synthetic emote

* fix duplicate IDs (server error)

* Update speech_emotes.yml

* maybe this

* maybe keep the removed things from upstream lol

* imagine yamlops-ing when the problem was your trash code all along
2026-06-26 19:23:37 +02:00
Vanessa d3b13a6c83 I hate submodules. Why did it have to be submodules? (#6117)
Living on a prayer.
2026-06-25 15:07:33 -05:00
Delta-V bot 2ab0163598 Automatic changelog update 2026-06-25 20:04:07 +02:00
pathetic meowmeow 6cdeb3d9cf Suit sensors, but in space? Perish the thought. (#6054) 2026-06-25 12:59:49 -05:00
Delta-V bot d7543bd24a Automatic changelog update 2026-06-25 18:17:46 +02:00
f7f800c439 Tweaked Synthetic (#6090)
* actually not overhauled but tweaked i think

* forgot to stage this one

* make shocking 60% chance instead of 80%, and make shock dmg 5-20 random.

* update comment

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* okay this should work + remember to mention new changesa asdas asd

* I ALREADY STAGED ALL

* important summary comments to give more important info when someone's
too lazy to check the rule

* fix some stuff

* signs of shock

* Update Resources/Prototypes/_DV/Traits/meta.yml

Co-authored-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
Signed-off-by: wesker <53323309+weskified@users.noreply.github.com>

* Update Resources/Prototypes/_DV/Traits/meta.yml

Co-authored-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
Signed-off-by: wesker <53323309+weskified@users.noreply.github.com>

* Update Resources/Locale/en-US/_DV/traits/traits.ftl

Co-authored-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
Signed-off-by: wesker <53323309+weskified@users.noreply.github.com>

* changessss

---------

Signed-off-by: wesker <53323309+weskified@users.noreply.github.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
2026-06-25 11:17:26 -05:00
Delta-V bot b6ed84325f Automatic changelog update 2026-06-25 17:37:53 +02:00
ManoobandVanessa 61aee79dc2 Replace nachos recipes (#6099)
* make nachos from tacos and change how cheesy and chili variants get made

* Change WizDen Contentfreeze recipelimit

* Update Resources/Prototypes/_DV/Recipes/Cooking/deep_fryer_recipes.yml

Co-authored-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
Signed-off-by: Manoob <manu.demoen@gmail.com>

* Moved nacho metamorph to DV folder

* newlline, keep file as it was :^)

---------

Signed-off-by: Manoob <manu.demoen@gmail.com>
Co-authored-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
2026-06-25 10:37:33 -05:00
Delta-V bot 55fe6026ea Automatic changelog update 2026-06-25 17:28:10 +02:00
pathetic meowmeowandVanessa 6dfa12a509 AI? Being able to send faxes? Perish the thought. (#6064)
* AI? Being able to send faxes? Perish the thought.

* Update Resources/Prototypes/Entities/Mobs/Player/silicon.yml

Signed-off-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>

---------

Signed-off-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
Co-authored-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
2026-06-25 15:27:49 +00:00
Delta-V bot 485fd14f05 Automatic changelog update 2026-06-25 16:07:32 +02:00
Theo 031b37ffcb Washing machines can hold huge items (#6086)
washer size huge
2026-06-25 09:07:12 -05:00
Delta-V bot 06365bdbf0 Automatic changelog update 2026-06-25 15:10:58 +02:00
Tmanzxd 7f18c5f346 Commented out Surgeon Job Requirement for CMO (#6112) 2026-06-25 13:10:38 +00:00
Delta-V bot d407652eb0 Automatic changelog update 2026-06-25 04:28:46 +02:00
Manoob 9108e2c9b5 Fix Low metabolism rate modifiers from truncating to zero (#6104) 2026-06-24 21:28:26 -05:00
VelcroboyandVelcroboy c7ef614f3d Edit towel spawner (#6106)
* Edit towel spawner

* numbers

---------

Co-authored-by: Velcroboy <velcroboy333@hotmail.com>
2026-06-24 21:26:51 -05:00
VelcroboyandVelcroboy fa735f7669 Fix Chapel Access (#6105)
Fix chapel access

Co-authored-by: Velcroboy <velcroboy333@hotmail.com>
2026-06-24 20:12:36 -05:00
Delta-V bot 6de6421636 Automatic changelog update 2026-06-25 00:03:18 +02:00
Vanessa 3cb24c8b68 Custom Client-Side Radio Colors (#6101) 2026-06-24 22:02:58 +00:00
Delta-V bot 9fad412075 Automatic changelog update 2026-06-24 15:15:21 +02:00
Vanessa fbc3104836 Fix Infinite Cloaking (#6085)
Fix infinite cloaking because I guess power draw doesn't count as using the battery charge.
2026-06-24 15:15:01 +02:00
Delta-V bot e231d9d67c Automatic changelog update 2026-06-24 15:08:40 +02:00
Stxcking 468d929c4b Tweak: AAC Subject Button Colors Return + Words Capitalized (#5567)
* Nuked StyleNano + Added colors to sheetlet

SubjectButtonColors table to define colors (same hex as the ones in StyleNano)
SubjectColorRules to loop rules for applying colors

* Capitalize every single phrase

CONSISTENCY RAHH
2026-06-24 15:08:20 +02:00
Delta-V bot 2f1aaff32c Automatic changelog update 2026-06-24 00:35:07 +02:00
Vanessa 4f49ccde68 Sleepers no longer have an annoucement (#6066)
* Sleepers no longer have an annoucement.

* NT sleepers too.
2026-06-23 18:34:47 -04:00
Vanessaandpre-commit-ci[bot] cb3b74e49e Station-Specific Department Cleanup (#6078)
* Removed some jobs from station specific jobs because they are on all stations.

* Department Prototype Cleanup

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Actually fix brigmedic on the crew monitor

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2026-06-23 18:34:44 -04:00
Vanessaandpre-commit-ci[bot] 7d15a39a77 Fixed emergency access locale string (#6044)
* Fixed emergency access locale string

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2026-06-23 18:23:22 -04:00
Delta-V bot 3ac816fee1 Automatic changelog update 2026-06-24 00:19:37 +02:00
Delta-V bot b909d9a2e5 Automatic changelog update 2026-06-23 17:27:27 +02:00
Theo 7547752159 Broken bottle slicing (#6092)
add comps
2026-06-23 10:27:07 -05:00
Manoob 9b7819288e Added a fix that resets the cook timers on fryer power changed (#6075) 2026-06-23 09:17:06 -05:00
Delta-V bot 424a4569d8 Automatic changelog update 2026-06-23 14:50:11 +02:00
wesker 12827c0e98 TraitSystem require fix (#6097)
how did i even forget this
2026-06-23 12:49:51 +00:00
Delta-V bot d1e61ba0a2 Automatic changelog update 2026-06-23 12:40:37 +02:00
652e52dbca Nuke/CosCult Global Music and SFX (#5918)
* Extended ServerGlobalSoundSystem and exposed its lies. Now its actually global.

* Fixed Epsilon event rule namespacing and formatting.

* Cosmic Cult Music Updates

* Few more CosCult changes.

* Nuke and Alert Changes

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Update Content.Server/_DV/CosmicCult/EntitySystems/CosmicChantrySystem.cs

Co-authored-by: Sir Warock <67167466+SirWarock@users.noreply.github.com>
Signed-off-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>

* Update Content.Server/_DV/Audio/ServerGlobalSoundSystem.cs

Signed-off-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>

---------

Signed-off-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Sir Warock <67167466+SirWarock@users.noreply.github.com>
2026-06-23 12:40:17 +02:00
Delta-V bot e7fe4865de Automatic changelog update 2026-06-22 20:06:07 +02:00
A111Vojta 84b600a39f Harmony lanyards (#6035)
* Lanyards Part1

* Lanyards Part 2

* Lanyards Part 3

* Fix

* Lanyards - Adding Comments

* replace plaintext with LocIds

* expanded the lanyard slot blacklist
2026-06-22 20:05:47 +02:00
Delta-V bot 31201c44ba Automatic changelog update 2026-06-22 18:48:51 +02:00
Theo 4f9f93eb87 Slugs structural increase TWO! (#6068)
* number up

* comment formatting
2026-06-22 11:48:31 -05:00
Delta-V bot f8a4d823b9 Automatic changelog update 2026-06-22 13:37:10 +02:00
Proxy also works :3 c61d2c6a58 guidebook shields (#6070) 2026-06-22 06:36:50 -05:00
Delta-V bot e25181e1bc Automatic changelog update 2026-06-22 13:11:55 +02:00
7c052442a8 Traits UI Modifications, Visuals, and a new Condition (#6082)
* traits ui things

* fluent

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Update Resources/Locale/en-US/_DV/traits/traits-ui.ftl

Co-authored-by: Tobias Berger <toby@tobot.dev>
Signed-off-by: wesker <53323309+weskified@users.noreply.github.com>

* i hate toby

* newline

* pattern matching

* made simpler

* 2sleepy4myowngood

* kl;jasglkknf.,/.sa/.mmmmmmmmm

---------

Signed-off-by: wesker <53323309+weskified@users.noreply.github.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Tobias Berger <toby@tobot.dev>
2026-06-22 11:11:35 +00:00
Delta-V bot 19b0de35dd Automatic changelog update 2026-06-22 10:46:57 +02:00
wesker 1c66c1fe2e Fix 8 0'Clock Ghosts to be Mono (#6084)
* fix jukebox to be mono

* ACTUALLY fix this, holy shit audacity
2026-06-22 10:46:37 +02:00
Delta-V bot ef46675a2f Automatic changelog update 2026-06-22 06:23:31 +02:00
Halo3moth c0b6929c9a lower pitbull vent spawn rate (#6081) 2026-06-22 04:23:12 +00:00
Vanessa c7aa50cf85 Update C# Contribution Examples and Guidelines (#6039)
Updated C# guidelines.
2026-06-21 15:59:47 +02:00
Delta-V bot c69fb99600 Automatic changelog update 2026-06-21 15:48:33 +02:00
VelcroboyandVelcroboy 3ca37d9c2b Map Edits: The Hive (#6018)
* Map Edits: The Hive

* review changes

---------

Co-authored-by: Velcroboy <velcroboy333@hotmail.com>
2026-06-21 15:48:12 +02:00
github-actions[bot]andDeltaV-Bot 8ba993d1a9 Update Credits (#6072)
Co-authored-by: DeltaV-Bot <github@deltav.gay>
2026-06-21 05:30:08 +02:00
Delta-V bot edd1500bf3 Automatic changelog update 2026-06-20 19:14:31 +02:00
einknusprigestoastandpre-commit-ci[bot] 2ec64360b7 ERT Security Loadout overhaul (#6049)
* ERT Selectors Amber Sec

* Added SRT Loadouts

* Added SRT Loadouts

* Added ERT selectors

* ERT Loadout tweaks

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Changed Omnitool to be ToolDebug + Multitool

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2026-06-20 19:14:11 +02:00
Delta-V bot e0540c6205 Automatic changelog update 2026-06-20 17:02:34 +02:00
7953b0469a I SCREAM, YOU SCREAM, WE ALL SCREAM FOR ICE CREAM (#5943)
* Initial commit.

* Minor tweaks to names, added caramel bottle.

* Fixing open state of caramel bottle.

* JSON cleanup.

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Minor tweak to cookie dough ice cream recipe. Removed unused sprites.

* Swapping out updated sprites for rainbow sherbet, tropical sundae, neapolitan.

* Removing plushies.zip.

* Moved frozen treats to their own guidebook section under drinks to reduce clutter.

* Fixing flavor references, adding icecreamflavors.yml to contain definitions, corrected loadout ID references in loadoutgroups.

* Committing loadout changes that slipped through the cracks.

* Corrected casing in reference to RSI.

* Changed recipe for caramel to be just sugar to prevent conflict with Sigynate's recipe.

* So I'm kinda dumb and somehow it didn't occur to me that making sugar alone yield caramel would actually not only not fix the issue with Syginate but also wreck it for so many other chems, oopsie daisy, we're swapping it for Saline for a more shelf-stable salted caramel sauce.

* Tweaking ratio for Caramel, also, what are the odds that the tempermental build just works after this?

* At this point I'm just curious if a different build will fail this time.

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Update Resources/Prototypes/Catalog/VendingMachines/Inventories/bardrobe.yml

Co-authored-by: Radezolid <snappednexus@gmail.com>
Signed-off-by: robobozu <240598948+robobozu@users.noreply.github.com>

* Update Resources/Prototypes/Catalog/VendingMachines/Inventories/bardrobe.yml

Co-authored-by: Radezolid <snappednexus@gmail.com>
Signed-off-by: robobozu <240598948+robobozu@users.noreply.github.com>

* Update Resources/Prototypes/Catalog/VendingMachines/Inventories/boozeomat.yml

Co-authored-by: Radezolid <snappednexus@gmail.com>
Signed-off-by: robobozu <240598948+robobozu@users.noreply.github.com>

* Update Resources/Prototypes/Catalog/VendingMachines/Inventories/boozeomat.yml

Co-authored-by: Radezolid <snappednexus@gmail.com>
Signed-off-by: robobozu <240598948+robobozu@users.noreply.github.com>

* Update Resources/Prototypes/_DV/Entities/Clothing/Uniforms/jumpsuits.yml

Co-authored-by: Radezolid <snappednexus@gmail.com>
Signed-off-by: robobozu <240598948+robobozu@users.noreply.github.com>

* Update Resources/Prototypes/_DV/Entities/Objects/Consumable/Drinks/frozen_treats.yml

Co-authored-by: Radezolid <snappednexus@gmail.com>
Signed-off-by: robobozu <240598948+robobozu@users.noreply.github.com>

* Update Resources/Prototypes/Guidebook/references.yml

Co-authored-by: Radezolid <snappednexus@gmail.com>
Signed-off-by: robobozu <240598948+robobozu@users.noreply.github.com>

* Review changes

* Pascal-ify-ing flavor IDs.

* Update Resources/Prototypes/_DV/Entities/Objects/Consumable/Drinks/frozen_treats.yml

Co-authored-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
Signed-off-by: robobozu <240598948+robobozu@users.noreply.github.com>

---------

Signed-off-by: robobozu <240598948+robobozu@users.noreply.github.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Radezolid <snappednexus@gmail.com>
Co-authored-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
2026-06-20 15:02:13 +00:00
Delta-V bot a3d3d23600 Automatic changelog update 2026-06-20 16:24:55 +02:00
pathetic meowmeow 5ccfce1e7f NanoChat? Outside the same grid? Perish the thought. (#6057) 2026-06-20 09:24:35 -05:00
Delta-V bot 879cbf43f5 Automatic changelog update 2026-06-20 16:20:24 +02:00
einknusprigestoastandpre-commit-ci[bot] 9c84627db5 Added CentComm Turrets (#6069)
* Added CentComm Turrets

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2026-06-20 09:20:04 -05:00
Delta-V bot 3134e91fa5 Automatic changelog update 2026-06-20 12:46:22 +02:00
3ac30b7b7b [new item] Hitman card (#5896)
* Created Hitman_Case_catalog.yml

Signed-off-by: stormyatt <dratticuscrabs@gmail.com>

* for hitman

credit:stormyatt. thanks for the help those on discord and the host briefcase

Signed-off-by: stormyatt <dratticuscrabs@gmail.com>

* for hitman

credit: stormyatt with help from the discord sever and the hos briefcase pr

Signed-off-by: stormyatt <dratticuscrabs@gmail.com>

* 16/24 items filled

Signed-off-by: stormyatt <dratticuscrabs@gmail.com>

* for hitman

Signed-off-by: stormyatt <dratticuscrabs@gmail.com>

* more added

Signed-off-by: stormyatt <dratticuscrabs@gmail.com>

* top three filled

Signed-off-by: stormyatt <dratticuscrabs@gmail.com>

* for hitman, full disguise kit

Signed-off-by: stormyatt <dratticuscrabs@gmail.com>

* 27/30

Signed-off-by: stormyatt <dratticuscrabs@gmail.com>

* 28/30

Signed-off-by: stormyatt <dratticuscrabs@gmail.com>

* found the doorjack!

Signed-off-by: stormyatt <dratticuscrabs@gmail.com>

* spyCrewMonitor is cool

Signed-off-by: stormyatt <dratticuscrabs@gmail.com>

* found you!

Signed-off-by: stormyatt <dratticuscrabs@gmail.com>

* for hitman

Signed-off-by: stormyatt <dratticuscrabs@gmail.com>

* hitman: icons

Signed-off-by: stormyatt <dratticuscrabs@gmail.com>

* Created Hitman_Case.yml

Signed-off-by: stormyatt <dratticuscrabs@gmail.com>

* Create Hitman_Briefcase.rsi

Signed-off-by: stormyatt <dratticuscrabs@gmail.com>

* Delete Resources/Textures/_DV/Objects/Tools/Hitman_Briefcase.rsi

Signed-off-by: stormyatt <dratticuscrabs@gmail.com>

* almost made hitman card

* many modifactions to make it work.

* i need to get around to fixing my repo after this

* hope this works. reverting by hand

Signed-off-by: storm! <253825839+stormyatt@users.noreply.github.com>

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* as requested

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* less dependies, pretty sure only needed ones now

* review 2. card space addition

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Signed-off-by: stormyatt <dratticuscrabs@gmail.com>
Signed-off-by: storm! <253825839+stormyatt@users.noreply.github.com>
Co-authored-by: stormyatt <stormyatt@users.noreply.github.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2026-06-20 12:46:02 +02:00
Delta-V bot 4daea082bc Automatic changelog update 2026-06-20 00:07:10 +02:00
Vanessa 6a37e1268e SRN Fixes (#6045)
* Fixed SRNs getting borg AA on their borgs

* SRNs can print batteries
2026-06-19 18:06:50 -04:00
Delta-V bot 331a25c7d3 Automatic changelog update 2026-06-19 23:54:07 +02:00
Vanessaandpre-commit-ci[bot] b5121e10e9 Increase Syndicate Hardsuit Aura by 15% (#6060)
* Various syndicate hardsuit sprite upgrades for overlay.

* Added (missing) overlays for Feroxi and Reptiles.

* added base bluekie light

* Added stealthsuit variant.

* Fixed duplicate yaml entry

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Fix missing entry in meta.json for syndie medic

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2026-06-19 17:53:47 -04:00
Delta-V bot 9584a7b0ae Automatic changelog update 2026-06-19 23:43:04 +02:00
Vanessaandpre-commit-ci[bot] f9880c148b Cloned zombie players no longer get mauled by cats (#6053)
* Moved DeltaV modifications of ZombieSystem to a partial class. Fixed factions and pacifist trait on zombie cloning. Added survival objective to cloned II.

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2026-06-19 17:42:45 -04:00
Delta-V bot 25ef15f162 Automatic changelog update 2026-06-19 21:26:41 +02:00
Theo 997a6e31e6 Felinid SinkClaws action (#5996)
action and sprites
2026-06-19 14:26:22 -05:00
Delta-V bot 5a342570a4 Automatic changelog update 2026-06-19 20:35:52 +02:00
Proxy also works :3 97bb68b2a6 kill cult metashield (#6026) 2026-06-19 13:35:33 -05:00
Delta-V bot ac9f8852b3 Automatic changelog update 2026-06-19 20:12:19 +02:00
DisposableCrewmember42andneomoth 8c8f4b4f2c tweak: better screenshake (#6059)
* tweak: explosion shake directional, distance fall-off

partial port of ss14Starlight/space-station-14#3707 by neomoth:
0b6282eb267ef1efc0b2bcd78a39e53a776f1c79

Co-authored-by: neomoth <69372252+neomoth@users.noreply.github.com>

* tweak: melee shake depends on damage/wielding

partial port of ss14Starlight/space-station-14#3707 by neomoth:
0b6282eb267ef1efc0b2bcd78a39e53a776f1c79

Co-authored-by: neomoth <69372252+neomoth@users.noreply.github.com>

* tweak: explosion kick falloff

* chore: remove debug log

* feat: melee shake has heavy/light variants instead of only showing for high blunt/wielded

* refactor: use MathF instead of Math

* tweak: more noticeable camera kick falloff

* tweak: generally dampen explosion kick a little more, fall off slower

* docs: explain camera kick falloff

* docs: remove commented upstream code per review

* docs: document screenshake falloff too, clarify distance

---------

Co-authored-by: neomoth <69372252+neomoth@users.noreply.github.com>
2026-06-19 13:11:59 -05:00
Delta-V bot 8eeb5f6523 Automatic changelog update 2026-06-19 20:00:05 +02:00
Theo 45432aa3bb Kobolds exist again (#5968)
copy paste ops
2026-06-19 17:59:45 +00:00
Delta-V bot b9153f0f13 Automatic changelog update 2026-06-19 19:53:03 +02:00
Theo e3d3fe72f0 remove damage examine from bomb pen (#6010)
remove hit damage
2026-06-19 17:52:43 +00:00
Delta-V bot 0a65236363 Automatic changelog update 2026-06-19 19:49:19 +02:00
Halo3moth afe6021455 remove chameleon gears metashield (#6000)
Update 2_Metagaming.xml
2026-06-19 13:48:59 -04:00
Delta-V bot e5db02c736 Automatic changelog update 2026-06-19 18:16:18 +02:00
Theo cbc5f819c4 Security radio recolor (#6016)
* change

* less saturated
2026-06-19 11:15:58 -05:00
Delta-V bot 339b3fb32c Automatic changelog update 2026-06-19 18:06:08 +02:00
AstraandVanessa e96faec07d Allow purified salts in belts/medkits (#6062)
* Allow purified salts in medical belts

* Medkits too why not

* Update Resources/Prototypes/Entities/Objects/Specific/Medical/medkits.yml

Signed-off-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>

---------

Signed-off-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
Co-authored-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
2026-06-19 16:05:48 +00:00
Delta-V bot a1bbf142a4 Automatic changelog update 2026-06-19 17:52:56 +02:00
DisposableCrewmember42andPieter-Jan Briers e47a0bf455 feat: chat follow links for ghosts (upstream port) (#6063)
* Ghosts have follow buttons in chat (#44284)

* Fix ghost follow buttons for station entity (#44289)

---------

Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
2026-06-19 10:52:36 -05:00
Delta-V bot 72f3edd378 Automatic changelog update 2026-06-19 17:49:17 +02:00
freezer dog 030deb6f27 SV-213 QoL stuff (and a tiny bit more) (#6065)
wwoof
2026-06-19 10:48:57 -05:00
Vanessaandpathetic meowmeow 4397017c5a Added ESEffectSparks to excluded list on integration tests (#6061)
* Added ESEffectSparks to excluded list on integration tests

* Update Content.IntegrationTests/Tests/EntityTest.cs

Co-authored-by: pathetic meowmeow <uhhadd@gmail.com>
Signed-off-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>

---------

Signed-off-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
Co-authored-by: pathetic meowmeow <uhhadd@gmail.com>
2026-06-18 20:32:39 -04:00
Delta-V bot 0f19340d41 Automatic changelog update 2026-06-18 18:37:52 +02:00
Stxcking 3c28ee8d20 Tweak: Broken Station Maps can be Deconstructed (#6005)
mhm
2026-06-18 11:37:32 -05:00
Delta-V bot 11cc04dd87 Automatic changelog update 2026-06-18 18:35:12 +02:00
Sugarcane f87ed28744 Bluesec in Guidebook (#6013) 2026-06-18 11:34:52 -05:00
Delta-V bot 62c76332f5 Automatic changelog update 2026-06-18 18:22:35 +02:00
pathetic meowmeow 34c212e4fb Fax machines? That are ready roundstart? Perish the thought. (#6058) 2026-06-18 11:22:15 -05:00
Radezolid 353290e55b Mostly locker entityTables cleanup (#5982)
* Remove our changes to dressers.yml

* Engineering

* Heads

* Science

* Security

* Append our tables with upstream's, apply suggestion and small comment cleanup
2026-06-17 15:55:26 -04:00
Delta-V bot 0cbe9c01fb Automatic changelog update 2026-06-17 17:32:53 +02:00
Vanessa d88938887b Fixed biomasser dividing by zero (#6042)
Fixed biomasser dividing by 0.
2026-06-17 17:32:34 +02:00
Delta-V bot 1656a91c5e Automatic changelog update 2026-06-17 16:08:07 +02:00
Proxy also works :3 c70cbcb9f5 bne (#6050) 2026-06-17 09:07:47 -05:00
Delta-V bot 3e22d89d1e Automatic changelog update 2026-06-17 15:56:46 +02:00
TNE a790954f06 Prevent zombies/non-humanoids/non-borgs from using jetpacks (#5776)
Prevent zombies from using jetpacks

Introduces CanComplexInteract check from ActionBlockerSystem alongside a translation string
When Zombifying: Removes AutomaticJetpackUserComponent, calls SharedJetpackSystem.SetEnable(..., false, ...)
2026-06-17 15:56:26 +02:00
Delta-V bot 0676186fe5 Automatic changelog update 2026-06-17 15:36:21 +02:00
Theo db6d1e3970 Uplink pt 1 touchup (#5991)
* buffs

* damage change on knuckledusters
2026-06-17 08:36:01 -05:00
fd20b74b8f Update mapping spawners (#5857)
* Update mapping spawners

* more casing

* Clothing and towels

* minor fixes

* Finalize clothing

* Begin Items

* Final updates

* Fixes

* save button

* `n`

* Add pitbull to animal spawner

* Add random satchels

* Glowsticks

* Update Resources/Prototypes/_DV/Entities/Markers/Spawners/Random/animals.yml

Co-authored-by: Radezolid <snappednexus@gmail.com>
Signed-off-by: Velcroboy <107660393+IamVelcroboy@users.noreply.github.com>

* Update Resources/Prototypes/_DV/Entities/Markers/Spawners/Random/boardgames.yml

Co-authored-by: Radezolid <snappednexus@gmail.com>
Signed-off-by: Velcroboy <107660393+IamVelcroboy@users.noreply.github.com>

* Update Resources/Prototypes/_DV/Entities/Markers/Spawners/Random/boardgames.yml

Co-authored-by: Radezolid <snappednexus@gmail.com>
Signed-off-by: Velcroboy <107660393+IamVelcroboy@users.noreply.github.com>

* Update Resources/Prototypes/_DV/Entities/Markers/Spawners/Random/books.yml

Co-authored-by: Radezolid <snappednexus@gmail.com>
Signed-off-by: Velcroboy <107660393+IamVelcroboy@users.noreply.github.com>

* Update Resources/Prototypes/_DV/Entities/Markers/Spawners/Random/machineparts.yml

Co-authored-by: Radezolid <snappednexus@gmail.com>
Signed-off-by: Velcroboy <107660393+IamVelcroboy@users.noreply.github.com>

* Update Resources/Prototypes/_DV/Entities/Markers/Spawners/Random/schoolgirl.yml

Co-authored-by: Radezolid <snappednexus@gmail.com>
Signed-off-by: Velcroboy <107660393+IamVelcroboy@users.noreply.github.com>

* Update Resources/Prototypes/_DV/Entities/Markers/Spawners/Random/seeds.yml

Co-authored-by: Radezolid <snappednexus@gmail.com>
Signed-off-by: Velcroboy <107660393+IamVelcroboy@users.noreply.github.com>

* Update Resources/Prototypes/_DV/Entities/Markers/Spawners/Random/towels.yml

Co-authored-by: Radezolid <snappednexus@gmail.com>
Signed-off-by: Velcroboy <107660393+IamVelcroboy@users.noreply.github.com>

* Update Resources/Prototypes/_DV/Entities/Mobs/NPCs/misc.yml

Co-authored-by: Radezolid <snappednexus@gmail.com>
Signed-off-by: Velcroboy <107660393+IamVelcroboy@users.noreply.github.com>

* Update Resources/Prototypes/_DV/Entities/Mobs/NPCs/misc.yml

Co-authored-by: Radezolid <snappednexus@gmail.com>
Signed-off-by: Velcroboy <107660393+IamVelcroboy@users.noreply.github.com>

* Update Resources/Prototypes/_DV/Entities/Markers/Spawners/Random/mobs.yml

Co-authored-by: Radezolid <snappednexus@gmail.com>
Signed-off-by: Velcroboy <107660393+IamVelcroboy@users.noreply.github.com>

* Update Resources/Prototypes/_DV/Entities/Markers/Spawners/Random/mobs.yml

Co-authored-by: Radezolid <snappednexus@gmail.com>
Signed-off-by: Velcroboy <107660393+IamVelcroboy@users.noreply.github.com>

* Update Resources/Prototypes/_DV/Entities/Markers/Spawners/Random/mobs.yml

Co-authored-by: Radezolid <snappednexus@gmail.com>
Signed-off-by: Velcroboy <107660393+IamVelcroboy@users.noreply.github.com>

* Update Resources/Prototypes/_DV/Entities/Markers/Spawners/Random/mobs.yml

Co-authored-by: Radezolid <snappednexus@gmail.com>
Signed-off-by: Velcroboy <107660393+IamVelcroboy@users.noreply.github.com>

* Update Resources/Prototypes/_DV/Entities/Markers/Spawners/Random/mobs.yml

Co-authored-by: Radezolid <snappednexus@gmail.com>
Signed-off-by: Velcroboy <107660393+IamVelcroboy@users.noreply.github.com>

* Update Resources/Prototypes/_DV/Entities/Markers/Spawners/Random/mobs.yml

Co-authored-by: Radezolid <snappednexus@gmail.com>
Signed-off-by: Velcroboy <107660393+IamVelcroboy@users.noreply.github.com>

* Update Resources/Prototypes/_DV/Entities/Markers/Spawners/Random/mobs.yml

Co-authored-by: Radezolid <snappednexus@gmail.com>
Signed-off-by: Velcroboy <107660393+IamVelcroboy@users.noreply.github.com>

* Update Resources/Prototypes/_DV/Entities/Markers/Spawners/Random/mobs.yml

Co-authored-by: Radezolid <snappednexus@gmail.com>
Signed-off-by: Velcroboy <107660393+IamVelcroboy@users.noreply.github.com>

* Update Resources/Prototypes/_DV/Entities/Markers/Spawners/Random/mobs.yml

Co-authored-by: Radezolid <snappednexus@gmail.com>
Signed-off-by: Velcroboy <107660393+IamVelcroboy@users.noreply.github.com>

* Update Resources/Prototypes/_DV/Entities/Markers/Spawners/Random/mobs.yml

Co-authored-by: Radezolid <snappednexus@gmail.com>
Signed-off-by: Velcroboy <107660393+IamVelcroboy@users.noreply.github.com>

* Update Resources/Prototypes/_DV/Entities/Markers/Spawners/Random/mobs.yml

Co-authored-by: Radezolid <snappednexus@gmail.com>
Signed-off-by: Velcroboy <107660393+IamVelcroboy@users.noreply.github.com>

* Update Resources/Prototypes/_DV/Entities/Markers/Spawners/Random/mobs.yml

Co-authored-by: Radezolid <snappednexus@gmail.com>
Signed-off-by: Velcroboy <107660393+IamVelcroboy@users.noreply.github.com>

* Update Resources/Prototypes/_DV/Entities/Markers/Spawners/Random/mobs.yml

Co-authored-by: Radezolid <snappednexus@gmail.com>
Signed-off-by: Velcroboy <107660393+IamVelcroboy@users.noreply.github.com>

* Review changes

---------

Signed-off-by: Velcroboy <107660393+IamVelcroboy@users.noreply.github.com>
Co-authored-by: Velcroboy <velcroboy333@hotmail.com>
Co-authored-by: Radezolid <snappednexus@gmail.com>
2026-06-16 23:54:22 -03:00
Delta-V bot d016838687 Automatic changelog update 2026-06-17 03:07:15 +02:00
Vanessa 160aa17052 Pitbull Fixes (#6046)
pitbull fixes
2026-06-16 22:06:55 -03:00
Delta-V bot 2b6729fa64 Automatic changelog update 2026-06-16 22:02:38 +02:00
Field Commandandpre-commit-ci[bot] 3439340530 Updated to ghost bar syndicate prison (#6006)
* Updated to ghost bar syndicate prison

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Some last minute fixes

* Update to prison and sprites

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2026-06-16 15:02:18 -05:00
Delta-V bot 28c2223a8a Automatic changelog update 2026-06-16 19:43:30 +02:00
CarolandVanessa 1b47c246c9 Added dynamic cost to Ratkings OnRaiseArmy ability (#6017)
* added dynamic cost to Ratkings OnRaiseArmy ability

* Update Content.Server/RatKing/RatKingSystem.cs

Co-authored-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
Signed-off-by: Carol <292806487+CarolCuchara@users.noreply.github.com>

* switched summary to one line

* added using directive for Linq

---------

Signed-off-by: Carol <292806487+CarolCuchara@users.noreply.github.com>
Co-authored-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
2026-06-16 12:43:10 -05:00
Delta-V bot 8141512cc4 Automatic changelog update 2026-06-16 19:09:52 +02:00
DisposableCrewmember42 fd986fec6e feat: Effigy-driven Colossus (mid-round Colossus rework) (#5565)
* feat: effigy-driven colossus

* feat: impl final stage, tweaks, randomization, fixes

* fix: actually broadcast first effigy audio

* style: add some newlines

* feat: notify player about updated target location in chat

* tweak: effigy always grows

* feat: make alwaysGrow show on anom scanner

* tweak: raise minimumPlayers to 35

* refactor: move FTL additions to _DV

* refactor: break out buffs into comps, add event

also added missing docs and made effigies heal colossi fully, as
specified in the PR body. I accidentally left it at 50% damage taken.

* docs: add effigy comp docs
2026-06-16 13:09:32 -04:00
Delta-V bot dd2a6e1c28 Automatic changelog update 2026-06-16 16:16:28 +02:00
TNEandDisposableCrewmember42 6c7c9de253 fix: don't show SSD examine on dead people/ghost role (#6012)
fix: don't display examine text on dead people or untaken ghost roles

Co-authored-by: DisposableCrewmember42 <disposablecrewmember42@proton.me>
2026-06-16 09:16:08 -05:00
Delta-V bot 2b96bb79f8 Automatic changelog update 2026-06-15 19:27:20 +02:00
CarolandVanessa c1239ef7bf Remove headset from pockets when player get zombified (#6030)
* Remove radio form pocket when secdogs get zombified

* Update Content.Server/Zombies/ZombieSystem.Transform.cs

Co-authored-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
Signed-off-by: Carol <292806487+CarolCuchara@users.noreply.github.com>

---------

Signed-off-by: Carol <292806487+CarolCuchara@users.noreply.github.com>
Co-authored-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
2026-06-15 12:27:00 -05:00
Delta-V bot 62b6401e48 Automatic changelog update 2026-06-15 18:46:55 +02:00
freezer dog f79a599c65 fixing machine pistol magazine issues and clearing gun chambers (#5819)
* kill... slaughter...

* ok why not im gonna clear chambers too

* ok maybe thats all the chambers clear

* time to find out i screwed up everythin xd

* whoops i killed the chambers....

---------

Signed-off-by: freezer dog <iamabanana372456@gmail.com>
2026-06-15 13:46:35 -03:00
Delta-V bot 9acd3f2ecb Automatic changelog update 2026-06-15 18:06:32 +02:00
Delta-V bot 47215d7876 Automatic changelog update 2026-06-15 18:02:26 +02:00
fe53298d27 Delta-V: Wrath of the Pitbulls (#5915)
* DIRECTION KNOWS BEST

DIRECTION KNOWS BEST GLORY TO DELTA-V

* MORE

More names

* It begins

Im not sorry

* Pitbull changes

They fear me because of what I can do.

* They will fuck you up if you Hit them

* Update pitbull.yml

* The infamous pitbull faction

* Update ai_factions.yml

* Update ai_factions.yml

Staff Requested changes

* Update pitbull.yml

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* sprites added!

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* event addition part 1

* Pitbull Crate

* Event work part 2

* obvious

* bullshit fix part 1

* Bullshit fix part 2

* bullshit fixes part 3

* i hate it here

* removes bullshit 5137268

* shortened timer to catch crew off guard

* crash fix 1 i think

* Update cargo_livestock.yml

* They no longer maul II

* they are angry.

* they cant maul you now.

* Update pitbull.ftl

* Update pitbull.yml

* Update events.yml

* Update interaction-popup-component.ftl

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Update events.yml

* Update pests.yml

* Update pitbull.yml

* Update events.yml

* Update pitbull.yml

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Update pitbull.yml

* 1984 pitbull faction

* Inshallah this will work

* More names

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Update pitbull_names.yml

* Update pitbull.ftl

* Update pitbull_names.yml

* Increased amount of mice and hopefully enables higher chance of ventbulls to spawn

* DIRECTION KNOWS BEST

DIRECTION KNOWS BEST
DIRECTION KNOWS BEST
DIRECTION KNOWS BEST
DIRECTION KNOWS BEST
DIRECTION KNOWS BEST

Signed-off-by: Solaris <63768197+StarboundSolaris@users.noreply.github.com>

* DIRECTION KNOWS BEST

DIRECTION KNOWS BEST

Signed-off-by: Solaris <63768197+StarboundSolaris@users.noreply.github.com>

* Refactor inheritence for pitbulls

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* forgot a file

* Makes it so the crate spawns the named versions

* Ensures they have random names.

* Update pitbull.yml

* Prep for mapped pitbull

* Adds Pibble

* Returns id to previous version

* Update pitbull.yml

* Update events.yml

---------

Signed-off-by: Solaris <63768197+StarboundSolaris@users.noreply.github.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Solaris <63768197+Solaris7518@users.noreply.github.com>
Co-authored-by: Vanessa <vanessalouwagie@gmail.com>
2026-06-15 11:02:06 -05:00
Theo 1aee2519df Kill Poncho Meta (#6001)
numbers
2026-06-15 10:51:38 -05:00
Delta-V bot e8cd052c31 Automatic changelog update 2026-06-15 17:10:19 +02:00
Carol a27fa291e7 Fix: Beer googles not stopping glasses from spilling when throw (#6031)
* fixed beer googles not keeping glasses form spilling on throw

* fixed beer googles not keeping glasses form spilling on throw
2026-06-15 10:09:59 -05:00
Delta-V bot 7e6f66a651 Automatic changelog update 2026-06-15 17:05:49 +02:00
pathetic meowmeow 08c27979a1 Interaction particles pass (#6033) 2026-06-15 10:05:29 -05:00
Delta-V bot b49a94100c Automatic changelog update 2026-06-14 20:30:54 +02:00
Carol cfa24eb20c Added a range check for pager linking (#6032) 2026-06-14 14:30:34 -04:00
Delta-V bot 1787683435 Automatic changelog update 2026-06-14 10:13:44 +02:00
Stop-Signs 389fbf99e1 Reduce WT550 SMG fire-rate (#5581)
* the PR

* comments

* hunt showdown queue times

* comment

* .desc
2026-06-14 08:13:24 +00:00
Delta-V bot 74c7bf0a05 Automatic changelog update 2026-06-14 06:13:17 +02:00
Carol 6764276a47 Changed secborgs fibers to blue (#6025)
changed secborgs fibers to blue
2026-06-14 04:12:57 +00:00
github-actions[bot]andDeltaV-Bot 03934d3fbd Update Credits (#6028)
Co-authored-by: DeltaV-Bot <github@deltav.gay>
2026-06-14 04:59:28 +02:00
SumTwo 468150c817 Adding the Logistics Beret as a loadout option for Cargo Technicians (#6015)
* Step One: Add Hat

Signed-off-by: SumTwo <its.a.joke1000@gmail.com>

* Step Two: Add Hat

Signed-off-by: SumTwo <its.a.joke1000@gmail.com>

* Step Three: Im Stupid

Signed-off-by: SumTwo <its.a.joke1000@gmail.com>

* Step Four: Im Stupid

Signed-off-by: SumTwo <its.a.joke1000@gmail.com>

* Step Five: Obey CR

Signed-off-by: SumTwo <its.a.joke1000@gmail.com>

---------

Signed-off-by: SumTwo <its.a.joke1000@gmail.com>
2026-06-13 21:07:20 -03:00
Delta-V bot 310ac0809b Automatic changelog update 2026-06-13 22:03:35 +02:00
7b71611dc9 [antag variant]Hitman midround variant (#5848)
* Created Hitman_Case_catalog.yml

Signed-off-by: stormyatt <dratticuscrabs@gmail.com>

* for hitman

credit:stormyatt. thanks for the help those on discord and the host briefcase

Signed-off-by: stormyatt <dratticuscrabs@gmail.com>

* for hitman

credit: stormyatt with help from the discord sever and the hos briefcase pr

Signed-off-by: stormyatt <dratticuscrabs@gmail.com>

* 16/24 items filled

Signed-off-by: stormyatt <dratticuscrabs@gmail.com>

* for hitman

Signed-off-by: stormyatt <dratticuscrabs@gmail.com>

* more added

Signed-off-by: stormyatt <dratticuscrabs@gmail.com>

* top three filled

Signed-off-by: stormyatt <dratticuscrabs@gmail.com>

* for hitman, full disguise kit

Signed-off-by: stormyatt <dratticuscrabs@gmail.com>

* 27/30

Signed-off-by: stormyatt <dratticuscrabs@gmail.com>

* 28/30

Signed-off-by: stormyatt <dratticuscrabs@gmail.com>

* found the doorjack!

Signed-off-by: stormyatt <dratticuscrabs@gmail.com>

* spyCrewMonitor is cool

Signed-off-by: stormyatt <dratticuscrabs@gmail.com>

* found you!

Signed-off-by: stormyatt <dratticuscrabs@gmail.com>

* for hitman

Signed-off-by: stormyatt <dratticuscrabs@gmail.com>

* hitman: icons

Signed-off-by: stormyatt <dratticuscrabs@gmail.com>

* Created Hitman_Case.yml

Signed-off-by: stormyatt <dratticuscrabs@gmail.com>

* Create Hitman_Briefcase.rsi

Signed-off-by: stormyatt <dratticuscrabs@gmail.com>

* Delete Resources/Textures/_DV/Objects/Tools/Hitman_Briefcase.rsi

Signed-off-by: stormyatt <dratticuscrabs@gmail.com>

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* fixing it all

* I dont get it either but last of the changes which our just righting things

* Hitman_Case_catalog.yml be like that

* goodbye dupe

* renaming a file and removing a duplicate

* attributions changed to repect the caps

* as requested, name changes and useless line removal

* forgot to control S here

* names changed to try and be both simple and actualy describe the goal

* doing review changes and a small change to prototype order to make sense

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* how did i get where i moved this wrong?

* recharging radio jammer to radio jammer.

* added hitman midround stuff

* made the professional not cause errors and have a ghost warp point

* enter at the ends of these files

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* updated the professional to professional

* decal adds

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* fixes and stuff

* gave hitmans headset traffic and freelance comms

* all review changes made

* Apply suggestion from @Radezolid

caps my foe

Co-authored-by: Radezolid <snappednexus@gmail.com>
Signed-off-by: storm! <253825839+stormyatt@users.noreply.github.com>

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* nevermind i distrust this

* Update Resources/Prototypes/_DV/Catalog/Fills/Lockers/hitman_locker.yml

Signed-off-by: Radezolid <snappednexus@gmail.com>

---------

Signed-off-by: stormyatt <dratticuscrabs@gmail.com>
Signed-off-by: storm! <253825839+stormyatt@users.noreply.github.com>
Signed-off-by: Radezolid <snappednexus@gmail.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: stormyatt <stormyatt@users.noreply.github.com>
Co-authored-by: Radezolid <snappednexus@gmail.com>
2026-06-13 20:03:15 +00:00
Delta-V bot f2153d66c3 Automatic changelog update 2026-06-13 21:29:23 +02:00
Theo b6833cbbcf Remove Fractured Form (#6011)
* remove from the table

* full remove
2026-06-13 14:29:04 -05:00
Delta-V bot 4e2bd0c244 Automatic changelog update 2026-06-13 04:29:23 +02:00
bf0abd7ffa Add SRT Hardsuit and Antelope + Remove DS mentions (#6003)
* Added Chameleon Armor

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* nerfvest

* Lowered Price

* Changed Jackdaw and Atrides fire rates

* Changed battery on Pulse Rifle, upped fire rate

* lowered pulse rifle recharge rate

* Added SRT Hardsuit

* Added Antelope

* Revert "lowered pulse rifle recharge rate"

This reverts commit 73f348c3e7.

* Revert "Changed battery on Pulse Rifle, upped fire rate"

This reverts commit d6f408620d.

* Revert "Changed Jackdaw and Atrides fire rates"

This reverts commit 0779c08d44.

* Revert "Lowered Price"

This reverts commit d798cd92e9.

* Revert "Merge branch 'toastdrip' of https://github.com/einknusprigestoast/Delta-v into toastdrip"

This reverts commit ca038e3699, reversing
changes made to f74f3e506d.

* Revert "nerfvest"

This reverts commit f74f3e506d.

* Revert "Added Chameleon Armor"

This reverts commit b57fa738f3.

* Removed Edge from Mateba

* whoops, forgot comment

* Removed DS mention + Added NV to ERT + Added Thermal Vision to DS

* removed deathsquad mentions on the jumpsuit

* removed deathsquafd mentions on the backpack

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Unfucked my parenting

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* non-localisation maintainer requests

* Added FTLs

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* One point, one singular point

* AHHHH

* Fix comments

Signed-off-by: Radezolid <snappednexus@gmail.com>

---------

Signed-off-by: Radezolid <snappednexus@gmail.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Radezolid <snappednexus@gmail.com>
2026-06-12 23:29:03 -03:00
Delta-V bot c4d65da8ed Automatic changelog update 2026-06-12 19:16:19 +02:00
Stxcking 6dac24f03a Shoukou / Shoko Map Update - BlueSec (#5940)
* first

sobs

* second

* review fixes
2026-06-12 12:15:59 -05:00
Delta-V bot 9550a7d53d Automatic changelog update 2026-06-11 03:28:51 +02:00
VelcroboyandVelcroboy d826a15ff2 Map Edits: Arena (#6009)
* Map Edits: Arena

* Link lightswitch

* Remove duplicate suit storage

* reveiw edits

---------

Co-authored-by: Velcroboy <velcroboy333@hotmail.com>
2026-06-10 20:28:31 -05:00
Delta-V bot 23a9a75703 Automatic changelog update 2026-06-10 20:23:59 +02:00
Vape 79a0000547 Xeno Rework - Pull sprites and audio from RMC (#5891)
* Additions

* Changes per direction

* Update xeno.yml

* Requested Changes
2026-06-10 18:21:13 +00:00
Delta-V bot 71badde1a0 Automatic changelog update 2026-06-09 20:48:54 +02:00
Theo 5ab49cd46b Reduce meat spike build time (#5999) 2026-06-09 14:48:35 -04:00
Delta-V bot 0398c527a1 Automatic changelog update 2026-06-09 20:10:21 +02:00
Cepelinas1 cdafd4c257 More Tips + slight tweaks to weapon names (#6004)
* first

* typo

* figured it out :)

* what reviewers wanted
2026-06-09 15:10:01 -03:00
Delta-V bot 8dc06f010a Automatic changelog update 2026-06-09 15:45:46 +02:00
Theo fee62b449f shadow cat tweaks (#5977)
* add and remove

* remove comment

* oh yeah and this one
2026-06-09 13:45:26 +00:00
Delta-V bot c0d20b3d79 Automatic changelog update 2026-06-08 23:57:59 +02:00
snowywinters b2944fba52 Edge update (#5983)
* Update edge.yml

* Removed surgeon
2026-06-08 16:57:39 -05:00
2e39916957 Admeme gun changes (#5971)
* Added Chameleon Armor

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* nerfvest

* Lowered Price

* Changed Jackdaw and Atrides fire rates

* Changed battery on Pulse Rifle, upped fire rate

* lowered pulse rifle recharge rate

* Update Resources/Prototypes/_DV/Entities/Objects/Weapons/Guns/Rifles/rifles.yml

Co-authored-by: Radezolid <snappednexus@gmail.com>
Signed-off-by: einknusprigestoast <90181825+einknusprigestoast@users.noreply.github.com>

* Update Resources/Prototypes/Entities/Objects/Weapons/Guns/Battery/battery_guns.yml

Co-authored-by: Radezolid <snappednexus@gmail.com>
Signed-off-by: einknusprigestoast <90181825+einknusprigestoast@users.noreply.github.com>

* Update Resources/Prototypes/Entities/Objects/Weapons/Guns/Battery/battery_guns.yml

Co-authored-by: Radezolid <snappednexus@gmail.com>
Signed-off-by: einknusprigestoast <90181825+einknusprigestoast@users.noreply.github.com>

* Update Resources/Prototypes/Entities/Objects/Weapons/Guns/SMGs/smgs.yml

Co-authored-by: Radezolid <snappednexus@gmail.com>
Signed-off-by: einknusprigestoast <90181825+einknusprigestoast@users.noreply.github.com>

---------

Signed-off-by: einknusprigestoast <90181825+einknusprigestoast@users.noreply.github.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Radezolid <snappednexus@gmail.com>
2026-06-08 17:35:29 -03:00
Delta-V bot 874bbf4fd2 Automatic changelog update 2026-06-08 21:50:51 +02:00
VelcroboyandVelcroboy e1ff1ea820 Map Edits: Tortuga (#5965)
* Map Edits: Tortuga

* Final commits

* Robo-Proto

* Service jobs

* reveiw fixes

* Jimbo's birthday present

---------

Co-authored-by: Velcroboy <velcroboy333@hotmail.com>
2026-06-08 21:50:31 +02:00
Delta-V bot 79a4a15403 Automatic changelog update 2026-06-08 21:36:22 +02:00
Vape 0bb2b6ee7b Updates to Submarine.yml (#5760)
* Commit#1

* Update submarine.yml

* ATTEMPT#2

* CASE SENSITIVITIY

* Committing Changes

* Bluesec

* Review updakes
2026-06-08 12:36:01 -07:00
Delta-V bot 18d9325b60 Automatic changelog update 2026-06-08 19:23:43 +02:00
Field Command f07648bc24 Ghost Bar: Syndicate Prison (#5578)
* Ghost Bar: Syndicate Prison

* Copy-paste is evil...

* formatting fix

* IPC no more

* update

* Fix
2026-06-08 12:23:24 -05:00
Delta-V bot f5da329b98 Automatic changelog update 2026-06-08 07:30:14 +02:00
ConstantlyConfused ad6581f2d3 Make the nuclear fab announce when it recieves new recipes (#5985)
make the nuclear fabiractor announce researches
2026-06-08 02:29:55 -03:00
Delta-V bot 430fef2a10 Automatic changelog update 2026-06-08 06:35:40 +02:00
Theo 6970cb9d28 Add cooldown to ninja emp (#5967)
* add 10 second cooldown

* 5 seconds instead
2026-06-08 00:35:20 -04:00
Delta-V bot ea2b8df2cc Automatic changelog update 2026-06-07 22:49:09 +02:00
Theo b87b113736 cult simplemobs deal blunt damage (#5962)
add blunt damage
2026-06-07 20:48:49 +00:00
Delta-V bot f087b2895e Automatic changelog update 2026-06-07 21:46:37 +02:00
MD360andRadezolid 0a14310574 Remove duplicate towels (#5964)
* duplicate begone

* white too

* Fix comment

Signed-off-by: Radezolid <snappednexus@gmail.com>

* Fix of the comment-fix

Signed-off-by: Radezolid <snappednexus@gmail.com>

---------

Signed-off-by: Radezolid <snappednexus@gmail.com>
Co-authored-by: Radezolid <snappednexus@gmail.com>
2026-06-07 19:46:18 +00:00
Delta-V bot d9c2f26438 Automatic changelog update 2026-06-07 21:34:18 +02:00
Stxcking a4f11c63dc Fix: Holoflares not Hurting Skia (#5976)
net
2026-06-07 16:33:58 -03:00
Delta-V bot 4ff05277fa Automatic changelog update 2026-06-07 21:05:35 +02:00
Stxcking a33e12e85e Fix: Glowsticks can now be use for glow in the dark stars! (#5970)
yipe
2026-06-07 16:05:16 -03:00
Delta-V bot 62e9ebc216 Automatic changelog update 2026-06-07 20:13:32 +02:00
biddygelson 25b69a3f9e Academy 1.9.0 BLU+ (#5972)
* * Added Poppy to Eng break room.
* Replaced all faxes with department variants. Note Justice was used over Lawyer; faxes added to Dorms, Chem, Botany, Chef, Bar. MimeLaw.
* Replaced Emergency EVAs with Epistemics EVAs in Artefact.
* Replaced RED-Sec with BLU-Sec; Sec, Brig, and Evac.
* Added Anti-Anom to solars.

* * replaced RED with BLU sec in viro security
* removed condenser in chem
* added condenser in atmos front
* added APC to atmos burn chambers
2026-06-07 20:13:12 +02:00
Field Command 7ed7dbcbb1 Maps: Timer be gone! (#5980)
✔
2026-06-07 18:05:08 +00:00
Delta-V bot fcdf1cbbf4 Automatic changelog update 2026-06-07 18:23:16 +02:00
SirrRequiem 9f786a7c1c Terra 6: Everything is Blue (#5956)
* Terra 6: Everything is Blue

* Curtains and carpets now match
2026-06-07 18:22:57 +02:00
github-actions[bot]andDeltaV-Bot e2e5c40f83 Update Credits (#5974)
Co-authored-by: DeltaV-Bot <github@deltav.gay>
2026-06-07 04:55:51 +02:00
Delta-V bot d0c3cff669 Automatic changelog update 2026-06-06 21:14:23 +02:00
ed1fa64a6e feat: Recent SSD indicator, SSD time in admin overlay (#5699)
* feat: Recent SSD indicator, SSD time in admin overlay

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* tweak: remove colon from ssd time loc string

* feat: add another stage

* feat: ssd examine text

* apply suggestion: make ssdstage serializable, use proper doc comments

Co-authored-by: pathetic meowmeow <uhhadd@gmail.com>
Signed-off-by: DisposableCrewmember42 <disposablecrewmember42@proton.me>

* apply suggestion: more compact switch, throw instead of logging if invalid stage

Co-authored-by: pathetic meowmeow <uhhadd@gmail.com>
Signed-off-by: DisposableCrewmember42 <disposablecrewmember42@proton.me>

* apply suggestion: missing DeltaV comment

Co-authored-by: Sir Warock <67167466+SirWarock@users.noreply.github.com>
Signed-off-by: DisposableCrewmember42 <disposablecrewmember42@proton.me>

* fix: add missing import

* refactor: remove unnecessary state-keeping

i don't remember why i did it like that

* chore: remove unused import

* refactor: don't separate comp from ent

---------

Signed-off-by: DisposableCrewmember42 <disposablecrewmember42@proton.me>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: pathetic meowmeow <uhhadd@gmail.com>
Co-authored-by: Sir Warock <67167466+SirWarock@users.noreply.github.com>
2026-06-06 19:14:03 +00:00
Delta-V bot cb245477b8 Automatic changelog update 2026-06-06 14:08:17 +02:00
0fdfef7175 New Lobby/Jukebox Track Made By Me (#5620)
* woah

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* attributions updates

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Update Resources/Audio/_DV/Lobby/attributions.yml

Co-authored-by: Tobias Berger <toby@tobot.dev>
Signed-off-by: This_Is_Gray <167829864+IAmNotGray@users.noreply.github.com>

* Update Resources/Audio/_DV/Jukebox/attributions.yml

Co-authored-by: Tobias Berger <toby@tobot.dev>
Signed-off-by: This_Is_Gray <167829864+IAmNotGray@users.noreply.github.com>

* Update RobustToolbox

---------

Signed-off-by: This_Is_Gray <167829864+IAmNotGray@users.noreply.github.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Tobias Berger <toby@tobot.dev>
2026-06-06 12:07:55 +00:00
Delta-V bot 646d538c4a Automatic changelog update 2026-06-06 11:53:38 +02:00
Stxcking 6ebcf78d08 Fix: Radiation Barrier Projector Works as Intended (#5787)
fix
2026-06-06 11:53:19 +02:00
Delta-V bot 2b7e3c8058 Automatic changelog update 2026-06-05 23:14:09 +02:00
pathetic meowmeow 4736a8db6f Add cyborg wire panel (#5948)
* Add cyborg wire panel

* MORE WIRES RAAAGH

* file capitalization

* renamed

* more comments
2026-06-05 23:13:49 +02:00
Delta-V bot 6057388bae Automatic changelog update 2026-06-05 19:34:29 +02:00
50a651beea Added Chameleon Armor (#5921)
* Added Chameleon Armor

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* nerfvest

* Lowered Price

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Changed Carapace Parent

* Remove irrelevant Braces

Signed-off-by: Sir Warock <67167466+SirWarock@users.noreply.github.com>

---------

Signed-off-by: Sir Warock <67167466+SirWarock@users.noreply.github.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Sir Warock <67167466+SirWarock@users.noreply.github.com>
2026-06-05 17:34:09 +00:00
VelcroboyandVelcroboy 7e1308dd12 Map Hotfix: Elegance (#5966)
Co-authored-by: Velcroboy <velcroboy333@hotmail.com>
2026-06-05 18:06:03 +02:00
Delta-V bot 338ff271c7 Automatic changelog update 2026-06-05 17:33:16 +02:00
Stxcking fddd9079d3 Feat: Small Nuclear Reactor and Small Gas Turbine for Purchase (#5945)
mhmm
2026-06-05 11:32:56 -04:00
Delta-V bot bedc17ae73 Automatic changelog update 2026-06-05 17:29:04 +02:00
Stxcking ec80e99e26 Tweak: Added More Pride Theme Items in the Pride-o-Mat (#5946)
* gay

* more gay
2026-06-05 11:28:44 -04:00
Delta-V bot 4ceb567439 Automatic changelog update 2026-06-05 17:26:45 +02:00
Theo 6a9984475c Random nukie and ninja appearance (#5922)
* ninja and nukie random appearance component added to gamerules

* ninja and nukie random appearance component added to gamerules

* add keepgender
2026-06-05 15:26:24 +00:00
Delta-V bot 030eb95c63 Automatic changelog update 2026-06-05 17:18:10 +02:00
Stxcking 00abed028d Feat: No Paradox Clone Trait (#5937)
* yip

* whoops
2026-06-05 11:17:50 -04:00
Delta-V bot 0f3d319a6d Automatic changelog update 2026-06-05 17:08:02 +02:00
biddygelson a9ddc102e7 Academy 1.8.1 (#5880)
* added secure windoors to sec disposal chutes
* added secure windoors to epi-brig disposal chute, sec and epi locked.
* tweak medical escape pods for DV 5x7 variant
* tweak justice escape pods for DV 5x7 variant
* replaced all solar grill with random grill spawner
* tweak moved disposal light so it doesn't break from trash
2026-06-05 17:07:41 +02:00
Delta-V bot a51896b08d Automatic changelog update 2026-06-05 17:06:12 +02:00
Stxcking 356106342f Tweak: Revert Upstream Medical Borg Rework + More (#5656)
* Medical Borg Good Again :D

* Indents buh

* im blind

or dumb, theres errors that seem unrelated to the bodybags after this

* IM SORRY I FORGOT ABOUT THIS

* Anchoring it
2026-06-05 11:05:52 -04:00
Delta-V bot a3b450ac07 Automatic changelog update 2026-06-05 15:34:19 +02:00
pathetic meowmeow 4ddb5901b0 Better douner name generation (#5836)
* better douner name generation

* more names

* yet more names

* ugly sins that i hate

* screaming

* e
2026-06-05 15:33:56 +02:00
Delta-V bot 972d852bf4 Automatic changelog update 2026-06-05 14:46:20 +02:00
pathetic meowmeow ef0d317d12 Interaction particle finetuning (#5933) 2026-06-05 08:46:01 -04:00
003e08b583 Flavourful emotes (#5595)
* Changed up how emoting works

This was a long 10 hours just to get the chat to behave slightly different.

At least we can now scream over radio!

Will most definitely need some more work to get bugs out since this is the first implementation.

* Not ok

This was unmarked for some reason... I don't remember unmarking this.

* DeltaV comments

Added comments to explain changes.

Moved localization files to the _DV folder.

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Moved code

Moved code to more suitable files and added some comments.

* Rights for robots

Now those with intrinsic radios can also emote!

* Fixes up some small stuff

Changes to fix some small issues with the code to align it more with modern standards.

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Fix by-ref event

Never worked with this event type before so gonna hope this works.

* Update Content.Shared/Chat/SharedChatSystem.Emote.cs

Signed-off-by: pathetic meowmeow <uhhadd@gmail.com>

* Update Content.Shared/Chat/SharedChatSystem.cs

Signed-off-by: pathetic meowmeow <uhhadd@gmail.com>

* Update Content.Server/Chat/Systems/ChatSystem.cs

Signed-off-by: pathetic meowmeow <uhhadd@gmail.com>

* fix style nits

* remove conflicting chatsan

---------

Signed-off-by: pathetic meowmeow <uhhadd@gmail.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: pathetic meowmeow <uhhadd@gmail.com>
2026-06-04 17:25:58 +00:00
Delta-V bot 74739709c4 Automatic changelog update 2026-06-04 12:59:17 +02:00
AeraAulinandSir Warock 61840fd5ab Rename Holy to Radiant and Shadow to Soul (#5952)
* rename shadow to soul and change it all since it's ours, hopefully change holy to radiant while touching as little as possible

* obliterate a mention of shadow

* Update Resources/Prototypes/_Impstation/Entities/Mobs/Anomalites/anomalite_damage.yml

Co-authored-by: Sir Warock <67167466+SirWarock@users.noreply.github.com>
Signed-off-by: AeraAulin <133451603+AeraAuling@users.noreply.github.com>

---------

Signed-off-by: AeraAulin <133451603+AeraAuling@users.noreply.github.com>
Co-authored-by: Sir Warock <67167466+SirWarock@users.noreply.github.com>
2026-06-04 07:58:56 -03:00
Delta-V bot 90f7aa7999 Automatic changelog update 2026-06-03 20:44:15 +02:00
turtlemutt 2260af7ce1 Bluehouse (#5898)
Update lighthouse.yml
2026-06-03 20:43:55 +02:00
Delta-V bot d6230dfaa9 Automatic changelog update 2026-06-02 17:17:04 +02:00
VelcroboyandVelcroboy 1613a75eba Map Edits: Jug Hotfix (#5944)
Co-authored-by: Velcroboy <velcroboy333@hotmail.com>
2026-06-02 15:16:38 +00:00
DisposableCrewmember42andKara 206b7d0ddb cherry-pick: Fix deny/emag animation (EphemeralSpace/ephemeral-space#181) (#5950)
Fix deny/emag animation (EphemeralSpace/ephemeral-space#181)

Co-signed-by: DisposableCrewmember42 <disposablecrewmember42@proton.me>

Co-authored-by: Kara <mirrorcult@pm.me>
2026-06-02 09:48:10 -04:00
Delta-V bot 005165b6f8 Automatic changelog update 2026-06-02 05:24:30 +02:00
Halo3moth bc96c7baec Sec coat microbalancing (#5939)
micro adjustments inbound
2026-06-01 23:24:10 -04:00
Delta-V bot cd765f34a7 Automatic changelog update 2026-06-01 16:11:59 +02:00
a8c721fbb1 Bluesec - day 0 fixes (#5936)
* Day 0 fixes

Fixes cyborgs, cadet beret, adds grey beret, fixes descriptions, fixes spriting errors in jumpsuits/skirts, makes airlocks slightly brighter (same brightness as the non-glass ones)

* thecoat

total red coat death

* update longcoat descriptions

2 word fix

* 2 pixel sprite updates

* the barriering

barriers, but blue

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* update security radio color

brightens the security radio channel in hopes of making it more readable

* small revert

* Update Resources/Textures/_DV/Objects/Specific/Security/barrier.rsi/meta.json

Co-authored-by: Radezolid <snappednexus@gmail.com>
Signed-off-by: DarkenedSynergy <70016079+DarkenedSynergy@users.noreply.github.com>

---------

Signed-off-by: DarkenedSynergy <70016079+DarkenedSynergy@users.noreply.github.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Radezolid <snappednexus@gmail.com>
2026-06-01 14:11:38 +00:00
Delta-V bot a97a42701e Automatic changelog update 2026-05-31 22:39:20 +02:00
e8287ada86 Mantis Rework Pt. 1 (#5757)
* this works suspiciously well but also it's not actually that much

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* conflict stuff

* and put the tags back in

* halve glimmer created by psionics and alter the knife a bit

* finally add the guidebook. hopefully this passes tests when I take it off a draft

* fix yaml stuff hopefully

* fix merge conflict stuff

* and put my stuff back

* more merge conflicts aaaaaaaa

* dying

* put implants back in

* c# it up

* Apply suggestions from code review

Co-authored-by: pathetic meowmeow <uhhadd@gmail.com>
Signed-off-by: pathetic meowmeow <uhhadd@gmail.com>

* fix some stuff and add mindbreaker to the guidebook

* make audio stuff mono

* aaaaaaaa

---------

Signed-off-by: pathetic meowmeow <uhhadd@gmail.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Janet Blackquill <uhhadd@gmail.com>
2026-05-31 20:39:00 +00:00
Delta-V bot 69f62ca86b Automatic changelog update 2026-05-31 21:29:13 +02:00
Field Command 44f7d66b09 Update to Pebble (#5847) 2026-05-31 15:28:53 -04:00
Delta-V bot 3cec2d61df Automatic changelog update 2026-05-31 18:45:37 +02:00
Sir Warock a61a09b3d9 Reduce JugSuits Stamina Resistance (#5893)
YML warrior
2026-05-31 18:45:17 +02:00
KOTOB 0eca06ccdf RandomHumanoidApperance keep gender parameter (#5932)
gender AND sex? #notverywokeofyou
2026-05-31 16:25:29 +02:00
Delta-V bot 9db24b3f4c Automatic changelog update 2026-05-31 07:25:54 +02:00
Theo 7292a14490 fix ecrossbow despawn (#5931)
whoopsie
2026-05-31 05:25:34 +00:00
github-actions[bot]andDeltaV-Bot 5425432338 Update Credits (#5930)
Co-authored-by: DeltaV-Bot <github@deltav.gay>
2026-05-31 04:51:23 +02:00
d8f38bcc93 Security resprite - blue (#5626)
* Sprites/yaml episode 1

Most of the recolouring of outfits, lockers, doors and adding of new sprites is all done in this one commit

* Squashed commit of the following:

commit cd77b5d86f
Author: Delta-V bot <135767721+DeltaV-Bot@users.noreply.github.com>
Date:   Thu Mar 12 12:24:05 2026 +0100

    Automatic changelog update

commit 373f6ae62d
Author: Stxcking <217132821+Stxcking@users.noreply.github.com>
Date:   Thu Mar 12 07:23:45 2026 -0400

    More Gun Safe Sprite: Salvage + Plain (#5512)

    * everything I could think of

    - added sprites
    - tweaked the ID of existing safes by adding security to them
    - lowercase the name to match with other entities
    - added gun to upstream safe names so I can find it easier in the entity panel

    * name changes

    to match our naming scheme and to not have multiple gun safes name gun safe

    * [pre-commit.ci] auto fixes from pre-commit.com hooks

    for more information, see https://pre-commit.ci

    * lowercase s

    It's 3am

    ---------

    Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

commit d6c185f484
Author: Delta-V bot <135767721+DeltaV-Bot@users.noreply.github.com>
Date:   Thu Mar 12 05:03:25 2026 +0100

    Automatic changelog update

commit 14ab2cb60b
Author: Coryn <coryler@gmail.com>
Date:   Thu Mar 12 05:03:04 2026 +0100

    Remove Doubling Uranium Window Material (#5470)

commit 2f5ee005c4
Author: Delta-V bot <135767721+DeltaV-Bot@users.noreply.github.com>
Date:   Wed Mar 11 01:14:57 2026 +0100

    Automatic changelog update

commit 35554b0c3c
Author: Theo <tad3@illinois.edu>
Date:   Tue Mar 10 19:14:36 2026 -0500

    jugsuit stamres and buy limit (#5462)

    * reduce jugsuit ranged stam res to 50%, limit to only 1 purchase per uplink, limit to only commander and lone op uplink

    * [pre-commit.ci] auto fixes from pre-commit.com hooks

    for more information, see https://pre-commit.ci

    * fix comment

    Signed-off-by: Pharaz4 <143268074+Pharaz4@users.noreply.github.com>

    ---------

    Signed-off-by: Pharaz4 <143268074+Pharaz4@users.noreply.github.com>
    Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
    Co-authored-by: Pharaz4 <143268074+Pharaz4@users.noreply.github.com>

commit 0b1cac7a84
Author: Delta-V bot <135767721+DeltaV-Bot@users.noreply.github.com>
Date:   Wed Mar 11 00:34:54 2026 +0100

    Automatic changelog update

commit 4ae1393c7a
Author: ConstantlyConfused <67894661+Eternally-Confused@users.noreply.github.com>
Date:   Tue Mar 10 19:34:35 2026 -0400

    Make interdyne herbals not provide omnizine when grounded (#5493)

    Make grinding interdyne herbals not provide omni

commit 663505f12f
Author: Delta-V bot <135767721+DeltaV-Bot@users.noreply.github.com>
Date:   Tue Mar 10 17:30:01 2026 +0100

    Automatic changelog update

commit 15cd42e746
Author: snowywinters <134970424+snowywinters@users.noreply.github.com>
Date:   Tue Mar 10 10:29:41 2026 -0600

    Asterisk arrivals (#5497)

    Arrivals

commit a4318642f4
Author: Delta-V bot <135767721+DeltaV-Bot@users.noreply.github.com>
Date:   Tue Mar 10 04:45:24 2026 +0100

    Automatic changelog update

commit 6d0390d3ce
Author: Solaris <63768197+Solaris7518@users.noreply.github.com>
Date:   Mon Mar 9 22:45:05 2026 -0500

    Minor sec sprite changes and new security mask. (#5426)

    * New secmask sprites

    * secmask spriting changes again

    * Update equipped-MASK.png

    * Why the fuck do all of our races have differing face shapes 😭

    * Too lazy to add an actual removed mask sprite so i just made it so that it removes the filters like with the explorer mask

    * Increased mask size for secmask due to it being simiar size to explorer mask.

    * "High quality" icon of updated sprite

    * secmask inhand sprites changed

    * New secmask description

    * Making the mask its own thing.

    * a

    * [pre-commit.ci] auto fixes from pre-commit.com hooks

    for more information, see https://pre-commit.ci

    * Do not question my methods.

    * Update meta.json

    * renaming...

    * screams

    * had to fix this.

    * h

    * ITS CRAFTABLE MOTHERFUCEKRS, YEAAAA!!!!

    * Made the other one craftable too.

    * you know how it is...

    * a

    * [pre-commit.ci] auto fixes from pre-commit.com hooks

    for more information, see https://pre-commit.ci

    * im finna lose my shit if i had to do more to fix this not showing up in lathes

    * sprite updates and gas mask size change

    * Update inhand-right.png

    * more sprite changes

    * d

    * HOLY SHIT FINALLY FIXED IT

    * made sprites look slightly better, also now looks like it fits properly with new sec mask equipped.

    * screams

    * screams 2

    * Im finna cry if any of these sprites break

    * test fail fix

    * i fucking hate test fails

    * requested changes

    * changes 2

    * changes 3

    * all done i think

    * 1984

    ---------

    Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

commit 2ac4aa418a
Author: Delta-V bot <135767721+DeltaV-Bot@users.noreply.github.com>
Date:   Tue Mar 10 04:44:48 2026 +0100

    Automatic changelog update

commit 1a8060330d
Author: DisposableCrewmember42 <disposablecrewmember42@proton.me>
Date:   Tue Mar 10 03:44:29 2026 +0000

    tweak: minor Conspiracy tweaks (#5499)

    * tweak: add glimmerventscheduler to conspiracy

    * tweak: conspirators should ahelp custom objective

    * tweak: tack onto guidebook addition

commit 133f311a24
Author: Delta-V bot <135767721+DeltaV-Bot@users.noreply.github.com>
Date:   Tue Mar 10 00:05:24 2026 +0100

    Automatic changelog update

commit 8e9f8d015c
Author: Velcroboy <107660393+IamVelcroboy@users.noreply.github.com>
Date:   Mon Mar 9 18:05:04 2026 -0500

    Fix Smile Recipe/Add Research Log (#5482)

    * Fix Smile Recipe/Add Research Log

    * added "slime"

    * Ahh, I see

    * typo fix

    ---------

    Co-authored-by: Velcroboy <velcroboy333@hotmail.com>

commit d328c7a448
Author: Delta-V bot <135767721+DeltaV-Bot@users.noreply.github.com>
Date:   Mon Mar 9 23:24:28 2026 +0100

    Automatic changelog update

commit 76e1cab5a4
Author: Coryn <coryler@gmail.com>
Date:   Mon Mar 9 23:24:09 2026 +0100

    Add Plant-Box Toggleable Magnetism (#5467)

commit b06f761ee6
Author: Delta-V bot <135767721+DeltaV-Bot@users.noreply.github.com>
Date:   Mon Mar 9 23:10:19 2026 +0100

    Automatic changelog update

commit 62dfd5c26b
Author: keekee38 <iamabanana372456@gmail.com>
Date:   Mon Mar 9 18:10:00 2026 -0400

    readding the elite suit to the uplink (#5459)

    * need more will think 4 more

    * yay back in catalog,,,

    * me when i forget to branch from master xd

    * oopsie daisy im not smart and also tired

    Signed-off-by: keekee38 <iamabanana372456@gmail.com>

    * undid jug stuff

    * fix comments

    Signed-off-by: Pharaz4 <143268074+Pharaz4@users.noreply.github.com>

    * comment fix 2

    Signed-off-by: Pharaz4 <143268074+Pharaz4@users.noreply.github.com>

    ---------

    Signed-off-by: keekee38 <iamabanana372456@gmail.com>
    Signed-off-by: Pharaz4 <143268074+Pharaz4@users.noreply.github.com>
    Co-authored-by: Pharaz4 <143268074+Pharaz4@users.noreply.github.com>

commit 73523baf45
Author: Delta-V bot <135767721+DeltaV-Bot@users.noreply.github.com>
Date:   Mon Mar 9 22:58:37 2026 +0100

    Automatic changelog update

commit f695a8ffe6
Author: snowywinters <134970424+snowywinters@users.noreply.github.com>
Date:   Mon Mar 9 15:58:18 2026 -0600

    AmmoFab (#5476)

    * Ammo

    * test

    * Ammofab last one

commit 769cacc04a
Author: Delta-V bot <135767721+DeltaV-Bot@users.noreply.github.com>
Date:   Mon Mar 9 20:36:26 2026 +0100

    Automatic changelog update

commit 28fe58435f
Author: DisposableCrewmember42 <disposablecrewmember42@proton.me>
Date:   Mon Mar 9 19:36:06 2026 +0000

    feat: people who turn off panicbunker can turn it back on (#5484)

    * feat: people who turn off panicbunker can turn it back on

    * docs: move patch comment

commit 96a1700b8c
Author: Delta-V bot <135767721+DeltaV-Bot@users.noreply.github.com>
Date:   Mon Mar 9 15:28:02 2026 +0100

    Automatic changelog update

commit 7759b69984
Author: Vape <76235372+Vapetastic-Gaming@users.noreply.github.com>
Date:   Mon Mar 9 10:27:41 2026 -0400

    Glacier Rework (#4713)

    * Finalizing with Merge conflicts

    * Final updates

    * FIXES: Medical, Doors, Lights

    * Significant Changes

    Medical Reworked again, Atmospherics is up to par with standards, Removed the automated atmos system, its now with what other maps have.
    Medical courtyard is fixed, and is now a hallway, while retaining the courtyard. Medical feung shway has been retained
    Found a couple of passive vents, removed em

    * Slight changes, fixes the fail

    * Fixes, Changes, Pending review

    * UPDATE, I FORGOT ONE LV CABLE

    * Minor changes and fixes

commit 6596031139
Author: Delta-V bot <135767721+DeltaV-Bot@users.noreply.github.com>
Date:   Mon Mar 9 14:40:32 2026 +0100

    Automatic changelog update

commit 8357533ccf
Author: jimbobby-the-FUCKING-first <Dcmontgomery123@gmail.com>
Date:   Mon Mar 9 09:40:13 2026 -0400

    Forged Sawn Off Shotgun (#5120)

    * Add files via upload

    i dont know what im doing but this seems legit

    Signed-off-by: jimbobby-the-FUCKING-first <Dcmontgomery123@gmail.com>

    * Update shotguns.yml

    adds the forged sawn off yaml

    Signed-off-by: jimbobby-the-FUCKING-first <Dcmontgomery123@gmail.com>

    * Update shotguns.yml

    makes the forged saw-able

    Signed-off-by: jimbobby-the-FUCKING-first <Dcmontgomery123@gmail.com>

    * Add files via upload

    makes the forged gun saw-able even more

    Signed-off-by: jimbobby-the-FUCKING-first <Dcmontgomery123@gmail.com>

    * [pre-commit.ci] auto fixes from pre-commit.com hooks

    for more information, see https://pre-commit.ci

    * Update meta.json

    put that , there

    Signed-off-by: jimbobby-the-FUCKING-first <Dcmontgomery123@gmail.com>

    * [pre-commit.ci] auto fixes from pre-commit.com hooks

    for more information, see https://pre-commit.ci

    * fix filepath oopsie

    Signed-off-by: Pharaz4 <143268074+Pharaz4@users.noreply.github.com>

    ---------

    Signed-off-by: jimbobby-the-FUCKING-first <Dcmontgomery123@gmail.com>
    Signed-off-by: Pharaz4 <143268074+Pharaz4@users.noreply.github.com>
    Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
    Co-authored-by: Pharaz4 <143268074+Pharaz4@users.noreply.github.com>

commit ea944f1889
Author: Delta-V bot <135767721+DeltaV-Bot@users.noreply.github.com>
Date:   Mon Mar 9 14:32:24 2026 +0100

    Automatic changelog update

commit 792aeb97bd
Author: verybigman <171044200+verybigman311@users.noreply.github.com>
Date:   Mon Mar 9 09:32:05 2026 -0400

    Shock Collars Fix (#5332)

    * lalala

    * changed access reader for both

    * tada

commit 39b9b6b179
Author: Theo <tad3@illinois.edu>
Date:   Mon Mar 9 08:31:50 2026 -0500

    Wrenchcrowbar fix (#5388)

    * add anchoring behavior to multipletool comp

    * fixed crowbar state name and wrenching filepath to be real and not guesses

    * Update Resources/Prototypes/_Starlight/Entities/Objects/Tools/tools.yml

    Moving comment

    Co-authored-by: BarryNorfolk <barrynorfolkman@protonmail.com>
    Signed-off-by: Theo <tad3@illinois.edu>

    * Update Resources/Prototypes/_Starlight/Entities/Objects/Tools/tools.yml

    Move comment

    Co-authored-by: BarryNorfolk <barrynorfolkman@protonmail.com>
    Signed-off-by: Theo <tad3@illinois.edu>

    * fix comments

    Signed-off-by: Pharaz4 <143268074+Pharaz4@users.noreply.github.com>

    * fix improper sprite usage

    Signed-off-by: Pharaz4 <143268074+Pharaz4@users.noreply.github.com>

    ---------

    Signed-off-by: Theo <tad3@illinois.edu>
    Signed-off-by: Pharaz4 <143268074+Pharaz4@users.noreply.github.com>
    Co-authored-by: BarryNorfolk <barrynorfolkman@protonmail.com>
    Co-authored-by: Pharaz4 <143268074+Pharaz4@users.noreply.github.com>

commit 27eea1f08d
Author: Delta-V bot <135767721+DeltaV-Bot@users.noreply.github.com>
Date:   Mon Mar 9 12:49:17 2026 +0100

    Automatic changelog update

commit 3ee42c048e
Author: Stxcking <217132821+Stxcking@users.noreply.github.com>
Date:   Mon Mar 9 07:48:58 2026 -0400

    Added a New Ruin: Abandoned Dojo (#5427)

    added grid and one line of yaml

commit b0d7578419
Author: Delta-V bot <135767721+DeltaV-Bot@users.noreply.github.com>
Date:   Mon Mar 9 12:39:54 2026 +0100

    Automatic changelog update

commit e6aad0c2b5
Author: DisposableCrewmember42 <disposablecrewmember42@proton.me>
Date:   Mon Mar 9 11:39:35 2026 +0000

    fix: make sure there isn't a solo conspirator (#5490)

    * fix: add minTotalPlayers to conspirators gamerule, increase delay

    * tweak: remove unnecessary minPlayers attribute

    * tweak: set minplayers to 15

    * tweak: i'll just use cult values

commit 914ea8e65f
Author: Delta-V bot <135767721+DeltaV-Bot@users.noreply.github.com>
Date:   Mon Mar 9 11:55:28 2026 +0100

    Automatic changelog update

commit a0e1678727
Author: Woljif <243318409+Woljif@users.noreply.github.com>
Date:   Mon Mar 9 06:55:08 2026 -0400

    Change shotgun storage (#5469)

    * Change Kammerer shape to 2x4.

    Signed-off-by: Pharaz4 <143268074+Pharaz4@users.noreply.github.com>

    ---------

    Signed-off-by: Pharaz4 <143268074+Pharaz4@users.noreply.github.com>
    Co-authored-by: Pharaz4 <143268074+Pharaz4@users.noreply.github.com>

commit d1fd332dff
Author: Delta-V bot <135767721+DeltaV-Bot@users.noreply.github.com>
Date:   Mon Mar 9 11:18:09 2026 +0100

    Automatic changelog update

commit e83fabe577
Author: snowywinters <134970424+snowywinters@users.noreply.github.com>
Date:   Mon Mar 9 04:17:49 2026 -0600

    Watchdogs  (#5475)

commit de4c36b4a9
Author: Delta-V bot <135767721+DeltaV-Bot@users.noreply.github.com>
Date:   Mon Mar 9 10:43:45 2026 +0100

    Automatic changelog update

commit e09c0d998d
Author: HameyTychol <jhammett3229@gmail.com>
Date:   Mon Mar 9 05:43:25 2026 -0400

    Made 4 items recyclable (#5398)

    * Made 4 items recyclable

    Co-authored-by: Pharaz4 <143268074+Pharaz4@users.noreply.github.com>
    Signed-off-by: HameyTychol <jhammett3229@gmail.com>

    ---------

    Signed-off-by: HameyTychol <jhammett3229@gmail.com>
    Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
    Co-authored-by: Pharaz4 <143268074+Pharaz4@users.noreply.github.com>

commit af65b0b48f
Author: Delta-V bot <135767721+DeltaV-Bot@users.noreply.github.com>
Date:   Mon Mar 9 10:12:48 2026 +0100

    Automatic changelog update

commit 1967b3063f
Merge: e08134124b 04eaf652f6
Author: Pharaz4 <143268074+Pharaz4@users.noreply.github.com>
Date:   Mon Mar 9 20:12:29 2026 +1100

    Merge pull request #5471 from Coryler/universal-pinpointer-ops

    Add Universal Pinpointer to Uplink

commit e08134124b
Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Date:   Sun Mar 8 02:30:55 2026 +0100

    Update Credits (#5483)

    Co-authored-by: DeltaV-Bot <github@deltav.gay>

commit 522a407fc5
Author: Delta-V bot <135767721+DeltaV-Bot@users.noreply.github.com>
Date:   Sat Mar 7 21:35:38 2026 +0100

    Automatic changelog update

commit 0f3376e409
Author: Cepelinas1 <kakelis01@gmail.com>
Date:   Sat Mar 7 22:35:19 2026 +0200

    Make Internal Affairs rollable (#5450)

    * first

    * station event rule, random objectives but error with giving antag status

    * cleanup

    * had a stroke and i think i did the event correctly

    * small unfuckery

    * listen to cc better wording

    * guidebook added

    * somehow duplicated the entirety of events.yml

    * what they asked of me was implemented...

commit 0f467ffeb1
Author: Delta-V bot <135767721+DeltaV-Bot@users.noreply.github.com>
Date:   Sat Mar 7 17:24:44 2026 +0100

    Automatic changelog update

commit 65f06c4901
Author: Pharaz4 <143268074+Pharaz4@users.noreply.github.com>
Date:   Sun Mar 8 03:24:25 2026 +1100

    pr spam 3: Kitchen freezer (#5443)

    * adminbelt changes

    * fuck me

    * kitchen freezer

    * freezer machine board

commit 57b995e221
Author: Delta-V bot <135767721+DeltaV-Bot@users.noreply.github.com>
Date:   Sat Mar 7 10:45:41 2026 +0100

    Automatic changelog update

commit ad33cb0ed1
Author: marigauge <thesaiyandude3@gmail.com>
Date:   Sat Mar 7 09:45:22 2026 +0000

    Revert "Revert Soretizone buff (#5307)" but not the agono numbness (#5391)

    Revert "Revert Soretizone buff (#5307)"

    This reverts commit a594aba646.

    Update medicine.yml

commit 340eab226c
Author: Delta-V bot <135767721+DeltaV-Bot@users.noreply.github.com>
Date:   Fri Mar 6 17:21:12 2026 +0100

    Automatic changelog update

commit df06bfd844
Author: Tobias Berger <toby@tobot.dev>
Date:   Fri Mar 6 17:20:22 2026 +0100

    Add missing changelog

commit 47ea823edd
Author: BarryNorfolk <barrynorfolkman@protonmail.com>
Date:   Fri Mar 6 17:10:25 2026 +0100

    Ipc/fix battery alert (#5345)

    * Move SiliconChargeSystem to shared under _DV namespace

    * Remove SiliconHeatEffects

    * Fixup system to match _DV and shared

    * Update usages of other systems

    * Move CVar to server/replicated

    * Remove unused systems

commit ae8bfec6cb
Author: Delta-V bot <135767721+DeltaV-Bot@users.noreply.github.com>
Date:   Fri Mar 6 16:36:54 2026 +0100

    Automatic changelog update

commit 97c31b8bb3
Author: Astra <226853568+EmberAstra@users.noreply.github.com>
Date:   Fri Mar 6 16:36:33 2026 +0100

    Power Digi-Board (#5435)

    * Add CE's power digi-board

    * [pre-commit.ci] auto fixes from pre-commit.com hooks

    for more information, see https://pre-commit.ci

    ---------

    Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

commit 13fd8053e4
Author: Astra <226853568+EmberAstra@users.noreply.github.com>
Date:   Fri Mar 6 16:23:12 2026 +0100

    Update Research Digi-Board Sprite Copyright (#5478)

    update meta

commit 8ca0dd8ee8
Author: Delta-V bot <135767721+DeltaV-Bot@users.noreply.github.com>
Date:   Thu Mar 5 22:19:11 2026 +0100

    Automatic changelog update

commit 5654d8b22d
Author: Stxcking <217132821+Stxcking@users.noreply.github.com>
Date:   Thu Mar 5 16:18:51 2026 -0500

    New Mailbox Sprite ! (#5433)

    * Nuked Nyano's and added new !

    * [pre-commit.ci] auto fixes from pre-commit.com hooks

    for more information, see https://pre-commit.ci

    * Whooops...

    Corrected the slashes and removed the scaling

    * tweak sprite

     ( I can't do a PR without a million commits) The outline make this looks better after looking at it in game

    ---------

    Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

commit 4fb1e99746
Author: Delta-V bot <135767721+DeltaV-Bot@users.noreply.github.com>
Date:   Thu Mar 5 22:17:56 2026 +0100

    Automatic changelog update

commit ffd8a41aa1
Author: Astra <226853568+EmberAstra@users.noreply.github.com>
Date:   Thu Mar 5 22:17:36 2026 +0100

    Small Research Digi-Board Fix (#5434)

    * Fix research digi-bord storage.

    * Fix the sprite too why not

    * Also fix the paper for the inhand sprites whoops

commit 73b3daf7bc
Author: Delta-V bot <135767721+DeltaV-Bot@users.noreply.github.com>
Date:   Thu Mar 5 21:46:33 2026 +0100

    Automatic changelog update

commit cf3ceff0e3
Author: Woljif <243318409+Woljif@users.noreply.github.com>
Date:   Thu Mar 5 15:46:13 2026 -0500

    Increased sec jetpacks from 1.5L to 3.0L and removed ability to go on… (#5357)

    * Increased sec jetpacks from 1.5L to 3.0L and removed ability to go on belt (no longer a mini jetpack clone)

    * Fixed some comments, added overrides.ftl, and also added the GasTank component to the empty sec jetpack so they wouldnt inherit the base jetpack's 5L capacity and be larger than their filled counterparts

    * [pre-commit.ci] auto fixes from pre-commit.com hooks

    for more information, see https://pre-commit.ci

    ---------

    Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

commit 6a0610f4d6
Author: Delta-V bot <135767721+DeltaV-Bot@users.noreply.github.com>
Date:   Thu Mar 5 02:33:03 2026 +0100

    Automatic changelog update

commit d93fd29046
Author: This_Is_Gray <167829864+IAmNotGray@users.noreply.github.com>
Date:   Wed Mar 4 20:32:43 2026 -0500

    Elegance Engineering Crates Hotfix (#5468)

    * Update elegance.yml

    * Update elegance.yml

    * Update elegance.yml

commit 7d3f15b8d8
Author: Pharaz4 <143268074+Pharaz4@users.noreply.github.com>
Date:   Wed Mar 4 15:54:34 2026 +1100

    fix missing exception on lavaland ruin (#5472)

commit 04eaf652f6
Author: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Date:   Wed Mar 4 02:58:01 2026 +0000

    [pre-commit.ci] auto fixes from pre-commit.com hooks

    for more information, see https://pre-commit.ci

commit cdfa5457f9
Author: Coryler <coryler@gmail.com>
Date:   Wed Mar 4 03:28:58 2026 +0100

    Add Universal Pinpointer to Uplink

commit 9cb5c83c67
Author: Delta-V bot <135767721+DeltaV-Bot@users.noreply.github.com>
Date:   Wed Mar 4 02:23:40 2026 +0100

    Automatic changelog update

commit 6749a5fd8d
Author: SirrRequiem <webrules11@yahoo.com>
Date:   Tue Mar 3 20:23:20 2026 -0500

    Terra Hotfix 4 - It's Alive! (#5432)

    * Terra Hotfix 4 - It's Alive!

    * Removed all bombing targets from warp points

    * Renamed Vault substatin, extended cargo dock, added AI restore to AI Sat, changed arrivals screen

commit 771b9e59ba
Author: Colin-Tel <113523727+Colin-Tel@users.noreply.github.com>
Date:   Tue Mar 3 11:57:45 2026 -0600

    Update division.yml (#5465)

commit bdb08d0e58
Author: Delta-V bot <135767721+DeltaV-Bot@users.noreply.github.com>
Date:   Tue Mar 3 07:16:54 2026 +0100

    Automatic changelog update

commit f90ba817c1
Author: turtlemutt <wolfybriggan575@gmail.com>
Date:   Mon Mar 2 22:16:35 2026 -0800

    Lighthouse Arrivals (#5419)

    * Update lighthouse.yml

    * Update lighthouse.yml

    * Update lighthouse.yml

    * Update lighthouse.yml

    * Update lighthouse.yml

commit 7912b39117
Author: Delta-V bot <135767721+DeltaV-Bot@users.noreply.github.com>
Date:   Tue Mar 3 05:32:58 2026 +0100

    Automatic changelog update

commit 7d0c7a0feb
Author: Velcroboy <107660393+IamVelcroboy@users.noreply.github.com>
Date:   Mon Mar 2 22:32:38 2026 -0600

    Map Edits: Evac Shuttles (#5457)

    Co-authored-by: Velcroboy <velcroboy333@hotmail.com>

commit 70685a0cf9
Author: Delta-V bot <135767721+DeltaV-Bot@users.noreply.github.com>
Date:   Tue Mar 3 04:16:25 2026 +0100

    Automatic changelog update

commit 0fdf1a3a66
Author: Vape <76235372+Vapetastic-Gaming@users.noreply.github.com>
Date:   Mon Mar 2 22:16:05 2026 -0500

    Submarine Fixes (#5394)

    MASS UPDATE

commit 0976ef3fa2
Author: Delta-V bot <135767721+DeltaV-Bot@users.noreply.github.com>
Date:   Mon Mar 2 20:44:18 2026 +0100

    Automatic changelog update

commit 5c60e7c1ca
Author: Velcroboy <107660393+IamVelcroboy@users.noreply.github.com>
Date:   Mon Mar 2 13:43:58 2026 -0600

    Map Edits: Tortuga (#5437)

    * Map Edits: Tortuga

    * Additional changes

    * Passive vents

    * oh yeah

    * review fixes

    ---------

    Co-authored-by: Velcroboy <velcroboy333@hotmail.com>

commit 7f1bd2c404
Author: Delta-V bot <135767721+DeltaV-Bot@users.noreply.github.com>
Date:   Mon Mar 2 20:36:49 2026 +0100

    Automatic changelog update

commit d2ed0f9296
Author: Halo3moth <mdavid.wininger@gmail.com>
Date:   Mon Mar 2 13:36:29 2026 -0600

    Hos Aura Buff (#5425)

    * that should do it

    * copyright update

    * more work done

    * Rename Icon.png to icon.png

    Signed-off-by: Halo3moth <mdavid.wininger@gmail.com>

    ---------

    Signed-off-by: Halo3moth <mdavid.wininger@gmail.com>

commit 365c613e11
Author: Delta-V bot <135767721+DeltaV-Bot@users.noreply.github.com>
Date:   Mon Mar 2 19:17:50 2026 +0100

    Automatic changelog update

commit da249fc21e
Author: Pharaz4 <143268074+Pharaz4@users.noreply.github.com>
Date:   Tue Mar 3 05:17:30 2026 +1100

    Port over Funky's unary pipe layers (#5372)

    * port over funkies unary layers and put them under _funky namespace

    * fix construction thingies having names that cause yaml linter to fail

    * why does yamllinter not show errors on my machine

    * Apply suggestions from code review

    Signed-off-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>

    * addd attributions

    Co-authored-by: BarryNorfolk <barrynorfolkman@protonmail.com>
    Signed-off-by: Pharaz4 <143268074+Pharaz4@users.noreply.github.com>

    * add attributions 2

    Co-authored-by: BarryNorfolk <barrynorfolkman@protonmail.com>
    Signed-off-by: Pharaz4 <143268074+Pharaz4@users.noreply.github.com>

    * add attributions 3

    Co-authored-by: BarryNorfolk <barrynorfolkman@protonmail.com>
    Signed-off-by: Pharaz4 <143268074+Pharaz4@users.noreply.github.com>

    * Update Resources/Prototypes/_Funkystation/Entities/Structures/Piping/Atmospherics/alt_layers.yml

    Signed-off-by: BarryNorfolk <barrynorfolkman@protonmail.com>

    ---------

    Signed-off-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
    Signed-off-by: Pharaz4 <143268074+Pharaz4@users.noreply.github.com>
    Signed-off-by: BarryNorfolk <barrynorfolkman@protonmail.com>
    Co-authored-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
    Co-authored-by: BarryNorfolk <barrynorfolkman@protonmail.com>

commit 6e36d635c3
Author: Delta-V bot <135767721+DeltaV-Bot@users.noreply.github.com>
Date:   Mon Mar 2 18:48:45 2026 +0100

    Automatic changelog update

commit 881ef622e8
Author: pootslap <211648338+pootslap@users.noreply.github.com>
Date:   Mon Mar 2 17:48:25 2026 +0000

    Minor Rat King Tweaks (#5326)

    * baby rat king tweaks

    * requested changes

commit 26d72f8d31
Author: Delta-V bot <135767721+DeltaV-Bot@users.noreply.github.com>
Date:   Sun Mar 1 20:48:16 2026 +0100

    Automatic changelog update

commit c280e69b13
Author: Stxcking <217132821+Stxcking@users.noreply.github.com>
Date:   Sun Mar 1 14:47:57 2026 -0500

    Tweak the Health Analyzer Triage System  (#5110)

    * guh

    * applied suggestions + made medical access only

commit 70a3f830a8
Author: Delta-V bot <135767721+DeltaV-Bot@users.noreply.github.com>
Date:   Sun Mar 1 15:13:18 2026 +0100

    Automatic changelog update

commit d73fbae4b4
Author: Theo <rebe83a@gmail.com>
Date:   Sun Mar 1 08:12:58 2026 -0600

    add blacklist to cigpackbase for chems (#5402)

    * add blacklist to cigpackbase for bottle and vial

    * hold up i forgot half the shit

commit 842c7c2e40
Author: Delta-V bot <135767721+DeltaV-Bot@users.noreply.github.com>
Date:   Sun Mar 1 14:38:37 2026 +0100

    Automatic changelog update

commit a33036a30d
Author: Velcroboy <107660393+IamVelcroboy@users.noreply.github.com>
Date:   Sun Mar 1 07:38:18 2026 -0600

    Enable wizard's teleport scroll and wizard's den map (#5215)

    * Enable wizard's teleport scroll and wizard's den map

    * mapPath

    * longer cable in cave

    ---------

    Co-authored-by: Velcroboy <velcroboy333@hotmail.com>

commit 0e58c784b1
Author: Theo <rebe83a@gmail.com>
Date:   Sun Mar 1 06:56:50 2026 -0600

    Remove ballistic reflect from energy swords (#5429)

    * reduce reflect chance on ninja and cult swords  Energy weapons by default now only reflect energy projectiles

    * Revert "reduce reflect chance on ninja and cult swords  Energy weapons by default now only reflect energy projectiles"

    This reverts commit 444d9a4921.

    * Energy swords only reflect energy shots

commit eee6c70025
Author: Delta-V bot <135767721+DeltaV-Bot@users.noreply.github.com>
Date:   Sun Mar 1 12:19:02 2026 +0100

    Automatic changelog update

commit 7ef5a51c4a
Author: Pharaz4 <143268074+Pharaz4@users.noreply.github.com>
Date:   Sun Mar 1 22:18:42 2026 +1100

    move bluekies to DV namespace (#5414)

    * move bluekies to DV namespace

    * FIX FAIL

    * fix harpy paramed suit

commit 522cb17266
Author: Delta-V bot <135767721+DeltaV-Bot@users.noreply.github.com>
Date:   Sun Mar 1 09:56:59 2026 +0100

    Automatic changelog update

commit 1fe0c0bb5e
Author: snowywinters <134970424+snowywinters@users.noreply.github.com>
Date:   Sun Mar 1 01:56:39 2026 -0700

    Edge fix (#5439)

    * Edge

    * Edge Part two

    * Edge final

commit d26e8e018b
Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Date:   Sun Mar 1 02:49:42 2026 +0100

    Update Credits (#5453)

    Co-authored-by: DeltaV-Bot <github@deltav.gay>

commit ed084e91fb
Author: Delta-V bot <135767721+DeltaV-Bot@users.noreply.github.com>
Date:   Sat Feb 28 21:43:04 2026 +0100

    Automatic changelog update

commit d0733b7ebb
Author: Stxcking <217132821+Stxcking@users.noreply.github.com>
Date:   Sat Feb 28 15:42:44 2026 -0500

    Borg Crew Monitor Fixes (#5342)

    * Update handheld_crew_monitor.yml

    * suggested clarity

    * [pre-commit.ci] auto fixes from pre-commit.com hooks

    for more information, see https://pre-commit.ci

    ---------

    Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

commit 92d4563535
Author: Delta-V bot <135767721+DeltaV-Bot@users.noreply.github.com>
Date:   Sat Feb 28 21:06:27 2026 +0100

    Automatic changelog update

commit e969f172b1
Author: Pharaz4 <143268074+Pharaz4@users.noreply.github.com>
Date:   Sun Mar 1 07:06:08 2026 +1100

    Add cloth wraps (#5335)

    add cloth wraps

commit df8a041914
Author: Delta-V bot <135767721+DeltaV-Bot@users.noreply.github.com>
Date:   Sat Feb 28 19:14:11 2026 +0100

    Automatic changelog update

commit 12ceb006cd
Author: wesker <53323309+weskified@users.noreply.github.com>
Date:   Sun Mar 1 02:13:51 2026 +0800

    Add new Lobby and Jukebox music by Darklyac (#5424)

    * darkylac muisic real

    * the time

commit aa1dac2263
Author: Delta-V bot <135767721+DeltaV-Bot@users.noreply.github.com>
Date:   Sat Feb 28 15:23:32 2026 +0100

    Automatic changelog update

commit ceff7be9a4
Author: Cepelinas1 <kakelis01@gmail.com>
Date:   Sat Feb 28 16:23:13 2026 +0200

    Let Engineering choose their starter suit (#5317)

    * test

    * a lot of stuff

    * Changed voidsuit speed to 15%. Added a locker variant to just have the hardsuit, with a shitty id

    * test re-run

    * deltaV addition comments

    * goob copyright (just in case bro, don't sue us)

commit 23f866e069
Author: Delta-V bot <135767721+DeltaV-Bot@users.noreply.github.com>
Date:   Sat Feb 28 13:32:18 2026 +0100

    Automatic changelog update

commit 459b706338
Author: Madison Rye Progress <makyo@drab-makyo.com>
Date:   Sat Feb 28 04:31:59 2026 -0800

    fix: (re)remove forced accents (#5343)

    fix: (re)remove clothing/item/role-forced accents

commit 44d3e8ec9c
Author: Delta-V bot <135767721+DeltaV-Bot@users.noreply.github.com>
Date:   Sat Feb 28 11:26:56 2026 +0100

    Automatic changelog update

commit 55ca946fd4
Author: AeraAulin <133451603+AeraAuling@users.noreply.github.com>
Date:   Sat Feb 28 02:26:37 2026 -0800

    PKA fixes try 2 (#5311)

    * easier to just redo the PR rather then fix the old one

    * remove comment

    Co-authored-by: Tobias Berger <toby@tobot.dev>
    Signed-off-by: AeraAulin <133451603+AeraAuling@users.noreply.github.com>

    ---------

    Signed-off-by: AeraAulin <133451603+AeraAuling@users.noreply.github.com>
    Co-authored-by: Tobias Berger <toby@tobot.dev>

commit efcd7626a7
Author: Delta-V bot <135767721+DeltaV-Bot@users.noreply.github.com>
Date:   Sat Feb 28 11:08:01 2026 +0100

    Automatic changelog update

commit 3f9f656db2
Author: Velcroboy <107660393+IamVelcroboy@users.noreply.github.com>
Date:   Sat Feb 28 04:07:41 2026 -0600

    Map Edits: Arena (#5445)

    * Map Edits: Arena

    * AI router

    ---------

    Co-authored-by: Velcroboy <velcroboy333@hotmail.com>

commit 1215bb7174
Author: Field Command <159087063+FieldCommand@users.noreply.github.com>
Date:   Sat Feb 28 10:04:42 2026 +0100

    Reclaimer MK2 hotfix (#5440)

    Fixes #5428

commit ab06084f55
Author: Delta-V bot <135767721+DeltaV-Bot@users.noreply.github.com>
Date:   Sat Feb 28 10:00:40 2026 +0100

    Automatic changelog update

commit f084c8af45
Author: Velcroboy <107660393+IamVelcroboy@users.noreply.github.com>
Date:   Sat Feb 28 03:00:21 2026 -0600

    Map Edits: The Hive (#5438)

    Co-authored-by: Velcroboy <velcroboy333@hotmail.com>

commit 5fa64b44da
Author: Delta-V bot <135767721+DeltaV-Bot@users.noreply.github.com>
Date:   Sat Feb 28 09:50:44 2026 +0100

    Automatic changelog update

commit f3ef2cf2a7
Author: verybigman <171044200+verybigman311@users.noreply.github.com>
Date:   Sat Feb 28 03:50:25 2026 -0500

    Crusher Right Click Wideswing (#5327)

    commit

commit 26f9f37a47
Author: Delta-V bot <135767721+DeltaV-Bot@users.noreply.github.com>
Date:   Fri Feb 27 23:35:33 2026 +0100

    Automatic changelog update

commit df197c802b
Author: This_Is_Gray <167829864+IAmNotGray@users.noreply.github.com>
Date:   Fri Feb 27 17:35:13 2026 -0500

    Elegance Update Number I Lost Track (#5387)

    * Update elegance.yml

    * holy shit is that kris deltarune

    * [pre-commit.ci] auto fixes from pre-commit.com hooks

    for more information, see https://pre-commit.ci

    * dghjdsgjkdfs

    * that one random brick decal under the window:

    * stuff

    * Kill that line

    Signed-off-by: This_Is_Gray <167829864+IAmNotGray@users.noreply.github.com>

    * Kill that line 2 but it's actually redoing them

    Signed-off-by: This_Is_Gray <167829864+IAmNotGray@users.noreply.github.com>

    ---------

    Signed-off-by: This_Is_Gray <167829864+IAmNotGray@users.noreply.github.com>
    Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

commit 50f40d88bf
Author: Delta-V bot <135767721+DeltaV-Bot@users.noreply.github.com>
Date:   Fri Feb 27 19:55:43 2026 +0100

    Automatic changelog update

commit 2ede3783bc
Author: KOTOB <59124164+kotobdev@users.noreply.github.com>
Date:   Fri Feb 27 10:55:23 2026 -0800

    Free Suit Storage (#5300)

    what fun

commit 36a2b92b15
Author: Delta-V bot <135767721+DeltaV-Bot@users.noreply.github.com>
Date:   Fri Feb 27 19:31:15 2026 +0100

    Automatic changelog update

commit 22b3945a86
Author: zelezniciar1 <39102800+zelezniciar1@users.noreply.github.com>
Date:   Fri Feb 27 18:30:55 2026 +0000

    Slavic Accent character trait (#5264)

    * port slavic accent

    * change some replacements

    * bobr

    * [pre-commit.ci] auto fixes from pre-commit.com hooks

    for more information, see https://pre-commit.ci

    * eliminate redundant regex

    * bozhe moy

    * order matters

    * Merge branch 'master' into slavicAccent

    Signed-off-by: zelezniciar1 <39102800+zelezniciar1@users.noreply.github.com>

    * [pre-commit.ci] auto fixes from pre-commit.com hooks

    for more information, see https://pre-commit.ci

    * Apply suggestions from code review

    Co-authored-by: Tobias Berger <toby@tobot.dev>
    Signed-off-by: zelezniciar1 <39102800+zelezniciar1@users.noreply.github.com>

    * Update Content.Server/_DV/Speech/EntitySystems/SlavicAccentSystem.cs

    Co-authored-by: BarryNorfolk <barrynorfolkman@protonmail.com>
    Signed-off-by: zelezniciar1 <39102800+zelezniciar1@users.noreply.github.com>

    * tryfix

    * Merge branch 'slavicAccent' of https://github.com/zelezniciar1/Delta-v into slavicAccent

commit c4d8441791
Author: Delta-V bot <135767721+DeltaV-Bot@users.noreply.github.com>
Date:   Fri Feb 27 19:25:04 2026 +0100

    Automatic changelog update

commit a3ba35b5a7
Author: DisposableCrewmember42 <disposablecrewmember42@proton.me>
Date:   Fri Feb 27 18:24:43 2026 +0000

    Merge pull request #5218 from DisposableCrewmember42/conspirator-port

    feat: add Conspirators from Harmony

commit ca39571295
Author: Delta-V bot <135767721+DeltaV-Bot@users.noreply.github.com>
Date:   Fri Feb 27 02:31:24 2026 +0100

    Automatic changelog update

commit 334a6b2423
Author: Pharaz4 <143268074+Pharaz4@users.noreply.github.com>
Date:   Fri Feb 27 12:31:05 2026 +1100

    infested frigate ruin fix (#5431)

commit 0899748d43
Author: Delta-V bot <135767721+DeltaV-Bot@users.noreply.github.com>
Date:   Thu Feb 26 21:01:08 2026 +0100

    Automatic changelog update

commit c5110d8ec1
Merge: df3ec49d84 5604de9165
Author: BarryNorfolk <barrynorfolkman@protonmail.com>
Date:   Thu Feb 26 21:00:49 2026 +0100

    Merge pull request #4548 from AeraAuling/tailstuff

    fix the tails

commit df3ec49d84
Author: Delta-V bot <135767721+DeltaV-Bot@users.noreply.github.com>
Date:   Thu Feb 26 08:29:33 2026 +0100

    Automatic changelog update

commit 66fd5c169c
Merge: c48275b131 7940c9a95c
Author: BarryNorfolk <barrynorfolkman@protonmail.com>
Date:   Thu Feb 26 08:29:13 2026 +0100

    Merge pull request #5277 from zelezniciar1/engitape

    Engineering Tape

commit c48275b131
Author: Delta-V bot <135767721+DeltaV-Bot@users.noreply.github.com>
Date:   Wed Feb 25 23:43:08 2026 +0100

    Automatic changelog update

commit 97fcfbf19d
Author: Stxcking <217132821+Stxcking@users.noreply.github.com>
Date:   Wed Feb 25 17:42:48 2026 -0500

    New Gun Safe Sprites (#5314)

commit 35d159c3cc
Author: Delta-V bot <135767721+DeltaV-Bot@users.noreply.github.com>
Date:   Wed Feb 25 21:36:00 2026 +0100

    Automatic changelog update

commit 7f515f4c68
Merge: 9ad43b1944 6eb9eb5d1e
Author: BarryNorfolk <barrynorfolkman@protonmail.com>
Date:   Wed Feb 25 21:35:40 2026 +0100

    Merge pull request #5282 from zelezniciar1/engiSOP

    Engineering SOP

commit 9ad43b1944
Author: keekee38 <iamabanana372456@gmail.com>
Date:   Wed Feb 25 13:29:44 2026 -0500

    removing machine pistol mag compatability for the viper and pollock and fixing practice mags (#5296)

    * sighs

    * :3 oopsie daisy,,,,,

    * adding the thingy

    Signed-off-by: keekee38 <iamabanana372456@gmail.com>

    * Fix comment

    Signed-off-by: Stop-Signs <stopsign221@gmail.com>

    ---------

    Signed-off-by: keekee38 <iamabanana372456@gmail.com>
    Signed-off-by: Stop-Signs <stopsign221@gmail.com>
    Co-authored-by: Stop-Signs <stopsign221@gmail.com>

commit 2b4505a5fa
Author: Delta-V bot <135767721+DeltaV-Bot@users.noreply.github.com>
Date:   Wed Feb 25 19:21:16 2026 +0100

    Automatic changelog update

commit c2ffd25780
Author: ConstantlyConfused <67894661+Eternally-Confused@users.noreply.github.com>
Date:   Wed Feb 25 13:20:57 2026 -0500

    Make the chemvend's bluespace beaker only available through an emag (#5392)

    * move the chemvend bluespace beaker to emaggedInventory

    * forgot to commit

commit 4567d90ebc
Author: Delta-V bot <135767721+DeltaV-Bot@users.noreply.github.com>
Date:   Wed Feb 25 19:20:18 2026 +0100

    Automatic changelog update

commit d72ad394d6
Author: BarryNorfolk <barrynorfolkman@protonmail.com>
Date:   Wed Feb 25 19:19:58 2026 +0100

    Fix shrapnel landmines not triggering properly (#5379)

    * Fix shrapnel landmines not triggering properly

    * Re-enable landmines in the landmine entity table

commit 2993223f20
Author: Delta-V bot <135767721+DeltaV-Bot@users.noreply.github.com>
Date:   Wed Feb 25 19:18:35 2026 +0100

    Automatic changelog update

commit 966c0d6715
Author: Theo <rebe83a@gmail.com>
Date:   Wed Feb 25 12:18:15 2026 -0600

    add emoting component to skia (#5366)

commit b4b52c8497
Author: Delta-V bot <135767721+DeltaV-Bot@users.noreply.github.com>
Date:   Tue Feb 24 20:11:59 2026 +0100

    Automatic changelog update

commit b22fc50349
Merge: a0a120871c 45c99f1e9d
Author: BarryNorfolk <barrynorfolkman@protonmail.com>
Date:   Tue Feb 24 20:11:39 2026 +0100

    Merge pull request #5416 from HameyTychol/Garbage-bag-head

    Garbage bag body part fix

commit a0a120871c
Merge: 09929d7df2 3be5109ce9
Author: BarryNorfolk <barrynorfolkman@protonmail.com>
Date:   Tue Feb 24 20:11:26 2026 +0100

    Merge pull request #5385 from IAmNotGray/does-anyone-even-read-records

    Records Description Length Increase

commit 09929d7df2
Author: Delta-V bot <135767721+DeltaV-Bot@users.noreply.github.com>
Date:   Tue Feb 24 18:26:42 2026 +0100

    Automatic changelog update

commit b2851bbdc4
Author: biddygelson <4606269+Calis007@users.noreply.github.com>
Date:   Tue Feb 24 09:26:22 2026 -0800

    Academy 1.6.0 (#5412)

    * boxketball court is wooden again
    * gave botany a window and moved their machines around, extra crate, extra tools
    * added masks to clown and mime rooms, someone complained "it's barren"
    * fixed hop diectional sign above robo
    * added crashcart to med and viro
    * added mailcart to mail
    * converted maint passage to hallway between epistemics and cargo, and updated directional signs
    * removed christmas cakes from kitchen and cargo cafe
    * replaced winter with spring/summer
    * added gold and silver to cargo

commit 653744b60f
Author: Delta-V bot <135767721+DeltaV-Bot@users.noreply.github.com>
Date:   Tue Feb 24 18:05:10 2026 +0100

    Automatic changelog update

commit 4669b303b4
Author: snowywinters <134970424+snowywinters@users.noreply.github.com>
Date:   Tue Feb 24 10:04:50 2026 -0700

    Asterisk fix (#5373)

    * first part

    * last one

    * last

    * last one maybe

    * last fix

commit 77515c63d7
Author: Delta-V bot <135767721+DeltaV-Bot@users.noreply.github.com>
Date:   Tue Feb 24 06:06:18 2026 +0100

    Automatic changelog update

commit 19b1552db0
Author: keekee38 <iamabanana372456@gmail.com>
Date:   Tue Feb 24 00:05:58 2026 -0500

    Adding purifying salt to the med vend, and a new cryo chem for holy and shadow (#5276)

    * new cryo chem and adding topicals to medivends and med's techfab

    * [pre-commit.ci] auto fixes from pre-commit.com hooks

    for more information, see https://pre-commit.ci

    * me when dumb and tired and on phone

    Signed-off-by: keekee38 <iamabanana372456@gmail.com>

    * woof

    * Update Resources/Prototypes/_DV/Recipes/Reactions/medicine.yml

    Co-authored-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
    Signed-off-by: keekee38 <iamabanana372456@gmail.com>

    * Update Resources/Prototypes/_DV/Reagents/medicine.yml

    Co-authored-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
    Signed-off-by: keekee38 <iamabanana372456@gmail.com>

    * [pre-commit.ci] auto fixes from pre-commit.com hooks

    for more information, see https://pre-commit.ci

    * ok maybe that fixes it if not will look at later

    Signed-off-by: keekee38 <iamabanana372456@gmail.com>

    * did the />

    Signed-off-by: keekee38 <iamabanana372456@gmail.com>

    ---------

    Signed-off-by: keekee38 <iamabanana372456@gmail.com>
    Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
    Co-authored-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>

commit 4e9ca44cd7
Author: Delta-V bot <135767721+DeltaV-Bot@users.noreply.github.com>
Date:   Tue Feb 24 05:27:03 2026 +0100

    Automatic changelog update

commit 208e0cc663
Author: Woljif <243318409+Woljif@users.noreply.github.com>
Date:   Mon Feb 23 23:26:44 2026 -0500

    Removed estoc slowdown (#5242)

    * Removed estoc slowdown

    * Re-added speed penalty, but reduced to 0.9x instead of 0.75x

commit 45c99f1e9d
Author: Hamey <jhammett3229@gmail.com>
Date:   Sun Feb 22 19:23:34 2026 -0500

    removed bodyparts ability to be placed in trashbag

commit 161f06d4e9
Author: Hamey <jhammett3229@gmail.com>
Date:   Sun Feb 22 19:22:37 2026 -0500

    Removed ability for limbs to be trashed

commit 7940c9a95c
Merge: b26abf2d79 f5b08f6c7e
Author: zelezniciar1 <39102800+zelezniciar1@users.noreply.github.com>
Date:   Sat Feb 21 18:48:56 2026 +0000

    Merge branch 'master' into engitape

    Signed-off-by: zelezniciar1 <39102800+zelezniciar1@users.noreply.github.com>

commit 3be5109ce9
Author: This_Is_Gray <167829864+IAmNotGray@users.noreply.github.com>
Date:   Sun Feb 15 02:54:45 2026 -0500

    Update PlayerProvidedCharacterRecords.cs

commit a44162ef3d
Author: This_Is_Gray <167829864+IAmNotGray@users.noreply.github.com>
Date:   Sun Feb 15 02:47:53 2026 -0500

    the fabled single line change

commit 6eb9eb5d1e
Author: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Date:   Sat Jan 31 20:34:19 2026 +0000

    [pre-commit.ci] auto fixes from pre-commit.com hooks

    for more information, see https://pre-commit.ci

commit 96390c7d09
Author: zelezniciar1 <39102800+zelezniciar1@users.noreply.github.com>
Date:   Sat Jan 31 15:31:26 2026 -0500

    minor fixes

commit f348908c4e
Author: zelezniciar1 <39102800+zelezniciar1@users.noreply.github.com>
Date:   Sat Jan 31 15:19:20 2026 -0500

    fix EngieeringRegulations type

commit 5fbb95ce4b
Author: zelezniciar1 <39102800+zelezniciar1@users.noreply.github.com>
Date:   Sat Jan 31 15:11:14 2026 -0500

    epic guidebook ops

commit b26abf2d79
Merge: c051498a2a 1a59f9d47b
Author: zelezniciar1 <39102800+zelezniciar1@users.noreply.github.com>
Date:   Tue Jan 27 14:05:00 2026 -0500

    Merge branch 'master' into engitape

    Signed-off-by: zelezniciar1 <39102800+zelezniciar1@users.noreply.github.com>

commit 318834107b
Author: zelezniciar1 <39102800+zelezniciar1@users.noreply.github.com>
Date:   Tue Jan 27 13:56:55 2026 -0500

    epic grammar ops

commit e83764422a
Author: zelezniciar1 <39102800+zelezniciar1@users.noreply.github.com>
Date:   Tue Jan 27 13:54:50 2026 -0500

    Apply suggestions from code review

    Co-authored-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
    Signed-off-by: zelezniciar1 <39102800+zelezniciar1@users.noreply.github.com>

commit c051498a2a
Merge: 04277762b8 a5c9af9759
Author: zelezniciar1 <39102800+zelezniciar1@users.noreply.github.com>
Date:   Tue Jan 27 11:18:13 2026 -0500

    Merge branch 'master' into engitape

    Signed-off-by: zelezniciar1 <39102800+zelezniciar1@users.noreply.github.com>

commit 04277762b8
Author: zelezniciar1 <39102800+zelezniciar1@users.noreply.github.com>
Date:   Mon Jan 26 17:55:56 2026 -0500

    change to 6 charges

commit 53bb098303
Author: zelezniciar1 <39102800+zelezniciar1@users.noreply.github.com>
Date:   Mon Jan 26 17:27:48 2026 -0500

    1984 engineering holoprojector

commit 763012d593
Author: zelezniciar1 <39102800+zelezniciar1@users.noreply.github.com>
Date:   Mon Jan 26 14:53:35 2026 +0000

    Update Resources/Prototypes/Catalog/Fills/Lockers/heads.yml

    Co-authored-by: Tobias Berger <toby@tobot.dev>
    Signed-off-by: zelezniciar1 <39102800+zelezniciar1@users.noreply.github.com>

commit 3b170a396f
Author: zelezniciar1 <39102800+zelezniciar1@users.noreply.github.com>
Date:   Sat Jan 24 22:49:29 2026 -0500

    I hate English

commit b82048e097
Author: zelezniciar1 <39102800+zelezniciar1@users.noreply.github.com>
Date:   Sat Jan 24 22:48:15 2026 -0500

    the hell is a gar-TEG?

commit 459131b490
Author: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Date:   Sun Jan 25 03:32:23 2026 +0000

    [pre-commit.ci] auto fixes from pre-commit.com hooks

    for more information, see https://pre-commit.ci

commit ad87120ec5
Merge: 13cb721cbb 7dd0741f18
Author: zelezniciar1 <39102800+zelezniciar1@users.noreply.github.com>
Date:   Sat Jan 24 22:19:01 2026 -0500

    Merge branch 'engitape' of https://github.com/zelezniciar1/Delta-v into engitape

commit 13cb721cbb
Author: zelezniciar1 <39102800+zelezniciar1@users.noreply.github.com>
Date:   Sat Jan 24 22:18:38 2026 -0500

    epic YAML ops

commit 7dd0741f18
Author: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Date:   Sat Jan 24 21:08:58 2026 +0000

    [pre-commit.ci] auto fixes from pre-commit.com hooks

    for more information, see https://pre-commit.ci

commit ec46faed2b
Author: zelezniciar1 <39102800+zelezniciar1@users.noreply.github.com>
Date:   Sat Jan 24 15:52:40 2026 -0500

    integrate holotape projector

commit cc70987bf7
Author: zelezniciar1 <39102800+zelezniciar1@users.noreply.github.com>
Date:   Sat Jan 24 15:39:15 2026 -0500

    recharging

commit 63cff2e3c0
Author: zelezniciar1 <39102800+zelezniciar1@users.noreply.github.com>
Date:   Sat Jan 24 15:21:41 2026 -0500

    migration madness

commit a76c69292c
Author: zelezniciar1 <39102800+zelezniciar1@users.noreply.github.com>
Date:   Sat Jan 24 15:13:26 2026 -0500

    add holotape component

commit bfb3307a3c
Author: zelezniciar1 <39102800+zelezniciar1@users.noreply.github.com>
Date:   Sat Jan 24 14:49:10 2026 -0500

    namespacing

commit 9314cf230c
Author: zelezniciar1 <39102800+zelezniciar1@users.noreply.github.com>
Date:   Sat Jan 24 14:47:26 2026 -0500

    port holotape

commit 9676f39298
Author: zelezniciar1 <39102800+zelezniciar1@users.noreply.github.com>
Date:   Sat Jan 24 14:19:14 2026 -0500

    epic whitespace ops

commit a0fb085f12
Author: zelezniciar1 <39102800+zelezniciar1@users.noreply.github.com>
Date:   Sat Jan 24 14:17:20 2026 -0500

    health and safety regs

commit 1d95551bc0
Author: zelezniciar1 <39102800+zelezniciar1@users.noreply.github.com>
Date:   Fri Jan 23 22:55:01 2026 -0500

    epic autocorrect ops

commit d677ec9cbe
Author: zelezniciar1 <39102800+zelezniciar1@users.noreply.github.com>
Date:   Fri Jan 23 22:52:48 2026 -0500

    english is a silly little language

commit 3eec3af8da
Author: zelezniciar1 <39102800+zelezniciar1@users.noreply.github.com>
Date:   Fri Jan 23 22:49:52 2026 -0500

    why does this not already exist?

commit 5604de9165
Merge: 3d32f6ec7f acf7b12c87
Author: AeraAulin <133451603+AeraAuling@users.noreply.github.com>
Date:   Sun Oct 19 13:20:13 2025 -0700

    Merge branch 'master' into tailstuff

commit 3d32f6ec7f
Merge: da8804dd9d fad71486d5
Author: AeraAulin <133451603+AeraAuling@users.noreply.github.com>
Date:   Sat Oct 18 19:27:36 2025 -0700

    Merge branch 'master' into tailstuff

commit da8804dd9d
Merge: b5cebe5671 bc36b1d8d1
Author: AeraAulin <133451603+AeraAuling@users.noreply.github.com>
Date:   Sat Oct 18 16:29:45 2025 -0700

    Merge branch 'master' into tailstuff

commit b5cebe5671
Author: AeraAulin <133451603+AeraAuling@users.noreply.github.com>
Date:   Sat Oct 18 15:22:04 2025 -0700

    THIS HAS BOTHERED ME FOR FAR TOO LONG

commit dec82a9bc2
Author: AeraAulin <133451603+AeraAuling@users.noreply.github.com>
Date:   Sat Oct 18 15:13:56 2025 -0700

    Revert "THIS HAS BOTHERED ME FOR FAR TOO LONG"

    This reverts commit 69b6087152.

commit 69b6087152
Author: AeraAulin <133451603+AeraAuling@users.noreply.github.com>
Date:   Sat Oct 18 15:12:52 2025 -0700

    THIS HAS BOTHERED ME FOR FAR TOO LONG

* Sprites take 2

redid lockers for the 200th time, gun lockers and radio

* Part 3

Poncho's, headsets, glasses and more/redone uniforms for all the alternate jobs like detective and corpsman.

* Part 4

Final cut of JUMPSUITS, hopefully.

Renamed blue outfit prototypes to white.

* PDA's

Recoloured all security related PDA's.

* Weaponry

Updates the thematically red weapons (HOS's pistols, and warden's energy shotgun) to fit the blue theme.

* Revert "Weaponry"

This reverts commit 9f1622e70a.

* Weaponry take 2

Recoloured weapons, but in the proper namespace

* Items Part 1

Recoloured security items to match the blue theme, fixed minor issues on clothing.

* Security HUD's

Recolours all HUD's and fixes up minor inconsistencies in clothing icon sprites.

* The Skirtening

Updates all the skirt sprites to their reworked variants.

Also adjusts the cloak/mantle icon.

* Cleanup part 1

Fixes some leftover sprites, adjusts security loadouts.

* PredraftFix

2 pixels man...

* Untouch unrelated testfiles

* protofix

fixes prototype ID's / names for white suit variants

how did I miss 1 pixel on a jumpskirt???

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* RSI

* Dog.

Recolors all the laika/security dog related gear.
minor combat suit changes.

* Spriting never ends

All security hardsuits + det PDA

* Boots

resprites magboots

* Hardsuits final

final adjustments to hardsuit helmets and the color of the lights.

totally final.

* Attribution Ops

See title

* RSIFailFix

Forgotten RSI's + fix errors, wow

* Coats and formals

Recolors the accents on the coats, decided to keep it mostly the same.

Moves HOSformal to DV namespace

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* hosformaldress

real see title

* RSIfix20000

did not forget to merge

* description cleanup + HOS cloaks

update coat descriptions, fix spelling errors in descriptions and update HOS cloak/hat sprites.

also fixes senior officer PDA sprite

* dpt color fix

fixes the departemental color, and slightly brightens the doors/poncho stripes

* those who fix

fixes prototypes and adds a last second recolor of secformalsuit/skirt

* duplifix

* Comments/Loadout

Fixes code comments and cadet loadout

* fixtofix

fix cap and evil loadout duplicate

* Move all 2026 + lathe/migrations

all textures moved to the _DV namespace, properly referred to from the prototypes (HOPEFULLY)

made a migration for the old jumpsuit ID

fixed lathe recipes

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* how

howsomehow

* forgottensprites

adds a few forgotten sprites

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Fix clothing

Resets both uniform yml files to master, spare for the file paths. adds the descriptions to .ftl files

also untouches 1 line in stealtargetgroups

* boxes

boxes

* Update advanced.yml

those who pallette

* HowDidIMissThis

200 merges

* Genpop

Resprites the forgotten genpop turnstiles, lockers and sign.

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Proto/Lathe fixes

surely you will not make 200 mistakes

puts clothing prototypes in the correct lathe recipe packs under the correct namespace this time, hopefully and comments out unused ones

* Apply suggestions from code review

Co-authored-by: Radezolid <snappednexus@gmail.com>
Signed-off-by: DarkenedSynergy <70016079+DarkenedSynergy@users.noreply.github.com>

* FinalFixSurely?

:clueless:

* Resolve final issues

Co-authored-by: Radezolid <snappednexus@gmail.com>
Signed-off-by: Radezolid <snappednexus@gmail.com>

* Oop missed one.

Signed-off-by: Radezolid <snappednexus@gmail.com>

---------

Signed-off-by: DarkenedSynergy <70016079+DarkenedSynergy@users.noreply.github.com>
Signed-off-by: Radezolid <snappednexus@gmail.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Radezolid <snappednexus@gmail.com>
2026-05-30 20:56:33 -03:00
Delta-V bot ab354dba0d Automatic changelog update 2026-05-30 17:10:38 +02:00
Sir Warock 10b3e4693d Add a Client Toggle for StunVisuals (#5831)
* OneCommitOps

* Update DCCVars.cs

Signed-off-by: Sir Warock <67167466+SirWarock@users.noreply.github.com>

---------

Signed-off-by: Sir Warock <67167466+SirWarock@users.noreply.github.com>
2026-05-30 10:10:19 -05:00
Delta-V bot bfb6387fcd Automatic changelog update 2026-05-30 16:45:18 +02:00
Theo 0e9ca82619 Remove psionic eruption (#5821)
comment off
2026-05-30 09:44:58 -05:00
Delta-V bot 6705bbc572 Automatic changelog update 2026-05-30 15:34:47 +02:00
pathetic meowmeow 6ab48778fb Merge pull request #5798 from sowelipililimute/work/jblackquill/es-audiovisual-sauce-bundle
The audiovisual sauce bundle
2026-05-30 09:34:27 -04:00
Mish 8a2b4daccb Igniters spark when triggered (#1084)
* Igniters spark when triggered

* newlines my beloved
2026-05-30 09:16:20 -04:00
FlareguyandNemanja c942b89bd3 Machines now spark on hit (#348)
* sparks on more stuff

* crates

* test fail fix

* a

* Add EOF newline

* Add EOF newline

---------

Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
2026-05-30 09:16:20 -04:00
Nemanja 132b3d829d Hark, Sparks! (#491)
* Basic improvements to sparks

* Pull spark configuration out of SparkOnHit component

* Add various sparks to tasers, batons, RCD

* Add sparks back to electrocution

* Adjust new projectiles

* Tile fires on cable cuts

* That's a terrible idea, actually

* Add a custom PreventCollide system

* Make the new prevent collide component prevent collisions
2026-05-30 09:16:20 -04:00
Nemanja 00ff4d5d9b Sparks (#273)
* Add pointlight despawning visuals for sparks

* Add sprite fade out

* Add spark prototypes

* Add sparking behavior to lights

* Integrate sparks with some different stuff

* Remove invalid field
2026-05-30 09:16:20 -04:00
Janet Blackquill d2e65e8b5c MIT/CC0-1.0 2026-05-30 09:16:20 -04:00
Janet Blackquill 01812253c5 janet interaction particles port (#1332)
* Interaction particles (#163)

* move stuff

* tweaks/fixes

* schema fixes

* another

---------

Co-authored-by: pathetic meowmeow <uhhadd@gmail.com>
2026-05-30 09:16:08 -04:00
Radezolid c6971fee88 Remove remnants of Dex+ (#5916)
no more error spam
2026-05-30 07:53:18 -05:00
Delta-V bot 4b86de2260 Automatic changelog update 2026-05-30 14:25:47 +02:00
DisposableCrewmember42 2999917b39 tweak: enable preset cooldowns (#5489)
tweak: properly document and enable preset cooldowns in config, adjust cooldown values
2026-05-30 14:25:28 +02:00
Vapeandpathetic meowmeow 6e052b3578 System Hotfix - Stop logging "TypingChangedEvent" (#5917)
* One word C# change

* Update Content.Shared/Chat/TypingIndicator/SharedTypingIndicatorSystem.cs

Signed-off-by: pathetic meowmeow <uhhadd@gmail.com>

---------

Signed-off-by: pathetic meowmeow <uhhadd@gmail.com>
Co-authored-by: pathetic meowmeow <uhhadd@gmail.com>
2026-05-30 04:21:39 +00:00
Delta-V bot 65eaea0d71 Automatic changelog update 2026-05-30 04:20:38 +02:00
Stxcking 0a9ed0bf8d Fix: Allow Ninja to call in Colossus as a Threat (#5909)
uh
2026-05-29 21:20:18 -05:00
Radezolid 3e0dc9516a Fix the PKA change changelog (#5910)
fix
2026-05-29 19:21:19 -04:00
Delta-V bot 61e7473957 Automatic changelog update 2026-05-29 22:33:32 +02:00
BarryNorfolk 438e83ec1e [K9] Give Laika and other secdogs Access + Tracking (#5001)
* Add dataset for Secdog names

* Split secdog into a base + other dogs so laika keeps her name

* Add new system for enabling subdermal ID cards

* Check for subdermal ID cards for access and sensor information

* Add MindOnlyAccess marker component

* Add new generic K9 officer role for secdogs

* Add Laika/K9 officers to security

* Update Laika's role to match K9 officer

* Add subdermal implants and mind only access for K9 officers

* Set MobSecDogBase to abstract

* Set K9Officer card to sec colours

* Update comments for Subdermal IDCard

* Move mind check for access above log for access

* Re-use ImplanterComponent's slot name

* Move idcard container const into component as well

* Add missing setPreference and requirements to k9 officer

* Ensure admin tricks work on subdermal ID cards

* Remove subdermal ID cards from showing in nanochat

* Move secdogs.yml to _DV namespace

* Fix typo

* Unduplicate container id name
2026-05-29 22:33:11 +02:00
Delta-V bot 560bc4e22a Automatic changelog update 2026-05-29 22:26:41 +02:00
Theoandpathetic meowmeow a96d87cafe Ghost buffers (#5814)
* Made all 3 immune to melee (modify corporealspirit and spirit damageModifierSet), moved skia and wisp to bulletproof layer, removed rev ability to emag borgs

* add jaunt to skia

* give reveneant melee 4 damage every 3 seconds in very close range

* make salt packets spillable, make silver sword reveal for 5 seconds, make radiant sword reveal for 10, make bible reveal for 30

* wisp will escape being grabbed

* formatting, typo

* skia slight slight invis for flavor

* unable to emag open lockers, generally tweaked actions to be cheaper. Increased radius and chance of defile, made animate last only 10 seconds

* change action text to be accurate to costs

* add reveal component to baseorganic species, change to resistances and skia layer

* video immediately out of date

* Update Resources/Prototypes/_DV/Entities/Objects/Weapons/Melee/swords.yml

Signed-off-by: pathetic meowmeow <uhhadd@gmail.com>

* unmangle

---------

Signed-off-by: pathetic meowmeow <uhhadd@gmail.com>
Co-authored-by: pathetic meowmeow <uhhadd@gmail.com>
2026-05-29 16:26:20 -04:00
Delta-V bot cdc66f87f5 Automatic changelog update 2026-05-29 17:55:23 +02:00
VelcroboyandVelcroboy 850af4cf20 Map Edits: Remove Fun (#5912)
Remove fun

Co-authored-by: Velcroboy <velcroboy333@hotmail.com>
2026-05-29 17:55:02 +02:00
This_Is_Gray 024924421b Yet Another Elegance Update (#5815)
* Update elegance.yml

* Update elegance.yml

* Update elegance.yml

* bluesecchanges

* bluesec real

* Update elegance.yml
2026-05-29 15:04:03 +02:00
Delta-V bot 81e7c02e0e Automatic changelog update 2026-05-29 13:09:09 +02:00
a5c651d372 Port Portable Chem Mixer from Goob (#5532)
* Port

* Update tags.ftl

* Update portable_chem_master.yml

* Update portable_chem_master.yml

* new sprites

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Trying to put the new sprites

* New sprites work now yippe

* Changed crafting recipe

* FIxed recipe

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Update portable_chem_master.yml

* Rename equipped-suitStorage.png to equipped-SUITSTORAGE.png

Signed-off-by: Apachito <ivanlopezlegos2004@gmail.com>

* Update Resources/Prototypes/Entities/Objects/Specific/chemical-containers.yml

Co-authored-by: Radezolid <snappednexus@gmail.com>
Signed-off-by: Apachito <ivanlopezlegos2004@gmail.com>

* Update tags.ftl

* Update tags.ftl

* Update tags.ftl

* Update RobustToolbox

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Update RobustToolbox

* Revert "Update RobustToolbox"

This reverts commit d3fd3d5f68.

* Revert "Update RobustToolbox"

This reverts commit d3fd3d5f68.

* Reapply "Update RobustToolbox"

This reverts commit 6cc86f3707.

* Revert "Reapply "Update RobustToolbox""

This reverts commit 8d38d2d327.

* Update RobustToolbox

* Fix RobustToolbox version

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Removed fill sprites and ability in the yaml file

---------

Signed-off-by: Apachito <ivanlopezlegos2004@gmail.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Radezolid <snappednexus@gmail.com>
Co-authored-by: Tobias Berger <toby@tobot.dev>
2026-05-29 13:08:48 +02:00
Delta-V bot 1986fbf192 Automatic changelog update 2026-05-28 21:56:57 +02:00
KOTOB d01a50c519 Avali bugfixes (#5881)
* avali major

* whoops

* Update FeatherVisualizer.cs
2026-05-28 19:56:36 +00:00
Delta-V bot 6d339c9939 Automatic changelog update 2026-05-28 20:57:05 +02:00
Sir Warockandpre-commit-ci[bot] 8d4401ccaf Buff Zap (#5694)
* Buff Zap

* Typo fix

* Reduced Glimmer Generation

* fix

* Rewrite with Events

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2026-05-28 20:56:45 +02:00
Delta-V bot 61d342a2a1 Automatic changelog update 2026-05-28 20:06:32 +02:00
Sir Warockandpre-commit-ci[bot] 455e232a38 Buff MassSleep (#5692)
* Buff Masssleep

* Increase Glimmer Creation

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Removed Stupidness

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Fix

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2026-05-28 20:06:11 +02:00
Delta-V bot 75089bc88e Automatic changelog update 2026-05-28 19:37:29 +02:00
TNEandJanet Blackquill 4cc00970ee Send PDA ringer sound to the StationAI player directly (#5805)
* Send PDA ringer sound to the StationAI player directly

Prevents the sound from appearing at the StationAI core's location and instead plays the sound globally for the StationAI player.

* Actor

---------

Co-authored-by: Janet Blackquill <uhhadd@gmail.com>
2026-05-28 17:37:08 +00:00
Delta-V bot c68cdeb673 Automatic changelog update 2026-05-28 19:07:31 +02:00
Radezolid 7bca51bb57 Lower the PKA's fire rate (#5811)
* Restore the PKA projectile despawn timer to 0.22

* Lower fire rate, make the PKA bigger

* Revert range change

* Made PKA upgrades unobtainable

* Revert firerate change

* Up PKA damage
2026-05-28 13:07:11 -04:00
Delta-V bot 7203e3e216 Automatic changelog update 2026-05-28 18:56:40 +02:00
DisposableCrewmember42andpathetic meowmeow e9b74fbef4 feat: OOC/LOOC/Deadchat muting (#5858)
* feat: LOOC/OOC/Deadchat muting

* refactor: split OocMuteCommands.cs into 3 files

* tweak: use proper admin logging

* refactor: remove unused loc args

* feat: one mute command, channel as argument

- properly marked target player in admin log so it actually alerts.

* refactor: completion options made named constant, used in error message

* tweak: display supported channels in help too

* fix: pass command to help string again

* style: add whitespace

Co-authored-by: pathetic meowmeow <uhhadd@gmail.com>
Signed-off-by: DisposableCrewmember42 <disposablecrewmember42@proton.me>

---------

Signed-off-by: DisposableCrewmember42 <disposablecrewmember42@proton.me>
Co-authored-by: pathetic meowmeow <uhhadd@gmail.com>
2026-05-28 12:56:19 -04:00
Delta-V bot 62e6a412dc Automatic changelog update 2026-05-28 18:04:58 +02:00
Theo 86301996ac fix rootsong and typing indicators (#5908) 2026-05-28 16:04:37 +00:00
Delta-V bot e5d04bfd65 Automatic changelog update 2026-05-28 18:04:20 +02:00
Theo b9b690bf8d Uplink rework part 1 (#5892) 2026-05-28 12:03:59 -04:00
Delta-V bot b7835b8267 Automatic changelog update 2026-05-28 17:57:48 +02:00
Stop-Signs 3258e15c57 Revert Miasma nerfs (#5899) 2026-05-28 11:57:27 -04:00
Delta-V bot 6fa8f1aba3 Automatic changelog update 2026-05-28 17:56:37 +02:00
AeraAulin 3a39317ebf i only put shadow damage res on half of kitsune (#5907) 2026-05-28 11:56:17 -04:00
Delta-V bot b85dd9f03d Automatic changelog update 2026-05-28 01:47:19 +02:00
Stxcking 3864a87103 Tweak: Remove Time Requirements on Specific Clothing (#5603)
* Grind is Kill

* guh
2026-05-27 20:46:58 -03:00
Cepelinas1 e87ebe2fbf Allow light replacers to be put in utility belts (#5901)
first
2026-05-27 20:08:05 -03:00
Delta-V bot 170ee4a0b2 Automatic changelog update 2026-05-27 21:14:22 +02:00
Cepelinas1andStxcking ceca76ccdd More lighters in loadouts (#5845)
* first stuff

* add flippos

* fix Job stuff

* wrong assistant role job

* fixes

* Removed some redundant lines

upstream had a solution refactor and cleaned up their lighter.yml, this is probably the best we can do without conflicts with those changes while staying faithful to the PR

---------

Co-authored-by: Stxcking <217132821+Stxcking@users.noreply.github.com>
2026-05-27 19:14:01 +00:00
Delta-V bot 3f57971501 Automatic changelog update 2026-05-27 20:21:09 +02:00
AeraAulin 65f7a56f84 Add more rewards to the ancient books (#5890)
* small archivist buff

* forgot to add it to the other books

* fix typo

* aaaaaaaaaa
2026-05-27 13:20:48 -05:00
Delta-V bot 0a2d83c5b4 Automatic changelog update 2026-05-27 18:21:37 +02:00
Theo c25aab9214 corps locker tweaks (#5842)
* ok

* revivopine bottle
2026-05-27 11:21:17 -05:00
Delta-V bot ad24fbbd9d Automatic changelog update 2026-05-27 15:45:58 +02:00
KOTOB e9ac10995b Disable borer spawns until properly removable (#5897)
1984
2026-05-27 09:45:37 -04:00
Delta-V bot 378dacbb88 Automatic changelog update 2026-05-27 01:30:55 +02:00
AeraAulin 948318f71f SV-213 security sidearm + give cargo shuttle pilots a windshield wiper(the regular svalinn) (#5889)
* gods I wish there were more powercell laser guns they're actually so cool

* fix that stuff
2026-05-26 20:30:36 -03:00
Delta-V bot 9f5b871312 Automatic changelog update 2026-05-26 01:03:12 +02:00
81cbf9d218 PORT: ImpStation's Wallpapers + Banners + Glow in the Dark Stars (#5722)
* my beautiful wallpapers (#2901)

* my beautiful wallpapers

* test commit

* i understand how construction graphs work now and im very unhappy about it

* GOD DAMN IT

---------

Co-authored-by: hivehum <ketchupfaced@gmail.com>

* Tweaks and stuff !

* Deconstruction :D

Thought it was nice to do

---------

Co-authored-by: crocodilecarousel <184127501+crocodilecarousel@users.noreply.github.com>
Co-authored-by: hivehum <ketchupfaced@gmail.com>
2026-05-25 20:02:52 -03:00
b817cc35c9 Syndicate Spider Operative (#5783)
* Initial checkin.

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Fixing a little oopsie daisy with the mouse names.

* Poke.

* Fixed PointLight so it properly displays given spider's larger sprite.

* Changing armor and cost per CR feedback. Also to kick the can so the builds run again.

* Update Resources/Prototypes/_DV/Catalog/Uplink/allies.yml

Co-authored-by: Radezolid <snappednexus@gmail.com>
Signed-off-by: robobozu <240598948+robobozu@users.noreply.github.com>

* Update Resources/Prototypes/_DV/Entities/Objects/Devices/Syndicate_Gadgets/reinforcement_teleporter.yml

Co-authored-by: Radezolid <snappednexus@gmail.com>
Signed-off-by: robobozu <240598948+robobozu@users.noreply.github.com>

* Update Resources/Prototypes/_DV/Entities/Mobs/NPCs/nukiespider.yml

Co-authored-by: Radezolid <snappednexus@gmail.com>
Signed-off-by: robobozu <240598948+robobozu@users.noreply.github.com>

* Maintainer feedback changes.

---------

Signed-off-by: robobozu <240598948+robobozu@users.noreply.github.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Radezolid <snappednexus@gmail.com>
2026-05-25 17:07:50 -04:00
Delta-V bot 5712c39330 Automatic changelog update 2026-05-25 21:45:16 +02:00
Khaomiandpre-commit-ci[bot] 211277ecce removed(jukebox): Removed Lone Digger by Caravan Palace (#5887)
* Revert "add lone digger by caravan palace to the jukebox (#1998)"

This reverts commit c38c96fc25.

* deleted: lone digger

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2026-05-25 19:44:55 +00:00
Minerva 4aced8451c Groups surgical scrubs in medical loadouts (#5619) 2026-05-25 13:28:28 -03:00
Delta-V bot edfc9a9054 Automatic changelog update 2026-05-25 17:00:00 +02:00
Theoandpathetic meowmeow 42589dc185 Prisoner arrivals fix (#5885)
* doesn't work

* akesi fixed it

* Apply suggestions from code review

Co-authored-by: pathetic meowmeow <uhhadd@gmail.com>
Signed-off-by: pathetic meowmeow <uhhadd@gmail.com>

---------

Signed-off-by: pathetic meowmeow <uhhadd@gmail.com>
Co-authored-by: pathetic meowmeow <uhhadd@gmail.com>
2026-05-25 14:59:40 +00:00
Delta-V bot be5093fe7f Automatic changelog update 2026-05-25 16:57:56 +02:00
KOTOB 9122a1ba4c Real Trait System™ tweaks (#5598)
* tweakies

* BUT WAIT! THERE'S MORE!

* Trait priority

yoinked from a couple changes made in https://github.com/Floof-Station/Panta-Rhei/commit/1c69ec2035d3d8246796e46019c0537d1dcf5714#diff-e92e9895e4a58647a9e8958c891cae3104f45517f933efff4e0c10491fe48930

* not confident enough to try comparison godo
2026-05-25 16:57:36 +02:00
Delta-V bot 676145bd21 Automatic changelog update 2026-05-25 15:44:05 +02:00
KOTOB 82bde19134 Make Psionic Eruption less dangerous (#5878)
* we hate fun!

* popup rewording

* adjustment
2026-05-25 08:43:46 -05:00
Delta-V bot 71083b180b Automatic changelog update 2026-05-25 11:13:28 +02:00
SirrRequiem 8e50900df9 Terra 5: A Breath of Fresh Air (#5772)
* Terra 5: Breath of Fresh Air

* buh

* Terra5: Breath of Fresh Air

* Spruced up TEG room with stuff

* TEG gets rotated
2026-05-25 11:13:07 +02:00
VapeandVanessa 8acf3e71ac Moth "Clown Shoes" Sound Reduction (#5869)
* Moth

* Apply suggestions from code review

Co-authored-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
Signed-off-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>

---------

Signed-off-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
Co-authored-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
2026-05-24 19:11:40 +00:00
Stxcking 32a7139fa1 Fix: Grav Gauntlet Sprite Error (#5879)
fix
2026-05-24 19:07:26 +00:00
Delta-V bot fe7ae2a838 Automatic changelog update 2026-05-24 18:31:32 +02:00
12d55978f5 Small Buff to Warden Hardsuit (#5700)
* One Commit Ops

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Update Content.Shared/_DV/Clothing/Systems/HeavyClothingSystem.cs

Signed-off-by: pathetic meowmeow <uhhadd@gmail.com>

---------

Signed-off-by: pathetic meowmeow <uhhadd@gmail.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: pathetic meowmeow <uhhadd@gmail.com>
2026-05-24 16:31:12 +00:00
Delta-V bot 86a5d53688 Automatic changelog update 2026-05-24 18:18:40 +02:00
Cepelinas1andpathetic meowmeow a2ccf1b106 Purchasable revolvers (#5849)
* first

* Update Resources/Prototypes/_DV/Catalog/Fills/Crates/armory.yml

Signed-off-by: pathetic meowmeow <uhhadd@gmail.com>

---------

Signed-off-by: pathetic meowmeow <uhhadd@gmail.com>
Co-authored-by: pathetic meowmeow <uhhadd@gmail.com>
2026-05-24 16:18:20 +00:00
Delta-V bot c33826f91a Automatic changelog update 2026-05-24 18:14:43 +02:00
AeraAulin 57a92315a2 Syndicate dual swords balance patch (#5859) 2026-05-24 11:14:24 -05:00
Vapeandpre-commit-ci[bot] 70b5fbfbac Tobacco Rework (#5862)
* commit

* updates

* Capitalization and Spacing error

* Review Changeth

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Typo and organization corrections

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2026-05-24 18:10:43 +02:00
Delta-V bot f92df73e54 Automatic changelog update 2026-05-24 18:07:13 +02:00
Stxcking 454b11227a Tweak: Move Onion Rings and Taco Shells to the Deep Fryer (#5623)
* It just makes sense

* yippee one line
2026-05-24 12:06:54 -04:00
Delta-V bot 710a7b74a2 Automatic changelog update 2026-05-24 18:02:30 +02:00
ConstantlyConfused c6c4655d83 Add Delta-V specific steal objectives to the traitor guidebook (#5800)
* Add Delta-specific objectives items to traitor guidebook

* error fixes

* add HOP photobook to comments

* replace MG's hardsuit

* add eshotgun to guidebook, remove lucky bill

* add the clerk's stamp
2026-05-24 12:02:11 -04:00
Delta-V bot d5d31aac6a Automatic changelog update 2026-05-24 17:58:53 +02:00
55ad1cb4e1 Add Colorful Chairs (#5864)
* Add colorful chairs

* no yellow :(

* standards

* yaml cleanup

* Apply suggestions from code review

Co-authored-by: pathetic meowmeow <uhhadd@gmail.com>
Signed-off-by: pathetic meowmeow <uhhadd@gmail.com>

---------

Signed-off-by: pathetic meowmeow <uhhadd@gmail.com>
Co-authored-by: Velcroboy <velcroboy333@hotmail.com>
Co-authored-by: pathetic meowmeow <uhhadd@gmail.com>
2026-05-24 15:58:33 +00:00
Delta-V bot 90e95b657d Automatic changelog update 2026-05-24 17:48:22 +02:00
Stxcking 6669c0b705 Tweak: Remove 0 TC Cost Items from Surplus (#5853)
blacklist
2026-05-24 11:48:02 -04:00
pathetic meowmeow 0ed24648aa Announce job joins to their departments only (#5863) 2026-05-24 09:13:26 -05:00
Delta-V bot 336b1d07d0 Automatic changelog update 2026-05-24 11:50:45 +02:00
Colin-Tel 880d388624 Set Division's maxPlayers from 70 to 80 (#5780) 2026-05-24 11:50:26 +02:00
Delta-V bot d765649406 Automatic changelog update 2026-05-24 06:56:14 +02:00
ConstantlyConfused 2939a1f6d8 Make the nukie medicine bundle contain salbu instead of dex+ (#5877)
* Make the nukie medicine bundle have salbu instead of dex

* fix yaml order
2026-05-24 04:55:54 +00:00
github-actions[bot]andDeltaV-Bot 48351bfa1c Update Credits (#5876)
Co-authored-by: DeltaV-Bot <github@deltav.gay>
2026-05-24 04:42:21 +02:00
Delta-V bot 484428e533 Automatic changelog update 2026-05-23 22:40:34 +02:00
Vanessa 0378bec386 Fix Gibbing Not Dropping Brain and Organs (#5874)
fix gibbing not dropping organs
2026-05-23 20:40:14 +00:00
Delta-V bot 84bc28f1ec Automatic changelog update 2026-05-23 03:34:03 +02:00
TheoandRadezolid f2882d2c1c remove ambuzol from chem anomaly and random pill tables (#5822)
* remove from chem anomaly and random pill tables

* Update Resources/Prototypes/Entities/Objects/Specific/Medical/healing.yml

fix comment

Co-authored-by: Radezolid <snappednexus@gmail.com>
Signed-off-by: Theo <tad3@illinois.edu>

---------

Signed-off-by: Theo <tad3@illinois.edu>
Co-authored-by: Radezolid <snappednexus@gmail.com>
2026-05-22 22:33:43 -03:00
VelcroboyandVelcroboy 9bbcf80999 Update Map Attribution File (#5865)
Co-authored-by: Velcroboy <velcroboy333@hotmail.com>
2026-05-22 12:42:25 -04:00
Delta-V bot 41a3a64cd2 Automatic changelog update 2026-05-22 18:19:06 +02:00
Stxckingandpathetic meowmeow 7b80369206 PORT: Added Holoflare Gun from Frontier (#5837)
* Holoflare Gun

-Created a bunch of file in _NF namespace
-Added flare ammo to energy gun systems
-Basically anything relating the holoflare from the NF repo :>

* DV related

-Added the holoflare gun to any place that made sense to have it

* Engi Borg + Fix

* yaml liner fixes

* voucher is true

* Added FlareGunPellet deletion to Skia Scream

Other CR requests

* Update Content.Shared/_DV/Psionics/Systems/PsionicPowers/PsychokineticScreamPowerSystem.cs

Signed-off-by: pathetic meowmeow <uhhadd@gmail.com>

---------

Signed-off-by: pathetic meowmeow <uhhadd@gmail.com>
Co-authored-by: pathetic meowmeow <uhhadd@gmail.com>
2026-05-22 16:18:46 +00:00
Delta-V bot a35a5b5a1e Automatic changelog update 2026-05-22 17:59:51 +02:00
Stxcking 02f1bf84b0 Fix: Advanced Service Borg Modules Cost as Much as Other Advance Modules (#5855)
overlooked whoops
2026-05-22 11:59:31 -04:00
Delta-V bot f9b8628062 Automatic changelog update 2026-05-22 03:30:45 +02:00
Proxy also works :3 86d2422ced you forgot one (#5860)
no more ipc
2026-05-21 20:30:25 -05:00
Delta-V bot 548a9ffb71 Automatic changelog update 2026-05-22 03:26:46 +02:00
Stop-Signs 3454ace8f5 Raise cooldown on self-uncuffing (#5854)
* Why was it EVER this low

* comment
2026-05-21 20:26:26 -05:00
CorynandJanet Blackquill cb62b27fcf Nubody (2/3) - ShitMed removal (#5844)
* Reapply "Nubody Merge" (#5807)

This reverts commit d62f7cef10.

* Revert "Nubody Merge (#5670)"

This reverts commit b465cfb3fd.

* Revert "IPC fibers (#4968)"

This reverts commit c2b42211f0.

* Revert "IPC Polymorph fix (#4545)"

This reverts commit fa03d8c655.

* Revert "fix IPC not having humanoid emotes (#4445)"

This reverts commit 216fdf999f.

* Revert "ipc heat/cold (#4306)"

This reverts commit fafd5cf816.

* Revert "ipc cables (#4283)"

This reverts commit 54958039a1.

* Revert "feat: ipcs now have dynamic power draw based off movement speed (#3917)"

This reverts commit 71e8b7e64b.

* Revert "fix ipcs not being able to disarm (#3374)"

This reverts commit 764c4dcf54.

* Revert "make steel heal caustic for ipcs (#3206)"

This reverts commit 450ac82550.

* Revert "add missing ipc survival boxes (#3065)"

This reverts commit 888c9cdb00.

* Revert "make borgs use ipc repairing (#3064)"

This reverts commit f77a49dd0b.

* Revert "Update hud.yml to add ipcs to diagnostic hud (#3019)"

This reverts commit 7220643531.

* Revert "Tweak IPCs (#2979)"

This reverts commit 98b47476de.

* Revert "fix nukies ipc test fail (#2957)"

This reverts commit 4a1acbf863.

* Revert "fix ipc nukies not getting comms (#2884)"

This reverts commit 8a2254770e.

* Revert "fix ipc encryption key mispredict (#2879)"

This reverts commit f08726efc1.

* Revert "Merge pull request #2800 from Spielern/port-ipc"

This reverts commit 822fa4312c, reversing
changes made to fe4c23c702.

* Remove and Fix rest of IPC Hangons causing crashes

* Integration test Errors

* Expand migration file with removed IPC stuff

* IPC Leg was found and migrated to naught

* Revert "Merge pull request #2542 from deltanedas/shitmed-ops"

This reverts commit 83a8002922, reversing
changes made to baa89b0052.

* Revert "Set up surgical augments infrastructure & add tool panel augments (#3059)"

This reverts commit a40f0be6fd.

* Revert "Psionic Prosthetics (#4689)"

This reverts commit 2679bb238a.

* Revert "Add surgical cleanliness and sanitation (#2847)"

This reverts commit 64565ba4f7.

* Remove unremoved mentions

* Revert "Add autoclave to easily sanitize large amounts of items and faster (#2933)"

This reverts commit d0da90fa2e.

* Shit Med Removed

* Remove _ShitMed Folders and fix Errors in Console

* Add OrganAnimalBrain into the mirgraiton file

* Heads no Input Mover

* Monke

* Full migration file I guess

* oops

* shiv state fix

* Restore accidental deleted recipe

* Forgot one flt mention

* Fix more issues

* Comment out Damage Visual for motorkind for now

* Motorkind...

* Commenting stuff out for now

* thought there'd be more of this to gut

---------

Co-authored-by: Janet Blackquill <uhhadd@gmail.com>
2026-05-21 20:27:04 -04:00
3e33391980 Add condiment spawner (#5843)
* Add condiment spawner

* minor consistency with upstream stuff

ill know peace once every name has the same convention

---------

Co-authored-by: Velcroboy <velcroboy333@hotmail.com>
Co-authored-by: Stxcking <217132821+Stxcking@users.noreply.github.com>
2026-05-21 03:53:51 +00:00
Delta-V bot be6a2be915 Automatic changelog update 2026-05-21 05:45:01 +02:00
ConstantlyConfused d33b22c1e9 Add code orange to Alert Procedure (#5832)
add code orange to guidebook and wiki
2026-05-20 23:44:40 -04:00
Delta-V bot 47f6adf2a0 Automatic changelog update 2026-05-20 23:07:59 +02:00
825267bbb3 Avali Feather Preening (#5609)
* far more then I had expected

* bird up!

* that's about it

* cleanup

* eeh

* last touch

* copyright formatting fail

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* thanks rebe

* balance 1984

* Apply suggestions from code review

Co-authored-by: pathetic meowmeow <uhhadd@gmail.com>
Signed-off-by: pathetic meowmeow <uhhadd@gmail.com>

* oops

---------

Signed-off-by: pathetic meowmeow <uhhadd@gmail.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: pathetic meowmeow <uhhadd@gmail.com>
2026-05-20 17:07:38 -04:00
Delta-V bot 78e30274b5 Automatic changelog update 2026-05-20 03:04:27 +02:00
Theo 092efc3b38 add rootspeak (#5827)
* add radio channel and components to nymphs and diona

* add speak to tree, change radio color

* rename to rootsong whoops
2026-05-19 21:04:07 -04:00
Delta-V bot a7096b143d Automatic changelog update 2026-05-20 00:53:21 +02:00
CorynandJanet Blackquill 1f8afb9ba6 Nubody (1/3) - Ipc removal (#5840)
* Reapply "Nubody Merge" (#5807)

This reverts commit d62f7cef10.

* Revert "Nubody Merge (#5670)"

This reverts commit b465cfb3fd.

* Revert "IPC fibers (#4968)"

This reverts commit c2b42211f0.

* Revert "IPC Polymorph fix (#4545)"

This reverts commit fa03d8c655.

* Revert "fix IPC not having humanoid emotes (#4445)"

This reverts commit 216fdf999f.

* Revert "ipc heat/cold (#4306)"

This reverts commit fafd5cf816.

* Revert "ipc cables (#4283)"

This reverts commit 54958039a1.

* Revert "feat: ipcs now have dynamic power draw based off movement speed (#3917)"

This reverts commit 71e8b7e64b.

* Revert "fix ipcs not being able to disarm (#3374)"

This reverts commit 764c4dcf54.

* Revert "make steel heal caustic for ipcs (#3206)"

This reverts commit 450ac82550.

* Revert "add missing ipc survival boxes (#3065)"

This reverts commit 888c9cdb00.

* Revert "make borgs use ipc repairing (#3064)"

This reverts commit f77a49dd0b.

* Revert "added ipc plushie (batteries not included) (#3023)"

This reverts commit 743cdbb606.

* Revert "Update hud.yml to add ipcs to diagnostic hud (#3019)"

This reverts commit 7220643531.

* Revert "Tweak IPCs (#2979)"

This reverts commit 98b47476de.

* Revert "fix nukies ipc test fail (#2957)"

This reverts commit 4a1acbf863.

* Revert "fix ipc nukies not getting comms (#2884)"

This reverts commit 8a2254770e.

* Revert "fix ipc encryption key mispredict (#2879)"

This reverts commit f08726efc1.

* remove oil

* Revert "Merge pull request #2800 from Spielern/port-ipc"

This reverts commit 822fa4312c, reversing
changes made to fe4c23c702.

* Remove and Fix rest of IPC Hangons causing crashes

* Integration test Errors

* Expand migration file with removed IPC stuff

* IPC Leg was found and migrated to naught

* motorkinds need to inherit an actual species base

* forgot the alerts

* irrelevant coscult code

* excess casualties

---------

Co-authored-by: Janet Blackquill <uhhadd@gmail.com>
2026-05-19 18:53:01 -04:00
Delta-V bot fcab8ccb1e Automatic changelog update 2026-05-19 20:42:30 +02:00
Cepelinas1 cd8cbcb2ea Replace Bionic Larynx Implant with Upstream one + Add Voice Mask back to Uplink (#5702)
* first thing

* fix

* woopsie daisy i somehow missed that
2026-05-19 18:42:09 +00:00
Delta-V bot 305de38eb5 Automatic changelog update 2026-05-19 20:37:22 +02:00
Cepelinas1andpre-commit-ci[bot] 72fd5372eb Anomaly Holowarning (#5716)
* first and hopefully last

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* fix hand issue sprite

* sign fix, locker addition

* merge fix, increase crafting time because i'm so evil

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2026-05-19 20:37:01 +02:00
Delta-V bot 8ad049d88e Automatic changelog update 2026-05-19 12:01:11 +02:00
DisposableCrewmember42 afc2655c0a fix: Admin QOL Patches (#5618)
* fix: lslaws should only list when lawbound, no law boards!

* tweak: avoid spamming ssd/cadet search strip alerts

* docs: add missing import comments

* fix: also don't alert when finishing to butcher a monkey

* refactor: rename added function

* refactor: break out target/user values for stripping alerts too

* tweak: a newline less

* fix: use continue instead of return when encountering offline watchlisted player

Signed-off-by: DisposableCrewmember42 <disposablecrewmember42@proton.me>

* tweak: the hands alert doesn't need to always alert on living ssd

Signed-off-by: DisposableCrewmember42 <disposablecrewmember42@proton.me>

* tweak: add ghost check to stripping alerts, different values for hand strip

* fix: check for ghost, not mindshield, oops

* tweak: lower alert on pocket ssd strip, rename vars for clarity

Signed-off-by: DisposableCrewmember42 <disposablecrewmember42@proton.me>

* tweak: hold off hand strip alerts until #5699

Signed-off-by: DisposableCrewmember42 <disposablecrewmember42@proton.me>

---------

Signed-off-by: DisposableCrewmember42 <disposablecrewmember42@proton.me>
2026-05-19 10:00:50 +00:00
Delta-V bot 337b9366f5 Automatic changelog update 2026-05-19 10:30:48 +02:00
DisposableCrewmember42 8bc0ac3b38 tweak: nanotask papers don't provide throwing pushback (#5122) 2026-05-19 10:30:27 +02:00
Stxcking a7af20fd67 Added Un-mineable Variants of Planetside Rocks (#5758)
* guh

* compacted

* asteroid, why not
2026-05-19 10:27:47 +02:00
Delta-V bot 665ad33c21 Automatic changelog update 2026-05-19 10:22:20 +02:00
729eabae9d Grav gauntlet (#5767)
* C_GAUNTLET.yml is kinda goated bro

* taser

* thanks Keke :)

* guh

* yes

* SOUNDS AMAZING

* cause i can

* name change

* name changes n stuff

* single word decription change for gun

* added to HoS sidearm Briefcase

* range nerf
slight attack rate nerf

* range buff :/

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Update Resources/Prototypes/_DV/Entities/Objects/Weapons/Melee/C_Gauntlet.yml

Co-authored-by: Tobias Berger <toby@tobot.dev>
Signed-off-by: Apersos-coll <collsherlo@gmail.com>

* Update Resources/Prototypes/_DV/Entities/Objects/Weapons/Melee/C_Gauntlet.yml

Co-authored-by: Tobias Berger <toby@tobot.dev>
Signed-off-by: Apersos-coll <collsherlo@gmail.com>

* text fixes
CGauntlet renamed GravGauntlet
Singularity toy replaced with Guitar in Grav Gauntlet bundle
Icon swap

* new icon (whoopsies)

* also this i forgot to do
get rid of old C_Gauntlet one which was replaced by the correctly named Grav gauntlet one

* thanks woljif for this new description, its like way better :)

* Update grav_gauntlet.yml

Single word change to item description 

Signed-off-by: Apersos-coll <collsherlo@gmail.com>

* Update Resources/Prototypes/_DV/Catalog/HoS_Briefcase_catalog.yml

Signed-off-by: Tobias Berger <toby@tobot.dev>

* Update Resources/Locale/en-US/_DV/tools/Hos-Briefcase.ftl

Signed-off-by: Tobias Berger <toby@tobot.dev>

* Apply suggestion from @Toby222

Signed-off-by: Tobias Berger <toby@tobot.dev>

* Update Hos-Briefcase.ftl

description change to fit in better

Signed-off-by: Apersos-coll <collsherlo@gmail.com>

* HoS Briefcase description change to make it fit in better

* base damage reduction
wielding increases damage
powercell needed for taser
fixed taser
no more left mouse button hits (weird side effect of hybrid weapons like crusher)
fixed spellings
added my friend to credits who helped make the original concept

* quick fix

* changed power cell to a internal battery, as via request. this also fixed the tasers cooldown, back to 55 seconds due to the switch.

* changed parents back to normal, i accidently forgot to change them after adding a new one

* Update Resources/Locale/en-US/_DV/tools/Hos-Briefcase.ftl

Co-authored-by: Tobias Berger <toby@tobot.dev>
Signed-off-by: Apersos-coll <collsherlo@gmail.com>

* added missing word to description

Signed-off-by: Apersos-coll <collsherlo@gmail.com>

---------

Signed-off-by: Apersos-coll <collsherlo@gmail.com>
Signed-off-by: Tobias Berger <toby@tobot.dev>
Co-authored-by: apersos <piggyweweroblox@gmail.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Tobias Berger <toby@tobot.dev>
2026-05-19 10:21:56 +02:00
Radezolid a14216de58 CODEOWNERS fix for headmins not being pinged on rule changes (#5835)
Fix
2026-05-19 10:12:38 +02:00
Vape a494ada80b Bugfix - Correct AI Ion laws to be socially acceptable (#5838)
* Update ion_storm.yml

* Updated changes
2026-05-19 04:18:23 +00:00
Hyper 53b126f8c3 Additional Chat Punctuation (#5833)
?,!,…

Signed-off-by: Hyper <45052445+HyperBeast43@users.noreply.github.com>
2026-05-18 20:24:16 -05:00
Delta-V bot 4c639a7342 Automatic changelog update 2026-05-18 07:13:18 +02:00
keekee38andStxcking 78de793ff7 Universal buff and price increase, IK-30 buff (#5592)
* rof -> 2 price -> 12.5k

* ik-30 fireable 1 handed, rof -> 2

* ik-30 semi only

* moved laser mags to adv energy gun research

* ok ik-30 killed, replaced by battery ik-60, ert ik-60 -> ik-60-m, no more magfed ik for sec i gotta redo some sprites

* worlds most basic sprite edits

* ok we go back to the magfed

* minor attribution nickpick

tiny cleaning

---------

Co-authored-by: Stxcking <217132821+Stxcking@users.noreply.github.com>
2026-05-18 05:12:58 +00:00
Delta-V bot 0c6054532a Automatic changelog update 2026-05-18 07:12:04 +02:00
TNE 8a6d3d0e05 Allow station AI access to Crew Manifest, Notes, NanoTask (#5806) 2026-05-18 05:11:44 +00:00
Delta-V bot 65d1f033af Automatic changelog update 2026-05-18 05:55:18 +02:00
TheoandRadezolid a2ea2e216a added tools and doodads to science locker fill (#5714)
* added tools and doodads to science locker fill

* add nestedselector and table

* Change the order to match other Fills

Signed-off-by: Radezolid <snappednexus@gmail.com>

---------

Signed-off-by: Radezolid <snappednexus@gmail.com>
Co-authored-by: Radezolid <snappednexus@gmail.com>
2026-05-18 03:54:58 +00:00
Delta-V bot 3cc1b824c6 Automatic changelog update 2026-05-18 05:44:56 +02:00
StxckingandRadezolid 83c1e1b1d1 Tweak: Readd Round Start Tools Module to Medical, Service, and Janitor Borgs (#5657)
* Grr

* So Angry I forgor to comment

* Untouch newlines

---------

Co-authored-by: Radezolid <snappednexus@gmail.com>
2026-05-18 03:44:36 +00:00
Delta-V bot 94de555aa7 Automatic changelog update 2026-05-18 05:40:11 +02:00
AeraAulinandStxcking f93fb70d1c syndicate dual swords (#5725)
* sword

* requested changes

* Update Resources/Prototypes/_DV/Entities/Objects/Weapons/Melee/swords.yml

Co-authored-by: Stxcking <217132821+Stxcking@users.noreply.github.com>
Signed-off-by: AeraAulin <133451603+AeraAuling@users.noreply.github.com>

* Update Resources/Prototypes/_DV/Entities/Objects/Weapons/Melee/swords.yml

Co-authored-by: Stxcking <217132821+Stxcking@users.noreply.github.com>
Signed-off-by: AeraAulin <133451603+AeraAuling@users.noreply.github.com>

* Update Resources/Prototypes/_DV/Catalog/Uplink/weaponry.yml

Co-authored-by: Stxcking <217132821+Stxcking@users.noreply.github.com>
Signed-off-by: AeraAulin <133451603+AeraAuling@users.noreply.github.com>

* Update Resources/Prototypes/_DV/Catalog/Uplink/weaponry.yml

Co-authored-by: Stxcking <217132821+Stxcking@users.noreply.github.com>
Signed-off-by: AeraAulin <133451603+AeraAuling@users.noreply.github.com>

---------

Signed-off-by: AeraAulin <133451603+AeraAuling@users.noreply.github.com>
Co-authored-by: Stxcking <217132821+Stxcking@users.noreply.github.com>
2026-05-17 23:39:51 -04:00
Delta-V bot c1540d2aaa Automatic changelog update 2026-05-18 05:39:08 +02:00
Theo 8c06d97a9b hyperblade tweak (#5721) 2026-05-17 22:38:48 -05:00
MinervaandRadezolid d52b986b63 Assorted typo fixes 1 (#5622)
* Assorted typo fixes 1

* Whoops forgot this one

* Requested changes

* Fix a comment

Signed-off-by: Radezolid <snappednexus@gmail.com>

---------

Signed-off-by: Radezolid <snappednexus@gmail.com>
Co-authored-by: Radezolid <snappednexus@gmail.com>
2026-05-18 03:35:41 +00:00
Delta-V bot b74a9884cb Automatic changelog update 2026-05-18 05:12:40 +02:00
keekee38 1cd82ef301 adding pockets to the automaturge robes and flannel jackets (#5646)
* ok functional

* i make prs right before i sleep cause i aint smart
2026-05-18 00:12:20 -03:00
Delta-V bot eadd0f7093 Automatic changelog update 2026-05-18 05:05:41 +02:00
1b643a38bd Nocaf coffee (#5582)
* adds nocaf reagent, nocaf item, and nocaf item to hot drinks vending machine

* Update Resources/Prototypes/Catalog/VendingMachines/Inventories/coffee.yml

Co-authored-by: Radezolid <snappednexus@gmail.com>
Signed-off-by: mazie <dboozlebeep@gmail.com>

* moved drinks.ftl to _DV namespace

* moved drinks.yml to _DV namespace and reordered YAML block to match ss14 conventions

* added drinks_cups.yml to _DV\entites\objects\consumable\drinks and removed references from upstream file

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Signed-off-by: mazie <dboozlebeep@gmail.com>
Co-authored-by: Radezolid <snappednexus@gmail.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2026-05-18 00:05:21 -03:00
Delta-V bot 77b96fbf70 Automatic changelog update 2026-05-18 03:28:05 +02:00
Minerva 8c9fb0e082 Tape recorder voice changing in secret stashes (#5629) 2026-05-17 21:27:45 -04:00
Delta-V bot df5f83be5f Automatic changelog update 2026-05-18 02:10:10 +02:00
d2aa5594f1 New/Tweak: Added another Mutation before Deus (#5575)
* Why are there so many seed.yml?

-Sprites
-New entity for nobilis for old deus
-Change deus sprites path to new deus

* Sprite Path + Capitalized A fixes

* suggestion yep

Co-authored-by: Tobias Berger <toby@tobot.dev>
Signed-off-by: Stxcking <217132821+Stxcking@users.noreply.github.com>

* grammar

---------

Signed-off-by: Stxcking <217132821+Stxcking@users.noreply.github.com>
Co-authored-by: Tobias Berger <toby@tobot.dev>
Co-authored-by: Janet Blackquill <uhhadd@gmail.com>
2026-05-17 20:09:50 -04:00
b499f0e1b0 Firebolt (#5825)
* I don't care how big the room is…

* oopsy

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* oopsy part 2

* i should probably fix that

* rsi meta fix

* oh oops

---------

Co-authored-by: hypabeast_ <43hyperbeast@gmail.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2026-05-17 02:10:09 -04:00
Delta-V bot 97771cc7b9 Automatic changelog update 2026-05-17 07:45:42 +02:00
Radezolid 69f0088bd8 Give headsets to the syndicate visitors (#5698)
* Create common-only headset

* Give the headset to the visitor role
2026-05-17 01:45:22 -04:00
VelcroboyandVelcroboy 323c610f15 Add filled(H20/nutrients) soil beds (#5817)
Co-authored-by: Velcroboy <velcroboy333@hotmail.com>
2026-05-17 01:43:49 -04:00
github-actions[bot]andDeltaV-Bot 47937aa146 Update Credits (#5828)
Co-authored-by: DeltaV-Bot <github@deltav.gay>
2026-05-17 04:34:17 +02:00
Delta-V bot 3c2f992612 Automatic changelog update 2026-05-16 17:21:36 +02:00
TheoandVanessa f519f164f8 Diona Nymph Ghostroles (#5802)
* add ghostrole components and descriptions

* Update Resources/Prototypes/Entities/Mobs/NPCs/animals.yml

Move comments

Co-authored-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
Signed-off-by: Theo <tad3@illinois.edu>

---------

Signed-off-by: Theo <tad3@illinois.edu>
Co-authored-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
2026-05-16 15:21:16 +00:00
Delta-V bot 33d47e29ef Automatic changelog update 2026-05-16 17:09:09 +02:00
pathetic meowmeowandpre-commit-ci[bot] 3267b4c2a8 Doorbells (#5799)
* doored bell

* doored bell

* rezept

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2026-05-16 10:08:49 -05:00
Delta-V bot 6fda83f4c0 Automatic changelog update 2026-05-15 23:33:00 +02:00
9146c59ecf feat: Fancy Screenshake from Ephemeral Space (#5503)
* cherry-pick: Screenshake (EphemeralSpace/ephemeral-space#627)

* commit your shit at some point maybe

* y

* who knows

* rename?

* debugging  + shit api

* i hope no one fucks my ass

* erm

* p

* replace with shit that makes way more sense

* stuff

* pretty sure this is just fine

* actual fix noise shit

* uhhh hmaybe if i feel like it wrong then later

* explosion shake

* grav shake

* gun shake

* idk

* projectile melee

Co-authored-by: DisposableCrewmember42 <disposablecrewmember42@proton.me>

* tweak: tune recoil on weapons

* docs: add _ES license info to LEGAL.md

* fix: screenshake on spawn fix from ss14Starlight/space-station-14#3664

Co-authored-by: neomoth <69372252+neomoth@users.noreply.github.com>

* feat: add client cvar to disable screenshake

* feat: add screenshake toggle to accessibility settings

* fix: upmerge compatibility

* docs: properly document cvar

* docs: add missing import comments

---------

Co-authored-by: mirrorcult <mirrorcult@pm.me>
Co-authored-by: neomoth <69372252+neomoth@users.noreply.github.com>
2026-05-15 23:32:40 +02:00
VelcroboyandVelcroboy 3a05ef885c Fix Tilewindow CMD (#5816)
* Fix Tilewindow CMD

* Haha...changes

---------

Co-authored-by: Velcroboy <velcroboy333@hotmail.com>
2026-05-15 21:43:20 +02:00
Delta-V bot 115c06ba8b Automatic changelog update 2026-05-15 19:18:09 +02:00
da885b1b1d PORT: AAC Tablet Radio Compatibility from Starcup (#5569)
* Allows the AAC to send messages over the radio

* Allows AAC names to be highlighted in chat

* Restores VoiceOverrideComponent to the AAC

* refactor: separate confluent code into new files

Signed-off-by: little-meow-meow <204685920+little-meow-meow@users.noreply.github.com>

* style fix

Signed-off-by: little-meow-meow <204685920+little-meow-meow@users.noreply.github.com>

* Ugh this took me too long to figure out

-Made so many changes to AACTabletBuiState, moved it under _DV: Made it compatible with Wizden #40293 which moved all radio comps and system to shared
-Had issues with having two AAC UI open so made it so one closes before another opens
-Trial and error with the UI window lol

* Reverted Refactor + Comment Clean up

Reverted 0873b66449 which split code between starcup namespace and removed starcup comments because it's editing _DV files.

Fix namespace error due to radio moving the share, seem to work just fine!

---------

Signed-off-by: little-meow-meow <204685920+little-meow-meow@users.noreply.github.com>
Co-authored-by: Oxdeception <9624-oxdeception@users.noreply.gitgud.io>
Co-authored-by: little-meow-meow <204685920+little-meow-meow@users.noreply.github.com>
Co-authored-by: Janet Blackquill <uhhadd@gmail.com>
2026-05-15 17:17:49 +00:00
Delta-V bot 4548e356e5 Automatic changelog update 2026-05-15 18:58:54 +02:00
e334477c2b New/Tweak: Service Borg Module Rework (#5662)
* BorgModuleBureaucracy

* BorgModuleBoxing

* BorgModuleGardeningDV + BorgModuleAdvancedBotany

* BorgModuleChef + BorgAdvancedModuleChef

* BorgModuleBartender + BorgModuleAdvancedBartender

* BorgModuleReporter + BorgModuleFishing

Also tweak the fishing basket and fishing vendor inventory. Why did no one tell me the beer bottles were empty.

* BorgModuleDJ + Portable DAW

Yeah why not add a whole new instrument

* BorgModuleClowningDV

It's almost over

* Clean up

Finally

* More clean up...

I'm tired boss

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* guh

theres probably stuff I missed

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* anchor that up

* unmerge because yaml linter moment

* Kill stamp tag + fix dj set visuals

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Janet Blackquill <uhhadd@gmail.com>
2026-05-15 12:58:34 -04:00
Delta-V bot d5cc6e2136 Automatic changelog update 2026-05-15 18:56:02 +02:00
Theo b0b8b3ad05 RK speech (#5803)
changed mobster accent to mouse transform
2026-05-15 12:55:42 -04:00
Delta-V bot 25e8b301cb Automatic changelog update 2026-05-14 19:08:35 +02:00
Theoandpre-commit-ci[bot] b417bd327c Add tranq and poison ammo for cobra (#5752)
* Add tranq and poison ammo mags for cobra for 4 and 5tc

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* numbers tweaking to make both 4 shots, changed from toxin to heartbreaker toxin

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2026-05-14 13:08:14 -04:00
Delta-V bot 9ca9777ce5 Automatic changelog update 2026-05-14 19:03:03 +02:00
Theo a6b1e12d3d syndicate laws in uplink (#5753)
* add da board

* stupid tree

* remove 1 line OUGH
2026-05-14 13:02:42 -04:00
Delta-V bot 641335f316 Automatic changelog update 2026-05-14 03:46:41 +02:00
e80bead714 [new antag] hitman v0.9 (#5506)
* Created Hitman_Case_catalog.yml

Signed-off-by: stormyatt <dratticuscrabs@gmail.com>

* for hitman

credit:stormyatt. thanks for the help those on discord and the host briefcase

Signed-off-by: stormyatt <dratticuscrabs@gmail.com>

* for hitman

credit: stormyatt with help from the discord sever and the hos briefcase pr

Signed-off-by: stormyatt <dratticuscrabs@gmail.com>

* 16/24 items filled

Signed-off-by: stormyatt <dratticuscrabs@gmail.com>

* for hitman

Signed-off-by: stormyatt <dratticuscrabs@gmail.com>

* more added

Signed-off-by: stormyatt <dratticuscrabs@gmail.com>

* top three filled

Signed-off-by: stormyatt <dratticuscrabs@gmail.com>

* for hitman, full disguise kit

Signed-off-by: stormyatt <dratticuscrabs@gmail.com>

* 27/30

Signed-off-by: stormyatt <dratticuscrabs@gmail.com>

* 28/30

Signed-off-by: stormyatt <dratticuscrabs@gmail.com>

* found the doorjack!

Signed-off-by: stormyatt <dratticuscrabs@gmail.com>

* spyCrewMonitor is cool

Signed-off-by: stormyatt <dratticuscrabs@gmail.com>

* found you!

Signed-off-by: stormyatt <dratticuscrabs@gmail.com>

* for hitman

Signed-off-by: stormyatt <dratticuscrabs@gmail.com>

* hitman: icons

Signed-off-by: stormyatt <dratticuscrabs@gmail.com>

* Created Hitman_Case.yml

Signed-off-by: stormyatt <dratticuscrabs@gmail.com>

* Create Hitman_Briefcase.rsi

Signed-off-by: stormyatt <dratticuscrabs@gmail.com>

* Delete Resources/Textures/_DV/Objects/Tools/Hitman_Briefcase.rsi

Signed-off-by: stormyatt <dratticuscrabs@gmail.com>

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* fixing it all

* I dont get it either but last of the changes which our just righting things

* Hitman_Case_catalog.yml be like that

* goodbye dupe

* renaming a file and removing a duplicate

* attributions changed to repect the caps

* as requested, name changes and useless line removal

* forgot to control S here

* names changed to try and be both simple and actualy describe the goal

* doing review changes and a small change to prototype order to make sense

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* how did i get where i moved this wrong?

* recharging radio jammer to radio jammer.

---------

Signed-off-by: stormyatt <dratticuscrabs@gmail.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: stormyatt <stormyatt@users.noreply.github.com>
2026-05-13 22:46:21 -03:00
245f9f5713 Salvage Access Only on Salvage Magnet (#5795)
* no more tiders spamming the magnet

* added a little Delta-V thing to it

* Tweak comments

---------

Co-authored-by: AirlineFood <pickeldabfrug@gmail.com>
Co-authored-by: Tobias Berger <toby@tobot.dev>
2026-05-13 22:42:12 -03:00
Radezolid 6c13eee8b9 Add a suffix to the recharging disabler (#5810)
Fix the lack of suffix
2026-05-13 20:21:36 -05:00
BarryNorfolk d62f7cef10 Revert "Nubody Merge" (#5807)
Revert "Nubody Merge (#5670)"

This reverts commit b465cfb3fd.
2026-05-12 21:05:30 +00:00
b465cfb3fd Nubody Merge (#5670)
* Nubody (#42419)

* Nubody

* fix test fails

* gibbing

* lung test returns

* doc comment

* hand organ test

* giblet test

* yaml formatting

* returning

* relocate

* trimming

* re-smite

* oops thusd tweak

* arachnids have slower metabolism i guess

* never mind the old behaviour is bad actually

* rider whyyy

* style changes and allat

* fix collision

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>

* C# files done

* Visual nubody (humanoid appearance refactor) (#42476)

* initial visual nubody

* oops overlay

* im so pheeming rn

* conversion...

* tests

* comeback of the underwear

* oops eyes

* blabbl

* zeds

* yaml linted

* search and visible count constraints

* reordering

* preserve previously selected markings colors

* fix test

* some ui niceties

* ordering

* make DB changes backwards-compatible/downgrade-friendly

* fix things again

* fix migration

* vulpkanin markings limit increase

* wrapping

* code cleanup and more code cleanup and more code cleanup and more code cleanup and

* fix slop ports

* better sampling API

* make filter work + use the method i made for its intended purpose

* fix test fails real quick

* magic mirror cleanup, remove TODO

* don't 0-init the organ profile data

* remove deltastates

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>

* Let vox eat trash again (#42503)

* C# complete port

* Getting closer

* Harpy Nubody Port

* Port Feroxi, Kitsune. Fix some yml typos and remove ipcs stuff

* Port Oni

* Port Rest, except Motorkind

* Port Motorkind

* Remove more surgery, restore too much deleted stuff

* Fix Typos and change some organ names. Need to split eyes next

* Harpy HAve Wings again

* Some fixes, More Surgeyr Removal, Copying of eye organs

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Use correct Body imports

* Markings Refactoring, Harpy Layering

* Motorkind doesn't crash anymore. Some layer remappings.

* Allow Organs to have Markings Displacements again. (#43604)

* first shtep

* readd markings support

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>

* Fix STalk eyes and several layerings

* Fix sexed organs (#42554)

* Fix markings for several species, fit them for sexed organs and rename some files to fit them for it

* Additional IPC-related removals

* Vulpkanin eyes are now correct again

* Fix Subtle Cultist Marks on species

* Fix Asakim Sprites (sexed) and make CD imports work

* Migration, error fixes, and Height

* Fix humanoid profile voice being broken (#42550)

Fix humanoid appearance voice being broken

* Change Kitsune SexChanged Event to with ref

* Fix asakim issue, Respirator fix

* Simplify hands UI code (#42534)

* Simplify hands UI code

* i remembered about SortedHands in the component

* minor cleanup

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>

* Set size of Analyzer back to 350, Kitsune can't gib themselves no more. Migration

* yml linter errors and an rudimentary onAdd Organ Functionality

* Fixing it trying to remove nothing

* midpoint migration

* Why do you put so many organs everywhere

* More missing prototypes

* Migration of more organs

* Forgot lungs

* Move character preview handling into a specialized control (#41252)

* Move character preview handling into a specialized control

Co-authored-by: Quantum-cross <7065792+Quantum-cross@users.noreply.github.com>

* Restore job name that I accidentally removed from character picker buttons

* Just resolve dependencies the standard way

---------

Co-authored-by: Quantum-cross <7065792+Quantum-cross@users.noreply.github.com>
Co-authored-by: Janet Blackquill <uhhadd@gmail.com>

* Drop ICharacterProfile/ICharacterAppearance interfaces (#42661)

* Ensure profile loading only returns valid species (#42842) (Stable merge) (#42865)

Co-authored-by: pathetic meowmeow <uhhadd@gmail.com>

* Changes to make it work for us.

* No more bald Harpy

* OperatingTables instead of null

* Adding Delta V Comments, commenting out instead of deleting

* Fix broken Height Scale.

* Remove HumanoidSilicon Mention

* Did an error. Readded, uncommented.

* Clean up Marking data structure, add tests for Zombie transformation (#42756)

* Clean up Marking data structure, add tests for Zombie transformation

* empty

* AAAAAAAAAAAAAAAA

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>

* Fix markings colour setting (#42771)

* Fix: Markings Color For Downstream

* Comment out A Leg. Remove Todo

* Revert to original hidden species code

---------

Co-authored-by: pathetic meowmeow <uhhadd@gmail.com>
Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Princess Cheeseballs <66055347+Princess-Cheeseballs@users.noreply.github.com>
Co-authored-by: Absotively <jen@jenpollock.ca>
Co-authored-by: Quantum-cross <7065792+Quantum-cross@users.noreply.github.com>
Co-authored-by: Myra <vasilis@pikachu.systems>
2026-05-12 21:55:29 +02:00
Delta-V bot ea3c31b79d Automatic changelog update 2026-05-12 18:36:50 +02:00
Halo3moth 52ca24747a Xenoborg laser cannon (fix???) (#5661)
boop
2026-05-12 18:36:29 +02:00
Delta-V bot 7e2d8cd8c5 Automatic changelog update 2026-05-12 17:09:28 +02:00
Field Command 90ae0b394e Small fixes to a few shuttles (#5764) 2026-05-12 10:09:04 -05:00
Delta-V bot f25854eeec Automatic changelog update 2026-05-12 17:04:59 +02:00
Field Command 5392d18fe3 Purchasable trade shuttle! (#5789)
Purchasable trade shuttle
2026-05-12 10:04:34 -05:00
Delta-V bot 185b00e09b Automatic changelog update 2026-05-12 05:00:14 +02:00
Sir WarockandJanet Blackquill 3b61986802 Nerf Web Vest Melee Stamina Resistance (#5627)
* Nerf Web Vest Melee Stamina Resistance

* no need to network

---------

Co-authored-by: Janet Blackquill <uhhadd@gmail.com>
2026-05-12 02:59:54 +00:00
Delta-V bot 1adf093ab9 Automatic changelog update 2026-05-12 04:51:35 +02:00
Theo 03814e2bff stealthsuit tweaks (#5739)
added 10% slowdown, increased minimum visibility, stealth not need helmet
2026-05-11 22:51:15 -04:00
Delta-V bot a0a51842d5 Automatic changelog update 2026-05-11 05:21:26 +02:00
BarryNorfolk c55e2acd10 Ensure shields without toggles can still block damage (#5697) 2026-05-11 00:21:06 -03:00
Janet Blackquill 00ceed51dc Better audio attenuation 2026-05-10 11:44:37 -04:00
Kara 6e6123731d Fix door animations (#178) 2026-05-10 11:42:51 -04:00
Delta-V bot 02b540ca34 Automatic changelog update 2026-05-10 17:05:28 +02:00
Stxcking 513b89feb4 Tweak: Made Air Jordans less LRP Bait ( Gorlex Sneakers) (#5786)
* I hate fun

* Oh these should still have this

* Better comments maybe?
2026-05-10 17:05:08 +02:00
Delta-V bot 7ebc5caa6e Automatic changelog update 2026-05-10 16:15:59 +02:00
Theoandpre-commit-ci[bot] f30789e404 add steal eshotgun, ce suit, and hos folder objectives to traitors (#5705)
* add steal eshotgun, ce suit, and hos folder objectives to traitors

* moved namespace

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2026-05-10 10:15:39 -04:00
Delta-V bot 8a5980902d Automatic changelog update 2026-05-10 16:10:42 +02:00
pathetic meowmeow 3176645b53 Pagers (#5762)
* Pagers

* pagepage :]
2026-05-10 16:10:22 +02:00
Delta-V bot 8930ac52c7 Automatic changelog update 2026-05-10 14:58:01 +02:00
Stxcking fccd3c793f Tweak: Remove Deathsquad Items from Chameleon Whitelist (#5785)
* DS is kill

* Remove organic hardsuit from whitelist

As requested by Bonk. Intentionally kept the helmet as is however.
2026-05-10 07:57:41 -05:00
Delta-V bot a237663f8f Automatic changelog update 2026-05-10 14:54:06 +02:00
Radezolid f34e1d69f0 Add Baba, the scurret bartender (#5791)
* Job stuff

* ID and gear

* Wawa + ghost role locale

* Fix ID + spawner

* Fix handcuff
2026-05-10 07:53:47 -05:00
github-actions[bot]andDeltaV-Bot 8ce3c188b9 Update Credits (#5797)
Co-authored-by: DeltaV-Bot <github@deltav.gay>
2026-05-10 14:13:57 +02:00
Delta-V bot c3c6a6abd9 Automatic changelog update 2026-05-10 13:35:34 +02:00
Stxcking 6f0ad0c181 New: Wallmount Water Dispenser (#5792)
Everything
2026-05-10 13:35:15 +02:00
7389 changed files with 410798 additions and 245347 deletions
+11 -20
View File
@@ -1,34 +1,25 @@
# Last match in file takes precedence.
# See https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners#example-of-a-codeowners-file
# C# code
/Content.*/ @DeltaV-Station/maintainers
# Any assets
/Resources/ @DeltaV-Station/maintainers
* @DeltaV-Station/maintainers
# Server config files
/Resources/ConfigPresets/ @Toby222
/Resources/ConfigPresets/ @DeltaV-Station/lead-maintainers
# Github workflows
/.github/ @DeltaV-Station/lead-maintainers
# Lobby art and music - automatically direction issues since its immediately visible to players
/Resources/Audio/Lobby/ @DeltaV-Station/direction
/Resources/Textures/LobbyScreens/ @DeltaV-Station/direction
/Resources/Audio/Lobby/ @DeltaV-Station/direction @DeltaV-Station/maintainers
/Resources/Textures/LobbyScreens/ @DeltaV-Station/direction @DeltaV-Station/maintainers
# Maps
/Resources/Maps/ @DeltaV-Station/maptainers
/Resources/Prototypes/Maps/ @DeltaV-Station/maptainers
/Content.IntegrationTests/Tests/PostMapInitTest.cs @DeltaV-Station/maptainers
/Content.IntegrationTests/Tests/PostMapInitTest.cs @DeltaV-Station/maptainers @DeltaV-Station/maintainers
# Server rules
/Resources/ServerInfo/Guidebook/DeltaV/Rules/ @DeltaV-Station/head-administrators
/Resources/ServerInfo/Guidebook/_DV/Rules/ @DeltaV-Station/head-administrators
# Wiki
/.wiki/ @DeltaV-Station/direction
# Tools and scripts
/Tools/ @Toby222
# Workflows, codeowners, templates, etc.
/.github/ @Toby222
# Standalone files in the root repo
/* @Toby222
/.wiki/ @DeltaV-Station/direction
+1 -1
View File
@@ -26,7 +26,7 @@ This just saves them the trouble. Note that AGPL or MIT licensing is only applic
- [ ] I confirm that I am the creator of the code in this PR, and allow licensing it under the following license(s), or that the original author(s) has given me permission to do so:
- [X] AGPL (https://github.com/DeltaV-Station/Delta-v/blob/master/LICENSE-AGPLv3.txt) <!-- This one is required to contribute to DeltaV -->
- [X] MIT (https://github.com/DeltaV-Station/Delta-v/blob/master/LICENSE-MIT.txt) <!-- Optional - A lot of other SS14 forks use MIT -->
<!-- Feel free to add more licenses as you see fit -->
<!-- Feel free to add more licenses as you see fit -->
**Changelog**
<!-- Add a Changelog entry to make players aware of new features or changes that could affect gameplay.
+13 -2
View File
@@ -32,6 +32,7 @@ jobs:
run: |
cd RobustToolbox/
git submodule update --init --recursive
rm Robust.Shared.Tests/Networking/NetEncryptionDoSTest.cs # DeltaV - work around bug in the backport
- name: Setup .NET Core
uses: actions/setup-dotnet@v4.1.0
@@ -45,13 +46,23 @@ jobs:
run: dotnet build --configuration DebugOpt --no-restore /m
- name: Run Content.Tests
run: dotnet test --no-build --configuration DebugOpt Content.Tests/Content.Tests.csproj -- NUnit.ConsoleOut=0
shell: pwsh
run: dotnet test --no-build --configuration DebugOpt Content.Tests/Content.Tests.csproj -- NUnit.ConsoleOut=0 NUnit.TestOutputXml="logs" NUnit.WorkDirectory="$(pwd)/test_results"
- name: Run Content.IntegrationTests
shell: pwsh
run: |
$env:DOTNET_gcServer=1
dotnet test --no-build --configuration DebugOpt Content.IntegrationTests/Content.IntegrationTests.csproj -- NUnit.ConsoleOut=0 NUnit.MapWarningTo=Failed
dotnet test --no-build --configuration DebugOpt Content.IntegrationTests/Content.IntegrationTests.csproj -- NUnit.ConsoleOut=0 NUnit.MapWarningTo=Failed NUnit.TestOutputXml="logs" NUnit.WorkDirectory="$(pwd)/test_results"
- name: Archive NUnit3 test results.
if: always()
uses: actions/upload-artifact@v4
with:
name: nunit3-results-${{ matrix.os }}
path: test_results/*
retention-days: 7
compression-level: 9
ci-success:
name: Build & Test Debug
needs:
+1
View File
@@ -29,6 +29,7 @@ jobs:
run: |
cd RobustToolbox
git fetch --depth=1
rm Robust.Shared.Tests/Networking/NetEncryptionDoSTest.cs # DeltaV - work around bug in the backport
- name: Install dependencies
run: dotnet restore
+13 -6
View File
@@ -48,10 +48,11 @@ jobs:
cd RobustToolbox/
git submodule update --init --recursive
- name: Setup .NET Core
uses: actions/setup-dotnet@v4.1.0
with:
dotnet-version: 10.0.x
# ubuntu-latest has .NET 10
# - name: Setup .NET Core
# uses: actions/setup-dotnet@v4.1.0
# with:
# dotnet-version: 10.0.x
- name: Install dependencies
run: dotnet restore
@@ -60,7 +61,13 @@ jobs:
run: dotnet build Content.Packaging --configuration Release --no-restore /m
- name: Package server
run: dotnet run --project Content.Packaging server --platform win-x64 --platform win-arm64 --platform linux-x64 --platform linux-arm64 --platform osx-x64 --platform osx-arm64
run: dotnet run --project Content.Packaging server --log-build --platform win-x64 --platform win-arm64 --platform linux-x64 --platform linux-arm64 --platform osx-x64 --platform osx-arm64
- name: Package client
run: dotnet run --project Content.Packaging client --no-wipe-release
run: dotnet run --project Content.Packaging client --log-build --no-wipe-release
- uses: actions/upload-artifact@v4
with:
name: binlogs
path: release/*.binlog
retention-days: 7
+1
View File
@@ -23,6 +23,7 @@ jobs:
run: |
cd RobustToolbox/
git submodule update --init --recursive
rm Robust.Shared.Tests/Networking/NetEncryptionDoSTest.cs # DeltaV - work around bug in the backport
- name: Setup .NET Core
uses: actions/setup-dotnet@v4.1.0
with:
+29
View File
@@ -289,4 +289,33 @@ Emergency alert status. ''Central Command has ordered the Epsilon security level
| style="border: 1px solid #000000;" | Martial Law is in effect. Do not engage with Central Command Personnel. Await orders from Central Command Personnel.
|}
== <span style="color:#ff8119;>Orange Alert</span> ==
Emergency alert status. ''There is a critical station-wide structural or atmospheric threat and recovery is unlikely. Engineering staff are advised to minimize hazards and secure the Evacuation Dock. Crewmembers are advised to stay away from hazardous areas, and prepare for Evacuation.''
{| class="wikitable" style="width: 80%; border: 1px solid #000000;"
!style="text-align:left; width:25%; padding:5px; padding-left:10px; background-color:#FF8119BF; border: 1px solid #000000;" | '''Condition'''
!style="text-align:left; width:75%; padding:5px; padding-left:10px; background-color:#FF8119BF; border: 1px solid #000000;" | '''Description'''
|-
| style="border: 1px solid #000000;" | Chain of Command
| style="border: 1px solid #000000;" | [[Standard_Operating_Procedure#Captain’s_Authority|CO]] > [[Chief Engineer]] > Engineering Personnel > Department Heads > Supervisory Roles
|-
| style="border: 1px solid #000000;" | Armoury Policy
| style="border: 1px solid #000000;" | Issuing of lethal weapons disadvised. EVA protection heavily advised for all personnel.
|-
| style="border: 1px solid #000000;" | Discipline
| style="border: 1px solid #000000;" | Report to supervisor for orders. Non-engineering personnel advised to evacuate affected areas. Security should seek to aid engineering staff where possible.
|-
| style="border: 1px solid #000000;" | Secure Areas
| style="border: 1px solid #000000;" | Secure areas unbolted. [[Standard_Operating_Procedure#High_Security_Areas|HSAs]] and areas with an expectation of privacy, such as bedrooms, dorms, or medical treatment facilities, may be bolted as needed.
|-
| style="border: 1px solid #000000;" | Medical
| style="border: 1px solid #000000;" | Full suit sensors heavily advised. EVA suits and functioning internals recommended for emergency responders.
|-
| style="border: 1px solid #000000;" | Engineering
| style="border: 1px solid #000000;" | EVA suits heavily advised for engineers. Distribute emergency internals to crew. Ensure evacuation as soon as possible.
|-
| style="border: 1px solid #000000;" | Rules of Engagement
| style="border: 1px solid #000000;" | Engage with minimal force required; prioritize de-escalation whenever possible.
|}
{{Guides Menu}}
+1 -1
View File
@@ -269,7 +269,7 @@ Sentencing modifiers are to be applied by the sentencing officer, judge, or arbi
| style="border: 1px solid black;" | [[File:SL_BreakingAndEntering.png]]
! style="border: 1px solid black;" | {{anchor|Breaking and Entering}}Breaking and Entering
| style="border: 1px solid black;" | 5 minutes
| style="border: 1px solid black;" | To break and enter into a high security area where one is not authorised nor invited, with intent to commit a crime within.
| style="border: 1px solid black;" | To break and enter into an area where one is not authorised nor invited.
|-
| style="border: 1px solid black;" | 203
| style="border: 1px solid black;" | [[File:SL_Rioting.png]]
+34 -3
View File
@@ -31,7 +31,7 @@ Examples of Pets include, but are not limited to:
:* hand-held "personal AI" devices
== Synthetic ==
Any Entity consisting primarily of non-organic matter, designed and/or constructed by NanoTrasen or its Employees for the purpose of performing tasks aboard a Space Station. Synthetics are bound by software limitations, typically referred to as Synthetic or Silicon Laws, and physically incorporated into their chassis. Any damage to a Synthetic- including un-authorized modification of their Laws- may leave the offender liable to charges of Sabotage. Irrevocable destruction of a Synthetic may leave the offender liable to the crime of Grand Sabotage.
Any Entity consisting primarily of non-organic matter, designed and/or constructed by NanoTrasen or its Employees for the purpose of performing tasks aboard a Space Station. Synthetics are bound by software limitations, typically referred to as Synthetic or Silicon Laws, and physically incorporated into their chassis. Any damage to a Synthetic- including un-authorized modification of their Laws- may leave the offender liable to charges of Sabotage.
Examples of Synthetics include, but are not limited to:
:* Crew-constructed Cyborgs
:* The Station AI
@@ -86,7 +86,7 @@ Any individual requiring any above item in the course of their job, or for regul
Should the holder commit crimes through the use of such authorized items, the authorizing party may be found guilty of Accessory to said crimes, in addition to Endangerment and Abuse of Power where applicable. The Commanding Officer is also authorized to supervise the approval and revocation of documentation as they see fit.
== Controlled Substances ==
Any individual requiring a Controlled Substance in the course of their job, or for regular function, must request access to a perscription or special dispensation from the Chief Medical Officer. The Psychologist is also permitted to grant prescriptions for psychoactive drugs. Any such document must state the substance(s) being prescribed, the amount(s) where applicable, and the stamp and signature of the authorizing party.
Any individual requiring a Controlled Substance in the course of their job, or for regular function, must request access to a prescription or special dispensation from the Chief Medical Officer. Medical personnel are also permitted to [[Standard Operating Procedure#Prescribing Medication|prescribe medication]] for chronic illnesses or mental health. Any such document must state the substance(s) being prescribed, the amount(s) where applicable, and the stamp and signature of the authorizing party.
A list of such Substances follow:
@@ -269,7 +269,6 @@ Prisoners have certain rights that must be upheld by law enforcement and Station
* Standard prisoner clothing must always be available for prisoners.
* Confiscated clothing should be returned upon request, except in the case of Extended Confinement or if the clothing in question poses a clear risk to prisoner or crew safety.
* Food and water for organic prisoners must be available and given on request.
* Power for silicon prisoners such as IPCs and cyborgs, at minimum a cyborg recharging station must be provided.
* Should the holding cells or Permabrig become uninhabitable, prisoners must be securely and safely relocated to another area for confinement, until the holding cells or Permabrig are returned to a serviceable state.
* Prisoners should be granted freedom of movement within their holding area unless there is an undue risk to life and limb.
@@ -371,6 +370,38 @@ Given good medical reason and with documentation, the Chief Medical Officer of a
In order for a medical evaluation to be considered lawfully applicable, the CMO and relevant head of department must both agree that the specified crewmate is unfit for duty in order to proceed with the demotion. In the case of the Commanding Officer, Central Command should be contacted as soon as possible.
==Prescribing Medication==
In the event that a patient requires stronger medication outside of medbay, Medical personnel have the ability to prescribe medicine to a patient. Prescriptions must be written on valid prescription paper, as well as signed and stamped with a valid medical personnel's stamp and signature. Any such document must state the substance(s) being prescribed as well as the amount(s) where applicable. The chief medical officer also has the right to revoke any prescription with valid medical reasoning. Prescriptions are not valid if they are both intended for and signed and stamped by the same person (e.g. You cannot prescribe something to yourself as a doctor).
=== Prescription Medicine ===
Prescriptions that are valid with any medical personnel's stamp and signature are as follows:
* diphenylmethylamine
* equilibrazine
* tranquinase
* neurozenium
* serenitol
* soretizone
Highly-addictive mental health prescriptions that are only valid with the chief medical officer's or psychologist's stamp and signature are as follows:
* blissifylovene
* happiness
Highly-addictive or potentially-harmful prescriptions that are only valid with the chief medical officer's stamp and signature are as follows:
* agonolexyne
* desoxyephedrine
* nocturine
=== Dangerous Chemical Authorizations ===
Other dangerous chemicals that may be authorized and given out ONLY with valid written permission with the chief medical officer's stamp are as follows:
* mindbreaker, heartbreaker, and mute toxins
* amatoxin and other dangerous poisons
* phlogiston, napalm, and chlorine trifluoride
* vestine and romerol
* Any other [[Standard Operating Procedure#Controlled Substances|controlled substances]] not listed here
The chief medical officer is also required to inform and/or forward authorization of any dangerous chemical to Security.
==Quarantine==
Medical staff are afforded the right to quarantine individuals that currently suffer from infectious or contagious diseases, and may confine them within pre-designated quarantine areas in the course of treatment, until the point that they are no longer infectious or harmful to the rest of the crew.
+78 -18
View File
@@ -73,28 +73,88 @@ If you are adding a lot of C# code, then take advantage of partial classes. Put
Otherwise, **add comments on or around any changed lines.**
A comment on a new imported namespace:
### Single-Line Changes
Format should look like this.
```cs
using Content.Server.Psionics.Glimmer; // DeltaV
/* Importing Namespaces - Include optional comment if its not obvious what its being used for. */
using Content.Server._DV.Psionics.Glimmer; // DeltaV
using Content.Shared.Damage.Systems; // DeltaV - Addition of HandHeldArmor
/* Changing an upstream line - Same line as the change */
if (!TryComp<EyeComponent>(ent, out var eye) || _disabled) // DeltaV - check if disabled
/* Adding - Either same line or above the line. */
EnsureComp<PotentialPsionicComponent>(entity); // Deltav - Psionics
/* "Deleting" - Don't actually delete, just comment out and say why. This only applies to upstream code. */
// args.StatusIcons.Add(_prototype.Index(component.Icon)); // DeltaV - commented out. status icon now added above
```
A pair of comments enclosing a block of added code:
> * Its pretty obvious in the example above that importing `Content.Server._DV.Psionics.Glimmer` means we'll be interacting with glimmer so putting `// DeltaV - Add Glimmer` is needlessly redundant.
> * It's not as obvious what the `Content.Shared.Damage.Systems` namespace is used for, since its so broad, so adding a comment what feature is using it helps.
> * Actual code changes should almost always include the comment after ``// DeltaV`.
### Multi-Line Changes
Depending on how much you are editing, putting a comment on EACH line may be excessive, so if you have a larger block of code you are changing, denote it like so:
```cs
private EntityUid Slice(...)
// BEGIN DeltaV - Remove innate radio and radios from pockets
for (var i = 1; i <= 4; i++) // Arachnids have 4 pockets
{
...
_transform.SetLocalRotation(sliceUid, 0);
// DeltaV - start of deep frier stuff
var slicedEv = new FoodSlicedEvent(user, uid, sliceUid);
RaiseLocalEvent(uid, ref slicedEv);
// DeltaV - end of deep frier stuff
...
if (_inventory.TryGetSlotEntity(target, $"pocket{i}", out var headset) && HasComp<HeadsetComponent>(headset))
_inventory.TryUnequip(target, $"pocket{i}", true, true);
}
RemComp<ActiveRadioComponent>(target); // If the zombie has an innate radio, get rid of it.
// END DeltaV
```
> * Denoting these with a BEGIN and END clearly shows they are block of code without having to read the entire comment. This makes it easier to tell when you're dealing with single-line comments versus a block with merging in conflicts.
> * Case and order of the first two words is less of a concern. `// DeltaV Begin` or `// Begin DeltaV` will work fine too.
> * Try to make your blocks as small as possible, but use your discretion.
> * If you deleting multiple lines, use line comments (``//``) if its a few lines but if its a larger block (like commenting out an entire function), it is preferable to use block comments (`/* */`).
#### Soft Exceptions to the Multi-Line "Rules"
Some multi-line changes can use a single-line comment in certain scenarios. But if you are UNSURE, just use `// BEGIN DeltaV` and `// END DeltaV` comments like the previous section does and it'll be fine.
I'll give some examples.
```cs
/* This change comments out 3 lines but only needs a single line comment because commenting out the if statement implies that its logic will be commented out too. */
// if (obj.WasModified<TraitPrototype>()) // DeltaV - Refreshed in TraitsTab
// {
// _profileEditor.RefreshTraits();
// }
/* Same principle here. This adds two lines but the if statement implies the next line so commenting both lines isn't really needed. */
if (_flight.IsFlying(entity.Owner)) // DeltaV - Harpy Flight
return true;
```
### New Methods or Component Variables
Sometimes, you'll need to implement a whole new method or component variable and instead of wrapping it in `// BEGIN DeltaV` and `// END DeltaV`, you can just denote that it's a DeltaV function in the summary block before the function. This denotes the WHOLE function as a DeltaV addition.
```cs
/* New Method Example */
/// <summary>
/// DeltaV - Handle revealing ninja if cloaked when attacked by a hitscan attack.
/// </summary>
private void OnNinjaAttacked(Entity<SpaceNinjaComponent> ent, ref DamageChangedEvent args)
{
...
}
/* New Component Variable Example */
/// <summary>
/// DeltaV - If disabled the action will not disable when no charges remain. Use if you want to handle no charges differently.
/// </summary>
[DataField]
public bool DisableWhenEmpty = true;
```
In short:
* Use `// BEGIN DeltaV` and `// END Delta` to denote a *block* of changes.
* Keep blocks as small as possible.
* Use `// DeltaV` on or before the line if its not a block of changes.
* Use exceptions when they make sense.
### Changing Upstream Localization Fluent .ftl files
**Move all changed locale strings to a new DeltaV file** - use a `.ftl` file in the `_DV` folder. Comment out the old strings in the upstream file, and explain that they were moved.
@@ -104,10 +164,10 @@ Example:
Commented out old string in `Resources\Locale\en-US\xenoarchaeology\artifact-analyzer.ftl`
```
# DeltaV - moved to _DV file
#analysis-console-info-effect-value = [font="Monospace" size=11][color=gray]{ $state ->
# [true] {$info}
# *[false] Unlock nodes to gain info
#}[/color][/font]
# analysis-console-info-effect-value = [font="Monospace" size=11][color=gray]{ $state ->
# [true] {$info}
# *[false] Unlock nodes to gain info
# }[/color][/font]
```
The new version of the string in `Resources\Locale\en-US\_DV\xenoarchaeology\artifact-analyzer.ftl`
@@ -1,5 +1,6 @@
#nullable enable
using System;
using System.IO;
using System.Runtime.CompilerServices;
using System.Threading.Tasks;
using BenchmarkDotNet.Attributes;
@@ -44,7 +45,7 @@ public class ComponentQueryBenchmark
ProgramShared.PathOffset = "../../../../";
PoolManager.Startup(typeof(QueryBenchSystem).Assembly);
_pair = PoolManager.GetServerClient().GetAwaiter().GetResult();
_pair = PoolManager.GetServerClient(testContext: new ExternalTestContext("Benchmark", StreamWriter.Null)).GetAwaiter().GetResult();
_entMan = _pair.Server.ResolveDependency<IEntityManager>();
_itemQuery = _entMan.GetEntityQuery<ItemComponent>();
@@ -7,6 +7,7 @@
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<IsTestingPlatformApplication>false</IsTestingPlatformApplication>
<Nullable>disable</Nullable>
<DefineConstants>$(DefineConstants);ALLOW_BAD_PRACTICES</DefineConstants>
</PropertyGroup>
<Import Project="../MSBuild/Content.props" />
<ItemGroup>
+3 -3
View File
@@ -1,11 +1,11 @@
using System.IO;
using System.Threading.Tasks;
using BenchmarkDotNet.Attributes;
using BenchmarkDotNet.Diagnosers;
using Content.IntegrationTests;
using Content.IntegrationTests.Pair;
using Content.Server.Atmos.Components;
using Content.Server.Atmos.EntitySystems;
using Content.Shared.Atmos.Components;
using Content.Shared.Atmos.EntitySystems;
using Content.Shared.CCVar;
using Robust.Shared;
using Robust.Shared.Analyzers;
@@ -69,7 +69,7 @@ public class DeltaPressureBenchmark
{
ProgramShared.PathOffset = "../../../../";
PoolManager.Startup();
_pair = await PoolManager.GetServerClient();
_pair = await PoolManager.GetServerClient(testContext: new ExternalTestContext("Benchmark", StreamWriter.Null));
var server = _pair.Server;
var mapdata = await _pair.CreateTestMap();
+2 -1
View File
@@ -1,4 +1,5 @@
using System.Collections.Generic;
using System.IO;
using System.Threading.Tasks;
using BenchmarkDotNet.Attributes;
using Content.IntegrationTests;
@@ -69,7 +70,7 @@ public class DestructibleBenchmark
{
ProgramShared.PathOffset = "../../../../";
PoolManager.Startup();
_pair = await PoolManager.GetServerClient();
_pair = await PoolManager.GetServerClient(testContext: new ExternalTestContext("Benchmark", StreamWriter.Null));
var server = _pair.Server;
_entMan = server.ResolveDependency<IEntityManager>();
@@ -1,4 +1,5 @@
using System.Collections.Generic;
using System.IO;
using System.Threading.Tasks;
using BenchmarkDotNet.Attributes;
using Content.IntegrationTests;
@@ -60,7 +61,7 @@ public class DeviceNetworkingBenchmark
{
ProgramShared.PathOffset = "../../../../";
PoolManager.Startup(typeof(DeviceNetworkingBenchmark).Assembly);
_pair = await PoolManager.GetServerClient();
_pair = await PoolManager.GetServerClient(testContext: new ExternalTestContext("Benchmark", StreamWriter.Null));
var server = _pair.Server;
await server.WaitPost(() =>
+2 -1
View File
@@ -1,3 +1,4 @@
using System.IO;
using System.Threading.Tasks;
using BenchmarkDotNet.Attributes;
using Content.IntegrationTests;
@@ -51,7 +52,7 @@ public class GasReactionBenchmark
{
ProgramShared.PathOffset = "../../../../";
PoolManager.Startup();
_pair = await PoolManager.GetServerClient();
_pair = await PoolManager.GetServerClient(testContext: new ExternalTestContext("Benchmark", StreamWriter.Null));
var server = _pair.Server;
// Create test map and grid
+3 -2
View File
@@ -1,4 +1,5 @@
using System.Threading.Tasks;
using System.IO;
using System.Threading.Tasks;
using BenchmarkDotNet.Attributes;
using Content.IntegrationTests;
using Content.IntegrationTests.Pair;
@@ -27,7 +28,7 @@ public class HeatCapacityBenchmark
{
ProgramShared.PathOffset = "../../../../";
PoolManager.Startup();
_pair = await PoolManager.GetServerClient();
_pair = await PoolManager.GetServerClient(testContext: new ExternalTestContext("Benchmark", StreamWriter.Null));
await _pair.Connect();
_cEntMan = _pair.Client.ResolveDependency<IEntityManager>();
_sEntMan = _pair.Server.ResolveDependency<IEntityManager>();
+2 -1
View File
@@ -1,5 +1,6 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Threading.Tasks;
using BenchmarkDotNet.Attributes;
@@ -29,7 +30,7 @@ public class MapLoadBenchmark
ProgramShared.PathOffset = "../../../../";
PoolManager.Startup();
_pair = PoolManager.GetServerClient().GetAwaiter().GetResult();
_pair = PoolManager.GetServerClient(testContext: new ExternalTestContext("Benchmark", StreamWriter.Null)).GetAwaiter().GetResult();
var server = _pair.Server;
Paths = server.ResolveDependency<IPrototypeManager>()
+2 -1
View File
@@ -1,5 +1,6 @@
#nullable enable
using System;
using System.IO;
using System.Linq;
using System.Threading.Tasks;
using BenchmarkDotNet.Attributes;
@@ -50,7 +51,7 @@ public class PvsBenchmark
#endif
PoolManager.Startup();
_pair = PoolManager.GetServerClient().GetAwaiter().GetResult();
_pair = PoolManager.GetServerClient(testContext: new ExternalTestContext("Benchmark", StreamWriter.Null)).GetAwaiter().GetResult();
_entMan = _pair.Server.ResolveDependency<IEntityManager>();
_pair.Server.CfgMan.SetCVar(CVars.NetPVS, true);
_pair.Server.CfgMan.SetCVar(CVars.ThreadParallelCount, 0);
+2 -1
View File
@@ -1,4 +1,5 @@
#nullable enable
using System.IO;
using System.Runtime.CompilerServices;
using System.Threading.Tasks;
using BenchmarkDotNet.Attributes;
@@ -21,7 +22,7 @@ public class RaiseEventBenchmark
{
ProgramShared.PathOffset = "../../../../";
PoolManager.Startup(typeof(BenchSystem).Assembly);
_pair = PoolManager.GetServerClient().GetAwaiter().GetResult();
_pair = PoolManager.GetServerClient(testContext: new ExternalTestContext("Benchmark", StreamWriter.Null)).GetAwaiter().GetResult();
var entMan = _pair.Server.EntMan;
var fact = _pair.Server.ResolveDependency<IComponentFactory>();
var bus = (EntityEventBus)entMan.EventBus;
@@ -1,4 +1,5 @@
using System.Threading.Tasks;
using System.IO;
using System.Threading.Tasks;
using BenchmarkDotNet.Attributes;
using Content.IntegrationTests;
using Content.IntegrationTests.Pair;
@@ -36,7 +37,7 @@ public class SpawnEquipDeleteBenchmark
{
ProgramShared.PathOffset = "../../../../";
PoolManager.Startup();
_pair = await PoolManager.GetServerClient();
_pair = await PoolManager.GetServerClient(testContext: new ExternalTestContext("Benchmark", StreamWriter.Null));
var server = _pair.Server;
var mapData = await _pair.CreateTestMap();
@@ -0,0 +1,39 @@
using Content.Client.Overlays;
using Content.Shared.Access.Systems;
using Content.Shared.StatusIcon;
using Content.Shared.StatusIcon.Components;
using Robust.Shared.Prototypes;
namespace Content.Client.Access.Systems;
public sealed class JobStatusSystem : SharedJobStatusSystem
{
[Dependency] private readonly ShowJobIconsSystem _showJobIcons = default!;
[Dependency] private readonly ShowCrewIconsSystem _showCrewIcons = default!;
[Dependency] private readonly IPrototypeManager _prototype = default!;
private static readonly ProtoId<SecurityIconPrototype> CrewBorderIcon = "CrewBorderIcon";
private static readonly ProtoId<SecurityIconPrototype> CrewUncertainBorderIcon = "CrewUncertainBorderIcon";
public override void Initialize()
{
base.Initialize();
SubscribeLocalEvent<JobStatusComponent, GetStatusIconsEvent>(OnGetStatusIconsEvent);
}
// show the status icons if the player has the correponding HUDs
private void OnGetStatusIconsEvent(Entity<JobStatusComponent> ent, ref GetStatusIconsEvent ev)
{
if (_showJobIcons.IsActive && ent.Comp.JobStatusIcon != null)
ev.StatusIcons.Add(_prototype.Index(ent.Comp.JobStatusIcon));
if (_showCrewIcons.IsActive)
{
if (_showCrewIcons.UncertainCrewBorder)
ev.StatusIcons.Add(_prototype.Index(CrewUncertainBorderIcon));
else if (ent.Comp.IsCrew)
ev.StatusIcons.Add(_prototype.Index(CrewBorderIcon));
}
}
}
@@ -2,11 +2,9 @@ using System.Linq; // DeltaV
using Content.Shared.Access;
using Content.Shared.Access.Components;
using Content.Shared.Access.Systems;
using Content.Shared.CCVar;
using Content.Shared.Containers.ItemSlots;
using Content.Shared.CrewManifest;
using Content.Shared.Roles;
using Robust.Shared.Configuration;
using Robust.Shared.Prototypes;
using static Content.Shared.Access.Components.IdCardConsoleComponent;
@@ -15,21 +13,13 @@ namespace Content.Client.Access.UI
public sealed class IdCardConsoleBoundUserInterface : BoundUserInterface
{
[Dependency] private readonly IPrototypeManager _prototypeManager = default!;
[Dependency] private readonly IConfigurationManager _cfgManager = default!;
private readonly SharedIdCardConsoleSystem _idCardConsoleSystem = default!;
private IdCardConsoleWindow? _window;
// CCVar.
private int _maxNameLength;
private int _maxIdJobLength;
public IdCardConsoleBoundUserInterface(EntityUid owner, Enum uiKey) : base(owner, uiKey)
{
_idCardConsoleSystem = EntMan.System<SharedIdCardConsoleSystem>();
_maxNameLength =_cfgManager.GetCVar(CCVars.MaxNameLength);
_maxIdJobLength = _cfgManager.GetCVar(CCVars.MaxIdJobLength);
}
protected override void Open()
@@ -79,12 +69,6 @@ namespace Content.Client.Access.UI
public void SubmitData(string newFullName, string newJobTitle, List<ProtoId<AccessLevelPrototype>> newAccessList, ProtoId<JobPrototype> newJobPrototype)
{
if (newFullName.Length > _maxNameLength)
newFullName = newFullName[.._maxNameLength];
if (newJobTitle.Length > _maxIdJobLength)
newJobTitle = newJobTitle[.._maxIdJobLength];
SendMessage(new WriteToTargetIdMessage(
newFullName,
newJobTitle,
@@ -23,10 +23,6 @@ namespace Content.Client.Access.UI
private readonly IdCardConsoleBoundUserInterface _owner;
// CCVar.
private int _maxNameLength;
private int _maxIdJobLength;
private AccessLevelControl _accessButtons = new();
private readonly List<string> _jobPrototypeIds = new();
@@ -46,11 +42,8 @@ namespace Content.Client.Access.UI
_owner = owner;
_maxNameLength = _cfgManager.GetCVar(CCVars.MaxNameLength);
_maxIdJobLength = _cfgManager.GetCVar(CCVars.MaxIdJobLength);
FullNameLineEdit.OnTextEntered += _ => SubmitData();
FullNameLineEdit.IsValid = s => s.Length <= _maxNameLength;
FullNameLineEdit.IsValid = s => s.Length <= _cfgManager.GetCVar(CCVars.MaxNameLength);
FullNameLineEdit.OnTextChanged += _ =>
{
FullNameSaveButton.Disabled = FullNameSaveButton.Text == _lastFullName;
@@ -58,7 +51,7 @@ namespace Content.Client.Access.UI
FullNameSaveButton.OnPressed += _ => SubmitData();
JobTitleLineEdit.OnTextEntered += _ => SubmitData();
JobTitleLineEdit.IsValid = s => s.Length <= _maxIdJobLength;
JobTitleLineEdit.IsValid = s => s.Length <= _cfgManager.GetCVar(CCVars.MaxIdJobLength);
JobTitleLineEdit.OnTextChanged += _ =>
{
JobTitleSaveButton.Disabled = JobTitleLineEdit.Text == _lastJobTitle;
@@ -8,12 +8,14 @@ using Content.Shared.CCVar;
using Content.Shared.Ghost;
using Content.Shared.Mind;
using Content.Shared.Roles;
using Content.Shared.SSDIndicator; // DeltaV - SSD time indicator
using Robust.Client.Graphics;
using Robust.Client.ResourceManagement;
using Robust.Client.UserInterface;
using Robust.Shared.Configuration;
using Robust.Shared.Enums;
using Robust.Shared.Prototypes;
using Robust.Shared.Timing; // DeltaV - SSD time indicator
namespace Content.Client.Administration;
@@ -26,6 +28,7 @@ internal sealed class AdminNameOverlay : Overlay
private readonly IUserInterfaceManager _userInterfaceManager;
private readonly SharedRoleSystem _roles;
private readonly IPrototypeManager _prototypeManager;
private readonly IGameTiming _timing; // DeltaV - Add timing
private readonly Font _font;
private readonly Font _fontBold;
private AdminOverlayAntagFormat _overlayFormat;
@@ -53,7 +56,8 @@ internal sealed class AdminNameOverlay : Overlay
IUserInterfaceManager userInterfaceManager,
IConfigurationManager config,
SharedRoleSystem roles,
IPrototypeManager prototypeManager)
IPrototypeManager prototypeManager,
IGameTiming timing) // DeltaV - Add timing
{
_system = system;
_entityManager = entityManager;
@@ -62,6 +66,7 @@ internal sealed class AdminNameOverlay : Overlay
_userInterfaceManager = userInterfaceManager;
_roles = roles;
_prototypeManager = prototypeManager;
_timing = timing; // DeltaV - Add timing
ZIndex = 200;
// Setting these to a specific ttf would break the antag symbols
_font = resourceCache.NotoStack();
@@ -231,6 +236,18 @@ internal sealed class AdminNameOverlay : Overlay
currentOffset += lineoffset;
}
// DeltaV - SSD Time START
if (_entityManager.TryGetComponent<SSDIndicatorComponent>(entity, out var ssdIndicator)
&& ssdIndicator.SsdSince is {} ssdSince)
{
color = Color.MediumPurple;
color.A = alpha;
var ssdText = Loc.GetString("admin-overlay-ssd-time", ("time", (_timing.CurTime - ssdSince).ToString("%hh':'mm':'ss")));
args.ScreenHandle.DrawString(_font, screenCoordinates + currentOffset, ssdText, uiScale, color);
currentOffset += lineoffset;
}
// DeltaV END
// Determine antag symbol
string? symbol;
switch (_overlaySymbolStyle)
@@ -5,6 +5,7 @@ using Robust.Client.ResourceManagement;
using Robust.Client.UserInterface;
using Robust.Shared.Configuration;
using Robust.Shared.Prototypes;
using Robust.Shared.Timing; // DeltaV - SSD time indicator
namespace Content.Client.Administration.Systems
{
@@ -19,6 +20,7 @@ namespace Content.Client.Administration.Systems
[Dependency] private readonly IConfigurationManager _configurationManager = default!;
[Dependency] private readonly SharedRoleSystem _roles = default!;
[Dependency] private readonly IPrototypeManager _proto = default!;
[Dependency] private readonly IGameTiming _timing = default!; // DeltaV - added for SSD time indicator
private AdminNameOverlay _adminNameOverlay = default!;
@@ -36,7 +38,8 @@ namespace Content.Client.Administration.Systems
_userInterfaceManager,
_configurationManager,
_roles,
_proto);
_proto,
_timing); // DeltaV - Add timing
_adminManager.AdminStatusUpdated += OnAdminStatusUpdated;
}
@@ -1,4 +1,5 @@
using System.Numerics;
using System.Linq;
using System.Numerics;
using Content.Client.Administration.UI.BanList.Bans;
using Content.Client.Administration.UI.BanList.RoleBans;
using Content.Client.Eui;
@@ -73,7 +74,7 @@ public sealed class BanListEui : BaseEui
return date.ToString("MM/dd/yyyy h:mm tt");
}
public static void SetData<T>(IBanListLine<T> line, SharedServerBan ban) where T : SharedServerBan
public static void SetData<T>(IBanListLine<T> line, SharedBan ban) where T : SharedBan
{
line.Reason.Text = ban.Reason;
line.BanTime.Text = FormatDate(ban.BanTime);
@@ -94,20 +95,20 @@ public sealed class BanListEui : BaseEui
line.BanningAdmin.Text = ban.BanningAdminName;
}
private void OnLineIdsClicked<T>(IBanListLine<T> line) where T : SharedServerBan
private void OnLineIdsClicked<T>(IBanListLine<T> line) where T : SharedBan
{
_popup?.Close();
_popup = null;
var ban = line.Ban;
var id = ban.Id == null ? string.Empty : Loc.GetString("ban-list-id", ("id", ban.Id.Value));
var ip = ban.Address == null
var ip = ban.Addresses.Length == 0
? string.Empty
: Loc.GetString("ban-list-ip", ("ip", ban.Address.Value.address));
var hwid = ban.HWId == null ? string.Empty : Loc.GetString("ban-list-hwid", ("hwid", ban.HWId));
var guid = ban.UserId == null
: Loc.GetString("ban-list-ip", ("ip", string.Join(',', ban.Addresses.Select(a => a.address))));
var hwid = ban.HWIds.Length == 0 ? string.Empty : Loc.GetString("ban-list-hwid", ("hwid", string.Join(',', ban.HWIds)));
var guid = ban.UserIds.Length == 0
? string.Empty
: Loc.GetString("ban-list-guid", ("guid", ban.UserId.Value.ToString()));
: Loc.GetString("ban-list-guid", ("guid", string.Join(',', ban.UserIds)));
_popup = new BanListIdsPopup(id, ip, hwid, guid);
@@ -16,7 +16,7 @@ public sealed partial class BanListControl : Control
RobustXamlLoader.Load(this);
}
public void SetBans(List<SharedServerBan> bans)
public void SetBans(List<SharedBan> bans)
{
for (var i = Bans.ChildCount - 1; i >= 1; i--)
{
@@ -7,13 +7,13 @@ using static Robust.Client.UserInterface.Controls.BaseButton;
namespace Content.Client.Administration.UI.BanList.Bans;
[GenerateTypedNameReferences]
public sealed partial class BanListLine : BoxContainer, IBanListLine<SharedServerBan>
public sealed partial class BanListLine : BoxContainer, IBanListLine<SharedBan>
{
public SharedServerBan Ban { get; }
public SharedBan Ban { get; }
public event Action<BanListLine>? IdsClicked;
public BanListLine(SharedServerBan ban)
public BanListLine(SharedBan ban)
{
RobustXamlLoader.Load(this);
@@ -3,7 +3,7 @@ using Robust.Client.UserInterface.Controls;
namespace Content.Client.Administration.UI.BanList;
public interface IBanListLine<T> where T : SharedServerBan
public interface IBanListLine<T> where T : SharedBan
{
T Ban { get; }
Label Reason { get; }
@@ -16,7 +16,7 @@ public sealed partial class RoleBanListControl : Control
RobustXamlLoader.Load(this);
}
public void SetRoleBans(List<SharedServerRoleBan> bans)
public void SetRoleBans(List<SharedBan> bans)
{
for (var i = RoleBans.ChildCount - 1; i >= 1; i--)
{
@@ -7,13 +7,13 @@ using static Robust.Client.UserInterface.Controls.BaseButton;
namespace Content.Client.Administration.UI.BanList.RoleBans;
[GenerateTypedNameReferences]
public sealed partial class RoleBanListLine : BoxContainer, IBanListLine<SharedServerRoleBan>
public sealed partial class RoleBanListLine : BoxContainer, IBanListLine<SharedBan>
{
public SharedServerRoleBan Ban { get; }
public SharedBan Ban { get; }
public event Action<RoleBanListLine>? IdsClicked;
public RoleBanListLine(SharedServerRoleBan ban)
public RoleBanListLine(SharedBan ban)
{
RobustXamlLoader.Load(this);
@@ -21,7 +21,7 @@ public sealed partial class RoleBanListLine : BoxContainer, IBanListLine<SharedS
IdsHidden.OnPressed += IdsPressed;
BanListEui.SetData(this, ban);
Role.Text = ban.Role;
Role.Text = string.Join(", ", ban.Roles ?? []);
}
private void IdsPressed(ButtonEventArgs buttonEventArgs)
@@ -70,7 +70,7 @@ public sealed partial class AdminNotesLine : BoxContainer
TimeLabel.Text = Note.CreatedAt.ToLocalTime().ToString("yyyy-MM-dd HH:mm:ss");
ServerLabel.Text = Note.ServerName ?? "Unknown";
RoundLabel.Text = Note.Round == null ? "Unknown round" : "Round " + Note.Round;
RoundLabel.Text = Note.Rounds.Length == 0 ? "Unknown round" : "Round " + string.Join(',', Note.Rounds);
AdminLabel.Text = Note.CreatedByName;
PlaytimeLabel.Text = $"{Note.PlaytimeAtNote.TotalHours: 0.0}h";
@@ -143,7 +143,12 @@ public sealed partial class AdminNotesLine : BoxContainer
private string FormatRoleBanMessage()
{
var banMessage = new StringBuilder($"{Loc.GetString("admin-notes-banned-from")} {string.Join(", ", Note.BannedRoles ?? new[] { "unknown" })} ");
var rolesText = string.Join(
", ",
// Explicit cast here to avoid sandbox violation.
(IEnumerable<BanRoleDef>?)Note.BannedRoles ?? [new BanRoleDef("what", "You should not be seeing this")]);
var banMessage = new StringBuilder($"{Loc.GetString("admin-notes-banned-from")} {rolesText} ");
return FormatBanMessageCommon(banMessage);
}
@@ -32,9 +32,9 @@ public sealed partial class AdminNotesLinePopup : Popup
IdLabel.Text = Loc.GetString("admin-notes-id", ("id", note.Id));
TypeLabel.Text = Loc.GetString("admin-notes-type", ("type", note.NoteType));
SeverityLabel.Text = Loc.GetString("admin-notes-severity", ("severity", note.NoteSeverity ?? NoteSeverity.None));
RoundIdLabel.Text = note.Round == null
RoundIdLabel.Text = note.Rounds.Length == 0
? Loc.GetString("admin-notes-round-id-unknown")
: Loc.GetString("admin-notes-round-id", ("id", note.Round));
: Loc.GetString("admin-notes-round-id", ("id", string.Join(',', note.Rounds)));
CreatedByLabel.Text = Loc.GetString("admin-notes-created-by", ("author", note.CreatedByName));
CreatedAtLabel.Text = Loc.GetString("admin-notes-created-at", ("date", note.CreatedAt.ToLocalTime().ToString("yyyy-MM-dd HH:mm:ss")));
EditedByLabel.Text = Loc.GetString("admin-notes-last-edited-by", ("author", note.EditedByName));
@@ -25,8 +25,8 @@ public sealed class ClientInnerBodyAnomalySystem : SharedInnerBodyAnomalySystem
var index = _sprite.LayerMapReserve((ent.Owner, sprite), ent.Comp.LayerMap);
if (TryComp<HumanoidAppearanceComponent>(ent, out var humanoidAppearance) &&
ent.Comp.SpeciesSprites.TryGetValue(humanoidAppearance.Species, out var speciesSprite))
if (TryComp<HumanoidProfileComponent>(ent, out var humanoid) &&
ent.Comp.SpeciesSprites.TryGetValue(humanoid.Species, out var speciesSprite))
{
_sprite.LayerSetSprite((ent.Owner, sprite), index, speciesSprite);
}
@@ -1,4 +1,4 @@
<controls:FancyWindow xmlns="https://spacestation14.io"
<controls:FancyWindow xmlns="https://spacestation14.io"
xmlns:controls="clr-namespace:Content.Client.UserInterface.Controls"
Title="{Loc 'anomaly-generator-ui-title'}"
@@ -32,7 +32,7 @@
</BoxContainer>
<!--Sprite View-->
<PanelContainer Margin="12 0 0 0"
StyleClasses="Inset"
StyleClasses="BackgroundPanelDark"
VerticalAlignment="Center">
<SpriteView Name="EntityView"
SetSize="96 96"
@@ -1,9 +0,0 @@
using Content.Shared.Atmos.Components;
namespace Content.Client.Atmos.Components;
[RegisterComponent]
public sealed partial class MapAtmosphereComponent : SharedMapAtmosphereComponent
{
}
@@ -1,6 +1,7 @@
using Content.Client.Stylesheets;
using Content.Shared.Atmos;
using Content.Shared.Atmos.Components;
using Content.Shared.Atmos.EntitySystems;
using Content.Shared.Atmos.Monitor;
using Content.Shared.FixedPoint;
using Content.Shared.Temperature;
@@ -22,6 +23,7 @@ public sealed partial class AtmosAlarmEntryContainer : BoxContainer
private readonly IEntityManager _entManager;
private readonly IResourceCache _cache;
private readonly SharedAtmosphereSystem _atmosphere;
private Dictionary<AtmosAlarmType, string> _alarmStrings = new Dictionary<AtmosAlarmType, string>()
{
@@ -37,6 +39,7 @@ public sealed partial class AtmosAlarmEntryContainer : BoxContainer
_entManager = IoCManager.Resolve<IEntityManager>();
_cache = IoCManager.Resolve<IResourceCache>();
_atmosphere = _entManager.System<SharedAtmosphereSystem>();
NetEntity = uid;
Coordinates = coordinates;
@@ -149,7 +152,7 @@ public sealed partial class AtmosAlarmEntryContainer : BoxContainer
foreach ((var gas, (var mol, var percent, var alert)) in keyValuePairs)
{
FixedPoint2 gasPercent = percent * 100f;
var gasAbbreviation = Atmospherics.GasAbbreviations.GetValueOrDefault(gas, Loc.GetString("gas-unknown-abbreviation"));
var gasAbbreviation = Loc.GetString(_atmosphere.GetGas(gas).Abbreviation);
var gasLabel = new Label()
{
@@ -1,6 +1,7 @@
using Content.Client.Stylesheets;
using Content.Shared.Atmos;
using Content.Shared.Atmos.Components;
using Content.Shared.Atmos.EntitySystems;
using Content.Shared.FixedPoint;
using Content.Shared.Temperature;
using Robust.Client.AutoGenerated;
@@ -19,12 +20,14 @@ public sealed partial class AtmosMonitoringEntryContainer : BoxContainer
private readonly IEntityManager _entManager;
private readonly IResourceCache _cache;
private readonly SharedAtmosphereSystem _atmosphere;
public AtmosMonitoringEntryContainer(AtmosMonitoringConsoleEntry data)
{
RobustXamlLoader.Load(this);
_entManager = IoCManager.Resolve<IEntityManager>();
_cache = IoCManager.Resolve<IResourceCache>();
_atmosphere = _entManager.System<SharedAtmosphereSystem>();
Data = data;
@@ -132,7 +135,7 @@ public sealed partial class AtmosMonitoringEntryContainer : BoxContainer
var gasPercent = (FixedPoint2)0f;
gasPercent = percent * 100f;
var gasAbbreviation = Atmospherics.GasAbbreviations.GetValueOrDefault(gas, Loc.GetString("gas-unknown-abbreviation"));
var gasAbbreviation = Loc.GetString(_atmosphere.GetGas(gas).Abbreviation);
var gasLabel = new Label()
{
@@ -10,7 +10,9 @@ namespace Content.Client.Atmos.EntitySystems
[UsedImplicitly]
internal sealed class AtmosDebugOverlaySystem : SharedAtmosDebugOverlaySystem
{
public readonly Dictionary<EntityUid, AtmosDebugOverlayMessage> TileData = new();
[Dependency] private readonly IOverlayManager _overlayManager = default!;
public readonly Dictionary<EntityUid, AtmosDebugOverlayMessage> TileData = [];
// Configuration set by debug commands and used by AtmosDebugOverlay {
/// <summary>Value source for display</summary>
@@ -25,6 +27,8 @@ namespace Content.Client.Atmos.EntitySystems
public bool CfgCBM = false;
// }
private AtmosDebugOverlay? _overlay;
public override void Initialize()
{
base.Initialize();
@@ -34,10 +38,6 @@ namespace Content.Client.Atmos.EntitySystems
SubscribeNetworkEvent<AtmosDebugOverlayDisableMessage>(HandleAtmosDebugOverlayDisableMessage);
SubscribeLocalEvent<GridRemovalEvent>(OnGridRemoved);
var overlayManager = IoCManager.Resolve<IOverlayManager>();
if(!overlayManager.HasOverlay<AtmosDebugOverlay>())
overlayManager.AddOverlay(new AtmosDebugOverlay(this));
}
private void OnGridRemoved(GridRemovalEvent ev)
@@ -51,19 +51,25 @@ namespace Content.Client.Atmos.EntitySystems
private void HandleAtmosDebugOverlayMessage(AtmosDebugOverlayMessage message)
{
TileData[GetEntity(message.GridId)] = message;
if (_overlay is not null)
return;
_overlay = new AtmosDebugOverlay(this);
_overlayManager.AddOverlay(_overlay);
}
private void HandleAtmosDebugOverlayDisableMessage(AtmosDebugOverlayDisableMessage ev)
{
TileData.Clear();
RemoveOverlay();
}
public override void Shutdown()
{
base.Shutdown();
var overlayManager = IoCManager.Resolve<IOverlayManager>();
if (overlayManager.HasOverlay<AtmosDebugOverlay>())
overlayManager.RemoveOverlay<AtmosDebugOverlay>();
RemoveOverlay();
}
public void Reset(RoundRestartCleanupEvent ev)
@@ -75,6 +81,15 @@ namespace Content.Client.Atmos.EntitySystems
{
return TileData.ContainsKey(gridId);
}
private void RemoveOverlay()
{
if (_overlay is null)
return;
_overlayManager.RemoveOverlay(_overlay);
_overlay = null;
}
}
internal enum AtmosDebugOverlayMode : byte
@@ -1,5 +1,6 @@
using System.Runtime.CompilerServices;
using Content.Shared.Atmos;
using Content.Shared.Atmos.Reactions;
namespace Content.Client.Atmos.EntitySystems;
@@ -13,6 +14,29 @@ public sealed partial class AtmosphereSystem
implementation.
*/
/// <inheritdoc/>
/// <remarks>No-op on client as reactions aren't entirely in shared.
/// Don't call it. Smile.</remarks>
public override ReactionResult React(GasMixture mixture, IGasMixtureHolder? holder)
{
// Reactions don't work on client so don't even try.
throw new NotImplementedException();
}
public override bool IsMixtureFuel(GasMixture mixture, float epsilon = Atmospherics.Epsilon)
{
var tmp = new float[Atmospherics.AdjustedNumberOfGases];
NumericsHelpers.Multiply(mixture.Moles, GasFuelMask, tmp);
return NumericsHelpers.HorizontalAdd(tmp) > epsilon;
}
public override bool IsMixtureOxidizer(GasMixture mixture, float epsilon = Atmospherics.Epsilon)
{
var tmp = new float[Atmospherics.AdjustedNumberOfGases];
NumericsHelpers.Multiply(mixture.Moles, GasOxidizerMask, tmp);
return NumericsHelpers.HorizontalAdd(tmp) > epsilon;
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
protected override float GetHeatCapacityCalculation(float[] moles, bool space)
{
@@ -27,7 +51,7 @@ public sealed partial class AtmosphereSystem
// though this isnt the hottest code path so it should be fine
// the gc can eat a little as a treat
var tmp = new float[moles.Length];
NumericsHelpers.Multiply(moles, GasSpecificHeats, tmp);
NumericsHelpers.Multiply(moles, GasMolarHeatCapacities, tmp);
// Adjust heat capacity by speedup, because this is primarily what
// determines how quickly gases heat up/cool.
return MathF.Max(NumericsHelpers.HorizontalAdd(tmp), Atmospherics.MinimumHeatCapacity);
@@ -0,0 +1,30 @@
using Content.Client.Atmos.Overlays;
using JetBrains.Annotations;
using Robust.Client.Graphics;
namespace Content.Client.Atmos.EntitySystems;
/// <summary>
/// System responsible for rendering atmos fire animations using <see cref="GasTileFireOverlay"/>.
/// </summary>
[UsedImplicitly]
public sealed class GasTileFireOverlaySystem : EntitySystem
{
[Dependency] private readonly IOverlayManager _overlayMan = default!;
private GasTileFireOverlay _fireOverlay = default!;
public override void Initialize()
{
base.Initialize();
_fireOverlay = new GasTileFireOverlay();
_overlayMan.AddOverlay(_fireOverlay);
}
public override void Shutdown()
{
base.Shutdown();
_overlayMan.RemoveOverlay<GasTileFireOverlay>();
}
}
@@ -0,0 +1,30 @@
using Content.Client.Atmos.Overlays;
using JetBrains.Annotations;
using Robust.Client.Graphics;
namespace Content.Client.Atmos.EntitySystems;
/// <summary>
/// System responsible for rendering heat distortion using <see cref="GasTileHeatBlurOverlay"/>.
/// </summary>
[UsedImplicitly]
public sealed class GasTileHeatBlurOverlaySystem : EntitySystem
{
[Dependency] private readonly IOverlayManager _overlayMan = default!;
private GasTileHeatBlurOverlay _gasTileHeatBlurOverlay = default!;
public override void Initialize()
{
base.Initialize();
_gasTileHeatBlurOverlay = new GasTileHeatBlurOverlay();
_overlayMan.AddOverlay(_gasTileHeatBlurOverlay);
}
public override void Shutdown()
{
base.Shutdown();
_overlayMan.RemoveOverlay<GasTileHeatBlurOverlay>();
}
}
@@ -1,106 +1,85 @@
using Content.Client.Atmos.Overlays;
using Content.Shared.Atmos;
using Content.Shared.Atmos.Components;
using Content.Shared.Atmos.EntitySystems;
using JetBrains.Annotations;
using Robust.Client.GameObjects;
using Robust.Client.Graphics;
using Robust.Client.ResourceManagement;
using Robust.Shared.GameStates;
namespace Content.Client.Atmos.EntitySystems
namespace Content.Client.Atmos.EntitySystems;
[UsedImplicitly]
public sealed class GasTileOverlaySystem : SharedGasTileOverlaySystem
{
[UsedImplicitly]
public sealed class GasTileOverlaySystem : SharedGasTileOverlaySystem
public override void Initialize()
{
[Dependency] private readonly IResourceCache _resourceCache = default!;
[Dependency] private readonly IOverlayManager _overlayMan = default!;
[Dependency] private readonly SpriteSystem _spriteSys = default!;
[Dependency] private readonly SharedTransformSystem _xformSys = default!;
base.Initialize();
SubscribeNetworkEvent<GasOverlayUpdateEvent>(HandleGasOverlayUpdate);
SubscribeLocalEvent<GasTileOverlayComponent, ComponentHandleState>(OnHandleState);
}
private GasTileOverlay _overlay = default!;
private void OnHandleState(EntityUid gridUid, GasTileOverlayComponent comp, ref ComponentHandleState args)
{
Dictionary<Vector2i, GasOverlayChunk> modifiedChunks;
public override void Initialize()
switch (args.Current)
{
base.Initialize();
SubscribeNetworkEvent<GasOverlayUpdateEvent>(HandleGasOverlayUpdate);
SubscribeLocalEvent<GasTileOverlayComponent, ComponentHandleState>(OnHandleState);
_overlay = new GasTileOverlay(this, EntityManager, _resourceCache, ProtoMan, _spriteSys, _xformSys);
_overlayMan.AddOverlay(_overlay);
}
public override void Shutdown()
{
base.Shutdown();
_overlayMan.RemoveOverlay<GasTileOverlay>();
}
private void OnHandleState(EntityUid gridUid, GasTileOverlayComponent comp, ref ComponentHandleState args)
{
Dictionary<Vector2i, GasOverlayChunk> modifiedChunks;
switch (args.Current)
// is this a delta or full state?
case GasTileOverlayDeltaState delta:
{
// is this a delta or full state?
case GasTileOverlayDeltaState delta:
modifiedChunks = delta.ModifiedChunks;
foreach (var index in comp.Chunks.Keys)
{
modifiedChunks = delta.ModifiedChunks;
foreach (var index in comp.Chunks.Keys)
{
if (!delta.AllChunks.Contains(index))
comp.Chunks.Remove(index);
}
break;
if (!delta.AllChunks.Contains(index))
comp.Chunks.Remove(index);
}
case GasTileOverlayState state:
{
modifiedChunks = state.Chunks;
foreach (var index in comp.Chunks.Keys)
{
if (!state.Chunks.ContainsKey(index))
comp.Chunks.Remove(index);
}
break;
}
default:
return;
break;
}
foreach (var (index, data) in modifiedChunks)
case GasTileOverlayState state:
{
comp.Chunks[index] = data;
modifiedChunks = state.Chunks;
foreach (var index in comp.Chunks.Keys)
{
if (!state.Chunks.ContainsKey(index))
comp.Chunks.Remove(index);
}
break;
}
default:
return;
}
foreach (var (index, data) in modifiedChunks)
{
comp.Chunks[index] = data;
}
}
private void HandleGasOverlayUpdate(GasOverlayUpdateEvent ev)
{
foreach (var (nent, removedIndicies) in ev.RemovedChunks)
{
var grid = GetEntity(nent);
if (!TryComp(grid, out GasTileOverlayComponent? comp))
continue;
foreach (var index in removedIndicies)
{
comp.Chunks.Remove(index);
}
}
private void HandleGasOverlayUpdate(GasOverlayUpdateEvent ev)
foreach (var (nent, gridData) in ev.UpdatedChunks)
{
foreach (var (nent, removedIndicies) in ev.RemovedChunks)
var grid = GetEntity(nent);
if (!TryComp(grid, out GasTileOverlayComponent? comp))
continue;
foreach (var chunkData in gridData)
{
var grid = GetEntity(nent);
if (!TryComp(grid, out GasTileOverlayComponent? comp))
continue;
foreach (var index in removedIndicies)
{
comp.Chunks.Remove(index);
}
}
foreach (var (nent, gridData) in ev.UpdatedChunks)
{
var grid = GetEntity(nent);
if (!TryComp(grid, out GasTileOverlayComponent? comp))
continue;
foreach (var chunkData in gridData)
{
comp.Chunks[chunkData.Index] = chunkData;
}
comp.Chunks[chunkData.Index] = chunkData;
}
}
}
@@ -0,0 +1,31 @@
using Content.Client.Atmos.Overlays;
using JetBrains.Annotations;
using Robust.Client.Graphics;
namespace Content.Client.Atmos.EntitySystems;
/// <summary>
/// System responsible for rendering visible atmos gasses (like plasma for example) using <see cref="GasTileVisibleGasOverlay"/>.
/// </summary>
[UsedImplicitly]
public sealed class GasTileVisibleGasOverlaySystem : EntitySystem
{
[Dependency] private readonly IOverlayManager _overlayMan = default!;
private GasTileVisibleGasOverlay _visibleGasOverlay = default!;
public override void Initialize()
{
base.Initialize();
_visibleGasOverlay = new GasTileVisibleGasOverlay();
_overlayMan.AddOverlay(_visibleGasOverlay);
}
public override void Shutdown()
{
base.Shutdown();
_overlayMan.RemoveOverlay<GasTileVisibleGasOverlay>();
}
}
@@ -7,7 +7,7 @@
<!-- Status (pressure, temperature, alarm state, device total, address, etc) -->
<BoxContainer Orientation="Horizontal" Margin="0 0 0 2">
<!-- Left column (view of entity) -->
<PanelContainer Margin="2 0 6 0" StyleClasses="Inset" VerticalAlignment="Center" VerticalExpand="True">
<PanelContainer Margin="2 0 6 0" StyleClasses="BackgroundPanelDark" VerticalAlignment="Center" VerticalExpand="True">
<SpriteView Name="EntityView" OverrideDirection="South" Scale="2 2" SetSize="64 64"/>
</PanelContainer>
<!-- Center column (pressure, temperature, alarm state) -->
@@ -0,0 +1,253 @@
using Content.Client.Atmos.EntitySystems;
using Content.Client.Graphics;
using Content.Shared.Atmos;
using Content.Shared.Atmos.Components;
using Content.Shared.Atmos.EntitySystems;
using Robust.Client.Graphics;
using Robust.Shared.Enums;
using Robust.Shared.Map;
using Robust.Shared.Map.Components;
using System.Numerics;
namespace Content.Client.Atmos.Overlays;
/// <summary>
/// Renders a thermal heatmap overlay for gas tiles, used for equipment like thermal glasses.
/// /// </summary>
public sealed class GasTileDangerousTemperatureOverlay : Overlay
{
public override bool RequestScreenTexture { get; set; } = false;
[Dependency] private readonly IEntityManager _entManager = default!;
[Dependency] private readonly IMapManager _mapManager = default!;
[Dependency] private readonly IClyde _clyde = default!;
private GasTileOverlaySystem? _gasTileOverlay;
private readonly SharedTransformSystem _xformSys;
private EntityQuery<GasTileOverlayComponent> _overlayQuery;
private readonly OverlayResourceCache<CachedResources> _resources = new();
private List<Entity<MapGridComponent>> _grids = new();
// Cache used to transform ThermalByte into Color for overlay
private readonly Color[] _colorCache = new Color[256];
public override OverlaySpace Space => OverlaySpace.WorldSpaceBelowFOV;
public GasTileDangerousTemperatureOverlay()
{
IoCManager.InjectDependencies(this);
_xformSys = _entManager.System<SharedTransformSystem>();
_overlayQuery = _entManager.GetEntityQuery<GasTileOverlayComponent>();
for (byte i = 0; i <= ThermalByte.TempResolution; i++)
{
_colorCache[i] = PreCalculateColor(i);
}
_colorCache[ThermalByte.StateVacuum] = Color.Teal;
_colorCache[ThermalByte.StateVacuum].A = 0.6f;
_colorCache[ThermalByte.AtmosImpossible] = Color.Transparent;
#if DEBUG // This shouldn't happend so tell me if you see this LimeGreen on the screen
_colorCache[ThermalByte.ReservedFuture0] = Color.LimeGreen;
_colorCache[ThermalByte.ReservedFuture1] = Color.LimeGreen;
_colorCache[ThermalByte.ReservedFuture2] = Color.LimeGreen;
#else
_colorCache[ThermalByte.ReservedFuture0] = Color.Transparent;
_colorCache[ThermalByte.ReservedFuture1] = Color.Transparent;
_colorCache[ThermalByte.ReservedFuture2] = Color.Transparent;
#endif
}
/// <summary>
/// Used for Calculating onscreen color from ThermalByte core value
/// /// </summary>
private static Color PreCalculateColor(byte byteTemp)
{
// Color Thresholds in Kelvin
// -150 C
const float deepFreezeK = 123.15f;
// -50 C
const float freezeStartK = 223.15f;
// 0 C
const float waterFreezeK = 273.15f;
// 50 C
const float heatStartK = 323.15f;
// 100 C
const float waterBoilK = 373.15f;
// 300 C
const float superHeatK = 573.15f;
var tempK = byteTemp * ThermalByte.TempDegreeResolution;
// Neutral Zone Check (0C to 50C)
// If between 273.15K and 323.15K, it's transparent.
if (tempK >= waterFreezeK && tempK < heatStartK)
{
return Color.Transparent;
}
Color resultingColor;
switch (tempK)
{
case < deepFreezeK:
resultingColor = Color.FromHex("#330066");
resultingColor.A = 0.7f;
break;
case < freezeStartK:
// Interpolate Deep Purple -> Blue
// Range: 123.15 to 223.15 (Span: 100)
resultingColor = Color.InterpolateBetween(
Color.FromHex("#330066"),
Color.Blue,
(tempK - deepFreezeK) * 0.01f);
resultingColor.A = 0.6f;
break;
case < waterFreezeK:
// Interpolate Blue -> Transparent
// Range: 223.15 to 273.15 (Span: 50)
resultingColor = Color.InterpolateBetween(
new Color(Color.Blue.R, Color.Blue.G, Color.Blue.B, 0.6f),
new Color(Color.Blue.R, Color.Blue.G, Color.Blue.B, 0.2f),
(tempK - freezeStartK) * 0.02f);
break;
case < waterBoilK:
// Interpolate Transparent -> Yellow
// Range: 323.15 to 373.15 (Span: 50)
resultingColor = Color.InterpolateBetween(
new Color(Color.Yellow.R, Color.Yellow.G, Color.Yellow.B, 0.2f),
new Color(Color.Yellow.R, Color.Yellow.G, Color.Yellow.B, 0.6f),
(tempK - heatStartK) * 0.02f);
break;
case < superHeatK:
// Interpolate Yellow -> Red
// Range: 373.15 to 573.15 (Span: 200)
resultingColor = Color.InterpolateBetween(
Color.Yellow,
Color.Red,
(tempK - waterBoilK) * 0.005f);
resultingColor.A = 0.6f;
break;
default:
resultingColor = Color.DarkRed;
resultingColor.A = 0.7f;
break;
}
return resultingColor;
}
protected override bool BeforeDraw(in OverlayDrawArgs args)
{
if (args.MapId == MapId.Nullspace)
return false;
_gasTileOverlay ??= _entManager.System<GasTileOverlaySystem>();
if (_gasTileOverlay == null)
return false;
var target = args.Viewport.RenderTarget;
var res = _resources.GetForViewport(args.Viewport, static _ => new CachedResources());
if (res.TemperatureTarget is null || res.TemperatureTarget.Texture.Size != target.Size)
{
res.TemperatureTarget?.Dispose();
res.TemperatureTarget = _clyde.CreateRenderTarget(
target.Size,
new RenderTargetFormatParameters(RenderTargetColorFormat.Rgba8Srgb),
name: nameof(GasTileDangerousTemperatureOverlay));
}
var drawHandle = args.WorldHandle;
var worldBounds = args.WorldBounds;
var worldAABB = args.WorldAABB;
var mapId = args.MapId;
var worldToViewportLocal = args.Viewport.GetWorldToLocalMatrix();
drawHandle.RenderInRenderTarget(res.TemperatureTarget,
() =>
{
_grids.Clear();
_mapManager.FindGridsIntersecting(mapId, worldAABB, ref _grids);
foreach (var grid in _grids)
{
if (!_overlayQuery.TryGetComponent(grid.Owner, out var comp))
continue;
var gridTileSizeVec = grid.Comp.TileSizeVector;
var gridTileCenterVec = grid.Comp.TileSizeHalfVector;
var gridEntToWorld = _xformSys.GetWorldMatrix(grid.Owner);
var gridEntToViewportLocal = gridEntToWorld * worldToViewportLocal;
drawHandle.SetTransform(gridEntToViewportLocal);
var worldToGridLocal = _xformSys.GetInvWorldMatrix(grid.Owner);
var floatBounds = worldToGridLocal.TransformBox(worldBounds).Enlarged(grid.Comp.TileSize);
var localBounds = new Box2i(
(int)MathF.Floor(floatBounds.Left),
(int)MathF.Floor(floatBounds.Bottom),
(int)MathF.Ceiling(floatBounds.Right),
(int)MathF.Ceiling(floatBounds.Top));
foreach (var chunk in comp.Chunks.Values)
{
var enumerator = new GasChunkEnumerator(chunk);
while (enumerator.MoveNext(out var tileGas))
{
var tilePosition = chunk.Origin + (enumerator.X, enumerator.Y);
if (!localBounds.Contains(tilePosition))
continue;
var gasColor = _colorCache[tileGas.ByteGasTemperature.Value];
if (gasColor.A <= 0f)
continue;
drawHandle.DrawRect(
Box2.CenteredAround(tilePosition + gridTileCenterVec, gridTileSizeVec),
gasColor
);
}
}
}
},
new Color(0, 0, 0, 0));
drawHandle.SetTransform(Matrix3x2.Identity);
return true;
}
protected override void Draw(in OverlayDrawArgs args)
{
var res = _resources.GetForViewport(args.Viewport, static _ => new CachedResources());
if (res.TemperatureTarget != null)
args.WorldHandle.DrawTextureRect(res.TemperatureTarget.Texture, args.WorldBounds);
args.WorldHandle.SetTransform(Matrix3x2.Identity);
}
protected override void DisposeBehavior()
{
_resources.Dispose();
base.DisposeBehavior();
}
private sealed class CachedResources : IDisposable
{
public IRenderTexture? TemperatureTarget;
public void Dispose()
{
TemperatureTarget?.Dispose();
}
}
}
@@ -0,0 +1,172 @@
using Content.Client.Atmos.EntitySystems;
using Content.Shared.Atmos;
using Content.Shared.Atmos.Components;
using Content.Shared.Species;
using Robust.Client.GameObjects;
using Robust.Client.Graphics;
using Robust.Client.ResourceManagement;
using Robust.Shared.Enums;
using Robust.Shared.Graphics.RSI;
using Robust.Shared.Map;
using Robust.Shared.Map.Components;
using Robust.Shared.Prototypes;
using Robust.Shared.Timing;
using System.Numerics;
namespace Content.Client.Atmos.Overlays;
/// <summary>
/// Overlay responsible for rendering atmos fire animation.
/// </summary>
public sealed class GasTileFireOverlay : Overlay
{
[Dependency] private readonly IPrototypeManager _protoMan = default!;
[Dependency] private readonly IResourceCache _resourceCache = default!;
[Dependency] private readonly IEntityManager _entManager = default!;
[Dependency] private readonly IMapManager _mapManager = default!;
public override OverlaySpace Space => OverlaySpace.WorldSpaceEntities | OverlaySpace.WorldSpaceBelowWorld;
private static readonly ProtoId<ShaderPrototype> UnshadedShader = "unshaded";
private readonly SharedTransformSystem _xformSys;
private readonly SharedMapSystem _mapSystem = default!;
private readonly ShaderInstance _shader;
private readonly float[] _timer;
private readonly float[][] _frameDelays;
private readonly int[] _frameCounter;
// TODO combine textures into a single texture atlas.
private readonly Texture[][] _frames;
private const int FireStates = 3;
private const string FireRsiPath = "/Textures/Effects/fire.rsi";
public const int GasOverlayZIndex = (int)Shared.DrawDepth.DrawDepth.Effects; // Under ghosts, above mostly everything else
public GasTileFireOverlay()
{
IoCManager.InjectDependencies(this);
_xformSys = _entManager.System<SharedTransformSystem>();
_mapSystem = _entManager.System<SharedMapSystem>();
_shader = _protoMan.Index(UnshadedShader).Instance();
ZIndex = GasOverlayZIndex;
_timer = new float[FireStates];
_frameDelays = new float[FireStates][];
_frameCounter = new int[FireStates];
_frames = new Texture[FireStates][];
var fire = _resourceCache.GetResource<RSIResource>(FireRsiPath).RSI;
for (var i = 0; i < FireStates; i++)
{
if (!fire.TryGetState((i + 1).ToString(), out var state))
throw new ArgumentOutOfRangeException($"Fire RSI doesn't have state \"{i}\"!");
_frames[i] = state.GetFrames(RsiDirection.South);
_frameDelays[i] = state.GetDelays();
_frameCounter[i] = 0;
}
}
protected override void FrameUpdate(FrameEventArgs args)
{
base.FrameUpdate(args);
for (var i = 0; i < FireStates; i++)
{
var delays = _frameDelays[i];
if (delays.Length == 0)
continue;
var frameCount = _frameCounter[i];
_timer[i] += args.DeltaSeconds;
var time = delays[frameCount];
if (_timer[i] < time) continue;
_timer[i] -= time;
_frameCounter[i] = (frameCount + 1) % _frames[i].Length;
}
}
protected override void Draw(in OverlayDrawArgs args)
{
if (args.MapId == MapId.Nullspace)
return;
var drawHandle = args.WorldHandle;
var xformQuery = _entManager.GetEntityQuery<TransformComponent>();
var overlayQuery = _entManager.GetEntityQuery<GasTileOverlayComponent>();
var gridState = (args.WorldBounds,
args.WorldHandle,
_frames,
_frameCounter,
_shader,
overlayQuery,
xformQuery,
_xformSys);
var mapUid = _mapSystem.GetMapOrInvalid(args.MapId);
if (args.Space != OverlaySpace.WorldSpaceEntities)
return;
// TODO: WorldBounds callback.
_mapManager.FindGridsIntersecting(args.MapId, args.WorldAABB, ref gridState,
static (EntityUid uid, MapGridComponent grid,
ref (Box2Rotated WorldBounds,
DrawingHandleWorld drawHandle,
Texture[][] frames,
int[] frameCounter,
ShaderInstance shader,
EntityQuery<GasTileOverlayComponent> overlayQuery,
EntityQuery<TransformComponent> xformQuery,
SharedTransformSystem xformSys) state) =>
{
if (!state.overlayQuery.TryGetComponent(uid, out var comp) ||
!state.xformQuery.TryGetComponent(uid, out var gridXform))
{
return true;
}
var (_, _, worldMatrix, invMatrix) = state.xformSys.GetWorldPositionRotationMatrixWithInv(gridXform);
state.drawHandle.SetTransform(worldMatrix);
var floatBounds = invMatrix.TransformBox(state.WorldBounds).Enlarged(grid.TileSize);
var localBounds = new Box2i(
(int)MathF.Floor(floatBounds.Left),
(int)MathF.Floor(floatBounds.Bottom),
(int)MathF.Ceiling(floatBounds.Right),
(int)MathF.Ceiling(floatBounds.Top));
// Currently it would be faster to group drawing by gas rather than by chunk, but if the textures are
// ever moved to a single atlas, that should no longer be the case. So this is just grouping draw calls
// by chunk, even though its currently slower.
state.drawHandle.UseShader(state.shader);
foreach (var chunk in comp.Chunks.Values)
{
var enumerator = new GasChunkEnumerator(chunk);
while (enumerator.MoveNext(out var gas))
{
if (gas.FireState == 0)
continue;
var index = chunk.Origin + (enumerator.X, enumerator.Y);
if (!localBounds.Contains(index))
continue;
var fireState = gas.FireState - 1;
var texture = state.frames[fireState][state.frameCounter[fireState]];
state.drawHandle.DrawTexture(texture, index);
}
}
return true;
});
drawHandle.UseShader(null);
drawHandle.SetTransform(Matrix3x2.Identity);
}
}
@@ -0,0 +1,263 @@
using Content.Client.Atmos.EntitySystems;
using Content.Client.Graphics;
using Content.Client.Resources;
using Content.Shared.Atmos;
using Content.Shared.Atmos.Components;
using Content.Shared.Atmos.EntitySystems;
using Content.Shared.CCVar;
using Robust.Client.Graphics;
using Robust.Client.ResourceManagement;
using Robust.Shared.Configuration;
using Robust.Shared.Enums;
using Robust.Shared.Map;
using Robust.Shared.Map.Components;
using Robust.Shared.Prototypes;
using System.Numerics;
using Color = Robust.Shared.Maths.Color;
using Texture = Robust.Client.Graphics.Texture;
namespace Content.Client.Atmos.Overlays;
/// <summary>
/// Overlay responsible for rendering heat distortion shader.
/// </summary>
public sealed class GasTileHeatBlurOverlay : Overlay
{
public override bool RequestScreenTexture { get; set; } = true;
private static readonly ProtoId<ShaderPrototype> UnshadedShader = "unshaded";
private static readonly ProtoId<ShaderPrototype> HeatOverlayShader = "HeatBlur";
[Dependency] private readonly IEntityManager _entManager = default!;
[Dependency] private readonly IMapManager _mapManager = default!;
[Dependency] private readonly IPrototypeManager _proto = default!;
[Dependency] private readonly IClyde _clyde = default!;
[Dependency] private readonly IConfigurationManager _configManager = default!;
[Dependency] private readonly IResourceCache _resourceCache = default!;
private readonly SharedTransformSystem _xformSys;
private readonly ShaderInstance _shader;
private readonly Texture _noiseTexture;
private readonly Texture _heatGradientTexture;
private List<Entity<MapGridComponent>> _intersectingGrids = new();
private readonly OverlayResourceCache<CachedResources> _resources = new();
// Overlay settings
private const float
ShaderSpilling = 2.5f; // for example 4f - spills shader one tile from hotspot, 2.5f - spills it half tile
private const float ShaderStrength = 0.04f; // Makes waves stronger
private const float ShaderScale = 1f; // Makes more waves
private const float ShaderSpeed = 0.4f; // Makes waves run faster
// Overlay settings for reduced motion setting
private const float ShaderStrengthForReducedMotion = 0.01f;
private const float ShaderScaleReducedMotion = 0.5f;
private const float ShaderSpeedReducedMotion = 0.25f;
private const int MinDistortionTemp = 300; // Distortion starts to show up at this temperature in Kelvins
private const int MaxDistortionTemp = 2000; // Maximum distortion strength at this temperature in Kelvins
public override OverlaySpace Space => OverlaySpace.WorldSpace;
public GasTileHeatBlurOverlay()
{
IoCManager.InjectDependencies(this);
_xformSys = _entManager.System<SharedTransformSystem>();
_noiseTexture = _resourceCache.GetTexture("/Textures/Effects/HeatBlur/perlin_noise.png");
_heatGradientTexture = _resourceCache.GetTexture("/Textures/Effects/HeatBlur/soft_circle.png");
_shader = _proto.Index(HeatOverlayShader).InstanceUnique();
_configManager.OnValueChanged(CCVars.ReducedMotion, SetReducedMotion, invokeImmediately: true);
}
private void SetReducedMotion(bool reducedMotion)
{
_shader.SetParameter("strength_scale", reducedMotion ? ShaderStrengthForReducedMotion : ShaderStrength);
_shader.SetParameter("spatial_scale", reducedMotion ? ShaderScaleReducedMotion : ShaderScale);
_shader.SetParameter("speed_scale", reducedMotion ? ShaderSpeedReducedMotion : ShaderSpeed);
}
protected override bool BeforeDraw(in OverlayDrawArgs args)
{
if (args.MapId == MapId.Nullspace)
return false;
var res = _resources.GetForViewport(args.Viewport, static _ => new CachedResources());
var target = args.Viewport.RenderTarget;
// Probably the resolution of the game window changed, remake the textures.
if (res.HeatTarget?.Texture.Size != target.Size)
{
res.HeatTarget?.Dispose();
res.HeatTarget = _clyde.CreateRenderTarget(
target.Size,
new RenderTargetFormatParameters(RenderTargetColorFormat.Rgba8Srgb),
name: nameof(GasTileHeatBlurOverlaySystem));
}
if (res.HeatBlurTarget?.Texture.Size != target.Size)
{
res.HeatBlurTarget?.Dispose();
res.HeatBlurTarget = _clyde.CreateRenderTarget(
target.Size,
new RenderTargetFormatParameters(RenderTargetColorFormat.Rgba8Srgb),
name: $"{nameof(GasTileHeatBlurOverlaySystem)}-blur");
}
var overlayQuery = _entManager.GetEntityQuery<GasTileOverlayComponent>();
args.WorldHandle.UseShader(_proto.Index(UnshadedShader).Instance());
var mapId = args.MapId;
var worldAABB = args.WorldAABB;
var worldBounds = args.WorldBounds;
var worldHandle = args.WorldHandle;
var worldToViewportLocal = args.Viewport.GetWorldToLocalMatrix();
// If there is no distortion after checking all visible tiles, we can bail early
var anyDistortion = false;
// We're rendering in the context of the heat target texture, which will encode data as to where and how strong
// the heat distortion will be
args.WorldHandle.RenderInRenderTarget(res.HeatTarget,
() =>
{
_intersectingGrids.Clear();
_mapManager.FindGridsIntersecting(mapId, worldAABB, ref _intersectingGrids);
foreach (var grid in _intersectingGrids)
{
if (!overlayQuery.TryGetComponent(grid.Owner, out var comp))
continue;
var gridEntToWorld = _xformSys.GetWorldMatrix(grid.Owner);
var gridEntToViewportLocal = gridEntToWorld * worldToViewportLocal;
if (!Matrix3x2.Invert(gridEntToViewportLocal, out var viewportLocalToGridEnt))
continue;
var uvToUi = Matrix3Helpers.CreateScale(res.HeatTarget.Size.X, -res.HeatTarget.Size.Y);
var uvToGridEnt = uvToUi * viewportLocalToGridEnt;
// Because we want the actual distortion to be calculated based on the grid coordinates*, we need
// to pass a matrix transformation to go from the viewport coordinates to grid coordinates.
// * (why? because otherwise the effect would shimmer like crazy as you moved around, think
// moving a piece of warped glass above a picture instead of placing the warped glass on the
// paper and moving them together)
_shader.SetParameter("grid_ent_from_viewport_local", uvToGridEnt);
// Draw commands (like DrawRect) will be using grid coordinates from here
worldHandle.SetTransform(gridEntToViewportLocal);
// We only care about tiles that fit in these bounds
var worldToGridLocal = _xformSys.GetInvWorldMatrix(grid.Owner);
var floatBounds = worldToGridLocal.TransformBox(worldBounds).Enlarged(grid.Comp.TileSize);
var localBounds = new Box2i(
(int)MathF.Floor(floatBounds.Left),
(int)MathF.Floor(floatBounds.Bottom),
(int)MathF.Ceiling(floatBounds.Right),
(int)MathF.Ceiling(floatBounds.Top));
// for each tile and its gas --->
foreach (var chunk in comp.Chunks.Values)
{
var enumerator = new GasChunkEnumerator(chunk);
while (enumerator.MoveNext(out var tileGas))
{
// Check and make sure the tile is within the viewport/screen
var tilePosition = chunk.Origin + (enumerator.X, enumerator.Y);
if (!localBounds.Contains(tilePosition))
continue;
// Get the distortion strength from the temperature and bail if it's not hot enough
var strength = GetHeatDistortionStrength(tileGas.ByteGasTemperature);
if (strength <= 0f)
continue;
anyDistortion = true;
// Encode the strength in the red channel
// alpha set to 1 as tile is active
worldHandle.DrawTextureRect(
_heatGradientTexture,
Box2.CenteredAround(tilePosition + grid.Comp.TileSizeHalfVector,
grid.Comp.TileSizeVector * ShaderSpilling),
new Color(strength, 0f, 0f));
}
}
}
},
// This clears the buffer to all zero first...
new Color(0, 0, 0, 0));
// no distortion, no need to render
if (!anyDistortion)
{
args.WorldHandle.UseShader(null);
args.WorldHandle.SetTransform(Matrix3x2.Identity);
return false;
}
return true;
}
protected override void Draw(in OverlayDrawArgs args)
{
var res = _resources.GetForViewport(args.Viewport, static _ => new CachedResources());
if (ScreenTexture is null || res.HeatTarget is null || res.HeatBlurTarget is null)
return;
_shader.SetParameter("SCREEN_TEXTURE", ScreenTexture);
_shader.SetParameter("NOISE_TEXTURE", _noiseTexture);
args.WorldHandle.UseShader(_shader);
args.WorldHandle.DrawTextureRect(res.HeatTarget.Texture, args.WorldBounds);
args.WorldHandle.UseShader(null);
args.WorldHandle.SetTransform(Matrix3x2.Identity);
}
protected override void DisposeBehavior()
{
_resources.Dispose();
_configManager.UnsubValueChanged(CCVars.ReducedMotion, SetReducedMotion);
base.DisposeBehavior();
}
/// <summary>
/// Gets the strength of the heat distortion effect based on the temperature of the tile.
/// The strength is a value between 0 and 1, where 0 means no distortion and 1 means maximum distortion.
/// </summary>
/// <param name="temp">The temperature of the tile.</param>
/// <returns>The strength of the heat distortion effect.</returns>
/// <seealso cref="ThermalByte"/>
private static float GetHeatDistortionStrength(ThermalByte temp)
{
if (!temp.TryGetTemperature(out var kelvinTemp))
{
return 0f;
}
var strength = (kelvinTemp - MinDistortionTemp) / (MaxDistortionTemp - MinDistortionTemp);
return MathHelper.Clamp01(strength);
}
internal sealed class CachedResources : IDisposable
{
public IRenderTexture? HeatTarget;
public IRenderTexture? HeatBlurTarget;
public void Dispose()
{
HeatTarget?.Dispose();
HeatBlurTarget?.Dispose();
}
}
}
@@ -1,302 +0,0 @@
using System.Numerics;
using Content.Client.Atmos.Components;
using Content.Client.Atmos.EntitySystems;
using Content.Shared.Atmos;
using Content.Shared.Atmos.Components;
using Content.Shared.Atmos.EntitySystems;
using Content.Shared.Atmos.Prototypes;
using Robust.Client.GameObjects;
using Robust.Client.Graphics;
using Robust.Client.ResourceManagement;
using Robust.Shared.Enums;
using Robust.Shared.Graphics.RSI;
using Robust.Shared.Map;
using Robust.Shared.Map.Components;
using Robust.Shared.Prototypes;
using Robust.Shared.Timing;
using Robust.Shared.Utility;
namespace Content.Client.Atmos.Overlays
{
public sealed class GasTileOverlay : Overlay
{
private static readonly ProtoId<ShaderPrototype> UnshadedShader = "unshaded";
private readonly IEntityManager _entManager;
private readonly IMapManager _mapManager;
private readonly SharedAtmosphereSystem _atmosphereSystem;
private readonly SharedMapSystem _mapSystem;
private readonly SharedTransformSystem _xformSys;
public override OverlaySpace Space => OverlaySpace.WorldSpaceEntities | OverlaySpace.WorldSpaceBelowWorld;
private readonly ShaderInstance _shader;
// Gas overlays
private readonly float[] _timer;
private readonly float[][] _frameDelays;
private readonly int[] _frameCounter;
// TODO combine textures into a single texture atlas.
private readonly Texture[][] _frames;
// Fire overlays
private const int FireStates = 3;
private const string FireRsiPath = "/Textures/Effects/fire.rsi";
private readonly float[] _fireTimer = new float[FireStates];
private readonly float[][] _fireFrameDelays = new float[FireStates][];
private readonly int[] _fireFrameCounter = new int[FireStates];
private readonly Texture[][] _fireFrames = new Texture[FireStates][];
private int _gasCount;
public const int GasOverlayZIndex = (int) Shared.DrawDepth.DrawDepth.Effects; // Under ghosts, above mostly everything else
public GasTileOverlay(GasTileOverlaySystem system, IEntityManager entManager, IResourceCache resourceCache, IPrototypeManager protoMan, SpriteSystem spriteSys, SharedTransformSystem xformSys)
{
_entManager = entManager;
_mapManager = IoCManager.Resolve<IMapManager>();
_atmosphereSystem = entManager.System<SharedAtmosphereSystem>();
_mapSystem = entManager.System<SharedMapSystem>();
_xformSys = xformSys;
_shader = protoMan.Index(UnshadedShader).Instance();
ZIndex = GasOverlayZIndex;
_gasCount = system.VisibleGasId.Length;
_timer = new float[_gasCount];
_frameDelays = new float[_gasCount][];
_frameCounter = new int[_gasCount];
_frames = new Texture[_gasCount][];
for (var i = 0; i < _gasCount; i++)
{
var gasPrototype = _atmosphereSystem.GetGas(system.VisibleGasId[i]);
SpriteSpecifier overlay;
if (!string.IsNullOrEmpty(gasPrototype.GasOverlaySprite) && !string.IsNullOrEmpty(gasPrototype.GasOverlayState))
overlay = new SpriteSpecifier.Rsi(new (gasPrototype.GasOverlaySprite), gasPrototype.GasOverlayState);
else if (!string.IsNullOrEmpty(gasPrototype.GasOverlayTexture))
overlay = new SpriteSpecifier.Texture(new (gasPrototype.GasOverlayTexture));
else
continue;
switch (overlay)
{
case SpriteSpecifier.Rsi animated:
var rsi = resourceCache.GetResource<RSIResource>(animated.RsiPath).RSI;
var stateId = animated.RsiState;
if (!rsi.TryGetState(stateId, out var state))
continue;
_frames[i] = state.GetFrames(RsiDirection.South);
_frameDelays[i] = state.GetDelays();
_frameCounter[i] = 0;
break;
case SpriteSpecifier.Texture texture:
_frames[i] = new[] { spriteSys.Frame0(texture) };
_frameDelays[i] = Array.Empty<float>();
break;
}
}
var fire = resourceCache.GetResource<RSIResource>(FireRsiPath).RSI;
for (var i = 0; i < FireStates; i++)
{
if (!fire.TryGetState((i + 1).ToString(), out var state))
throw new ArgumentOutOfRangeException($"Fire RSI doesn't have state \"{i}\"!");
_fireFrames[i] = state.GetFrames(RsiDirection.South);
_fireFrameDelays[i] = state.GetDelays();
_fireFrameCounter[i] = 0;
}
}
protected override void FrameUpdate(FrameEventArgs args)
{
base.FrameUpdate(args);
for (var i = 0; i < _gasCount; i++)
{
var delays = _frameDelays[i];
if (delays.Length == 0)
continue;
var frameCount = _frameCounter[i];
_timer[i] += args.DeltaSeconds;
var time = delays[frameCount];
if (_timer[i] < time)
continue;
_timer[i] -= time;
_frameCounter[i] = (frameCount + 1) % _frames[i].Length;
}
for (var i = 0; i < FireStates; i++)
{
var delays = _fireFrameDelays[i];
if (delays.Length == 0)
continue;
var frameCount = _fireFrameCounter[i];
_fireTimer[i] += args.DeltaSeconds;
var time = delays[frameCount];
if (_fireTimer[i] < time) continue;
_fireTimer[i] -= time;
_fireFrameCounter[i] = (frameCount + 1) % _fireFrames[i].Length;
}
}
protected override void Draw(in OverlayDrawArgs args)
{
if (args.MapId == MapId.Nullspace)
return;
var drawHandle = args.WorldHandle;
var xformQuery = _entManager.GetEntityQuery<TransformComponent>();
var overlayQuery = _entManager.GetEntityQuery<GasTileOverlayComponent>();
var gridState = (args.WorldBounds,
args.WorldHandle,
_gasCount,
_frames,
_frameCounter,
_fireFrames,
_fireFrameCounter,
_shader,
overlayQuery,
xformQuery,
_xformSys);
var mapUid = _mapSystem.GetMapOrInvalid(args.MapId);
if (_entManager.TryGetComponent<MapAtmosphereComponent>(mapUid, out var atmos))
DrawMapOverlay(drawHandle, args, mapUid, atmos);
if (args.Space != OverlaySpace.WorldSpaceEntities)
return;
// TODO: WorldBounds callback.
_mapManager.FindGridsIntersecting(args.MapId, args.WorldAABB, ref gridState,
static (EntityUid uid, MapGridComponent grid,
ref (Box2Rotated WorldBounds,
DrawingHandleWorld drawHandle,
int gasCount,
Texture[][] frames,
int[] frameCounter,
Texture[][] fireFrames,
int[] fireFrameCounter,
ShaderInstance shader,
EntityQuery<GasTileOverlayComponent> overlayQuery,
EntityQuery<TransformComponent> xformQuery,
SharedTransformSystem xformSys) state) =>
{
if (!state.overlayQuery.TryGetComponent(uid, out var comp) ||
!state.xformQuery.TryGetComponent(uid, out var gridXform))
{
return true;
}
var (_, _, worldMatrix, invMatrix) = state.xformSys.GetWorldPositionRotationMatrixWithInv(gridXform);
state.drawHandle.SetTransform(worldMatrix);
var floatBounds = invMatrix.TransformBox(state.WorldBounds).Enlarged(grid.TileSize);
var localBounds = new Box2i(
(int) MathF.Floor(floatBounds.Left),
(int) MathF.Floor(floatBounds.Bottom),
(int) MathF.Ceiling(floatBounds.Right),
(int) MathF.Ceiling(floatBounds.Top));
// Currently it would be faster to group drawing by gas rather than by chunk, but if the textures are
// ever moved to a single atlas, that should no longer be the case. So this is just grouping draw calls
// by chunk, even though its currently slower.
state.drawHandle.UseShader(null);
foreach (var chunk in comp.Chunks.Values)
{
var enumerator = new GasChunkEnumerator(chunk);
while (enumerator.MoveNext(out var gas))
{
if (gas.Opacity == null!)
continue;
var tilePosition = chunk.Origin + (enumerator.X, enumerator.Y);
if (!localBounds.Contains(tilePosition))
continue;
for (var i = 0; i < state.gasCount; i++)
{
var opacity = gas.Opacity[i];
if (opacity > 0)
state.drawHandle.DrawTexture(state.frames[i][state.frameCounter[i]], tilePosition, Color.White.WithAlpha(opacity));
}
}
}
// And again for fire, with the unshaded shader
state.drawHandle.UseShader(state.shader);
foreach (var chunk in comp.Chunks.Values)
{
var enumerator = new GasChunkEnumerator(chunk);
while (enumerator.MoveNext(out var gas))
{
if (gas.FireState == 0)
continue;
var index = chunk.Origin + (enumerator.X, enumerator.Y);
if (!localBounds.Contains(index))
continue;
var fireState = gas.FireState - 1;
var texture = state.fireFrames[fireState][state.fireFrameCounter[fireState]];
state.drawHandle.DrawTexture(texture, index);
}
}
return true;
});
drawHandle.UseShader(null);
drawHandle.SetTransform(Matrix3x2.Identity);
}
private void DrawMapOverlay(
DrawingHandleWorld handle,
OverlayDrawArgs args,
EntityUid map,
MapAtmosphereComponent atmos)
{
var mapGrid = _entManager.HasComponent<MapGridComponent>(map);
// map-grid atmospheres get drawn above grids
if (mapGrid && args.Space != OverlaySpace.WorldSpaceEntities)
return;
// Normal map atmospheres get drawn below grids
if (!mapGrid && args.Space != OverlaySpace.WorldSpaceBelowWorld)
return;
var bottomLeft = args.WorldAABB.BottomLeft.Floored();
var topRight = args.WorldAABB.TopRight.Ceiled();
for (var x = bottomLeft.X; x <= topRight.X; x++)
{
for (var y = bottomLeft.Y; y <= topRight.Y; y++)
{
var tilePosition = new Vector2(x, y);
for (var i = 0; i < atmos.OverlayData.Opacity.Length; i++)
{
var opacity = atmos.OverlayData.Opacity[i];
if (opacity > 0)
handle.DrawTexture(_frames[i][_frameCounter[i]], tilePosition, Color.White.WithAlpha(opacity));
}
}
}
}
}
}
@@ -0,0 +1,248 @@
using Content.Client.Atmos.Components;
using Content.Shared.Atmos;
using Content.Shared.Atmos.Components;
using Content.Shared.Atmos.EntitySystems;
using Robust.Client.GameObjects;
using Robust.Client.Graphics;
using Robust.Client.ResourceManagement;
using Robust.Shared.Enums;
using Robust.Shared.Graphics.RSI;
using Robust.Shared.Map;
using Robust.Shared.Map.Components;
using Robust.Shared.Prototypes;
using Robust.Shared.Timing;
using Robust.Shared.Utility;
using System.Numerics;
using DrawDepth = Content.Shared.DrawDepth.DrawDepth;
namespace Content.Client.Atmos.Overlays;
/// <summary>
/// Overlay responsible for rendering visible atmos gasses (like plasma for example) usin.
/// </summary>
public sealed class GasTileVisibleGasOverlay : Overlay
{
[Dependency] private readonly IEntityManager _entManager = default!;
[Dependency] private readonly IResourceCache _resourceCache = default!;
[Dependency] private readonly IPrototypeManager _protoManager = default!;
[Dependency] private readonly IMapManager _mapManager = default!;
private static readonly ProtoId<ShaderPrototype> UnshadedShader = "unshaded";
private readonly SharedAtmosphereSystem _atmosphereSystem;
private readonly SharedMapSystem _mapSystem;
private readonly SharedTransformSystem _xformSys;
private readonly SharedGasTileOverlaySystem _gasTileOverlaySystem;
private readonly SpriteSystem _spriteSystem;
public override OverlaySpace Space => OverlaySpace.WorldSpaceEntities | OverlaySpace.WorldSpaceBelowWorld;
private readonly ShaderInstance _shader;
// Gas overlays
private readonly float[] _timer;
private readonly float[][] _frameDelays;
private readonly int[] _frameCounter;
// TODO combine textures into a single texture atlas.
private readonly Texture[][] _frames;
private readonly int _gasCount;
public const int GasOverlayZIndex = (int)DrawDepth.Gasses; // Under ghosts and fire, above mostly everything else
public GasTileVisibleGasOverlay()
{
IoCManager.InjectDependencies(this);
_atmosphereSystem = _entManager.System<SharedAtmosphereSystem>();
_mapSystem = _entManager.System<SharedMapSystem>();
_xformSys = _entManager.System<SharedTransformSystem>();
_gasTileOverlaySystem = _entManager.System<SharedGasTileOverlaySystem>();
_spriteSystem = _entManager.System<SpriteSystem>();
_shader = _protoManager.Index(UnshadedShader).Instance();
ZIndex = GasOverlayZIndex;
_gasCount = _gasTileOverlaySystem.VisibleGasId.Length;
_timer = new float[_gasCount];
_frameDelays = new float[_gasCount][];
_frameCounter = new int[_gasCount];
_frames = new Texture[_gasCount][];
for (var i = 0; i < _gasCount; i++)
{
var gasPrototype = _atmosphereSystem.GetGas(_gasTileOverlaySystem.VisibleGasId[i]);
switch (gasPrototype.GasOverlaySprite)
{
case SpriteSpecifier.Rsi animated:
var rsi = _resourceCache.GetResource<RSIResource>(animated.RsiPath).RSI;
var stateId = animated.RsiState;
if (!rsi.TryGetState(stateId, out var state))
continue;
_frames[i] = state.GetFrames(RsiDirection.South);
_frameDelays[i] = state.GetDelays();
_frameCounter[i] = 0;
break;
case SpriteSpecifier.Texture texture:
_frames[i] = new[] { _spriteSystem.Frame0(texture) };
_frameDelays[i] = Array.Empty<float>();
break;
}
}
}
protected override void FrameUpdate(FrameEventArgs args)
{
base.FrameUpdate(args);
for (var i = 0; i < _gasCount; i++)
{
var delays = _frameDelays[i];
if (delays.Length == 0)
continue;
var frameCount = _frameCounter[i];
_timer[i] += args.DeltaSeconds;
var time = delays[frameCount];
if (_timer[i] < time)
continue;
_timer[i] -= time;
_frameCounter[i] = (frameCount + 1) % _frames[i].Length;
}
}
protected override void Draw(in OverlayDrawArgs args)
{
if (args.MapId == MapId.Nullspace)
return;
var drawHandle = args.WorldHandle;
var xformQuery = _entManager.GetEntityQuery<TransformComponent>();
var overlayQuery = _entManager.GetEntityQuery<GasTileOverlayComponent>();
var gridState = (args.WorldBounds,
args.WorldHandle,
_gasCount,
_frames,
_frameCounter,
_shader,
overlayQuery,
xformQuery,
_xformSys);
var mapUid = _mapSystem.GetMapOrInvalid(args.MapId);
if (_entManager.TryGetComponent<MapAtmosphereComponent>(mapUid, out var atmos))
DrawMapOverlay(drawHandle, args, mapUid, atmos);
if (args.Space != OverlaySpace.WorldSpaceEntities)
return;
// TODO: WorldBounds callback.
_mapManager.FindGridsIntersecting(args.MapId,
args.WorldAABB,
ref gridState,
static (EntityUid uid,
MapGridComponent grid,
ref (Box2Rotated WorldBounds,
DrawingHandleWorld drawHandle,
int gasCount,
Texture[][] frames,
int[] frameCounter,
ShaderInstance shader,
EntityQuery<GasTileOverlayComponent> overlayQuery,
EntityQuery<TransformComponent> xformQuery,
SharedTransformSystem xformSys) state) =>
{
if (!state.overlayQuery.TryGetComponent(uid, out var comp) ||
!state.xformQuery.TryGetComponent(uid, out var gridXform))
{
return true;
}
var (_, _, worldMatrix, invMatrix) = state.xformSys.GetWorldPositionRotationMatrixWithInv(gridXform);
state.drawHandle.SetTransform(worldMatrix);
var floatBounds = invMatrix.TransformBox(state.WorldBounds).Enlarged(grid.TileSize);
var localBounds = new Box2i(
(int)MathF.Floor(floatBounds.Left),
(int)MathF.Floor(floatBounds.Bottom),
(int)MathF.Ceiling(floatBounds.Right),
(int)MathF.Ceiling(floatBounds.Top));
// Currently it would be faster to group drawing by gas rather than by chunk, but if the textures are
// ever moved to a single atlas, that should no longer be the case. So this is just grouping draw calls
// by chunk, even though its currently slower.
state.drawHandle.UseShader(null);
foreach (var chunk in comp.Chunks.Values)
{
var enumerator = new GasChunkEnumerator(chunk);
while (enumerator.MoveNext(out var gas))
{
if (gas.Opacity == null!)
continue;
var tilePosition = chunk.Origin + (enumerator.X, enumerator.Y);
if (!localBounds.Contains(tilePosition))
continue;
for (var i = 0; i < state.gasCount; i++)
{
var opacity = gas.Opacity[i];
if (opacity > 0)
{
state.drawHandle.DrawTexture(state.frames[i][state.frameCounter[i]],
tilePosition,
Color.White.WithAlpha(opacity));
}
}
}
}
return true;
});
drawHandle.UseShader(null);
drawHandle.SetTransform(Matrix3x2.Identity);
}
private void DrawMapOverlay(
DrawingHandleWorld handle,
OverlayDrawArgs args,
EntityUid map,
MapAtmosphereComponent atmos)
{
var mapGrid = _entManager.HasComponent<MapGridComponent>(map);
// map-grid atmospheres get drawn above grids
if (mapGrid && args.Space != OverlaySpace.WorldSpaceEntities)
return;
// Normal map atmospheres get drawn below grids
if (!mapGrid && args.Space != OverlaySpace.WorldSpaceBelowWorld)
return;
var bottomLeft = args.WorldAABB.BottomLeft.Floored();
var topRight = args.WorldAABB.TopRight.Ceiled();
for (var x = bottomLeft.X; x <= topRight.X; x++)
{
for (var y = bottomLeft.Y; y <= topRight.Y; y++)
{
var tilePosition = new Vector2(x, y);
for (var i = 0; i < atmos.OverlayData.Opacity.Length; i++)
{
var opacity = atmos.OverlayData.Opacity[i];
if (opacity > 0)
handle.DrawTexture(_frames[i][_frameCounter[i]], tilePosition, Color.White.WithAlpha(opacity));
}
}
}
}
}
@@ -1,41 +1,33 @@
using Robust.Client.GameObjects;
using Robust.Client.UserInterface;
using static Content.Shared.Atmos.Components.GasAnalyzerComponent;
using Content.Shared.Atmos.Components;
namespace Content.Client.Atmos.UI
namespace Content.Client.Atmos.UI;
public sealed class GasAnalyzerBoundUserInterface : BoundUserInterface
{
public sealed class GasAnalyzerBoundUserInterface : BoundUserInterface
[ViewVariables]
private GasAnalyzerWindow? _window;
public GasAnalyzerBoundUserInterface(EntityUid owner, Enum uiKey) : base(owner, uiKey)
{
[ViewVariables]
private GasAnalyzerWindow? _window;
}
public GasAnalyzerBoundUserInterface(EntityUid owner, Enum uiKey) : base(owner, uiKey)
{
}
protected override void Open()
{
base.Open();
protected override void Open()
{
base.Open();
_window = this.CreateWindowCenteredLeft<GasAnalyzerWindow>();
_window.OnClose += Close;
}
_window = this.CreateWindowCenteredLeft<GasAnalyzerWindow>();
_window.OnClose += Close;
}
protected override void ReceiveMessage(BoundUserInterfaceMessage message)
{
if (_window == null)
return;
protected override void ReceiveMessage(BoundUserInterfaceMessage message)
{
if (_window == null)
return;
if (message is not GasAnalyzerUserMessage cast)
return;
_window.Populate(cast);
}
if (message is not GasAnalyzerUserMessage cast)
return;
protected override void Dispose(bool disposing)
{
base.Dispose(disposing);
if (disposing)
_window?.Dispose();
}
_window.Populate(cast);
}
}
@@ -1,6 +1,8 @@
using System.Numerics;
using Content.Client.UserInterface.Controls;
using Content.Shared.Atmos;
using Content.Shared.Atmos.Components;
using Content.Shared.Atmos.EntitySystems;
using Content.Shared.Temperature;
using Robust.Client.Graphics;
using Robust.Client.UserInterface;
@@ -8,7 +10,6 @@ using Robust.Client.UserInterface.Controls;
using Robust.Client.UserInterface.CustomControls;
using Robust.Client.AutoGenerated;
using Robust.Client.UserInterface.XAML;
using static Content.Shared.Atmos.Components.GasAnalyzerComponent;
using Direction = Robust.Shared.Maths.Direction;
namespace Content.Client.Atmos.UI
@@ -16,25 +17,17 @@ namespace Content.Client.Atmos.UI
[GenerateTypedNameReferences]
public sealed partial class GasAnalyzerWindow : DefaultWindow
{
private readonly SharedAtmosphereSystem _atmosphere;
private NetEntity _currentEntity = NetEntity.Invalid;
public GasAnalyzerWindow()
{
RobustXamlLoader.Load(this);
_atmosphere = IoCManager.Resolve<IEntityManager>().System<SharedAtmosphereSystem>();
}
public void Populate(GasAnalyzerUserMessage msg)
{
if (msg.Error != null)
{
CTopBox.AddChild(new Label
{
Text = Loc.GetString("gas-analyzer-window-error-text", ("errorText", msg.Error)),
FontColorOverride = Color.Red
});
return;
}
if (msg.NodeGasMixes.Length == 0)
{
CTopBox.AddChild(new Label
@@ -329,31 +322,31 @@ namespace Content.Client.Atmos.UI
for (var j = 0; j < gasMix.Gases.Length; j++)
{
var gas = gasMix.Gases[j];
var color = Color.FromHex($"#{gas.Color}", Color.White);
var gasEntry = gasMix.Gases[j];
var gasProto = _atmosphere.GetGas(gasEntry.Gas);
// Add to the table
tableKey.AddChild(new Label
{
Text = Loc.GetString(gas.Name)
Text = Loc.GetString(gasProto.Name)
});
tableVal.AddChild(new Label
{
Text = Loc.GetString("gas-analyzer-window-molarity-text",
("mol", $"{gas.Amount:0.00}")),
("mol", $"{gasEntry.Amount:0.00}")),
Align = Label.AlignMode.Right,
});
tablePercent.AddChild(new Label
{
Text = Loc.GetString("gas-analyzer-window-percentage-text",
("percentage", $"{(gas.Amount / totalGasAmount * 100):0.0}")),
("percentage", $"{(gasEntry.Amount / totalGasAmount * 100):0.0}")),
Align = Label.AlignMode.Right
});
// Add to the gas bar //TODO: highlight the currently hover one
gasBar.AddEntry(gas.Amount, color, tooltip: Loc.GetString("gas-analyzer-window-molarity-percentage-text",
("gasName", gas.Name),
("amount", $"{gas.Amount:0.##}"),
("percentage", $"{(gas.Amount / totalGasAmount * 100):0.#}")));
gasBar.AddEntry(gasEntry.Amount, gasProto.Color, tooltip: Loc.GetString("gas-analyzer-window-molarity-percentage-text",
("gasName", Loc.GetString(gasProto.Name)),
("amount", $"{gasEntry.Amount:0.##}"),
("percentage", $"{(gasEntry.Amount / totalGasAmount * 100):0.#}")));
}
dataContainer.AddChild(gasBar);
@@ -37,10 +37,9 @@ namespace Content.Client.Atmos.UI
_window.SelectGasPressed += OnSelectGasPressed;
}
private void OnToggleStatusButtonPressed()
private void OnToggleStatusButtonPressed(bool status)
{
if (_window is null) return;
SendMessage(new GasFilterToggleStatusMessage(_window.FilterStatus));
SendMessage(new GasFilterToggleStatusMessage(status));
}
private void OnFilterTransferRatePressed(string value)
+5 -4
View File
@@ -1,11 +1,12 @@
<DefaultWindow xmlns="https://spacestation14.io"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:controls="clr-namespace:Content.Client.UserInterface.Controls"
MinSize="480 400" Title="Filter">
<BoxContainer Orientation="Vertical" Margin="5 5 5 5" SeparationOverride="10">
<BoxContainer Orientation="Horizontal" HorizontalExpand="True">
<Label Text="{Loc comp-gas-filter-ui-filter-status}"/>
<Button Name="ToggleStatusButton"/>
</BoxContainer>
<controls:SwitchButton
Name="ToggleStatusButton"
HorizontalAlignment="Left"
Pressed="True" />
<BoxContainer Orientation="Horizontal" HorizontalExpand="True">
<Label Text="{Loc comp-gas-filter-ui-filter-transfer-rate}"/>
@@ -18,11 +18,10 @@ namespace Content.Client.Atmos.UI
{
private readonly ButtonGroup _buttonGroup = new();
public bool FilterStatus = true;
public string? SelectedGas;
public string? CurrentGasId;
public event Action? ToggleStatusButtonPressed;
public event Action<bool>? ToggleStatusButtonPressed;
public event Action<string>? FilterTransferRateChanged;
public event Action? SelectGasPressed;
@@ -30,8 +29,7 @@ namespace Content.Client.Atmos.UI
{
RobustXamlLoader.Load(this);
ToggleStatusButton.OnPressed += _ => SetFilterStatus(!FilterStatus);
ToggleStatusButton.OnPressed += _ => ToggleStatusButtonPressed?.Invoke();
ToggleStatusButton.OnToggled += _ => ToggleStatusButtonPressed?.Invoke(ToggleStatusButton.Pressed);
FilterTransferRateInput.OnTextChanged += _ => SetFilterRate.Disabled = false;
SetFilterRate.OnPressed += _ =>
@@ -53,15 +51,7 @@ namespace Content.Client.Atmos.UI
public void SetFilterStatus(bool enabled)
{
FilterStatus = enabled;
if (enabled)
{
ToggleStatusButton.Text = Loc.GetString("comp-gas-filter-ui-status-enabled");
}
else
{
ToggleStatusButton.Text = Loc.GetString("comp-gas-filter-ui-status-disabled");
}
ToggleStatusButton.Pressed = enabled;
}
public void SetGasFiltered(string? id, string name)
@@ -33,10 +33,9 @@ namespace Content.Client.Atmos.UI
_window.MixerNodePercentageChanged += OnMixerSetPercentagePressed;
}
private void OnToggleStatusButtonPressed()
private void OnToggleStatusButtonPressed(bool status)
{
if (_window is null) return;
SendMessage(new GasMixerToggleStatusMessage(_window.MixerStatus));
SendMessage(new GasMixerToggleStatusMessage(status));
}
private void OnMixerOutputPressurePressed(string value)
+5 -5
View File
@@ -1,12 +1,12 @@
<DefaultWindow xmlns="https://spacestation14.io"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:controls="clr-namespace:Content.Client.UserInterface.Controls"
MinSize="200 200" Title="Gas Mixer">
<BoxContainer Orientation="Vertical" Margin="5 5 5 5" SeparationOverride="10">
<BoxContainer Orientation="Horizontal" HorizontalExpand="True">
<Label Text="{Loc comp-gas-mixer-ui-mixer-status}"/>
<Control MinSize="5 0" />
<Button Name="ToggleStatusButton"/>
</BoxContainer>
<controls:SwitchButton
Name="ToggleStatusButton"
HorizontalAlignment="Left"
Pressed="True" />
<BoxContainer Orientation="Horizontal" HorizontalExpand="True">
<Label Text="{Loc comp-gas-mixer-ui-mixer-output-pressure}"/>
<Control MinSize="5 0" />
+3 -14
View File
@@ -21,9 +21,7 @@ namespace Content.Client.Atmos.UI
[GenerateTypedNameReferences]
public sealed partial class GasMixerWindow : DefaultWindow
{
public bool MixerStatus = true;
public event Action? ToggleStatusButtonPressed;
public event Action<bool>? ToggleStatusButtonPressed;
public event Action<string>? MixerOutputPressureChanged;
public event Action<string>? MixerNodePercentageChanged;
@@ -33,8 +31,7 @@ namespace Content.Client.Atmos.UI
{
RobustXamlLoader.Load(this);
ToggleStatusButton.OnPressed += _ => SetMixerStatus(!MixerStatus);
ToggleStatusButton.OnPressed += _ => ToggleStatusButtonPressed?.Invoke();
ToggleStatusButton.OnToggled += _ => ToggleStatusButtonPressed?.Invoke(ToggleStatusButton.Pressed);
MixerPressureOutputInput.OnTextChanged += _ => SetOutputPressureButton.Disabled = false;
SetOutputPressureButton.OnPressed += _ =>
@@ -83,15 +80,7 @@ namespace Content.Client.Atmos.UI
public void SetMixerStatus(bool enabled)
{
MixerStatus = enabled;
if (enabled)
{
ToggleStatusButton.Text = Loc.GetString("comp-gas-mixer-ui-status-enabled");
}
else
{
ToggleStatusButton.Text = Loc.GetString("comp-gas-mixer-ui-status-disabled");
}
ToggleStatusButton.Pressed = enabled;
}
}
}
@@ -42,12 +42,9 @@ public sealed class GasPressurePumpBoundUserInterface(EntityUid owner, Enum uiKe
_window.SetOutputPressure(pump.TargetPressure);
}
private void OnToggleStatusButtonPressed()
private void OnToggleStatusButtonPressed(bool status)
{
if (_window is null)
return;
SendPredictedMessage(new GasPressurePumpToggleStatusMessage(_window.PumpStatus));
SendPredictedMessage(new GasPressurePumpToggleStatusMessage(status));
}
private void OnPumpOutputPressurePressed(float value)
@@ -4,8 +4,10 @@
SetSize="340 110" MinSize="340 110" Title="Pressure Pump">
<BoxContainer Orientation="Vertical" Margin="5 5 5 5" SeparationOverride="10">
<BoxContainer Orientation="Horizontal" HorizontalExpand="True">
<Label Text="{Loc comp-gas-pump-ui-pump-status}" Margin="0 0 5 0"/>
<Button Name="ToggleStatusButton"/>
<controls:SwitchButton
Name="ToggleStatusButton"
HorizontalAlignment="Left"
Pressed="True" />
<Control HorizontalExpand="True"/>
<Button HorizontalAlignment="Right" Name="SetOutputPressureButton" Text="{Loc comp-gas-pump-ui-pump-set-rate}" Disabled="True" Margin="0 0 5 0"/>
<Button Name="SetMaxPressureButton" Text="{Loc comp-gas-pump-ui-pump-set-max}" />
@@ -11,9 +11,7 @@ namespace Content.Client.Atmos.UI
[GenerateTypedNameReferences]
public sealed partial class GasPressurePumpWindow : FancyWindow
{
public bool PumpStatus = true;
public event Action? ToggleStatusButtonPressed;
public event Action<bool>? ToggleStatusButtonPressed;
public event Action<float>? PumpOutputPressureChanged;
public float MaxPressure
@@ -33,8 +31,7 @@ namespace Content.Client.Atmos.UI
{
RobustXamlLoader.Load(this);
ToggleStatusButton.OnPressed += _ => SetPumpStatus(!PumpStatus);
ToggleStatusButton.OnPressed += _ => ToggleStatusButtonPressed?.Invoke();
ToggleStatusButton.OnToggled += _ => ToggleStatusButtonPressed?.Invoke(ToggleStatusButton.Pressed);
PumpPressureOutputInput.OnValueChanged += _ => SetOutputPressureButton.Disabled = false;
@@ -59,15 +56,7 @@ namespace Content.Client.Atmos.UI
public void SetPumpStatus(bool enabled)
{
PumpStatus = enabled;
if (enabled)
{
ToggleStatusButton.Text = Loc.GetString("comp-gas-pump-ui-status-enabled");
}
else
{
ToggleStatusButton.Text = Loc.GetString("comp-gas-pump-ui-status-disabled");
}
ToggleStatusButton.Pressed = enabled;
}
}
}
@@ -37,7 +37,7 @@ namespace Content.Client.Atmos.UI
_window = this.CreateWindow<GasThermomachineWindow>();
_window.ToggleStatusButton.OnPressed += _ => OnToggleStatusButtonPressed();
_window.ToggleStatusButton.OnToggled += _ => OnToggleStatusButtonPressed();
_window.TemperatureSpinbox.OnValueChanged += _ => OnTemperatureChanged(_window.TemperatureSpinbox.Value);
_window.Entity = Owner;
Update();
@@ -45,9 +45,6 @@ namespace Content.Client.Atmos.UI
private void OnToggleStatusButtonPressed()
{
if (_window is null) return;
_window.SetActive(!_window.Active);
SendPredictedMessage(new GasThermomachineToggleMessage());
}
@@ -3,11 +3,11 @@
xmlns:controls="clr-namespace:Content.Client.UserInterface.Controls"
MinSize="300 120" Title="{Loc comp-gas-thermomachine-ui-title-freezer}">
<BoxContainer Name="VboxContainer" Orientation="Vertical" Margin="5 5 5 5" SeparationOverride="10">
<BoxContainer Orientation="Horizontal" HorizontalExpand="True">
<Label Text="{Loc comp-gas-thermomachine-ui-toggle}"/>
<Control MinSize="5 0" />
<Button Access="Public" Name="ToggleStatusButton"/>
</BoxContainer>
<controls:SwitchButton
Name="ToggleStatusButton"
HorizontalAlignment="Left"
Pressed="True"
Access="Public" />
<BoxContainer Name="SpinboxHBox" Orientation="Horizontal">
<Label Text="{Loc comp-gas-thermomachine-ui-temperature}"/>
</BoxContainer>
@@ -12,8 +12,6 @@ public sealed partial class GasThermomachineWindow : FancyWindow
{
[Dependency] private readonly IEntityManager _entManager = default!;
public bool Active = true;
public FloatSpinBox TemperatureSpinbox;
public EntityUid Entity;
@@ -30,15 +28,7 @@ public sealed partial class GasThermomachineWindow : FancyWindow
public void SetActive(bool active)
{
Active = active;
if (active)
{
ToggleStatusButton.Text = Loc.GetString("comp-gas-thermomachine-ui-status-enabled");
}
else
{
ToggleStatusButton.Text = Loc.GetString("comp-gas-thermomachine-ui-status-disabled");
}
ToggleStatusButton.Pressed = active;
}
public void SetTemperature(float temperature)
@@ -38,11 +38,9 @@ namespace Content.Client.Atmos.UI
Update();
}
private void OnToggleStatusButtonPressed()
private void OnToggleStatusButtonPressed(bool status)
{
if (_window is null) return;
SendPredictedMessage(new GasVolumePumpToggleStatusMessage(_window.PumpStatus));
SendPredictedMessage(new GasVolumePumpToggleStatusMessage(status));
}
private void OnPumpTransferRatePressed(string value)
@@ -3,11 +3,10 @@
xmlns:controls="clr-namespace:Content.Client.UserInterface.Controls"
MinSize="200 120" Title="Volume Pump">
<BoxContainer Orientation="Vertical" Margin="5 5 5 5" SeparationOverride="10">
<BoxContainer Orientation="Horizontal" HorizontalExpand="True">
<Label Text="{Loc comp-gas-pump-ui-pump-status}"/>
<Control MinSize="5 0" />
<Button Name="ToggleStatusButton"/>
</BoxContainer>
<controls:SwitchButton
Name="ToggleStatusButton"
HorizontalAlignment="Left"
Pressed="True" />
<BoxContainer Orientation="Horizontal" HorizontalExpand="True">
<Label Text="{Loc comp-gas-pump-ui-pump-transfer-rate}"/>
@@ -19,17 +19,14 @@ namespace Content.Client.Atmos.UI
[GenerateTypedNameReferences]
public sealed partial class GasVolumePumpWindow : FancyWindow
{
public bool PumpStatus = true;
public event Action? ToggleStatusButtonPressed;
public event Action<bool>? ToggleStatusButtonPressed;
public event Action<string>? PumpTransferRateChanged;
public GasVolumePumpWindow()
{
RobustXamlLoader.Load(this);
ToggleStatusButton.OnPressed += _ => SetPumpStatus(!PumpStatus);
ToggleStatusButton.OnPressed += _ => ToggleStatusButtonPressed?.Invoke();
ToggleStatusButton.OnToggled += _ => ToggleStatusButtonPressed?.Invoke(ToggleStatusButton.Pressed);
PumpTransferRateInput.OnTextChanged += _ => SetTransferRateButton.Disabled = false;
SetTransferRateButton.OnPressed += _ =>
@@ -52,15 +49,7 @@ namespace Content.Client.Atmos.UI
public void SetPumpStatus(bool enabled)
{
PumpStatus = enabled;
if (enabled)
{
ToggleStatusButton.Text = Loc.GetString("comp-gas-pump-ui-status-enabled");
}
else
{
ToggleStatusButton.Text = Loc.GetString("comp-gas-pump-ui-status-disabled");
}
ToggleStatusButton.Pressed = enabled;
}
}
}
@@ -24,7 +24,7 @@ public sealed class SpaceHeaterBoundUserInterface : BoundUserInterface
_window = this.CreateWindow<SpaceHeaterWindow>();
_window.ToggleStatusButton.OnPressed += _ => OnToggleStatusButtonPressed();
_window.ToggleStatusButton.OnToggled += _ => OnToggleStatusButtonPressed();
_window.IncreaseTempRange.OnPressed += _ => OnTemperatureRangeChanged(_window.TemperatureChangeDelta);
_window.DecreaseTempRange.OnPressed += _ => OnTemperatureRangeChanged(-_window.TemperatureChangeDelta);
_window.ModeSelector.OnItemSelected += OnModeChanged;
@@ -34,7 +34,6 @@ public sealed class SpaceHeaterBoundUserInterface : BoundUserInterface
private void OnToggleStatusButtonPressed()
{
_window?.SetActive(!_window.Active);
SendMessage(new SpaceHeaterToggleMessage());
}
@@ -1,13 +1,15 @@
<DefaultWindow xmlns="https://spacestation14.io"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:controls="clr-namespace:Content.Client.UserInterface.Controls"
MinSize="280 160" Title="{Loc comp-space-heater-ui-title}">
<BoxContainer Name="VboxContainer" Orientation="Vertical" Margin="5 5 5 5" SeparationOverride="10">
<BoxContainer Orientation="Horizontal" HorizontalExpand="True">
<BoxContainer Orientation="Horizontal" HorizontalExpand="True">
<Button Text="{Loc comp-space-heater-ui-status-disabled}" Access="Public" Name="ToggleStatusButton"/>
</BoxContainer>
<controls:SwitchButton
Name="ToggleStatusButton"
HorizontalExpand="True"
Access="Public" />
<BoxContainer Orientation="Horizontal" SeparationOverride="5">
<Label Text="{Loc comp-space-heater-ui-mode}"/>
<OptionButton Access="Public" Name="ModeSelector"/>
@@ -15,7 +15,6 @@ public sealed partial class SpaceHeaterWindow : DefaultWindow
{
// To account for a minimum delta temperature for atmos equalization to trigger we use a fixed step for target temperature increment/decrement
public int TemperatureChangeDelta = 5;
public bool Active;
// Temperatures range bounds in Kelvin (K)
public float MinTemp;
@@ -49,17 +48,7 @@ public sealed partial class SpaceHeaterWindow : DefaultWindow
public void SetActive(bool active)
{
Active = active;
ToggleStatusButton.Pressed = active;
if (active)
{
ToggleStatusButton.Text = Loc.GetString("comp-space-heater-ui-status-enabled");
}
else
{
ToggleStatusButton.Text = Loc.GetString("comp-space-heater-ui-status-disabled");
}
}
public void SetTemperature(float targetTemperature)
@@ -1,6 +1,7 @@
using System.Linq;
using Content.Shared.BarSign;
using JetBrains.Annotations;
using Robust.Client.UserInterface;
using Robust.Shared.Prototypes;
namespace Content.Client.BarSign.Ui;
@@ -16,13 +17,12 @@ public sealed class BarSignBoundUserInterface(EntityUid owner, Enum uiKey) : Bou
{
base.Open();
var sign = EntMan.GetComponentOrNull<BarSignComponent>(Owner)?.Current is { } current
? _prototype.Index(current)
: null;
var allSigns = BarSignSystem.GetAllBarSigns(_prototype)
.OrderBy(p => Loc.GetString(p.Name))
.ToList();
_menu = new(sign, allSigns);
_menu = this.CreateWindow<BarSignMenu>();
_menu.LoadSigns(allSigns);
_menu.OnSignSelected += id =>
{
@@ -30,16 +30,17 @@ public sealed class BarSignBoundUserInterface(EntityUid owner, Enum uiKey) : Bou
};
_menu.OnClose += Close;
_menu.OpenCentered();
_menu.OpenToLeft();
}
public override void Update()
{
if (!EntMan.TryGetComponent<BarSignComponent>(Owner, out var signComp))
if (!EntMan.TryGetComponent<BarSignComponent>(Owner, out var signComp)
|| !_prototype.Resolve(signComp.Current, out var signPrototype))
return;
if (_prototype.Resolve(signComp.Current, out var signPrototype))
_menu?.UpdateState(signPrototype);
_menu?.UpdateState(signPrototype);
}
}
+11 -18
View File
@@ -8,23 +8,13 @@ namespace Content.Client.BarSign.Ui;
[GenerateTypedNameReferences]
public sealed partial class BarSignMenu : FancyWindow
{
private string? _currentId;
private readonly List<BarSignPrototype> _cachedPrototypes = new();
private List<BarSignPrototype> _cachedPrototypes = new();
public event Action<string>? OnSignSelected;
public BarSignMenu(BarSignPrototype? currentSign, List<BarSignPrototype> signs)
public BarSignMenu()
{
RobustXamlLoader.Load(this);
_currentId = currentSign?.ID;
_cachedPrototypes.Clear();
_cachedPrototypes = signs;
foreach (var proto in _cachedPrototypes)
{
SignOptions.AddItem(Loc.GetString(proto.Name));
}
SignOptions.OnItemSelected += idx =>
{
@@ -32,18 +22,21 @@ public sealed partial class BarSignMenu : FancyWindow
SignOptions.SelectId(idx.Id);
};
if (currentSign != null)
}
public void LoadSigns(List<BarSignPrototype> signs)
{
_cachedPrototypes.Clear();
_cachedPrototypes = signs;
foreach (var proto in _cachedPrototypes)
{
var idx = _cachedPrototypes.IndexOf(currentSign);
SignOptions.TrySelectId(idx);
SignOptions.AddItem(Loc.GetString(proto.Name));
}
}
public void UpdateState(BarSignPrototype newSign)
{
if (_currentId != null && newSign.ID == _currentId)
return;
_currentId = newSign.ID;
var idx = _cachedPrototypes.IndexOf(newSign);
SignOptions.TrySelectId(idx);
}
-76
View File
@@ -1,76 +0,0 @@
using Content.Shared.Body.Systems;
// Shitmed Change Start
using Content.Shared._Shitmed.Body.Part;
using Content.Shared.Humanoid;
using Content.Shared.Humanoid.Markings;
using Robust.Client.GameObjects;
using Robust.Shared.Utility;
using Content.Shared.Body.Components;
// Shitmed Change End
namespace Content.Client.Body.Systems;
public sealed class BodySystem : SharedBodySystem
{
// Shitmed Change Start
[Dependency] private readonly MarkingManager _markingManager = default!;
private void ApplyMarkingToPart(MarkingPrototype markingPrototype,
IReadOnlyList<Color>? colors,
bool visible,
SpriteComponent sprite)
{
for (var j = 0; j < markingPrototype.Sprites.Count; j++)
{
var markingSprite = markingPrototype.Sprites[j];
if (markingSprite is not SpriteSpecifier.Rsi rsi)
continue;
var layerId = $"{markingPrototype.ID}-{rsi.RsiState}";
if (!sprite.LayerMapTryGet(layerId, out _))
{
var layer = sprite.AddLayer(markingSprite, j + 1);
sprite.LayerMapSet(layerId, layer);
sprite.LayerSetSprite(layerId, rsi);
}
sprite.LayerSetVisible(layerId, visible);
if (!visible)
continue;
// Okay so if the marking prototype is modified but we load old marking data this may no longer be valid
// and we need to check the index is correct. So if that happens just default to white?
if (colors != null && j < colors.Count)
sprite.LayerSetColor(layerId, colors[j]);
else
sprite.LayerSetColor(layerId, Color.White);
}
}
protected override void ApplyPartMarkings(EntityUid target, BodyPartAppearanceComponent component)
{
if (!TryComp(target, out SpriteComponent? sprite))
return;
if (component.Color != null)
sprite.Color = component.Color.Value;
foreach (var (visualLayer, markingList) in component.Markings)
foreach (var marking in markingList)
{
if (!_markingManager.TryGetMarking(marking, out var markingPrototype))
continue;
ApplyMarkingToPart(markingPrototype, marking.MarkingColors, marking.Visible, sprite);
}
}
protected override void RemoveBodyMarkings(EntityUid target, BodyPartAppearanceComponent partAppearance, HumanoidAppearanceComponent bodyAppearance)
{
return;
}
// Shitmed Change End
}
@@ -1,6 +0,0 @@
using Content.Shared.Body.Systems;
namespace Content.Client.Body.Systems;
/// <inheritdoc/>
public sealed class MetabolizerSystem : SharedMetabolizerSystem;
+264
View File
@@ -0,0 +1,264 @@
using System.Linq;
using Content.Shared.Body;
using Content.Shared.CCVar;
using Content.Shared.Humanoid.Markings;
using Content.Shared.Humanoid;
using Robust.Client.GameObjects;
using Robust.Client.Graphics;
using Robust.Shared.Configuration;
using Robust.Shared.Prototypes;
using Robust.Shared.Utility;
namespace Content.Client.Body;
public sealed class VisualBodySystem : SharedVisualBodySystem
{
[Dependency] private readonly IConfigurationManager _cfg = default!;
[Dependency] private readonly IPrototypeManager _prototype = default!;
[Dependency] private readonly MarkingManager _marking = default!;
[Dependency] private readonly SpriteSystem _sprite = default!;
public override void Initialize()
{
base.Initialize();
SubscribeLocalEvent<VisualOrganComponent, OrganGotInsertedEvent>(OnOrganGotInserted);
SubscribeLocalEvent<VisualOrganComponent, OrganGotRemovedEvent>(OnOrganGotRemoved);
SubscribeLocalEvent<VisualOrganComponent, AfterAutoHandleStateEvent>(OnOrganState);
SubscribeLocalEvent<VisualOrganMarkingsComponent, OrganGotInsertedEvent>(OnMarkingsGotInserted);
SubscribeLocalEvent<VisualOrganMarkingsComponent, OrganGotRemovedEvent>(OnMarkingsGotRemoved);
SubscribeLocalEvent<VisualOrganMarkingsComponent, AfterAutoHandleStateEvent>(OnMarkingsState);
SubscribeLocalEvent<VisualOrganMarkingsComponent, BodyRelayedEvent<HumanoidLayerVisibilityChangedEvent>>(OnMarkingsChangedVisibility);
Subs.CVar(_cfg, CCVars.AccessibilityClientCensorNudity, OnCensorshipChanged, true);
Subs.CVar(_cfg, CCVars.AccessibilityServerCensorNudity, OnCensorshipChanged, true);
}
private void OnCensorshipChanged(bool value)
{
var query = AllEntityQuery<OrganComponent, VisualOrganMarkingsComponent>();
while (query.MoveNext(out var ent, out var organComp, out var markingsComp))
{
if (organComp.Body is not { } body)
continue;
RemoveMarkings((ent, markingsComp), body);
ApplyMarkings((ent, markingsComp), body);
}
}
private void OnOrganGotInserted(Entity<VisualOrganComponent> ent, ref OrganGotInsertedEvent args)
{
ApplyVisual(ent, args.Target);
}
private void OnOrganGotRemoved(Entity<VisualOrganComponent> ent, ref OrganGotRemovedEvent args)
{
RemoveVisual(ent, args.Target);
}
private void OnOrganState(Entity<VisualOrganComponent> ent, ref AfterAutoHandleStateEvent args)
{
if (Comp<OrganComponent>(ent).Body is not { } body)
return;
ApplyVisual(ent, body);
}
private void ApplyVisual(Entity<VisualOrganComponent> ent, EntityUid target)
{
if (!_sprite.LayerMapTryGet(target, ent.Comp.Layer, out var index, true))
return;
_sprite.LayerSetData(target, index, ent.Comp.Data);
}
private void RemoveVisual(Entity<VisualOrganComponent> ent, EntityUid target)
{
if (!_sprite.LayerMapTryGet(target, ent.Comp.Layer, out var index, true))
return;
_sprite.LayerSetRsiState(target, index, RSI.StateId.Invalid);
}
private void OnMarkingsGotInserted(Entity<VisualOrganMarkingsComponent> ent, ref OrganGotInsertedEvent args)
{
ApplyMarkings(ent, args.Target);
}
private void OnMarkingsGotRemoved(Entity<VisualOrganMarkingsComponent> ent, ref OrganGotRemovedEvent args)
{
RemoveMarkings(ent, args.Target);
}
private void OnMarkingsState(Entity<VisualOrganMarkingsComponent> ent, ref AfterAutoHandleStateEvent args)
{
if (Comp<OrganComponent>(ent).Body is not { } body)
return;
RemoveMarkings(ent, body);
ApplyMarkings(ent, body);
}
protected override void SetOrganColor(Entity<VisualOrganComponent> ent, Color color)
{
base.SetOrganColor(ent, color);
if (Comp<OrganComponent>(ent).Body is not { } body)
return;
ApplyVisual(ent, body);
}
protected override void SetOrganMarkings(Entity<VisualOrganMarkingsComponent> ent, Dictionary<HumanoidVisualLayers, List<Marking>> markings)
{
base.SetOrganMarkings(ent, markings);
if (Comp<OrganComponent>(ent).Body is not { } body)
return;
RemoveMarkings(ent, body);
ApplyMarkings(ent, body);
}
protected override void SetOrganAppearance(Entity<VisualOrganComponent> ent, PrototypeLayerData data)
{
base.SetOrganAppearance(ent, data);
if (Comp<OrganComponent>(ent).Body is not { } body)
return;
ApplyVisual(ent, body);
}
private IEnumerable<Marking> AllMarkings(Entity<VisualOrganMarkingsComponent> ent)
{
foreach (var markings in ent.Comp.Markings.Values)
{
foreach (var marking in markings)
{
yield return marking;
}
}
var censorNudity = _cfg.GetCVar(CCVars.AccessibilityClientCensorNudity) || _cfg.GetCVar(CCVars.AccessibilityServerCensorNudity);
if (!censorNudity)
yield break;
var group = _prototype.Index(ent.Comp.MarkingData.Group);
foreach (var layer in ent.Comp.MarkingData.Layers)
{
if (!group.Limits.TryGetValue(layer, out var layerLimits))
continue;
if (layerLimits.NudityDefault.Count < 1)
continue;
var markings = ent.Comp.Markings.GetValueOrDefault(layer) ?? [];
if (markings.Any(marking => _marking.TryGetMarking(marking, out var proto) && proto.BodyPart == layer))
continue;
foreach (var marking in layerLimits.NudityDefault)
{
yield return new(marking, 1);
}
}
}
private void ApplyMarkings(Entity<VisualOrganMarkingsComponent> ent, EntityUid target)
{
var applied = new List<Marking>();
foreach (var marking in AllMarkings(ent))
{
if (!_marking.TryGetMarking(marking, out var proto))
continue;
if (!_sprite.LayerMapTryGet(target, proto.BodyPart, out var index, true))
continue;
for (var i = 0; i < proto.Sprites.Count; i++)
{
var sprite = proto.Sprites[i];
DebugTools.Assert(sprite is SpriteSpecifier.Rsi);
if (sprite is not SpriteSpecifier.Rsi rsi)
continue;
var layerId = $"{proto.ID}-{rsi.RsiState}";
if (!_sprite.LayerMapTryGet(target, layerId, out _, false))
{
var layer = _sprite.AddLayer(target, sprite, index + i + 1);
_sprite.LayerMapSet(target, layerId, layer);
_sprite.LayerSetSprite(target, layerId, rsi);
}
if (marking.MarkingColors is not null && i < marking.MarkingColors.Count)
_sprite.LayerSetColor(target, layerId, marking.MarkingColors[i]);
else
_sprite.LayerSetColor(target, layerId, Color.White);
}
applied.Add(marking);
}
ent.Comp.AppliedMarkings = applied;
}
private void RemoveMarkings(Entity<VisualOrganMarkingsComponent> ent, EntityUid target)
{
foreach (var marking in ent.Comp.AppliedMarkings)
{
if (!_marking.TryGetMarking(marking, out var proto))
continue;
foreach (var sprite in proto.Sprites)
{
DebugTools.Assert(sprite is SpriteSpecifier.Rsi);
if (sprite is not SpriteSpecifier.Rsi rsi)
continue;
var layerId = $"{proto.ID}-{rsi.RsiState}";
if (!_sprite.LayerMapTryGet(target, layerId, out var index, false))
continue;
_sprite.LayerMapRemove(target, layerId);
_sprite.RemoveLayer(target, index);
}
}
}
private void OnMarkingsChangedVisibility(Entity<VisualOrganMarkingsComponent> ent, ref BodyRelayedEvent<HumanoidLayerVisibilityChangedEvent> args)
{
if (!ent.Comp.HideableLayers.Contains(args.Args.Layer))
return;
foreach (var markings in ent.Comp.Markings.Values)
{
foreach (var marking in markings)
{
if (!_marking.TryGetMarking(marking, out var proto))
continue;
if (proto.BodyPart != args.Args.Layer && !(ent.Comp.DependentHidingLayers.TryGetValue(args.Args.Layer, out var dependent) && dependent.Contains(proto.BodyPart)))
continue;
foreach (var sprite in proto.Sprites)
{
DebugTools.Assert(sprite is SpriteSpecifier.Rsi);
if (sprite is not SpriteSpecifier.Rsi rsi)
continue;
var layerId = $"{proto.ID}-{rsi.RsiState}";
if (!_sprite.LayerMapTryGet(args.Body.Owner, layerId, out var index, true))
continue;
_sprite.LayerSetVisible(args.Body.Owner, index, args.Args.Visible);
}
}
}
}
}
@@ -2,6 +2,7 @@ using Content.Client.Cargo.UI;
using Content.Shared.Cargo.Components;
using JetBrains.Annotations;
using Robust.Client.UserInterface;
using Content.Shared._DV.Cargo.Components; // DeltaV: Bounty claim messages
namespace Content.Client.Cargo.BUI;
@@ -30,6 +31,18 @@ public sealed class CargoBountyConsoleBoundUserInterface : BoundUserInterface
{
SendMessage(new BountySkipMessage(id));
};
// DeltaV: bounty claim stuff begins
_menu.OnClaimButtonPressed += id =>
{
SendMessage(new BountyClaimedMessage(id));
};
_menu.OnStatusOptionSelected += (id, status) =>
{
SendMessage(new BountySetStatusMessage(id, status));
};
// DeltaV: bounty claim stuff ends
}
protected override void UpdateState(BoundUserInterfaceState message)
@@ -70,9 +70,9 @@ namespace Content.Client.Cargo.BUI
_menu.OnClose += Close;
_menu.OnItemSelected += (args) =>
_menu.OnItemSelected += (row) =>
{
if (args.Button.Parent is not CargoProductRow row)
if (row == null)
return;
description.Clear();
@@ -175,23 +175,23 @@ namespace Content.Client.Cargo.BUI
return true;
}
private void RemoveOrder(ButtonEventArgs args)
private void RemoveOrder(CargoOrderData? order)
{
if (args.Button.Parent?.Parent is not CargoOrderRow row || row.Order == null)
if (order == null)
return;
SendMessage(new CargoConsoleRemoveOrderMessage(row.Order.OrderId));
SendMessage(new CargoConsoleRemoveOrderMessage(order.OrderId));
}
private void ApproveOrder(ButtonEventArgs args)
private void ApproveOrder(CargoOrderData? order)
{
if (args.Button.Parent?.Parent is not CargoOrderRow row || row.Order == null)
if (order == null)
return;
if (OrderCount >= OrderCapacity)
return;
SendMessage(new CargoConsoleApproveOrderMessage(row.Order.OrderId));
SendMessage(new CargoConsoleApproveOrderMessage(order.OrderId));
}
}
}
+14 -4
View File
@@ -10,6 +10,8 @@
<BoxContainer Orientation="Vertical" HorizontalExpand="True">
<RichTextLabel Name="RewardLabel"/>
<RichTextLabel Name="ManifestLabel"/>
<RichTextLabel Name="ClaimedBylabel"/> <!-- DeltaV bounty claim -->
<RichTextLabel Name="StatusLabel"/> <!-- DeltaV bounty claim -->
</BoxContainer>
<Control MinWidth="10"/>
<BoxContainer Orientation="Vertical" MinWidth="120">
@@ -17,14 +19,22 @@
<Button Name="PrintButton"
Text="{Loc 'bounty-console-label-button-text'}"
HorizontalExpand="False"
HorizontalAlignment="Right"
StyleClasses="OpenRight"/>
StyleClasses="OpenBoth"/>
<Button Name="SkipButton"
Text="{Loc 'bounty-console-skip-button-text'}"
HorizontalExpand="False"
HorizontalAlignment="Right"
HorizontalExpand="True"
StyleClasses="OpenLeft"/>
</BoxContainer>
<BoxContainer Orientation="Horizontal" MinWidth="120"> <!-- Begin DeltaV bounty claim content -->
<Button Name="ClaimButton"
Text= "{Loc 'bounty-console-claim-button-text'}"
HorizontalExpand="False"
StyleClasses="OpenRight"/>
<OptionButton Name="BountyStatusSelector"
Access="Public"
StyleClasses="OpenBoth"
HorizontalExpand="True"/>
</BoxContainer> <!-- End DeltaV content-->
<RichTextLabel Name="IdLabel" HorizontalAlignment="Right" Margin="0 0 5 0"/>
</BoxContainer>
</BoxContainer>
@@ -17,6 +17,8 @@ public sealed partial class BountyEntry : BoxContainer
public Action? OnLabelButtonPressed;
public Action? OnSkipButtonPressed;
public Action? OnClaimButtonPressed; // DeltaV
public Action? OnStatusOptionSelected; // DeltaV
public TimeSpan EndTime;
public TimeSpan UntilNextSkip;
@@ -45,6 +47,20 @@ public sealed partial class BountyEntry : BoxContainer
PrintButton.OnPressed += _ => OnLabelButtonPressed?.Invoke();
SkipButton.OnPressed += _ => OnSkipButtonPressed?.Invoke();
// Begin DeltaV bounty claiming
ClaimButton.OnPressed += _ => OnClaimButtonPressed?.Invoke();
BountyStatusSelector.AddItem(Loc.GetString($"bounty-console-status-{nameof(CargoBountyStatus.Undelivered)}"), 0);
BountyStatusSelector.AddItem(Loc.GetString($"bounty-console-status-{nameof(CargoBountyStatus.Waiting)}"), 1);
BountyStatusSelector.AddItem(Loc.GetString($"bounty-console-status-{nameof(CargoBountyStatus.OnShuttle)}"), 2);
BountyStatusSelector.Select((int) bounty.Status);
BountyStatusSelector.ToolTip = Loc.GetString($"bounty-console-status-tooltip-{bounty.Status.ToString()}");
var claimedByText = string.IsNullOrEmpty(bounty.ClaimedBy) ? Loc.GetString("bounty-console-claimed-by-none") : bounty.ClaimedBy;
ClaimedBylabel.SetMarkup(Loc.GetString("bounty-console-claimed-by", ("claimant", claimedByText)));
StatusLabel.SetMarkup(Loc.GetString($"bounty-console-status-formatted-{bounty.Status.ToString()}"));
// End DeltaV bounty claiming
}
private void UpdateSkipButton(float deltaSeconds)
+3 -2
View File
@@ -1,8 +1,9 @@
<controls:FancyWindow xmlns="https://spacestation14.io"
<!--DeltaV - SetSize was 550, now 750 to accomodate bounty claim UI -->
<controls:FancyWindow xmlns="https://spacestation14.io"
xmlns:gfx="clr-namespace:Robust.Client.Graphics;assembly=Robust.Client"
xmlns:controls="clr-namespace:Content.Client.UserInterface.Controls"
Title="{Loc 'bounty-console-menu-title'}"
SetSize="550 420"
SetSize="750 420"
MinSize="400 350">
<BoxContainer Orientation="Vertical"
VerticalExpand="True"
@@ -11,6 +11,8 @@ public sealed partial class CargoBountyMenu : FancyWindow
{
public Action<string>? OnLabelButtonPressed;
public Action<string>? OnSkipButtonPressed;
public Action<string>? OnClaimButtonPressed; // DeltaV
public Action<string, int>? OnStatusOptionSelected; // DeltaV
public CargoBountyMenu()
{
@@ -31,6 +33,8 @@ public sealed partial class CargoBountyMenu : FancyWindow
var entry = new BountyEntry(b, untilNextSkip);
entry.OnLabelButtonPressed += () => OnLabelButtonPressed?.Invoke(b.Id);
entry.OnSkipButtonPressed += () => OnSkipButtonPressed?.Invoke(b.Id);
entry.OnClaimButtonPressed += () => OnClaimButtonPressed?.Invoke(b.Id); // DeltaV
entry.BountyStatusSelector.OnItemSelected += args => OnStatusOptionSelected?.Invoke(b.Id, args.Id); // DeltaV
BountyEntriesContainer.AddChild(entry);
}
+222 -82
View File
@@ -1,86 +1,226 @@
<controls:FancyWindow xmlns="https://spacestation14.io"
xmlns:gfx="clr-namespace:Robust.Client.Graphics;assembly=Robust.Client"
xmlns:controls="clr-namespace:Content.Client.UserInterface.Controls"
SetSize="600 600"
MinSize="600 600">
<BoxContainer Orientation="Vertical" Margin="15 5 15 10">
<BoxContainer Orientation="Horizontal">
<Label Text="{Loc 'cargo-console-menu-account-name-label'}"
StyleClasses="LabelKeyText" />
<RichTextLabel Name="AccountNameLabel"
Text="{Loc 'cargo-console-menu-account-name-none-text'}" />
</BoxContainer>
<BoxContainer Orientation="Horizontal">
<Label Text="{Loc 'cargo-console-menu-points-label'}"
StyleClasses="LabelKeyText" />
<RichTextLabel Name="PointsLabel"
Text="$0" />
</BoxContainer>
<Control MinHeight="10"/>
<controls:FancyWindow
xmlns="https://spacestation14.io"
xmlns:gfx="clr-namespace:Robust.Client.Graphics;assembly=Robust.Client"
xmlns:controls="clr-namespace:Content.Client.UserInterface.Controls"
MinSize="540 390"
SetSize="995 600">
<!-- Main Container -->
<BoxContainer Orientation="Vertical"
VerticalExpand="True">
<TabContainer Name="TabContainer" VerticalExpand="True">
<BoxContainer Orientation="Vertical" VerticalExpand="True">
<BoxContainer Orientation="Horizontal">
<OptionButton Name="Categories"
Prefix="{Loc 'cargo-console-menu-categories-label'}"
HorizontalExpand="True" />
<LineEdit Name="SearchBar"
PlaceHolder="{Loc 'cargo-console-menu-search-bar-placeholder'}"
HorizontalExpand="True" />
</BoxContainer>
<Control MinHeight="5"/>
<ScrollContainer HorizontalExpand="True"
VerticalExpand="True"
SizeFlagsStretchRatio="2">
<BoxContainer Name="Products"
Orientation="Vertical"
HorizontalExpand="True"
VerticalExpand="True">
<!-- Products get added here by code -->
</BoxContainer>
</ScrollContainer>
<Control MinHeight="5" Name="OrdersSpacer"/>
<PanelContainer VerticalExpand="True"
SizeFlagsStretchRatio="1"
Name="Orders">
<PanelContainer.PanelOverride>
<gfx:StyleBoxFlat BackgroundColor="#000000" />
</PanelContainer.PanelOverride>
<ScrollContainer VerticalExpand="True">
<BoxContainer Orientation="Vertical" Margin="5">
<Label Text="{Loc 'cargo-console-menu-requests-label'}" />
<BoxContainer Name="Requests"
Orientation="Vertical"
VerticalExpand="True">
<!-- Requests are added here by code -->
</BoxContainer>
</BoxContainer>
</ScrollContainer>
</PanelContainer>
</BoxContainer>
<!-- Funds tab -->
<BoxContainer Orientation="Vertical" Margin="15">
<BoxContainer Orientation="Horizontal">
<RichTextLabel Name="TransferLimitLabel" Margin="0 0 15 0"/>
<RichTextLabel Name="UnlimitedNotifier" Text="{Loc 'cargo-console-menu-account-action-transfer-limit-unlimited-notifier'}"/>
</BoxContainer>
<BoxContainer Orientation="Horizontal">
<RichTextLabel Text="{Loc 'cargo-console-menu-account-action-select'}" Margin="0 0 10 0"/>
<OptionButton Name="ActionOptions"/>
</BoxContainer>
<Control MinHeight="5"/>
<BoxContainer Orientation="Horizontal">
<RichTextLabel Name="AmountText" Text="{ Loc 'cargo-console-menu-account-action-amount'}"/>
<SpinBox Name="TransferSpinBox" MinWidth="100" Value="10"/>
</BoxContainer>
<Control MinHeight="15"/>
<BoxContainer HorizontalAlignment="Center">
<Button Name="AccountActionButton" Text="{ Loc 'cargo-console-menu-account-action-button'}" MinHeight="45" MinWidth="120"/>
</BoxContainer>
<Control VerticalExpand="True"/>
<BoxContainer VerticalAlignment="Bottom" HorizontalAlignment="Center">
<Button Name="AccountLimitToggleButton" Text="{ Loc 'cargo-console-menu-toggle-account-lock-button'}" MinHeight="45" MinWidth="120"/>
</BoxContainer>
</BoxContainer>
<!-- Sub-Main Container -->
<BoxContainer Orientation="Horizontal"
VerticalExpand="True"
Margin="8 4 8 6">
<!-- Left Part -->
<BoxContainer Orientation="Vertical"
SeparationOverride="4"
Margin="0 0 8 0"
HorizontalExpand="True">
<!-- Info -->
<BoxContainer Orientation="Vertical">
<GridContainer Columns="3">
<!-- Account -->
<Label Text="{Loc 'cargo-console-menu-account-name-label'}"
StyleClasses="LabelKeyText" />
<PanelContainer StyleClasses="LowDivider" Margin="0 -2"/>
<RichTextLabel Name="AccountNameLabel"
Text="{Loc 'cargo-console-menu-account-name-none-text'}"
Margin="4 0"/>
<!-- Balance -->
<Label Text="{Loc 'cargo-console-menu-points-label'}"
StyleClasses="LabelKeyText"/>
<PanelContainer StyleClasses="LowDivider" Margin="0 -2"/>
<RichTextLabel Name="PointsLabel"
Text="$0"
Margin="4 0" />
<!-- Orders Count/Capacity -->
<Label Text="{Loc 'cargo-console-menu-order-capacity-label'}"
StyleClasses="LabelKeyText" />
<PanelContainer StyleClasses="LowDivider" Margin="0 -2 0 -1"/>
<Label Name="ShuttleCapacityLabel"
Text="0/20"
Margin="4 0"/>
</GridContainer>
<PanelContainer StyleClasses="LowDivider" Margin="0 4.5 -8 0"/>
</BoxContainer>
<!-- Search -->
<BoxContainer Orientation="Horizontal"
Margin="0 2 0 0">
<LineEdit Name="SearchBar"
PlaceHolder="{Loc 'cargo-console-menu-search-bar-placeholder'}"
HorizontalExpand="True" />
<OptionButton Name="Categories"
Prefix="{Loc 'cargo-console-menu-categories-label'}"
StyleClasses="OpenLeft"/>
</BoxContainer>
<!-- Product list -->
<ScrollContainer
HorizontalExpand="False"
VerticalExpand="True"
HScrollEnabled="False">
<BoxContainer Name="Products"
Orientation="Vertical"
HorizontalExpand="True"
VerticalExpand="True">
<!-- Products get added here by code -->
</BoxContainer>
</ScrollContainer>
</BoxContainer>
<PanelContainer StyleClasses="LowDivider" Margin="0 -8"/>
<!-- Right Part -->
<BoxContainer Orientation="Vertical"
SizeFlagsStretchRatio="0.8"
HorizontalExpand="True"
Name="RightPart">
<!-- Requests Part -->
<BoxContainer Orientation="Vertical"
VerticalExpand="True"
SizeFlagsStretchRatio="2">
<!-- Title -->
<controls:StripeBack>
<Label Text="{Loc 'cargo-console-menu-requests-label'}"
HorizontalAlignment="Center"
Margin="4"/>
</controls:StripeBack>
<PanelContainer VerticalExpand="True"
Margin="0 -4 0 0">
<!-- Background -->
<PanelContainer.PanelOverride>
<gfx:StyleBoxFlat BackgroundColor="#040404" />
</PanelContainer.PanelOverride>
<BoxContainer Orientation="Vertical">
<ScrollContainer VerticalExpand="True">
<BoxContainer Name="Requests"
Orientation="Vertical"
StyleClasses="transparentItemList"
VerticalExpand="True"
SeparationOverride="8"
Margin="8">
<!-- Requests are added here by code -->
</BoxContainer>
</ScrollContainer>
</BoxContainer>
</PanelContainer>
</BoxContainer>
<!-- Orders Part -->
<BoxContainer Orientation="Vertical"
VerticalExpand="True">
<!-- Title -->
<controls:StripeBack>
<Label Text="{Loc 'cargo-console-menu-orders-label'}"
HorizontalAlignment="Center"
Margin="4"/>
</controls:StripeBack>
<PanelContainer VerticalExpand="True"
Margin="0 -4 0 0">
<!-- Background -->
<PanelContainer.PanelOverride>
<gfx:StyleBoxFlat BackgroundColor="#040404" />
</PanelContainer.PanelOverride>
<BoxContainer Orientation="Vertical"
Margin="6">
<ScrollContainer VerticalExpand="True">
<BoxContainer Orientation="Vertical"
StyleClasses="transparentItemList"
VerticalExpand="True"
SeparationOverride="6">
<!-- Orders are added here by code -->
</BoxContainer>
</ScrollContainer>
</BoxContainer>
</PanelContainer>
</BoxContainer>
</BoxContainer>
</BoxContainer>
<!-- Funds tab -->
<BoxContainer Orientation="Vertical" Margin="15">
<BoxContainer Orientation="Horizontal">
<RichTextLabel Name="TransferLimitLabel" Margin="0 0 15 0"/>
<RichTextLabel Name="UnlimitedNotifier" Text="{Loc 'cargo-console-menu-account-action-transfer-limit-unlimited-notifier'}"/>
</BoxContainer>
<BoxContainer Orientation="Horizontal">
<RichTextLabel Text="{Loc 'cargo-console-menu-account-action-select'}" Margin="0 0 10 0"/>
<OptionButton Name="ActionOptions"/>
</BoxContainer>
<Control MinHeight="5"/>
<BoxContainer Orientation="Horizontal">
<RichTextLabel Name="AmountText" Text="{ Loc 'cargo-console-menu-account-action-amount'}"/>
<SpinBox Name="TransferSpinBox" MinWidth="100" Value="10"/>
</BoxContainer>
<Control MinHeight="15"/>
<BoxContainer HorizontalAlignment="Center">
<Button Name="AccountActionButton" Text="{ Loc 'cargo-console-menu-account-action-button'}" MinHeight="45" MinWidth="120"/>
</BoxContainer>
<Control VerticalExpand="True"/>
<BoxContainer VerticalAlignment="Bottom" HorizontalAlignment="Center">
<Button Name="AccountLimitToggleButton" Text="{ Loc 'cargo-console-menu-toggle-account-lock-button'}" MinHeight="45" MinWidth="120"/>
</BoxContainer>
</BoxContainer>
</TabContainer>
<!-- Footer -->
<!-- TODO: Create customControls element -->
<BoxContainer Orientation="Vertical"
VerticalAlignment="Bottom">
<PanelContainer StyleClasses="LowDivider" />
<BoxContainer Orientation="Horizontal"
Margin="12 0 6 2"
VerticalAlignment="Bottom">
<!-- Footer title -->
<Label Text="{Loc 'cargo-console-menu-flavor-left'}"
StyleClasses="WindowFooterText" />
<!-- Version -->
<Label Text="{Loc 'cargo-console-menu-flavor-right'}"
StyleClasses="WindowFooterText"
HorizontalAlignment="Right"
HorizontalExpand="True"
Margin="0 0 4 0" />
<TextureRect StyleClasses="NTLogoDark"
Stretch="KeepAspectCentered"
VerticalAlignment="Center"
HorizontalAlignment="Right"
SetSize="19 19"/>
</BoxContainer>
</BoxContainer>
</BoxContainer>
</controls:FancyWindow>
@@ -6,6 +6,7 @@ using Content.Shared.Cargo.Components;
using Content.Shared.Cargo.Prototypes;
using Robust.Client.AutoGenerated;
using Robust.Client.GameObjects;
using Robust.Client.Graphics;
using Robust.Client.UserInterface.Controls;
using Robust.Client.UserInterface.XAML;
using Robust.Shared.Prototypes;
@@ -29,9 +30,9 @@ namespace Content.Client.Cargo.UI
private readonly EntityQuery<CargoOrderConsoleComponent> _orderConsoleQuery;
private readonly EntityQuery<StationBankAccountComponent> _bankQuery;
public event Action<ButtonEventArgs>? OnItemSelected;
public event Action<ButtonEventArgs>? OnOrderApproved;
public event Action<ButtonEventArgs>? OnOrderCanceled;
public event Action<CargoProductRow?>? OnItemSelected;
public event Action<CargoOrderData?>? OnOrderApproved;
public event Action<CargoOrderData?>? OnOrderCanceled;
public event Action<ProtoId<CargoAccountPrototype>?, int>? OnAccountAction;
@@ -164,7 +165,7 @@ namespace Content.Client.Cargo.UI
};
button.MainButton.OnPressed += args =>
{
OnItemSelected?.Invoke(args);
OnItemSelected?.Invoke(button);
};
Products.AddChild(button);
}
@@ -210,38 +211,66 @@ namespace Content.Client.Cargo.UI
foreach (var order in orders)
{
if (order.Approved)
if (order.Approved || !_protoManager.Resolve(order.Product, out var productProto))
continue;
var product = _protoManager.Index<EntityPrototype>(order.ProductId);
var productName = product.Name;
var product = _protoManager.Index<EntityPrototype>(productProto.Product);
var productName = productProto.Name;
var requester = !string.IsNullOrEmpty(order.Requester) ?
order.Requester : Loc.GetString("cargo-console-menu-order-row-alerts-requester-unknown");
var account = _protoManager.Index(order.Account);
var row = new CargoOrderRow
{
Order = order,
Title =
{
Text = Loc.GetString(
"cargo-console-menu-order-row-title",
("productName", productName),
("orderAmount", order.OrderQuantity),
("orderPrice", productProto.Cost)),
},
Stride =
{
PanelOverride = new StyleBoxFlat
{
BackgroundColor = account.Color,
ContentMarginBottomOverride = 2,
},
},
Icon = { Texture = _spriteSystem.Frame0(product) },
ProductName =
{
Text = Loc.GetString(
"cargo-console-menu-populate-orders-cargo-order-row-product-name-text",
("productName", productName),
("orderAmount", order.OrderQuantity),
("orderRequester", order.Requester),
("orderRequester", requester),
("accountColor", account.Color),
("account", Loc.GetString(account.Code)))
},
Description =
{
Text = Loc.GetString("cargo-console-menu-order-reason-description",
("reason", order.Reason))
Text = !string.IsNullOrEmpty(order.Reason) ?
Loc.GetString(
"cargo-console-menu-order-row-product-description",
("orderReason", order.Reason))
:
Loc.GetString(
"cargo-console-menu-order-row-product-description",
("orderReason", Loc.GetString("cargo-console-menu-order-row-alerts-reason-absent")))
}
};
row.Cancel.OnPressed += (args) => { OnOrderCanceled?.Invoke(args); };
row.Cancel.OnPressed += (args) => { OnOrderCanceled?.Invoke(order); };
// TODO: Disable based on access.
row.SetApproveVisible(orderConsole.Mode != CargoOrderConsoleMode.SendToPrimary);
row.Approve.OnPressed += (args) => { OnOrderApproved?.Invoke(args); };
row.Approve.OnPressed += (args) => { OnOrderApproved?.Invoke(order); };
Requests.AddChild(row);
}
}
@@ -294,8 +323,7 @@ namespace Content.Client.Cargo.UI
TransferSpinBox.Value > bankAccount.Accounts[orderConsole.Account] * orderConsole.TransferLimit ||
_timing.CurTime < orderConsole.NextAccountActionTime;
OrdersSpacer.Visible = orderConsole.Mode != CargoOrderConsoleMode.PrintSlip;
Orders.Visible = orderConsole.Mode != CargoOrderConsoleMode.PrintSlip;
RightPart.Visible = orderConsole.Mode != CargoOrderConsoleMode.PrintSlip;
}
}
}
@@ -1,33 +1,53 @@
<DefaultWindow xmlns="https://spacestation14.io"
Title="{Loc 'cargo-console-order-menu-title'}">
<DefaultWindow xmlns="https://spacestation14.io"
Title="{Loc 'cargo-console-order-menu-title'}"
MinSize="460 261">
<BoxContainer Orientation="Vertical">
<GridContainer Columns="2">
<Label Text="{Loc 'cargo-console-order-menu-product-label'}" />
<Label Text="{Loc 'cargo-console-order-menu-product-label'}"
StyleClasses="LabelKeyText" />
<Label Name="ProductName"
Access="Public" />
<Label Text="{Loc 'cargo-console-order-menu-description-label'}" />
Access="Public" />
<Label Text="{Loc 'cargo-console-order-menu-description-label'}"
StyleClasses="LabelKeyText" />
<RichTextLabel Name="Description"
Access="Public"
VerticalExpand="True"
SetWidth="350"/>
<Label Text="{Loc 'cargo-console-order-menu-cost-label'}" />
Access="Public"
HorizontalExpand="True"
MaxWidth="460" />
<Label Text="{Loc 'cargo-console-order-menu-cost-label'}"
StyleClasses="LabelKeyText" />
<Label Name="PointCost"
Access="Public" />
<Label Text="{Loc 'cargo-console-order-menu-requester-label'}" />
Access="Public" />
<Label Text="{Loc 'cargo-console-order-menu-requester-label'}"
StyleClasses="LabelKeyText" />
<LineEdit Name="Requester"
Access="Public" />
<Label Text="{Loc 'cargo-console-order-menu-reason-label'}" />
<Label Text="{Loc 'cargo-console-order-menu-reason-label'}"
StyleClasses="LabelKeyText" />
<LineEdit Name="Reason"
Access="Public" />
<Label Text="{Loc 'cargo-console-order-menu-amount-label'}" />
<Label Text="{Loc 'cargo-console-order-menu-amount-label'}"
StyleClasses="LabelKeyText" />
<SpinBox Name="Amount"
Access="Public"
HorizontalExpand="True"
Value="1" />
</GridContainer>
<Control VerticalExpand="True"/>
<PanelContainer StyleClasses="LowDivider" Margin="0 6 0 2"/>
<Button Name="SubmitButton"
Access="Public"
Text="{Loc 'cargo-console-order-menu-submit-button'}"
TextAlign="Center" />
VerticalAlignment="Bottom" />
</BoxContainer>
</DefaultWindow>
+78 -30
View File
@@ -1,33 +1,81 @@
<PanelContainer xmlns="https://spacestation14.io"
HorizontalExpand="True"
Margin="0 1">
<BoxContainer Orientation="Horizontal"
HorizontalExpand="True">
<TextureRect Name="Icon"
Access="Public"
MinSize="32 32"
RectClipContent="True" />
<Control MinWidth="5"/>
<BoxContainer Orientation="Vertical"
HorizontalExpand="True"
VerticalExpand="True">
<RichTextLabel Name="ProductName"
Access="Public"
HorizontalExpand="True"
StyleClasses="LabelSubText" />
<Label Name="Description"
Access="Public"
HorizontalExpand="True"
StyleClasses="LabelSubText"
ClipText="True" />
<PanelContainer
xmlns="https://spacestation14.io"
xmlns:gfx="clr-namespace:Robust.Client.Graphics;assembly=Robust.Client"
HorizontalExpand="True"
StyleClasses="BackgroundPanel">
<!-- Main Container -->
<BoxContainer Orientation="Vertical"
HorizontalExpand="True"
SeparationOverride="6"
Margin="-14 -2">
<BoxContainer Orientation="Vertical">
<Control>
<PanelContainer StyleClasses="WindowHeadingBackground" />
<BoxContainer Margin="6">
<Label Name="Title"
Access="Public"
MaxHeight="28"
StyleClasses="LabelKeyText"/>
</BoxContainer>
</Control>
<PanelContainer Name="Stride"
Access="Public"
StyleClasses="LowDivider" />
</BoxContainer>
<!-- Info -->
<BoxContainer>
<TextureRect Name="Icon"
Access="Public"
MinSize="32 32"
Margin="4"
Stretch="KeepAspectCentered"
RectClipContent="True"
VerticalAlignment="Center"/>
<PanelContainer StyleClasses="LowDivider" Margin="4 0"/>
<BoxContainer Orientation="Vertical"
HorizontalExpand="True"
VerticalExpand="True">
<RichTextLabel Name="ProductName"
Access="Public"
HorizontalExpand="True"
VerticalExpand="True"
StyleClasses="LabelSubText" />
<Label Name="Description"
Access="Public"
HorizontalExpand="True"
VerticalExpand="True"
StyleClasses="LabelSubText"
ClipText="True" />
</BoxContainer>
</BoxContainer>
<BoxContainer Orientation="Vertical">
<PanelContainer StyleClasses="LowDivider" />
<!-- Buttons -->
<!-- Btn's position hardcoded (args.Button.Parent?.Parent?.Parent type) in CargoConsoleBUI 158 & 166 line -->
<BoxContainer Margin="6">
<Button Name="Approve"
Access="Public"
Text="{Loc 'cargo-console-menu-order-row-button-approve'}"
StyleClasses="OpenRight"
HorizontalExpand="True"/>
<Button Name="Cancel"
Access="Public"
Text="{Loc 'cargo-console-menu-order-row-button-cancel'}"
StyleClasses="OpenLeft"
HorizontalExpand="True" />
</BoxContainer>
</BoxContainer>
<Button Name="Approve"
Access="Public"
Text="{Loc 'cargo-console-menu-cargo-order-row-approve-button'}"
StyleClasses="OpenRight" />
<Button Name="Cancel"
Access="Public"
Text="{Loc 'cargo-console-menu-cargo-order-row-cancel-button'}"
StyleClasses="OpenLeft" />
</BoxContainer>
</PanelContainer>
+33 -25
View File
@@ -1,26 +1,34 @@
<PanelContainer xmlns="https://spacestation14.io"
HorizontalExpand="True">
<Button Name="MainButton"
ToolTip=""
Access="Public"
HorizontalExpand="True"
VerticalExpand="True"
StyleClasses="OpenBoth"/>
<BoxContainer Orientation="Horizontal"
HorizontalExpand="True">
<TextureRect Name="Icon"
Access="Public"
MinSize="32 32"
RectClipContent="True" />
<Label Name="ProductName"
Access="Public"
HorizontalExpand="True" />
<PanelContainer StyleClasses="BackgroundDark">
<Label Name="PointCost"
<BoxContainer xmlns="https://spacestation14.io"
HorizontalExpand="True">
<PanelContainer HorizontalExpand="True">
<!-- Btn position hardcoded (args.Button.Parent?.Parent type) in CargoConsoleBUI 71 line -->
<Button Name="MainButton"
ToolTip=""
Access="Public"
VerticalExpand="False"
StyleClasses="OpenBoth" />
<!-- Icon & Name -->
<BoxContainer Orientation="Horizontal"
HorizontalExpand="True"
Margin="4 0">
<TextureRect Name="Icon"
Access="Public"
MinSize="32 32"
RectClipContent="True" />
<Label Name="ProductName"
Access="Public"
MinSize="52 32"
Align="Right"
Margin="0 0 5 0"/>
</PanelContainer>
</BoxContainer>
</PanelContainer>
HorizontalExpand="True"
ClipText="True" />
</BoxContainer>
</PanelContainer>
<Label Name="PointCost"
Access="Public"
MinSize="56 32"
Align="Right"
Margin="0 0 5 0"
HorizontalAlignment="Right"/>
</BoxContainer>
@@ -7,7 +7,7 @@ using Robust.Client.UserInterface.XAML;
namespace Content.Client.Cargo.UI
{
[GenerateTypedNameReferences]
public sealed partial class CargoProductRow : PanelContainer
public sealed partial class CargoProductRow : BoxContainer
{
public CargoProductPrototype? Product { get; set; }
@@ -34,7 +34,10 @@ namespace Content.Client.Cargo.UI
foreach (var order in orders)
{
var product = protoManager.Index<EntityPrototype>(order.ProductId);
if (!protoManager.Resolve(order.Product, out var productProto))
continue;
var product = protoManager.Index<EntityPrototype>(productProto.Product);
var productName = product.Name;
var account = protoManager.Index(order.Account);
@@ -9,7 +9,6 @@ public sealed class TypingIndicatorVisualizerSystem : VisualizerSystem<TypingInd
{
[Dependency] private readonly IPrototypeManager _prototypeManager = default!;
[Dependency] private readonly InventorySystem _inventory = default!;
[Dependency] private readonly SpriteSystem _sprite = default!;
protected override void OnAppearanceChange(EntityUid uid, TypingIndicatorComponent component, ref AppearanceChangeEvent args)
{
@@ -1,7 +1,7 @@
using System.Linq;
using Content.Shared.Chemistry.EntitySystems;
using Content.Shared.Atmos.Prototypes;
using Content.Shared.Body.Part;
using Content.Shared.Body;
using Content.Shared.Chemistry;
using Content.Shared.Chemistry.Components;
using Content.Shared.Chemistry.Components.SolutionManager;
@@ -94,7 +94,7 @@ public sealed class ChemistryGuideDataSystem : SharedChemistryGuideDataSystem
continue;
//these bloat the hell out of blood/fat
if (entProto.HasComponent<BodyPartComponent>())
if (entProto.HasComponent<OrganComponent>())
continue;
//these feel obvious...
@@ -116,7 +116,7 @@ public sealed class ChemistryGuideDataSystem : SharedChemistryGuideDataSystem
}
if (extractableComponent.GrindableSolution is { } grindableSolutionId &&
if (extractableComponent.GrindableSolutionName is { } grindableSolutionId &&
entProto.TryGetComponent<SolutionContainerManagerComponent>(out var manager, EntityManager.ComponentFactory) &&
_solutionContainer.TryGetSolution(manager, grindableSolutionId, out var grindableSolution))
{
@@ -8,7 +8,7 @@
VerticalExpand="True"
HorizontalExpand="True"
MinSize="100 150">
<PanelContainer VerticalExpand="True" StyleClasses="Inset">
<PanelContainer VerticalExpand="True" StyleClasses="BackgroundPanelDark">
<BoxContainer Name="GeneticScannerContents" Margin="5 5 5 5" Orientation="Vertical" VerticalExpand="True" HorizontalExpand="True">
<Label HorizontalAlignment="Center" Text="{Loc 'cloning-console-window-scanner-details-label'}" />
<BoxContainer Orientation="Horizontal" VerticalExpand="True" HorizontalExpand="True">
@@ -35,7 +35,7 @@
</BoxContainer>
</PanelContainer>
<Control MinSize="50 5" />
<PanelContainer VerticalExpand="True" StyleClasses="Inset">
<PanelContainer VerticalExpand="True" StyleClasses="BackgroundPanelDark">
<BoxContainer Name="CloningPodContents" Margin="5 5 5 5" Orientation="Vertical" VerticalExpand="True" HorizontalExpand="True">
<Label HorizontalAlignment="Center" Text="{Loc 'cloning-console-window-pod-details-label'}" />
<BoxContainer Orientation="Vertical" VerticalExpand="True" HorizontalExpand="True">
@@ -2,7 +2,6 @@ using System.Diagnostics.CodeAnalysis;
using System.Linq;
using Content.Client.DisplacementMap;
using Content.Client.Inventory;
using Content.Shared._DV.Silicon.IPC; // DeltaV - IPC Snouts
using Content.Shared.Clothing;
using Content.Shared.Clothing.Components;
using Content.Shared.Clothing.EntitySystems;
@@ -103,12 +102,8 @@ public sealed class ClientClothingSystem : ClothingSystem
List<PrototypeLayerData>? layers = null;
// Begin DeltaV Additions - IPC snouts
var speciesId = inventory.SpeciesId;
if (TryComp(args.Equipee, out SnoutHelmetComponent? helmetComponent) && helmetComponent.EnableAlternateHelmet)
speciesId = helmetComponent.ReplacementRace;
// first attempt to get species specific data.
if (speciesId != null)
item.ClothingVisuals.TryGetValue($"{args.Slot}-{speciesId}", out layers);
@@ -120,7 +115,6 @@ public sealed class ClientClothingSystem : ClothingSystem
if (!TryGetDefaultVisuals(uid, item, args.Slot, speciesId, out layers))
return;
}
// End DeltaV Additions
// add each layer to the visuals
var i = 0;
@@ -279,7 +273,7 @@ public sealed class ClientClothingSystem : ClothingSystem
// Select displacement maps
var displacementData = inventory.Displacements.GetValueOrDefault(slot); //Default unsexed map
var equipeeSex = CompOrNull<HumanoidAppearanceComponent>(equipee)?.Sex;
var equipeeSex = CompOrNull<HumanoidProfileComponent>(equipee)?.Sex;
if (equipeeSex != null)
{
switch (equipeeSex)
@@ -1,5 +1,4 @@
using Content.Client.Hands.Systems;
using Content.Client.NPC.HTN;
using Content.Shared.CCVar;
using Content.Shared.CombatMode;
using Robust.Client.Graphics;
@@ -59,11 +58,6 @@ public sealed class CombatModeSystem : SharedCombatModeSystem
UpdateHud(entity);
}
protected override bool IsNpc(EntityUid uid)
{
return HasComp<HTNComponent>(uid);
}
private void UpdateHud(EntityUid entity)
{
if (entity != _playerManager.LocalEntity || !Timing.IsFirstTimePredicted)
@@ -1,36 +0,0 @@
using Content.Shared.Body.Organ;
using Robust.Client.GameObjects;
using Robust.Shared.Console;
using Robust.Shared.Containers;
namespace Content.Client.Commands;
public sealed class HideMechanismsCommand : LocalizedEntityCommands
{
[Dependency] private readonly SharedContainerSystem _containerSystem = default!;
[Dependency] private readonly SpriteSystem _spriteSystem = default!;
public override string Command => "hidemechanisms";
public override void Execute(IConsoleShell shell, string argStr, string[] args)
{
var query = EntityManager.AllEntityQueryEnumerator<OrganComponent, SpriteComponent>();
while (query.MoveNext(out var uid, out _, out var sprite))
{
_spriteSystem.SetContainerOccluded((uid, sprite), false);
var tempParent = uid;
while (_containerSystem.TryGetContainingContainer((tempParent, null, null), out var container))
{
if (!container.ShowContents)
{
_spriteSystem.SetContainerOccluded((uid, sprite), true);
break;
}
tempParent = container.Owner;
}
}
}
}
@@ -1,22 +0,0 @@
using Content.Shared.Body.Organ;
using Robust.Client.GameObjects;
using Robust.Shared.Console;
namespace Content.Client.Commands;
public sealed class ShowMechanismsCommand : LocalizedEntityCommands
{
[Dependency] private readonly SpriteSystem _spriteSystem = default!;
public override string Command => "showmechanisms";
public override void Execute(IConsoleShell shell, string argStr, string[] args)
{
var query = EntityManager.AllEntityQueryEnumerator<OrganComponent, SpriteComponent>();
while (query.MoveNext(out var uid, out _, out var sprite))
{
_spriteSystem.SetContainerOccluded((uid, sprite), false);
}
}
}
@@ -28,7 +28,6 @@ namespace Content.Client.Communications.UI
_menu.OnBroadcast += BroadcastButtonPressed;
_menu.OnAlertLevel += AlertLevelSelected;
_menu.OnEmergencyLevel += EmergencyShuttleButtonPressed;
_menu.OnExfiltrationLevel += ExfiltrationShuttleButtonPressed; // DeltaV - Exfiltration shuttle
}
public void AlertLevelSelected(string level)
@@ -48,13 +47,6 @@ namespace Content.Client.Communications.UI
CallShuttle();
}
// Begin DeltaV - Exfiltration Shuttle
public void ExfiltrationShuttleButtonPressed()
{
SendMessage(new CommunicationsConsoleExfiltrationShuttleMessage(!_menu!.CountdownStarted));
}
// End DeltaV - Exfiltration Shuttle
public void AnnounceButtonPressed(string message)
{
var maxLength = _cfg.GetCVar(CCVars.ChatMaxAnnouncementLength);
@@ -94,13 +86,6 @@ namespace Content.Client.Communications.UI
_menu.CurrentLevel = commsState.CurrentAlert;
_menu.CountdownEnd = commsState.ExpectedCountdownEnd;
// Begin DeltaV - Exfiltration Shuttle
_menu.CanExfiltrate = commsState.CanCall;
_menu.ExfiltrationCountdownEnd = commsState.ExpectedExfiltrationCountdownEnd;
_menu.ExfiltrationShuttleButton.Disabled = !_menu.CanExfiltrate;
// End DeltaV - Exfiltration Shuttle
_menu.UpdateCountdown();
_menu.UpdateAlertLevels(commsState.AlertLevels, _menu.CurrentLevel);
_menu.AlertLevelButton.Disabled = !_menu.AlertLevelSelectable;
@@ -52,19 +52,10 @@
<RichTextLabel Name="CountdownLabel"/>
<!-- DeltaV - Exfiltration Shuttle -->
<RichTextLabel Name="ExfiltrationCountdownLabel"/>
<Button Name="EmergencyShuttleButton"
Access="Public"
Text="Placeholder Text"
ToolTip="{Loc 'comms-console-menu-emergency-shuttle-button-tooltip'}"/>
<!-- DeltaV - Exfiltration Shuttle -->
<Button Name="ExfiltrationShuttleButton"
Access="Public"
Text="Placeholder Text"
ToolTip="{Loc 'comms-console-menu-exfiltration-shuttle-button-tooltip'}"/>
</BoxContainer>
</BoxContainer>
</BoxContainer>
@@ -29,12 +29,6 @@ namespace Content.Client.Communications.UI
public event Action<string>? OnAnnounce;
public event Action<string>? OnBroadcast;
// Begin DeltaV - Exfiltration Shuttle
public bool CanExfiltrate;
public TimeSpan? ExfiltrationCountdownEnd;
public event Action? OnExfiltrationLevel;
// End DeltaV - Exfiltration Shuttle
public CommunicationsConsoleMenu()
{
IoCManager.InjectDependencies(this);
@@ -78,18 +72,12 @@ namespace Content.Client.Communications.UI
EmergencyShuttleButton.OnPressed += _ => OnEmergencyLevel?.Invoke();
EmergencyShuttleButton.Disabled = !CanCall;
// Begin DeltaV - Exfiltration Shuttle
ExfiltrationShuttleButton.OnPressed += _ => OnExfiltrationLevel?.Invoke();
ExfiltrationShuttleButton.Disabled = !CanExfiltrate;
// End DeltaV - Exfiltration Shuttle
}
protected override void FrameUpdate(FrameEventArgs args)
{
base.FrameUpdate(args);
UpdateCountdown();
UpdateExfiltrationCountdown(); // DeltaV - Exfiltration shuttle
}
// The current alert could make levels unselectable, so we need to ensure that the UI reacts properly.
@@ -129,25 +117,6 @@ namespace Content.Client.Communications.UI
}
}
// Begin DeltaV - Exfiltration Shuttle
public void UpdateExfiltrationCountdown()
{
if (ExfiltrationCountdownEnd is null)
{
ExfiltrationCountdownLabel.SetMessage(string.Empty);
ExfiltrationShuttleButton.Text = Loc.GetString("comms-console-menu-call-exfiltration");
return;
}
var exfiltrationDiff = MathHelper.Max((ExfiltrationCountdownEnd - _timing.CurTime) ?? TimeSpan.Zero, TimeSpan.Zero);
ExfiltrationShuttleButton.Text = Loc.GetString("comms-console-menu-recall-exfiltration");
var exfiltrationInfoText = Loc.GetString("comms-console-menu-exfiltration-time-remaining",
("time", exfiltrationDiff.ToString(@"hh\:mm\:ss", CultureInfo.CurrentCulture)));
ExfiltrationCountdownLabel.SetMessage(exfiltrationInfoText);
}
// End DeltaV - Exfiltration Shuttle
public void UpdateCountdown()
{
if (!CountdownStarted)
@@ -291,7 +291,6 @@ namespace Content.Client.Construction
_ghosts.Add(comp.GhostId, ghost.Value);
var sprite = Comp<SpriteComponent>(ghost.Value);
_sprite.SetColor((ghost.Value, sprite), new Color(48, 255, 48, 128));
if (targetProto.TryGetComponent(out IconComponent? icon, EntityManager.ComponentFactory))
{
@@ -306,20 +305,11 @@ namespace Content.Client.Construction
var targetSprite = EnsureComp<SpriteComponent>(dummy);
EntityManager.System<AppearanceSystem>().OnChangeData(dummy, targetSprite);
for (var i = 0; i < targetSprite.AllLayers.Count(); i++)
_sprite.CopySprite((dummy, targetSprite), (ghost.Value, sprite));
for (var i = 0; i < sprite.AllLayers.Count(); i++)
{
if (!targetSprite[i].Visible || !targetSprite[i].RsiState.IsValid)
continue;
var rsi = targetSprite[i].Rsi ?? targetSprite.BaseRSI;
if (rsi is null || !rsi.TryGetState(targetSprite[i].RsiState, out var state) ||
state.StateId.Name is null)
continue;
_sprite.AddBlankLayer((ghost.Value, sprite), i);
_sprite.LayerSetSprite((ghost.Value, sprite), i, new SpriteSpecifier.Rsi(rsi.Path, state.StateId.Name));
sprite.LayerSetShader(i, "unshaded");
_sprite.LayerSetVisible((ghost.Value, sprite), i, true);
}
Del(dummy);
@@ -327,6 +317,8 @@ namespace Content.Client.Construction
else
return false;
_sprite.SetColor((ghost.Value, sprite), new Color(48, 255, 48, 128));
if (prototype.CanBuildInImpassable)
EnsureComp<WallMountComponent>(ghost.Value).Arc = new(Math.Tau);

Some files were not shown because too many files have changed in this diff Show More