* Fire extinguishers now put out candles
This did not actually require any changes to flammable or extinguishers directly, the only necessary changes were to make the collision actually work.
Vapor entities (also used for fire extinguishers) now have a collision layer, so they can hit items.
Added a new FlammableSetCollisionWake component to actually enable collision on candles while they are lit, because otherwise CollisionWake on entities gets in the way too.
* Extinguishing items is now relayed to held/worn items
This means held candles get extinguished too.
Involved moving the core logic of ExtinguishReaction into an event so that it can be relayed via the existing hand/inventory relay logic.
* Add helper functions for subscribing to relayed events.
Use these in FlammableSystem
* Make extinguishers work on cigarettes too
A bunch of renaming to make the rest of my code work with SmokableComponent
---------
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
* Add datafield to AnomalyComponent to play a sound when an anomaly enters supercriticality
* use Entity<T> pattern
* use implicit default for nullable
* don't forget to resolve the AnomalyComponent...
* Add comment for StartSupercriticalEvent "ent" parameter
* use implicit casts from Entity<T> to EntityUid
* StartSupercriticalEvent requires AnomalyComponent to resolve
* Make _outputSegments readonly
* Remove mystery character
* Use Fluent instead of string concatenation
* Adjust format
* Convert existing content
* Don't need these anymore
* Docs
* Extracts magic strings from Tag calls
When #36281 gets merged, the `TagSystem` methods will all give warnings. Let's fix those warnings before they even happen!
* Adds missing libraries
* Remove not yet implemented TagSystem changes
* Fix tag spelling error
Genuinely surprised there was only 1!
* Styling and proper type changes
* Styling
Co-authored-by: Tayrtahn <tayrtahn@gmail.com>
---------
Co-authored-by: Tayrtahn <tayrtahn@gmail.com>
* Conveyor optimisations
- Optimise movement for moving stuff. Better flags + less resolves + slapped parallelrobustjob on it.
- Sleeping for entities getting conveyed into walls.
* Blocker version
* Finish
* Final
* Mob collisions
* impulses
* Collision smoothing
* Locked in
* 30tps working
* r
* fixes
* Best
* Fixes + CVars
* CVars in place
* Pushies
* Opt attempt 1
* Revert "Opt attempt 1"
This reverts commit 5ccd72dcbea09261a992aa1f7f05df169a1ce676.
* Fix mispredicts
* Ready-ish
* better
* Cleanup
* Fix conveyor power mispredict
* Forgetting to actually do deltas
* Fix buckle pushes
* Bagel save
* Revert "Bagel save"
This reverts commit 1b93fda81fb852d89b89b0beae0b80f8a61165f2.
* Conveyor resave
* Fix prediction
* Mob movement rewrite
* Bandaid
* Working version
* Tentatively working
* Friction to fix cornering
* More fixes
* Revert bagel
* Revert this
* Bad parity
* Working
* Fixes
* Woops
* Doc comments
* Pen cap cvar
* StandingState cleanup and sub
* Fix downed mobs
* fish
* client
* Disable pushing on tests
* More variables
* Movement mods
* Mass diff
* 1 more tweak
* Cvar
* Prediction for EntityHeaterSystem
* Switch to Entity<T>
* meh
* Move popup inside ChangeSetting
* Fix grill visually turning on when changing setting while power is off
* Add note about my failed quest
* Why isn't this an IDE warning?
* Move comment above switch expression in SettingPower
* Redo drop held items math
* Don't assume the holder has a PhysicsComponent
* Assume infinite mass for held items with no PhysicsComponent
* Switch to EntityQuery for PhysicsComponent
* The micro-est of optimizations
* use NextAngle
* Might as well do that outside the loop