* 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>
* 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>
* 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>
* Oh the possibilities
* Merge fixes
* Forgot to remote LavaSystem oops
* Changed EntityEffectArgs to EntityEffectBaseArgs and EntityEffectReagentArgs
* Throw exception for unimplemented effectargs
* Remove Json and overrideable datafields
* Fix test issues
* Actually fix the compiling issue
* Fix comments and remove EntityEffectArgs (no longer used, replaced with EntityEffectBaseArgs)
* Implemented Shakeable
* Prevent shaking open Openables
* Prevent shaking empty drinks. Moved part of DrinkSystem to Shared.
* DrinkSystem can have a little more prediction, as a treat
* Cleanup
* Overhauled PressurizedDrink
* Make soda cans/bottles and champagne shakeable. The drink shaker too, for fun.
* We do a little refactoring.
PressurizedDrink is now PressurizedSolution, and fizziness now only works on solutions containing a reagent marked as fizzy.
* Documentation, cleanup, and tweaks.
* Changed fizziness calculation to use a cubic-out easing curve.
* Removed broken YAML that has avoid the linter's wrath for far too long
* Changed reagent fizzy bool to fizziness float.
Solution fizzability now scales with reagent proportion.
* Rename file to match changed class name
* DoAfter improvements. Cancel if the user moves away; block if no hands.
* Match these filenames too
* And this one
* guh
* Updated to use Shared puddle methods
* Various fixes and improvements.
* Made AttemptShakeEvent a struct
* AttemptAddFizzinessEvent too
* move SolutionTransfer to shared and predict as much as possible
* fully move OpenableSystem to shared now that SolutionTransfer is
* fix imports for everything
* doc for solution transfer system
* trolling
* add scoopable system
* make ash and foam scoopable
* untroll
* untroll real
* make clickable it work
* troll
* the scooping room
---------
Co-authored-by: deltanedas <@deltanedas:kde.org>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
* Merge BreakOnWeightlessMove and BreakOnMove. Provide different theshold for weightless movement.
* Adjust WeightlessMovementThresholds. Put a thing I forgot to put in the doafterargs.
* Make DoAfterArgs only use OnMove to determine whether to check for
movement and MoveThreshold to determine the threshold regardless of
weightlessness. Gave DistanceThreshold a default value which will always
be checked now.
* Fix issue introduced by merge.
* Use interaction system for determining whether a distance is within range
* Fix incorrect doafter args introduced by previous merge.
Forgor to commit these.
* Exorcise ghost.
The execution system should have been deleted when I merged previously.
For a reason I cannot comprehend it came back, but only the execution
system.
* Exorcise ghost Pt. 2
* Allow for movement check to be overriden in zero g and adjust doafter args where needed.
You can now override checking for movement in zero g with the BreakOnWeightlessMove bool. By default it will check.
The following doafters were made to ignore the movement check in zero g:
- Healing yourself with healing items,
- Removing embedded projectiles,
- Using tools like welders and crowbars
* Adjust distance for cuffing/uncuffing to work. Make injections not break on weightless movement.
* Fix evil incorrect and uneeded comments
* Initial prediction
* new group handling
* groups for all examines that use multiple rn
* compile
* why was it doing this??
* handle newlines with sorting properly
* Creates Content.Shared.Chemistry.Solutions
Copies Solution class to new namespace
Obsoletes old Solution class
* Switches over to the Solutions.Solution Solution
* Creates Content.Shared.Chemistry.Containers
Copies relevant components/systems to the new namespace
Obsoletes old versions
* Switches over to the Containers.XYZ namespace
* Creates SolutionSystem and obsoletes old SolutionContainerSystem methods
* Start using SolutionSystem for Solution manipulation
* EnumerateSolutions
* Move TryGetMixableSolution
* Move EnsureSolution to Server
* Create Solution Entities
* Stop using obsolete solution system methods
* Fix prototype component tests
* Add using ..Audio.Systems; back
* Wrap solution container slots in ContainerSlots
* Actually add the slot to the solution container map
* Dirty SolutionContainerComponent when ensuring solutions
* Revert namespace changes
* Remerge SolutionSystem and SolutionContainerSystem
* SolutionContainerManagerComponent refactor
* Avoid wrapping necessary code in DebugTools.Assert as it is removed when compiling for release
* Readd examine reagent sorting
* Fix errors
* Poke tests
* Fix solution names not being applied
* Fix WoolyComponent including statement
* Fix merge skew
* Fix compile errors
* Make reactions use solntities
* Reindent solution class namespace
* Field attribute changes
* AutoGenerateComponentState for SolutionContainerComponent
* SolutionContainerComponent -> ContainedSolutionComponent
* ref ReactionAttemptEvent
* Denetwork preinit solutions
* Misc 1
* Nullable TryGetSolution out vars
* Cache associated solutions
* Fix merge skew
* Use explicit regions in SharedSolutionContainerSystem.Capabilities
* Add debug assert
* Use explicit regions in SharedSolutionContainerSystem.Relay + ref SolutionContainerChangedEvent
* ContainedSolutionComponent.Name -> ContainedSolutionComponent.ContainerName
* SolutionComponent doc comments
* Implicit DataField names and property purge
* ReagentEffect DataField names
* Local variables for readability
* Sort using statements + Entity<T> event handlers
* Fix compile erros
* Fix compile errors
---------
Co-authored-by: ElectroJr <leonsfriedrich@gmail.com>
* Add more DNA interactions
* remove unused import
* update based on feedback
* Add event for chemistrysystem.injector
* move event to shared; transfer dna to implanter
* doafter and interaction event fixes
* add BreakOnHandChange
* doh
* use events instead of updating component directly
* Add DataFields to ForensicScannerComponent fields
* Convert most events to system api call
* thirst .Owner removal
* thirst file scope
* drink update + minor refactor
* drink file scope
* let animals drink things
* dont eat/drink when dont need to
* admeme mouse override
* moo
---------
Co-authored-by: deltanedas <@deltanedas:kde.org>
* DNA component
* Commit numba 2
* Added DNA into Station Records Computer
* commit numba 3
* commit numba 4
* Vomit also contain DNA component now
* fixed DNA field not clearing after scanning another item
* commit numba 10
Drinking leaves DNA on an object. Breaking glasses, bottles and beakers leave DNA and leave fingerprints/fibers with 40% chance on glass shards. + lotta fixes
* 11
* 12
* 14
* Added DNA guide entry
* FIX