From 683c15165484a57427fab6e045d690f6b4cea22a Mon Sep 17 00:00:00 2001 From: Kashargul <144968721+Kashargul@users.noreply.github.com> Date: Sat, 4 Jan 2025 16:53:47 +0100 Subject: [PATCH] fix two runtimes in virus code (#16836) --- code/datums/diseases/_disease.dm | 2 +- .../objects/effects/decals/Cleanable/humans.dm | 18 +++++++++++++++++- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/code/datums/diseases/_disease.dm b/code/datums/diseases/_disease.dm index 492884b12a4..48552997fb7 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 2a99e8c2bca..2cc66f962e9 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 @@ -273,21 +273,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)