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