* 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>
(cherry picked from commit 5c69031d116c3ad9c05a80525323d97d7469829e)
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.
(cherry picked from commit 3b791459c74c6b56c8ae6204a936f6de06674b93)
* Fix FTLToDock
- Removed Enabled coz unneeded really.
- Fixed SetCoordinates call that got dumped at some point oop.
* Fix this docking check
(cherry picked from commit 92872e546ad5c281980ab8f56fea970c1921f8e4)
* -Changes gibbing on FTL when on a spaced tile to yeeting on FTL if you're not buckled and on a space tile.
* -Throw relative to local shuttle position instead, fine for most cases and more performant
-Use throw code to throw.
* Blanks removal
woops
Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
---------
Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>