using Content.Shared.FixedPoint; using Content.Shared.Physics; using Robust.Shared.GameStates; namespace Content.Shared.Projectiles; [RegisterComponent, NetworkedComponent] public sealed partial class CanPenetrateComponent : Component { /// /// Should the projectile keep the ability to deal damage after colliding. /// [DataField] public bool DamageAfterCollide = true; /// /// The CollisionLayer, up to and including the one set, the projectile is allowed to penetrate. /// /// /// Can penetrate everything if this value is not set. /// [DataField] public CollisionGroup? PenetrationLayer; /// /// How many times the projectile is allowed to deal damage. /// /// /// Can deal damage on every collision if this value is not set. /// [DataField] public float? PenetrationPower; /// /// Modifies the damage of a projectile after it has penetrated an entity. /// /// /// Won't modify the projectile's damage if this value is not set. /// [DataField] public FixedPoint2? DamageModifier; }