diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index 7aadabe066a..cbf10c31888 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -636,10 +636,6 @@ // called when something steps onto a human // this handles mulebots and vehicles /mob/living/carbon/human/Crossed(var/atom/movable/AM) - if(istype(AM, /mob/living/simple_animal/bot/mulebot)) - var/mob/living/simple_animal/bot/mulebot/MB = AM - MB.RunOver(src) - if(istype(AM, /obj/vehicle)) var/obj/vehicle/V = AM V.RunOver(src) diff --git a/code/modules/mob/living/simple_animal/bot/mulebot.dm b/code/modules/mob/living/simple_animal/bot/mulebot.dm index a16949b87a8..720eab73d5b 100644 --- a/code/modules/mob/living/simple_animal/bot/mulebot.dm +++ b/code/modules/mob/living/simple_animal/bot/mulebot.dm @@ -585,9 +585,13 @@ . = ..() - if(. && istype(next) && bloodiness) - next.AddTracks(/obj/effect/decal/cleanable/blood/tracks/wheels, currentDNA, get_dir(last, next), 0, currentBloodColor) - bloodiness-- + if(. && istype(next)) + if(bloodiness) + next.AddTracks(/obj/effect/decal/cleanable/blood/tracks/wheels, currentDNA, get_dir(last, next), 0, currentBloodColor) + bloodiness-- + + for(var/mob/living/carbon/human/H in next) + RunOver(H) // calculates a path to the current destination // given an optional turf to avoid @@ -687,8 +691,6 @@ M.Weaken(5) return ..() -// called from mob/living/carbon/human/Crossed() -// when mulebot is in the same loc /mob/living/simple_animal/bot/mulebot/proc/RunOver(mob/living/carbon/human/H) add_logs(src, H, "run over", null, "(DAMTYPE: [uppertext(BRUTE)])") H.visible_message("[src] drives over [H]!", \ @@ -765,7 +767,7 @@ if("autopick") auto_pickup = text2num(signal.data["value"]) - + else return 0 return 1