using Content.Shared.Explosion; using Content.Shared.Explosion.Components; using Content.Shared.Explosion.EntitySystems; using Robust.Shared.GameStates; using Robust.Shared.Prototypes; namespace Content.Shared.Trigger.Components.Effects; // TODO some sort of struct like DamageSpecifier but for explosions. /// /// Will explode the entity using this component's explosion specifications. /// If TargetUser is true, they'll explode instead. /// The User will be logged in the admin logs. /// /// [RegisterComponent, NetworkedComponent, AutoGenerateComponentState] public sealed partial class ExplosionOnTriggerComponent : BaseXOnTriggerComponent { /// [DataField, AutoNetworkedField] public ProtoId ExplosionType = SharedExplosionSystem.DefaultExplosionPrototypeId; /// [DataField, AutoNetworkedField] public float MaxTileIntensity = 4; /// [DataField, AutoNetworkedField] public float IntensitySlope = 1; /// [DataField, AutoNetworkedField] public float TotalIntensity = 10; /// [DataField, AutoNetworkedField] public float TileBreakScale = 1f; /// [DataField, AutoNetworkedField] public int MaxTileBreak = int.MaxValue; /// [DataField, AutoNetworkedField] public bool CanCreateVacuum = true; }