From fbe6168291e808594564f758b4edc230790a53d4 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 | 29 ++++++++++++++++------------- 1 file changed, 16 insertions(+), 13 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); - - args.Handled = true; - return; + if (entity.Comp.EditingDisabled) + { + var paperEditingDisabledMessage = Loc.GetString("paper-tamper-proof-modified-message"); + _popupSystem.PopupEntity(paperEditingDisabledMessage, entity, args.User); + + 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; } -- 2.51.2