* refactor: move puddle evaporation + absorbents to shared
* refactor: move SolutionRegeneration to shared
* refactor: make AbsorbentSystem visuals clientside
* style: general formatting/cleanup on touched files
- Few logical simplifications
- Add field for hard-coded sparkle effect ent
- Switch stuff to Entity<T>
No actual prediction fixes in this commit (though in
retrospect I should've done this commit last).
* fix: use predicted variants for predicted code
* fix: average out evaporation rates in mixtures
* refactor: move SolutionPurge to shared
* style: Basic SolutionPurgeComponent field cleanup
* fix: general prediction + timing + networking fixes
- Moves client side visuals back to shared because other
players exist
- Don't accumulate CurTime in Purge/RegenerationSystem
- Network the next update field in Purge/RegenerationSystem to
deal with UI mispredictions???
* fix: add udder bug workaround
Not needed for SolutionPurgeSystem which doesn't resolve
solutions (probably fine that SolutionPurgeSystem doesn't
cache since it's much rarer, though it probably should), and
likely not needed for AbsorbentSystem since it only resolves
against puddles which, I don't think can be in containers.
* fix: don't divide by zero for evaporation speed = 0.
* refactor: revert evaporation changes
Will cherry-pick these out in another PR.
Also reverting the evaporation speed bugfix since it's easier
to revert all at once. :)
* fix: component cleanup; autopause fields, use ProtoID
* fix: remove unused AbsorbentComponentState
* fix: ProtoId is not string
* refactor: move PuddleSystem.UpdateAppearance to shared
* style: general PuddleSystem.UpdateAppearance tweaks
- Switch to Entity<T>
- Use ProtoIds
- Minor simplifications
* fix: add udderly silly PVS workaround
* cleanup
* fix
---------
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
* feat: now vacuum cleaner can suck solutions from floor
* refactor using AbsorbentSystem instead of separate vacuum cleaner
* refactor: remove unused vacuum cleaner files
* refactor: renamed ConnectedContainerComponent to SlotBasedConnectedContainerComponent (and system)
* fix: fix invalid comp name
* fix: no more spray nozzle messaging about water inside bottles etc.
* refactor: minor refactor in SlotBasedConnectedContainerSystem and adjustments after merge
* refactor: cleanups
* refactor: renaming
* refactor: update to use _puddleSystem.GetAbsorbentReagents
* refactor: changed interactions with SlotBasedConnectedContainerSystem into events
* refactor: new sound and action delay adjusted to sound (amount tweaked a bit accordingly, almost)
* refactor: added networking for SlotBasedConnectedContainerComponent
* fix attribution for vacuum-cleaner-fast.ogg
* trying to fix multi-license for mix sound file
* remove empty line
* refactor: remove trailing whitespace
* by ref struct, brother
---------
Co-authored-by: pa.pecherskij <pa.pecherskij@interfax.ru>
Co-authored-by: EmoGarbage404 <retron404@gmail.com>
* remove deprecated entity coordinate extension functions. Reduces warning count by approximately 50
* final toCoords Removed
* Remove all unused variables and dead code paths
* remove always true variable, should be a cvar or something instead
* remove superfluous variables from tests
* 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 test pooling
* WIP test pooling changes
* Fix Destructible tests
* Don't pool unpooled or dummy ticker instances
* Change ServerPathfindingDebugSystem to replace existing entries
* Fix SaveLoadSaveTest comment
* Don't pool StartTest
* Comment out global setup
* Fix puddle tests
* Move SolarPanelComponent initialize to PowerSolarSystem OnMapInit
* Update RobustToolbox
* Finish fixing tests, make test threads background threads
* Bring back pooling
* Fix nullable
* Update RobustToolbox
* Set cvars on server return
* Un-pool tests with custom cvars
* Update RobustToolbox
* Update RobustToolbox
* Change where the main tile coordinates are
* Remove DisposalUnitTest grid check
* Fix test pooling being a fickle bitch
* Fix EntitySystemExtensionsTest
* Update RobustToolbox
* Update RobustToolbox
* Make nullable pool settings true
* Update RobustToolbox
* Wait other way around
* We are unitystation now
* Update RobustToolbox
* Create global setup
* Pool some more tests
* Fix not properly disconnecting clients before restarting the round
* Give more info on ran tests
* Standardize default test cvars
* Update RobustToolbox
* Update RobustToolbox
* Pool clients
* Fix test order issue
* Fix cvars in character creation test not being set properly
* Update RobustToolbox
* Update RobustToolbox
* Rider shut
* Update RobustToolbox
* Format tests ran better
* Update RobustToolbox
* Reset RobustToolbox
* Reset RobustToolbox harder
* Fix one instance of test order causing destructible tests to fail