Commit graph

52 commits

Author SHA1 Message Date
Rachel
927ad18d81
Zombies now have hands (less metagameable in the strip menu) - but they're too clumsy to hold anything. (#45721)
* Solving #43723 by making zombies clumsy (they are unable to hold anything in their hands, passing items to them will fail).

Also made zombies uncuff themselves whenever they transform (seeing as they no longer lose their hands meaning that cuffs would otherwise remain on them)

* Cleaning up the code

* Renamed ClumsyHoldStatusEffectComponent.cs to ClumsyGrabStatusEffectComponent.cs (and renamed associated files).

I think "ClumsyGrab" works better than "ClumsyHold" (as the effect happens when the item is first grabbed, not whilst the item is being held).

everything still works

Reordered appropriate functions in ClumsyStatusTest.cs and ClumsyStatusEffectSystem.cs to retain alphabetical order.

* oopsies :p

* Appeased the YAMLLinter (at the cost of a somewhat hackier implementation).

ZombieSystem.Transform.cs now applies the zombie clumsiness via creating a new PermanentStatusEffectComponent with StatusEffectClumsyZombie as its status effect.

* requested changes have been made

(also re-added newline to end of clumsy-component.ftl because it has a newline at the end of it on the master branch, I guess it's probably supposed to be there)

* reordering so private members (including new one) are before the internal member

* hands are forcibly emptied - even if something's glued to them.

* UnZombify should remove the lingering ZombieClumsy status effect

(still needs to revert the rest of the zombification process, but at least the new bit I added can be undone)

* Minor refactor of my own refactor. New order of operations:

1. Uncuffs zombie (if needed)
2. Attempts to `DropAll` items from hands
3. Iterates through hand containers to empty them (removes otherwise unremovable items from hands)

Will refactor process to force drop all items if #45844 becomes implementable + is merged.

* formatting

* how the hell did the metabolizer code go missing!?

* uncuffing now happens in a safer way

less likely to accidentally infinitely loop

* tweaking that one comment I was asked to tweak (this is unrelated to the hand malarkey)

hopefully it won't lead to any merge conflicts later on

* formatting

* file style

---------

Co-authored-by: Pok245 <113675512+Pok27@users.noreply.github.com>
2026-09-27 19:04:52 +00:00
Whatstone
a023e5784c
Cleanup: Remove byte order markers from most files (#45796) 2026-09-17 23:23:54 +10:00
Princess Cheeseballs
d54cb738f1
Fix Infinite Status Effect Overlays (#45917)
fixe
2026-09-08 06:33:25 +00:00
Cabin-keeper
92bea2a9b9
Added night vision status effect AND a night vision drug (#45775)
* Added night vision status effect
added night vision reagent

* removed empty line, updated ftl

* leaf said no capital letters guh

* i hate capital letters

* added rad damage and altred recipe. princess said add to felinase

* Update Resources/Prototypes/Reagents/narcotics.yml

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

* Update Resources/Prototypes/Recipes/Reactions/chemicals.yml

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

* doubled rad damage

---------

Co-authored-by: Princess Cheeseballs <66055347+Princess-Cheeseballs@users.noreply.github.com>
2026-09-05 03:05:29 +00:00
ScarKy0
9e065f7453
Fake Armblade Sting (#45724)
* init

* further work

TODO:
- Sprite
- Fix sound playing if item(s) were removed

* work work work

TODO:
- Sprite

* clean

* sprite

* yeah

* guh

* multi item support

* Update ForcedItemStatusEffectComponent.cs

* review + balance i dk
2026-09-03 19:58:20 +00:00
āda
b8610a3809
Drunk status effect additions (clumsiness) (#45287)
* first pass

* second pass

* reorganize

* make the icon better (subjective)

* self review

* review

---------

Co-authored-by: iaada <iaada@users.noreply.github.com>
2026-08-15 18:54:16 +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
āda
232ac6d8bf
Prevent StatusEffect relay "collection modified" error (#45188)
* commit

* refactor: remove unused using in MutedStatusEffectSystem + early return for StatusEffectsSystem.RelayEvent

* refactor: one forgotten micro optimization!

---------

Co-authored-by: iaada <iaada@users.noreply.github.com>
Co-authored-by: Fildrance <fildrance@gmail.com>
2026-08-11 08:41:04 +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
Fildrance
4f87297712
refactor: change cache-dependent commands to use _IPrototypeManager.Categories (#45061)
* refactor: change cache-dependent commands to use _IPrototypeManager.Categories

* refactor: updated to use completion helper from RT

---------

Co-authored-by: AJCM-git <ajcm_mail@disroot.org>
2026-08-01 16:09:31 +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
Pok
17a7f22349
Adrenaline StatusEffects (#43750)
AdrenalineStatusEffects
2026-07-30 04:01:39 +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
SlamBamActionman
414e64db25
Move all accents into being RelayAccentSystems, add InventoryRelayedEvent support (#43008)
* Refactor accents a little

* Fix Linter

* Make T happy

* Aaaand fix linter

* Add RelayAccentsComponent

* Update into RelayAccentSystem

* Fix unnecessary override and slurred

* Fix some spacing and formatting

* Update a comment

* Review changes

* cleaning

* partial

* aoao

* destruction

---------

Co-authored-by: Pok <113675512+Pok27@users.noreply.github.com>
2026-07-19 00:51:54 +00:00
SlamBamActionman
abf7361f72
Revert "Add "wobbly walk" - movement deviation when drunk/bloodloss" (#44671)
Revert "Add "wobbly walk" - movement deviation when drunk/bloodloss (#44652)"

This reverts commit fe31522461.
2026-07-14 20:48:35 +00:00
SlamBamActionman
fe31522461
Add "wobbly walk" - movement deviation when drunk/bloodloss (#44652)
* Initial commit - not sure why it won't trigger

* Fix it iuohgrhjkgsefawed SEALED not ABSTRACT

* Include for bloodloss and add a buffer time

* Review changes

* Yaml'd

* Add comment explaining no movement speed stop
2026-07-14 10:32:27 +00:00
Pok
87d00d9d0e
Changeling no longer clones harmful status effects (#43778)
* Status-effect-cloning

* review

* Update tags.yml

* TraitStatusEffectDebuff

* different approach perhaps

---------

Co-authored-by: ScarKy0 <scarky0@onet.eu>
2026-07-03 13:44:27 +00:00
Whatstone
f42f8df6d1
Cleanup: ProtoMan Part 2 - remove Client and Server EntitySystem IPrototypeManager instances (#44416)
* Remove all IPrototypeManager instances

* Remove redundant IComponentFactory instances too

* Found some stragglers

* DestructibleSystem.PrototypeManager: no dependency

* not based
2026-06-29 21:33:56 +00:00
Whatstone
a8453723d8
Cleanup: ProtoMan Part 1 - remove Shared EntitySystem IPrototypeManager instances (#44386)
* Remove Shared System IPrototypeManager instances

* Remove RecipeManager IPrototypeManager instance

* Fix ItemSystem IPrototypeManager refs, use TryComp

* SharedItemSystem changes, EntWhitelist CompName

* HasComponent->HasComp
2026-06-29 10:18:44 +00:00
Princess Cheeseballs
c3eba9fa55
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-05-23 08:24:19 +00:00
Pieter-Jan Briers
5168b5f3d4
IoC source gen compatibility (#43863)
* IoC source gen compatibility

Can be merged before or after https://github.com/space-wizards/RobustToolbox/pull/6549 doesn't really matter.

* Missed a spot
2026-05-09 03:29:58 +00:00
Pok
3279840bf0
TemporaryBlindness StatusEffect (#43705)
* TemporaryBlindnessStatusEffect

* review
2026-04-24 16:49:54 +00:00
slarticodefast
f6b458f761
Add changeling flesh clothing transformation (#43590)
* add feature with placeholder sprites

* handle chameleon clothing

* add store sprite

* fix

* more fixes

* fix path

* remove clothe ripping

* alert sprite

* i hate warnings as errors

* fix tests

* Update Content.Shared/Changeling/Systems/ChangelingFleshClothingSystem.cs

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

* verb

* color

* validate

---------

Co-authored-by: ScarKy0 <106310278+ScarKy0@users.noreply.github.com>
Co-authored-by: ScarKy0 <scarky0@onet.eu>
2026-04-19 14:10:54 +00:00
Princess Cheeseballs
c0c909f456
Fix the Paradox Clone slowness bug. (#43528)
* fix slow clones

* actually I like this better.

* sasadaasdsa

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2026-04-12 19:00:19 +00:00
āda
ee07317bc3
Move potassium iodide to new status effects (#43548)
* added

* remove

* last changes

* remove more old stuff

* rename

* rename

---------

Co-authored-by: iaada <iaada@users.noreply.github.com>
2026-04-12 00:37:42 +00:00
ArtisticRoomba
376f16504c
Content.Shared EntityQuery<T> dependency injection refactor (#43498)
* part 1

* second pass

* final fix

* last fix i swear

* an even bigger genius

* regex missed this

* should be all of em?

* oops

* yeah

* Revert "should be all of em?"

This reverts commit 4dd54d1b9a76977b4cf8d6008358e4dacdee6eb1.

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2026-04-11 21:30:36 +00:00
Red
1b5011152b
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-03-08 23:28:48 +00:00
Centronias
d448f0454e
Make StatusEffectsSystem's cache an instance field (#42762)
make statuseffectsystem's cache not static
2026-02-03 05:38:26 +00:00
Princess Cheeseballs
0b1e8a4bbc
Status Effects Toolshed (#41670)
* toolshed :)

* Yeah they call me the gamer

* Fix test fails

* refactor: extract method ZeroAsNull

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
Co-authored-by: pa.pecherskij <pa.pecherskij@interfax.ru>
2025-12-30 21:41:57 +00:00
SlamBamActionman
bb95787af7
Make StaminaModifier into a status effect, apply to Hyperzine (#41902)
* Initial commit

* Probably better this way.

* Review fixes

* cleanup

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2025-12-18 19:41:08 +00:00
ScarKy0
405bc6c8f1
Warfarin and Hemorrhinol, Hemophilia turned into a StatusEffect (#41685)
* init

* yeah

* move folders

* comments

* i hate cloning sometimes

* review

* review squred

* fix stuff
2025-12-05 00:42:03 +00:00
SlamBamActionman
d0a784b9e6
Add status effect support to Traits, change PainNumbness to be a status effect (#41646)
* Initial commit

* Review comments

* Jobify

* Prototype(effect)
2025-12-03 11:55:29 +00:00
Princess Cheeseballs
222aaa9b59
[HOTFIX] Fix status effect removal from entity effects and buckets not being draggable (#41168)
just do less work it's that easy!

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2025-10-28 14:31:53 -04:00
Princess Cheeseballs
4aac3dbc9d
Fix Being Drunk! (#41002)
* Drunk moment

* push

* fix test fails + a smidge of cleanup

* two smidges of cleanup

* Unpredicted so don't need the workaround

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2025-10-21 20:12:36 +00:00
Princess Cheeseballs
4059c29ebc
Entity effects ECS refactor (#40580)
* LOCKED THE FUCK IN

* Forgot this little fella

* Crying

* All entity effects ported, needs cleanup still

* Commit

* HEHEHEHAW

* Shelve for now

* fixe

* Big

* First big chunk of changes

* Big if true

* Commit

* IT BUILDS!!!

* Fix LINTER fails

* Cleanup

* Scale working, cut down on some evil code

* Delete old Entity Effects

* Accidentally breaking shit by fixing bugs

* Fix a bunch of effects not working

* Fix reagent thresholds

* Update damage

* Wait don't change the gas metabolisms A

* Cleanup

* more fixes

* Eh

* Misc fixes and jank

* Remove two things, add bullshit, change condition to inverted

* Remove unused "Shared" system structure

* Namespace fix

* merge conflicts/cleanup

* More fixes

* Guidebook text begins

* Shelve

* Push

* More shit to push

* Fix

* Fix merg conflicts

* BLOOD FOR THE BLOOD GOD!!!

* Mild cleanup and lists

* Fix localization and comments

* Shuffle localization around a bit.

* All done?

* Nearly everything

* Is this the end?

* Whoops forgot to remove that TODO

* Get rid of some warnings for good measure...

* It's done

* Should make those virtual in case we want to override them tbqh...

* Update Content.Shared/EntityEffects/Effects/Botany/PlantAttributes/PlantDestroySeeds.cs

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

* Fix test fails real

* Add to codeowners

* Documentation to everything

* Forgot to push whoops

* Standardize Condition names

* Fix up metabolism a little as a treat

* review

* add IsServer checks

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
Co-authored-by: Pok <113675512+Pok27@users.noreply.github.com>
2025-10-12 21:23:42 +00:00
SlamBamActionman
c7117f38ac
Add a sleep delay to Nocturine (NewStatusEffect version) (#40231)
* Initial commit

* Minor fix

* Why is this uncommented here? Hmmm

* No wait this can't be here, oops

* Do better time

* Also guidebook

* Review changes

* Add rejuvination, fix mispredicts
2025-09-26 13:05:34 -07:00
Pieter-Jan Briers
0c97520276
Fix usages of TryIndex() (#39124)
* Fix usages of TryIndex()

Most usages of TryIndex() were using it incorrectly. Checking whether prototype IDs specified in prototypes actually existed before using them. This is not appropriate as it's just hiding bugs that should be getting caught by the YAML linter and other tools. (#39115)

This then resulted in TryIndex() getting modified to log errors (94f98073b0), which is incorrect as it causes false-positive errors in proper uses of the API: external data validation. (#39098)

This commit goes through and checks every call site of TryIndex() to see whether they were correct. Most call sites were replaced with the new Resolve(), which is suitable for these "defensive programming" use cases.

Fixes #39115

Breaking change: while doing this I noticed IdCardComponent and related systems were erroneously using ProtoId<AccessLevelPrototype> for job prototypes. This has been corrected.

* fix tests

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-09-09 18:17:56 +02:00
Princess Cheeseballs
d488ca96b2
Alerts Cleanup and API (#39544)
* alert cleanup and API

* I expect update loops to be at the top.

* Address review

* Address review x 2

* Merg my PR

* Fix

* Update Content.Shared/Alert/AlertsSystem.cs

webedit

Co-authored-by: Perry Fraser <perryprog@users.noreply.github.com>

* FIX THAT TEST FAIL!!!!

* Me when I forget to actually give you alerts

* Hammedborgar

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
Co-authored-by: Perry Fraser <perryprog@users.noreply.github.com>
2025-09-05 12:45:48 +03:00
Princess Cheeseballs
4797c0fe06
Small Status Effect Cleanup (#39944)
Heroic

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2025-08-29 16:32:13 +03:00
Princess Cheeseballs
6b73d320b9
[NEW STATUS SYSTEM] Drunkenness, Stuttering, Slurred Speech, and Bloodloss (#38678)
* The only commit that matters

* I had to stop playing with my cat to push this change

* Yaml removal

* Proper drunk status effect and remove shitcode

* Review changes

* whoops

* Whoops x2

* Update master fix merge conflicts

* Fix merge conflicts

* Dunk Component kill

* MORE RELAYS

* Holy fucking breaking changes

* Ough

* 46 file diff

* Fix bad commits

* Erm what the test fail?

* Fix those last two

* Merge conflicts

* Me when I fix the merge conflicts

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2025-08-18 16:26:29 -04:00
Princess Cheeseballs
458e2d222c
Status Effect Alerts and Time Bugfixes (#39529)
* Bugefix

* Clean up

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2025-08-10 13:55:13 -07:00
Princess Cheeseballs
ce7b7c1adf
Fix Whoopie Cushions from lagging the game. (#39194) 2025-08-09 01:11:13 +03:00
Red
5181219f89
Status effects disable light occluding (1-line PR) (#39418)
Update StatusEffectsSystem.cs
2025-08-06 13:02:14 +02:00
Perry Fraser
b0e1ce7c0c
feat: add a component for rejuvenateable status effects (#39025)
* feat: add a component for rejuvenateable effects

* feat: let god mode'd entities get buffs

* fix: handle old status effect system

Didn't realize BeforeStatusEffectAddedEvent was called by both systems,
oops.

* refactor: rename to RejuvenateRemovedStatusEffect

* fix: make forced sleeping a debuff again

Missed in rebase.

* refactor: make BeforeStatusEffectAdded two events
2025-07-24 17:13:29 +02:00
Princess Cheeseballs
e85bc1bb8c
Stunnable New Status and Cleanup (#38618)
Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
Co-authored-by: pa.pecherskij <pa.pecherskij@interfax.ru>
2025-07-21 19:22:11 +02:00
Princess Cheeseballs
dec2d42a1d
Crawling Part 1: The Knockdownening (#36881)
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
Co-authored-by: ScarKy0 <scarky0@onet.eu>
2025-07-20 01:54:42 +02:00
Perry Fraser
dbfe05d5cc
refactor: rework the new status effect system to use containers (#38915) 2025-07-12 19:49:58 +03:00
Princess Cheeseballs
579b38b92b
Improvements and fixups for New Status Effect API (#38660) 2025-07-02 20:46:30 +03:00
Red
bb116e3219
Refactor SeeingRainbows to new status effect system (#38620) 2025-06-27 21:19:04 +03:00
Princess Cheeseballs
cf4a883f11
New Status Effects API Overload (#38617)
* I love API changes

* Update Content.Shared/StatusEffectNew/StatusEffectSystem.API.cs

* fix

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-06-27 14:00:20 +02:00