* Resolve obsolete TransformComponent warnings
* all gas no lerp, a few unused imports
* Resolve TransformSystem via IEntityManager.System
* Revert to set anchored in ConstructionSystem.Graph
* pragma, no FIXME, redundant TransformSystems
* Remove unused variable
* Address sloth's suggestions
* oneliner rotation assignment
* Use spawn commands with rotation
* yet more spawnattachedto changes & cleanup
* Remove unused transform import
* more transform system cleanup, dump restock warn
* Sync debug gyroscope, rename SetAngularThrust to SetAngularThrustVisualState
* inertiaThreshold and GetInertiaThresholdScale
* basePowerLoad and UpdatePowerLoad
* Re-accumulate and update during OnShuttleTileChange
* Move to subscription on MassDataChangedEvent
* Fix for IsOn if the grid loses it's shuttle component
* Fixed return
* Reuse cached thruster ids
* Missing using
* Fixed map keys must be unique
* Somehow this got pasted in
* Copied basePowerLoad for large thrusters too
* Updated default threshold
* Fixed variable case
* Axes the easy IMapManager references
* Axes the references to unported (obsolete) IMapManager methods
* Converts salvageruler command to a LocalizedEntityCommand so it can use SharedMapSystem
* Removes IMapManager from GameTicker
This required axing the map nuke during restart, but that should be fine?
Maps are entities so EntityManager.FlushEntities should delete them all and that's the preceding line
* submodule update(?)
---------
Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
* Nubody
* fix test fails
* gibbing
* lung test returns
* doc comment
* hand organ test
* giblet test
* yaml formatting
* returning
* relocate
* trimming
* re-smite
* oops thusd tweak
* arachnids have slower metabolism i guess
* never mind the old behaviour is bad actually
* rider whyyy
* style changes and allat
* fix collision
---------
Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
* Decouple gibbing from the body system
* allow gibs that don't drop giblets
* pass through user
* prediction gon
* comment
* destructible
* playpvs
* very very very very very very very minor cleanup
---------
Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
* seperate out shuttle cooldowns
* fix
* feedback
* fix spacing
* update to TimeSpan
* GOAT float
* return to TimeSpan
* add var
* clarify with seconds
* clarifying some things
* Create TurfSystem equivalent for and obsolete TurfHelpers.GetTileRef
* Fix EntitySystem uses of TurfHelpers.GetTileRef
* Fix EntitySystem uses of TurfHelpers.TryGetTileRef
* Fix construction condition uses of TurfHelpers.GetTileRef
* Fix last use of TurfHelpers.IsBlockedTurf
* Create TurfSystem equivalent to and obsolete TurfHelpers.GetContentTileDefinition
* Fix uses of TurfHelpers.GetContentTileDefinition(TileRef)
* Fix uses of TurfHelpers.GetContentTileDefinition(Tile)
* Create TurfSystem equivalent to and obsolete TurfHelpers.IsSpace
* Fix EntitySystem uses of TurfHelpers.IsSpace(Tile)
* Fix EntitySystem uses of TurfHelpers.IsSpace(TileRef)
* Fix remaining uses of TurfHelpers.IsSpace
* Fix uses of TurfHelpers.GetEntitiesInTile
* Delete TurfHelpers.cs
* Add GetEntitiesInTile lookup methods
* Convert some GetEntitiesInTile methods to LookupSystem extension methods
* Use new GetEntitiesInTile methods
* Recycle spiderweb hashset
* Recycle floor tile hashset
* Shuttles now use their proper friction values
* Documentation
* Shuttles now use their proper friction values
* Documentation
* What the instrumentsystem doin
* what the instrumentsystem doing 2
Adds FTLSmashImmune to nuke prototype to stop it from arrival smashing
Adds a comment in FasterThanLight to indicate where the FTLSmashImmuneComponent is checked
Co-authored-by: aa5g21 <aa5g21@soton.ac.uk>
* Extend shuttle dock time if the shuttle doesn't dock at evac.
If the shuttle can't dock at evac for *some reason*, it will instead try to dock at another port on the station. And if that fails it goes somewhere random on the station.
Because of the chaos and confusion caused by this, many people will frequently not get to the shuttle in time under these circumstances. This sucks for everybody.
To alleviate this, the shuttle launch timer will now be extended if the station doesn't dock at its ideal spot. The default values (controlled via CVar) are 1.667x and 2x respectively for "wrong dock" and "no dock at all" scenarios.
The code around here was a mess, so I fixed that too. "CallEmergencyShuttle" has been renamed to "DockEmergencyShuttle", the overload that did the actual docking has been renamed to DockSingleEmergencyShuttle. Code has been split into separate dock -> announce methods so we can calculate shuttle delay in between the case of multiple stations.
Also made the "shuttle couldn't find a dock" text announce the time until it launches and fix the shuttle timers not triggering for it.
* Minor review
---------
* Format DockingSystem.Shuttle
* arrivals system
* docking system
* shuttle console system
* emergency shuttle system
* shuttle system
* thruster system
* Fix compile error
---------
Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
* Add admin log when someone gets gibbed by a shuttle
* Make shuttle gibbing work properly again
* Fix immovable rod gibbing, no longer puts you into nullspace
* Update Content.Server/ImmovableRod/ImmovableRodSystem.cs
* Update Content.Server/Shuttles/Systems/ShuttleSystem.FasterThanLight.cs
---------
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
The FTL UI on the shuttle console would reset the FTL progress bar every time you open it. This is because the server only sends "time until completion", not a start/end time. The FTL code now uses a separate start/end time so the exact same progress bar can be preserved.
For convenience, I made a StartEndTime record struct that stores the actual tuple. This is now used by the code and has some helpers.