using Content.Server.Power.Components; using Content.Server.Power.EntitySystems; using Content.Server.Tesla.Components; using Content.Server.Lightning; namespace Content.Server.Tesla.EntitySystems; /// /// Generates electricity from lightning bolts /// public sealed class TeslaCoilSystem : EntitySystem { [Dependency] private readonly BatterySystem _battery = default!; public override void Initialize() { base.Initialize(); SubscribeLocalEvent(OnHitByLightning); } //When struck by lightning, charge the internal battery private void OnHitByLightning(Entity coil, ref HitByLightningEvent args) { if (TryComp(coil, out var batteryComponent)) { _battery.SetCharge(coil, batteryComponent.CurrentCharge + coil.Comp.ChargeFromLightning); } } }