using Content.Server.Zombies; using Content.Shared.EntityEffects; using Robust.Shared.Prototypes; using Content.Shared.Zombies; namespace Content.Server.EntityEffects.Effects; public sealed partial class CureZombieInfection : EntityEffect { [DataField] public bool Innoculate; protected override string? ReagentEffectGuidebookText(IPrototypeManager prototype, IEntitySystemManager entSys) { if(Innoculate) return Loc.GetString("reagent-effect-guidebook-innoculate-zombie-infection", ("chance", Probability)); return Loc.GetString("reagent-effect-guidebook-cure-zombie-infection", ("chance", Probability)); } // Removes the Zombie Infection Components public override void Effect(EntityEffectBaseArgs args) { var entityManager = args.EntityManager; if (entityManager.HasComponent(args.TargetEntity)) return; entityManager.RemoveComponent(args.TargetEntity); entityManager.RemoveComponent(args.TargetEntity); if (Innoculate) { entityManager.EnsureComponent(args.TargetEntity); } } }