using Content.Shared.FixedPoint; using Robust.Shared.Physics.Components; namespace Content.Shared.MobState.EntitySystems; public abstract partial class SharedMobStateSystem { public virtual void EnterDeadState(EntityUid uid) { EnsureComp(uid); _standing.Down(uid); if (_standing.IsDown(uid) && TryComp(uid, out var physics)) { _physics.SetCanCollide(physics, false); } _appearance.SetData(uid, DamageStateVisuals.State, DamageState.Dead); } public virtual void ExitDeadState(EntityUid uid) { RemComp(uid); _standing.Stand(uid); if (!_standing.IsDown(uid) && TryComp(uid, out var physics)) { _physics.SetCanCollide(physics, true); } } public virtual void UpdateDeadState(EntityUid entity, FixedPoint2 threshold) {} }