From 1fa1975e60d35b788c57ab2479f6f962f99d53fc Mon Sep 17 00:00:00 2001 From: beck-thompson <107373427+beck-thompson@users.noreply.github.com> Date: Tue, 19 Nov 2024 17:53:52 -0800 Subject: [PATCH] Fix toggle verbs (#32138) First commit Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com> --- .../Components/ItemToggleComponent.cs | 12 +++++++ .../Components/ToggleVerbComponent.cs | 18 ---------- .../Item/ItemToggle/ItemToggleSystem.cs | 2 +- .../Item/ItemToggle/ToggleVerbSystem.cs | 34 ------------------- .../components/magboots-component.ftl | 3 -- .../fire-extinguisher-component.ftl | 3 +- .../Entities/Clothing/Shoes/magboots.yml | 2 -- .../Objects/Misc/fire_extinguisher.yml | 4 +-- 8 files changed, 17 insertions(+), 61 deletions(-) delete mode 100644 Content.Shared/Item/ItemToggle/Components/ToggleVerbComponent.cs delete mode 100644 Content.Shared/Item/ItemToggle/ToggleVerbSystem.cs delete mode 100644 Resources/Locale/en-US/clothing/components/magboots-component.ftl diff --git a/Content.Shared/Item/ItemToggle/Components/ItemToggleComponent.cs b/Content.Shared/Item/ItemToggle/Components/ItemToggleComponent.cs index 47edec135d..110ae80626 100644 --- a/Content.Shared/Item/ItemToggle/Components/ItemToggleComponent.cs +++ b/Content.Shared/Item/ItemToggle/Components/ItemToggleComponent.cs @@ -32,6 +32,18 @@ public sealed partial class ItemToggleComponent : Component [DataField] public bool OnUse = true; + /// + /// The localized text to display in the verb to activate. + /// + [DataField] + public string VerbToggleOn = "item-toggle-activate"; + + /// + /// The localized text to display in the verb to de-activate. + /// + [DataField] + public string VerbToggleOff = "item-toggle-deactivate"; + /// /// Whether the item's toggle can be predicted by the client. /// diff --git a/Content.Shared/Item/ItemToggle/Components/ToggleVerbComponent.cs b/Content.Shared/Item/ItemToggle/Components/ToggleVerbComponent.cs deleted file mode 100644 index b673c55e0f..0000000000 --- a/Content.Shared/Item/ItemToggle/Components/ToggleVerbComponent.cs +++ /dev/null @@ -1,18 +0,0 @@ -using Content.Shared.Item.ItemToggle; -using Robust.Shared.GameStates; - -namespace Content.Shared.Item.ItemToggle.Components; - -/// -/// Adds a verb for toggling something, requires . -/// -[RegisterComponent, NetworkedComponent, Access(typeof(ToggleVerbSystem))] -public sealed partial class ToggleVerbComponent : Component -{ - /// - /// Text the verb will have. - /// Gets passed "entity" as the entity's identity string. - /// - [DataField(required: true)] - public LocId Text = string.Empty; -} diff --git a/Content.Shared/Item/ItemToggle/ItemToggleSystem.cs b/Content.Shared/Item/ItemToggle/ItemToggleSystem.cs index d5bbaac12c..f6752a67f6 100644 --- a/Content.Shared/Item/ItemToggle/ItemToggleSystem.cs +++ b/Content.Shared/Item/ItemToggle/ItemToggleSystem.cs @@ -78,7 +78,7 @@ public sealed class ItemToggleSystem : EntitySystem args.Verbs.Add(new ActivationVerb() { - Text = !ent.Comp.Activated ? Loc.GetString("item-toggle-activate") : Loc.GetString("item-toggle-deactivate"), + Text = !ent.Comp.Activated ? Loc.GetString(ent.Comp.VerbToggleOn) : Loc.GetString(ent.Comp.VerbToggleOff), Act = () => { Toggle((ent.Owner, ent.Comp), user, predicted: ent.Comp.Predictable); diff --git a/Content.Shared/Item/ItemToggle/ToggleVerbSystem.cs b/Content.Shared/Item/ItemToggle/ToggleVerbSystem.cs deleted file mode 100644 index 858cd9bc11..0000000000 --- a/Content.Shared/Item/ItemToggle/ToggleVerbSystem.cs +++ /dev/null @@ -1,34 +0,0 @@ -using Content.Shared.IdentityManagement; -using Content.Shared.Item.ItemToggle.Components; -using Content.Shared.Verbs; - -namespace Content.Shared.Item.ItemToggle; - -/// -/// Adds a verb for toggling something with . -/// -public sealed class ToggleVerbSystem : EntitySystem -{ - [Dependency] private readonly ItemToggleSystem _toggle = default!; - - public override void Initialize() - { - base.Initialize(); - - SubscribeLocalEvent>(OnGetVerbs); - } - - private void OnGetVerbs(Entity ent, ref GetVerbsEvent args) - { - if (!args.CanAccess || !args.CanInteract) - return; - - var name = Identity.Entity(ent, EntityManager); - var user = args.User; - args.Verbs.Add(new ActivationVerb() - { - Text = Loc.GetString(ent.Comp.Text, ("entity", name)), - Act = () => _toggle.Toggle(ent.Owner, user) - }); - } -} diff --git a/Resources/Locale/en-US/clothing/components/magboots-component.ftl b/Resources/Locale/en-US/clothing/components/magboots-component.ftl deleted file mode 100644 index 4113a74862..0000000000 --- a/Resources/Locale/en-US/clothing/components/magboots-component.ftl +++ /dev/null @@ -1,3 +0,0 @@ - -# Toggle Magboots Verb -toggle-magboots-verb-get-data-text = Toggle Magboots \ No newline at end of file diff --git a/Resources/Locale/en-US/fire-extinguisher/fire-extinguisher-component.ftl b/Resources/Locale/en-US/fire-extinguisher/fire-extinguisher-component.ftl index f641879391..de1fcd7d4e 100644 --- a/Resources/Locale/en-US/fire-extinguisher/fire-extinguisher-component.ftl +++ b/Resources/Locale/en-US/fire-extinguisher/fire-extinguisher-component.ftl @@ -1,3 +1,4 @@ fire-extinguisher-component-after-interact-refilled-message = {$owner} is now refilled fire-extinguisher-component-safety-on-message = Its safety is on! -fire-extinguisher-component-verb-text = Toggle safety +fire-extinguisher-component-verb-remove = Remove safety +fire-extinguisher-component-verb-engage = Engage safety diff --git a/Resources/Prototypes/Entities/Clothing/Shoes/magboots.yml b/Resources/Prototypes/Entities/Clothing/Shoes/magboots.yml index ab8084c91c..6610ae87cc 100644 --- a/Resources/Prototypes/Entities/Clothing/Shoes/magboots.yml +++ b/Resources/Prototypes/Entities/Clothing/Shoes/magboots.yml @@ -15,8 +15,6 @@ - type: ToggleClothing action: ActionToggleMagboots mustEquip: false - - type: ToggleVerb - text: toggle-magboots-verb-get-data-text - type: ComponentToggler components: - type: NoSlip diff --git a/Resources/Prototypes/Entities/Objects/Misc/fire_extinguisher.yml b/Resources/Prototypes/Entities/Objects/Misc/fire_extinguisher.yml index b0c586fc75..4b4200fed8 100644 --- a/Resources/Prototypes/Entities/Objects/Misc/fire_extinguisher.yml +++ b/Resources/Prototypes/Entities/Objects/Misc/fire_extinguisher.yml @@ -47,8 +47,8 @@ params: variation: 0.125 volume: -4 - - type: ToggleVerb - text: fire-extinguisher-component-verb-text + verbToggleOn: fire-extinguisher-component-verb-remove + verbToggleOff: fire-extinguisher-component-verb-engage - type: SpraySafety - type: MeleeWeapon wideAnimationRotation: 180