using Content.Shared.Mobs.Components;
using Robust.Shared.Serialization;
namespace Content.Shared.Mobs;
///
/// Defines what state an is in.
///
/// Ordered from most alive to least alive.
/// To enumerate them in this way see
/// .
///
[Serializable, NetSerializable]
public enum MobState : byte
{
Invalid = 0,
Alive = 1,
Critical = 2,
Dead = 3
}
///
/// Event that is raised whenever a MobState changes on an entity
///
/// The Entity whose MobState is changing
/// The MobState Component owned by the Target entity
/// The previous MobState
/// The new MobState
/// The Entity that caused this state change
public record struct MobStateChangedEvent(EntityUid Target, MobStateComponent Component, MobState OldMobState,
MobState NewMobState, EntityUid? Origin = null);
public static class A
{
//^.^
}
//This is dumb and I hate it but I don't feel like refactoring this garbage
[Serializable, NetSerializable]
public enum MobStateVisuals : byte
{
State
}