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