using Content.Shared.DoAfter; using Content.Shared.Tools; using Robust.Shared.GameStates; using Robust.Shared.Prototypes; using Robust.Shared.Serialization; namespace Content.Shared.Xenoarchaeology.Artifact.XAT.Components; /// /// This is used for a xenoarch trigger that is activated by a tool being used on it. /// [RegisterComponent, NetworkedComponent, Access(typeof(XATToolUseSystem)), AutoGenerateComponentState] public sealed partial class XATToolUseComponent : Component { /// /// Tool to be used. /// [DataField, AutoNetworkedField] public ProtoId RequiredTool; /// /// Time that using tool on artifact will take. /// [DataField, AutoNetworkedField] public float Delay = 3; /// /// Amount of fuel using tool will take (for devices such as Welding tool). /// [DataField, AutoNetworkedField] public float Fuel; } /// Do after that will be used if proper tool was used on artifact with . [Serializable, NetSerializable] public sealed partial class XATToolUseDoAfterEvent : DoAfterEvent { public NetEntity Node; public XATToolUseDoAfterEvent(NetEntity node) { Node = node; } public override DoAfterEvent Clone() { return this; } }