diff --git a/Content.Client/Paper/UI/PaperWindow.xaml.cs b/Content.Client/Paper/UI/PaperWindow.xaml.cs index 666ea124b37..ee014ef98db 100644 --- a/Content.Client/Paper/UI/PaperWindow.xaml.cs +++ b/Content.Client/Paper/UI/PaperWindow.xaml.cs @@ -253,10 +253,7 @@ public void Populate(SharedPaperComponent.PaperBoundUserInterfaceState state) StampDisplay.RemoveStamps(); foreach(var stamper in state.StampedBy) { - if (stamper.StampedBorderless) - StampDisplay.AddStamp(new StampWidget(true) { StampInfo = stamper }); - else - StampDisplay.AddStamp(new StampWidget { StampInfo = stamper }); + StampDisplay.AddStamp(new StampWidget { StampInfo = stamper }); } } diff --git a/Content.Client/Paper/UI/StampWidget.xaml.cs b/Content.Client/Paper/UI/StampWidget.xaml.cs index 66e1e162f26..face056ec6e 100644 --- a/Content.Client/Paper/UI/StampWidget.xaml.cs +++ b/Content.Client/Paper/UI/StampWidget.xaml.cs @@ -23,9 +23,10 @@ public float Orientation public StampDisplayInfo StampInfo { set { - StampedByLabel.Text = Loc.GetString(value.StampedName); + StampedByLabel.Text = value.Type is StampType.Signature ? value.StampedName : Loc.GetString(value.StampedName); StampedByLabel.FontColorOverride = value.StampedColor; ModulateSelfOverride = value.StampedColor; + PanelOverride = value.Type is StampType.Signature ? null : _borderTexture; } } @@ -45,23 +46,6 @@ public StampWidget() _stampShader = prototypes.Index("PaperStamp").InstanceUnique(); } - public StampWidget(bool borderless) - { - RobustXamlLoader.Load(this); - var resCache = IoCManager.Resolve(); - var borderImage = resCache.GetResource( - "/Textures/Interface/Paper/paper_stamp_noborder.svg.96dpi.png"); - _borderTexture = new StyleBoxTexture - { - Texture = borderImage, - }; - _borderTexture.SetPatchMargin(StyleBoxTexture.Margin.All, 7.0f); - PanelOverride = _borderTexture; - - var prototypes = IoCManager.Resolve(); - _stampShader = prototypes.Index("PaperStamp").InstanceUnique(); - } - protected override void Draw(DrawingHandleScreen handle) { _stampShader?.SetParameter("objCoord", GlobalPosition * UIScale * new Vector2(1, -1)); diff --git a/Content.Server/Paper/PaperSystem.cs b/Content.Server/Paper/PaperSystem.cs index 531517d5df7..30a8883ebeb 100644 --- a/Content.Server/Paper/PaperSystem.cs +++ b/Content.Server/Paper/PaperSystem.cs @@ -12,6 +12,7 @@ using Robust.Shared.Utility; using Robust.Shared.Audio; using Content.Server.Access.Systems; +using Content.Server.Crayon; using Content.Shared.Hands; using Robust.Shared.Audio.Systems; using static Content.Shared.Paper.SharedPaperComponent; @@ -45,9 +46,8 @@ public override void Initialize() SubscribeLocalEvent(OnMapInit); - SubscribeLocalEvent(OnHandPickUp); - - SubscribeLocalEvent>(OnVerb); + // FRONTIER - Sign verb hook + SubscribeLocalEvent>(AddSignVerb); } private void OnMapInit(EntityUid uid, PaperComponent paperComp, MapInitEvent args) @@ -71,7 +71,6 @@ private void OnInit(EntityUid uid, PaperComponent paperComp, ComponentInit args) if (paperComp.StampState != null) _appearance.SetData(uid, PaperVisuals.Stamp, paperComp.StampState, appearance); } - } private void BeforeUIOpen(EntityUid uid, PaperComponent paperComp, BeforeActivatableUIOpenEvent args) @@ -96,12 +95,37 @@ private void OnExamined(EntityUid uid, PaperComponent paperComp, ExaminedEvent a if (paperComp.StampedBy.Count > 0) { - var commaSeparated = - string.Join(", ", paperComp.StampedBy.Select(s => Loc.GetString(s.StampedName))); - args.PushMarkup( - Loc.GetString( - "paper-component-examine-detail-stamped-by", ("paper", uid), ("stamps", commaSeparated)) - ); + // BEGIN FRONTIER MODIFICATION - Make stamps and signatures render separately. + // Separate into stamps and signatures. + var stamps = paperComp.StampedBy.FindAll(s => s.Type == StampType.RubberStamp); + var signatures = paperComp.StampedBy.FindAll(s => s.Type == StampType.Signature); + + // If we have stamps, render them. + if (stamps.Count > 0) + { + var joined = string.Join(", ", stamps.Select(s => Loc.GetString(s.StampedName))); + args.PushMarkup( + Loc.GetString( + "paper-component-examine-detail-stamped-by", + ("paper", uid), + ("stamps", joined) + ) + ); + } + + // Ditto for signatures. + if (signatures.Count > 0) + { + var joined = string.Join(", ", signatures.Select(s => s.StampedName)); + args.PushMarkup( + Loc.GetString( + "paper-component-examine-detail-signed-by", + ("paper", uid), + ("stamps", joined) + ) + ); + } + // END FRONTIER MODIFICATION } } } @@ -112,35 +136,36 @@ private void OnInteractUsing(EntityUid uid, PaperComponent paperComp, InteractUs var editable = paperComp.StampedBy.Count == 0 || _tagSystem.HasTag(args.Used, "WriteIgnoreStamps"); if (_tagSystem.HasTag(args.Used, "Write") && editable) { - if (TryComp(args.Used, out var penComp) && penComp.Pen == PenMode.PenSign); - else // Frontier - Else the rest - { - var writeEvent = new PaperWriteEvent(uid, args.User); - RaiseLocalEvent(args.Used, ref writeEvent); - if (!TryComp(args.User, out var actor)) - return; - - paperComp.Mode = PaperAction.Write; - _uiSystem.OpenUi(uid, PaperUiKey.Key, args.User); - UpdateUserInterface(uid, paperComp); - args.Handled = true; + var writeEvent = new PaperWriteEvent(uid, args.User); + RaiseLocalEvent(args.Used, ref writeEvent); + + // Frontier - Restrict writing to entities with ActorComponent, players only + if (!TryComp(args.User, out var actor)) return; - } + + paperComp.Mode = PaperAction.Write; + _uiSystem.OpenUi(uid, PaperUiKey.Key, args.User); + UpdateUserInterface(uid, paperComp); + args.Handled = true; + return; } // If a stamp, attempt to stamp paper - if (TryComp(args.Used, out var stampComp) && TryStamp(uid, GetStampInfo(stampComp), stampComp.StampState, paperComp)) + if (TryComp(args.Used, out var stampComp) && + TryStamp(uid, GetStampInfo(stampComp), stampComp.StampState, paperComp)) { if (stampComp.StampedPersonal) // Frontier - stampComp.StampedName = Loc.GetString("stamp-component-signee-name", ("user", args.User)); // Frontier + stampComp.StampedName = + Loc.GetString("stamp-component-signee-name", ("user", args.User)); // Frontier // successfully stamped, play popup var stampPaperOtherMessage = Loc.GetString("paper-component-action-stamp-paper-other", - ("user", args.User), ("target", args.Target), ("stamp", args.Used)); + ("user", args.User), ("target", args.Target), ("stamp", args.Used)); - _popupSystem.PopupEntity(stampPaperOtherMessage, args.User, Filter.PvsExcept(args.User, entityManager: EntityManager), true); + _popupSystem.PopupEntity(stampPaperOtherMessage, args.User, + Filter.PvsExcept(args.User, entityManager: EntityManager), true); var stampPaperSelfMessage = Loc.GetString("paper-component-action-stamp-paper-self", - ("target", args.Target), ("stamp", args.Used)); + ("target", args.Target), ("stamp", args.Used)); _popupSystem.PopupEntity(stampPaperSelfMessage, args.User, args.User); _audio.PlayPvs(stampComp.Sound, uid); @@ -154,8 +179,7 @@ private static StampDisplayInfo GetStampInfo(StampComponent stamp) return new StampDisplayInfo { StampedName = stamp.StampedName, - StampedColor = stamp.StampedColor, - StampedBorderless = stamp.StampedBorderless + StampedColor = stamp.StampedColor }; } @@ -205,110 +229,118 @@ public bool TryStamp(EntityUid uid, StampDisplayInfo stampInfo, string spriteSta _appearance.SetData(uid, PaperVisuals.Stamp, paperComp.StampState, appearance); } } + return true; } - public void SetContent(EntityUid uid, string content, PaperComponent? paperComp = null) + // FRONTIER - Pen signing: Adds the sign verb for pen signing + private void AddSignVerb(EntityUid uid, PaperComponent component, GetVerbsEvent args) { - if (!Resolve(uid, ref paperComp)) + if (!args.CanAccess || !args.CanInteract) return; - paperComp.Content = content + '\n'; - UpdateUserInterface(uid, paperComp); - - if (!TryComp(uid, out var appearance)) + // Sanity check + if (uid != args.Target) return; - var status = string.IsNullOrWhiteSpace(content) - ? PaperStatus.Blank - : PaperStatus.Written; - - _appearance.SetData(uid, PaperVisuals.Status, status, appearance); - } - - public void UpdateUserInterface(EntityUid uid, PaperComponent? paperComp = null) - { - if (!Resolve(uid, ref paperComp)) + // Pens have a `Write` tag. + if (!args.Using.HasValue || !_tagSystem.HasTag(args.Using.Value, "Write")) return; - _uiSystem.SetUiState(uid, PaperUiKey.Key, new PaperBoundUserInterfaceState(paperComp.Content, paperComp.StampedBy, paperComp.Mode)); - } - - private void OnHandPickUp(EntityUid uid, StampComponent stampComp, GotEquippedHandEvent args) - { - if (stampComp.StampedPersonal) + AlternativeVerb verb = new() { - if (stampComp.StampedPersonal) // Frontier - stampComp.StampedName = Loc.GetString("stamp-component-signee-name", ("user", args.User)); // Frontier - } + Act = () => + { + TrySign(args.Target, args.User, args.Using.Value, component); + }, + Text = Loc.GetString("paper-component-verb-sign") + // Icon = Don't have an icon yet. Todo for later. + }; + args.Verbs.Add(verb); } - private void OnVerb(EntityUid uid, PenComponent component, GetVerbsEvent args) + // FRONTIER - TrySign method, attempts to place a signature + public bool TrySign(EntityUid paper, EntityUid signer, EntityUid pen, PaperComponent paperComp) { - // standard interaction checks - if (!args.CanAccess || !args.CanInteract || args.Hands == null) - return; - args.Verbs.UnionWith(new[] + // Generate display information. + StampDisplayInfo info = new StampDisplayInfo { - CreateVerb(uid, component, args.User, PenMode.PenWrite), - CreateVerb(uid, component, args.User, PenMode.PenSign) - }); - } + StampedName = Name(signer), + StampedColor = Color.FromHex("#333333"), + Type = StampType.Signature + }; - private Verb CreateVerb(EntityUid uid, PenComponent component, EntityUid userUid, PenMode mode) - { - return new Verb() + // Get Crayon component, and if present set custom color from crayon + if (TryComp(pen, out var crayon)) { - Text = GetModeName(mode), - Disabled = component.Pen == mode, - Priority = -(int) mode, // sort them in descending order - Category = VerbCategory.Pen, - Act = () => SetPen(uid, mode, userUid, component) - }; - } + info.StampedColor = crayon.Color; + crayon.Charges -= 1; + } - private string GetModeName(PenMode mode) - { - string name; - switch (mode) + // Try stamp with the info, return false if failed. + if (TryStamp(paper, info, "paper_stamp-generic", paperComp)) { - case PenMode.PenWrite: - name = "pen-mode-write"; - break; - case PenMode.PenSign: - name = "pen-mode-sign"; - break; - default: - return ""; + // Signing successful, popup time. + + _popupSystem.PopupEntity( + Loc.GetString( + "paper-component-action-signed-other", + ("user", signer), + ("target", paper) + ), + signer, + Filter.PvsExcept(signer, entityManager: EntityManager), + true + ); + + _popupSystem.PopupEntity( + Loc.GetString( + "paper-component-action-signed-self", + ("target", paper) + ), + signer, + signer + ); + + _audio.PlayPvs(paperComp.Sound, paper); + + _adminLogger.Add(LogType.Verb, LogImpact.Low, + $"{ToPrettyString(signer):player} has signed {ToPrettyString(paper):paper}."); + + UpdateUserInterface(paper, paperComp); + + return true; } - return Loc.GetString(name); + return false; } - public void SetPen(EntityUid uid, PenMode mode, EntityUid? userUid = null, - PenComponent? component = null) + public void SetContent(EntityUid uid, string content, PaperComponent? paperComp = null) { - if (!Resolve(uid, ref component)) + if (!Resolve(uid, ref paperComp)) return; - component.Pen = mode; + paperComp.Content = content + '\n'; + UpdateUserInterface(uid, paperComp); - if (userUid != null) - { - var msg = Loc.GetString("pen-mode-state", ("mode", GetModeName(mode))); - _popupSystem.PopupEntity(msg, uid, userUid.Value); - } + if (!TryComp(uid, out var appearance)) + return; + + var status = string.IsNullOrWhiteSpace(content) + ? PaperStatus.Blank + : PaperStatus.Written; + + _appearance.SetData(uid, PaperVisuals.Status, status, appearance); } - public PenStatus? GetPenState(EntityUid uid, PenComponent? pen = null, TransformComponent? transform = null) + public void UpdateUserInterface(EntityUid uid, PaperComponent? paperComp = null) { - if (!Resolve(uid, ref pen, ref transform)) - return null; + if (!Resolve(uid, ref paperComp)) + return; - // finally, form pen status - var status = new PenStatus(GetNetEntity(uid)); - return status; + _uiSystem.SetUiState(uid, PaperUiKey.Key, + new PaperBoundUserInterfaceState(paperComp.Content, paperComp.StampedBy, paperComp.Mode)); } } diff --git a/Content.Server/Paper/PenComponent.cs b/Content.Server/Paper/PenComponent.cs deleted file mode 100644 index d82ee0f6ed1..00000000000 --- a/Content.Server/Paper/PenComponent.cs +++ /dev/null @@ -1,16 +0,0 @@ -using Content.Shared.Paper; -using Robust.Shared.GameStates; - -namespace Content.Server.Paper -{ - [RegisterComponent] - [Access(typeof(PaperSystem))] - public sealed partial class PenComponent : Component - { - /// - /// Current pen mode. Can be switched by user verbs. - /// - [DataField("mode")] - public PenMode Pen = PenMode.PenWrite; - } -} diff --git a/Content.Shared/Paper/PenComponent.cs b/Content.Shared/Paper/PenComponent.cs deleted file mode 100644 index 84fc6863757..00000000000 --- a/Content.Shared/Paper/PenComponent.cs +++ /dev/null @@ -1,29 +0,0 @@ -using Robust.Shared.Serialization; - -namespace Content.Shared.Paper -{ - [Serializable, NetSerializable] - public sealed class PenStatus - { - public PenStatus(NetEntity penUid) - { - PenUid = penUid; - } - - public NetEntity PenUid; - } - - [Serializable, NetSerializable] - public enum PenMode : byte - { - /// - /// Frontier - The normal mode of a pen. - /// - PenWrite = 0, - - /// - /// Frontier - The sign mode of a pen. - /// - PenSign = 1, - } -} diff --git a/Content.Shared/Paper/StampComponent.cs b/Content.Shared/Paper/StampComponent.cs index cc788cca592..54315a9a39c 100644 --- a/Content.Shared/Paper/StampComponent.cs +++ b/Content.Shared/Paper/StampComponent.cs @@ -23,10 +23,17 @@ public partial struct StampDisplayInfo [DataField("stampedColor")] public Color StampedColor; - [DataField("stampedBorderless")] - public bool StampedBorderless; + [DataField("stampType")] + public StampType Type = StampType.RubberStamp; }; +// FRONTIER - Stamp types, put it into an enum for modularity purposes. +public enum StampType +{ + RubberStamp, + Signature +} + [RegisterComponent] public sealed partial class StampComponent : Component { diff --git a/Resources/Locale/en-US/_NF/paper/paper-component.ftl b/Resources/Locale/en-US/_NF/paper/paper-component.ftl new file mode 100644 index 00000000000..83c457595db --- /dev/null +++ b/Resources/Locale/en-US/_NF/paper/paper-component.ftl @@ -0,0 +1,6 @@ +paper-component-verb-sign = Sign + +paper-component-action-signed-self = You sign {THE($target)}. +paper-component-action-signed-other = {CAPITALIZE(THE($user))} signs {THE($target)}. + +paper-component-examine-detail-signed-by = {CAPITALIZE(THE($paper))} {CONJUGATE-HAVE($paper)} been signed by: {$stamps}. diff --git a/Resources/Maps/_NF/Outpost/frontier.yml b/Resources/Maps/_NF/Outpost/frontier.yml index 4cbef46386f..dc20f0d9254 100644 --- a/Resources/Maps/_NF/Outpost/frontier.yml +++ b/Resources/Maps/_NF/Outpost/frontier.yml @@ -31729,8 +31729,7 @@ entities: - type: Paper stampState: paper_stamp-centcom stampedBy: - - stampedBorderless: False - stampedColor: '#004200FF' + - stampedColor: '#004200FF' stampedName: Sergeant Stamps-the-Papers content: >2 @@ -31811,8 +31810,7 @@ entities: - type: Paper stampState: paper_stamp-ce stampedBy: - - stampedBorderless: False - stampedColor: '#CC6600FF' + - stampedColor: '#CC6600FF' stampedName: NanoTrasen Engineering content: > [color=#cc6600]◥[bold]N[/bold]◣ [bold]Nanotrasen Engineering[/bold][/color] diff --git a/Resources/Maps/_NF/POI/nfsd.yml b/Resources/Maps/_NF/POI/nfsd.yml index d49502085b8..3974f8072b0 100644 --- a/Resources/Maps/_NF/POI/nfsd.yml +++ b/Resources/Maps/_NF/POI/nfsd.yml @@ -13544,8 +13544,7 @@ entities: - type: Paper stampState: paper_stamp-ce stampedBy: - - stampedBorderless: False - stampedColor: '#CC6600FF' + - stampedColor: '#CC6600FF' stampedName: NanoTrasen Engineering content: > [color=#cc6600]◥[bold]N[/bold]◣ [bold]Nanotrasen Engineering[/bold][/color] diff --git a/Resources/Maps/_NF/Shuttles/Nfsd/opportunity.yml b/Resources/Maps/_NF/Shuttles/Nfsd/opportunity.yml index b45266c6310..e2af7659325 100644 --- a/Resources/Maps/_NF/Shuttles/Nfsd/opportunity.yml +++ b/Resources/Maps/_NF/Shuttles/Nfsd/opportunity.yml @@ -4782,8 +4782,7 @@ entities: - type: Paper stampState: paper_stamp-ce stampedBy: - - stampedBorderless: False - stampedColor: '#C69B17FF' + - stampedColor: '#C69B17FF' stampedName: stamp-component-stamped-name-ce content: >- [color=#1a6295]█▄ █ ▀█▀ [head=3]Galaxywise Shipyards[/head] diff --git a/Resources/Maps/_NF/Shuttles/bookworm.yml b/Resources/Maps/_NF/Shuttles/bookworm.yml index 05f72958206..db648c8a319 100644 --- a/Resources/Maps/_NF/Shuttles/bookworm.yml +++ b/Resources/Maps/_NF/Shuttles/bookworm.yml @@ -2631,8 +2631,7 @@ entities: - type: Paper stampState: paper_stamp-ce stampedBy: - - stampedBorderless: False - stampedColor: '#C69B17FF' + - stampedColor: '#C69B17FF' stampedName: stamp-component-stamped-name-ce content: >2 @@ -2662,7 +2661,7 @@ entities: 5. Check distro mixer and pump settings, then turn on. - 6. Check gyro is turned on. + 6. Check gyro is turned on. 7. Check all APCs are functioning and charged. - uid: 387 @@ -2675,8 +2674,7 @@ entities: - type: Paper stampState: paper_stamp-ce stampedBy: - - stampedBorderless: False - stampedColor: '#C69B17FF' + - stampedColor: '#C69B17FF' stampedName: stamp-component-stamped-name-ce content: >2 @@ -2706,7 +2704,7 @@ entities: 5. Check distro mixer and pump settings, then turn on. - 6. Check gyro is turned on. + 6. Check gyro is turned on. 7. Check all APCs are functioning and charged. - proto: PaperBin20 diff --git a/Resources/Maps/_NF/Shuttles/bulker.yml b/Resources/Maps/_NF/Shuttles/bulker.yml index 821adbec4a1..6aeedb8a024 100644 --- a/Resources/Maps/_NF/Shuttles/bulker.yml +++ b/Resources/Maps/_NF/Shuttles/bulker.yml @@ -2871,19 +2871,18 @@ entities: type: Transform - stampState: paper_stamp-qm stampedBy: - - stampedBorderless: False - stampedColor: '#A23E3EFF' + - stampedColor: '#A23E3EFF' stampedName: stamp-component-stamped-name-qm content: >- - [color=#B50F1D]██░░██░░█░██░░░░░██[/color] + [color=#B50F1D]██░░██░░█░██░░░░░██[/color] - [color=#B50F1D]█░░░██░█░░██░░░░░░█[/color] + [color=#B50F1D]█░░░██░█░░██░░░░░░█[/color] - [color=#B50F1D]█░░░███░░░██░░░░░░█[/color] [head=3]Kosmologistika[/head] + [color=#B50F1D]█░░░███░░░██░░░░░░█[/color] [head=3]Kosmologistika[/head] - [color=#B50F1D]█░░░███░░░██░░░░░░█[/color] [head=3]Corporation[/head] + [color=#B50F1D]█░░░███░░░██░░░░░░█[/color] [head=3]Corporation[/head] - [color=#B50F1D]█░░░██░█░░██░░░░░░█[/color] + [color=#B50F1D]█░░░██░█░░██░░░░░░█[/color] [color=#B50F1D]██░░██░░█░█████░░██[/color] diff --git a/Resources/Maps/_NF/Shuttles/hauler.yml b/Resources/Maps/_NF/Shuttles/hauler.yml index b46e5417fc2..97c1ceef3fd 100644 --- a/Resources/Maps/_NF/Shuttles/hauler.yml +++ b/Resources/Maps/_NF/Shuttles/hauler.yml @@ -4330,11 +4330,9 @@ entities: - type: Paper stampState: paper_stamp-ce stampedBy: - - stampedBorderless: False - stampedColor: '#C69B17FF' + - stampedColor: '#C69B17FF' stampedName: stamp-component-stamped-name-ce - - stampedBorderless: False - stampedColor: '#00BE00FF' + - stampedColor: '#00BE00FF' stampedName: stamp-component-stamped-name-approved content: >- [head=1] =======================[/head] diff --git a/Resources/Maps/_NF/Shuttles/lyrae.yml b/Resources/Maps/_NF/Shuttles/lyrae.yml index 14f4f3faaed..11badd333ed 100644 --- a/Resources/Maps/_NF/Shuttles/lyrae.yml +++ b/Resources/Maps/_NF/Shuttles/lyrae.yml @@ -3669,8 +3669,7 @@ entities: - type: Paper stampState: paper_stamp-ce stampedBy: - - stampedBorderless: False - stampedColor: '#C69B17FF' + - stampedColor: '#C69B17FF' stampedName: stamp-component-stamped-name-ce content: >2- @@ -3700,7 +3699,7 @@ entities: 5. Check distro mixer and pump settings, then turn on. - 6. Check gyro is turned on. + 6. Check gyro is turned on. 7. Check all APCs are functioning and charged.[/bold] - proto: PaperBin5 diff --git a/Resources/Maps/_NF/Shuttles/vagabond.yml b/Resources/Maps/_NF/Shuttles/vagabond.yml index 09f6320064d..724cb6142b2 100644 --- a/Resources/Maps/_NF/Shuttles/vagabond.yml +++ b/Resources/Maps/_NF/Shuttles/vagabond.yml @@ -4257,8 +4257,7 @@ entities: - type: Paper stampState: paper_stamp-ok stampedBy: - - stampedBorderless: False - stampedColor: '#00BE00FF' + - stampedColor: '#00BE00FF' stampedName: stamp-component-stamped-name-approved content: >- [color=#cb0000]  ▐║   ║ diff --git a/Resources/Prototypes/Entities/Objects/Misc/paper.yml b/Resources/Prototypes/Entities/Objects/Misc/paper.yml index cf45a48b857..18a73ff1d84 100644 --- a/Resources/Prototypes/Entities/Objects/Misc/paper.yml +++ b/Resources/Prototypes/Entities/Objects/Misc/paper.yml @@ -307,8 +307,6 @@ - type: PhysicalComposition materialComposition: Steel: 25 - - type: Pen # Frontier - mode: PenWrite # Frontier - type: Stamp stampedColor: "#000001" stampState: "paper_stamp-generic"