* Rejig Actions * fix merge errors * lambda-b-gon * fix PAI, add innate actions * Revert "fix PAI, add innate actions" This reverts commit 4b501ac083e979e31ebd98d7b98077e0dbdd344b. * Just fix by making nullable. if only require: true actually did something somehow. * Make AddActions() ensure an actions component and misc comments * misc cleanup * Limit range even when not checking for obstructions * remove old guardian code * rename function and make EntityUid nullable * fix magboot bug * fix action search menu * make targeting toggle all equivalent actions * fix combat popups (enabling <-> disabling) * fix networking * Allow action locking * prevent telepathy
40 lines
1.2 KiB
C#
40 lines
1.2 KiB
C#
using Content.Shared.Actions;
|
|
using Content.Shared.Actions.ActionTypes;
|
|
using Robust.Shared.Containers;
|
|
using Robust.Shared.Utility;
|
|
|
|
namespace Content.Server.Guardian
|
|
{
|
|
/// <summary>
|
|
/// Given to guardian users upon establishing a guardian link with the entity
|
|
/// </summary>
|
|
[RegisterComponent]
|
|
public sealed class GuardianHostComponent : Component
|
|
{
|
|
/// <summary>
|
|
/// Guardian hosted within the component
|
|
/// </summary>
|
|
/// <remarks>
|
|
/// Can be null if the component is added at any time.
|
|
/// </remarks>
|
|
public EntityUid? HostedGuardian;
|
|
|
|
/// <summary>
|
|
/// Container which holds the guardian
|
|
/// </summary>
|
|
[ViewVariables] public ContainerSlot GuardianContainer = default!;
|
|
|
|
[DataField("action")]
|
|
public InstantAction Action = new()
|
|
{
|
|
Name = "action-name-guardian",
|
|
Description = "action-description-guardian",
|
|
Icon = new SpriteSpecifier.Texture(new ResourcePath("Interface/Actions/manifest.png")),
|
|
UseDelay = TimeSpan.FromSeconds(2),
|
|
Event = new GuardianToggleActionEvent(),
|
|
};
|
|
}
|
|
|
|
public sealed class GuardianToggleActionEvent : PerformActionEvent { };
|
|
}
|