mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-12 19:22:56 +00:00
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:
@@ -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."
|
||||
|
||||
69
code/game/machinery/atmoalter/area_atmos_computer.dm
Normal file
69
code/game/machinery/atmoalter/area_atmos_computer.dm
Normal 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."
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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)
|
||||
Reference in New Issue
Block a user