DashAbilityComponent.cs 861 B

1234567891011121314151617181920212223242526
  1. using Content.Shared.Actions;
  2. using Content.Shared.Ninja.Systems;
  3. using Robust.Shared.Audio;
  4. using Robust.Shared.GameStates;
  5. using Robust.Shared.Prototypes;
  6. namespace Content.Shared.Ninja.Components;
  7. /// <summary>
  8. /// Adds an action to dash, teleport to clicked position, when this item is held.
  9. /// Cancel <see cref="CheckDashEvent"/> to prevent using it.
  10. /// </summary>
  11. [RegisterComponent, NetworkedComponent, Access(typeof(DashAbilitySystem)), AutoGenerateComponentState]
  12. public sealed partial class DashAbilityComponent : Component
  13. {
  14. /// <summary>
  15. /// The action id for dashing.
  16. /// </summary>
  17. [DataField]
  18. public EntProtoId<WorldTargetActionComponent> DashAction = "ActionEnergyKatanaDash";
  19. [DataField, AutoNetworkedField]
  20. public EntityUid? DashActionEntity;
  21. }
  22. public sealed partial class DashEvent : WorldTargetActionEvent;