TG: Added in stationary, super-high-capacity scrubbers. Currently two are located in

the toxins gas storage room and one in the incinerator. They are controlled by
an area air control computer, so you can turn them on at a distance.

Added into code a legacy emergency closet which contains one oxygen tank and one
gas mask, committing my version of oldstation. It still needs lighting and wires
added as well as room wall-mounted things like air alarms, fire alarms, light
switches and lights.
Revision: r2955
Author: 	 baloh.matevz
This commit is contained in:
Ren Erthilo
2012-04-15 18:41:41 +01:00
parent 5eee8ddf46
commit 02ecc3da75
5 changed files with 97 additions and 0 deletions

View File

@@ -52,6 +52,8 @@
icon_closed = "emergency"
icon_opened = "emergencyopen"
/obj/structure/closet/emcloset/legacy
/obj/structure/closet/firecloset
name = "Fire Closet"
desc = "A bulky (yet mobile) closet. Comes with supplies to fight fire."

View File

@@ -0,0 +1,69 @@
/obj/machinery/computer/area_atmos
name = "Area Air Control"
desc = "A computer used to control the stationary scrubbers and pumps in the area."
icon_state = "computer_generic"
var/scrubber_state = 0 //0 = off; 1 = on
attack_ai(var/mob/user as mob)
return src.attack_hand(user)
attack_paw(var/mob/user as mob)
return
attack_hand(var/mob/user as mob)
src.add_fingerprint(usr)
var/dat = text("<center>Area Air Control:<br> <b><A href='?src=\ref[src];scrubbers=[1]'>Turn area scrubbers [scrubber_state?"off":"on"]</A></b></center>")
user << browse("[dat]", "window=miningshuttle;size=200x100")
Topic(href, href_list)
if(..())
return
usr.machine = src
src.add_fingerprint(usr)
if(href_list["scrubbers"])
toggle_scrubbers()
usr << "\blue Area scrubbers turned [scrubber_state?"on":"off"]"
proc/toggle_scrubbers()
if( (ishuman(usr)||issilicon(usr)) && !usr.stat && !usr.restrained() )
scrubber_state = !scrubber_state
var/turf/T = get_turf(src)
if(!T.loc) return
var/area/A = T.loc
if (A.master)
A = A.master
for( var/obj/machinery/portable_atmospherics/scrubber/stationary/SCRUBBER in world )
var/turf/T2 = get_turf(SCRUBBER)
if ( T2 && T2.loc)
var/area/A2 = T2.loc
if ( istype(A2) && A2.master && A2.master == A )
SCRUBBER.on = scrubber_state
SCRUBBER.update_icon()
/obj/machinery/computer/mining_shuttle/attack_hand(user as mob)
src.add_fingerprint(usr)
var/dat
dat = text("<center>Mining shuttle:<br> <b><A href='?src=\ref[src];move=[1]'>Send</A></b></center>")
user << browse("[dat]", "window=miningshuttle;size=200x100")
/obj/machinery/computer/mining_shuttle/Topic(href, href_list)
if(..())
return
usr.machine = src
src.add_fingerprint(usr)
if(href_list["move"])
if(ticker.mode.name == "blob")
if(ticker.mode:declared)
usr << "Under directive 7-10, [station_name()] is quarantined until further notice."
return
if (!mining_shuttle_moving)
usr << "\blue Shuttle recieved message and will be sent shortly."
move_mining_shuttle()
else
usr << "\blue Shuttle is already moving."

View File

@@ -10,6 +10,27 @@
volume = 750
stationary
name = "Stationary Air Scrubber"
icon_state = "scrubber:0"
anchored = 1
volume = 30000
volume_rate = 5000
attack_hand(var/mob/user as mob)
usr << "\blue You can't directly interact with this machine. Use the area atmos computer."
update_icon()
src.overlays = 0
if(on)
icon_state = "scrubber:1"
else
icon_state = "scrubber:0"
attackby(var/obj/item/weapon/W as obj, var/mob/user as mob)
return
/obj/machinery/portable_atmospherics/scrubber/update_icon()
src.overlays = 0

View File

@@ -14,3 +14,7 @@
while(prob(60) && counter < 3)
new /obj/item/clothing/mask/breath(src)
counter++
/obj/structure/closet/emcloset/legacy/New()
new /obj/item/weapon/tank/oxygen(src)
new /obj/item/clothing/mask/gas(src)