diff --git a/code/datums/diseases/_disease.dm b/code/datums/diseases/_disease.dm index 492884b12a..48552997fb 100644 --- a/code/datums/diseases/_disease.dm +++ b/code/datums/diseases/_disease.dm @@ -135,7 +135,7 @@ GLOBAL_LIST_INIT(diseases, subtypesof(/datum/disease)) break var/direction = get_dir(current, target) var/turf/next = get_step(current, direction) - if(!current.CanZASPass() || !next.CanZASPass(get_turf(turn(direction, 100)))) + if(!current.CanZASPass(next)) break current = next diff --git a/code/game/objects/effects/decals/Cleanable/humans.dm b/code/game/objects/effects/decals/Cleanable/humans.dm index c2047d8e27..4485c1feaf 100644 --- a/code/game/objects/effects/decals/Cleanable/humans.dm +++ b/code/game/objects/effects/decals/Cleanable/humans.dm @@ -76,7 +76,7 @@ var/global/list/image/splatter_cache=list() /obj/effect/decal/cleanable/blood/Crossed(mob/living/carbon/human/perp) if(perp.is_incorporeal()) return - if (!istype(perp)) + if(!istype(perp)) return if(amount < 1) return @@ -274,21 +274,37 @@ var/global/list/image/splatter_cache=list() return ..() /obj/effect/decal/cleanable/mucus/Crossed(mob/living/carbon/human/perp) + if(perp.is_incorporeal()) + return + if(!istype(perp)) + return if(viruses) for(var/datum/disease/D in viruses) perp.ContractDisease(D) /obj/effect/decal/cleanable/mucus/attack_hand(mob/living/carbon/human/perp) + if(perp.is_incorporeal()) + return + if(!istype(perp)) + return if(viruses) for(var/datum/disease/D in viruses) perp.ContractDisease(D) /obj/effect/decal/cleanable/vomit/Crossed(mob/living/carbon/human/perp) + if(perp.is_incorporeal()) + return + if(!istype(perp)) + return if(viruses) for(var/datum/disease/D in viruses) perp.ContractDisease(D) /obj/effect/decal/cleanable/vomit/Crossed(mob/living/carbon/human/perp) + if(perp.is_incorporeal()) + return + if(!istype(perp)) + return if(viruses) for(var/datum/disease/D in viruses) perp.ContractDisease(D)