[DataField]
public bool OnUse = true;
+ /// <summary>
+ /// The localized text to display in the verb to activate.
+ /// </summary>
+ [DataField]
+ public string VerbToggleOn = "item-toggle-activate";
+
+ /// <summary>
+ /// The localized text to display in the verb to de-activate.
+ /// </summary>
+ [DataField]
+ public string VerbToggleOff = "item-toggle-deactivate";
+
/// <summary>
/// Whether the item's toggle can be predicted by the client.
/// </summary>
+++ /dev/null
-using Content.Shared.Item.ItemToggle;
-using Robust.Shared.GameStates;
-
-namespace Content.Shared.Item.ItemToggle.Components;
-
-/// <summary>
-/// Adds a verb for toggling something, requires <see cref="ItemToggleComponent"/>.
-/// </summary>
-[RegisterComponent, NetworkedComponent, Access(typeof(ToggleVerbSystem))]
-public sealed partial class ToggleVerbComponent : Component
-{
- /// <summary>
- /// Text the verb will have.
- /// Gets passed "entity" as the entity's identity string.
- /// </summary>
- [DataField(required: true)]
- public LocId Text = string.Empty;
-}
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);
+++ /dev/null
-using Content.Shared.IdentityManagement;
-using Content.Shared.Item.ItemToggle.Components;
-using Content.Shared.Verbs;
-
-namespace Content.Shared.Item.ItemToggle;
-
-/// <summary>
-/// Adds a verb for toggling something with <see cref="ToggleVerbComponent"/>.
-/// </summary>
-public sealed class ToggleVerbSystem : EntitySystem
-{
- [Dependency] private readonly ItemToggleSystem _toggle = default!;
-
- public override void Initialize()
- {
- base.Initialize();
-
- SubscribeLocalEvent<ToggleVerbComponent, GetVerbsEvent<ActivationVerb>>(OnGetVerbs);
- }
-
- private void OnGetVerbs(Entity<ToggleVerbComponent> ent, ref GetVerbsEvent<ActivationVerb> 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)
- });
- }
-}
+++ /dev/null
-
-# Toggle Magboots Verb
-toggle-magboots-verb-get-data-text = Toggle Magboots
\ No newline at end of file
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
- type: ToggleClothing
action: ActionToggleMagboots
mustEquip: false
- - type: ToggleVerb
- text: toggle-magboots-verb-get-data-text
- type: ComponentToggler
components:
- type: NoSlip
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