using Content.Shared.Anomaly; using Content.Shared.Anomaly.Components; namespace Content.Server.Anomaly.Components; /// /// This is used for projectiles which affect anomalies through colliding with them. /// [RegisterComponent, Access(typeof(SharedAnomalySystem))] public sealed class AnomalousParticleComponent : Component { /// /// The type of particle that the projectile /// imbues onto the anomaly on contact. /// [DataField("particleType", required: true)] public AnomalousParticleType ParticleType; /// /// The fixture that's checked on collision. /// [DataField("fixtureId")] public string FixtureId = "projectile"; /// /// The amount that the increases by when hit /// of an anomalous particle of . /// [DataField("severityPerSeverityHit")] public float SeverityPerSeverityHit = 0.025f; /// /// The amount that the increases by when hit /// of an anomalous particle of . /// [DataField("stabilityPerDestabilizingHit")] public float StabilityPerDestabilizingHit = 0.04f; /// /// The amount that the increases by when hit /// of an anomalous particle of . /// [DataField("healthPerWeakeningeHit")] public float HealthPerWeakeningeHit = -0.05f; /// /// The amount that the increases by when hit /// of an anomalous particle of . /// [DataField("stabilityPerWeakeningeHit")] public float StabilityPerWeakeningeHit = -0.1f; }