From 4c6fe418bf70104ccdc6ce3f14016b1e4f59af0d Mon Sep 17 00:00:00 2001 From: Fox-McCloud Date: Fri, 7 Jul 2017 02:58:34 -0400 Subject: [PATCH] Removes A* call and Fixes Blood Virus Infections --- code/datums/diseases/_disease.dm | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/code/datums/diseases/_disease.dm b/code/datums/diseases/_disease.dm index 908cded34e2..42a3a634500 100644 --- a/code/datums/diseases/_disease.dm +++ b/code/datums/diseases/_disease.dm @@ -119,11 +119,19 @@ var/list/diseases = subtypesof(/datum/disease) else return - if(isturf(source.loc)) + var/turf/T = source.loc + if(istype(T)) for(var/mob/living/carbon/C in oview(spread_range, source)) - if(isturf(C.loc)) - if(AStar(source, C.loc, /turf/proc/Distance, spread_range, adjacent = (spread_flags & AIRBORNE) ? /turf/proc/reachableAdjacentAtmosTurfs : /turf/proc/reachableAdjacentTurfs)) - C.ContractDisease(src) + var/turf/V = get_turf(C) + if(V) + while(TRUE) + if(V == T) + C.ContractDisease(src) + break + var/turf/Temp = get_step_towards(V, T) + if(!V.CanAtmosPass(Temp)) + break + V = Temp /datum/disease/proc/process()