WIP
This commit is contained in:
@@ -624,10 +624,7 @@
|
||||
"set_internal_pressure" = 0
|
||||
))
|
||||
|
||||
/obj/machinery/airalarm/update_icon()
|
||||
set_light(0)
|
||||
cut_overlays()
|
||||
SSvis_overlays.remove_vis_overlay(src, managed_vis_overlays)
|
||||
/obj/machinery/airalarm/update_icon_state()
|
||||
if(stat & NOPOWER)
|
||||
icon_state = "alarm0"
|
||||
return
|
||||
@@ -636,35 +633,39 @@
|
||||
icon_state = "alarmx"
|
||||
return
|
||||
|
||||
if(panel_open)
|
||||
switch(buildstage)
|
||||
if(2)
|
||||
icon_state = "alarmx"
|
||||
if(1)
|
||||
icon_state = "alarm_b2"
|
||||
if(0)
|
||||
icon_state = "alarm_b1"
|
||||
if(!panel_open)
|
||||
icon_state = "alarm1"
|
||||
return
|
||||
|
||||
icon_state = "alarm1"
|
||||
switch(buildstage)
|
||||
if(2)
|
||||
icon_state = "alarmx"
|
||||
if(1)
|
||||
icon_state = "alarm_b2"
|
||||
if(0)
|
||||
icon_state = "alarm_b1"
|
||||
|
||||
/obj/machinery/airalarm/update_overlays()
|
||||
. = ..()
|
||||
SSvis_overlays.remove_vis_overlay(src, managed_vis_overlays)
|
||||
var/overlay_state = AALARM_OVERLAY_OFF
|
||||
var/area/A = get_base_area(src)
|
||||
switch(max(danger_level, A.atmosalm))
|
||||
if(0)
|
||||
add_overlay(AALARM_OVERLAY_GREEN)
|
||||
overlay_state = AALARM_OVERLAY_GREEN
|
||||
light_color = LIGHT_COLOR_GREEN
|
||||
set_light(brightness_on)
|
||||
if(1)
|
||||
add_overlay(AALARM_OVERLAY_WARN)
|
||||
overlay_state = AALARM_OVERLAY_WARN
|
||||
light_color = LIGHT_COLOR_LAVA
|
||||
set_light(brightness_on)
|
||||
if(2)
|
||||
add_overlay(AALARM_OVERLAY_DANGER)
|
||||
overlay_state = AALARM_OVERLAY_DANGER
|
||||
light_color = LIGHT_COLOR_RED
|
||||
set_light(brightness_on)
|
||||
|
||||
if(overlay_state != AALARM_OVERLAY_OFF)
|
||||
. += overlay_state
|
||||
set_light(brightness_on)
|
||||
else
|
||||
set_light(0)
|
||||
|
||||
SSvis_overlays.add_vis_overlay(src, icon, overlay_state, ABOVE_LIGHTING_LAYER, ABOVE_LIGHTING_PLANE, dir)
|
||||
update_light()
|
||||
|
||||
@@ -34,7 +34,6 @@
|
||||
var/restricted = FALSE
|
||||
req_access = list()
|
||||
|
||||
var/update = 0
|
||||
var/static/list/label2types = list(
|
||||
"n2" = /obj/machinery/portable_atmospherics/canister/nitrogen,
|
||||
"o2" = /obj/machinery/portable_atmospherics/canister/oxygen,
|
||||
@@ -213,61 +212,26 @@
|
||||
air_contents.gases[/datum/gas/oxygen] = (O2STANDARD * maximum_pressure * filled) * air_contents.volume / (R_IDEAL_GAS_EQUATION * air_contents.temperature)
|
||||
air_contents.gases[/datum/gas/nitrogen] = (N2STANDARD * maximum_pressure * filled) * air_contents.volume / (R_IDEAL_GAS_EQUATION * air_contents.temperature)
|
||||
|
||||
#define HOLDING (1<<0)
|
||||
#define CONNECTED (1<<1)
|
||||
#define EMPTY (1<<2)
|
||||
#define LOW (1<<3)
|
||||
#define MEDIUM (1<<4)
|
||||
#define FULL (1<<5)
|
||||
#define DANGER (1<<6)
|
||||
/obj/machinery/portable_atmospherics/canister/update_icon()
|
||||
/obj/machinery/portable_atmospherics/canister/update_icon_state()
|
||||
if(stat & BROKEN)
|
||||
cut_overlays()
|
||||
icon_state = "[icon_state]-1"
|
||||
return
|
||||
|
||||
var/last_update = update
|
||||
update = 0
|
||||
/obj/machinery/portable_atmospherics/canister/update_overlays()
|
||||
. = ..()
|
||||
|
||||
if(holding)
|
||||
update |= HOLDING
|
||||
. += "can-open"
|
||||
if(connected_port)
|
||||
update |= CONNECTED
|
||||
. += "can-connector"
|
||||
var/pressure = air_contents.return_pressure()
|
||||
if(pressure < 10)
|
||||
update |= EMPTY
|
||||
else if(pressure < 5 * ONE_ATMOSPHERE)
|
||||
update |= LOW
|
||||
else if(pressure < 10 * ONE_ATMOSPHERE)
|
||||
update |= MEDIUM
|
||||
else if(pressure < 40 * ONE_ATMOSPHERE)
|
||||
update |= FULL
|
||||
else
|
||||
update |= DANGER
|
||||
|
||||
if(update == last_update)
|
||||
return
|
||||
|
||||
cut_overlays()
|
||||
if(update & HOLDING)
|
||||
add_overlay("can-open")
|
||||
if(update & CONNECTED)
|
||||
add_overlay("can-connector")
|
||||
if(update & LOW)
|
||||
add_overlay("can-o0")
|
||||
else if(update & MEDIUM)
|
||||
add_overlay("can-o1")
|
||||
else if(update & FULL)
|
||||
add_overlay("can-o2")
|
||||
else if(update & DANGER)
|
||||
add_overlay("can-o3")
|
||||
#undef HOLDING
|
||||
#undef CONNECTED
|
||||
#undef EMPTY
|
||||
#undef LOW
|
||||
#undef MEDIUM
|
||||
#undef FULL
|
||||
#undef DANGER
|
||||
if(pressure >= 40 * ONE_ATMOSPHERE)
|
||||
. += "can-o3"
|
||||
else if(pressure >= 10 * ONE_ATMOSPHERE)
|
||||
. += "can-o2"
|
||||
else if(pressure >= 5 * ONE_ATMOSPHERE)
|
||||
. += "can-o1"
|
||||
else if(pressure >= 10)
|
||||
. += "can-o0"
|
||||
|
||||
/obj/machinery/portable_atmospherics/canister/temperature_expose(datum/gas_mixture/air, exposed_temperature, exposed_volume)
|
||||
if(exposed_temperature > temperature_resistance)
|
||||
|
||||
@@ -29,14 +29,16 @@
|
||||
QDEL_NULL(pump)
|
||||
return ..()
|
||||
|
||||
/obj/machinery/portable_atmospherics/pump/update_icon()
|
||||
/obj/machinery/portable_atmospherics/pump/update_icon_state()
|
||||
icon_state = "psiphon:[on]"
|
||||
|
||||
cut_overlays()
|
||||
|
||||
/obj/machinery/portable_atmospherics/pump/update_overlays()
|
||||
. = ..()
|
||||
if(holding)
|
||||
add_overlay("siphon-open")
|
||||
. += "siphon-open"
|
||||
if(connected_port)
|
||||
add_overlay("siphon-connector")
|
||||
. += "siphon-connector"
|
||||
|
||||
/obj/machinery/portable_atmospherics/pump/process_atmos()
|
||||
..()
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
|
||||
var/on = FALSE
|
||||
var/volume_rate = 1000
|
||||
var/use_overlays = TRUE
|
||||
volume = 1000
|
||||
|
||||
var/list/scrubbing = list(/datum/gas/plasma, /datum/gas/carbon_dioxide, /datum/gas/nitrous_oxide, /datum/gas/bz, /datum/gas/nitryl, /datum/gas/tritium, /datum/gas/hypernoblium, /datum/gas/water_vapor)
|
||||
@@ -15,14 +16,17 @@
|
||||
air_update_turf()
|
||||
return ..()
|
||||
|
||||
/obj/machinery/portable_atmospherics/scrubber/update_icon()
|
||||
/obj/machinery/portable_atmospherics/scrubber/update_icon_state()
|
||||
icon_state = "pscrubber:[on]"
|
||||
|
||||
cut_overlays()
|
||||
/obj/machinery/portable_atmospherics/scrubber/update_overlays()
|
||||
. = ..()
|
||||
if(!use_overlays)
|
||||
return
|
||||
if(holding)
|
||||
add_overlay("scrubber-open")
|
||||
. += "scrubber-open"
|
||||
if(connected_port)
|
||||
add_overlay("scrubber-connector")
|
||||
. += "scrubber-connector"
|
||||
|
||||
/obj/machinery/portable_atmospherics/scrubber/process_atmos()
|
||||
..()
|
||||
@@ -117,11 +121,12 @@
|
||||
volume = 50000
|
||||
|
||||
var/movable = FALSE
|
||||
use_overlays = FALSE
|
||||
|
||||
/obj/machinery/portable_atmospherics/scrubber/huge/movable
|
||||
movable = TRUE
|
||||
|
||||
/obj/machinery/portable_atmospherics/scrubber/huge/update_icon()
|
||||
/obj/machinery/portable_atmospherics/scrubber/huge/update_icon_state()
|
||||
icon_state = "scrubber:[on]"
|
||||
|
||||
/obj/machinery/portable_atmospherics/scrubber/huge/process_atmos()
|
||||
|
||||
Reference in New Issue
Block a user