mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-10 10:12:45 +00:00
TGUI APCs TGUI vending machines Fix AI default_tgui_interaction TGUI Airlocks Station & Atmospheric Alert TGUI + Misc NTOS-TGUI Fixes TGUI Air Alarms & Central Atmospheric Control Airlock TGUI TG... got rid of UI for fire alarm. í´· TGUI Gas Heating/Cooling System TGUI Gas Pump & Passive Gate + Fixes TGUI Omni Atmospherics TGUI Pipe Dispensers & RPD TGUI IntelliCore & Vending Fix TGUI Handheld Tanks TGUI Portable Pump & Scrubber TGUI Tank Dispenser & Canisters TGUI Radios TGUI SMES & Air Alarm adjustment Tweak vending machine interfaces a tad TGUI Algae Farm TGUI general_air_control - Distro & Waste Console - Riot Control Console - Atmos Intake Console - Engine Cooling Console TGUI Heavy Scrubber Control (and body scanner fix) TGUI trinary devices & shutoff monitor TGUI Telecomms Log Browser TGUI Telecomms Machine Browser TGUI Spaceheater Internal Panel TGUI Gravity Generator TGUI Id Cards & Fix ID Card Images TGUI Id Card Redesign TGUI Turbolift TGUI Suit Cycler & Suit Storage Unit & Vending Fixes TGUI Power Monitor TGUI Signalers TGUI Employment Records TGUI Drone Console TGUI RIGSuits TGUI PA & PACMAN, and Margin Fix TGUI Solar Panels & Fix Power Monitor Adjust TGUI modules & their interaction with NTOS TGUI RCON TGUI Message Monitor Bump TGUI line limit to 120 (ParadiseSS13/Paradise#14002) TGUI Exonet & NTNet Relay TGUI Telecomms Multitool Menu TGUI Shield Capacitor & Shield Generator TGUI Supermatter-everything & Refactors
89 lines
3.3 KiB
Plaintext
89 lines
3.3 KiB
Plaintext
//base type for controllers of two-door systems
|
|
/obj/machinery/embedded_controller/radio/airlock
|
|
// Setup parameters only
|
|
radio_filter = RADIO_AIRLOCK
|
|
program = /datum/computer/file/embedded_program/airlock
|
|
var/tag_exterior_door
|
|
var/tag_interior_door
|
|
var/tag_airpump
|
|
var/tag_chamber_sensor
|
|
var/tag_exterior_sensor
|
|
var/tag_interior_sensor
|
|
var/tag_airlock_mech_sensor
|
|
var/tag_shuttle_mech_sensor
|
|
var/tag_secure = 0
|
|
var/list/dummy_terminals = list()
|
|
var/cycle_to_external_air = 0
|
|
valid_actions = list("cycle_ext", "cycle_int", "force_ext", "force_int", "abort", "purge", "secure")
|
|
|
|
/obj/machinery/embedded_controller/radio/airlock/Destroy()
|
|
// TODO - Leshana - Implement dummy terminals
|
|
//for(var/thing in dummy_terminals)
|
|
// var/obj/machinery/dummy_airlock_controller/dummy = thing
|
|
// dummy.master_controller = null
|
|
//dummy_terminals.Cut()
|
|
return ..()
|
|
|
|
/obj/machinery/embedded_controller/radio/airlock/tgui_status(mob/user, datum/tgui_state/state)
|
|
. = ..()
|
|
if(!allowed(user))
|
|
return min(STATUS_UPDATE, .)
|
|
|
|
//Advanced airlock controller for when you want a more versatile airlock controller - useful for turning simple access control rooms into airlocks
|
|
/obj/machinery/embedded_controller/radio/airlock/advanced_airlock_controller
|
|
name = "Advanced Airlock Controller"
|
|
|
|
/obj/machinery/embedded_controller/radio/airlock/advanced_airlock_controller/tgui_data(mob/user)
|
|
. = list(
|
|
"chamber_pressure" = round(program.memory["chamber_sensor_pressure"]),
|
|
"external_pressure" = round(program.memory["external_sensor_pressure"]),
|
|
"internal_pressure" = round(program.memory["internal_sensor_pressure"]),
|
|
"processing" = program.memory["processing"],
|
|
"purge" = program.memory["purge"],
|
|
"secure" = program.memory["secure"],
|
|
"internalTemplateName" = "AirlockConsoleAdvanced",
|
|
)
|
|
|
|
|
|
//Airlock controller for airlock control - most airlocks on the station use this
|
|
/obj/machinery/embedded_controller/radio/airlock/airlock_controller
|
|
name = "Airlock Controller"
|
|
tag_secure = 1
|
|
valid_actions = list("cycle_ext", "cycle_int", "force_ext", "force_int", "abort")
|
|
|
|
/obj/machinery/embedded_controller/radio/airlock/airlock_controller/tgui_data(mob/user)
|
|
. = list(
|
|
"chamber_pressure" = round(program.memory["chamber_sensor_pressure"]),
|
|
"exterior_status" = program.memory["exterior_status"],
|
|
"interior_status" = program.memory["interior_status"],
|
|
"processing" = program.memory["processing"],
|
|
"internalTemplateName" = "AirlockConsoleSimple",
|
|
)
|
|
|
|
//Access controller for door control - used in virology and the like
|
|
/obj/machinery/embedded_controller/radio/airlock/access_controller
|
|
icon = 'icons/obj/airlock_machines.dmi'
|
|
icon_state = "access_control_standby"
|
|
|
|
name = "Access Controller"
|
|
tag_secure = 1
|
|
valid_actions = list("cycle_ext_door", "cycle_int_door", "force_ext", "force_int")
|
|
|
|
|
|
/obj/machinery/embedded_controller/radio/airlock/access_controller/update_icon()
|
|
if(on && program)
|
|
if(program.memory["processing"])
|
|
icon_state = "access_control_process"
|
|
else
|
|
icon_state = "access_control_standby"
|
|
else
|
|
icon_state = "access_control_off"
|
|
|
|
/obj/machinery/embedded_controller/radio/airlock/access_controller/tgui_data(mob/user)
|
|
. = list(
|
|
"exterior_status" = program.memory["exterior_status"],
|
|
"interior_status" = program.memory["interior_status"],
|
|
"processing" = program.memory["processing"],
|
|
"internalTemplateName" = "DoorAccessConsole",
|
|
)
|