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))