Commit Graph

37 Commits

Author SHA1 Message Date
Leon Friedrich 87e570c2c8 Remove Entity<T> data-fields (#34083) 2025-01-12 08:17:19 +00:00
Partmedia 5fdfa2aee0 Fix sinks and toilets not draining (#33691)
* Fix AutoDrain

Per the system comments, AutoDrain is designed to automatically move
puddles into the drain (like a floor drain). Drains without AutoDrain
are still supposed to gradually empty the buffer, but not remove puddles
(like sinks and toilets).

However, a logic error in the original implementation causes drains with
AutoDrain set to false to simply not work. Hence sinks never emptied.

* Update documentation
2024-12-07 22:01:08 +00:00
metalgearsloth 46a3d6d100 Optimise drains (#32230)
* Optimise drains

If it's still a problem then we do what I did for rmc14 and just dump all the active drains onto a job to getentitiesinrange in parallel.

* Fixes
2024-10-02 12:08:11 +01:00
IProduceWidgets bb65810671 Clean up solution regen and drain comps (#29777)
* clean up solution regen and drain comps

* Tape applied.

* Update Content.Server/Chemistry/Components/SolutionRegenerationComponent.cs

Co-authored-by: Tayrtahn <tayrtahn@gmail.com>

* remain entity

* That has to be a rogue test fail.

---------

Co-authored-by: Tayrtahn <tayrtahn@gmail.com>
2024-09-22 02:45:06 +01:00
slarticodefast 9cb75c9ff9 Make mobs without hands unable to spill jugs (#31438)
* make mobs without hands unable to spill jugs

* snails
2024-09-14 13:56:26 +01:00
deltanedas aa043d43eb fire extinguisher using item toggle (#29906)
* move SprayAttemptEvent to shared

* add SolutionTransferredEvent

* replace FireExtinguisher with SpraySafety

* update fire extinguisher yml

* invert visuals

* always handle event in solution transfer, it makes popups

* instantly fill it

* untroll

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
2024-08-09 17:45:39 +01:00
Tayrtahn 4866f1aaea
Replace BlockSolutionAccessComponent with an attempt event (#26988)
* BlockSolutionAccessComponent now only blocks one specified solution.

* Significant overhaul
Separated spilling when worn functionality into its own component/system.
Removed BlockSolutionAccessComponent.
Added an event for solution access.
2024-07-25 00:39:35 +02:00
Vasilis d50ae28b15
Stop mop buckets from spilling when you push them (#26706)
(cherry picked from commit d4982bad3102c22f8374a697caa54b4aa6c14b5a)
2024-04-07 14:34:16 +02:00
deltanedas 5e3d7350ba
scoopable ash and foam, solution transfer prediction (#25832)
* 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>
(cherry picked from commit 1db178b63254c5b509a6493a631fddb596b376a4)
2024-04-07 14:27:04 +02:00
Plykiya 7182e0f674
Injector UI shows TransferAmount change, Spilling liquid changes Injector mode (#26596)
* Injector UI shows TransferAmount change, spill changes mode

* Update Content.Shared/Fluids/SharedPuddleSystem.Spillable.cs

* Update Content.Shared/Fluids/SharedPuddleSystem.Spillable.cs

---------

Co-authored-by: Plykiya <plykiya@protonmail.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
(cherry picked from commit d71062a64c569d59bc67c950a34454eef7ccaa14)
2024-04-07 14:21:27 +02:00
Tayrtahn 8ecb0d9ae2
Add prediction to Spill Container verb, add dummy TrySpill methods to shared (#25813)
* Moved abstract spill methods to shared; added prediction to spill container verb.

* Rerun tests

* Requested changes

* Note Client behavior in Spill method docs

(cherry picked from commit 4cd2fbd076ac09d93e5258bf2b822360c77d1ea1)
2024-04-07 14:11:49 +02:00
Tayrtahn b97afd8346
Add prediction for puddle and spillable examines (#25794)
Prediction for puddle and spillable examines

(cherry picked from commit 4943151111c8db9ac94701128b08f857b3abd3e6)
2024-03-07 01:19:36 +01:00
Pieter-Jan Briers ccea85136b
Random spontaneous cleanup PR (#25131)
* Use new Subs.CVar helper

Removes manual config OnValueChanged calls, removes need to remember to manually unsubscribe.

This both reduces boilerplate and fixes many issues where subscriptions weren't removed on entity system shutdown.

* Fix a bunch of warnings

* More warning fixes

* Use new DateTime serializer to get rid of ISerializationHooks in changelog code.

* Get rid of some more ISerializationHooks for enums

* And a little more

* Apply suggestions from code review

Co-authored-by: 0x6273 <0x40@keemail.me>

---------

Co-authored-by: 0x6273 <0x40@keemail.me>
(cherry picked from commit 68ce53ae17985876d6d112b764b2144964a9f42e)
2024-02-18 23:02:29 +01:00
themias 87108e5822
Add reagent specific footstep sounds (#24406)
* Add sticky footsteps

* Update Resources/Audio/Effects/Footsteps/attributions.yml

Co-authored-by: ike709 <ike709@users.noreply.github.com>

---------

Co-authored-by: ike709 <ike709@users.noreply.github.com>
(cherry picked from commit 557e5eb476235398c3cf95aad793f36ab4b48f55)
2024-01-27 23:48:14 +01:00
TemporalOroboros ce27944275
Revert 'Revert 'Solution Entities'' (#23168)
(cherry picked from commit d23c8d5c19e56a582b6b12f832bd318efbdac7c7)
2024-01-23 23:00:42 +01:00
metalgearsloth c9648da984 Content update for NetEntities (#18935) 2023-09-27 21:59:12 +02:00
TNE 52ef8f9b70
Allow drag-and-drop insertion of reagents into the ChemMaster (#19796)
* Add DumpableSolutionComponent

Separates out the component from "DrainComponent" that allows one to drag a bucket/any reagent container onto a drain/sink/toilet to empty it and allows other reagent containers to reuse the code effortlessly.

* Give the ChemMaster 4000 the DumpableSolution Component

Allows drag and dropping solutions into the ChemMaster much like you used to be able to do exclusively with drains. This also allows dumping jugs into them.
2023-09-04 15:53:13 +03:00
DrSmugleaf a88e747a0b
Refactor serialization copying to use source generators (#19412) 2023-08-22 18:14:33 -07:00
metalgearsloth d7abbab082
Add gatherable break sounds (#19360) 2023-08-20 14:05:43 -07:00
Vordenburg 7582474f1a
Lint more const string prototypes (#18922) 2023-08-13 20:26:59 -04:00
Topy 2349a3eba3
Fixed args.Used instead of args.Target (#17838) 2023-07-05 13:31:30 -07:00
Topy b85c902189
Added sink (#14348) 2023-06-30 18:10:47 -04:00
metalgearsloth f12f277c35
Puddle fixes (#15820) 2023-04-26 21:29:31 +10:00
metalgearsloth 6076130987
Janitor QoL (#15626) 2023-04-23 18:20:03 +10:00
EnDecc 34f5cb7440
Drain buffs (#15300) 2023-04-11 21:21:30 +10:00
metalgearsloth 317a4013eb
Puddles & spreader refactor (#15191) 2023-04-10 15:37:03 +10:00
Leon Friedrich 19277a2276
More DoAfter Changes (#14609)
* DoAfters

* Compact Clone()

* Fix mice and cuffables

* Try generalize attempt events

* moves climbabledoafter event to shared, fixes issue with climbable target

* Fix merge (cuffing)

* Make all events netserializable

* handful of doafter events moved

* moves the rest of the events to their respective shared folders

* Changes all mentions of server doafter to shared

* stop stripping cancellation

* fix merge errors

* draw paused doafters

* handle unpausing

* missing netserializable ref

* removes break on stun reference

* removes cuffing state reference

* Fix tools

* Fix door prying.

* Fix construction

* Fix dumping

* Fix wielding assert

* fix rev

* Fix test

* more test fixes

---------

Co-authored-by: keronshb <keronshb@live.com>
2023-04-02 21:13:48 -04:00
metalgearsloth 2c751d5153
Add ItemStatus for mopping (#13745)
* Add ItemStatus for mopping

Big QOL feature

* a
2023-02-11 01:38:45 +00:00
Willhelm53 a1dcc500a8
Puddle Visuals: ECS/Refactor and fixes (#11941)
* Don't stop me now, cuz I'm havin' such a good time (I'm havin' a ball!)

* YEET

* No changes to intended behaviour at this point. Pretty much just a refactor + bugfixes.

* tweaks to RandomizeState, removing an error caused by setting the state after setting the RSI

* Comments cleanup and removed IsSlippery. To re-add soon for this PR.

* test

* We don't actually use this PuddleGeneric anywhere

* cheeky

* Uncheeky, and tweaks based on #8203

* Recheeky

* A small price to pay for `checks passed`

* Beauty, like ice, our footing does betray; Who can tread sure on the smooth, slippery way

* Undo Slippery Checks

* Begin smoothing. Need to fix the animation-not-playing bug again

* Cleanup

* animation bugfix

* IgnoredComponents tests fix
2022-12-19 20:40:53 -06: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
wrexbe bc68ac96dd
Cleanup the namespaces (#8132) 2022-05-13 17:59:03 +10:00
Willhelm53 4d3a381962
Mopping Puddle Dilution and Wet Floor Sparkles (#6273) 2022-02-04 19:26:11 -07:00
mirrorcult fd316c3983
Fire extinguisher/spray refactor (#6314)
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2022-01-31 01:42:15 +11:00
Ygg01 14b401f9b3
Puddle refactor 2: Spillastic boogaloo (#4784)
* Refactor PuddleComponent

* Move puddle effects into separate RSIs

Basically egg/tomato/powder puddle will be moved into separate
/Textures/Fluids RSIs

* Fix YAML for puddles

* Fix issues sloth pointed out.

* Ensure Puddle Component are properly added when spawned

* Remove unnecessary method init puddle with starting maxVolume

* Addressed ElectroSr comments

* Add Resolves

* Try fix error in ensureSolution

* Puddle unanchoring

* Address some issues with puddles

* Fix continue -> return
2021-10-27 19:24:18 +11:00
StStevens e621a82e65
Fire extinguisher safety (#4912)
* Moved safety into FireExtinguisherComponent.

* Fix errant find and replace

* Address reviews

Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2021-10-25 18:04:24 +11:00
Visne b7dc3c81ae
Remove redundant #nullable enable (#4275) 2021-07-16 17:37:09 -07:00
DrSmugleaf ff1a2d97ea
Re-organize all projects (#4166) 2021-06-09 22:19:39 +02:00