using Content.Shared.Inventory; using Robust.Shared.GameStates; namespace Content.Shared.Zombies; /// /// An armor-esque component for clothing that grants "resistance" (lowers the chance) against getting infected. /// It works on a coefficient system, so 0.3 is better than 0.9, 1 is no resistance, and 0 is full resistance. /// [NetworkedComponent, RegisterComponent] public sealed partial class ZombificationResistanceComponent : Component { /// /// The multiplier that will by applied to the zombification chance. /// [DataField] public float ZombificationResistanceCoefficient = 1; /// /// Examine string for the zombification resistance. /// Passed value from 0 to 100. /// [DataField] public LocId Examine = "zombification-resistance-coefficient-value"; } /// /// Gets the total resistance from the ZombificationResistanceComponent, i.e. just all of them multiplied together. /// public sealed class ZombificationResistanceQueryEvent : EntityEventArgs, IInventoryRelayEvent { /// /// All slots to relay to /// public SlotFlags TargetSlots { get; } /// /// The Total of all Coefficients. /// public float TotalCoefficient = 1.0f; public ZombificationResistanceQueryEvent(SlotFlags slots) { TargetSlots = slots; } }