RevenantOverloadedLightsComponent.cs 947 B

12345678910111213141516171819202122232425262728293031
  1. using Robust.Shared.GameStates;
  2. using Robust.Shared.Prototypes;
  3. using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype;
  4. namespace Content.Shared.Revenant.Components;
  5. /// <summary>
  6. /// This is used for tracking lights that are overloaded
  7. /// and are about to zap a player.
  8. /// </summary>
  9. [RegisterComponent, NetworkedComponent]
  10. public sealed partial class RevenantOverloadedLightsComponent : Component
  11. {
  12. [ViewVariables]
  13. public EntityUid? Target;
  14. [ViewVariables(VVAccess.ReadWrite)]
  15. public float Accumulator = 0;
  16. [ViewVariables(VVAccess.ReadWrite)]
  17. public float ZapDelay = 3f;
  18. [ViewVariables(VVAccess.ReadWrite)]
  19. public float ZapRange = 4f;
  20. [DataField("zapBeamEntityId",customTypeSerializer: typeof(PrototypeIdSerializer<EntityPrototype>))]
  21. public string ZapBeamEntityId = "LightningRevenant";
  22. public float? OriginalEnergy;
  23. public bool OriginalEnabled = false;
  24. }