From 1a972974bc85db35a1f4c19911ff61eeebecbf4c Mon Sep 17 00:00:00 2001 From: Amunak Date: Wed, 17 Dec 2014 14:31:21 +0100 Subject: [PATCH] Moves all circuitboards to their respective files. Computer boards are now in /code/game/objects/items/weapons/circuitboards/computer/. Buildable machinery boards are in /code/game/objects/items/weapons/circuitboards/machinery/. Everything else is just in /code/game/objects/items/weapons/circuitboards/. The circuitboard parent definition is in /code/game/objects/items/weapons/circuitboards/circuitboard.dm. Did some minor renaming and capitalization fixes on the boards. --- baystation12.dme | 18 +- .../game/machinery/computer/buildandrepair.dm | 364 ------------------ code/game/machinery/constructable_frame.dm | 247 +----------- code/game/mecha/mecha_parts.dm | 64 +-- .../items/weapons/circuitboards/broken.dm | 6 + .../weapons/circuitboards/circuitboard.dm | 38 ++ .../circuitboards/computer/air_management.dm | 27 ++ .../circuitboards/computer/camera_monitor.dm | 65 ++++ .../circuitboards/computer/computer.dm | 190 +++++++++ .../circuitboards/computer/research.dm | 20 + .../weapons/circuitboards/computer/supply.dm | 39 ++ .../circuitboards/computer/telecomms.dm | 18 + .../circuitboards/machinery/cloning.dm | 28 ++ .../weapons/circuitboards/machinery/pacman.dm | 25 ++ .../weapons/circuitboards/machinery/power.dm | 27 ++ .../circuitboards/machinery/research.dm | 70 ++++ .../circuitboards/machinery/shieldgen.dm} | 10 +- .../circuitboards/machinery/telecomms.dm | 82 ++++ .../circuitboards/machinery/unary_atmos.dm | 35 ++ .../items/weapons/circuitboards/mecha.dm | 88 +++++ .../items/weapons/circuitboards/other.dm | 10 + code/modules/power/batteryrack.dm | 20 - 22 files changed, 796 insertions(+), 695 deletions(-) create mode 100644 code/game/objects/items/weapons/circuitboards/broken.dm create mode 100644 code/game/objects/items/weapons/circuitboards/circuitboard.dm create mode 100644 code/game/objects/items/weapons/circuitboards/computer/air_management.dm create mode 100644 code/game/objects/items/weapons/circuitboards/computer/camera_monitor.dm create mode 100644 code/game/objects/items/weapons/circuitboards/computer/computer.dm create mode 100644 code/game/objects/items/weapons/circuitboards/computer/research.dm create mode 100644 code/game/objects/items/weapons/circuitboards/computer/supply.dm create mode 100644 code/game/objects/items/weapons/circuitboards/computer/telecomms.dm create mode 100644 code/game/objects/items/weapons/circuitboards/machinery/cloning.dm create mode 100644 code/game/objects/items/weapons/circuitboards/machinery/pacman.dm create mode 100644 code/game/objects/items/weapons/circuitboards/machinery/power.dm create mode 100644 code/game/objects/items/weapons/circuitboards/machinery/research.dm rename code/{modules/shieldgen/circuits_and_designs.dm => game/objects/items/weapons/circuitboards/machinery/shieldgen.dm} (91%) create mode 100644 code/game/objects/items/weapons/circuitboards/machinery/telecomms.dm create mode 100644 code/game/objects/items/weapons/circuitboards/machinery/unary_atmos.dm create mode 100644 code/game/objects/items/weapons/circuitboards/mecha.dm create mode 100644 code/game/objects/items/weapons/circuitboards/other.dm diff --git a/baystation12.dme b/baystation12.dme index 905aa258fe..a9731c0021 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -586,6 +586,23 @@ #include "code\game\objects\items\weapons\twohanded.dm" #include "code\game\objects\items\weapons\weaponry.dm" #include "code\game\objects\items\weapons\wires.dm" +#include "code\game\objects\items\weapons\circuitboards\broken.dm" +#include "code\game\objects\items\weapons\circuitboards\circuitboard.dm" +#include "code\game\objects\items\weapons\circuitboards\mecha.dm" +#include "code\game\objects\items\weapons\circuitboards\other.dm" +#include "code\game\objects\items\weapons\circuitboards\computer\air_management.dm" +#include "code\game\objects\items\weapons\circuitboards\computer\camera_monitor.dm" +#include "code\game\objects\items\weapons\circuitboards\computer\computer.dm" +#include "code\game\objects\items\weapons\circuitboards\computer\research.dm" +#include "code\game\objects\items\weapons\circuitboards\computer\supply.dm" +#include "code\game\objects\items\weapons\circuitboards\computer\telecomms.dm" +#include "code\game\objects\items\weapons\circuitboards\machinery\cloning.dm" +#include "code\game\objects\items\weapons\circuitboards\machinery\pacman.dm" +#include "code\game\objects\items\weapons\circuitboards\machinery\research.dm" +#include "code\game\objects\items\weapons\circuitboards\machinery\shieldgen.dm" +#include "code\game\objects\items\weapons\circuitboards\machinery\smes.dm" +#include "code\game\objects\items\weapons\circuitboards\machinery\telecomms.dm" +#include "code\game\objects\items\weapons\circuitboards\machinery\unary_atmos.dm" #include "code\game\objects\items\weapons\grenades\chem_grenade.dm" #include "code\game\objects\items\weapons\grenades\emgrenade.dm" #include "code\game\objects\items\weapons\grenades\flashbang.dm" @@ -1373,7 +1390,6 @@ #include "code\modules\scripting\Scanner\Tokens.dm" #include "code\modules\security levels\keycard authentication.dm" #include "code\modules\security levels\security levels.dm" -#include "code\modules\shieldgen\circuits_and_designs.dm" #include "code\modules\shieldgen\emergency_shield.dm" #include "code\modules\shieldgen\energy_field.dm" #include "code\modules\shieldgen\sheldwallgen.dm" diff --git a/code/game/machinery/computer/buildandrepair.dm b/code/game/machinery/computer/buildandrepair.dm index 2323355c30..ac648624f2 100644 --- a/code/game/machinery/computer/buildandrepair.dm +++ b/code/game/machinery/computer/buildandrepair.dm @@ -1,10 +1,5 @@ //This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:31 -#ifdef T_BOARD -#error T_BOARD already defined elsewhere, we can't use it. -#endif -#define T_BOARD(name) "circuit board (" + (name) + ")" - /obj/structure/computerframe density = 1 anchored = 0 @@ -15,363 +10,6 @@ var/obj/item/weapon/circuitboard/circuit = null // weight = 1.0E8 -/obj/item/weapon/circuitboard - name = "circuit board" - icon = 'icons/obj/module.dmi' - icon_state = "id_mod" - item_state = "electronic" - origin_tech = "programming=2" - density = 0 - anchored = 0 - w_class = 2.0 - flags = FPRINT | TABLEPASS | CONDUCT - force = 5.0 - throwforce = 5.0 - throw_speed = 3 - throw_range = 15 - var/build_path = null - var/board_type = "computer" - var/list/req_components = null - var/frame_desc = null - var/contain_parts = 1 - -//Not sure where else to put this -/obj/item/weapon/circuitboard/broken - name = "broken electronics" - icon = 'icons/obj/doors/door_assembly.dmi' - icon_state = "door_electronics_smoked" - origin_tech = null - board_type = "other" - -//Called when the circuitboard is used to contruct a new machine. -/obj/item/weapon/circuitboard/proc/construct(var/obj/machinery/M) - if (istype(M, build_path)) - return 1 - return 0 - -//Called when a computer is deconstructed to produce a circuitboard. -//Only used by computers, as other machines store their circuitboard instance. -/obj/item/weapon/circuitboard/proc/deconstruct(var/obj/machinery/M) - if (istype(M, build_path)) - return 1 - return 0 - -/* - Circuit Board Definitions -*/ - -/obj/item/weapon/circuitboard/message_monitor - name = T_BOARD("message monitor console") - build_path = /obj/machinery/computer/message_monitor - origin_tech = "programming=3" - -//TODO: Move these into computer/camera.dm -/obj/item/weapon/circuitboard/security - name = T_BOARD("security camera monitor") - build_path = /obj/machinery/computer/security - var/network = list("SS13") - req_access = list(access_security) - var/locked = 1 - var/emagged = 0 - -/obj/item/weapon/circuitboard/security/construct(var/obj/machinery/computer/security/C) - if (..(C)) - C.network = network - -/obj/item/weapon/circuitboard/security/deconstruct(var/obj/machinery/computer/security/C) - if (..(C)) - network = C.network - -/obj/item/weapon/circuitboard/security/engineering - name = T_BOARD("engineering camera monitor") - build_path = /obj/machinery/computer/security/engineering - network = list("Engineering","Power Alarms","Atmosphere Alarms","Fire Alarms") - req_access = list() -/obj/item/weapon/circuitboard/security/mining - name = T_BOARD("mining camera monitor") - build_path = /obj/machinery/computer/security/mining - network = list("MINE") - req_access = list() -/obj/item/weapon/circuitboard/aicore - name = T_BOARD("AI core") - origin_tech = "programming=4;biotech=2" - board_type = "other" -/obj/item/weapon/circuitboard/aiupload - name = T_BOARD("AI upload console") - build_path = /obj/machinery/computer/aiupload - origin_tech = "programming=4" -/obj/item/weapon/circuitboard/borgupload - name = T_BOARD("cyborg upload console") - build_path = /obj/machinery/computer/borgupload - origin_tech = "programming=4" -/obj/item/weapon/circuitboard/med_data - name = T_BOARD("medical records console") - build_path = /obj/machinery/computer/med_data -/obj/item/weapon/circuitboard/pandemic - name = T_BOARD("PanD.E.M.I.C. 2200") - build_path = /obj/machinery/computer/pandemic - origin_tech = "programming=2;biotech=2" -/obj/item/weapon/circuitboard/scan_consolenew - name = T_BOARD("DNA machine") - build_path = /obj/machinery/computer/scan_consolenew - origin_tech = "programming=2;biotech=2" -/obj/item/weapon/circuitboard/communications - name = T_BOARD("command and communications console") - build_path = /obj/machinery/computer/communications - origin_tech = "programming=2;magnets=2" -/obj/item/weapon/circuitboard/card - name = T_BOARD("ID card modification console") - build_path = /obj/machinery/computer/card -/obj/item/weapon/circuitboard/card/centcom - name = T_BOARD("CentCom ID card modification console") - build_path = /obj/machinery/computer/card/centcom -//obj/item/weapon/circuitboard/shield -// name = T_BOARD("shield control console") -// build_path = "/obj/machinery/computer/stationshield" -/obj/item/weapon/circuitboard/teleporter - name = T_BOARD("teleporter control console") - build_path = /obj/machinery/computer/teleporter - origin_tech = "programming=2;bluespace=2" -/obj/item/weapon/circuitboard/secure_data - name = T_BOARD("security records console") - build_path = /obj/machinery/computer/secure_data -/obj/item/weapon/circuitboard/skills - name = T_BOARD("employment records console") - build_path = /obj/machinery/computer/skills -/obj/item/weapon/circuitboard/stationalert - name = T_BOARD("station alert console") - build_path = /obj/machinery/computer/station_alert -///obj/item/weapon/circuitboard/atmospheresiphonswitch -// name = T_BOARD("atmosphere siphon control console") -// build_path = /obj/machinery/computer/atmosphere/siphonswitch -/obj/item/weapon/circuitboard/air_management - name = T_BOARD("atmosphere monitoring console") - build_path = /obj/machinery/computer/general_air_control - var/frequency = 1439 -/obj/item/weapon/circuitboard/air_management/tank_control - name = T_BOARD("tank control") - build_path = /obj/machinery/computer/general_air_control/large_tank_control - frequency = 1441 -/obj/item/weapon/circuitboard/air_management/supermatter_core - name = T_BOARD("core control") - build_path = /obj/machinery/computer/general_air_control/supermatter_core - frequency = 1438 -/obj/item/weapon/circuitboard/air_management/injector_control - name = T_BOARD("injector control") - build_path = /obj/machinery/computer/general_air_control/fuel_injection - -/obj/item/weapon/circuitboard/air_management/construct(var/obj/machinery/computer/general_air_control/C) - if (..(C)) - C.frequency = frequency - -/obj/item/weapon/circuitboard/air_management/deconstruct(var/obj/machinery/computer/general_air_control/C) - if (..(C)) - frequency = C.frequency - -/obj/item/weapon/circuitboard/atmos_alert - name = T_BOARD("atmospheric alert console") - build_path = /obj/machinery/computer/atmos_alert -/obj/item/weapon/circuitboard/pod - name = T_BOARD("massdriver control") - build_path = /obj/machinery/computer/pod -/obj/item/weapon/circuitboard/robotics - name = T_BOARD("robotics control console") - build_path = /obj/machinery/computer/robotics - origin_tech = "programming=3" -/obj/item/weapon/circuitboard/drone_control - name = T_BOARD("drone control console") - build_path = /obj/machinery/computer/drone_control - origin_tech = "programming=3" -/obj/item/weapon/circuitboard/cloning - name = T_BOARD("cloning control console") - build_path = /obj/machinery/computer/cloning - origin_tech = "programming=3;biotech=3" -/obj/item/weapon/circuitboard/arcade - name = T_BOARD("arcade machine") - build_path = /obj/machinery/computer/arcade - origin_tech = "programming=1" -/obj/item/weapon/circuitboard/turbine_control - name = T_BOARD("turbine control console") - build_path = /obj/machinery/computer/turbine_computer -/obj/item/weapon/circuitboard/solar_control - name = T_BOARD("solar control console") - build_path = /obj/machinery/power/solar_control - origin_tech = "programming=2;powerstorage=2" -/obj/item/weapon/circuitboard/powermonitor - name = T_BOARD("power monitoring console") - build_path = /obj/machinery/computer/power_monitor -/obj/item/weapon/circuitboard/olddoor - name = T_BOARD("DoorMex") - build_path = /obj/machinery/computer/pod/old -/obj/item/weapon/circuitboard/syndicatedoor - name = T_BOARD("ProComp Executive") - build_path = /obj/machinery/computer/pod/old/syndicate -/obj/item/weapon/circuitboard/swfdoor - name = T_BOARD("Magix") - build_path = /obj/machinery/computer/pod/old/swf -/obj/item/weapon/circuitboard/prisoner - name = T_BOARD("prisoner management console") - build_path = /obj/machinery/computer/prisoner -/obj/item/weapon/circuitboard/rdconsole - name = T_BOARD("R&D control console") - build_path = /obj/machinery/computer/rdconsole/core -/obj/item/weapon/circuitboard/mecha_control - name = T_BOARD("exosuit control console") - build_path = /obj/machinery/computer/mecha -/obj/item/weapon/circuitboard/rdservercontrol - name = T_BOARD("R&D server control console") - build_path = /obj/machinery/computer/rdservercontrol -/obj/item/weapon/circuitboard/crew - name = T_BOARD("crew monitoring console") - build_path = /obj/machinery/computer/crew - origin_tech = "programming=3;biotech=2;magnets=2" -/obj/item/weapon/circuitboard/mech_bay_power_console - name = T_BOARD("mech bay power control console") - build_path = /obj/machinery/computer/mech_bay_power_console - origin_tech = "programming=2;powerstorage=3" -/obj/item/weapon/circuitboard/ordercomp - name = T_BOARD("supply ordering console") - build_path = /obj/machinery/computer/ordercomp - origin_tech = "programming=2" -/obj/item/weapon/circuitboard/supplycomp - name = T_BOARD("supply shuttle console") - build_path = /obj/machinery/computer/supplycomp - origin_tech = "programming=3" - var/contraband_enabled = 0 - -/obj/item/weapon/circuitboard/supplycomp/construct(var/obj/machinery/computer/supplycomp/SC) - if (..(SC)) - SC.can_order_contraband = contraband_enabled - -/obj/item/weapon/circuitboard/supplycomp/deconstruct(var/obj/machinery/computer/supplycomp/SC) - if (..(SC)) - contraband_enabled = SC.can_order_contraband - -/obj/item/weapon/circuitboard/operating - name = T_BOARD("patient monitoring console") - build_path = /obj/machinery/computer/operating - origin_tech = "programming=2;biotech=2" -/obj/item/weapon/circuitboard/comm_monitor - name = T_BOARD("telecommunications monitor console") - build_path = /obj/machinery/computer/telecomms/monitor - origin_tech = "programming=3" -/obj/item/weapon/circuitboard/comm_server - name = T_BOARD("telecommunications server monitor console") - build_path = /obj/machinery/computer/telecomms/server - origin_tech = "programming=3" -/obj/item/weapon/circuitboard/comm_traffic - name = T_BOARD("telecommunications traffic control console") - build_path = /obj/machinery/computer/telecomms/traffic - origin_tech = "programming=3" - -/obj/item/weapon/circuitboard/curefab - name = T_BOARD("cure fabricator") - build_path = /obj/machinery/computer/curer -/obj/item/weapon/circuitboard/splicer - name = T_BOARD("disease splicer") - build_path = /obj/machinery/computer/diseasesplicer -/obj/item/weapon/circuitboard/mining_shuttle - name = T_BOARD("mining shuttle console") - build_path = /obj/machinery/computer/shuttle_control/mining - origin_tech = "programming=2" -/obj/item/weapon/circuitboard/engineering_shuttle - name = T_BOARD("engineering shuttle console") - build_path = /obj/machinery/computer/shuttle_control/engineering - origin_tech = "programming=2" -/obj/item/weapon/circuitboard/research_shuttle - name = T_BOARD("research shuttle console") - build_path = /obj/machinery/computer/shuttle_control/research - origin_tech = "programming=2" -/obj/item/weapon/circuitboard/HolodeckControl // Not going to let people get this, but it's just here for future - name = T_BOARD("holodeck control console") - build_path = /obj/machinery/computer/HolodeckControl - origin_tech = "programming=4" -/obj/item/weapon/circuitboard/aifixer - name = T_BOARD("AI integrity restorer") - build_path = /obj/machinery/computer/aifixer - origin_tech = "programming=3;biotech=2" -/obj/item/weapon/circuitboard/area_atmos - name = T_BOARD("area air control console") - build_path = /obj/machinery/computer/area_atmos - origin_tech = "programming=2" -/obj/item/weapon/circuitboard/prison_shuttle - name = T_BOARD("prison shuttle control console") - build_path = /obj/machinery/computer/prison_shuttle - origin_tech = "programming=2" -/obj/item/weapon/circuitboard/rcon_console - name = T_BOARD("RCON remote control console") - build_path = /obj/machinery/computer/rcon - origin_tech = "programming=4;engineering=3;powerstorage=5" - -/obj/item/weapon/circuitboard/supplycomp/attackby(obj/item/I as obj, mob/user as mob) - if(istype(I,/obj/item/device/multitool)) - var/catastasis = src.contraband_enabled - var/opposite_catastasis - if(catastasis) - opposite_catastasis = "STANDARD" - catastasis = "BROAD" - else - opposite_catastasis = "BROAD" - catastasis = "STANDARD" - - switch( alert("Current receiver spectrum is set to: [catastasis]","Multitool-Circuitboard interface","Switch to [opposite_catastasis]","Cancel") ) - //switch( alert("Current receiver spectrum is set to: " {(src.contraband_enabled) ? ("BROAD") : ("STANDARD")} , "Multitool-Circuitboard interface" , "Switch to " {(src.contraband_enabled) ? ("STANDARD") : ("BROAD")}, "Cancel") ) - if("Switch to STANDARD","Switch to BROAD") - src.contraband_enabled = !src.contraband_enabled - - if("Cancel") - return - else - user << "DERP! BUG! Report this (And what you were doing to cause it) to Agouri" - return - -/obj/item/weapon/circuitboard/security/attackby(obj/item/I as obj, mob/user as mob) - if(istype(I,/obj/item/weapon/card/emag)) - if(emagged) - user << "Circuit lock is already removed." - return - user << "\blue You override the circuit lock and open controls." - emagged = 1 - locked = 0 - else if(istype(I,/obj/item/weapon/card/id)) - if(emagged) - user << "\red Circuit lock does not respond." - return - if(check_access(I)) - locked = !locked - user << "\blue You [locked ? "" : "un"]lock the circuit controls." - else - user << "\red Access denied." - else if(istype(I,/obj/item/device/multitool)) - if(locked) - user << "\red Circuit controls are locked." - return - var/existing_networks = list2text(network,",") - var/input = strip_html(input(usr, "Which networks would you like to connect this camera console circuit to? Seperate networks with a comma. No Spaces!\nFor example: SS13,Security,Secret ", "Multitool-Circuitboard interface", existing_networks)) - if(!input) - usr << "No input found please hang up and try your call again." - return - var/list/tempnetwork = text2list(input, ",") - tempnetwork = difflist(tempnetwork,RESTRICTED_CAMERA_NETWORKS,1) - if(tempnetwork.len < 1) - usr << "No network found please hang up and try your call again." - return - network = tempnetwork - return - -/obj/item/weapon/circuitboard/rdconsole/attackby(obj/item/I as obj, mob/user as mob) - if(istype(I,/obj/item/weapon/screwdriver)) - user.visible_message("\blue \the [user] adjusts the jumper on the [src]'s access protocol pins.", "\blue You adjust the jumper on the access protocol pins.") - if(src.build_path == /obj/machinery/computer/rdconsole/core) - src.name = T_BOARD("RD Console - Robotics") - src.build_path = /obj/machinery/computer/rdconsole/robotics - user << "\blue Access protocols set to robotics." - else - src.name = T_BOARD("RD Console") - src.build_path = /obj/machinery/computer/rdconsole/core - user << "\blue Access protocols set to default." - return - /obj/structure/computerframe/attackby(obj/item/P as obj, mob/user as mob) switch(state) if(0) @@ -474,5 +112,3 @@ var/B = new src.circuit.build_path ( src.loc ) src.circuit.construct(B) del(src) - -#undef T_BOARD diff --git a/code/game/machinery/constructable_frame.dm b/code/game/machinery/constructable_frame.dm index 085550f61d..0f906ad4b2 100644 --- a/code/game/machinery/constructable_frame.dm +++ b/code/game/machinery/constructable_frame.dm @@ -1,5 +1,7 @@ //This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:31 +//Circuit boards are in /code/game/objects/items/weapons/circuitboards/machinery/ + /obj/machinery/constructable_frame //Made into a seperate type to make future revisions easier. name = "machine frame" icon = 'icons/obj/stock_parts.dmi' @@ -154,248 +156,3 @@ user << desc if(P && P.loc != src && !istype(P, /obj/item/stack/cable_coil)) user << "\red You cannot add that component to the machine!" - - -//Machine Frame Circuit Boards -/*Common Parts: Parts List: Ignitor, Timer, Infra-red laser, Infra-red sensor, t_scanner, Capacitor, Valve, sensor unit, -micro-manipulator, console screen, beaker, Microlaser, matter bin, power cells. -Note: Once everything is added to the public areas, will add materials to circuit boards since autolathe won't be able -to destroy them and players will be able to make replacements. -*/ -/obj/item/weapon/circuitboard/destructive_analyzer - name = "Circuit board (Destructive Analyzer)" - build_path = "/obj/machinery/r_n_d/destructive_analyzer" - board_type = "machine" - origin_tech = "magnets=2;engineering=2;programming=2" - frame_desc = "Requires 1 Scanning Module, 1 Micro Manipulator, and 1 Micro-Laser." - req_components = list( - "/obj/item/weapon/stock_parts/scanning_module" = 1, - "/obj/item/weapon/stock_parts/manipulator" = 1, - "/obj/item/weapon/stock_parts/micro_laser" = 1) - -/obj/item/weapon/circuitboard/autolathe - name = "Circuit board (Autolathe)" - build_path = "/obj/machinery/autolathe" - board_type = "machine" - origin_tech = "engineering=2;programming=2" - frame_desc = "Requires 3 Matter Bins, 1 Micro Manipulator, and 1 Console Screen." - req_components = list( - "/obj/item/weapon/stock_parts/matter_bin" = 3, - "/obj/item/weapon/stock_parts/manipulator" = 1, - "/obj/item/weapon/stock_parts/console_screen" = 1) - -/obj/item/weapon/circuitboard/protolathe - name = "Circuit board (Protolathe)" - build_path = "/obj/machinery/r_n_d/protolathe" - board_type = "machine" - origin_tech = "engineering=2;programming=2" - frame_desc = "Requires 2 Matter Bins, 2 Micro Manipulators, and 2 Beakers." - req_components = list( - "/obj/item/weapon/stock_parts/matter_bin" = 2, - "/obj/item/weapon/stock_parts/manipulator" = 2, - "/obj/item/weapon/reagent_containers/glass/beaker" = 2) - - -/obj/item/weapon/circuitboard/circuit_imprinter - name = "Circuit board (Circuit Imprinter)" - build_path = "/obj/machinery/r_n_d/circuit_imprinter" - board_type = "machine" - origin_tech = "engineering=2;programming=2" - frame_desc = "Requires 1 Matter Bin, 1 Micro Manipulator, and 2 Beakers." - req_components = list( - "/obj/item/weapon/stock_parts/matter_bin" = 1, - "/obj/item/weapon/stock_parts/manipulator" = 1, - "/obj/item/weapon/reagent_containers/glass/beaker" = 2) - -/obj/item/weapon/circuitboard/pacman - name = "Circuit Board (PACMAN-type Generator)" - build_path = "/obj/machinery/power/port_gen/pacman" - board_type = "machine" - origin_tech = "programming=3;powerstorage=3;phorontech=3;engineering=3" - frame_desc = "Requires 1 Matter Bin, 1 Micro-Laser, 2 Pieces of Cable, and 1 Capacitor." - req_components = list( - "/obj/item/weapon/stock_parts/matter_bin" = 1, - "/obj/item/weapon/stock_parts/micro_laser" = 1, - "/obj/item/stack/cable_coil" = 2, - "/obj/item/weapon/stock_parts/capacitor" = 1) - -/obj/item/weapon/circuitboard/pacman/super - name = "Circuit Board (SUPERPACMAN-type Generator)" - build_path = "/obj/machinery/power/port_gen/pacman/super" - origin_tech = "programming=3;powerstorage=4;engineering=4" - -/obj/item/weapon/circuitboard/pacman/mrs - name = "Circuit Board (MRSPACMAN-type Generator)" - build_path = "/obj/machinery/power/port_gen/pacman/mrs" - origin_tech = "programming=3;powerstorage=5;engineering=5" - -obj/item/weapon/circuitboard/rdserver - name = "Circuit Board (R&D Server)" - build_path = "/obj/machinery/r_n_d/server" - board_type = "machine" - origin_tech = "programming=3" - frame_desc = "Requires 2 pieces of cable, and 1 Scanning Module." - req_components = list( - "/obj/item/stack/cable_coil" = 2, - "/obj/item/weapon/stock_parts/scanning_module" = 1) - -/obj/item/weapon/circuitboard/mechfab - name = "Circuit board (Exosuit Fabricator)" - build_path = "/obj/machinery/mecha_part_fabricator" - board_type = "machine" - origin_tech = "programming=3;engineering=3" - frame_desc = "Requires 2 Matter Bins, 1 Micro Manipulator, 1 Micro-Laser and 1 Console Screen." - req_components = list( - "/obj/item/weapon/stock_parts/matter_bin" = 2, - "/obj/item/weapon/stock_parts/manipulator" = 1, - "/obj/item/weapon/stock_parts/micro_laser" = 1, - "/obj/item/weapon/stock_parts/console_screen" = 1) - -/obj/item/weapon/circuitboard/clonepod - name = "Circuit board (Clone Pod)" - build_path = "/obj/machinery/clonepod" - board_type = "machine" - origin_tech = "programming=3;biotech=3" - frame_desc = "Requires 2 Manipulator, 2 Scanning Module, 2 pieces of cable and 1 Console Screen." - req_components = list( - "/obj/item/stack/cable_coil" = 2, - "/obj/item/weapon/stock_parts/scanning_module" = 2, - "/obj/item/weapon/stock_parts/manipulator" = 2, - "/obj/item/weapon/stock_parts/console_screen" = 1) - -/obj/item/weapon/circuitboard/clonescanner - name = "Circuit board (Cloning Scanner)" - build_path = "/obj/machinery/dna_scannernew" - board_type = "machine" - origin_tech = "programming=2;biotech=2" - frame_desc = "Requires 1 Scanning module, 1 Micro Manipulator, 1 Micro-Laser, 2 pieces of cable and 1 Console Screen." - req_components = list( - "/obj/item/weapon/stock_parts/scanning_module" = 1, - "/obj/item/weapon/stock_parts/manipulator" = 1, - "/obj/item/weapon/stock_parts/micro_laser" = 1, - "/obj/item/weapon/stock_parts/console_screen" = 1, - "/obj/item/stack/cable_coil" = 2,) - -/obj/item/weapon/circuitboard/unary_atmos - board_type = "machine" - -/obj/item/weapon/circuitboard/unary_atmos/construct(var/obj/machinery/atmospherics/unary/U) - //TODO: Move this stuff into the relevant constructor when pipe/construction.dm is cleaned up. - U.initialize() - U.build_network() - if (U.node) - U.node.initialize() - U.node.build_network() - -/obj/item/weapon/circuitboard/unary_atmos/heater - name = "Circuit Board (Gas Heating System)" - build_path = "/obj/machinery/atmospherics/unary/heater" - origin_tech = "powerstorage=2;engineering=1" - frame_desc = "Requires 5 Pieces of Cable, 1 Matter Bin, and 2 Capacitors." - req_components = list( - "/obj/item/stack/cable_coil" = 5, - "/obj/item/weapon/stock_parts/matter_bin" = 1, - "/obj/item/weapon/stock_parts/capacitor" = 2) - -/obj/item/weapon/circuitboard/unary_atmos/cooler - name = "Circuit Board (Gas Cooling System)" - build_path = "/obj/machinery/atmospherics/unary/freezer" - origin_tech = "magnets=2;engineering=2" - frame_desc = "Requires 2 Pieces of Cable, 1 Matter Bin, 1 Micro Manipulator, and 2 Capacitors." - req_components = list( - "/obj/item/stack/cable_coil" = 2, - "/obj/item/weapon/stock_parts/matter_bin" = 1, - "/obj/item/weapon/stock_parts/capacitor" = 2, - "/obj/item/weapon/stock_parts/manipulator" = 1) - -/obj/item/weapon/circuitboard/smes - name = "Circuit Board (Superconductive Magnetic Energy Storage)" - build_path = "/obj/machinery/power/smes/buildable" - board_type = "machine" - origin_tech = "powerstorage=6;engineering=4" - frame_desc = "Requires 1 superconducting magnetic coil and 30 wires." - req_components = list("/obj/item/weapon/smes_coil" = 1, "/obj/item/stack/cable_coil" = 30) - -// Telecomms circuit boards: -/obj/item/weapon/circuitboard/telecomms/receiver - name = "Circuit Board (Subspace Receiver)" - build_path = "/obj/machinery/telecomms/receiver" - board_type = "machine" - origin_tech = "programming=4;engineering=3;bluespace=2" - frame_desc = "Requires 1 Subspace Ansible, 1 Hyperwave Filter, 2 Micro Manipulators, and 1 Micro-Laser." - req_components = list( - "/obj/item/weapon/stock_parts/subspace/ansible" = 1, - "/obj/item/weapon/stock_parts/subspace/filter" = 1, - "/obj/item/weapon/stock_parts/manipulator" = 2, - "/obj/item/weapon/stock_parts/micro_laser" = 1) - -/obj/item/weapon/circuitboard/telecomms/hub - name = "Circuit Board (Hub Mainframe)" - build_path = "/obj/machinery/telecomms/hub" - board_type = "machine" - origin_tech = "programming=4;engineering=4" - frame_desc = "Requires 2 Micro Manipulators, 2 Cable Coil and 2 Hyperwave Filter." - req_components = list( - "/obj/item/weapon/stock_parts/manipulator" = 2, - "/obj/item/stack/cable_coil" = 2, - "/obj/item/weapon/stock_parts/subspace/filter" = 2) - -/obj/item/weapon/circuitboard/telecomms/relay - name = "Circuit Board (Relay Mainframe)" - build_path = "/obj/machinery/telecomms/relay" - board_type = "machine" - origin_tech = "programming=3;engineering=4;bluespace=3" - frame_desc = "Requires 2 Micro Manipulators, 2 Cable Coil and 2 Hyperwave Filters." - req_components = list( - "/obj/item/weapon/stock_parts/manipulator" = 2, - "/obj/item/stack/cable_coil" = 2, - "/obj/item/weapon/stock_parts/subspace/filter" = 2) - -/obj/item/weapon/circuitboard/telecomms/bus - name = "Circuit Board (Bus Mainframe)" - build_path = "/obj/machinery/telecomms/bus" - board_type = "machine" - origin_tech = "programming=4;engineering=4" - frame_desc = "Requires 2 Micro Manipulators, 1 Cable Coil and 1 Hyperwave Filter." - req_components = list( - "/obj/item/weapon/stock_parts/manipulator" = 2, - "/obj/item/stack/cable_coil" = 1, - "/obj/item/weapon/stock_parts/subspace/filter" = 1) - -/obj/item/weapon/circuitboard/telecomms/processor - name = "Circuit Board (Processor Unit)" - build_path = "/obj/machinery/telecomms/processor" - board_type = "machine" - origin_tech = "programming=4;engineering=4" - frame_desc = "Requires 3 Micro Manipulators, 1 Hyperwave Filter, 2 Treatment Disks, 1 Wavelength Analyzer, 2 Cable Coils and 1 Subspace Amplifier." - req_components = list( - "/obj/item/weapon/stock_parts/manipulator" = 3, - "/obj/item/weapon/stock_parts/subspace/filter" = 1, - "/obj/item/weapon/stock_parts/subspace/treatment" = 2, - "/obj/item/weapon/stock_parts/subspace/analyzer" = 1, - "/obj/item/stack/cable_coil" = 2, - "/obj/item/weapon/stock_parts/subspace/amplifier" = 1) - -/obj/item/weapon/circuitboard/telecomms/server - name = "Circuit Board (Telecommunication Server)" - build_path = "/obj/machinery/telecomms/server" - board_type = "machine" - origin_tech = "programming=4;engineering=4" - frame_desc = "Requires 2 Micro Manipulators, 1 Cable Coil and 1 Hyperwave Filter." - req_components = list( - "/obj/item/weapon/stock_parts/manipulator" = 2, - "/obj/item/stack/cable_coil" = 1, - "/obj/item/weapon/stock_parts/subspace/filter" = 1) - -/obj/item/weapon/circuitboard/telecomms/broadcaster - name = "Circuit Board (Subspace Broadcaster)" - build_path = "/obj/machinery/telecomms/broadcaster" - board_type = "machine" - origin_tech = "programming=4;engineering=4;bluespace=2" - frame_desc = "Requires 2 Micro Manipulators, 1 Cable Coil, 1 Hyperwave Filter, 1 Ansible Crystal and 2 High-Powered Micro-Lasers. " - req_components = list( - "/obj/item/weapon/stock_parts/manipulator" = 2, - "/obj/item/stack/cable_coil" = 1, - "/obj/item/weapon/stock_parts/subspace/filter" = 1, - "/obj/item/weapon/stock_parts/subspace/crystal" = 1, - "/obj/item/weapon/stock_parts/micro_laser/high" = 2) diff --git a/code/game/mecha/mecha_parts.dm b/code/game/mecha/mecha_parts.dm index 3af04a8f3f..b9a6ab4e78 100644 --- a/code/game/mecha/mecha_parts.dm +++ b/code/game/mecha/mecha_parts.dm @@ -2,6 +2,8 @@ ////// Mecha Parts ////// ///////////////////////// +// Mecha circuitboards can be found in /code/game/objects/items/weapons/circuitboards/mecha.dm + /obj/item/mecha_parts name = "mecha part" icon = 'icons/mecha/mech_construct.dmi' @@ -347,65 +349,3 @@ origin_tech = "materials=3;engineering=3" construction_time = 200 construction_cost = list("metal"=15000)*/ - - -///////// Circuitboards - -/obj/item/weapon/circuitboard/mecha - name = "exosuit circuit board" - icon = 'icons/obj/module.dmi' - icon_state = "std_mod" - item_state = "electronic" - board_type = "other" - -/obj/item/weapon/circuitboard/mecha/ripley - origin_tech = "programming=3" -/obj/item/weapon/circuitboard/mecha/ripley/peripherals - name = "Circuit board (Ripley Peripherals Control module)" - icon_state = "mcontroller" -/obj/item/weapon/circuitboard/mecha/ripley/main - name = "Circuit board (Ripley Central Control module)" - icon_state = "mainboard" -/obj/item/weapon/circuitboard/mecha/gygax - origin_tech = "programming=4" -/obj/item/weapon/circuitboard/mecha/gygax/peripherals - name = "Circuit board (Gygax Peripherals Control module)" - icon_state = "mcontroller" -/obj/item/weapon/circuitboard/mecha/gygax/targeting - name = "Circuit board (Gygax Weapon Control and Targeting module)" - icon_state = "mcontroller" - origin_tech = "programming=4;combat=4" -/obj/item/weapon/circuitboard/mecha/gygax/main - name = "Circuit board (Gygax Central Control module)" - icon_state = "mainboard" -/obj/item/weapon/circuitboard/mecha/durand - origin_tech = "programming=4" -/obj/item/weapon/circuitboard/mecha/durand/peripherals - name = "Circuit board (Durand Peripherals Control module)" - icon_state = "mcontroller" -/obj/item/weapon/circuitboard/mecha/durand/targeting - name = "Circuit board (Durand Weapon Control and Targeting module)" - icon_state = "mcontroller" - origin_tech = "programming=4;combat=4" -/obj/item/weapon/circuitboard/mecha/durand/main - name = "Circuit board (Durand Central Control module)" - icon_state = "mainboard" -/obj/item/weapon/circuitboard/mecha/honker - origin_tech = "programming=4" -/obj/item/weapon/circuitboard/mecha/honker/peripherals - name = "Circuit board (H.O.N.K Peripherals Control module)" - icon_state = "mcontroller" -/obj/item/weapon/circuitboard/mecha/honker/targeting - name = "Circuit board (H.O.N.K Weapon Control and Targeting module)" - icon_state = "mcontroller" -/obj/item/weapon/circuitboard/mecha/honker/main - name = "Circuit board (H.O.N.K Central Control module)" - icon_state = "mainboard" -/obj/item/weapon/circuitboard/mecha/odysseus - origin_tech = "programming=3" -/obj/item/weapon/circuitboard/mecha/odysseus/peripherals - name = "Circuit board (Odysseus Peripherals Control module)" - icon_state = "mcontroller" -/obj/item/weapon/circuitboard/mecha/odysseus/main - name = "Circuit board (Odysseus Central Control module)" - icon_state = "mainboard" diff --git a/code/game/objects/items/weapons/circuitboards/broken.dm b/code/game/objects/items/weapons/circuitboards/broken.dm new file mode 100644 index 0000000000..ce2cbb7260 --- /dev/null +++ b/code/game/objects/items/weapons/circuitboards/broken.dm @@ -0,0 +1,6 @@ +/obj/item/weapon/circuitboard/broken + name = "broken electronics" + icon = 'icons/obj/doors/door_assembly.dmi' + icon_state = "door_electronics_smoked" + origin_tech = null + board_type = "other" diff --git a/code/game/objects/items/weapons/circuitboards/circuitboard.dm b/code/game/objects/items/weapons/circuitboards/circuitboard.dm new file mode 100644 index 0000000000..bc44b3d7df --- /dev/null +++ b/code/game/objects/items/weapons/circuitboards/circuitboard.dm @@ -0,0 +1,38 @@ +//Define a macro that we can use to assemble all the circuit board names +#ifdef T_BOARD +#error T_BOARD already defined elsewhere, we can't use it. +#endif +#define T_BOARD(name) "circuit board (" + (name) + ")" + +/obj/item/weapon/circuitboard + name = "circuit board" + icon = 'icons/obj/module.dmi' + icon_state = "id_mod" + item_state = "electronic" + origin_tech = "programming=2" + density = 0 + anchored = 0 + w_class = 2.0 + flags = FPRINT | TABLEPASS | CONDUCT + force = 5.0 + throwforce = 5.0 + throw_speed = 3 + throw_range = 15 + var/build_path = null + var/board_type = "computer" + var/list/req_components = null + var/frame_desc = null + var/contain_parts = 1 + +//Called when the circuitboard is used to contruct a new machine. +/obj/item/weapon/circuitboard/proc/construct(var/obj/machinery/M) + if (istype(M, build_path)) + return 1 + return 0 + +//Called when a computer is deconstructed to produce a circuitboard. +//Only used by computers, as other machines store their circuitboard instance. +/obj/item/weapon/circuitboard/proc/deconstruct(var/obj/machinery/M) + if (istype(M, build_path)) + return 1 + return 0 diff --git a/code/game/objects/items/weapons/circuitboards/computer/air_management.dm b/code/game/objects/items/weapons/circuitboards/computer/air_management.dm new file mode 100644 index 0000000000..d244fd6b5c --- /dev/null +++ b/code/game/objects/items/weapons/circuitboards/computer/air_management.dm @@ -0,0 +1,27 @@ +#ifndef T_BOARD +#error T_BOARD macro is not defined but we need it! +#endif + +/obj/item/weapon/circuitboard/air_management + name = T_BOARD("atmosphere monitoring console") + build_path = /obj/machinery/computer/general_air_control + var/frequency = 1439 +/obj/item/weapon/circuitboard/air_management/tank_control + name = T_BOARD("tank control") + build_path = /obj/machinery/computer/general_air_control/large_tank_control + frequency = 1441 +/obj/item/weapon/circuitboard/air_management/supermatter_core + name = T_BOARD("core control") + build_path = /obj/machinery/computer/general_air_control/supermatter_core + frequency = 1438 +/obj/item/weapon/circuitboard/air_management/injector_control + name = T_BOARD("injector control") + build_path = /obj/machinery/computer/general_air_control/fuel_injection + +/obj/item/weapon/circuitboard/air_management/construct(var/obj/machinery/computer/general_air_control/C) + if (..(C)) + C.frequency = frequency + +/obj/item/weapon/circuitboard/air_management/deconstruct(var/obj/machinery/computer/general_air_control/C) + if (..(C)) + frequency = C.frequency diff --git a/code/game/objects/items/weapons/circuitboards/computer/camera_monitor.dm b/code/game/objects/items/weapons/circuitboards/computer/camera_monitor.dm new file mode 100644 index 0000000000..f87123422e --- /dev/null +++ b/code/game/objects/items/weapons/circuitboards/computer/camera_monitor.dm @@ -0,0 +1,65 @@ +#ifndef T_BOARD +#error T_BOARD macro is not defined but we need it! +#endif + +/obj/item/weapon/circuitboard/security + name = T_BOARD("security camera monitor") + build_path = /obj/machinery/computer/security + var/network = list("SS13") + req_access = list(access_security) + var/locked = 1 + var/emagged = 0 + +/obj/item/weapon/circuitboard/security/engineering + name = T_BOARD("engineering camera monitor") + build_path = /obj/machinery/computer/security/engineering + network = list("Engineering","Power Alarms","Atmosphere Alarms","Fire Alarms") + req_access = list() + +/obj/item/weapon/circuitboard/security/mining + name = T_BOARD("mining camera monitor") + build_path = /obj/machinery/computer/security/mining + network = list("MINE") + req_access = list() + +/obj/item/weapon/circuitboard/security/construct(var/obj/machinery/computer/security/C) + if (..(C)) + C.network = network + +/obj/item/weapon/circuitboard/security/deconstruct(var/obj/machinery/computer/security/C) + if (..(C)) + network = C.network + +/obj/item/weapon/circuitboard/security/attackby(obj/item/I as obj, mob/user as mob) + if(istype(I,/obj/item/weapon/card/emag)) + if(emagged) + user << "Circuit lock is already removed." + return + user << "\blue You override the circuit lock and open controls." + emagged = 1 + locked = 0 + else if(istype(I,/obj/item/weapon/card/id)) + if(emagged) + user << "\red Circuit lock does not respond." + return + if(check_access(I)) + locked = !locked + user << "\blue You [locked ? "" : "un"]lock the circuit controls." + else + user << "\red Access denied." + else if(istype(I,/obj/item/device/multitool)) + if(locked) + user << "\red Circuit controls are locked." + return + var/existing_networks = list2text(network,",") + var/input = strip_html(input(usr, "Which networks would you like to connect this camera console circuit to? Seperate networks with a comma. No Spaces!\nFor example: SS13,Security,Secret ", "Multitool-Circuitboard interface", existing_networks)) + if(!input) + usr << "No input found please hang up and try your call again." + return + var/list/tempnetwork = text2list(input, ",") + tempnetwork = difflist(tempnetwork,RESTRICTED_CAMERA_NETWORKS,1) + if(tempnetwork.len < 1) + usr << "No network found please hang up and try your call again." + return + network = tempnetwork + return diff --git a/code/game/objects/items/weapons/circuitboards/computer/computer.dm b/code/game/objects/items/weapons/circuitboards/computer/computer.dm new file mode 100644 index 0000000000..281f31869c --- /dev/null +++ b/code/game/objects/items/weapons/circuitboards/computer/computer.dm @@ -0,0 +1,190 @@ +#ifndef T_BOARD +#error T_BOARD macro is not defined but we need it! +#endif + +/obj/item/weapon/circuitboard/message_monitor + name = T_BOARD("message monitor console") + build_path = /obj/machinery/computer/message_monitor + origin_tech = "programming=3" + +/obj/item/weapon/circuitboard/aiupload + name = T_BOARD("AI upload console") + build_path = /obj/machinery/computer/aiupload + origin_tech = "programming=4" + +/obj/item/weapon/circuitboard/borgupload + name = T_BOARD("cyborg upload console") + build_path = /obj/machinery/computer/borgupload + origin_tech = "programming=4" + +/obj/item/weapon/circuitboard/med_data + name = T_BOARD("medical records console") + build_path = /obj/machinery/computer/med_data + +/obj/item/weapon/circuitboard/pandemic + name = T_BOARD("PanD.E.M.I.C. 2200") + build_path = /obj/machinery/computer/pandemic + origin_tech = "programming=2;biotech=2" + +/obj/item/weapon/circuitboard/scan_consolenew + name = T_BOARD("DNA machine") + build_path = /obj/machinery/computer/scan_consolenew + origin_tech = "programming=2;biotech=2" + +/obj/item/weapon/circuitboard/communications + name = T_BOARD("command and communications console") + build_path = /obj/machinery/computer/communications + origin_tech = "programming=2;magnets=2" + +/obj/item/weapon/circuitboard/card + name = T_BOARD("ID card modification console") + build_path = /obj/machinery/computer/card + +/obj/item/weapon/circuitboard/card/centcom + name = T_BOARD("CentCom ID card modification console") + build_path = /obj/machinery/computer/card/centcom + +/obj/item/weapon/circuitboard/teleporter + name = T_BOARD("teleporter control console") + build_path = /obj/machinery/computer/teleporter + origin_tech = "programming=2;bluespace=2" + +/obj/item/weapon/circuitboard/secure_data + name = T_BOARD("security records console") + build_path = /obj/machinery/computer/secure_data + +/obj/item/weapon/circuitboard/skills + name = T_BOARD("employment records console") + build_path = /obj/machinery/computer/skills + +/obj/item/weapon/circuitboard/stationalert + name = T_BOARD("station alert console") + build_path = /obj/machinery/computer/station_alert + +/obj/item/weapon/circuitboard/atmos_alert + name = T_BOARD("atmospheric alert console") + build_path = /obj/machinery/computer/atmos_alert + +/obj/item/weapon/circuitboard/pod + name = T_BOARD("massdriver control") + build_path = /obj/machinery/computer/pod + +/obj/item/weapon/circuitboard/robotics + name = T_BOARD("robotics control console") + build_path = /obj/machinery/computer/robotics + origin_tech = "programming=3" + +/obj/item/weapon/circuitboard/drone_control + name = T_BOARD("drone control console") + build_path = /obj/machinery/computer/drone_control + origin_tech = "programming=3" + +/obj/item/weapon/circuitboard/cloning + name = T_BOARD("cloning control console") + build_path = /obj/machinery/computer/cloning + origin_tech = "programming=3;biotech=3" + +/obj/item/weapon/circuitboard/arcade + name = T_BOARD("arcade machine") + build_path = /obj/machinery/computer/arcade + origin_tech = "programming=1" + +/obj/item/weapon/circuitboard/turbine_control + name = T_BOARD("turbine control console") + build_path = /obj/machinery/computer/turbine_computer + +/obj/item/weapon/circuitboard/solar_control + name = T_BOARD("solar control console") + build_path = /obj/machinery/power/solar_control + origin_tech = "programming=2;powerstorage=2" + +/obj/item/weapon/circuitboard/powermonitor + name = T_BOARD("power monitoring console") + build_path = /obj/machinery/computer/power_monitor + +/obj/item/weapon/circuitboard/olddoor + name = T_BOARD("DoorMex") + build_path = /obj/machinery/computer/pod/old + +/obj/item/weapon/circuitboard/syndicatedoor + name = T_BOARD("ProComp Executive") + build_path = /obj/machinery/computer/pod/old/syndicate + +/obj/item/weapon/circuitboard/swfdoor + name = T_BOARD("Magix") + build_path = /obj/machinery/computer/pod/old/swf + +/obj/item/weapon/circuitboard/prisoner + name = T_BOARD("prisoner management console") + build_path = /obj/machinery/computer/prisoner + +/obj/item/weapon/circuitboard/mecha_control + name = T_BOARD("exosuit control console") + build_path = /obj/machinery/computer/mecha + +/obj/item/weapon/circuitboard/rdservercontrol + name = T_BOARD("R&D server control console") + build_path = /obj/machinery/computer/rdservercontrol + +/obj/item/weapon/circuitboard/crew + name = T_BOARD("crew monitoring console") + build_path = /obj/machinery/computer/crew + origin_tech = "programming=3;biotech=2;magnets=2" + +/obj/item/weapon/circuitboard/mech_bay_power_console + name = T_BOARD("mech bay power control console") + build_path = /obj/machinery/computer/mech_bay_power_console + origin_tech = "programming=2;powerstorage=3" + +/obj/item/weapon/circuitboard/operating + name = T_BOARD("patient monitoring console") + build_path = /obj/machinery/computer/operating + origin_tech = "programming=2;biotech=2" + +/obj/item/weapon/circuitboard/curefab + name = T_BOARD("cure fabricator") + build_path = /obj/machinery/computer/curer + +/obj/item/weapon/circuitboard/splicer + name = T_BOARD("disease splicer") + build_path = /obj/machinery/computer/diseasesplicer + +/obj/item/weapon/circuitboard/ordercomp + name = T_BOARD("supply ordering console") + build_path = /obj/machinery/computer/ordercomp + origin_tech = "programming=2" + +/obj/item/weapon/circuitboard/mining_shuttle + name = T_BOARD("mining shuttle console") + build_path = /obj/machinery/computer/shuttle_control/mining + origin_tech = "programming=2" + +/obj/item/weapon/circuitboard/engineering_shuttle + name = T_BOARD("engineering shuttle console") + build_path = /obj/machinery/computer/shuttle_control/engineering + origin_tech = "programming=2" + +/obj/item/weapon/circuitboard/research_shuttle + name = T_BOARD("research shuttle console") + build_path = /obj/machinery/computer/shuttle_control/research + origin_tech = "programming=2" + +/obj/item/weapon/circuitboard/aifixer + name = T_BOARD("AI integrity restorer") + build_path = /obj/machinery/computer/aifixer + origin_tech = "programming=3;biotech=2" + +/obj/item/weapon/circuitboard/area_atmos + name = T_BOARD("area air control console") + build_path = /obj/machinery/computer/area_atmos + origin_tech = "programming=2" + +/obj/item/weapon/circuitboard/prison_shuttle + name = T_BOARD("prison shuttle control console") + build_path = /obj/machinery/computer/prison_shuttle + origin_tech = "programming=2" + +/obj/item/weapon/circuitboard/rcon_console + name = T_BOARD("RCON remote control console") + build_path = /obj/machinery/computer/rcon + origin_tech = "programming=4;engineering=3;powerstorage=5" diff --git a/code/game/objects/items/weapons/circuitboards/computer/research.dm b/code/game/objects/items/weapons/circuitboards/computer/research.dm new file mode 100644 index 0000000000..48ab7333ce --- /dev/null +++ b/code/game/objects/items/weapons/circuitboards/computer/research.dm @@ -0,0 +1,20 @@ +#ifndef T_BOARD +#error T_BOARD macro is not defined but we need it! +#endif + +/obj/item/weapon/circuitboard/rdconsole + name = T_BOARD("R&D control console") + build_path = /obj/machinery/computer/rdconsole/core + +/obj/item/weapon/circuitboard/rdconsole/attackby(obj/item/I as obj, mob/user as mob) + if(istype(I,/obj/item/weapon/screwdriver)) + user.visible_message("\blue \the [user] adjusts the jumper on the [src]'s access protocol pins.", "\blue You adjust the jumper on the access protocol pins.") + if(src.build_path == /obj/machinery/computer/rdconsole/core) + src.name = T_BOARD("RD Console - Robotics") + src.build_path = /obj/machinery/computer/rdconsole/robotics + user << "\blue Access protocols set to robotics." + else + src.name = T_BOARD("RD Console") + src.build_path = /obj/machinery/computer/rdconsole/core + user << "\blue Access protocols set to default." + return diff --git a/code/game/objects/items/weapons/circuitboards/computer/supply.dm b/code/game/objects/items/weapons/circuitboards/computer/supply.dm new file mode 100644 index 0000000000..84c9aa3476 --- /dev/null +++ b/code/game/objects/items/weapons/circuitboards/computer/supply.dm @@ -0,0 +1,39 @@ +#ifndef T_BOARD +#error T_BOARD macro is not defined but we need it! +#endif + +/obj/item/weapon/circuitboard/supplycomp + name = T_BOARD("supply control console") + build_path = /obj/machinery/computer/supplycomp + origin_tech = "programming=3" + var/contraband_enabled = 0 + +/obj/item/weapon/circuitboard/supplycomp/construct(var/obj/machinery/computer/supplycomp/SC) + if (..(SC)) + SC.can_order_contraband = contraband_enabled + +/obj/item/weapon/circuitboard/supplycomp/deconstruct(var/obj/machinery/computer/supplycomp/SC) + if (..(SC)) + contraband_enabled = SC.can_order_contraband + +/obj/item/weapon/circuitboard/supplycomp/attackby(obj/item/I as obj, mob/user as mob) + if(istype(I,/obj/item/device/multitool)) + var/catastasis = src.contraband_enabled + var/opposite_catastasis + if(catastasis) + opposite_catastasis = "STANDARD" + catastasis = "BROAD" + else + opposite_catastasis = "BROAD" + catastasis = "STANDARD" + + switch( alert("Current receiver spectrum is set to: [catastasis]","Multitool-Circuitboard interface","Switch to [opposite_catastasis]","Cancel") ) + //switch( alert("Current receiver spectrum is set to: " {(src.contraband_enabled) ? ("BROAD") : ("STANDARD")} , "Multitool-Circuitboard interface" , "Switch to " {(src.contraband_enabled) ? ("STANDARD") : ("BROAD")}, "Cancel") ) + if("Switch to STANDARD","Switch to BROAD") + src.contraband_enabled = !src.contraband_enabled + + if("Cancel") + return + else + user << "DERP! BUG! Report this (And what you were doing to cause it) to Agouri" + return diff --git a/code/game/objects/items/weapons/circuitboards/computer/telecomms.dm b/code/game/objects/items/weapons/circuitboards/computer/telecomms.dm new file mode 100644 index 0000000000..9a18f0df99 --- /dev/null +++ b/code/game/objects/items/weapons/circuitboards/computer/telecomms.dm @@ -0,0 +1,18 @@ +#ifndef T_BOARD +#error T_BOARD macro is not defined but we need it! +#endif + +/obj/item/weapon/circuitboard/comm_monitor + name = T_BOARD("telecommunications monitor console") + build_path = /obj/machinery/computer/telecomms/monitor + origin_tech = "programming=3" + +/obj/item/weapon/circuitboard/comm_server + name = T_BOARD("telecommunications server monitor console") + build_path = /obj/machinery/computer/telecomms/server + origin_tech = "programming=3" + +/obj/item/weapon/circuitboard/comm_traffic + name = T_BOARD("telecommunications traffic control console") + build_path = /obj/machinery/computer/telecomms/traffic + origin_tech = "programming=3" diff --git a/code/game/objects/items/weapons/circuitboards/machinery/cloning.dm b/code/game/objects/items/weapons/circuitboards/machinery/cloning.dm new file mode 100644 index 0000000000..fdc0865f9c --- /dev/null +++ b/code/game/objects/items/weapons/circuitboards/machinery/cloning.dm @@ -0,0 +1,28 @@ +#ifndef T_BOARD +#error T_BOARD macro is not defined but we need it! +#endif + +/obj/item/weapon/circuitboard/clonepod + name = T_BOARD("clone pod") + build_path = "/obj/machinery/clonepod" + board_type = "machine" + origin_tech = "programming=3;biotech=3" + frame_desc = "Requires 2 Manipulator, 2 Scanning Module, 2 pieces of cable and 1 Console Screen." + req_components = list( + "/obj/item/stack/cable_coil" = 2, + "/obj/item/weapon/stock_parts/scanning_module" = 2, + "/obj/item/weapon/stock_parts/manipulator" = 2, + "/obj/item/weapon/stock_parts/console_screen" = 1) + +/obj/item/weapon/circuitboard/clonescanner + name = T_BOARD("cloning scanner") + build_path = "/obj/machinery/dna_scannernew" + board_type = "machine" + origin_tech = "programming=2;biotech=2" + frame_desc = "Requires 1 Scanning module, 1 Micro Manipulator, 1 Micro-Laser, 2 pieces of cable and 1 Console Screen." + req_components = list( + "/obj/item/weapon/stock_parts/scanning_module" = 1, + "/obj/item/weapon/stock_parts/manipulator" = 1, + "/obj/item/weapon/stock_parts/micro_laser" = 1, + "/obj/item/weapon/stock_parts/console_screen" = 1, + "/obj/item/stack/cable_coil" = 2) diff --git a/code/game/objects/items/weapons/circuitboards/machinery/pacman.dm b/code/game/objects/items/weapons/circuitboards/machinery/pacman.dm new file mode 100644 index 0000000000..77d313e414 --- /dev/null +++ b/code/game/objects/items/weapons/circuitboards/machinery/pacman.dm @@ -0,0 +1,25 @@ +#ifndef T_BOARD +#error T_BOARD macro is not defined but we need it! +#endif + +/obj/item/weapon/circuitboard/pacman + name = T_BOARD("PACMAN-type generator") + build_path = "/obj/machinery/power/port_gen/pacman" + board_type = "machine" + origin_tech = "programming=3;powerstorage=3;phorontech=3;engineering=3" + frame_desc = "Requires 1 Matter Bin, 1 Micro-Laser, 2 Pieces of Cable, and 1 Capacitor." + req_components = list( + "/obj/item/weapon/stock_parts/matter_bin" = 1, + "/obj/item/weapon/stock_parts/micro_laser" = 1, + "/obj/item/stack/cable_coil" = 2, + "/obj/item/weapon/stock_parts/capacitor" = 1) + +/obj/item/weapon/circuitboard/pacman/super + name = T_BOARD("SUPERPACMAN-type generator") + build_path = "/obj/machinery/power/port_gen/pacman/super" + origin_tech = "programming=3;powerstorage=4;engineering=4" + +/obj/item/weapon/circuitboard/pacman/mrs + name = T_BOARD("MRSPACMAN-type generator") + build_path = "/obj/machinery/power/port_gen/pacman/mrs" + origin_tech = "programming=3;powerstorage=5;engineering=5" diff --git a/code/game/objects/items/weapons/circuitboards/machinery/power.dm b/code/game/objects/items/weapons/circuitboards/machinery/power.dm new file mode 100644 index 0000000000..80955b1b8e --- /dev/null +++ b/code/game/objects/items/weapons/circuitboards/machinery/power.dm @@ -0,0 +1,27 @@ +#ifndef T_BOARD +#error T_BOARD macro is not defined but we need it! +#endif + +/obj/item/weapon/circuitboard/smes + name = T_BOARD("superconductive magnetic energy storage") + build_path = "/obj/machinery/power/smes/buildable" + board_type = "machine" + origin_tech = "powerstorage=6;engineering=4" + frame_desc = "Requires 1 superconducting magnetic coil and 30 wires." + req_components = list("/obj/item/weapon/smes_coil" = 1, "/obj/item/stack/cable_coil" = 30) + +/obj/item/weapon/circuitboard/batteryrack + name = T_BOARD("battery rack PSU") + build_path = "/obj/machinery/power/smes/batteryrack" + board_type = "machine" + origin_tech = "powerstorage=3;engineering=2" + frame_desc = "Requires 3 power cells." + req_components = list("/obj/item/weapon/cell" = 3) + +/obj/item/weapon/circuitboard/ghettosmes + name = T_BOARD("makeshift PSU") + desc = "An APC circuit repurposed into some power storage device controller" + build_path = "/obj/machinery/power/smes/batteryrack/makeshift" + board_type = "machine" + frame_desc = "Requires 3 power cells." + req_components = list("/obj/item/weapon/cell" = 3) diff --git a/code/game/objects/items/weapons/circuitboards/machinery/research.dm b/code/game/objects/items/weapons/circuitboards/machinery/research.dm new file mode 100644 index 0000000000..9853150b17 --- /dev/null +++ b/code/game/objects/items/weapons/circuitboards/machinery/research.dm @@ -0,0 +1,70 @@ +#ifndef T_BOARD +#error T_BOARD macro is not defined but we need it! +#endif + +obj/item/weapon/circuitboard/rdserver + name = T_BOARD("R&D server") + build_path = "/obj/machinery/r_n_d/server" + board_type = "machine" + origin_tech = "programming=3" + frame_desc = "Requires 2 pieces of cable, and 1 Scanning Module." + req_components = list( + "/obj/item/stack/cable_coil" = 2, + "/obj/item/weapon/stock_parts/scanning_module" = 1) + +/obj/item/weapon/circuitboard/destructive_analyzer + name = T_BOARD("destructive analyzer") + build_path = "/obj/machinery/r_n_d/destructive_analyzer" + board_type = "machine" + origin_tech = "magnets=2;engineering=2;programming=2" + frame_desc = "Requires 1 Scanning Module, 1 Micro Manipulator, and 1 Micro-Laser." + req_components = list( + "/obj/item/weapon/stock_parts/scanning_module" = 1, + "/obj/item/weapon/stock_parts/manipulator" = 1, + "/obj/item/weapon/stock_parts/micro_laser" = 1) + +/obj/item/weapon/circuitboard/autolathe + name = T_BOARD("autolathe") + build_path = "/obj/machinery/autolathe" + board_type = "machine" + origin_tech = "engineering=2;programming=2" + frame_desc = "Requires 3 Matter Bins, 1 Micro Manipulator, and 1 Console Screen." + req_components = list( + "/obj/item/weapon/stock_parts/matter_bin" = 3, + "/obj/item/weapon/stock_parts/manipulator" = 1, + "/obj/item/weapon/stock_parts/console_screen" = 1) + +/obj/item/weapon/circuitboard/protolathe + name = T_BOARD("protolathe") + build_path = "/obj/machinery/r_n_d/protolathe" + board_type = "machine" + origin_tech = "engineering=2;programming=2" + frame_desc = "Requires 2 Matter Bins, 2 Micro Manipulators, and 2 Beakers." + req_components = list( + "/obj/item/weapon/stock_parts/matter_bin" = 2, + "/obj/item/weapon/stock_parts/manipulator" = 2, + "/obj/item/weapon/reagent_containers/glass/beaker" = 2) + + +/obj/item/weapon/circuitboard/circuit_imprinter + name = T_BOARD("circuit imprinter") + build_path = "/obj/machinery/r_n_d/circuit_imprinter" + board_type = "machine" + origin_tech = "engineering=2;programming=2" + frame_desc = "Requires 1 Matter Bin, 1 Micro Manipulator, and 2 Beakers." + req_components = list( + "/obj/item/weapon/stock_parts/matter_bin" = 1, + "/obj/item/weapon/stock_parts/manipulator" = 1, + "/obj/item/weapon/reagent_containers/glass/beaker" = 2) + +/obj/item/weapon/circuitboard/mechfab + name = "Circuit board (Exosuit Fabricator)" + build_path = "/obj/machinery/mecha_part_fabricator" + board_type = "machine" + origin_tech = "programming=3;engineering=3" + frame_desc = "Requires 2 Matter Bins, 1 Micro Manipulator, 1 Micro-Laser and 1 Console Screen." + req_components = list( + "/obj/item/weapon/stock_parts/matter_bin" = 2, + "/obj/item/weapon/stock_parts/manipulator" = 1, + "/obj/item/weapon/stock_parts/micro_laser" = 1, + "/obj/item/weapon/stock_parts/console_screen" = 1) diff --git a/code/modules/shieldgen/circuits_and_designs.dm b/code/game/objects/items/weapons/circuitboards/machinery/shieldgen.dm similarity index 91% rename from code/modules/shieldgen/circuits_and_designs.dm rename to code/game/objects/items/weapons/circuitboards/machinery/shieldgen.dm index e055bddcab..6e892a6603 100644 --- a/code/modules/shieldgen/circuits_and_designs.dm +++ b/code/game/objects/items/weapons/circuitboards/machinery/shieldgen.dm @@ -1,5 +1,9 @@ +#ifndef T_BOARD +#error T_BOARD macro is not defined but we need it! +#endif + /obj/item/weapon/circuitboard/shield_gen_ex - name = "Circuit board (Hull shield generator)" + name = T_BOARD("hull shield generator") board_type = "machine" build_path = "/obj/machinery/shield_gen/external" origin_tech = "bluespace=4;phorontech=3" @@ -13,7 +17,7 @@ "/obj/item/stack/cable_coil" = 5) /obj/item/weapon/circuitboard/shield_gen - name = "Circuit board (Bubble shield generator)" + name = T_BOARD("bubble shield generator") board_type = "machine" build_path = "/obj/machinery/shield_gen" origin_tech = "bluespace=4;phorontech=3" @@ -27,7 +31,7 @@ "/obj/item/stack/cable_coil" = 5) /obj/item/weapon/circuitboard/shield_cap - name = "Circuit board (Shield capacitor)" + name = T_BOARD("shield capacitor") board_type = "machine" build_path = "/obj/machinery/shield_capacitor" origin_tech = "magnets=3;powerstorage=4" diff --git a/code/game/objects/items/weapons/circuitboards/machinery/telecomms.dm b/code/game/objects/items/weapons/circuitboards/machinery/telecomms.dm new file mode 100644 index 0000000000..a312d2995a --- /dev/null +++ b/code/game/objects/items/weapons/circuitboards/machinery/telecomms.dm @@ -0,0 +1,82 @@ +#ifndef T_BOARD +#error T_BOARD macro is not defined but we need it! +#endif + +/obj/item/weapon/circuitboard/telecomms + board_type = "machine" + +/obj/item/weapon/circuitboard/telecomms/receiver + name = T_BOARD("subspace receiver") + build_path = "/obj/machinery/telecomms/receiver" + origin_tech = "programming=4;engineering=3;bluespace=2" + frame_desc = "Requires 1 Subspace Ansible, 1 Hyperwave Filter, 2 Micro Manipulators, and 1 Micro-Laser." + req_components = list( + "/obj/item/weapon/stock_parts/subspace/ansible" = 1, + "/obj/item/weapon/stock_parts/subspace/filter" = 1, + "/obj/item/weapon/stock_parts/manipulator" = 2, + "/obj/item/weapon/stock_parts/micro_laser" = 1) + +/obj/item/weapon/circuitboard/telecomms/hub + name = T_BOARD("hub mainframe") + build_path = "/obj/machinery/telecomms/hub" + origin_tech = "programming=4;engineering=4" + frame_desc = "Requires 2 Micro Manipulators, 2 Cable Coil and 2 Hyperwave Filter." + req_components = list( + "/obj/item/weapon/stock_parts/manipulator" = 2, + "/obj/item/stack/cable_coil" = 2, + "/obj/item/weapon/stock_parts/subspace/filter" = 2) + +/obj/item/weapon/circuitboard/telecomms/relay + name = T_BOARD("relay mainframe") + build_path = "/obj/machinery/telecomms/relay" + origin_tech = "programming=3;engineering=4;bluespace=3" + frame_desc = "Requires 2 Micro Manipulators, 2 Cable Coil and 2 Hyperwave Filters." + req_components = list( + "/obj/item/weapon/stock_parts/manipulator" = 2, + "/obj/item/stack/cable_coil" = 2, + "/obj/item/weapon/stock_parts/subspace/filter" = 2) + +/obj/item/weapon/circuitboard/telecomms/bus + name = T_BOARD("bus mainframe") + build_path = "/obj/machinery/telecomms/bus" + origin_tech = "programming=4;engineering=4" + frame_desc = "Requires 2 Micro Manipulators, 1 Cable Coil and 1 Hyperwave Filter." + req_components = list( + "/obj/item/weapon/stock_parts/manipulator" = 2, + "/obj/item/stack/cable_coil" = 1, + "/obj/item/weapon/stock_parts/subspace/filter" = 1) + +/obj/item/weapon/circuitboard/telecomms/processor + name = T_BOARD("processor unit") + build_path = "/obj/machinery/telecomms/processor" + origin_tech = "programming=4;engineering=4" + frame_desc = "Requires 3 Micro Manipulators, 1 Hyperwave Filter, 2 Treatment Disks, 1 Wavelength Analyzer, 2 Cable Coils and 1 Subspace Amplifier." + req_components = list( + "/obj/item/weapon/stock_parts/manipulator" = 3, + "/obj/item/weapon/stock_parts/subspace/filter" = 1, + "/obj/item/weapon/stock_parts/subspace/treatment" = 2, + "/obj/item/weapon/stock_parts/subspace/analyzer" = 1, + "/obj/item/stack/cable_coil" = 2, + "/obj/item/weapon/stock_parts/subspace/amplifier" = 1) + +/obj/item/weapon/circuitboard/telecomms/server + name = T_BOARD("telecommunication server") + build_path = "/obj/machinery/telecomms/server" + origin_tech = "programming=4;engineering=4" + frame_desc = "Requires 2 Micro Manipulators, 1 Cable Coil and 1 Hyperwave Filter." + req_components = list( + "/obj/item/weapon/stock_parts/manipulator" = 2, + "/obj/item/stack/cable_coil" = 1, + "/obj/item/weapon/stock_parts/subspace/filter" = 1) + +/obj/item/weapon/circuitboard/telecomms/broadcaster + name = T_BOARD("subspace broadcaster") + build_path = "/obj/machinery/telecomms/broadcaster" + origin_tech = "programming=4;engineering=4;bluespace=2" + frame_desc = "Requires 2 Micro Manipulators, 1 Cable Coil, 1 Hyperwave Filter, 1 Ansible Crystal and 2 High-Powered Micro-Lasers. " + req_components = list( + "/obj/item/weapon/stock_parts/manipulator" = 2, + "/obj/item/stack/cable_coil" = 1, + "/obj/item/weapon/stock_parts/subspace/filter" = 1, + "/obj/item/weapon/stock_parts/subspace/crystal" = 1, + "/obj/item/weapon/stock_parts/micro_laser/high" = 2) diff --git a/code/game/objects/items/weapons/circuitboards/machinery/unary_atmos.dm b/code/game/objects/items/weapons/circuitboards/machinery/unary_atmos.dm new file mode 100644 index 0000000000..db76bbcc8e --- /dev/null +++ b/code/game/objects/items/weapons/circuitboards/machinery/unary_atmos.dm @@ -0,0 +1,35 @@ +#ifndef T_BOARD +#error T_BOARD macro is not defined but we need it! +#endif + +/obj/item/weapon/circuitboard/unary_atmos + board_type = "machine" + +/obj/item/weapon/circuitboard/unary_atmos/construct(var/obj/machinery/atmospherics/unary/U) + //TODO: Move this stuff into the relevant constructor when pipe/construction.dm is cleaned up. + U.initialize() + U.build_network() + if (U.node) + U.node.initialize() + U.node.build_network() + +/obj/item/weapon/circuitboard/unary_atmos/heater + name = T_BOARD("gas heating system") + build_path = "/obj/machinery/atmospherics/unary/heater" + origin_tech = "powerstorage=2;engineering=1" + frame_desc = "Requires 5 Pieces of Cable, 1 Matter Bin, and 2 Capacitors." + req_components = list( + "/obj/item/stack/cable_coil" = 5, + "/obj/item/weapon/stock_parts/matter_bin" = 1, + "/obj/item/weapon/stock_parts/capacitor" = 2) + +/obj/item/weapon/circuitboard/unary_atmos/cooler + name = T_BOARD("gas cooling system") + build_path = "/obj/machinery/atmospherics/unary/freezer" + origin_tech = "magnets=2;engineering=2" + frame_desc = "Requires 2 Pieces of Cable, 1 Matter Bin, 1 Micro Manipulator, and 2 Capacitors." + req_components = list( + "/obj/item/stack/cable_coil" = 2, + "/obj/item/weapon/stock_parts/matter_bin" = 1, + "/obj/item/weapon/stock_parts/capacitor" = 2, + "/obj/item/weapon/stock_parts/manipulator" = 1) diff --git a/code/game/objects/items/weapons/circuitboards/mecha.dm b/code/game/objects/items/weapons/circuitboards/mecha.dm new file mode 100644 index 0000000000..ad859479c5 --- /dev/null +++ b/code/game/objects/items/weapons/circuitboards/mecha.dm @@ -0,0 +1,88 @@ +#ifdef T_BOARD_MECHA +#error T_BOARD_MECHA already defined elsewhere, we can't use it. +#endif +#define T_BOARD_MECHA(name) "exosuit module circuit board (" + (name) + ")" + +/obj/item/weapon/circuitboard/mecha + name = "exosuit circuit board" + icon = 'icons/obj/module.dmi' + icon_state = "std_mod" + item_state = "electronic" + board_type = "other" + + +/obj/item/weapon/circuitboard/mecha/ripley + origin_tech = "programming=3" + +/obj/item/weapon/circuitboard/mecha/ripley/peripherals + name = T_BOARD_MECHA("Ripley peripherals control") + icon_state = "mcontroller" + +/obj/item/weapon/circuitboard/mecha/ripley/main + name = T_BOARD_MECHA("Ripley central control") + icon_state = "mainboard" + + +/obj/item/weapon/circuitboard/mecha/gygax + origin_tech = "programming=4" + +/obj/item/weapon/circuitboard/mecha/gygax/peripherals + name = T_BOARD_MECHA("Gygax peripherals control") + icon_state = "mcontroller" + +/obj/item/weapon/circuitboard/mecha/gygax/targeting + name = T_BOARD_MECHA("Gygax weapon control and targeting") + icon_state = "mcontroller" + origin_tech = "programming=4;combat=4" + +/obj/item/weapon/circuitboard/mecha/gygax/main + name = T_BOARD_MECHA("Gygax central control") + icon_state = "mainboard" + + +/obj/item/weapon/circuitboard/mecha/durand + origin_tech = "programming=4" + +/obj/item/weapon/circuitboard/mecha/durand/peripherals + name = T_BOARD_MECHA("Durand peripherals control") + icon_state = "mcontroller" + +/obj/item/weapon/circuitboard/mecha/durand/targeting + name = T_BOARD_MECHA("Durand weapon control and targeting") + icon_state = "mcontroller" + origin_tech = "programming=4;combat=4" + +/obj/item/weapon/circuitboard/mecha/durand/main + name = T_BOARD_MECHA("Durand central control") + icon_state = "mainboard" + + +/obj/item/weapon/circuitboard/mecha/honker + origin_tech = "programming=4" + +/obj/item/weapon/circuitboard/mecha/honker/peripherals + name = T_BOARD_MECHA("H.O.N.K peripherals control") + icon_state = "mcontroller" + +/obj/item/weapon/circuitboard/mecha/honker/targeting + name = T_BOARD_MECHA("H.O.N.K weapon control and targeting") + icon_state = "mcontroller" + +/obj/item/weapon/circuitboard/mecha/honker/main + name = T_BOARD_MECHA("H.O.N.K central control") + icon_state = "mainboard" + + +/obj/item/weapon/circuitboard/mecha/odysseus + origin_tech = "programming=3" + +/obj/item/weapon/circuitboard/mecha/odysseus/peripherals + name = T_BOARD_MECHA("Odysseus peripherals control") + icon_state = "mcontroller" + +/obj/item/weapon/circuitboard/mecha/odysseus/main + name = T_BOARD_MECHA("Odysseus central control") + icon_state = "mainboard" + +//Undef the macro, shouldn't be needed anywhere else +#undef T_BOARD_MECHA diff --git a/code/game/objects/items/weapons/circuitboards/other.dm b/code/game/objects/items/weapons/circuitboards/other.dm new file mode 100644 index 0000000000..ec38643bed --- /dev/null +++ b/code/game/objects/items/weapons/circuitboards/other.dm @@ -0,0 +1,10 @@ +#ifndef T_BOARD +#error T_BOARD macro is not defined but we need it! +#endif + +//Stuff that doesn't fit into any category goes here + +/obj/item/weapon/circuitboard/aicore + name = T_BOARD("AI core") + origin_tech = "programming=4;biotech=2" + board_type = "other" diff --git a/code/modules/power/batteryrack.dm b/code/modules/power/batteryrack.dm index bfba755eb7..08087e9ced 100644 --- a/code/modules/power/batteryrack.dm +++ b/code/modules/power/batteryrack.dm @@ -1,23 +1,3 @@ -//Boards -/obj/item/weapon/circuitboard/batteryrack - name = "Circuit board (Battery rack PSU)" - build_path = "/obj/machinery/power/smes/batteryrack" - board_type = "machine" - origin_tech = "powerstorage=3;engineering=2" - frame_desc = "Requires 3 power cells." - req_components = list("/obj/item/weapon/cell" = 3) - - -/obj/item/weapon/circuitboard/ghettosmes - name = "Circuit board (makeshift PSU)" - desc = "An APC circuit repurposed into some power storage device controller" - build_path = "/obj/machinery/power/smes/batteryrack/makeshift" - board_type = "machine" - frame_desc = "Requires 3 power cells." - req_components = list("/obj/item/weapon/cell" = 3) - - -//Machines //The one that works safely. /obj/machinery/power/smes/batteryrack name = "power cell rack PSU"