From c3df48f9495815de4fbd3e2f26afa34450efedd4 Mon Sep 17 00:00:00 2001 From: Leshana Date: Mon, 22 May 2017 14:20:03 -0400 Subject: [PATCH] Fixes Runtime in atmosphere_alarm.dm,24: list index out of bounds proc name: on alarm change (/datum/alarm_handler/atmosphere/on_alarm_change) --- code/modules/alarm/atmosphere_alarm.dm | 4 ++-- code/modules/alarm/fire_alarm.dm | 9 ++++----- code/modules/mob/mob_helpers.dm | 2 +- 3 files changed, 7 insertions(+), 8 deletions(-) diff --git a/code/modules/alarm/atmosphere_alarm.dm b/code/modules/alarm/atmosphere_alarm.dm index 96608c5e20..334429e164 100644 --- a/code/modules/alarm/atmosphere_alarm.dm +++ b/code/modules/alarm/atmosphere_alarm.dm @@ -21,6 +21,6 @@ //VOREStation Add - Alarm for AR glasses /datum/alarm_handler/atmosphere/on_alarm_change(var/datum/alarm/alarm, var/was_raised) ..() - var/atom/source = alarm.sources_assoc[1] - broadcast_engineering_hud_message("Alarm in [alarm.origin]!", source) + var/atom/source = length(alarm.sources_assoc) ? alarm.sources_assoc[1] : alarm.alarm_area() + broadcast_engineering_hud_message("Alarm in [alarm.origin] [was_raised ? "raised!" : "cleared."]", source) //VOREStation Add End \ No newline at end of file diff --git a/code/modules/alarm/fire_alarm.dm b/code/modules/alarm/fire_alarm.dm index 76901affd6..0d2e9767f0 100644 --- a/code/modules/alarm/fire_alarm.dm +++ b/code/modules/alarm/fire_alarm.dm @@ -6,11 +6,10 @@ if(istype(A)) if(was_raised) A.fire_alert() - - //VOREStation Add - Alarm for AR glasses uses - var/atom/source = alarm.sources_assoc[1] - broadcast_engineering_hud_message("Alarm in [alarm.origin]!", source) - //VOREStation Add End else A.fire_reset() + //VOREStation Add - Alarm for AR glasses uses + var/atom/source = length(alarm.sources_assoc) ? alarm.sources_assoc[1] : alarm.alarm_area() + broadcast_engineering_hud_message("Alarm in [alarm.origin] [was_raised ? "raised!" : "cleared."]", source) + //VOREStation Add End ..() diff --git a/code/modules/mob/mob_helpers.dm b/code/modules/mob/mob_helpers.dm index ba5b24dbe7..3238d72fa4 100644 --- a/code/modules/mob/mob_helpers.dm +++ b/code/modules/mob/mob_helpers.dm @@ -356,7 +356,7 @@ proc/is_blind(A) broadcast_hud_message(message, broadcast_source, med_hud_users, /obj/item/clothing/glasses/hud/health) /proc/broadcast_hud_message(var/message, var/broadcast_source, var/list/targets, var/icon) - var/turf/sourceturf = get_turf(broadcast_source) + var/atom/sourceturf = isarea(broadcast_source) ? broadcast_source : get_turf(broadcast_source) // VOREStation Edit - Allow broadcasts from an area for(var/mob/M in targets) var/turf/targetturf = get_turf(M) if((targetturf.z == sourceturf.z))