diff --git a/code/game/objects/devices/PDA/cart.dm b/code/game/objects/devices/PDA/cart.dm index ef012e92fdd..2461604742a 100644 --- a/code/game/objects/devices/PDA/cart.dm +++ b/code/game/objects/devices/PDA/cart.dm @@ -515,8 +515,9 @@ Code: for (var/obj/item/weapon/mop/M in world) var/turf/ml = get_turf(M) - if (ml.z != cl.z) - continue + if(ml) + if (ml.z != cl.z) + continue ldat += "Mop - \[[ml.x],[ml.y]\] - [M.reagents.total_volume ? "Wet" : "Dry"]
" diff --git a/code/game/objects/structures.dm b/code/game/objects/structures.dm index a7fc4875349..8f19124f02f 100644 --- a/code/game/objects/structures.dm +++ b/code/game/objects/structures.dm @@ -84,7 +84,9 @@ obj/structure Tsrc.ReplaceWithWall() for(var/obj/machinery/atmospherics/pipe/P in Tsrc) P.layer = 1 - W:use(2) + for(var/turf/simulated/wall/X in Tsrc.loc) + if(X) X.add_hiddenprint(usr) + if (W) W:use(2) del(src) return @@ -99,6 +101,8 @@ obj/structure Tsrc.ReplaceWithRWall() for(var/obj/machinery/atmospherics/pipe/P in Tsrc) P.layer = 1 + for(var/turf/simulated/wall/r_wall/X in Tsrc.loc) + if(X) X.add_hiddenprint(usr) if (W) W:use(1) del(src) diff --git a/code/modules/mob/living/carbon/metroid/life.dm b/code/modules/mob/living/carbon/metroid/life.dm index 13ec9d07430..737872121ca 100644 --- a/code/modules/mob/living/carbon/metroid/life.dm +++ b/code/modules/mob/living/carbon/metroid/life.dm @@ -359,7 +359,10 @@ Tempstun = 1 if(bodytemperature <= (T0C - 50)) // hurt temperature - adjustFireLoss(round(sqrt(bodytemperature)) * 2) + if(bodytemperature <= 50) // sqrting negative numbers is bad + adjustFireLoss(200) + else + adjustFireLoss(round(sqrt(bodytemperature)) * 2) else Tempstun = 0 diff --git a/code/modules/mob/mob_movement.dm b/code/modules/mob/mob_movement.dm index b1888dadd89..aebdcb2a1d0 100644 --- a/code/modules/mob/mob_movement.dm +++ b/code/modules/mob/mob_movement.dm @@ -215,16 +215,17 @@ if(L.len == 2) L -= mob var/mob/M = L[1] - if ((get_dist(mob, M) <= 1 || M.loc == mob.loc)) - var/turf/T = mob.loc - . = ..() - if (isturf(M.loc)) - var/diag = get_dir(mob, M) - if ((diag - 1) & diag) - else - diag = null - if ((get_dist(mob, M) > 1 || diag)) - step(M, get_dir(M.loc, T)) + if(M) + if ((get_dist(mob, M) <= 1 || M.loc == mob.loc)) + var/turf/T = mob.loc + . = ..() + if (isturf(M.loc)) + var/diag = get_dir(mob, M) + if ((diag - 1) & diag) + else + diag = null + if ((get_dist(mob, M) > 1 || diag)) + step(M, get_dir(M.loc, T)) else for(var/mob/M in L) M.other_mobs = 1