Air alarms can scrub nitrogen.

This commit is contained in:
Rob Nelson
2013-12-20 17:51:55 -08:00
parent 76f2093d52
commit a34739055a
5 changed files with 18 additions and 2 deletions

View File

@@ -19,6 +19,7 @@
var/scrub_Toxins = 0
var/scrub_N2O = 0
var/scrub_O2 = 0
var/scrub_N2 = 0
var/volume_rate = 120
var/panic = 0 //is this scrubber panicked?
@@ -80,6 +81,7 @@
"filter_tox" = scrub_Toxins,
"filter_n2o" = scrub_N2O,
"filter_o2" = scrub_O2,
"filter_n2" = scrub_N2,
"sigtype" = "status"
)
if(!initial_loc.air_scrub_names[id_tag])
@@ -117,7 +119,8 @@
(scrub_Toxins && environment.toxins > 0) ||\
(scrub_CO2 && environment.carbon_dioxide > 0) ||\
(scrub_N2O && environment.trace_gases.len > 0) ||\
(scrub_O2 && environment.oxygen > 0))
(scrub_O2 && environment.oxygen > 0) ||\
(scrub_N2 && environment.nitrogen > 0))
var/transfer_moles = min(1, volume_rate/environment.volume)*environment.total_moles()
//Take a gas sample
@@ -141,6 +144,10 @@
filtered_out.oxygen = removed.oxygen
removed.oxygen = 0
if(scrub_N2)
filtered_out.nitrogen = removed.nitrogen
removed.nitrogen = 0
if(removed.trace_gases.len>0)
for(var/datum/gas/trace_gas in removed.trace_gases)
if(istype(trace_gas, /datum/gas/oxygen_agent_b))
@@ -241,6 +248,11 @@
if(signal.data["toggle_o2_scrub"])
scrub_O2 = !scrub_O2
if(signal.data["n2_scrub"] != null)
scrub_N2 = text2num(signal.data["n2_scrub"])
if(signal.data["toggle_n2_scrub"])
scrub_N2 = !scrub_N2
if(signal.data["init"] != null)
name = signal.data["init"]
return

View File

@@ -153,6 +153,7 @@
"tox_scrub",
"n2o_scrub",
"o2_scrub",
"n2_scrub",
"panic_siphon",
"scrubbing"
)

View File

@@ -429,7 +429,7 @@
switch(mode)
if(AALARM_MODE_SCRUBBING)
for(var/device_id in alarm_area.air_scrub_names)
send_signal(device_id, list("power"= 1, "co2_scrub"= 1, "o2_scrub"=(preset==AALARM_PRESET_VOX), "scrubbing"= 1, "panic_siphon"= 0) )
send_signal(device_id, list("power"= 1, "co2_scrub"= 1, "o2_scrub"=(preset==AALARM_PRESET_VOX), "n2_scrub"=0, "scrubbing"= 1, "panic_siphon"= 0) )
for(var/device_id in alarm_area.air_vent_names)
send_signal(device_id, list("power"= 1, "checks"= 1, "set_external_pressure"= target_pressure) )
@@ -905,6 +905,7 @@
"tox_scrub",
"n2o_scrub",
"o2_scrub",
"n2_scrub",
"panic_siphon",
"scrubbing")
var/val

View File

@@ -85,6 +85,7 @@
<li class="rscadd">Vents, injectors, conveyors, and conveyor switches can be tuned with a multitool.</li>
<li class="rscadd">Conveyor belts are now constructable with a conveyor circuitboard.</li>
<li class="rscadd">Conveyor belt switches are now constructable with a signaller and a rod.</li>
<li class="rscadd">Air alarms can now scrub Nitrogen (N<sub>2</sub>).</li>
<li class="bugfix">Observers are no longer naked, and sport the unused tourist outfit.</li>
<li class="bugfix">Freezers and heaters did not properly handle pipe networks when moved.</li>
<li class="bugfix">Hopefully fix DNA injector issues.</li>

View File

@@ -190,6 +190,7 @@ Used In File(s): /code/game/machinery/alarm.dm
{^{:~link('CO<sub>2</sub>',null,{'id_tag':id_tag,'command':'co2_scrub','val':(filter_co2==0?1:0)},null,(filter_co2?'linkOn':''))}}
{^{:~link('Plasma', null,{'id_tag':id_tag,'command':'tox_scrub','val':(filter_tox==0?1:0)},null,(filter_tox?'linkOn':''))}}
{^{:~link('N<sub>2</sub>O',null,{'id_tag':id_tag,'command':'n2o_scrub','val':(filter_n2o==0?1:0)},null,(filter_n2o?'linkOn':''))}}
{^{:~link('N<sub>2</sub>', null,{'id_tag':id_tag,'command':'n2_scrub', 'val':(filter_n2 ==0?1:0)},null,(filter_n2 ?'linkOn':''))}}
{^{:~link('O<sub>2</sub>', null,{'id_tag':id_tag,'command':'o2_scrub', 'val':(filter_o2 ==0?1:0)},null,(filter_o2 ?'linkOn':''))}}
</div>
</div>