Commit Graph

61 Commits

Author SHA1 Message Date
Perry Fraser c802b8bbb2
Make mopping predicted (and some other stuff) (#38749)
* 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>
2025-07-09 05:17:55 +02:00
Fildrance 291ccfbe23
Spray nozzle can suck puddles into tank directly! (#30600)
* 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>
2025-05-25 23:36:16 -04:00
Tayrtahn cfc0247e5c
Code Cleanup: Integration Tests (#29584)
* Cleanup PuddleTest

* Cleanup GravityGridTest

* Cleanup PowerTest

* Cleanup SaveLoadMapTest

* Cleanup Body tests

* Cleanup ContainerOcclusionTest

* Cleanup AirlockTest

* Cleanup DamageableTest

* Cleanup EntityTest

* Cleanup FluidSpillTest

* Cleanup FollowerSystemTest

* Cleanup HandCuffTest

* Cleanup InteractionSystemTests

* Cleanup InRangeUnobstructed

* Cleanup SimplePredictReconcileTest

* Cleanup PostMapInitTest

* Cleanup SalvageTest

* Cleanup SaveLoadSaveTest

* Cleanup ShuttleTest

* Cleanup MaterialArbitrageTest

* Cleanup PrototypeSaveTest

* Fix ShuttleTest

* Bunch of small ones

* Move JobTests to Station directory

* More small fixes

* Cleanup InteractionTest.Helpers
Had to change a method signature, so some callers were modified too.

* Missed one
2024-07-03 10:01:37 +10:00
ElectroJr 3a8249e5fd Un-revert #26994 2024-04-20 17:01:15 -04:00
Vasilis 5769bf38f8
Revert #26994 and #27077 (#27090) 2024-04-18 17:06:56 +02:00
Leon Friedrich ee96d8aa66
Content changes for MapManager/System refactor (#26994)
* Content changes for MapManager/System refactor

* Poke Tests

* Why is this failing?

* Will this make the analyzer happy?
2024-04-18 14:30:06 +10:00
Jake Huxell 59e46aab93
Reduced Warning Count By 130 For Full Rebuilds (#26518)
* 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
2024-03-29 16:28:16 +11:00
Tayrtahn ae3d745430
Code Cleanup: Purge obsolete MapManager methods (#26279)
* GetGrid

* GridExists

* TryGetGrid
2024-03-22 18:08:40 +11:00
TemporalOroboros d23c8d5c19
Revert 'Revert 'Solution Entities'' (#23168) 2023-12-29 08:47:43 -04:00
Emisse 938d6d9945
Revert "Solution Entities" (#23160)
Revert "Solution Entities (#21916)"

This reverts commit d75e743dd7.
2023-12-28 20:45:42 -07:00
TemporalOroboros d75e743dd7
Solution Entities (#21916)
* 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>
2023-12-28 17:58:14 -08:00
LordCarve 524dbf9a78
Consistent Absorbent System behavior (#22723) 2023-12-22 11:02:09 -08:00
DrSmugleaf f560f88eb5
Remove 700 usages of Component.Owner (#21100) 2023-10-19 12:34:31 -07:00
Visne 9bd30d57ad
Remove obsolete PoolManager methods (#19499) 2023-08-25 12:13:11 +10:00
Visne 3c667b6f7e
Remove obsolete TestPair.Pair (#19496) 2023-08-25 10:56:51 +10:00
Leon Friedrich 9c84108672
Change default test pooling options. (#18732) 2023-08-06 12:30:28 +10:00
TemporalOroboros ba91023a85
Fix content.integration tests warnings (#17817)
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2023-07-06 14:54:25 +10:00
metalgearsloth 317a4013eb
Puddles & spreader refactor (#15191) 2023-04-10 15:37:03 +10:00
metalgearsloth 3b3963083b
Replace GridEntityId with Owner (#12743) 2022-12-12 14:59:02 +11:00
metalgearsloth 6c76061887
Content changes for mapgrid kill (#12567) 2022-11-22 13:12:04 +11:00
Ygg01 75ea093d78
Fluid spread refactor (#11908)
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Fix undefined
2022-11-15 22:30:59 +11:00
metalgearsloth c9a2ab1cee
Remove transform methods from mapgrid (#12233) 2022-11-01 11:27:18 +11:00
wrexbe eb4f01f0db
Tests should always stop (#11338) 2022-09-15 20:17:02 -07:00
metalgearsloth a549a85e81
Update tiles to modern standards (#10436) 2022-08-10 17:05:40 +10:00
metalgearsloth b7623b6c08
Fix content test warnings (#9865)
* Fix content test warnings

* while I'm here

* fix

Co-authored-by: wrexbe <wrexbe@protonmail.com>
2022-07-19 21:48:44 -07:00
wrexbe bee053a38c
Get test map (#8987) 2022-06-22 00:44:19 +10:00
wrexbe 81e3b2da88
Make tests faster (#8737)
* Test changes

* Make finding the test tile a little smarter
2022-06-19 20:22:28 -07:00
Acruid 4f9be42f40
Remove Explicit GridId References (#8315)
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2022-06-12 11:54:41 +10:00
Pieter-Jan Briers cb4d5f3e59
More nullable component fixes (#8659) 2022-06-04 20:22:26 -07:00
wrexbe bc68ac96dd
Cleanup the namespaces (#8132) 2022-05-13 17:59:03 +10:00
metalgearsloth 72da2db62d
Content changes for grid splitting (#7645) (#7746)
Co-authored-by: Vera Aguilera Puerto <gradientvera@outlook.com>
2022-04-24 13:54:25 +10:00
metalgearsloth ecaad9c349
Revert "Update submodule (again)" (#7730) 2022-04-24 02:26:00 +10:00
metalgearsloth 8c7772630c
Content changes for grid splitting (#7645)
Co-authored-by: Vera Aguilera Puerto <gradientvera@outlook.com>
2022-04-24 00:59:38 +10:00
Moony 4d70395d11
Fix maploading once and for all. (#7501) 2022-04-15 14:35:58 -07:00
metalgearsloth b87806f7ed
Fix some build warnings (#6832)
Co-authored-by: metalgearsloth <metalgearsloth@gmail.com>
2022-02-21 14:41:50 +11:00
Ygg01 c76ee013b0
Fix overflow algo again so small ammounts don't spread infinitely (aka Infinite Cum Works) (#6796) 2022-02-20 12:54:05 -07:00
mirrorcult ec4d4688c7
Seal/abstract/virtual everything (#6739) 2022-02-16 18:23:23 +11:00
Vera Aguilera Puerto 2699540526 Remove useless resolves from a buncha tests. 2021-12-08 12:46:30 +01:00
Vera Aguilera Puerto 3f79e3754f Merge branch 'master' into 2021-12-03-remove-IEntity-komm-süsser-todd
# Conflicts:
#	Content.Client/Crayon/CrayonDecalVisualizer.cs
#	Content.Client/Tabletop/TabletopSystem.cs
#	Content.IntegrationTests/Tests/InventoryHelpersTest.cs
#	Content.Server/AI/EntitySystems/AiSystem.cs
#	Content.Server/AI/Utility/AiLogic/UtilityAI.cs
#	Content.Server/AME/AMENodeGroup.cs
#	Content.Server/Administration/AdminVerbSystem.cs
#	Content.Server/Body/Systems/RespiratorSystem.cs
#	Content.Server/Chemistry/Components/InjectorComponent.cs
#	Content.Server/Chemistry/TileReactions/CleanTileReaction.cs
#	Content.Server/Chemistry/TileReactions/SpillTileReaction.cs
#	Content.Server/Crayon/CrayonComponent.cs
#	Content.Server/Doors/Components/ServerDoorComponent.cs
#	Content.Server/Explosion/EntitySystems/TriggerSystem.cs
#	Content.Server/Fluids/Components/MopComponent.cs
#	Content.Server/Fluids/Components/SpillExtensions.cs
#	Content.Server/Fluids/EntitySystems/PuddleSystem.cs
#	Content.Server/Instruments/InstrumentSystem.cs
#	Content.Server/Nutrition/EntitySystems/DrinkSystem.cs
#	Content.Server/Nutrition/EntitySystems/FoodSystem.cs
#	Content.Server/PneumaticCannon/PneumaticCannonSystem.cs
#	Content.Server/Storage/Components/EntityStorageComponent.cs
#	Content.Server/Storage/Components/StorageFillComponent.cs
#	Content.Server/Stunnable/StunbatonSystem.cs
#	Content.Server/Throwing/ThrowHelper.cs
#	Content.Server/Weapon/Ranged/Barrels/BarrelSystem.cs
#	Content.Server/Weapon/Ranged/Barrels/Components/ServerBatteryBarrelComponent.cs
#	Content.Server/Weapon/Ranged/ServerRangedWeaponComponent.cs
#	Content.Shared/Containers/ItemSlot/ItemSlotsSystem.cs
#	Content.Shared/Damage/Components/DamageableComponent.cs
#	Content.Shared/Damage/Systems/DamageableSystem.cs
#	Content.Shared/MobState/Components/MobStateComponent.cs
#	Content.Shared/Slippery/SharedSlipperySystem.cs
2021-12-07 17:48:49 +01:00
DrSmugleaf 2a3b7d809d Fix 3000 errors 2021-12-05 18:09:01 +01:00
Ygg01 d1ab9592aa
Minor spill refactors (#5569) 2021-12-05 14:18:30 +11:00
Vera Aguilera Puerto f5b8bb3731 More manual fixes. 2021-12-03 17:35:20 +01:00
Vera Aguilera Puerto 5cd42c9ad6 Inline UID 2021-12-03 15:53:09 +01:00
Vera Aguilera Puerto b835bea086 Inline GetComponent 2021-12-03 11:55:25 +01:00
Vera Aguilera Puerto 1b13e5e0ec Inline Paused 2021-12-03 11:30:39 +01:00
Vera Aguilera Puerto b2035543e2 Inline Deleted 2021-12-03 11:30:03 +01:00
Vera Aguilera Puerto 3f8f4c818e
Fixes admin logs and tests to not depend on IEntity caching (#5657)
Co-authored-by: Paul Ritter <ritter.paul1@googlemail.com>
2021-12-03 10:25:07 +01:00
mirrorcult 6fc397f801
carpet (#5464)
* carpet

* reviews

* why tf i gotta fix integration tests in the carpet pr
2021-11-22 18:01:51 -07:00
Javier Guardia Fernández 1508efff54
Add test pooling (#4961)
* 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
2021-11-06 11:49:59 +01:00
mirrorcult 3ab4a30a0f
Generalize ReagentUnit into FixedPoint2 and use it for damage calculations (#5151)
* Damage units

* sum ext method
2021-11-03 16:48:03 -07:00