using Content.Shared.GameObjects.Verbs; using Content.Shared.Utility; using Robust.Server.Console; using Robust.Server.Interfaces.GameObjects; using Robust.Shared.Interfaces.GameObjects; using Robust.Shared.IoC; using Robust.Shared.Localization; namespace Content.Server.GlobalVerbs { [GlobalVerb] public class AttachToGrandparentVerb : GlobalVerb { public override void GetData(IEntity user, IEntity target, VerbData data) { data.Visibility = VerbVisibility.Invisible; if (user == target) { return; } if (!user.TryGetComponent(out IActorComponent actor)) { return; } var groupController = IoCManager.Resolve(); if (!groupController.CanCommand(actor.playerSession, "attachtograndparent")) { return; } data.Visibility = VerbVisibility.Visible; data.Text = Loc.GetString("Attach to grid"); data.CategoryData = VerbCategories.Debug; } public override void Activate(IEntity user, IEntity target) { if (!user.TryGetComponent(out IActorComponent actor)) { return; } var groupController = IoCManager.Resolve(); if (!groupController.CanCommand(actor.playerSession, "attachtograndparent")) { return; } target.Transform.AttachToGrandparent(); } } }