* Moves ContainsReagent from SolutionContainer to Solution
GetMajorReagentId from SOlutionContainer to Solution
Makes capability checks use HasFlag
Moves Solution Color calculation from SolutionContainer to Solution
Replaces SolutionContainerCaps.NoExamine with CanExamine
Misc SolutionContainer.Capabilities yaml cleanup
* Moves IReactionEffect from server to shared
* Moves ReactionPrototype from server to shared
* Moves SolutionValidReaction from SolutionContainer to ChemicalReactionSystem
* Moves PerformReaction from SolutionContainer to ChemicalReactionSystem
* Moves CheckForReaction from SolutionContainer to ChemicalReactionSystem
* Removes unused SolutionContainer methods
* Removes now-unused GetMajorReagentId from SOlutionContainer
* ChemicalReactionSystem comments
* Replaces usage of SolutionContainer.ContainsReagent and replaces it with SolutionContainer.Solution.ContainsReagent
* ChemicalReactionSystem ProcessReactions
* Moves ExplosionReactionEffect to shared, comments out server code, TODO: figure out how to let ReactionEffects in shared do server stuff
* Fixes SolutionContainer.CheckForReaction infinite recursion
* Moves IReactionEffect and ExplosionReactionEffect back to server
* Moves ChemicalReactionSystem and ReactionPrototype back to server
* Uncomments out Explosion code
* namespace fixes
* Moves ReactionPrototype and IReactionEffect from Server to Shared
* Moves ChemicalReactionSystem from Server to Shared
* ChemicalReaction code partial rewrite
* Moves CanReact and PerformReaction to Solution
* Revert "Moves CanReact and PerformReaction to Solution"
This reverts commit bab791c3ebd0ff39d22f2610e27ca04f0d46d6b8.
* Moves ChemistrySystem from Server to Shared
* diff fix
* TODO warning
Co-authored-by: py01 <pyronetics01@gmail.com>
* Moves ContainsReagent from SolutionContainer to Solution
* GetMajorReagentId from SOlutionContainer to Solution
* Makes capability checks use HasFlag
* Moves Solution Color calculation from SolutionContainer to Solution
* Replaces SolutionContainerCaps.NoExamine with CanExamine
* Misc SolutionContainer.Capabilities yaml cleanup
* Removes HasFlag usage in SolutionContainerComponent
Co-authored-by: py01 <pyronetics01@gmail.com>
* Async Interface
* Update Content.Server/GameObjects/Components/Fluids/MopComponent.cs
Co-authored-by: Paul Ritter <ritter.paul1@googlemail.com>
* Changed the glassbeaker
* Update Content.Shared/Interfaces/GameObjects/Components/Interaction/IAfterInteract.cs
Co-authored-by: Paul Ritter <ritter.paul1@googlemail.com>
* Update Content.Shared/Interfaces/GameObjects/Components/Interaction/IAfterInteract.cs
Co-authored-by: Paul Ritter <ritter.paul1@googlemail.com>
* Interaction system fix
* Removed I from the interface
* Changed all implementations of the interface I could find
* all public void implementation fixed
* All built, no errors should remain
* Update Resources/Prototypes/Entities/Objects/Specific/chemistry.yml
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* Update Content.Server/GameObjects/Components/Portal/TeleporterComponent.cs
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* Update Content.Server/GameObjects/Components/ActionBlocking/HandcuffComponent.cs
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* Commit based off Sloth's commentary
* Removed the Rag file from the PR
* Reverted sloth's commentary changes on the publcity of the function
* Injector component properly implemented interface
* Update Content.Server/GameObjects/Components/Fluids/MopComponent.cs
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* Update Content.Server/GameObjects/Components/Fluids/SprayComponent.cs
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: BlueberryShortcake <rubetskoy234@mail.ru>
Co-authored-by: Paul Ritter <ritter.paul1@googlemail.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* Add mechanism events when added/removed to/from body/parts
* Change old usages
* Add TODO
* Remove BodyExtensions and IHasBody
* Remove unnecessary extensions and fix wrong event call in mechanism behavior component
* Complete test and fix event calls
* Rename usages of collidable to physics
* high tier PANIQUE
* aaaaaaaaAAAAAa
* cursed commit dont research
* Fix urist and items being anchored
* Fix the rest
* Early commit
* Early commit 2
* merging master broke my git
* does anyone even read these
* life is fleeting
* it just works
* this time passing integration tests
* Remove hashset yaml serialization for now
* You got a license for those nullables?
* No examine, no context menu, part and mechanism parenting and visibility
* Fix wrong brain sprite state
* Removing layers was a mistake
* just tear body system a new one and see if it still breathes
* Remove redundant code
* Add that comment back
* Separate damage and body, component states, stomach rework
* Add containers for body parts
* Bring layers back pls
* Fix parts magically changing color
* Reimplement sprite layer visibility
* Fix tests
* Add leg test
* Active legs is gone
Crab rave
* Merge fixes, rename DamageState to CurrentState
* Remove IShowContextMenu and ICanExamine
* Rehydratable component -> monkey cubes now have some of their behaviour
* Placeholder kitchen spike entity
* KitchenSpike component: the kitchen spike now has basic functionality
still placeholder sprite though
* Kitchen Spike: Import meatspike assets from CEV-Eris
* Kitchen Spike: Actually use sprites somewhat
* Kitchen Spike: Forgot I removed the MeatParts property from Butcherable
* Monkey cubes: Use IReagentReaction even though it doesn't quite work yet. Butcherable: remove imports
* Monkey cubes/Rehydratable: Re-add ISolutionChange
* Update Resources/Prototypes/Entities/Constructible/Ground/kitchen.yml
Co-authored-by: Víctor Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>
* Adds new different reaction types.
- Adds touch, injection and ingestion reactions for entities.
- Adds tile reactions.
- Removes GasSprayerComponent in favor of SprayComponent.
- Gives fire extinguishers a safety.
- Gives spray puffs a sprite.
- Improved spray and fire extinguisher in general.
- Fire extinguisher now ACTUALLY puts out fires. Amazing, eh?
- Fire extinguisher sprays three 'clouds' at once.
- Spraying flammable chemicals at fire makes them worse. Whoops!
- Gives spray and fire extinguisher their classic sounds.
- Most chemicals now don't make puddles. Too bad!
- Space lube now makes a very slippery puddle. Honk.
- Spraying water (or using a fire extinguisher) on existing puddles makes them bigger.
* Fix solution tests
* food base now has solution container with noexamine caps
* Sort out InRangeUnobstructed and add extension methods
* Rename client RangeChecks to RangeExtensions
* Add container extension methods and test
* Add missing component methods
Component to container
Grid coordinates to container
Map coordinates to container
Local player to container
* Actually use the field
* Merge fixes
* Add popup argument to local player extension methods
* Reduce code repetition for client range extensions