diff --git a/code/game/machinery/alarm.dm b/code/game/machinery/alarm.dm index 2a7d0bbce6f..5d119ca3a00 100644 --- a/code/game/machinery/alarm.dm +++ b/code/game/machinery/alarm.dm @@ -37,7 +37,7 @@ #define AALARM_MODE_CONTAMINATED 6 //Turns on all filtering and widenet scrubbing. #define AALARM_MODE_REFILL 7 //just like normal, but with triple the air output #define AALARM_MODE_OFF 8 -#define AALARM_MODE_FLOOD 8 //Emagged mode; turns off scrubbers and pressure checks on vents +#define AALARM_MODE_FLOOD 9 //Emagged mode; turns off scrubbers and pressure checks on vents #define AALARM_PRESET_HUMAN 1 // Default #define AALARM_PRESET_VOX 2 // Support Vox @@ -711,6 +711,7 @@ data["rcon"] = rcon_setting data["target_temp"] = target_temperature - T0C data["atmos_alarm"] = alarm_area.atmosalm + data["emagged"] = emagged || isAI(user) data["modes"] = list( AALARM_MODE_SCRUBBING = list("name"="Filtering", "desc"="Scrubs out contaminants"),\ AALARM_MODE_VENTING = list("name"="Draught", "desc"="Siphons out air while replacing"),\ @@ -719,10 +720,9 @@ AALARM_MODE_SIPHON = list("name"="Siphon", "desc"="Siphons air out of the room"),\ AALARM_MODE_CONTAMINATED= list("name"="Contaminated","desc"="Scrubs out all contaminants quickly"),\ AALARM_MODE_REFILL = list("name"="Refill", "desc"="Triples vent output"),\ - AALARM_MODE_OFF = list("name"="Off", "desc"="Shuts off vents and scrubbers") + AALARM_MODE_OFF = list("name"="Off", "desc"="Shuts off vents and scrubbers"),\ + AALARM_MODE_FLOOD = list("name"="Flood", "desc"="Shuts off scrubbers and opens vents", "emagonly" = 1) ) - if(emagged || isAI(user)) - data["modes"]["AALARM_MODE_FLOOD"] = list("name" = "Flood", "desc" = "Shuts off scrubbers and opens vents") data["mode"] = mode data["presets"] = list( AALARM_PRESET_HUMAN = list("name"="Human", "desc"="Checks for Oxygen and Nitrogen"),\ @@ -971,6 +971,12 @@ target_temperature = input_temperature + T0C return 1 +/obj/machinery/alarm/emag_act(mob/user) + if(!emagged) + src.emagged = 1 + user.visible_message("Sparks fly out of the [src]!", "You emag the [src], disabling its safeties.") + playsound(src.loc, 'sound/effects/sparks4.ogg', 50, 1) + return /obj/machinery/alarm/attackby(obj/item/W as obj, mob/user as mob, params) src.add_fingerprint(user) diff --git a/nano/templates/air_alarm.tmpl b/nano/templates/air_alarm.tmpl index 00e26485e27..477bd2f7954 100644 --- a/nano/templates/air_alarm.tmpl +++ b/nano/templates/air_alarm.tmpl @@ -204,12 +204,14 @@ Used In File(s): /code/game/machinery/alarm.dm

System Mode

{{for data.modes}} -
-
{{:helper.link(value.name,'gear',{'mode':index+1},null,(index+1==data.mode?'linkOn':''))}}
-
- {{:value.desc}} + {{if !value.emagonly || value.emagonly && data.emagged}} +
+
{{:helper.link(value.name,'gear',{'mode':index+1},null,(index+1==data.mode?'linkOn':value.emagonly ? 'redButton' : ''))}}
+
+ {{:value.desc}} +
-
+ {{/if}} {{/for}}

System Preset

@@ -235,9 +237,9 @@ Used In File(s): /code/game/machinery/alarm.dm {{for data.thresholds}} {{:value.name}} - {{for value.settings :selected:SelectedNull}} + {{for value.settings :selectedItem:SelectedNull}} - {{:helper.link(value.selected >= 0 ? helper.round(value.selected*100)/100 : "Off", null, { 'command' : 'set_threshold', 'env' : value.env, 'var' : value.val })}} + {{:helper.link(selectedItem.selected >= 0 ? helper.round(selectedItem.selected*100)/100 : "Off", null, { 'command' : 'set_threshold', 'env' : selectedItem.env, 'var' : selectedItem.val })}} {{/for}}