using Robust.Shared.GameStates; using Robust.Shared.Map; namespace Content.Shared._RMC14.Projectiles.Penetration; [RegisterComponent, NetworkedComponent, AutoGenerateComponentState] public sealed partial class RMCPenetratingProjectileComponent : Component { /// /// The remaining range of the projectile. /// [DataField, AutoNetworkedField] public float Range = 32f; /// /// The coordinates the projectile was shot from. /// [DataField, AutoNetworkedField] public EntityCoordinates? ShotFrom; /// /// The multiplier for range and damage loss if a membrane is hit. /// [DataField, AutoNetworkedField] public List HitTargets = new(); /// /// The amount of range lost per hit entity. /// [DataField, AutoNetworkedField] public float RangeLossPerHit = 3f; /// /// The amount of damage lost per hit entity. /// [DataField, AutoNetworkedField] public float DamageMultiplierLossPerHit = 0.2f; /// /// The multiplier for range and damage loss if a wall is hit. /// [DataField, AutoNetworkedField] public float WallMultiplier = 3f; /// /// The multiplier for range and damage loss if a big xeno is hit. /// [DataField, AutoNetworkedField] public float BigXenoMultiplier = 2f; /// /// The multiplier for range and damage loss if a thick membrane is hit. /// [DataField, AutoNetworkedField] public float ThickMembraneMultiplier = 1.5f; /// /// The multiplier for range and damage loss if a membrane is hit. /// [DataField, AutoNetworkedField] public float MembraneMultiplier = 1f; }