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.
This commit is contained in:
Amunak
2014-12-17 14:31:21 +01:00
parent ae8829cabe
commit 1a972974bc
22 changed files with 796 additions and 695 deletions

View File

@@ -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"

View File

@@ -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

View File

@@ -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)

View File

@@ -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"

View File

@@ -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"

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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"

View File

@@ -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

View File

@@ -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

View File

@@ -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"

View File

@@ -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)

View File

@@ -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"

View File

@@ -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)

View File

@@ -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)

View File

@@ -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"

View File

@@ -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)

View File

@@ -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)

View File

@@ -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

View File

@@ -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"

View File

@@ -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"