namespace NeonSprawl.Server.Game.Npc;
/// Prototype NPC behavior states (NEO-93). Wire names are stable for NEO-94 JSON.
public enum NpcBehaviorState
{
Idle,
Aggro,
TelegraphWindup,
AttackExecute,
Recover,
}
/// Stable snake_case wire names for .
public static class NpcBehaviorStateWire
{
/// Returns the JSON wire name for .
public static string ToWireName(NpcBehaviorState state) =>
state switch
{
NpcBehaviorState.Idle => "idle",
NpcBehaviorState.Aggro => "aggro",
NpcBehaviorState.TelegraphWindup => "telegraph_windup",
NpcBehaviorState.AttackExecute => "attack_execute",
NpcBehaviorState.Recover => "recover",
_ => throw new ArgumentOutOfRangeException(nameof(state), state, null),
};
}