Temporarily make singularity a bit harder to loose as non-antag
(cherry picked from commit a68c6cb29ea4a3e3d78e16c867366e488c699fff)
Fix Fluent string ID copypaste fail
(cherry picked from commit 01d6df3d0ace170438aae3931339be539bd8b38e)
Fix the component defaults
(cherry picked from commit 476f90df095502089d9f60ad59099f405be36cd2)
Bump the failsafe timer down
(cherry picked from commit 68eaf6ff254e49789696f5a79691c119e26cbb18)
Add emag functionality
(cherry picked from commit 6e53cd98a400466640586bf19b41ec281944795e)
Move some of the new singularity code into shared
Hopefully without explosions yay
(cherry picked from commit 9c666457c2c13505725b7d3c336cae50f0666460)
Actually make the emagging popup work properly
(cherry picked from commit 44db676b24c8781e3290d499c7233125d7789cf6)
Please merge this immediately.
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Added automatic pausing for certain gravity effects, enhancing
responsiveness.
- **Refactor**
- Streamlined gravitational pulse mechanics for more consistent
interactions.
- Removed legacy behaviors such as momentum inheritance, counterforces,
and static attraction to simplify physics.
- **Chores**
- Increased the density of singularity entities to alter their physical
impact.
- Updated configuration values for gravity-related components to improve
overall stability and balance in gameplay.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
(cherry picked from commit 6fa56a63a34a02fa121aa175a9738186d3d2be94)
# Description
By request from the very same person who assisted with
https://github.com/Simple-Station/Einstein-Engines/pull/1618
This PR ports(and fixes)
https://github.com/space-wizards/space-station-14/pull/23372 such that
it works on modern Robust Toolbox.
This PR essentially makes it so that the Singularity (And Tesla by
extension) inherit some of the momentum of objects thrown into them. Im
practice it means that they now work more like they do in SS13, whereby
if a traitor does not actively intervene in a Singuloose(such as by
using a Singularity Beacon), the singularity will usually be "Blown back
into space" by space wind throwing objects at it in retaliation to it
eating engineering.
<details><summary><h1>Media</h1></summary>
<p>
https://github.com/user-attachments/assets/04e9e5b9-d873-4425-b19a-b854b57db486
</p>
</details>
# Changelog
🆑
- add: Singularity and Tesla are now affected by objects thrown into
them, causing them to change directions. Unless a traitor intervenes
(with a Singularity Beacon), a "Singuloose" is extremely likely to be
blown out to space.
---------
Signed-off-by: VMSolidus <evilexecutive@gmail.com>
Co-authored-by: DEATHB4DEFEAT <77995199+DEATHB4DEFEAT@users.noreply.github.com>
(cherry picked from commit 34b55e14f51d562510b1d9954999fbb3085bdf02)
* InitialCommit (Broken)
* Fixes compile errors
* PR comments. More doc comments. Fixes
* Makes a singularity/event horizon without radiation/physics a valid state to be in
* VV 'fake' setters, fixes the visualizer, fixes the singularity trying to eat itself instead of nearby things.
* Removes unused dependency from Content.Client.GravityWellSystem
* Testing containment and fake VV setters for SingularityGeneratorComponent
* Fixes gravity wells (broken due to LookupFlags.None). Adds recursive Event Horizon consumption
* Fix merge skew
* Fixes for the master merge
* Fix engine commit
* Dirty is obsolete
* Switch over dirty
* Fix requested changes
* ambiant -> ambient
* Moves EventHorionComponent to Shared
* Proper container handling
* Fixes master merge. Fixes post insertion assertions for singularities. Extends proper container handling to gravity wells and the distortion shader.
* Better support for admemes throwing singularities.
* Moves update timing from accumulators to target times
* Update doc comments
* ECS containmentfieldgeneratorcomponent
* Fix tests and clean up one line
* check for anchored in a better way
* Fix dependency exception
I'm not really happy with this solution, it's not very good but I'm not
sure how to do it better without refactoring way more than I want to. Maybe
I'm missing something.
* review
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
* Move radiation collector to ECS
* Damagable system
* Remove IRadiationAct
* Add small helper field
* Update Content.Server/Radiation/Systems/RadiationSystem.cs
Co-authored-by: Leon Friedrich <60421075+ElectroJr@users.noreply.github.com>
* Delete comment
* Fixed total rads
Co-authored-by: Leon Friedrich <60421075+ElectroJr@users.noreply.github.com>
* git mv
* Move Access Component & system.
- Name space changes
- Rename AccessReader to AccessReaderComponent
- Also need an abstract TryGetSlot function for SharedInventoryComponent
* better TryGetSlot
* Ah yes, tests exist.