using Content.Shared.Standing; using Content.Shared.Temperature; using Robust.Shared.Containers; namespace Content.Shared.Medical.Cryogenics; public abstract partial class SharedCryoPodSystem { public virtual void InitializeInsideCryoPod() { SubscribeLocalEvent(OnEntGotRemovedFromContainer); SubscribeLocalEvent(HandleDown); SubscribeLocalEvent(OnBeforeHeatExchange); } private void OnEntGotRemovedFromContainer(Entity entity, ref EntGotRemovedFromContainerMessage args) { RemCompDeferred(entity); } // Must stand in the cryo pod private void HandleDown(Entity entity, ref DownAttemptEvent args) { if (entity.Comp.LifeStage < ComponentLifeStage.Stopping) args.Cancel(); } private void OnBeforeHeatExchange(Entity entity, ref BeforeHeatExchangeEvent args) { args.HeatTransferModifier *= entity.Comp.ConductanceMod; } }