mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-22 03:27:05 +01:00
Air alarm emag support
This commit is contained in:
@@ -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("<span class='warning'>Sparks fly out of the [src]!</span>", "<span class='notice'>You emag the [src], disabling its safeties.</span>")
|
||||
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)
|
||||
|
||||
@@ -204,12 +204,14 @@ Used In File(s): /code/game/machinery/alarm.dm
|
||||
<h3>System Mode</h3>
|
||||
<div class="statusDisplay">
|
||||
{{for data.modes}}
|
||||
<div class="line">
|
||||
<div class="statusLabel">{{:helper.link(value.name,'gear',{'mode':index+1},null,(index+1==data.mode?'linkOn':''))}}</div>
|
||||
<div class="statusValue">
|
||||
{{:value.desc}}
|
||||
{{if !value.emagonly || value.emagonly && data.emagged}}
|
||||
<div class="line">
|
||||
<div class="statusLabel">{{:helper.link(value.name,'gear',{'mode':index+1},null,(index+1==data.mode?'linkOn':value.emagonly ? 'redButton' : ''))}}</div>
|
||||
<div class="statusValue">
|
||||
{{:value.desc}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{{/if}}
|
||||
{{/for}}
|
||||
</div>
|
||||
<h3>System Preset</h3>
|
||||
@@ -235,9 +237,9 @@ Used In File(s): /code/game/machinery/alarm.dm
|
||||
{{for data.thresholds}}
|
||||
<tr>
|
||||
<td>{{:value.name}}</td>
|
||||
{{for value.settings :selected:SelectedNull}}
|
||||
{{for value.settings :selectedItem:SelectedNull}}
|
||||
<td>
|
||||
{{: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 })}}
|
||||
</td>
|
||||
{{/for}}
|
||||
</tr>
|
||||
|
||||
Reference in New Issue
Block a user