From 64d8245fb3643816b50fe0f9a7dee3fc07e4ef22 Mon Sep 17 00:00:00 2001 From: themias <89101928+themias@users.noreply.github.com> Date: Fri, 10 Jan 2025 10:37:11 -0500 Subject: [PATCH] Fix crayon losing durability on stamped paper (#34202) --- Content.Shared/Paper/PaperSystem.cs | 27 +++++++++++++++------------ 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/Content.Shared/Paper/PaperSystem.cs b/Content.Shared/Paper/PaperSystem.cs index 211eb7eba8..3c10ff2aaa 100644 --- a/Content.Shared/Paper/PaperSystem.cs +++ b/Content.Shared/Paper/PaperSystem.cs @@ -101,22 +101,25 @@ public sealed class PaperSystem : EntitySystem { // only allow editing if there are no stamps or when using a cyberpen var editable = entity.Comp.StampedBy.Count == 0 || _tagSystem.HasTag(args.Used, "WriteIgnoreStamps"); - if (_tagSystem.HasTag(args.Used, "Write") && editable) + if (_tagSystem.HasTag(args.Used, "Write")) { - if (entity.Comp.EditingDisabled) + if (editable) { - var paperEditingDisabledMessage = Loc.GetString("paper-tamper-proof-modified-message"); - _popupSystem.PopupEntity(paperEditingDisabledMessage, entity, args.User); + if (entity.Comp.EditingDisabled) + { + var paperEditingDisabledMessage = Loc.GetString("paper-tamper-proof-modified-message"); + _popupSystem.PopupEntity(paperEditingDisabledMessage, entity, args.User); - args.Handled = true; - return; + args.Handled = true; + return; + } + var writeEvent = new PaperWriteEvent(entity, args.User); + RaiseLocalEvent(args.Used, ref writeEvent); + + entity.Comp.Mode = PaperAction.Write; + _uiSystem.OpenUi(entity.Owner, PaperUiKey.Key, args.User); + UpdateUserInterface(entity); } - var writeEvent = new PaperWriteEvent(entity, args.User); - RaiseLocalEvent(args.Used, ref writeEvent); - - entity.Comp.Mode = PaperAction.Write; - _uiSystem.OpenUi(entity.Owner, PaperUiKey.Key, args.User); - UpdateUserInterface(entity); args.Handled = true; return; }