using Content.Shared.Examine; using Robust.Shared.Map; using Robust.Shared.Timing; namespace Content.Shared.Emp; public abstract class SharedEmpSystem : EntitySystem { [Dependency] protected readonly IGameTiming Timing = default!; public override void Initialize() { base.Initialize(); SubscribeLocalEvent(OnExamine); } protected const string EmpDisabledEffectPrototype = "EffectEmpDisabled"; /// /// Triggers an EMP pulse at the given location, by first raising an , then a raising on all entities in range. /// /// The location to trigger the EMP pulse at. /// The range of the EMP pulse. /// The amount of energy consumed by the EMP pulse. /// The duration of the EMP effects. public virtual void EmpPulse(MapCoordinates coordinates, float range, float energyConsumption, float duration) { } private void OnExamine(Entity ent, ref ExaminedEvent args) { args.PushMarkup(Loc.GetString("emp-disabled-comp-on-examine")); } }