* Update DamageableSystem to modern standards
* DamageContainerId -> DamageContainerID with lint flag
* Replace strings with protoids
* Make CVar subscription declarations all consistently whitespaced
* ChangeDamage -> TryChangeDamage, cope with C# jank
* Revert event signature changes
* Restore a comment
* Re-add two queries
* Init the queries
* Use appearanceQuery in DamageChanged
* Use damageableQuery in TryChangeDamage
* Use damageableQuery in SetDamageModifierSetId
* Final cleanup, fix sandboxing
* Rectify ExplosionSystem:::ProcessEntity's call to TryChangeDamage
* Re-organize DamageableSystem
* first big fuck you breaking change.
* THATS A LOT OF DAMAGE!!!
* Fix test fails
* test fixes 2
* push it
---------
Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
* Shelve
* 22 file diff
* What if it was just better
* Hold that thought
* Near final Commit, then YAML hell
* 95% done with cs
* Working Commit
* Final Commit (Before reviews tear it apart and kill me)
* Add a really stupid comment.
* KILL
* EXPLODE TEST FAILS WITH MY MIND
* I hate it here
* TACTICAL NUCLEAR STRIKE
* Wait what the fuck was I doing?
* Comments
* Me when I'm stupid
* Food doesn't need solutions
* API improvements with some API weirdness
* Move non-API out of API
* Better comment
* Fixes and spelling mistakes
* Final fixes
* Final fixes for real...
* Kill food and drink localization files because I hate them.
* Water droplet fix
* Utensil fixes
* Fix verb priority (It should've been 2)
* A few minor localization fixes
* merge conflict and stuff
* MERGE CONFLICT NUCLEAR WAR!!!
* Cleanup
---------
Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
* Move entity effects to shared
* relocate spawning to server
* Generic version of EntityEffect for just raising event.
* genericise everything
* oops forgot to push you
* some condensation
* finish rebas
* unwhite the space
* oops forgot nuke
* bad rebase fix
* useless annotations begone
---------
Co-authored-by: EmoGarbage404 <retron404@gmail.com>
* Creates a secondary digestible whitelist that is not exclusive. Additionally reworks the Vox stomach.
* Update FoodSystem.cs
Remnants of an old attempt. Cleaning it.
* Update vox.yml
Remnants of an old attempt. Cleaning up.
* Whitelist no longer, now the diet exclusion var is a bool.
* Clean-up
* Update Content.Server/Body/Components/StomachComponent.cs
Typo fixing
Co-authored-by: Tayrtahn <tayrtahn@gmail.com>
* Update Content.Server/Body/Components/StomachComponent.cs
Clarifications.
Co-authored-by: Tayrtahn <tayrtahn@gmail.com>
* Update Content.Server/Nutrition/EntitySystems/FoodSystem.cs
Typo fixing
Co-authored-by: Tayrtahn <tayrtahn@gmail.com>
* Update Resources/Prototypes/Body/Organs/vox.yml
Typo fixes
Co-authored-by: Tayrtahn <tayrtahn@gmail.com>
---------
Co-authored-by: Tayrtahn <tayrtahn@gmail.com>
* Adds cotton burgers
* Rephrased copyright
* Added an extra comment
* Adds CottonBurger to tags.yml, Not sure if i am supposed to do this or not.
* Reordered Cotton bun YAML, and fixed overwritten tags
* Merge issue fix?
* Add experiment plushie and remove rubber chicken from cotton burgers
* Minor comment change
---------
Co-authored-by: beck-thompson <beck314159@hotmail.com>
* add sounds
* change _active to BurningComponent
* play sound when lighting and snuffing a cigar
* network it
* mono
* attribution
* doc
---------
Co-authored-by: deltanedas <@deltanedas:kde.org>
* Fire extinguishers now put out candles
This did not actually require any changes to flammable or extinguishers directly, the only necessary changes were to make the collision actually work.
Vapor entities (also used for fire extinguishers) now have a collision layer, so they can hit items.
Added a new FlammableSetCollisionWake component to actually enable collision on candles while they are lit, because otherwise CollisionWake on entities gets in the way too.
* Extinguishing items is now relayed to held/worn items
This means held candles get extinguished too.
Involved moving the core logic of ExtinguishReaction into an event so that it can be relayed via the existing hand/inventory relay logic.
* Add helper functions for subscribing to relayed events.
Use these in FlammableSystem
* Make extinguishers work on cigarettes too
A bunch of renaming to make the rest of my code work with SmokableComponent
---------
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
* Extracts magic strings from Tag calls
When #36281 gets merged, the `TagSystem` methods will all give warnings. Let's fix those warnings before they even happen!
* Adds missing libraries
* Remove not yet implemented TagSystem changes
* Fix tag spelling error
Genuinely surprised there was only 1!
* Styling and proper type changes
* Styling
Co-authored-by: Tayrtahn <tayrtahn@gmail.com>
---------
Co-authored-by: Tayrtahn <tayrtahn@gmail.com>
* Fix broken layer hiding on clothes with multiple equipment slots
* Refactor ToggleVisualLayers, HideLayerClothingComponent, and ClothingComponent to allow more
precise layer hide behavior and more CPU efficient layer toggling.
* Adjust HumanoidAppearaceSystem to track which slots are hiding a given layer (e.g. gas mask and welding mask)
Add documentation
Change gas masks to use the new HideLayerClothingComponent structure as an example of its usage
* Fix the delayed snout bug
* Misc cleanup
* Make `bool permanent` implicit from SlotFlags
any non-permanent visibility toggle with `SlotFlags.None` isn't supported with how its set up. And similarly, the slot flags argument does nothing if permanent = true. So IMO it makes more sense to infer it from a nullable arg.
* Split into separate system
Too much pasta
* Remove (hopefully unnecessary) refresh
* Fisk mask networking
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
* Keep old behaviour, use clearer names?
I'm just guessing at what this was meant to do
* english
* Separate slot name & flag
* dirty = true
* fix comment
* Improved SetLayerVisibility with dirtying logic suggested by @ElectroJr
* Only set mask toggled if DisableOnFold is true
* FoldableClothingSystem fixes
* fix bandana state
* Better comment
---------
Co-authored-by: ElectroJr <leonsfriedrich@gmail.com>
* combine TrySpike into OnInteractUsing
* mark spike drink event as handled
* mark speso insertion event as handled
* mark food sequence event as handled
---------
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
* Added a check for if the entity trying to drink is a borg.
* Fixed missing namespace issue.
* Improved code conciseness.
* Removed borg chassis check, added stomach check.
* Removed unused namespace
---------
Co-authored-by: dankeaj <andrewjdanke@gmail.com>
* reduce network burden of the hunger system
* explicit start + last updated
* remove auto reformat changes to otherwise untouched code
add clamp helper
* imagine making breaking changes, documenting them, and then not thinking to check the yaml
* comments
* Remove unused net manager in hunger system
Remove lastAuthoritativeHungerValue from prototypes
* Several small sfx tweaks
* fix small yml oopsie
* Redo the basin code to use events
* now uses an event for when the transfer is successful, not when there's just an attempt
* forgot to remove this
* Update Content.Server/Botany/Components/PlantHolderComponent.cs
Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
* Update Content.Server/Botany/Systems/PlantHolderSystem.cs
Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
* adds sound variations to shoes as well
* variations on honkbots and the H.O.N.K mech
* Update Content.Server/Botany/Systems/PlantHolderSystem.cs
* Update Content.Server/Botany/Systems/PlantHolderSystem.cs
* fix compile issue
* oops forgot to delete this
* cleanup
---------
Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
* First commit
* I forgot silly me
* Actually added comments
* spellin
* fixes
* more blacklists
* Minor fixes
* Speech Verb also changes now
* Simple name stuff
* Other fixes
* remove one line of whitespace
---------
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
* Replace instances of SolutionContainerSystem with SharedSolutionContainerSystem
* guap
* More fixes
* Wait you can do that?
---------
Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
* Power stuff
- Add shared IsPowered
- Add shared ResolveApc
- Move PowerChangedEvent to shared for now
- Add SlimPoweredLight that actually functions how you'd expect a PoweredLight to function it id didn't have a bunch of bloat on it.
* big update
* boing