From ccc5bb3afe5d4ad6269b0bae36e4debbfe2a4058 Mon Sep 17 00:00:00 2001 From: Heroman3003 <31296024+Heroman3003@users.noreply.github.com> Date: Thu, 9 Mar 2023 15:10:22 +1000 Subject: [PATCH] Merge pull request #14584 from Seris02/anomalyfix stops robots from getting spammed on different z levels from cellcharge anomaly --- code/modules/xenoarcheaology/effects/cellcharge.dm | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/code/modules/xenoarcheaology/effects/cellcharge.dm b/code/modules/xenoarcheaology/effects/cellcharge.dm index d543ac2411..7f4d59b29d 100644 --- a/code/modules/xenoarcheaology/effects/cellcharge.dm +++ b/code/modules/xenoarcheaology/effects/cellcharge.dm @@ -11,7 +11,7 @@ var/mob/living/silicon/robot/R = user for (var/obj/item/weapon/cell/D in R.contents) D.charge += rand() * 100 + 50 - to_chat(R, "SYSTEM ALERT: Large energy boost detected!") + to_chat(R, "SYSTEM ALERT: Large energy boost detected!") /datum/artifact_effect/cellcharge/DoEffectAura() @@ -22,21 +22,28 @@ if(!turf) return for (var/obj/machinery/power/apc/apc as anything in GLOB.apcs) + if (apc.z != turf.z) + continue if(get_dist(turf, apc) <= 200) for (var/obj/item/weapon/cell/cell in apc.contents) cell.charge += 25 for (var/obj/machinery/power/smes/smes as anything in GLOB.smeses) + if (smes.z != turf.z) + continue if(get_dist(turf, smes) <= effectrange) smes.charge += 25 var/charged_robots for (var/mob/living/silicon/robot/robot as anything in global.silicon_mob_list) + if(turf.z != robot.z) + continue if(get_dist(turf, robot) < 50) var/charged_cells for (var/obj/item/weapon/cell/cell in robot.contents) cell.charge += 25 charged_cells = TRUE if(charged_cells) - to_chat(robot, "SYSTEM ALERT: Energy boost detected!") + if(world.time - last_message > 200) + to_chat(robot, "SYSTEM ALERT: Energy boost detected!") charged_robots = TRUE if(charged_robots) last_message = world.time @@ -55,5 +62,5 @@ for (var/obj/item/weapon/cell/D in M.contents) D.charge += rand() * 100 if(world.time - last_message > 200) - to_chat(M, "SYSTEM ALERT: Energy boost detected!") + to_chat(M, "SYSTEM ALERT: Energy boost detected!") last_message = world.time