diff --git a/Content.Server/_CP14/RoundEnd/CP14RoundEndSystem.cs b/Content.Server/_CP14/RoundEnd/CP14RoundEndSystem.cs index 1dc3374f5a..d32672bd8f 100644 --- a/Content.Server/_CP14/RoundEnd/CP14RoundEndSystem.cs +++ b/Content.Server/_CP14/RoundEnd/CP14RoundEndSystem.cs @@ -4,6 +4,7 @@ using Content.Server.GameTicking; using Content.Server.RoundEnd; using Content.Shared._CP14.MagicEnergy; using Content.Shared.CCVar; +using Content.Shared.GameTicking; using Robust.Shared.Configuration; using Robust.Shared.Audio; using Robust.Shared.Timing; @@ -26,8 +27,13 @@ public sealed partial class CP14RoundEndSystem : EntitySystem { base.Initialize(); - SubscribeLocalEvent( - OnFinisherMagicEnergyLevelChange); + SubscribeLocalEvent(OnFinisherMagicEnergyLevelChange); + SubscribeNetworkEvent(OnRoundEndMessage); + } + + private void OnRoundEndMessage(RoundEndMessageEvent ev) + { + _roundEndMoment = TimeSpan.Zero; //Reset timer, so it cant affect next round in any case } public override void Update(float frameTime) @@ -47,7 +53,7 @@ public sealed partial class CP14RoundEndSystem : EntitySystem ref CP14MagicEnergyLevelChangeEvent args) { //Alarm 50% magic energy left - if (args.NewValue < args.OldValue && args.OldValue >= args.MaxValue / 2 && args.NewValue <= args.MaxValue / 2) + if (args.NewValue < args.OldValue && args.OldValue > args.MaxValue / 2 && args.NewValue <= args.MaxValue / 2) { _chatSystem.DispatchGlobalAnnouncement( Loc.GetString("cp14-round-end-monolith-50"),