Fix rounds restarting in the next round (#25856)
* Fix rounds restarting in the next round Doesn't fix them restarting in lobby I think but should fix most of it. * delta india sierra charlie oscar romeo delta
This commit is contained in:
@@ -308,8 +308,9 @@ public sealed partial class EmergencyShuttleSystem
|
|||||||
|
|
||||||
private void CleanupEmergencyConsole()
|
private void CleanupEmergencyConsole()
|
||||||
{
|
{
|
||||||
|
// Realistically most of this shit needs moving to a station component so each station has their own emergency shuttle
|
||||||
|
// and timer and all that jazz so I don't really care about debugging if it works on cleanup vs start.
|
||||||
_announced = false;
|
_announced = false;
|
||||||
_roundEndCancelToken = null;
|
|
||||||
ShuttlesLeft = false;
|
ShuttlesLeft = false;
|
||||||
_launchedShuttles = false;
|
_launchedShuttles = false;
|
||||||
_consoleAccumulator = float.MinValue;
|
_consoleAccumulator = float.MinValue;
|
||||||
|
|||||||
@@ -19,6 +19,7 @@ using Content.Shared.Access.Systems;
|
|||||||
using Content.Shared.CCVar;
|
using Content.Shared.CCVar;
|
||||||
using Content.Shared.Database;
|
using Content.Shared.Database;
|
||||||
using Content.Shared.DeviceNetwork;
|
using Content.Shared.DeviceNetwork;
|
||||||
|
using Content.Shared.GameTicking;
|
||||||
using Content.Shared.Shuttles.Components;
|
using Content.Shared.Shuttles.Components;
|
||||||
using Content.Shared.Shuttles.Events;
|
using Content.Shared.Shuttles.Events;
|
||||||
using Content.Shared.Tag;
|
using Content.Shared.Tag;
|
||||||
@@ -80,6 +81,7 @@ public sealed partial class EmergencyShuttleSystem : EntitySystem
|
|||||||
Subs.CVar(_configManager, CCVars.EmergencyShuttleEnabled, SetEmergencyShuttleEnabled);
|
Subs.CVar(_configManager, CCVars.EmergencyShuttleEnabled, SetEmergencyShuttleEnabled);
|
||||||
|
|
||||||
SubscribeLocalEvent<RoundStartingEvent>(OnRoundStart);
|
SubscribeLocalEvent<RoundStartingEvent>(OnRoundStart);
|
||||||
|
SubscribeLocalEvent<RoundRestartCleanupEvent>(OnRoundCleanup);
|
||||||
SubscribeLocalEvent<StationEmergencyShuttleComponent, ComponentStartup>(OnStationStartup);
|
SubscribeLocalEvent<StationEmergencyShuttleComponent, ComponentStartup>(OnStationStartup);
|
||||||
SubscribeLocalEvent<StationCentcommComponent, ComponentShutdown>(OnCentcommShutdown);
|
SubscribeLocalEvent<StationCentcommComponent, ComponentShutdown>(OnCentcommShutdown);
|
||||||
SubscribeLocalEvent<StationCentcommComponent, ComponentInit>(OnCentcommInit);
|
SubscribeLocalEvent<StationCentcommComponent, ComponentInit>(OnCentcommInit);
|
||||||
@@ -93,10 +95,15 @@ public sealed partial class EmergencyShuttleSystem : EntitySystem
|
|||||||
private void OnRoundStart(RoundStartingEvent ev)
|
private void OnRoundStart(RoundStartingEvent ev)
|
||||||
{
|
{
|
||||||
CleanupEmergencyConsole();
|
CleanupEmergencyConsole();
|
||||||
_roundEndCancelToken?.Cancel();
|
|
||||||
_roundEndCancelToken = new CancellationTokenSource();
|
_roundEndCancelToken = new CancellationTokenSource();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void OnRoundCleanup(RoundRestartCleanupEvent ev)
|
||||||
|
{
|
||||||
|
_roundEndCancelToken?.Cancel();
|
||||||
|
_roundEndCancelToken = null;
|
||||||
|
}
|
||||||
|
|
||||||
private void OnCentcommShutdown(EntityUid uid, StationCentcommComponent component, ComponentShutdown args)
|
private void OnCentcommShutdown(EntityUid uid, StationCentcommComponent component, ComponentShutdown args)
|
||||||
{
|
{
|
||||||
ClearCentcomm(component);
|
ClearCentcomm(component);
|
||||||
|
|||||||
Reference in New Issue
Block a user