diff --git a/code/WorkInProgress/Mini/atmos_control.dm b/code/WorkInProgress/Mini/atmos_control.dm
index 37282a90ecc..15dd1c7fe95 100644
--- a/code/WorkInProgress/Mini/atmos_control.dm
+++ b/code/WorkInProgress/Mini/atmos_control.dm
@@ -297,13 +297,12 @@ Nitrous Oxide
output += {"
Main menu
Air machinery mode for the area:
"}
- var/list/modes = list(
- AALARM_MODE_SCRUBBING = "Filtering",
- AALARM_MODE_REPLACEMENT = "REPLACE AIR",
- AALARM_MODE_PANIC = "PANIC",
- AALARM_MODE_CYCLE = "CYCLE",
- AALARM_MODE_FILL = "FILL",\
- AALARM_MODE_OFF = "OFFF",)
+ var/list/modes = list(AALARM_MODE_SCRUBBING = "Filtering - Scrubs out contaminants",\
+ AALARM_MODE_REPLACEMENT = "Replace Air - Siphons out air while replacing",\
+ AALARM_MODE_PANIC = "Panic - Siphons air out of the room",\
+ AALARM_MODE_CYCLE = "Cycle - Siphons air before replacing",\
+ AALARM_MODE_FILL = "Fill - Shuts off scrubbers and opens vents",\
+ AALARM_MODE_OFF = "Off - Shuts off vents and scrubbers",)
for (var/m=1,m<=modes.len,m++)
if (current.mode==m)
output += {"- [modes[m]] (selected)
"}
diff --git a/code/game/machinery/alarm.dm b/code/game/machinery/alarm.dm
index d52f18fdd70..0329bbe8baf 100644
--- a/code/game/machinery/alarm.dm
+++ b/code/game/machinery/alarm.dm
@@ -135,9 +135,9 @@
if(!istype(location)) return//returns if loc is not simulated
var/datum/gas_mixture/environment = location.return_air()
- var/temperature_dangerlevel = get_danger_level(environment.temperature, TLV["temperature"])
+
//Handle temperature adjustment here.
- if(temperature_dangerlevel || regulating_temperature)
+ if(environment.temperature < target_temperature - 10 || environment.temperature > target_temperature + 10 || regulating_temperature)
//If it goes too far, we should adjust ourselves back before stopping.
if(!regulating_temperature)
regulating_temperature = 1
@@ -368,7 +368,8 @@
send_signal(device_id, list("power"= 0) )
proc/apply_danger_level(var/new_danger_level)
- alarm_area.atmosalm = new_danger_level
+ if (alarm_area.atmosalert(new_danger_level))
+ post_alert(new_danger_level)
for (var/area/A in alarm_area.related)
for (var/obj/machinery/alarm/AA in A)
@@ -382,6 +383,26 @@
update_icon()
+ proc/post_alert(alert_level)
+ var/datum/radio_frequency/frequency = radio_controller.return_frequency(alarm_frequency)
+ if(!frequency)
+ return
+
+ var/datum/signal/alert_signal = new
+ alert_signal.source = src
+ alert_signal.transmission_method = 1
+ alert_signal.data["zone"] = alarm_area.name
+ alert_signal.data["type"] = "Atmospheric"
+
+ if(alert_level==2)
+ alert_signal.data["alert"] = "severe"
+ else if (alert_level==1)
+ alert_signal.data["alert"] = "minor"
+ else if (alert_level==0)
+ alert_signal.data["alert"] = "clear"
+
+ frequency.post_signal(src, alert_signal)
+
proc/refresh_danger_level()
var/level = 0
for (var/area/A in alarm_area.related)
@@ -828,12 +849,12 @@ Toxins: [plasma_percent]%
if (AALARM_SCREEN_MODE)
output += "Main menu
Air machinery mode for the area:"
- var/list/modes = list(AALARM_MODE_SCRUBBING = "Filtering",\
- AALARM_MODE_REPLACEMENT = "REPLACE AIR",\
- AALARM_MODE_PANIC = "PANIC",\
- AALARM_MODE_CYCLE = "CYCLE",\
- AALARM_MODE_FILL = "FILL",\
- AALARM_MODE_OFF = "OFFF",)
+ var/list/modes = list(AALARM_MODE_SCRUBBING = "Filtering - Scrubs out contaminants",\
+ AALARM_MODE_REPLACEMENT = "Replace Air - Siphons out air while replacing",\
+ AALARM_MODE_PANIC = "Panic - Siphons air out of the room",\
+ AALARM_MODE_CYCLE = "Cycle - Siphons air before replacing",\
+ AALARM_MODE_FILL = "Fill - Shuts off scrubbers and opens vents",\
+ AALARM_MODE_OFF = "Off - Shuts off vents and scrubbers",)
for (var/m=1,m<=modes.len,m++)
if (mode==m)
output += "- [modes[m]] (selected)
"