Files
tbd-station-14/Content.Server/Damage/Systems/GodmodeSystem.cs
2024-06-14 20:43:23 -07:00

38 lines
997 B
C#

using Content.Shared.Atmos.Components;
using Content.Shared.Damage.Components;
using Content.Shared.Damage.Systems;
namespace Content.Server.Damage.Systems;
public sealed class GodmodeSystem : SharedGodmodeSystem
{
public override void EnableGodmode(EntityUid uid, GodmodeComponent? godmode = null)
{
godmode ??= EnsureComp<GodmodeComponent>(uid);
base.EnableGodmode(uid, godmode);
if (TryComp<MovedByPressureComponent>(uid, out var moved))
{
godmode.WasMovedByPressure = moved.Enabled;
moved.Enabled = false;
}
}
public override void DisableGodmode(EntityUid uid, GodmodeComponent? godmode = null)
{
if (!Resolve(uid, ref godmode, false))
return;
base.DisableGodmode(uid, godmode);
if (godmode.Deleted)
return;
if (TryComp<MovedByPressureComponent>(uid, out var moved))
{
moved.Enabled = godmode.WasMovedByPressure;
}
}
}