Commit graph

10034 commits

Author SHA1 Message Date
w3ryfrate
02e8523f05
BreakerFlipRule tweaks and ApcToggleBreaker cleanup (#45097)
* Logging fixed + minor clean-up of ApcToggleBreaker method

* ATS is no longer targeted by BreakFlipRule

* Fixed typo

* Now uses Uid

* Now uses Uid

* Fixed look-up

* Added blacklist to BreakerFlipComponent to specify which entities shouldn't trigger the game rule

* small fix
2026-08-11 21:33:52 +00:00
InsoPL
9174b7ae71
Dock types visible on shuttle nav console (#44666)
* init push

* after merge fixes

* arrivals

* upsie

* fixes

* early return

* name changes
2026-08-11 15:04:24 +00:00
āda
9fd1abcff6
Clumsy status effect + tests (#45262)
* component outline

* System port

* super bonk detour

* working good!

* relay changes

* the death of clumsy

* why it stop working??

* now to test it

* tested it

* Actual genuine tests

* final checks

* buff up catch test

* annoying test fail

* refactor: minor whitespace and var rename changes

* refactor: changed comments on top of methods to xml-doc for ClumsyStatusEffectSystem

---------

Co-authored-by: iaada <iaada@users.noreply.github.com>
Co-authored-by: Fildrance <fildrance@gmail.com>
2026-08-11 10:19:19 +00:00
Krunklehorn
8d1829335e
Power outages are shorter and only affect the main (largest) grid (#37841)
* Cancel if APC is in unpowered list

* Also prevent re-power via re-construction

* Revert useless dependency

* Reduced event time by 10-20 seconds

* Move to ApcSystem

* Also verify game rule is active

* Empty commit

* Move station and affected checking

* Check for main station grid

* Fix format warnings

* Somehow this got duplicated

* Make GetRuleAffectingEntity() also check for BecomesStationComponent

* Make APCSystem also check for ActivegameRuleComponent

* Removed redundant checks and duplicate logic

* Add GridEventEligibleComponent with flag for PowerGridChecks

* Propagate GridEventEligibleComponent.

* Revert GridEventEligible

* Use GetLargestGrid
2026-08-11 04:55:02 +00:00
DrSmugleaf
314b45f65f
Move BecomesStationComponent to Shared (#45268)
* Move BecomesStationComponent to Shared

* Jarvis autonetwork this shit
2026-08-11 03:06:50 +00:00
Whatstone
62c4f75083
Monkey sprites for the color jumpsuit, default ClothingVisuals checks for equipper species (#44189)
* ClientClothing: check for species in ClothingVisuals

* Remove unused dict

* 4-space meta.json

* Run CheckForSpeciesSpcfcLayers in RenderEquipment

* cleanup default clothing visuals

* comments

* that, not which

* wrong entity doofus

* ClothingCleanup, apply AJCM's suggestions

Co-authored-by: AJCM-git <60196617+AJCM-git@users.noreply.github.com>

* the alphabet

* wrong entity doofus

* writing a few comments

* AJCM suggestions, part two

Co-authored-by: AJCM-git <60196617+AJCM-git@users.noreply.github.com>

* accidental double caps

* comments!

---------

Co-authored-by: AJCM-git <60196617+AJCM-git@users.noreply.github.com>
2026-08-11 01:34:12 +00:00
Winkarst
bedab1f42b
Fix overflow jobs still rolling for players banned from them (#44833)
* Fix

* Update

---------

Co-authored-by: Princess Cheeseballs <66055347+Princess-Cheeseballs@users.noreply.github.com>
2026-08-10 17:32:55 +00:00
ScarKy0
0f46f12599
Move DamageOverlay to an Entity System + Component (#45165)
* may god have mercy upon my soul

* stuff

* Revert "Always raise MobStateChanged on client (#45103)"

This reverts commit 1951b00875.

* keep the cleanup

* fuck you though

* review

* Update Content.Shared/DamageOverlay/SharedDamageOverlaySystem.cs

Co-authored-by: Whatstone <166147148+whatston3@users.noreply.github.com>

* deltas

* queries

---------

Co-authored-by: Whatstone <166147148+whatston3@users.noreply.github.com>
2026-08-10 13:27:15 +00:00
ScarKy0
00acae3b62
Changeling Regen Stasis (#45104)
* init

* fixes, ghosting

* i dont know man

* popups, slight rework, actually works now

* review

* failn't

* partial review

* new sprites

* cleanup

* fix

* fix multiple gasps, allow stasis when dead

* typo

* yeah

* yeah

* wuh

* merge master part 2

* sub attribute

* first try?

* renames

* network

* identity

* fix ts

* fix imports

* applying state check

* temp

* may god have mercy upon my soul

* stuff

* Revert "stuff"

This reverts commit de7ec9cb9f761f5cd954921a0efa495388634d30.

* Revert "may god have mercy upon my soul"

This reverts commit 3e1aa567d47e0576daa6ed420dad29b80c112a31.

* Revert "temp"

This reverts commit 501dd6d4f6fd22c466e4abb2a284212636123c4a.

* Revert "applying state check"

This reverts commit 3c211f0a54812797987c7ab93a9b140f66a9088d.

* fix

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2026-08-10 12:43:59 +00:00
phönix
da8bf6df00
Predict intercom examine. (#43107)
* radiosystem is funny

* review

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

* dont forget your tests

* dont forget your loc

* networking

Co-authored-by: Tayrtahn <Tayrtahn@users.noreply.github.com>

* dont return because its breaks

* uh

* review

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

* more predictions and cleanup

* refactor: just me, being picky about whitespaces and commetns formatting

---------

Co-authored-by: slarticodefast <slarticodefast@users.noreply.github.com>
Co-authored-by: moonheart08 <moonheart08@users.noreply.github.com>
Co-authored-by: Tayrtahn <Tayrtahn@users.noreply.github.com>
Co-authored-by: Tayrtahn <tayrtahn@gmail.com>
Co-authored-by: Pok245 <113675512+Pok27@users.noreply.github.com>
Co-authored-by: Fildrance <fildrance@gmail.com>
2026-08-10 07:59:08 +00:00
NopeOfAllNopes
5280f0cebe
Mech Control Panel now closes on Pilot Eject. (#45036)
* Fix for mech control panel not closing on pilot exit.

* Added line spaces back to maintain formatting.

* Check for TryEject to see if we should actually close the UI.

* Added second _ui.CloseUI() to OnMechExit event, will properly close UI for pilot if they are forcefully ejected from the cockpit.
2026-08-10 04:03:10 +00:00
Fildrance
68de6b6dcf
Feature/issue 41116 artifacts partial fix (#45148)
* refactor: as teleportation can work with entities out of PVS it cannot be predicted, so moving it to server

* refactor: use predicted random and remove unused IsFirstTimePredicted from XAEDamageInArea

* refactor: use predicted random and removed IsFirstTimePredicted from XAERandomTeleportInvokerSystem

* refactor: fix horrible mistake of having server comp networked

* refactor: fix XAEDamageInAreaSystem mispredicts

* refactor: move random teleport invoker to shared

* refactor: forgotten extra networked things
2026-08-09 09:08:07 +00:00
riccardi48
5ebe181f6f
Fix Telepad order duplication (#44935)
* bugfix

* this is needed to

* whitespace

* change where order is removed from
2026-08-09 05:21:44 +00:00
Whatstone
ba0d4a7749
Move server_config.toml to Resources, copy only on publish. (#44790)
* Move server config, removed duped fields, add test

* Use Validate calls instead of setting the cvars

* grammar

* Apply ElectroJr's suggestions

* remove ServerConfigTest

* Uncomment the remaining commented out config vals
2026-08-09 05:11:49 +00:00
metalgearsloth
bd31e36f7b
Fix decal prediction (#45210)
* Fix decal prediction

Tried to do it the clever way in after state handler but didn't reset properly so we do it the stupid way.

* a

* also these fixes
2026-08-09 03:54:27 +00:00
Connor Huffine
8b48748048
Give mobs amusing name prefixes (#44977)
* Functional product

* Bugfix

* Handle empty case gracefully

* Fix inserting bad values

* First set of tests

* Don't need this

* Dont add empty modifers to names

Signed-off-by: Connor Huffine <chuffine@gmail.com>

* Typo and [SubscribeLocalEvent]

Signed-off-by: Connor Huffine <chuffine@gmail.com>

* Refactor GenerateUniqueName to GenerateUniqueNameModifier

Signed-off-by: Connor Huffine <chuffine@gmail.com>

* Fix returning name when empty

Signed-off-by: Connor Huffine <chuffine@gmail.com>

* Docs

Signed-off-by: Connor Huffine <chuffine@gmail.com>

* Tests

Signed-off-by: Connor Huffine <chuffine@gmail.com>

* Fix comment

Signed-off-by: Connor Huffine <chuffine@gmail.com>

* Fix FTL test

Signed-off-by: Connor Huffine <chuffine@gmail.com>

* Add adjectives

Signed-off-by: Connor Huffine <chuffine@gmail.com>

* Amateur hour

Signed-off-by: Connor Huffine <chuffine@gmail.com>

* Simplify spawning

Signed-off-by: Connor Huffine <chuffine@gmail.com>

* Even more streamlined

Signed-off-by: Connor Huffine <chuffine@gmail.com>

* Improve comment

Signed-off-by: Connor Huffine <chuffine@gmail.com>

* Apply suggestions from code review

Co-authored-by: Whatstone <166147148+whatston3@users.noreply.github.com>
Co-authored-by: AJCM-git <60196617+AJCM-git@users.noreply.github.com>

---------

Signed-off-by: Connor Huffine <chuffine@gmail.com>
Co-authored-by: AJCM-git <60196617+AJCM-git@users.noreply.github.com>
Co-authored-by: Whatstone <166147148+whatston3@users.noreply.github.com>
2026-08-09 00:22:15 +00:00
Prole
502af6955d
Predict Forensics V2.0 (Ready for Review) (#40693)
* What sitting on code does to a branch + no mo owner v2

* Replacing ViewVariables with AutoNetworkedField + Missed One V2

* Removing Virtual Methods & Renaming ForensicsSystem to SharedForensicsSystem (Also made it abstract) V2

* IProduceWidgets Review Changes & some of my own V2

* Lil Cleanup V2

* Part 1 of Review Changes (Only thing left is the BUI stuff and the constructor) V2

* It now WORKS!!! (Still needs the BUI and constuctor changes, ill figure it out later)

* Test (Removal of ServerSide VomitSystem.cs)

* Ok...

* Moved System BloodstreamSystem.cs to SharedBloodstreamSystem.cs & deleted client BloodStreamSystem.cs to make SharedBloodstreamSystem.cs sealed. (No Unregistered errors)

* Prediction

* Fix?

* No mo log error?

* Revert "No mo log error?"

This reverts commit 50c15a3deab6af9dffd7baed45820bae5558e41f.

* Constructor going up

* No ForensicScannerBoundUserInterface.cs (It doesnt wanna scan anymore but it doesnt crash)

* For Conflicts

* Guh

* Yea

* Organization & no ErrorHell (maybe)

* Dirtying

* Dirtying take 2

* Revert "Dirtying take 2"

This reverts commit 5735012e21f43808db3ae010fce268eac24d0583.

* the dirties dont do much here

* For Conflict

* Readded

* Another Conflict Commit Fix

* Conflict Fix Thrice

* Empty Space

* Keep it simple

* Add it back in

* Move BloodstreamSystem stuff thats causing the error back to system. This'll prob fix the conflict

* Conflict fix?

* Trust the fix

* Looked at other prediction PR's, they had better code.

* To not mix up the system in client

* Removing Conflict

* For conflict

* For the conflic fix, will be removed later

* Scuffed Fix

* Removal & Adding the Decouple

* Took some HEAVY pointers from SirWarocks work. The Roadblock has been CLEARED, DOAFTERS WORK NOW!!

* Cleanup & Optimizing, mostly comps.

* More Optimization, most of this is just imported Warock Code, his QOL included. Did not want to remove SolutionDNA's tho, mostly due to a Log.Debug in OnPrint.

* Forgot that the Print Refreshes, more of Warocks work.

* Removing Loc.GetString

* All of BloodStream to Shared, hopefully no errors.

* Sketchy Dirty Removed

* Removed Timer.Spawn, added FrameUpdate cause anything else only updated when the window opened, & a bit of cleanup.

* No mo Mispredict

* GenerateDnaEvent Predicted

* Forgot the user

* I knew it was real, bloodstutter is REAL and now GONE.

* Cant dirty NewEntityBloodData due to potential stutter, so its safer to put it all back into server. again...

* Clearer

* Thank you leahcat, no more identity leak.

* Routine Maintenance

* sealing the class

* it checks for this now?!

* While im here, FileScope Namespaces & removing unused namespaces

* Update Attribute Type (SirWarock Import), it works and is much easier to read.

* Forever Fixing Conflicts

* Readonly Genocide & Partial Maxing

* LGTM, BloodstreamSystem moved to SharedBloodstreamSystem!

* Sohn

* If OG Github back push this commit

* One Billionth Commit Fix

* Removed client/server stuff

* Made implicit

* NewLine & comment on why AutoGenCompState is true

* Updatin the rest of the Popups to use Entity

* I think that's what they meant? It looks cleaner at least.

* Mass Attribute for LocalEvents that are safe to change.

* Putting it back as abstract

* maybe?

* Guhh, rolling back empty client/server of BloodStream

* Removed Client/Server BloodstreamSystems, changed access modifier from protected to private, & renamed SharedBloodstreamSystem to BloodstreamSystem

* From Protected to Private

* Removed comment & made it explicit on what changed to true

* Guh, hopefully thats all of it...

* Forgot

* Review

* Test Push

* Line 316 in SharedForensicsSystem was causing the errors, better to play it safe

* Review Changes

* Update Content.Shared/Forensics/Events.cs

Co-authored-by: Whatstone <166147148+whatston3@users.noreply.github.com>

* The only thing SolutionDNAs does is search and clears itself. I see no reason to keep it

* The print.disabled didnt properly disable when cleared. So ill just use the old if check

* Figured out the rest of the SubscribeLocalEvents and networking BloodData cause its fully in Shared

---------

Co-authored-by: Whatstone <166147148+whatston3@users.noreply.github.com>
2026-08-08 22:48:36 +00:00
Centronias
8ad82dc665
Refactor hunger and thirst systems (#34166)
* ready

* oop forgot the HUD stuff

* woooo examinable generalized tooooo

* oop I forgot to rename the files

* bungled the merge, I guess

* this is called hubris

* Verin's comments

* PR comments

how did I use `ProtoId<> Hunger` in more than a few spots but then just say "thirst can stay a literal :^)"?

also changed a few spots to my beloved
```
functionInvocation(
  one
  param
  per
  line
)
```
```

* Satiation effect condition now with ADDED FUNCTIONALITY?? :o

* tfw you trust the markov chain recommendation because long generic type names are tough q-q

* TFW YOU TRUST THE MARKOV CHAIN BUT IT DOESN'T UNDERSTAND THE DIFFERING SEMANTICS OF MAX AND MIN AHHHHH

* tfw you think to yourself "i need to fix the effects", but then forget to and the code doesn't even compile.

* centralize satiation constants

* other small comments

* The enum is dead.
But at what cost?

* oop

* like 12 more ooperses

* green checks are mine by right; I have performed the rites; I have done my part; you will not deny me this succor

* oops I changed the semantics from `<=` to just `<` and didn't update the tests :)

* serialization has bested me :agony:

also PR comments

* never trust the auto merge :agony:

* literally just this

* force engine back to master because idk why it's different

* fix randomness and update master

* submodule fuckery

* fall before my might

* okay I ran the linter, ARE YOU HAPPY??

* cursed ovis, trouble me no more

* protoman stuff

* inb4 linter bonks me

* break non-critical stuff from the main satiation proto

* ![live crundle reaction](https://preview.redd.it/xh68xqcz518g1.png?width=677&format=png&auto=webp&s=79ba10fe49ec3f8306217732321a7c5429bdfb14)

inb4 this breaks something somewhere lmao

* my two greatest PRs COLLIDE

I wonder why robust says it's changed :hmmclueless

* sanity is at an all-time low

* serialization, I guess

* I don't believe you

* field deltas on class \w*satiation\w*components

* PR comments

* 我做泥團子 😔

* doc + kill one property that's trivially accessible after the threshold caching changes

* fixes

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
Co-authored-by: AJCM-git <ajcm_mail@disroot.org>
2026-08-08 22:44:24 +00:00
Pok
6f6a5694c8
Botany refactor (#44576)
* Restarting files from scratch

* reduce file count, more progress

* Additional partial work

* update 1

* update 2

* TODO execution

* fix

* Update PlantGrowthComponent.cs

* fix 1

* growth correction

* PlantGrowthComponent

* update 99

* last update

* oops

* Update vegan-meatball.yml

* Data loss

* ToxinsComponent

* Default components

* minor fix

* PlantTraitsComponent

* fix error

* fix error 2

* Copy growth components

* last update within this PR

* AutoHarvestGrowth remote

* Viable

* fix

* Fix growth rate

* Improvements to the YAML

* merge update

* fix

* code cleanup

* TODO

* fix

* oops

* oops 2

* more TODO

* fix names

* fix names oops

* Harvest bug fixes

* fix tests

* refactor: cleanup after mering master

* Update ConsumeExudeGasGrowthSystem.cs

* refactor: make this piece of happiness and ponies work

* review

* oops

* fix <summary>

* Separation of plant components into PlantComponent and PlantTraitsComponent and cleaning

* EnsureUniqueSeed

* refactor: change Resolve to TryComp where appropriate

* refactor: review comments - try get for components, clenaups

* refactor: minor yaml cleanups

* fixing trifles

* botany-rework-part-3

* API and mutations

* minor fixes

* Update WeedPestGrowthSystem.cs

* Update plants.yml

* PlantChemicals

* YAMLLinter

* review and some lost code

* YAMLLinter part 2

* plants.yml

* Aaaa tests

* seedId

* clone plant component

* Update clone.yml

* refactor: remove suppress possible null reference exception

* refactor: changed HasPlantAlive to TryGetAlivePlant, minor cleanup

* Separation of tray and plant

* oops

* PlantingPlant

* a little more cleaning

* oops 2

* botany-rework-part-4

* predict and API

* Field OldAgeDamage

* oops

* YMAL

* YMAL 2

* YMAAAAAL

* Update PlantToxinsSystem.cs

* review

* Update randomMutations.yml

* minor fix design

* Updates the plants visuals not every frame

* bug fixes

* some fixes

* bugfix and renames

* Dirty

* Replace ComponentRegistry

* unnecessary API

* fix merge

* build

* build 2

* Review by AJCM

* del PlantDataComponent and fix harvest

* fix all

* final review

* Update PlantTrayVisualizerSystem.cs

* fix merge

* Update PlantTraitsComponent.cs

* Traits LocId fix

* Update SpawnEntitiesBehavior.cs

* aaaaaaaaa

* fix all part 2

* PlantDataComponent revert

* aoao

* fix all part 3

* Update PlantTraitsComponent.cs

* Update clone.yml

* Reviews

---------

Co-authored-by: PraxisMapper <praxismapper@gmail.com>
Co-authored-by: pa.pecherskij <pa.pecherskij@interfax.ru>
Co-authored-by: Princess Cheeseballs <66055347+Princess-Cheeseballs@users.noreply.github.com>
Co-authored-by: AJCM-git <ajcm_mail@disroot.org>
2026-08-08 21:58:01 +00:00
metalgearsloth
9e29deed2c
Decal chents + prediction (#44500) 2026-08-08 16:57:15 +10:00
metalgearsloth
4310a9e6d8
Job weight rework (#45056)
* Job weight rework

Instead of global job priorities we do:
- Fill up minimum job slots first by priority. Has same-department / anyone / never fallbacks.
- Players get their jobs by pref, filling up up to roundstart values on gamemapprototype (AKA maximums)

Default weights are used if the map doesn't specify.

* a

* I square to god
2026-08-08 01:44:53 +00:00
metalgearsloth
277b232caa
Add spacelight (#45187)
* Ignore space tiles for rooves

If we get spacelight this looks better.

* Add spacelight

SS13 parity idk if wanted. Dampened the color a bit as it came off a bit strong.

* Apply suggestion from @metalgearsloth
2026-08-08 01:37:21 +00:00
Samuka
d00ba81af3
Shock module (#44391)
* zap icon

* recipe todo

* add module

* add action image

* add electrified sprite to engi xenoborg

* add one pixel

* anti fun change

* remove useless action

* remove texture

* add shock delay

* check is done in the right place now

* pause stuff

* use custom serializer

* make shock only 3 seconds

* change values

* microbalance commit

* move down

* captalization
2026-08-05 05:31:25 +00:00
Whatstone
7c7544e014
Add the ability for ghosts to extinguish candles. (#44810)
* SpookyExtinguish, oooooo

* comments, intensity

* Use allowedIntensity in GhostSystem

* commento-stuffed

* GhostComponent: return to BooCount for sanity

* unindento

* fix ghost component, dependency order (holy shit)

* More cleanup than feature at this point

* Add partial to PoweredLightSystem

* event field order, ghost system comments

* Separate spooky, consistency w.r.t. DoGhostEvent

* BooActionEvent handler to GhostSystem.Boo, fix ext

* featuring kenny blankenship and vic romano

* fix maximum value

* Fix BooIntensity comment

* remove whitespace

* comments, RevenantSystem: set handled

* "for a typical ghost"

* Address PR suggestions

* Use Handled, SpookyLight: BooIntensity->Intensity

* Use Handled in BooActionEvent handler, update name

* remove query

* address beck-thompson's requested changes + Handled

* ResponseIntensity setter, private Handled setter

* Check Handled, not !Handled

* there is a third

* the hell was this using placement

* Obsolete Extinguish, Try with Entity<T>

* why wasn't this using TimeOffsetSerializer

---------

Co-authored-by: iaada <iaada@users.noreply.github.com>
2026-08-04 05:15:17 +00:00
Rami
bcf6324781
Xenoborg Nanite Gun + ComplexProjectileComponent (#43120)
* Xenoborg Nanite Gun

* Fix Sprite

* All the C# + Bullet Impact

* Muzzle flash + module

* Audio + Mag Sprites + Broken Crystals

* Fix fails + description

* fix

* Requested Changes Thanks B-krill :)

* Change healing values to 8

* Fix fails mayhaps

* Tweak Balancing two

* Balance changes final

* Requested chnages

* Cartridge Resprite

* New sounds by Sadie :D

* unrelated test

* Forgot to make module sprites

* Beck Changes

* Fix?

* New sprites :/

* Thanks Samuka :)

* Fix failure thanks orks :)

* Muzzle flash

* FURTHERgit add -A

* offset change

* Requested changes

* oops

* add whiteline

* make it for all borgs

* revert to whatever

* old sprites yay

* Fix heisentest

* oops

* new sprites

* fix

* description change

* ammo sprites

* attributions

* fifty commits yaygit add -A

* wtf

* MACROBALANCE RAHH

---------

Co-authored-by: beck-thompson <beck314159@hotmail.com>
Co-authored-by: Samuel-C <samuelcamilo8@gmail.com>
2026-08-03 16:40:13 +00:00
riccardi48
0e3e1fd8c1
Fix Telepad is able to shutdown (#44937)
init
2026-08-03 08:36:22 +00:00
Голубь
c86c92c5cf
update namespace for shared ghost folder (#45095)
a
2026-08-03 07:16:25 +00:00
ScarKy0
b65eb25098
Changeling Devour Most Objective (#44169)
* loving it

* wording ig

* first pass

* makes more sense

* Update changeling.yml

* issuers to prototypes

* *screams!!!!!!!!!!!!!

* functional

* yes im salty about the order

* works!

* screw this text

* add it to rolls

* nah

* review

* partial review

* no more roundend text

* remove append stuff

* guh

* var
2026-08-03 02:30:28 +00:00
Pok
5148a44a5e
PressureImmunity StatusEffects (#43667)
* PressureImmunityStatusEffects

* System

* fix

* fix 2

* oops

* review

* review

* fix

* Update PressureImmunityStatusEffectSystem.cs

* PermanentStatusEffectsSystem

* fix

* oops
2026-08-02 02:08:27 +00:00
August Sun
0dd1e6e3a8
Gives the Heavy Xenoborg a Burst Fire Laser module; causes targets to burst into fire with burst fire (#43014)
* Initial System and Comp implementation, moves FlammableSystem to Shared

* Revert "Initial System and Comp implementation, moves FlammableSystem to Shared"

This reverts commit 41b4ab839f97645705c733ca62c19851992caea1.

* Adds SharedFlammableSystem, adds hitscanignitesystem and hitscanignitecomponent

* Switching up method used

* Cleaning up system with notes

* THIS SHOULD WORK BUT WHY NOT

* converts random roll to proper function, adds firestacks field to HitscanIgniteComponent

* removed hitscanignite from laser

* Code cleanup, moving everything to Server

* more cleanup

* Expanded scope of PR, adding xenoborg module for Heavy xenoborg, firing burst ignite lasers

* typo

* Added xeno laser sprites

* passed adjustfirestacks into TryComp

* changed accuracy, recoil and damage values

* Altered accuracy values, removed lathe recipe

* fixing yaml errors

* new sprites for xenoborg burst fire laser, new sound for xenoborg burst fire laser, new icon for burst fire laser module

* Fixing sprite assignment

* typo

* sprite corrections, increased recharge speed

* sprite fixes and naming convention

* What did I doooo

* revert changes to submodule

* Remove changes to RobustToolbox

* Update Content.Server/Weapons/Hitscan/Systems/HitscanIgniteSystem.cs

Co-authored-by: Samuka <47865393+Samuka-C@users.noreply.github.com>

* Update Resources/Textures/Objects/Weapons/Guns/Projectiles/projectiles.rsi/meta.json

Co-authored-by: Samuka <47865393+Samuka-C@users.noreply.github.com>

* Update Content.Server/Weapons/Hitscan/Systems/HitscanIgniteSystem.cs

Co-authored-by: Samuka <47865393+Samuka-C@users.noreply.github.com>

* Update HitscanIgniteSystem.cs

* Update HitscanIgniteSystem.cs

* Update borg_modules.yml

* Update HitscanIgniteSystem.cs

* Update borg_modules.yml

* module sprite change

* rename to xenoborg fire laser ray

* fix and balacne

---------

Co-authored-by: august-sun <45527070+august.sun@users.noreply.github.com>
Co-authored-by: Samuel-C <samuelcamilo8@gmail.com>
Co-authored-by: Samuka <47865393+Samuka-C@users.noreply.github.com>
Co-authored-by: beck-thompson <beck314159@hotmail.com>
2026-08-01 19:31:35 +00:00
w3ryfrate
392903105b
Fix machine frames crashing game when destroyed by gun (#45077)
Fixed bug
2026-08-01 16:50:17 +00:00
AndrewFenriz
e934829cb3
VendingMachine refactor (systems. UI, components) (#44896)
* better

* VendingMachineComponent upd

* move components

* small fix

* move some fields to VendingMachineEjectComponent

* move some fields to VendingMachineVisualsComponent

* fix

* move some fields to VendingMachineDispenseOnHitComponent

* move NextEmpEject to VendingMachineEjectComponent

* upd

* split shared system to eject

* no more dummies for name

* fix contraband inventory

* small fix

* and again

* move VendingMachineDispenseOnHitComponent to server

* upd dispense

* upd

* move visuals to client

* fix

* move canshoot to server

* fix client

* fix

* upd

* fix merge

* fix

* upd1

* afterhandlestate

* upd

* more docs and protoid

* upd visuals

* upd components

* reorganize

* Entity<>

* revert AfterAutoHandleState
2026-08-01 15:44:49 +00:00
metalgearsloth
f90d927c48
Add job prio commands (#45057)
Useful for debugging with headless clients.
2026-08-01 15:43:27 +00:00
MissKay1994
ec4518f0ef
Shorten goliath stun duration (#45052)
* No more permastuns

* Throwing rocks at the problem

* Update StunOnCollideSystem.cs

* Update Content.Server/Stunnable/Systems/StunOnCollideSystem.cs

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

---------

Co-authored-by: SnappingOpossum <snappingopossum@outlook.com>
2026-08-01 09:54:05 +00:00
deltanedas
243ffe5c24
Improve VehicleCanRunEvent (#44947)
* improve VehicleCanRunEvent

* !

---------

Co-authored-by: deltanedas <@deltanedas:goida.zip>
2026-08-01 03:32:21 +00:00
Whatstone
2dd9f035a8
Bugfix: Holosigns, dragon rifts align themselves with the grid (#45063)
* Fix holosign rotation

* figgs dragon rift

* DragonSystem: use subscriptions

* HUH

* Apply SnappingOpossum's suggestions

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

* I can't believe he's done this

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

---------

Co-authored-by: SnappingOpossum <snappingopossum@outlook.com>
2026-08-01 03:23:57 +00:00
Fildrance
bb5f8d696a
Additional console commands for debugging Xeno Artifact (#41455)
* feat: xeno artifact debug commands

* refactor:  minor renaming + whitespaces

* refactor: do not allocate unless needed

* refactor: rename common xeno-artifact commands localization string

* refactor: extract reusable parts of code, change command to work with EntityUid and not with NetEntity

* refactor: renaming

* refactor: make all commands toolshed

* refactor: localization fix, command naming reverted to camelCase, xml-doc for new commands

* refactor: make toolshed tuple actually work

* refactor: remove unused code

* refactor: cache for EffectPrototypes

* refactor: fix unlcokNode command, remove engine copy-paste for TryParseEntity

* refactor: fix localization for toolshed

* refactor: remove unused dependency

* refactor: caching systems for XenoArtifactCommand where possible, comments clarification, whitespacing

* refactor: added readonly to SharedXenoArtifactSystem.EffectPrototypeIds

* refactor: use component to detect which proto is xenoarch effect

* refactor: fix missing partial for XenoArtifactCommand

* refactor: fix readonly on dependencies for XenoArtifactCommand

* refactor: fix missing partial for nested XenoArtifact related parsers

* refactor: cleanup after merge

* refactor: remove obsolete IPrototype.HasComponent call and unused using

* refactor: change xenoarch commands to lowercase (as convention dictates)

* refactor: XenoArtifactNodeParser and XenoArtifactTypeParser are now CustomCompletionParser (removed duplicate code)

* refactor: XenoArtifactNodeParser is now CustomCompletionParser, moved custom parsers to shared/toolshed/parsers

* refactor: todo for ent proto caching, moved XenoArtifactCommand to toolshed namespace

* refactor: fix xenoartifact:totalresearch command

* refactor: remove system caching, clean whitespaces

* fix: fix localization for xenoarch commands

* refactor: moved StatusEffectCompletionParser to shared, added same todo remark for cache of status effect entity prototypes.

* refactor: use proxy methods in command and  _entityManager.System in all parsers

* refactor: mved commands and parsers into respective folders

* refactor: access restriction for cached EntityPrototypeIds

* refactor: todo link to issue, fixed DI in StatusEffectCompletionParser

---------

Co-authored-by: pa.pecherskij <pa.pecherskij@interfax.ru>
2026-07-31 17:48:45 +00:00
AndrewFenriz
d2472f82ed
Hand blocker for vehicles (and mechs) (#45045)
* add BlockHands

* and mechs

* move to another place

* small fix

* TrySpawnUnremoveableVirtualItemInHand

* upd

* fix docs

* VehicleHandBlockerComponent
2026-07-31 17:48:40 +00:00
opl-
9b3daeaf93
Fix teleport scroll teleporting into walls (#40815)
* Move Ulam spiral generator to its own class

* Make UlamSpiral.Point return a zero vector for n<=0

* Add UlamSpiral.PointsForMaxDistance

* Fix TeleportLocationsSystem can teleport user into a wall

Uses an Ulam spiral pattern to check for valid locations around the target entity.

* Handle teleportation failures more gracefully

* Fix unconventional name for delay system field

* Fix client crashes when target entity is paused/in nullspace

* Show popup when teleportation destination is obstructed

---------

Co-authored-by: opl <4833621+opl@users.noreply.github.com>
2026-07-31 17:47:17 +00:00
KeTuFaisPiKiNut
ea2dd83e77
Mindshield Refactor + Changeling Fake Mindshield (#43864)
* the great mindshield rework

* it just works :D

* glory to nyanotransen, I said with my very obviously fake mindshield.

* work on things to remove manual mindshield queries

* very wip impl

* yeah there we go apc destroyed mission accomplished

* some comments

* textures!

* i will stab the person who decided to spell it differently.

* rename things since i am crazy (i was also crazy once)

* minor spelling mistake :(

* Revert "minor spelling mistake :("

This reverts commit ece1f1c3509063d1c43b7f136509ed4df2cd62e7.

* Revert "rename things since i am crazy (i was also crazy once)"

This reverts commit e75411d4bb84e819ca525b9fa0fe1792b6ace0b6.

* Revert "i will stab the person who decided to spell it differently."

This reverts commit 696ffdc062094cc9e4cf382f1e39b4ae4e3d781d.

* fixed things + better texs

* aaaa

* INSANITY RAHHHHH

* e

* changing things a bit.

* testifying things actually no insanity

* cleaning

* only doing this cuz of heseintests failing

* cleanup

* Update Content.Server/Revolutionary/RevolutionarySystem.cs

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

* Apply suggestions from code review

fucking suggestions WHY IS THE BUTTON THERE EVEN WHEN ITS DISABLED!!!!

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

* half of things for scarky0

* event merging stub / beginning

* big rewrite

* there ya go scar

* e

* NETWORK YOU PRICK

* Update Content.Shared/Mindshield/SharedMindShieldSystem.cs

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

* Update Content.Shared/Mindshield/SharedMindShieldSystem.cs

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

* Update Content.Server/Revolutionary/RevolutionarySystem.cs

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

* Update Content.Shared/Mindshield/FakeMindshieldSystem.cs

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

* e

* RAHHHH

* cleaning

* Update changeling.yml

* Update meta.json

* slarti 1/3

* slarti things 2

* le real fix

* commit & push

* Update Content.Client/Overlays/ShowMindShieldIconsSystem.cs

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

* Update Content.Server/Implants/MindshieldImplantSystem.cs

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

* Update Content.Shared/Mindshield/SharedMindShieldSystem.cs

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

* Update Content.Shared/Mindshield/FakeMindshieldSystem.cs

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

* Update Content.Shared/Mindshield/Components/MindShieldStatusComponent.cs

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

* scarky0

* dirty

* fml

* robust thyself now

* minor fix

* stub

* Revert "stub"

This reverts commit c1204b88d3ae1bbdca2deeb075a9dd0d6c529326.

* s

* jrwebiwerhweir

* shrimple fix

* Apply suggestions from code review

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

* yeeeuuuwhqeheueuuu

* rweifohgeterwt

* cleaning, compiling

* container bs and icons

* werewrewr

* fix

* crisis averted

* howd i forget this

* leave me ALONE

---------

Co-authored-by: nomdéraisonnablementlong <you@example.com>
Co-authored-by: ScarKy0 <106310278+ScarKy0@users.noreply.github.com>
Co-authored-by: ScarKy0 <scarky0@onet.eu>
Co-authored-by: Pok245 <113675512+Pok27@users.noreply.github.com>
2026-07-30 22:39:13 +00:00
Oleksandr
1c680180a9
Fix highlights don't work for other languages (#41062)
* Update base system

* Update highlights.ftl

* Update highlights.ftl

* Fix some mistakes

* Fix lawyer and libriab hightlight... Arghhg

* Change string jobId to JobPrototype. Remove JobName from CharacterData

* Fix to use ProtoId<JobPrototype>

* Fixes for qrwas!

* fix using

* fix integration tests

* Update ChatHighlightTest.cs

---------

Co-authored-by: SlamBamActionman <slambamactionman@gmail.com>
2026-07-30 14:57:59 +00:00
SlamBamActionman
00b8ee9c48
Add WhitelistManager that tracks the whitelist status of connected players (#44732)
* Initial commit

* Fix the command and update better description

* Add comment

* Oops
2026-07-30 13:52:43 +00:00
Whatstone
56c459e98c
Make more ApcPowerReceiverComponent fields DataFields (#45022)
* Dirty ApcPowerReceiver if state doesn't match defs

* surely this will work and isn't massive hubris

* SPACE

* docs & comments

* voltage, not charge

* no space

* jfc
2026-07-30 05:10:39 +00:00
B_Kirill
a358912bc7
Replace "Wall" tag with WallComponent (#45008)
* Replace Wall tag with WallComponent

* How did I miss this one?

* a

---------

Co-authored-by: AJCM-git <ajcm_mail@disroot.org>
2026-07-30 04:37:59 +00:00
Errant
25f9e57755
Minor SharedRoleSystem code cleanup (#45009)
* client does not need to send the network event

* move code to server

* so funny story, turns it this might have never actually worked
2026-07-30 04:31:12 +00:00
Pok
b38e363d41
Muted StatusEffects (#43668)
* MutedStatusEffects

* Update species_base.yml

* System

* refactor

* yml fix

* fix component

* review

* fix yml

* Update disabilities.yml

* StatusEffectMuted -> TraitStatusEffectMuted

* Update misc.yml

* merge

* RemoveStatusEffect

* more review

* cleanup

* merge

* oops

* Send it

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
Co-authored-by: AJCM-git <ajcm_mail@disroot.org>
2026-07-30 03:52:56 +00:00
MilenVolf
bbe57ec6e0
Bugfix: Fix inverted prototypes spawn chance in ConditionalSpawnerSystem (#44912)
Fix inverted chance for default protos spawn

Co-authored-by: Connor Huffine <chuffine@gmail.com>
2026-07-29 08:49:58 +00:00
Whatstone
8d8fc951d5
Cleanup: fix content-side obsolete TransformComponent warnings (#44494)
* Resolve obsolete TransformComponent warnings

* all gas no lerp, a few unused imports

* Resolve TransformSystem via IEntityManager.System

* Revert to set anchored in ConstructionSystem.Graph

* pragma, no FIXME, redundant TransformSystems

* Remove unused variable

* Address sloth's suggestions

* oneliner rotation assignment

* Use spawn commands with rotation

* yet more spawnattachedto changes & cleanup

* Remove unused transform import

* more transform system cleanup, dump restock warn
2026-07-28 22:45:45 +00:00
Fildrance
0687a19cd7
feat: ConditionalSpawnerComponent can now stack items it spawns automatically (#39096)
* feat: ConditionalSpawnerComponent can now stack items it spawns automatically

* refactor: StackComponent quick cleanup, while we are at it

* refactor: replace custom code with StackSystem.SpawnMultiple

* refactor: update for RT changes

* refactor: update after merge

* refactor: cleanup + fix GetRadomOffset using full range

* fix: change GetRandomOffset to not pass negative offset to NextVector2Box, NextVector2Box negates value by itself

* refactor: now artifact spawns stacks of resrouces, as god intended

* refactor: modernize

---------

Co-authored-by: pa.pecherskij <pa.pecherskij@interfax.ru>
2026-07-28 19:46:57 +00:00
Whatstone
3361ff6a37
Move MutingSystem to Shared, update Deathgasp/VentriloquistPuppetSystem. (#44963)
* Move MutingSystem to Shared, update Deathgasp/Vent

* dependency alphabetization

* test passed a few times locally, new heisentest?
2026-07-28 19:00:43 +00:00