using Robust.Shared.GameStates; namespace Content.Shared.Trigger.Components.Effects; /// /// Will electrocute the entity when triggered. /// If TargetUser is true it will electrocute the user instead. /// [RegisterComponent, NetworkedComponent, AutoGenerateComponentState] public sealed partial class ShockOnTriggerComponent : BaseXOnTriggerComponent { /// /// Electrocute entity containing this entity instead (for example for wearable clothing). /// Has priority over TargetUser. /// /// /// TODO: Make this more generic so it can be used for all triggers. /// Maybe a BeforeTriggerEvent where we modify the target. /// [DataField, AutoNetworkedField] public bool TargetContainer; /// /// The force of an electric shock when the trigger is triggered. /// [DataField, AutoNetworkedField] public int Damage = 5; /// /// Duration of electric shock when the trigger is triggered. /// [DataField, AutoNetworkedField] public TimeSpan Duration = TimeSpan.FromSeconds(2); }