diff --git a/Content.Server/StationEvents/Events/PowerGridCheckRule.cs b/Content.Server/StationEvents/Events/PowerGridCheckRule.cs index 24a08be7b4..7005ca8fe5 100644 --- a/Content.Server/StationEvents/Events/PowerGridCheckRule.cs +++ b/Content.Server/StationEvents/Events/PowerGridCheckRule.cs @@ -135,6 +135,11 @@ namespace Content.Server.StationEvents.Events // Can't use the default EndAudio rule.Comp.AnnounceCancelToken?.Cancel(); + + // Corvax-Announcements-fix временная заплатка, удалить после реворка https://github.com/space-wizards/space-station-14/issues/46073 + if (MetaData(rule).EntityLifeStage >= EntityLifeStage.Terminating) + return; + rule.Comp.AnnounceCancelToken = new CancellationTokenSource(); Timer.Spawn(3000, () => diff --git a/Content.Server/StationEvents/Events/StationEventSystem.cs b/Content.Server/StationEvents/Events/StationEventSystem.cs index b5da5355fe..4712d348ce 100644 --- a/Content.Server/StationEvents/Events/StationEventSystem.cs +++ b/Content.Server/StationEvents/Events/StationEventSystem.cs @@ -78,6 +78,10 @@ public abstract partial class StationEventSystem : GameRuleSystem where T AdminLogManager.Add(LogType.EventStopped, $"Event ended: {ToPrettyString(rule)}"); + // Corvax-Announcements-fix временная заплатка, удалить после реворка https://github.com/space-wizards/space-station-14/issues/46073 + if (MetaData(rule).EntityLifeStage >= EntityLifeStage.Terminating) + return; + // we don't want to send to players who aren't in game (i.e. in the lobby) Filter allPlayersInGame = Filter.Empty().AddWhere(GameTicker.UserHasJoinedGame);