using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom;
namespace Content.Server.NPC.Components;
[RegisterComponent, AutoGenerateComponentPause]
public sealed partial class NPCJukeComponent : Component
{
[DataField]
public JukeType JukeType = JukeType.Away;
[DataField]
public float JukeDuration = 0.5f;
[DataField]
public float JukeCooldown = 3f;
[DataField(customTypeSerializer: typeof(TimeOffsetSerializer))]
[AutoPausedField]
public TimeSpan NextJuke;
[DataField]
public Vector2i? TargetTile;
}
public enum JukeType : byte
{
///
/// Will move directly away from target if applicable.
///
Away,
///
/// Move to the adjacent tile for the specified duration.
///
AdjacentTile
}