diff --git a/Content.Server/StationEvents/Events/StationEventSystem.cs b/Content.Server/StationEvents/Events/StationEventSystem.cs index 38390cedb1..35dc646bce 100644 --- a/Content.Server/StationEvents/Events/StationEventSystem.cs +++ b/Content.Server/StationEvents/Events/StationEventSystem.cs @@ -98,7 +98,11 @@ public abstract class StationEventSystem : GameRuleSystem where T : ICompo if (!GameTicker.IsGameRuleAdded(uid, ruleData)) continue; - if (stationEvent.EndTime != null && Timing.CurTime >= stationEvent.EndTime && GameTicker.IsGameRuleActive(uid, ruleData)) + if (!GameTicker.IsGameRuleActive(uid, ruleData) && !HasComp(uid)) + { + GameTicker.StartGameRule(uid, ruleData); + } + else if (stationEvent.EndTime != null && Timing.CurTime >= stationEvent.EndTime && GameTicker.IsGameRuleActive(uid, ruleData)) { GameTicker.EndGameRule(uid, ruleData); }