From d7733cab56da3356336dc6295b7fd8fce4563f0d Mon Sep 17 00:00:00 2001 From: Ed <96445749+TheShuEd@users.noreply.github.com> Date: Mon, 20 Jan 2025 16:36:42 +0300 Subject: [PATCH] fix round end --- Content.Server/_CP14/RoundEnd/CP14RoundEndSystem.cs | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) 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"),