using Content.Shared.Actions; using Content.Shared.Ninja.Systems; using Robust.Shared.Audio; using Robust.Shared.GameStates; using Robust.Shared.Prototypes; using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype; /// /// Adds an action to dash, teleport to clicked position, when this item is held. /// [RegisterComponent, NetworkedComponent, Access(typeof(DashAbilitySystem))] public sealed partial class DashAbilityComponent : Component { /// /// The action id for dashing. /// [DataField("dashAction", required: true, customTypeSerializer: typeof(PrototypeIdSerializer)), ViewVariables(VVAccess.ReadWrite)] public string DashAction = string.Empty; [DataField("dashActionEntity")] public EntityUid? DashActionEntity; /// /// Sound played when using dash action. /// [DataField("blinkSound"), ViewVariables(VVAccess.ReadWrite)] public SoundSpecifier BlinkSound = new SoundPathSpecifier("/Audio/Magic/blink.ogg") { Params = AudioParams.Default.WithVolume(5f) }; } public sealed partial class DashEvent : WorldTargetActionEvent { }