using Unity.Entities; namespace ProjectM.Simulation { /// /// Phase 1 (B3): the enemy corpse window. Stamped ONCE by HealthApplyDamageSystem on the lethal /// 0-crossing (server-only, never replicated — clients derive the death read from the replicated /// Health.Current<=0); the entity is destroyed when ServerTick reaches . /// While present the enemy is a CORPSE: every actor pass (AI move/windup/contact, boss kit), every /// LIVING count (room clear, HUD Remaining, MaxAlive fit, summon cap, siege cleared) and every target /// snapshot (projectiles, melee, turrets, auto-aim, aggro) must skip it — a corpse neither acts, counts, /// nor soaks hits (design review wf_fd177263: all counts were entity-count based, all snapshots unfiltered). /// public struct Dying : IComponentData { /// Server tick the corpse despawns (via TickUtil.NonZero; compared via NetworkTick). public uint UntilTick; } }