Files
Bubberstation/code/game/objects/items/circuitboards/computer_circuitboards.dm
distributivgesetz 714aa3b150 [MDB IGNORE] APC controller and Power Monitor/AmpCheck fixes, aka How do I write PR titles (#69146)
About The Pull Request

bgug fix stuff
APC controller UI has its elements section'ed off. The backend has been redone to make the behaviour of the APC controller a bit less janky. The console should be more stable, and all the soul has been removed from the code and the UI.

before this PR stales out from nobody wanting to review my pr, I should probably outline what exactly changed:

    APC controller consoles have had their APC code almost entirely reworked. They no longer have to hold a reference to the person using the controller currently, and APCs themselves no longer hold a reference to the controller, instead to the person directly. A lot of code was moved to APC themselves to make it a lot more stable.
    APC controller used to call toggle_breaker without passing args, causing a runtime. Fixed in 

    Fixes the power flow control console not actually being able to toggle breakers #69343
    APC controller UI has had the Window.Content tags moved up to the top component, and a lot has been sectioned off to make the UI more sane.
    AmpCheck used to look for a wire on it's turf, or as a fallback look for the Area APC. A check to see if the APC has a terminal did so on a weakref, causing a runtime and preventing the program from ever finding a valid APC in it's area, making it show nothing. This has been fixed. On the other hand, the power monitor console did not store the ground wire or APC terminal as a weakref, this has been updated. As a fallback, if there are still no APCs in the powernet, the UI will show a dimmer popup.
    There was a "secret" power monitor variation in code so PDAs could not access monitors in hidden places. With the removal of PDAs, this control console is useless.

Why It's Good For The Game

Tiny bit of (much needed) polish on some useful tools in the engineering department.
Changelog

cl
fix: Fixed runtime when using AmpCheck without connecting the console with a wire.
fix: Fixed a few runtimes that could occur when using APC controller consoles.
qol: Sucked soul out of APC controller code and UI.
del: Removed "secret" power monitor console.
/cl
2022-09-02 09:45:45 +12:00

586 lines
20 KiB
Plaintext

/obj/item/circuitboard/computer
name = "Generic"
name_extension = "(Computer Board)"
//Command
/obj/item/circuitboard/computer/aiupload
name = "AI Upload"
greyscale_colors = CIRCUIT_COLOR_COMMAND
build_path = /obj/machinery/computer/upload/ai
/obj/item/circuitboard/computer/borgupload
name = "Cyborg Upload"
greyscale_colors = CIRCUIT_COLOR_COMMAND
build_path = /obj/machinery/computer/upload/borg
/obj/item/circuitboard/computer/bsa_control
name = "Bluespace Artillery Controls"
build_path = /obj/machinery/computer/bsa_control
/obj/item/circuitboard/computer/accounting
name = "Account Lookup Console"
greyscale_colors = CIRCUIT_COLOR_COMMAND
build_path = /obj/machinery/computer/accounting
//Engineering
/obj/item/circuitboard/computer/apc_control
name = "\improper Power Flow Control Console"
greyscale_colors = CIRCUIT_COLOR_ENGINEERING
build_path = /obj/machinery/computer/apc_control
/obj/item/circuitboard/computer/atmos_alert
name = "Atmospheric Alert"
greyscale_colors = CIRCUIT_COLOR_ENGINEERING
build_path = /obj/machinery/computer/atmos_alert
/obj/item/circuitboard/computer/atmos_control
name = "Atmospheric Control"
greyscale_colors = CIRCUIT_COLOR_ENGINEERING
build_path = /obj/machinery/computer/atmos_control
/obj/item/circuitboard/computer/atmos_control/nocontrol
name = "Atmospheric Monitor"
build_path = /obj/machinery/computer/atmos_control/nocontrol
/obj/item/circuitboard/computer/atmos_control/noreconnect
name = "Atmospheric Control"
build_path = /obj/machinery/computer/atmos_control/noreconnect
/obj/item/circuitboard/computer/atmos_control/fixed
name = "Atmospheric Monitor"
build_path = /obj/machinery/computer/atmos_control/fixed
/obj/item/circuitboard/computer/atmos_control/nocontrol/master
name = "Station Atmospheric Monitor"
build_path = /obj/machinery/computer/atmos_control/nocontrol/master
/obj/item/circuitboard/computer/atmos_control/nocontrol/incinerator
name = "Incinerator Chamber Monitor"
build_path = /obj/machinery/computer/atmos_control/nocontrol/incinerator
/obj/item/circuitboard/computer/atmos_control/ordnancemix
name = "Ordnance Chamber Control"
build_path = /obj/machinery/computer/atmos_control/ordnancemix
/obj/item/circuitboard/computer/atmos_control/oxygen_tank
name = "Oxygen Supply Control"
build_path = /obj/machinery/computer/atmos_control/oxygen_tank
/obj/item/circuitboard/computer/atmos_control/plasma_tank
name = "Plasma Supply Control"
build_path = /obj/machinery/computer/atmos_control/plasma_tank
/obj/item/circuitboard/computer/atmos_control/air_tank
name = "Mixed Air Supply Control"
build_path = /obj/machinery/computer/atmos_control/air_tank
/obj/item/circuitboard/computer/atmos_control/mix_tank
name = "Gas Mix Supply Control"
build_path = /obj/machinery/computer/atmos_control/mix_tank
/obj/item/circuitboard/computer/atmos_control/nitrous_tank
name = "Nitrous Oxide Supply Control"
build_path = /obj/machinery/computer/atmos_control/nitrous_tank
/obj/item/circuitboard/computer/atmos_control/nitrogen_tank
name = "Nitrogen Supply Control"
build_path = /obj/machinery/computer/atmos_control/nitrogen_tank
/obj/item/circuitboard/computer/atmos_control/carbon_tank
name = "Carbon Dioxide Supply Control"
build_path = /obj/machinery/computer/atmos_control/carbon_tank
/obj/item/circuitboard/computer/atmos_control/bz_tank
name = "BZ Supply Control"
build_path = /obj/machinery/computer/atmos_control/bz_tank
/obj/item/circuitboard/computer/atmos_control/freon_tank
name = "Freon Supply Control"
build_path = /obj/machinery/computer/atmos_control/freon_tank
/obj/item/circuitboard/computer/atmos_control/halon_tank
name = "Halon Supply Control"
build_path = /obj/machinery/computer/atmos_control/halon_tank
/obj/item/circuitboard/computer/atmos_control/healium_tank
name = "Healium Supply Control"
build_path = /obj/machinery/computer/atmos_control/healium_tank
/obj/item/circuitboard/computer/atmos_control/hydrogen_tank
name = "Hydrogen Supply Control"
build_path = /obj/machinery/computer/atmos_control/hydrogen_tank
/obj/item/circuitboard/computer/atmos_control/hypernoblium_tank
name = "Hypernoblium Supply Control"
build_path = /obj/machinery/computer/atmos_control/hypernoblium_tank
/obj/item/circuitboard/computer/atmos_control/miasma_tank
name = "Miasma Supply Control"
build_path = /obj/machinery/computer/atmos_control/miasma_tank
/obj/item/circuitboard/computer/atmos_control/nitrium_tank
name = "Nitrium Supply Control"
build_path = /obj/machinery/computer/atmos_control/nitrium_tank
/obj/item/circuitboard/computer/atmos_control/pluoxium_tank
name = "Pluoxium Supply Control"
build_path = /obj/machinery/computer/atmos_control/pluoxium_tank
/obj/item/circuitboard/computer/atmos_control/proto_nitrate_tank
name = "Proto-Nitrate Supply Control"
build_path = /obj/machinery/computer/atmos_control/proto_nitrate_tank
/obj/item/circuitboard/computer/atmos_control/tritium_tank
name = "Tritium Supply Control"
build_path = /obj/machinery/computer/atmos_control/tritium_tank
/obj/item/circuitboard/computer/atmos_control/water_vapor
name = "Water Vapor Supply Control"
build_path = /obj/machinery/computer/atmos_control/water_vapor
/obj/item/circuitboard/computer/atmos_control/zauker_tank
name = "Zauker Supply Control"
build_path = /obj/machinery/computer/atmos_control/zauker_tank
/obj/item/circuitboard/computer/atmos_control/helium_tank
name = "Helium Supply Control"
build_path = /obj/machinery/computer/atmos_control/helium_tank
/obj/item/circuitboard/computer/atmos_control/antinoblium_tank
name = "Antinoblium Supply Control"
build_path = /obj/machinery/computer/atmos_control/antinoblium_tank
/obj/item/circuitboard/computer/auxiliary_base
name = "Auxiliary Base Management Console"
greyscale_colors = CIRCUIT_COLOR_ENGINEERING
build_path = /obj/machinery/computer/auxiliary_base
/obj/item/circuitboard/computer/base_construction
name = "Generic Base Construction Console"
greyscale_colors = CIRCUIT_COLOR_ENGINEERING
build_path = /obj/machinery/computer/camera_advanced/base_construction
/obj/item/circuitboard/computer/base_construction/aux
name = "Aux Mining Base Construction Console"
greyscale_colors = CIRCUIT_COLOR_ENGINEERING
build_path = /obj/machinery/computer/camera_advanced/base_construction/aux
/obj/item/circuitboard/computer/base_construction/centcom
name = "Centcom Base Construction Console"
greyscale_colors = CIRCUIT_COLOR_ENGINEERING
build_path = /obj/machinery/computer/camera_advanced/base_construction/centcom
/obj/item/circuitboard/computer/comm_monitor
name = "Telecommunications Monitor"
greyscale_colors = CIRCUIT_COLOR_ENGINEERING
build_path = /obj/machinery/computer/telecomms/monitor
/obj/item/circuitboard/computer/comm_server
name = "Telecommunications Server Monitor"
greyscale_colors = CIRCUIT_COLOR_ENGINEERING
build_path = /obj/machinery/computer/telecomms/server
/obj/item/circuitboard/computer/communications
name = "Communications"
greyscale_colors = CIRCUIT_COLOR_ENGINEERING
build_path = /obj/machinery/computer/communications
/obj/item/circuitboard/computer/communications/syndicate
name = "Syndicate Communications"
greyscale_colors = CIRCUIT_COLOR_ENGINEERING
build_path = /obj/machinery/computer/communications/syndicate
/obj/item/circuitboard/computer/message_monitor
name = "Message Monitor"
greyscale_colors = CIRCUIT_COLOR_ENGINEERING
build_path = /obj/machinery/computer/message_monitor
/obj/item/circuitboard/computer/powermonitor
name = "Power Monitor" //name fixed 250810
greyscale_colors = CIRCUIT_COLOR_ENGINEERING
build_path = /obj/machinery/computer/monitor
/obj/item/circuitboard/computer/sat_control
name = "Satellite Network Control"
greyscale_colors = CIRCUIT_COLOR_ENGINEERING
build_path = /obj/machinery/computer/sat_control
/obj/item/circuitboard/computer/solar_control
name = "Solar Control" //name fixed 250810
greyscale_colors = CIRCUIT_COLOR_ENGINEERING
build_path = /obj/machinery/power/solar_control
/obj/item/circuitboard/computer/stationalert
name = "Station Alerts"
greyscale_colors = CIRCUIT_COLOR_ENGINEERING
build_path = /obj/machinery/computer/station_alert
/obj/item/circuitboard/computer/turbine_computer
name = "Turbine Computer"
greyscale_colors = CIRCUIT_COLOR_ENGINEERING
build_path = /obj/machinery/computer/turbine_computer
//Generic
/obj/item/circuitboard/computer/arcade/amputation
name = "Mediborg's Amputation Adventure"
greyscale_colors = CIRCUIT_COLOR_GENERIC
build_path = /obj/machinery/computer/arcade/amputation
/obj/item/circuitboard/computer/arcade/battle
name = "Arcade Battle"
greyscale_colors = CIRCUIT_COLOR_GENERIC
build_path = /obj/machinery/computer/arcade/battle
/obj/item/circuitboard/computer/arcade/orion_trail
name = "Orion Trail"
greyscale_colors = CIRCUIT_COLOR_GENERIC
build_path = /obj/machinery/computer/arcade/orion_trail
/obj/item/circuitboard/computer/holodeck// Not going to let people get this, but it's just here for future
name = "Holodeck Control"
greyscale_colors = CIRCUIT_COLOR_GENERIC
build_path = /obj/machinery/computer/holodeck
/obj/item/circuitboard/computer/libraryconsole
name = "Library Visitor Console"
build_path = /obj/machinery/computer/libraryconsole
/obj/item/circuitboard/computer/libraryconsole/bookconsole
name = "Book Inventory Management Console"
build_path = /obj/machinery/computer/libraryconsole/bookmanagement
/obj/item/circuitboard/computer/libraryconsole/screwdriver_act(mob/living/user, obj/item/tool)
if(build_path == /obj/machinery/computer/libraryconsole/bookmanagement)
name = "Library Visitor Console"
build_path = /obj/machinery/computer/libraryconsole
to_chat(user, span_notice("Defaulting access protocols."))
else
name = "Book Inventory Management Console"
build_path = /obj/machinery/computer/libraryconsole/bookmanagement
to_chat(user, span_notice("Access protocols successfully updated."))
return TRUE
/obj/item/circuitboard/computer/monastery_shuttle
name = "Monastery Shuttle"
greyscale_colors = CIRCUIT_COLOR_GENERIC
build_path = /obj/machinery/computer/shuttle/monastery_shuttle
/obj/item/circuitboard/computer/olddoor
name = "DoorMex"
greyscale_colors = CIRCUIT_COLOR_GENERIC
build_path = /obj/machinery/computer/pod/old
/obj/item/circuitboard/computer/pod
name = "Massdriver control"
greyscale_colors = CIRCUIT_COLOR_GENERIC
build_path = /obj/machinery/computer/pod
/obj/item/circuitboard/computer/slot_machine
name = "Slot Machine"
greyscale_colors = CIRCUIT_COLOR_GENERIC
build_path = /obj/machinery/computer/slot_machine
/obj/item/circuitboard/computer/swfdoor
name = "Magix"
greyscale_colors = CIRCUIT_COLOR_GENERIC
build_path = /obj/machinery/computer/pod/old/swf
/obj/item/circuitboard/computer/syndicate_shuttle
name = "Syndicate Shuttle"
greyscale_colors = CIRCUIT_COLOR_GENERIC
build_path = /obj/machinery/computer/shuttle/syndicate
var/challenge = FALSE
var/moved = FALSE
/obj/item/circuitboard/computer/syndicate_shuttle/Initialize(mapload)
. = ..()
GLOB.syndicate_shuttle_boards += src
/obj/item/circuitboard/computer/syndicate_shuttle/Destroy()
GLOB.syndicate_shuttle_boards -= src
return ..()
/obj/item/circuitboard/computer/syndicatedoor
name = "ProComp Executive"
greyscale_colors = CIRCUIT_COLOR_GENERIC
build_path = /obj/machinery/computer/pod/old/syndicate
/obj/item/circuitboard/computer/white_ship
name = "White Ship"
greyscale_colors = CIRCUIT_COLOR_GENERIC
build_path = /obj/machinery/computer/shuttle/white_ship
/obj/item/circuitboard/computer/white_ship/bridge
name = "White Ship Bridge"
greyscale_colors = CIRCUIT_COLOR_GENERIC
build_path = /obj/machinery/computer/shuttle/white_ship/bridge
/obj/item/circuitboard/computer/white_ship/pod
name = "Salvage Pod"
build_path = /obj/machinery/computer/shuttle/white_ship/pod
/obj/item/circuitboard/computer/white_ship/pod/recall
name = "Salvage Pod Recall"
build_path = /obj/machinery/computer/shuttle/white_ship/pod/recall
/obj/item/circuitboard/computer/bountypad
name = "Bounty Pad"
build_path = /obj/machinery/computer/piratepad_control/civilian
/obj/item/circuitboard/computer/tram_controls
name = "Tram Controls"
build_path = /obj/machinery/computer/tram_controls
/obj/item/circuitboard/computer/terminal
name = "Terminal"
build_path = /obj/machinery/computer/terminal
//Medical
/obj/item/circuitboard/computer/crew
name = "Crew Monitoring Console"
greyscale_colors = CIRCUIT_COLOR_MEDICAL
build_path = /obj/machinery/computer/crew
/obj/item/circuitboard/computer/med_data
name = "Medical Records Console"
greyscale_colors = CIRCUIT_COLOR_MEDICAL
build_path = /obj/machinery/computer/med_data
/obj/item/circuitboard/computer/operating
name = "Operating Computer"
greyscale_colors = CIRCUIT_COLOR_MEDICAL
build_path = /obj/machinery/computer/operating
/obj/item/circuitboard/computer/pandemic
name = "PanD.E.M.I.C. 2200"
greyscale_colors = CIRCUIT_COLOR_MEDICAL
build_path = /obj/machinery/computer/pandemic
//Science
/obj/item/circuitboard/computer/aifixer
name = "AI Integrity Restorer"
greyscale_colors = CIRCUIT_COLOR_SCIENCE
build_path = /obj/machinery/computer/aifixer
/obj/item/circuitboard/computer/launchpad_console
name = "Launchpad Control Console"
greyscale_colors = CIRCUIT_COLOR_SCIENCE
build_path = /obj/machinery/computer/launchpad
/obj/item/circuitboard/computer/mech_bay_power_console
name = "Mech Bay Power Control Console"
greyscale_colors = CIRCUIT_COLOR_SCIENCE
build_path = /obj/machinery/computer/mech_bay_power_console
/obj/item/circuitboard/computer/mecha_control
name = "Exosuit Control Console"
greyscale_colors = CIRCUIT_COLOR_SCIENCE
build_path = /obj/machinery/computer/mecha
/obj/item/circuitboard/computer/rdconsole
name = "R&D Console"
greyscale_colors = CIRCUIT_COLOR_SCIENCE
build_path = /obj/machinery/computer/rdconsole
/obj/item/circuitboard/computer/rdservercontrol
name = "R&D Server Control"
greyscale_colors = CIRCUIT_COLOR_SCIENCE
build_path = /obj/machinery/computer/rdservercontrol
/obj/item/circuitboard/computer/research
name = "Research Monitor"
greyscale_colors = CIRCUIT_COLOR_SCIENCE
build_path = /obj/machinery/computer/security/research
/obj/item/circuitboard/computer/robotics
name = "Robotics Control"
greyscale_colors = CIRCUIT_COLOR_SCIENCE
build_path = /obj/machinery/computer/robotics
/obj/item/circuitboard/computer/teleporter
name = "Teleporter"
greyscale_colors = CIRCUIT_COLOR_SCIENCE
build_path = /obj/machinery/computer/teleporter
/obj/item/circuitboard/computer/xenobiology
name = "Xenobiology Console"
greyscale_colors = CIRCUIT_COLOR_SCIENCE
build_path = /obj/machinery/computer/camera_advanced/xenobio
/obj/item/circuitboard/computer/scan_consolenew
name = "DNA Console"
greyscale_colors = CIRCUIT_COLOR_SCIENCE
build_path = /obj/machinery/computer/scan_consolenew
/obj/item/circuitboard/computer/mechpad
name = "Mecha Orbital Pad Console"
greyscale_colors = CIRCUIT_COLOR_SCIENCE
build_path = /obj/machinery/computer/mechpad
//Security
/obj/item/circuitboard/computer/labor_shuttle
name = "Labor Shuttle"
greyscale_colors = CIRCUIT_COLOR_SECURITY
build_path = /obj/machinery/computer/shuttle/labor
/obj/item/circuitboard/computer/labor_shuttle/one_way
name = "Prisoner Shuttle Console"
greyscale_colors = CIRCUIT_COLOR_SECURITY
build_path = /obj/machinery/computer/shuttle/labor/one_way
/obj/item/circuitboard/computer/gulag_teleporter_console
name = "Labor Camp teleporter console"
greyscale_colors = CIRCUIT_COLOR_SECURITY
build_path = /obj/machinery/computer/prisoner/gulag_teleporter_computer
/obj/item/circuitboard/computer/prisoner
name = "Prisoner Management Console"
greyscale_colors = CIRCUIT_COLOR_SECURITY
build_path = /obj/machinery/computer/prisoner/management
/obj/item/circuitboard/computer/secure_data
name = "Security Records Console"
greyscale_colors = CIRCUIT_COLOR_SECURITY
build_path = /obj/machinery/computer/secure_data
/obj/item/circuitboard/computer/warrant
name = "Security Warrant Viewer"
greyscale_colors = CIRCUIT_COLOR_SECURITY
build_path = /obj/machinery/computer/warrant
/obj/item/circuitboard/computer/security
name = "Security Cameras"
greyscale_colors = CIRCUIT_COLOR_SECURITY
build_path = /obj/machinery/computer/security
/obj/item/circuitboard/computer/advanced_camera
name = "Advanced Camera Console"
greyscale_colors = CIRCUIT_COLOR_SECURITY
build_path = /obj/machinery/computer/camera_advanced/syndie
//Service
/obj/item/circuitboard/computer/chef_order
name = "Produce Orders Console"
greyscale_colors = CIRCUIT_COLOR_SUPPLY
build_path = /obj/machinery/computer/chef_order
//Supply
/obj/item/circuitboard/computer/cargo
name = "Supply Console"
greyscale_colors = CIRCUIT_COLOR_SUPPLY
build_path = /obj/machinery/computer/cargo
var/contraband = FALSE
/obj/item/circuitboard/computer/cargo/multitool_act(mob/living/user)
. = ..()
if(!(obj_flags & EMAGGED))
contraband = !contraband
to_chat(user, span_notice("Receiver spectrum set to [contraband ? "Broad" : "Standard"]."))
else
to_chat(user, span_alert("The spectrum chip is unresponsive."))
/obj/item/circuitboard/computer/cargo/emag_act(mob/living/user)
if(!(obj_flags & EMAGGED))
contraband = TRUE
obj_flags |= EMAGGED
to_chat(user, span_notice("You adjust [src]'s routing and receiver spectrum, unlocking special supplies and contraband."))
/obj/item/circuitboard/computer/cargo/configure_machine(obj/machinery/computer/cargo/machine)
if(!istype(machine))
CRASH("Cargo board attempted to configure incorrect machine type: [machine] ([machine?.type])")
machine.contraband = contraband
if (obj_flags & EMAGGED)
machine.obj_flags |= EMAGGED
else
machine.obj_flags &= ~EMAGGED
/obj/item/circuitboard/computer/cargo/express
name = "Express Supply Console"
build_path = /obj/machinery/computer/cargo/express
/obj/item/circuitboard/computer/cargo/express/emag_act(mob/living/user)
if(!(obj_flags & EMAGGED))
contraband = TRUE
obj_flags |= EMAGGED
to_chat(user, span_notice("You change the routing protocols, allowing the Drop Pod to land anywhere on the station."))
/obj/item/circuitboard/computer/cargo/express/multitool_act(mob/living/user)
if (!(obj_flags & EMAGGED))
contraband = !contraband
to_chat(user, span_notice("Receiver spectrum set to [contraband ? "Broad" : "Standard"]."))
else
to_chat(user, span_notice("You reset the destination-routing protocols and receiver spectrum to factory defaults."))
contraband = FALSE
obj_flags &= ~EMAGGED
/obj/item/circuitboard/computer/cargo/request
name = "Supply Request Console"
build_path = /obj/machinery/computer/cargo/request
/obj/item/circuitboard/computer/ferry
name = "Transport Ferry"
greyscale_colors = CIRCUIT_COLOR_SUPPLY
build_path = /obj/machinery/computer/shuttle/ferry
/obj/item/circuitboard/computer/ferry/request
name = "Transport Ferry Console"
greyscale_colors = CIRCUIT_COLOR_SUPPLY
build_path = /obj/machinery/computer/shuttle/ferry/request
/obj/item/circuitboard/computer/mining
name = "Outpost Status Display"
greyscale_colors = CIRCUIT_COLOR_SUPPLY
build_path = /obj/machinery/computer/security/mining
/obj/item/circuitboard/computer/mining_shuttle
name = "Mining Shuttle"
greyscale_colors = CIRCUIT_COLOR_SUPPLY
build_path = /obj/machinery/computer/shuttle/mining
/obj/item/circuitboard/computer/mining_shuttle/common
name = "Lavaland Shuttle"
build_path = /obj/machinery/computer/shuttle/mining/common
/obj/item/circuitboard/computer/exoscanner_console
name = "Scanner Array Control Console"
build_path = /obj/machinery/computer/exoscanner_control
/obj/item/circuitboard/computer/exodrone_console
name = "Exploration Drone Control Console"
build_path = /obj/machinery/computer/exodrone_control_console
/obj/item/circuitboard/computer/service_orders
name = "Service Order"
greyscale_colors = CIRCUIT_COLOR_SUPPLY
build_path = /obj/machinery/computer/department_orders/service
/obj/item/circuitboard/computer/engineering_orders
name = "Engineering Order"
greyscale_colors = CIRCUIT_COLOR_SUPPLY
build_path = /obj/machinery/computer/department_orders/engineering
/obj/item/circuitboard/computer/science_orders
name = "Science Order"
greyscale_colors = CIRCUIT_COLOR_SUPPLY
build_path = /obj/machinery/computer/department_orders/science
/obj/item/circuitboard/computer/security_orders
name = "Security Order"
greyscale_colors = CIRCUIT_COLOR_SUPPLY
build_path = /obj/machinery/computer/department_orders/security
/obj/item/circuitboard/computer/medical_orders
name = "Medical Order"
greyscale_colors = CIRCUIT_COLOR_SUPPLY
build_path = /obj/machinery/computer/department_orders/medical