From ea417f2bcc4b79c7a6beafa242ae5fc67f9fb525 Mon Sep 17 00:00:00 2001 From: CHOMPStation2StaffMirrorBot <94713762+CHOMPStation2StaffMirrorBot@users.noreply.github.com> Date: Thu, 25 Jun 2026 08:05:50 -0700 Subject: [PATCH] [MIRROR] Prevents virus stacking (#12841) Co-authored-by: Cameron Lennox --- code/datums/diseases/_disease.dm | 3 +++ code/modules/reagents/reagents/core.dm | 2 ++ 2 files changed, 5 insertions(+) diff --git a/code/datums/diseases/_disease.dm b/code/datums/diseases/_disease.dm index 1f33bb83ca..2373284060 100644 --- a/code/datums/diseases/_disease.dm +++ b/code/datums/diseases/_disease.dm @@ -49,6 +49,9 @@ GLOBAL_LIST_INIT(diseases, subtypesof(/datum/disease)) /datum/disease/proc/infect(mob/living/infectee, make_copy = TRUE) var/datum/disease/D = make_copy ? Copy() : src + if(infectee.HasDisease(D)) + qdel(D) + return infectee.addDisease(D) D.affected_mob = infectee GLOB.active_diseases += D diff --git a/code/modules/reagents/reagents/core.dm b/code/modules/reagents/reagents/core.dm index 6f11548133..12d37b0af3 100644 --- a/code/modules/reagents/reagents/core.dm +++ b/code/modules/reagents/reagents/core.dm @@ -88,6 +88,8 @@ var/datum/disease/D = ID if((D.spread_flags & DISEASE_SPREAD_SPECIAL) || (D.spread_flags & DISEASE_SPREAD_NON_CONTAGIOUS)) continue + if(M.HasDisease(D)) + continue D.try_infect(M) /datum/reagent/blood/affect_touch(mob/living/carbon/M, alien, removed)