diff --git a/Content.Shared/_DV/Movement/CursorOffsetActionComponent.cs b/Content.Shared/_DV/Movement/CursorOffsetActionComponent.cs new file mode 100644 index 0000000000..68b07b4755 --- /dev/null +++ b/Content.Shared/_DV/Movement/CursorOffsetActionComponent.cs @@ -0,0 +1,20 @@ +using Robust.Shared.GameStates; + +namespace Content.Shared._DV.Movement; +using Robust.Shared.Prototypes; +using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype; + +[RegisterComponent, NetworkedComponent, AutoGenerateComponentState] +public sealed partial class CursorOffsetActionComponent : Component +{ + [DataField("cursorOffsetActionId", + customTypeSerializer: typeof(PrototypeIdSerializer), + required: true)] + public string? CursorOffsetActionId; + + [DataField("cursorOffsetActionEntity")] + public EntityUid? CursorOffsetActionEntity; + + [DataField, AutoNetworkedField] + public bool Active = false; +} diff --git a/Content.Shared/_DV/Movement/Events.cs b/Content.Shared/_DV/Movement/Events.cs new file mode 100644 index 0000000000..10ffbe45c3 --- /dev/null +++ b/Content.Shared/_DV/Movement/Events.cs @@ -0,0 +1,6 @@ +using Content.Shared.Actions; +using Robust.Shared.Serialization; + +namespace Content.Shared._DV.Movement; + +public sealed partial class CursorOffsetActionEvent : InstantActionEvent; diff --git a/Resources/Prototypes/_DV/Actions/avali.yml b/Resources/Prototypes/_DV/Actions/avali.yml new file mode 100644 index 0000000000..3fcddad223 --- /dev/null +++ b/Resources/Prototypes/_DV/Actions/avali.yml @@ -0,0 +1,11 @@ +- type: entity + parent: BaseAction + id: ActionAvaliZoom + name: Zoom + description: Look further away! + components: + - type: Action + icon: _Impstation/Interface/Emotes/blink.png + useDelay: 0.5 + - type: InstantAction + event: !type:CursorOffsetActionEvent