This commit is contained in:
Ghommie
2020-03-08 19:26:01 +01:00
parent d78926b269
commit ad4d290ea7
89 changed files with 443 additions and 498 deletions
+20 -19
View File
@@ -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()