diff --git a/Content.Server/Imperial/Medieval/Administration/Nrp/NrpPanelEui.cs b/Content.Server/Imperial/Medieval/Administration/Nrp/NrpPanelEui.cs index d9c1e395ab..6105856b3c 100644 --- a/Content.Server/Imperial/Medieval/Administration/Nrp/NrpPanelEui.cs +++ b/Content.Server/Imperial/Medieval/Administration/Nrp/NrpPanelEui.cs @@ -69,11 +69,8 @@ public override async void HandleMessage(EuiMessageBase msg) SendMessage(new NrpMessagesResponse(messages)); break; case ResolveNrpMessageMsg resolve: - if (!_nrpSystem.TryRemoveMessage(resolve.Message)) - { - SendMessage(new RemoveNrpMessageMsg(resolve.Message)); + if (!resolve.Message.TryResolve()) return; - } var isNrp = resolve.IsNrp; if (isNrp) diff --git a/Content.Shared/Imperial/Medieval/Administration/Nrp/NrpPanelEuiMessages.cs b/Content.Shared/Imperial/Medieval/Administration/Nrp/NrpPanelEuiMessages.cs index 40b8eb7e11..f8961cf84b 100644 --- a/Content.Shared/Imperial/Medieval/Administration/Nrp/NrpPanelEuiMessages.cs +++ b/Content.Shared/Imperial/Medieval/Administration/Nrp/NrpPanelEuiMessages.cs @@ -40,6 +40,19 @@ public sealed class NrpMessage : EuiMessageBase public string EntityName { get; } public string? JobName { get; } public int Violations { get; } + + public bool Resolved { get; private set; } + + public bool TryResolve() + { + if (Resolved) + return false; + + Resolved = true; + return true; + } + + public NrpMessage(string unformattedMessage, Dictionary bannedWords, string message, string playerName, NetUserId playerId, NetEntity? playerAttachedEntity, string entityName, string? jobName, int violations) { UnformattedMessage = unformattedMessage;