using Robust.Shared.GameStates; using Robust.Shared.Prototypes; using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype; namespace Content.Shared.Revenant.Components; /// /// This is used for tracking lights that are overloaded /// and are about to zap a player. /// [RegisterComponent, NetworkedComponent] public sealed partial class RevenantOverloadedLightsComponent : Component { [ViewVariables] public EntityUid? Target; [ViewVariables(VVAccess.ReadWrite)] public float Accumulator = 0; [ViewVariables(VVAccess.ReadWrite)] public float ZapDelay = 3f; [ViewVariables(VVAccess.ReadWrite)] public float ZapRange = 4f; [DataField("zapBeamEntityId",customTypeSerializer: typeof(PrototypeIdSerializer))] public string ZapBeamEntityId = "LightningRevenant"; public float? OriginalEnergy; public bool OriginalEnabled = false; }