diff --git a/code/datums/diseases/_disease.dm b/code/datums/diseases/_disease.dm index f5285de466c..0af4eea8ac5 100644 --- a/code/datums/diseases/_disease.dm +++ b/code/datums/diseases/_disease.dm @@ -42,10 +42,8 @@ //add this disease if the host does not already have too many /datum/disease/proc/try_infect(var/mob/living/infectee, make_copy = TRUE) - if(infectee.diseases.len < DISEASE_LIMIT) - infect(infectee, make_copy) - return TRUE - return FALSE + infect(infectee, make_copy) + return TRUE //add the disease with no checks /datum/disease/proc/infect(var/mob/living/infectee, make_copy = TRUE) diff --git a/code/datums/diseases/advance/advance.dm b/code/datums/diseases/advance/advance.dm index ddb924f7402..2d1a4427702 100644 --- a/code/datums/diseases/advance/advance.dm +++ b/code/datums/diseases/advance/advance.dm @@ -56,13 +56,13 @@ return ..() /datum/disease/advance/try_infect(var/mob/living/infectee, make_copy = TRUE) - var/replace_num = infectee.diseases.len + 1 - DISEASE_LIMIT + //see if we are more transmittable than enough diseases to replace them + //diseases replaced in this way do not confer immunity + var/list/L = list() + for(var/datum/disease/advance/P in infectee.diseases) + L += P + var/replace_num = L.len + 1 - DISEASE_LIMIT if(replace_num > 0) - //see if we are more transmittable than enough diseases to replace them - //diseases replaced in this way do not confer immunity - var/list/L = list() - for(var/datum/disease/advance/P in infectee.diseases) - L += P sortTim(L, /proc/cmp_advdisease_resistance_asc) var/datum/disease/advance/competition = L[replace_num] if(totalTransmittable() > competition.totalResistance())