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 }