diff --git a/code/datums/diseases/_disease.dm b/code/datums/diseases/_disease.dm index 8096908e908..cb69731484d 100644 --- a/code/datums/diseases/_disease.dm +++ b/code/datums/diseases/_disease.dm @@ -97,8 +97,8 @@ var/list/diseases = typesof(/datum/disease) - /datum/disease break //One missing cure is enough to fail -/datum/disease/proc/spread(var/atom/source) - if(spread_flags & SPECIAL || spread_flags & NON_CONTAGIOUS || spread_flags & BLOOD) +/datum/disease/proc/spread(var/atom/source, var/force_spread = 0) + if((spread_flags & SPECIAL || spread_flags & NON_CONTAGIOUS || spread_flags & BLOOD) && !force_spread) return if(affected_mob) @@ -107,6 +107,9 @@ var/list/diseases = typesof(/datum/disease) - /datum/disease var/spread_range = 1 + if(force_spread) + spread_range = 5 + if(spread_flags & AIRBORNE) spread_range++ diff --git a/code/datums/diseases/advance/symptoms/sneeze.dm b/code/datums/diseases/advance/symptoms/sneeze.dm index f26a0c78b66..82ca3800742 100644 --- a/code/datums/diseases/advance/symptoms/sneeze.dm +++ b/code/datums/diseases/advance/symptoms/sneeze.dm @@ -35,5 +35,5 @@ Bonus M.emote("sniff") else M.emote("sneeze") - A.spread(A.holder, 5, AIRBORNE) + A.spread(A.holder, AIRBORNE) return \ No newline at end of file