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;
}