From a4409cc8f790061faebfb9100b355851ab6ddfc3 Mon Sep 17 00:00:00 2001 From: SkyratBot <59378654+SkyratBot@users.noreply.github.com> Date: Fri, 27 May 2022 00:23:43 +0200 Subject: [PATCH] [MIRROR] Useful mapping log error for when turret control panel has a bad control_area [MDB IGNORE] (#13920) * Useful mapping log error for when turret control panel has a bad control_area (#67276) * Useful mapping log error turret control panel having bad control_area * whoops * Useful mapping log error for when turret control panel has a bad control_area Co-authored-by: Tastyfish --- .../machinery/porta_turret/portable_turret.dm | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/code/game/machinery/porta_turret/portable_turret.dm b/code/game/machinery/porta_turret/portable_turret.dm index 3aeb762aab7..382458e7a79 100644 --- a/code/game/machinery/porta_turret/portable_turret.dm +++ b/code/game/machinery/porta_turret/portable_turret.dm @@ -889,15 +889,17 @@ DEFINE_BITFIELD(turret_flags, list( if(!mapload) return - if(control_area) - control_area = get_area_instance_from_text(control_area) - if(control_area == null) - control_area = get_area(src) - stack_trace("Bad control_area path for [src], [src.control_area]") - else if(!control_area) - control_area = get_area(src) + // The actual area that control_area refers to + var/area/control_area_instance - for(var/obj/machinery/porta_turret/T in control_area) + if(control_area) + control_area_instance = get_area_instance_from_text(control_area) + if(!control_area_instance) + log_mapping("Bad control_area path for [src] at [AREACOORD(src)]: [control_area]") + if(!control_area_instance) + control_area_instance = get_area(src) + + for(var/obj/machinery/porta_turret/T in control_area_instance) turrets |= WEAKREF(T) /obj/machinery/turretid/examine(mob/user)