Files
Bubberstation/code/game/objects/items/circuitboards/machine_circuitboards.dm
T
4a8bf70af3 [MIRROR] Removes singularity, tesla, TEG and Mrs. Pacman. Changes supermatter overcharge delam. (#345)
* Removes singularity, tesla, TEG and Mrs. Pacman. Changes supermatter overcharge delam. (#52873)


About The Pull Request

This PR removes the tesla and Mrs. Pacman from the game. The title is actually misleading, the TEG and singularity are still in the game but inaccessible and the singularity no longer has its generator.

Field generators and tesla coils have been kept because shocking your fellow man is the greatest sensation of power in the world.

The overcharging delamination for the supermatter has been replaced by the release of 2500 mols of tritium at 500,000 kelvin. An engineer who's really hateful of the station can use this for fusion, if they desire. Otherwise, its a tritium fire in engineering alongside the explosion. This will probably be changed in the future to be more potent since the explosion will pretty much just space all the tritium away.

Singularities no longer produce radiation. Now, keeping one is less about making power and more about making a statement, especially since you need to delaminate an SM shard for it.
Why It's Good For The Game

Having power optimized for one generator (SM+Turbine) will allow balancing to be feasible, also oranges wanted this. The other generators may later return but with tweaked values and different roles.
Changelog

🆑
del: Nanotrasen has removed their outdated teslas, singularities, TEGs and Mrs. Pacman generators from their servers and warehouse.
/🆑

* Removes singularity, tesla, TEG and Mrs. Pacman. Changes supermatter overcharge delam.

Co-authored-by: CRITAWAKETS <sebastienracicot@hotmail.com>
2020-08-15 00:53:05 +02:00

1226 lines
43 KiB
Plaintext

//Command
/obj/item/circuitboard/machine/bsa/back
name = "Bluespace Artillery Generator (Machine Board)"
icon_state = "command"
build_path = /obj/machinery/bsa/back //No freebies!
req_components = list(
/obj/item/stock_parts/capacitor/quadratic = 5,
/obj/item/stack/cable_coil = 2)
/obj/item/circuitboard/machine/bsa/front
name = "Bluespace Artillery Bore (Machine Board)"
icon_state = "command"
build_path = /obj/machinery/bsa/front
req_components = list(
/obj/item/stock_parts/manipulator/femto = 5,
/obj/item/stack/cable_coil = 2)
/obj/item/circuitboard/machine/bsa/middle
name = "Bluespace Artillery Fusor (Machine Board)"
icon_state = "command"
build_path = /obj/machinery/bsa/middle
req_components = list(
/obj/item/stack/ore/bluespace_crystal = 20,
/obj/item/stack/cable_coil = 2)
/obj/item/circuitboard/machine/dna_vault
name = "DNA Vault (Machine Board)"
icon_state = "command"
build_path = /obj/machinery/dna_vault //No freebies!
req_components = list(
/obj/item/stock_parts/capacitor/super = 5,
/obj/item/stock_parts/manipulator/pico = 5,
/obj/item/stack/cable_coil = 2)
//Engineering
/obj/item/circuitboard/machine/announcement_system
name = "Announcement System (Machine Board)"
icon_state = "engineering"
build_path = /obj/machinery/announcement_system
req_components = list(
/obj/item/stack/cable_coil = 2,
/obj/item/stack/sheet/glass = 1)
/obj/item/circuitboard/machine/autolathe
name = "Autolathe (Machine Board)"
icon_state = "engineering"
build_path = /obj/machinery/autolathe
req_components = list(
/obj/item/stock_parts/matter_bin = 3,
/obj/item/stock_parts/manipulator = 1,
/obj/item/stack/sheet/glass = 1)
/obj/item/circuitboard/machine/grounding_rod
name = "Grounding Rod (Machine Board)"
icon_state = "engineering"
build_path = /obj/machinery/power/grounding_rod
req_components = list(/obj/item/stock_parts/capacitor = 1)
needs_anchored = FALSE
/obj/item/circuitboard/machine/telecomms/broadcaster
name = "Subspace Broadcaster (Machine Board)"
icon_state = "engineering"
build_path = /obj/machinery/telecomms/broadcaster
req_components = list(
/obj/item/stock_parts/manipulator = 2,
/obj/item/stack/cable_coil = 1,
/obj/item/stock_parts/subspace/filter = 1,
/obj/item/stock_parts/subspace/crystal = 1,
/obj/item/stock_parts/micro_laser = 2)
/obj/item/circuitboard/machine/telecomms/bus
name = "Bus Mainframe (Machine Board)"
icon_state = "engineering"
build_path = /obj/machinery/telecomms/bus
req_components = list(
/obj/item/stock_parts/manipulator = 2,
/obj/item/stack/cable_coil = 1,
/obj/item/stock_parts/subspace/filter = 1)
/obj/item/circuitboard/machine/telecomms/hub
name = "Hub Mainframe (Machine Board)"
icon_state = "engineering"
build_path = /obj/machinery/telecomms/hub
req_components = list(
/obj/item/stock_parts/manipulator = 2,
/obj/item/stack/cable_coil = 2,
/obj/item/stock_parts/subspace/filter = 2)
/obj/item/circuitboard/machine/telecomms/message_server
name = "Messaging Server (Machine Board)"
icon_state = "engineering"
build_path = /obj/machinery/telecomms/message_server
req_components = list(
/obj/item/stock_parts/manipulator = 2,
/obj/item/stack/cable_coil = 1,
/obj/item/stock_parts/subspace/filter = 3)
/obj/item/circuitboard/machine/telecomms/processor
name = "Processor Unit (Machine Board)"
icon_state = "engineering"
build_path = /obj/machinery/telecomms/processor
req_components = list(
/obj/item/stock_parts/manipulator = 3,
/obj/item/stock_parts/subspace/filter = 1,
/obj/item/stock_parts/subspace/treatment = 2,
/obj/item/stock_parts/subspace/analyzer = 1,
/obj/item/stack/cable_coil = 2,
/obj/item/stock_parts/subspace/amplifier = 1)
/obj/item/circuitboard/machine/telecomms/receiver
name = "Subspace Receiver (Machine Board)"
icon_state = "engineering"
build_path = /obj/machinery/telecomms/receiver
req_components = list(
/obj/item/stock_parts/subspace/ansible = 1,
/obj/item/stock_parts/subspace/filter = 1,
/obj/item/stock_parts/manipulator = 2,
/obj/item/stock_parts/micro_laser = 1)
/obj/item/circuitboard/machine/telecomms/relay
name = "Relay Mainframe (Machine Board)"
icon_state = "engineering"
build_path = /obj/machinery/telecomms/relay
req_components = list(
/obj/item/stock_parts/manipulator = 2,
/obj/item/stack/cable_coil = 2,
/obj/item/stock_parts/subspace/filter = 2)
/obj/item/circuitboard/machine/telecomms/server
name = "Telecommunication Server (Machine Board)"
icon_state = "engineering"
build_path = /obj/machinery/telecomms/server
req_components = list(
/obj/item/stock_parts/manipulator = 2,
/obj/item/stack/cable_coil = 1,
/obj/item/stock_parts/subspace/filter = 1)
/obj/item/circuitboard/machine/tesla_coil
name = "Tesla Controller (Machine Board)"
icon_state = "engineering"
desc = "You can use a screwdriver to switch between Research and Power Generation."
build_path = /obj/machinery/power/tesla_coil
req_components = list(/obj/item/stock_parts/capacitor = 1)
needs_anchored = FALSE
/obj/item/circuitboard/machine/cell_charger
name = "Cell Charger (Machine Board)"
icon_state = "engineering"
build_path = /obj/machinery/cell_charger
req_components = list(/obj/item/stock_parts/capacitor = 1)
needs_anchored = FALSE
/obj/item/circuitboard/machine/circulator
name = "Circulator/Heat Exchanger (Machine Board)"
icon_state = "engineering"
build_path = /obj/machinery/atmospherics/components/binary/circulator
req_components = list()
/obj/item/circuitboard/machine/emitter
name = "Emitter (Machine Board)"
icon_state = "engineering"
build_path = /obj/machinery/power/emitter
req_components = list(
/obj/item/stock_parts/micro_laser = 1,
/obj/item/stock_parts/manipulator = 1)
needs_anchored = FALSE
/obj/item/circuitboard/machine/generator
name = "Thermo-Electric Generator (Machine Board)"
icon_state = "engineering"
build_path = /obj/machinery/power/generator
req_components = list()
/obj/item/circuitboard/machine/ntnet_relay
name = "NTNet Relay (Machine Board)"
icon_state = "engineering"
build_path = /obj/machinery/ntnet_relay
req_components = list(
/obj/item/stack/cable_coil = 2,
/obj/item/stock_parts/subspace/filter = 1)
/obj/item/circuitboard/machine/pacman
name = "PACMAN-type Generator (Machine Board)"
icon_state = "engineering"
build_path = /obj/machinery/power/port_gen/pacman
req_components = list(
/obj/item/stock_parts/matter_bin = 1,
/obj/item/stock_parts/micro_laser = 1,
/obj/item/stack/cable_coil = 2,
/obj/item/stock_parts/capacitor = 1)
needs_anchored = FALSE
/obj/item/circuitboard/machine/pacman/super
name = "SUPERPACMAN-type Generator (Machine Board)"
icon_state = "engineering"
build_path = /obj/machinery/power/port_gen/pacman/super
/obj/item/circuitboard/machine/power_compressor
name = "Power Compressor (Machine Board)"
icon_state = "engineering"
build_path = /obj/machinery/power/compressor
req_components = list(
/obj/item/stack/cable_coil = 5,
/obj/item/stock_parts/manipulator = 6)
/obj/item/circuitboard/machine/power_turbine
name = "Power Turbine (Machine Board)"
icon_state = "engineering"
build_path = /obj/machinery/power/turbine
req_components = list(
/obj/item/stack/cable_coil = 5,
/obj/item/stock_parts/capacitor = 6)
/obj/item/circuitboard/machine/protolathe/department/engineering
name = "Departmental Protolathe (Machine Board) - Engineering"
icon_state = "engineering"
build_path = /obj/machinery/rnd/production/protolathe/department/engineering
/obj/item/circuitboard/machine/rad_collector
name = "Radiation Collector (Machine Board)"
icon_state = "engineering"
build_path = /obj/machinery/power/rad_collector
req_components = list(
/obj/item/stack/cable_coil = 5,
/obj/item/stock_parts/matter_bin = 1,
/obj/item/stack/sheet/plasmarglass = 2,
/obj/item/stock_parts/capacitor = 1,
/obj/item/stock_parts/manipulator = 1)
needs_anchored = FALSE
/obj/item/circuitboard/machine/rtg
name = "RTG (Machine Board)"
icon_state = "engineering"
build_path = /obj/machinery/power/rtg
req_components = list(
/obj/item/stack/cable_coil = 5,
/obj/item/stock_parts/capacitor = 1,
/obj/item/stack/sheet/mineral/uranium = 10) // We have no Pu-238, and this is the closest thing to it.
/obj/item/circuitboard/machine/rtg/advanced
name = "Advanced RTG (Machine Board)"
build_path = /obj/machinery/power/rtg/advanced
req_components = list(
/obj/item/stack/cable_coil = 5,
/obj/item/stock_parts/capacitor = 1,
/obj/item/stock_parts/micro_laser = 1,
/obj/item/stack/sheet/mineral/uranium = 10,
/obj/item/stack/sheet/mineral/plasma = 5)
/obj/item/circuitboard/machine/scanner_gate
name = "Scanner Gate (Machine Board)"
icon_state = "engineering"
build_path = /obj/machinery/scanner_gate
req_components = list(
/obj/item/stock_parts/scanning_module = 3)
/obj/item/circuitboard/machine/smes
name = "SMES (Machine Board)"
icon_state = "engineering"
build_path = /obj/machinery/power/smes
req_components = list(
/obj/item/stack/cable_coil = 5,
/obj/item/stock_parts/cell = 5,
/obj/item/stock_parts/capacitor = 1)
def_components = list(/obj/item/stock_parts/cell = /obj/item/stock_parts/cell/high/empty)
/obj/item/circuitboard/machine/techfab/department/engineering
name = "\improper Departmental Techfab (Machine Board) - Engineering"
build_path = /obj/machinery/rnd/production/techfab/department/engineering
/obj/item/circuitboard/machine/thermomachine
name = "Thermomachine (Machine Board)"
icon_state = "engineering"
desc = "You can use a screwdriver to switch between heater and freezer."
var/pipe_layer = PIPING_LAYER_DEFAULT
req_components = list(
/obj/item/stock_parts/matter_bin = 2,
/obj/item/stock_parts/micro_laser = 2,
/obj/item/stack/cable_coil = 1,
/obj/item/stack/sheet/glass = 1)
#define PATH_FREEZER /obj/machinery/atmospherics/components/unary/thermomachine/freezer
#define PATH_HEATER /obj/machinery/atmospherics/components/unary/thermomachine/heater
/obj/item/circuitboard/machine/thermomachine/Initialize()
. = ..()
if(!build_path)
if(prob(50))
name = "Freezer (Machine Board)"
build_path = PATH_FREEZER
else
name = "Heater (Machine Board)"
build_path = PATH_HEATER
/obj/item/circuitboard/machine/thermomachine/attackby(obj/item/I, mob/user, params)
if(I.tool_behaviour == TOOL_SCREWDRIVER)
var/obj/item/circuitboard/new_type
var/new_setting
switch(build_path)
if(PATH_FREEZER)
new_type = /obj/item/circuitboard/machine/thermomachine/heater
new_setting = "Heater"
if(PATH_HEATER)
new_type = /obj/item/circuitboard/machine/thermomachine/freezer
new_setting = "Freezer"
name = initial(new_type.name)
build_path = initial(new_type.build_path)
I.play_tool_sound(src)
to_chat(user, "<span class='notice'>You change the circuitboard setting to \"[new_setting]\".</span>")
return
if(I.tool_behaviour == TOOL_MULTITOOL)
pipe_layer = (pipe_layer >= PIPING_LAYER_MAX) ? PIPING_LAYER_MIN : (pipe_layer + 1)
to_chat(user, "<span class='notice'>You change the circuitboard to layer [pipe_layer].</span>")
return
. = ..()
/obj/item/circuitboard/machine/thermomachine/examine()
. = ..()
. += "<span class='notice'>It is set to layer [pipe_layer].</span>"
/obj/item/circuitboard/machine/thermomachine/heater
name = "Heater (Machine Board)"
build_path = PATH_HEATER
/obj/item/circuitboard/machine/thermomachine/freezer
name = "Freezer (Machine Board)"
build_path = PATH_FREEZER
#undef PATH_FREEZER
#undef PATH_HEATER
//Generic
/obj/item/circuitboard/machine/circuit_imprinter
name = "Circuit Imprinter (Machine Board)"
icon_state = "generic"
build_path = /obj/machinery/rnd/production/circuit_imprinter
req_components = list(
/obj/item/stock_parts/matter_bin = 1,
/obj/item/stock_parts/manipulator = 1,
/obj/item/reagent_containers/glass/beaker = 2)
/obj/item/circuitboard/machine/circuit_imprinter/department
name = "Departmental Circuit Imprinter (Machine Board)"
icon_state = "generic"
build_path = /obj/machinery/rnd/production/circuit_imprinter/department
/obj/item/circuitboard/machine/holopad
name = "AI Holopad (Machine Board)"
icon_state = "generic"
build_path = /obj/machinery/holopad
req_components = list(/obj/item/stock_parts/capacitor = 1)
needs_anchored = FALSE //wew lad
var/secure = FALSE
/obj/item/circuitboard/machine/holopad/attackby(obj/item/P, mob/user, params)
if(P.tool_behaviour == TOOL_MULTITOOL)
if(secure)
build_path = /obj/machinery/holopad
secure = FALSE
else
build_path = /obj/machinery/holopad/secure
secure = TRUE
to_chat(user, "<span class='notice'>You [secure? "en" : "dis"]able the security on the [src]</span>")
. = ..()
/obj/item/circuitboard/machine/holopad/examine(mob/user)
. = ..()
. += "There is a connection port on this board that could be <b>pulsed</b>"
if(secure)
. += "There is a red light flashing next to the word \"secure\""
/obj/item/circuitboard/machine/launchpad
name = "Bluespace Launchpad (Machine Board)"
icon_state = "generic"
build_path = /obj/machinery/launchpad
req_components = list(
/obj/item/stack/ore/bluespace_crystal = 1,
/obj/item/stock_parts/manipulator = 1)
def_components = list(/obj/item/stack/ore/bluespace_crystal = /obj/item/stack/ore/bluespace_crystal/artificial)
/obj/item/circuitboard/machine/paystand
name = "Pay Stand (Machine Board)"
icon_state = "generic"
build_path = /obj/machinery/paystand
req_components = list()
/obj/item/circuitboard/machine/protolathe
name = "Protolathe (Machine Board)"
icon_state = "generic"
build_path = /obj/machinery/rnd/production/protolathe
req_components = list(
/obj/item/stock_parts/matter_bin = 2,
/obj/item/stock_parts/manipulator = 2,
/obj/item/reagent_containers/glass/beaker = 2)
/obj/item/circuitboard/machine/protolathe/department
name = "Departmental Protolathe (Machine Board)"
icon_state = "generic"
build_path = /obj/machinery/rnd/production/protolathe/department
/obj/item/circuitboard/machine/reagentgrinder
name = "Machine Design (All-In-One Grinder)"
icon_state = "generic"
build_path = /obj/machinery/reagentgrinder/constructed
req_components = list(
/obj/item/stock_parts/manipulator = 1)
needs_anchored = FALSE
/obj/item/circuitboard/machine/smartfridge
name = "Smartfridge (Machine Board)"
build_path = /obj/machinery/smartfridge
req_components = list(/obj/item/stock_parts/matter_bin = 1)
var/static/list/fridges_name_paths = list(/obj/machinery/smartfridge = "plant produce",
/obj/machinery/smartfridge/food = "food",
/obj/machinery/smartfridge/drinks = "drinks",
/obj/machinery/smartfridge/extract = "slimes",
/obj/machinery/smartfridge/organ = "organs",
/obj/machinery/smartfridge/chemistry = "chems",
/obj/machinery/smartfridge/chemistry/virology = "viruses",
/obj/machinery/smartfridge/disks = "disks")
needs_anchored = FALSE
var/is_special_type = FALSE
/obj/item/circuitboard/machine/smartfridge/apply_default_parts(obj/machinery/smartfridge/M)
build_path = M.base_build_path
if(!fridges_name_paths.Find(build_path, fridges_name_paths))
name = "[initial(M.name)] (Machine Board)" //if it's a unique type, give it a unique name.
is_special_type = TRUE
return ..()
/obj/item/circuitboard/machine/smartfridge/attackby(obj/item/I, mob/user, params)
if(!is_special_type && I.tool_behaviour == TOOL_SCREWDRIVER)
var/position = fridges_name_paths.Find(build_path, fridges_name_paths)
position = (position == fridges_name_paths.len) ? 1 : (position + 1)
build_path = fridges_name_paths[position]
to_chat(user, "<span class='notice'>You set the board to [fridges_name_paths[build_path]].</span>")
else
return ..()
/obj/item/circuitboard/machine/smartfridge/examine(mob/user)
. = ..()
if(is_special_type)
return
. += "<span class='info'>[src] is set to [fridges_name_paths[build_path]]. You can use a screwdriver to reconfigure it.</span>"
/obj/item/circuitboard/machine/space_heater
name = "Space Heater (Machine Board)"
icon_state = "generic"
build_path = /obj/machinery/space_heater
req_components = list(
/obj/item/stock_parts/micro_laser = 1,
/obj/item/stock_parts/capacitor = 1,
/obj/item/stack/cable_coil = 3)
needs_anchored = FALSE
/obj/item/circuitboard/machine/electrolyzer
name = "Electrolyzer (Machine Board)"
icon_state = "generic"
build_path = /obj/machinery/electrolyzer
req_components = list(
/obj/item/stock_parts/electrolite = 2,
/obj/item/stock_parts/capacitor = 2,
/obj/item/stack/cable_coil = 5,
/obj/item/stack/sheet/glass = 1)
needs_anchored = FALSE
/obj/item/circuitboard/machine/techfab
name = "\improper Techfab (Machine Board)"
icon_state = "generic"
build_path = /obj/machinery/rnd/production/techfab
req_components = list(
/obj/item/stock_parts/matter_bin = 2,
/obj/item/stock_parts/manipulator = 2,
/obj/item/reagent_containers/glass/beaker = 2)
/obj/item/circuitboard/machine/techfab/department
name = "\improper Departmental Techfab (Machine Board)"
build_path = /obj/machinery/rnd/production/techfab/department
/obj/item/circuitboard/machine/vendor
name = "Custom Vendor (Machine Board)"
desc = "You can turn the \"brand selection\" dial using a screwdriver."
custom_premium_price = 100
build_path = /obj/machinery/vending/custom
req_components = list(/obj/item/vending_refill/custom = 1)
var/static/list/vending_names_paths = list(
/obj/machinery/vending/boozeomat = "Booze-O-Mat",
/obj/machinery/vending/coffee = "Solar's Best Hot Drinks",
/obj/machinery/vending/snack = "Getmore Chocolate Corp",
/obj/machinery/vending/cola = "Robust Softdrinks",
/obj/machinery/vending/cigarette = "ShadyCigs Deluxe",
/obj/machinery/vending/games = "\improper Good Clean Fun",
/obj/machinery/vending/autodrobe = "AutoDrobe",
/obj/machinery/vending/wardrobe/sec_wardrobe = "SecDrobe",
/obj/machinery/vending/wardrobe/medi_wardrobe = "MediDrobe",
/obj/machinery/vending/wardrobe/engi_wardrobe = "EngiDrobe",
/obj/machinery/vending/wardrobe/atmos_wardrobe = "AtmosDrobe",
/obj/machinery/vending/wardrobe/cargo_wardrobe = "CargoDrobe",
/obj/machinery/vending/wardrobe/robo_wardrobe = "RoboDrobe",
/obj/machinery/vending/wardrobe/science_wardrobe = "SciDrobe",
/obj/machinery/vending/wardrobe/hydro_wardrobe = "HyDrobe",
/obj/machinery/vending/wardrobe/curator_wardrobe = "CuraDrobe",
/obj/machinery/vending/wardrobe/bar_wardrobe = "BarDrobe",
/obj/machinery/vending/wardrobe/chef_wardrobe = "ChefDrobe",
/obj/machinery/vending/wardrobe/jani_wardrobe = "JaniDrobe",
/obj/machinery/vending/wardrobe/law_wardrobe = "LawDrobe",
/obj/machinery/vending/wardrobe/chap_wardrobe = "ChapDrobe",
/obj/machinery/vending/wardrobe/chem_wardrobe = "ChemDrobe",
/obj/machinery/vending/wardrobe/gene_wardrobe = "GeneDrobe",
/obj/machinery/vending/wardrobe/viro_wardrobe = "ViroDrobe",
/obj/machinery/vending/clothing = "ClothesMate",
/obj/machinery/vending/medical = "NanoMed Plus",
/obj/machinery/vending/wallmed = "NanoMed",
/obj/machinery/vending/assist = "Vendomat",
/obj/machinery/vending/engivend = "Engi-Vend",
/obj/machinery/vending/hydronutrients = "NutriMax",
/obj/machinery/vending/hydroseeds = "MegaSeed Servitor",
/obj/machinery/vending/sustenance = "Sustenance Vendor",
/obj/machinery/vending/dinnerware = "Plasteel Chef's Dinnerware Vendor",
/obj/machinery/vending/cart = "PTech",
/obj/machinery/vending/robotics = "Robotech Deluxe",
/obj/machinery/vending/engineering = "Robco Tool Maker",
/obj/machinery/vending/sovietsoda = "BODA",
/obj/machinery/vending/security = "SecTech",
/obj/machinery/vending/modularpc = "Deluxe Silicate Selections",
/obj/machinery/vending/custom = "Custom Vendor")
/obj/item/circuitboard/machine/vendor/attackby(obj/item/I, mob/user, params)
if(I.tool_behaviour == TOOL_SCREWDRIVER)
var/static/list/display_vending_names_paths
if(!display_vending_names_paths)
display_vending_names_paths = list()
for(var/path in vending_names_paths)
display_vending_names_paths[vending_names_paths[path]] = path
var/choice = input(user,"Choose a new brand","Select an Item") as null|anything in sortList(display_vending_names_paths)
set_type(display_vending_names_paths[choice])
else
return ..()
/obj/item/circuitboard/machine/vendor/proc/set_type(obj/machinery/vending/typepath)
build_path = typepath
name = "[vending_names_paths[build_path]] Vendor (Machine Board)"
req_components = list(initial(typepath.refill_canister) = 1)
/obj/item/circuitboard/machine/vendor/apply_default_parts(obj/machinery/M)
for(var/typepath in vending_names_paths)
if(istype(M, typepath))
set_type(typepath)
break
return ..()
/obj/item/circuitboard/machine/vending/donksofttoyvendor
name = "Donksoft Toy Vendor (Machine Board)"
build_path = /obj/machinery/vending/donksofttoyvendor
req_components = list(
/obj/item/stack/sheet/glass = 1,
/obj/item/vending_refill/donksoft = 1)
/obj/item/circuitboard/machine/vending/syndicatedonksofttoyvendor
name = "Syndicate Donksoft Toy Vendor (Machine Board)"
build_path = /obj/machinery/vending/toyliberationstation
req_components = list(
/obj/item/stack/sheet/glass = 1,
/obj/item/vending_refill/donksoft = 1)
/obj/item/circuitboard/machine/bountypad
name = "Civilian Bounty Pad (Machine Board)"
icon_state = "generic"
build_path = /obj/machinery/piratepad/civilian
req_components = list(
/obj/item/stock_parts/card_reader = 1,
/obj/item/stock_parts/scanning_module = 1,
/obj/item/stock_parts/micro_laser = 1
)
/obj/item/circuitboard/machine/accounting
name = "Account Registration Device (Machine Board)"
icon_state = "command"
build_path = /obj/machinery/accounting
req_components = list(
/obj/item/stock_parts/card_reader = 1,
/obj/item/stock_parts/scanning_module = 1
)
//Medical
/obj/item/circuitboard/machine/chem_dispenser
name = "Chem Dispenser (Machine Board)"
icon_state = "medical"
build_path = /obj/machinery/chem_dispenser
req_components = list(
/obj/item/stock_parts/matter_bin = 2,
/obj/item/stock_parts/capacitor = 1,
/obj/item/stock_parts/manipulator = 1,
/obj/item/stack/sheet/glass = 1,
/obj/item/stock_parts/cell = 1)
def_components = list(/obj/item/stock_parts/cell = /obj/item/stock_parts/cell/high)
needs_anchored = FALSE
/obj/item/circuitboard/machine/chem_dispenser/abductor
name = "Reagent Synthesizer (Abductor Machine Board)"
icon_state = "abductor_mod"
build_path = /obj/machinery/chem_dispenser/abductor
def_components = list(/obj/item/stock_parts/cell = /obj/item/stock_parts/cell/high)
needs_anchored = FALSE
/obj/item/circuitboard/machine/chem_heater
name = "Chemical Heater (Machine Board)"
icon_state = "medical"
build_path = /obj/machinery/chem_heater
req_components = list(
/obj/item/stock_parts/micro_laser = 1,
/obj/item/stack/sheet/glass = 1)
/obj/item/circuitboard/machine/chem_master
name = "ChemMaster 3000 (Machine Board)"
icon_state = "medical"
build_path = /obj/machinery/chem_master
desc = "You can turn the \"mode selection\" dial using a screwdriver."
req_components = list(
/obj/item/reagent_containers/glass/beaker = 2,
/obj/item/stock_parts/manipulator = 1,
/obj/item/stack/sheet/glass = 1)
needs_anchored = FALSE
/obj/item/circuitboard/machine/chem_master/attackby(obj/item/I, mob/user, params)
if(I.tool_behaviour == TOOL_SCREWDRIVER)
var/new_name = "ChemMaster"
var/new_path = /obj/machinery/chem_master
if(build_path == /obj/machinery/chem_master)
new_name = "CondiMaster"
new_path = /obj/machinery/chem_master/condimaster
build_path = new_path
name = "[new_name] 3000 (Machine Board)"
to_chat(user, "<span class='notice'>You change the circuit board setting to \"[new_name]\".</span>")
else
return ..()
/obj/item/circuitboard/machine/cryo_tube
name = "Cryotube (Machine Board)"
icon_state = "medical"
build_path = /obj/machinery/atmospherics/components/unary/cryo_cell
req_components = list(
/obj/item/stock_parts/matter_bin = 1,
/obj/item/stack/cable_coil = 1,
/obj/item/stack/sheet/glass = 4)
/obj/item/circuitboard/machine/fat_sucker
name = "Lipid Extractor (Machine Board)"
icon_state = "medical"
build_path = /obj/machinery/fat_sucker
req_components = list(/obj/item/stock_parts/micro_laser = 1,
/obj/item/kitchen/fork = 1)
/obj/item/circuitboard/machine/harvester
name = "Harvester (Machine Board)"
icon_state = "medical"
build_path = /obj/machinery/harvester
req_components = list(/obj/item/stock_parts/micro_laser = 4)
/obj/item/circuitboard/machine/medical_kiosk
name = "Medical Kiosk (Machine Board)"
icon_state = "medical"
build_path = /obj/machinery/medical_kiosk
var/custom_cost = 10
req_components = list(
/obj/item/healthanalyzer = 1,
/obj/item/stock_parts/scanning_module = 1)
/obj/item/circuitboard/machine/medical_kiosk/multitool_act(mob/living/user)
. = ..()
var/new_cost = input("Set a new cost for using this medical kiosk.","New cost", custom_cost) as num|null
if(!new_cost || (loc != user))
to_chat(user, "<span class='warning'>You must hold the circuitboard to change its cost!</span>")
return
custom_cost = clamp(round(new_cost, 1), 10, 1000)
to_chat(user, "<span class='notice'>The cost is now set to [custom_cost].</span>")
/obj/item/circuitboard/machine/medical_kiosk/examine(mob/user)
. = ..()
. += "The cost to use this kiosk is set to [custom_cost]."
/obj/item/circuitboard/machine/limbgrower
name = "Limb Grower (Machine Board)"
icon_state = "medical"
build_path = /obj/machinery/limbgrower
req_components = list(
/obj/item/stock_parts/manipulator = 1,
/obj/item/reagent_containers/glass/beaker = 2,
/obj/item/stack/sheet/glass = 1)
/obj/item/circuitboard/machine/protolathe/department/medical
name = "Departmental Protolathe (Machine Board) - Medical"
icon_state = "medical"
build_path = /obj/machinery/rnd/production/protolathe/department/medical
/obj/item/circuitboard/machine/sleeper
name = "Sleeper (Machine Board)"
icon_state = "medical"
build_path = /obj/machinery/sleeper
req_components = list(
/obj/item/stock_parts/matter_bin = 1,
/obj/item/stock_parts/manipulator = 1,
/obj/item/stack/cable_coil = 1,
/obj/item/stack/sheet/glass = 2)
/obj/item/circuitboard/machine/sleeper/party
name = "Party Pod (Machine Board)"
build_path = /obj/machinery/sleeper/party
/obj/item/circuitboard/machine/smoke_machine
name = "Smoke Machine (Machine Board)"
icon_state = "medical"
build_path = /obj/machinery/smoke_machine
req_components = list(
/obj/item/stock_parts/matter_bin = 2,
/obj/item/stock_parts/capacitor = 1,
/obj/item/stock_parts/manipulator = 1,
/obj/item/stack/sheet/glass = 1,
/obj/item/stock_parts/cell = 1)
needs_anchored = FALSE
/obj/item/circuitboard/machine/stasis
name = "Lifeform Stasis Unit (Machine Board)"
icon_state = "medical"
build_path = /obj/machinery/stasis
req_components = list(
/obj/item/stack/cable_coil = 3,
/obj/item/stock_parts/manipulator = 1,
/obj/item/stock_parts/capacitor = 1)
/obj/item/circuitboard/machine/medipen_refiller
name = "Medipen Refiller (Machine Board)"
icon_state = "medical"
build_path = /obj/machinery/medipen_refiller
req_components = list(
/obj/item/stock_parts/matter_bin = 1)
/obj/item/circuitboard/machine/techfab/department/medical
name = "\improper Departmental Techfab (Machine Board) - Medical"
icon_state = "medical"
build_path = /obj/machinery/rnd/production/techfab/department/medical
//Science
/obj/item/circuitboard/machine/circuit_imprinter/department/science
name = "Departmental Circuit Imprinter - Science (Machine Board)"
icon_state = "science"
build_path = /obj/machinery/rnd/production/circuit_imprinter/department/science
/obj/item/circuitboard/machine/cyborgrecharger
name = "Cyborg Recharger (Machine Board)"
icon_state = "science"
build_path = /obj/machinery/recharge_station
req_components = list(
/obj/item/stock_parts/capacitor = 2,
/obj/item/stock_parts/cell = 1,
/obj/item/stock_parts/manipulator = 1)
def_components = list(/obj/item/stock_parts/cell = /obj/item/stock_parts/cell/high)
/obj/item/circuitboard/machine/destructive_analyzer
name = "Destructive Analyzer (Machine Board)"
icon_state = "science"
build_path = /obj/machinery/rnd/destructive_analyzer
req_components = list(
/obj/item/stock_parts/scanning_module = 1,
/obj/item/stock_parts/manipulator = 1,
/obj/item/stock_parts/micro_laser = 1)
/obj/item/circuitboard/machine/experimentor
name = "E.X.P.E.R.I-MENTOR (Machine Board)"
icon_state = "science"
build_path = /obj/machinery/rnd/experimentor
req_components = list(
/obj/item/stock_parts/scanning_module = 1,
/obj/item/stock_parts/manipulator = 2,
/obj/item/stock_parts/micro_laser = 2)
/obj/item/circuitboard/machine/mech_recharger
name = "Mechbay Recharger (Machine Board)"
icon_state = "science"
build_path = /obj/machinery/mech_bay_recharge_port
req_components = list(
/obj/item/stack/cable_coil = 2,
/obj/item/stock_parts/capacitor = 5)
/obj/item/circuitboard/machine/mechfab
name = "Exosuit Fabricator (Machine Board)"
icon_state = "science"
build_path = /obj/machinery/mecha_part_fabricator
req_components = list(
/obj/item/stock_parts/matter_bin = 2,
/obj/item/stock_parts/manipulator = 1,
/obj/item/stock_parts/micro_laser = 1,
/obj/item/stack/sheet/glass = 1)
/obj/item/circuitboard/machine/monkey_recycler
name = "Monkey Recycler (Machine Board)"
icon_state = "science"
build_path = /obj/machinery/monkey_recycler
req_components = list(
/obj/item/stock_parts/matter_bin = 1,
/obj/item/stock_parts/manipulator = 1)
needs_anchored = FALSE
/obj/item/circuitboard/machine/nanite_chamber
name = "Nanite Chamber (Machine Board)"
icon_state = "science"
build_path = /obj/machinery/nanite_chamber
req_components = list(
/obj/item/stock_parts/scanning_module = 2,
/obj/item/stock_parts/micro_laser = 2,
/obj/item/stock_parts/manipulator = 1)
/obj/item/circuitboard/machine/nanite_program_hub
name = "Nanite Program Hub (Machine Board)"
icon_state = "science"
build_path = /obj/machinery/nanite_program_hub
req_components = list(
/obj/item/stock_parts/matter_bin = 1,
/obj/item/stock_parts/manipulator = 1)
/obj/item/circuitboard/machine/nanite_programmer
name = "Nanite Programmer (Machine Board)"
icon_state = "science"
build_path = /obj/machinery/nanite_programmer
req_components = list(
/obj/item/stock_parts/manipulator = 2,
/obj/item/stock_parts/micro_laser = 2,
/obj/item/stock_parts/scanning_module = 1)
/obj/item/circuitboard/machine/processor/slime
name = "Slime Processor (Machine Board)"
icon_state = "science"
build_path = /obj/machinery/processor/slime
/obj/item/circuitboard/machine/protolathe/department/science
name = "Departmental Protolathe (Machine Board) - Science"
icon_state = "science"
build_path = /obj/machinery/rnd/production/protolathe/department/science
/obj/item/circuitboard/machine/public_nanite_chamber
name = "Public Nanite Chamber (Machine Board)"
icon_state = "science"
build_path = /obj/machinery/public_nanite_chamber
var/cloud_id = 1
req_components = list(
/obj/item/stock_parts/micro_laser = 2,
/obj/item/stock_parts/manipulator = 1)
/obj/item/circuitboard/machine/public_nanite_chamber/multitool_act(mob/living/user)
. = ..()
var/new_cloud = input("Set the public nanite chamber's Cloud ID (1-100).", "Cloud ID", cloud_id) as num|null
if(!new_cloud || (loc != user))
to_chat(user, "<span class='warning'>You must hold the circuitboard to change its Cloud ID!</span>")
return
cloud_id = clamp(round(new_cloud, 1), 1, 100)
/obj/item/circuitboard/machine/public_nanite_chamber/examine(mob/user)
. = ..()
. += "Cloud ID is currently set to [cloud_id]."
/obj/item/circuitboard/machine/quantumpad
name = "Quantum Pad (Machine Board)"
icon_state = "science"
build_path = /obj/machinery/quantumpad
req_components = list(
/obj/item/stack/ore/bluespace_crystal = 1,
/obj/item/stock_parts/capacitor = 1,
/obj/item/stock_parts/manipulator = 1,
/obj/item/stack/cable_coil = 1)
def_components = list(/obj/item/stack/ore/bluespace_crystal = /obj/item/stack/ore/bluespace_crystal/artificial)
/obj/item/circuitboard/machine/rdserver
name = "R&D Server (Machine Board)"
icon_state = "science"
build_path = /obj/machinery/rnd/server
req_components = list(
/obj/item/stack/cable_coil = 2,
/obj/item/stock_parts/scanning_module = 1)
/obj/item/circuitboard/machine/techfab/department/science
name = "\improper Departmental Techfab (Machine Board) - Science"
icon_state = "science"
build_path = /obj/machinery/rnd/production/techfab/department/science
/obj/item/circuitboard/machine/teleporter_hub
name = "Teleporter Hub (Machine Board)"
icon_state = "science"
build_path = /obj/machinery/teleport/hub
req_components = list(
/obj/item/stack/ore/bluespace_crystal = 3,
/obj/item/stock_parts/matter_bin = 1)
def_components = list(/obj/item/stack/ore/bluespace_crystal = /obj/item/stack/ore/bluespace_crystal/artificial)
/obj/item/circuitboard/machine/teleporter_station
name = "Teleporter Station (Machine Board)"
icon_state = "science"
build_path = /obj/machinery/teleport/station
req_components = list(
/obj/item/stack/ore/bluespace_crystal = 2,
/obj/item/stock_parts/capacitor = 2,
/obj/item/stack/sheet/glass = 1)
def_components = list(/obj/item/stack/ore/bluespace_crystal = /obj/item/stack/ore/bluespace_crystal/artificial)
/obj/item/circuitboard/machine/dnascanner
name = "DNA Scanner (Machine Board)"
icon_state = "science"
build_path = /obj/machinery/dna_scannernew
req_components = list(
/obj/item/stock_parts/scanning_module = 1,
/obj/item/stock_parts/matter_bin = 1,
/obj/item/stock_parts/micro_laser = 1,
/obj/item/stack/sheet/glass = 1,
/obj/item/stack/cable_coil = 2)
/obj/item/circuitboard/machine/mechpad
name = "Mecha Orbital Pad (Machine Board)"
icon_state = "science"
build_path = /obj/machinery/mechpad
req_components = list()
//Security
/obj/item/circuitboard/machine/protolathe/department/security
name = "Departmental Protolathe (Machine Board) - Security"
icon_state = "security"
build_path = /obj/machinery/rnd/production/protolathe/department/security
/obj/item/circuitboard/machine/recharger
name = "Weapon Recharger (Machine Board)"
icon_state = "security"
build_path = /obj/machinery/recharger
req_components = list(/obj/item/stock_parts/capacitor = 1)
needs_anchored = FALSE
/obj/item/circuitboard/machine/techfab/department/security
name = "\improper Departmental Techfab (Machine Board) - Security"
icon_state = "security"
build_path = /obj/machinery/rnd/production/techfab/department/security
//Service
/obj/item/circuitboard/machine/biogenerator
name = "Biogenerator (Machine Board)"
icon_state = "service"
build_path = /obj/machinery/biogenerator
req_components = list(
/obj/item/stock_parts/matter_bin = 1,
/obj/item/stock_parts/manipulator = 1,
/obj/item/stack/cable_coil = 1,
/obj/item/stack/sheet/glass = 1)
/obj/item/circuitboard/machine/chem_dispenser/drinks
name = "Soda Dispenser (Machine Board)"
icon_state = "service"
build_path = /obj/machinery/chem_dispenser/drinks
/obj/item/circuitboard/machine/chem_dispenser/drinks/beer
name = "Booze Dispenser (Machine Board)"
icon_state = "service"
build_path = /obj/machinery/chem_dispenser/drinks/beer
/obj/item/circuitboard/machine/chem_master/condi
name = "CondiMaster 3000 (Machine Board)"
icon_state = "service"
build_path = /obj/machinery/chem_master/condimaster
/obj/item/circuitboard/machine/deep_fryer
name = "circuit board (Deep Fryer)"
icon_state = "service"
build_path = /obj/machinery/deepfryer
req_components = list(/obj/item/stock_parts/micro_laser = 1)
needs_anchored = FALSE
/obj/item/circuitboard/machine/dish_drive
name = "Dish Drive (Machine Board)"
icon_state = "service"
build_path = /obj/machinery/dish_drive
req_components = list(
/obj/item/stack/sheet/glass = 1,
/obj/item/stock_parts/manipulator = 1,
/obj/item/stock_parts/matter_bin = 2)
var/suction = TRUE
var/transmit = TRUE
needs_anchored = FALSE
/obj/item/circuitboard/machine/dish_drive/examine(mob/user)
. = ..()
. += "<span class='notice'>Its suction function is [suction ? "enabled" : "disabled"]. Use it in-hand to switch.</span>"
. += "<span class='notice'>Its disposal auto-transmit function is [transmit ? "enabled" : "disabled"]. Alt-click it to switch.</span>"
/obj/item/circuitboard/machine/dish_drive/attack_self(mob/living/user)
suction = !suction
to_chat(user, "<span class='notice'>You [suction ? "enable" : "disable"] the board's suction function.</span>")
/obj/item/circuitboard/machine/dish_drive/AltClick(mob/living/user)
if(!user.Adjacent(src))
return
transmit = !transmit
to_chat(user, "<span class='notice'>You [transmit ? "enable" : "disable"] the board's automatic disposal transmission.</span>")
/obj/item/circuitboard/machine/gibber
name = "Gibber (Machine Board)"
icon_state = "service"
build_path = /obj/machinery/gibber
req_components = list(
/obj/item/stock_parts/matter_bin = 1,
/obj/item/stock_parts/manipulator = 1)
needs_anchored = FALSE
/obj/item/circuitboard/machine/hydroponics
name = "Hydroponics Tray (Machine Board)"
icon_state = "service"
build_path = /obj/machinery/hydroponics/constructable
req_components = list(
/obj/item/stock_parts/matter_bin = 2,
/obj/item/stock_parts/manipulator = 1,
/obj/item/stack/sheet/glass = 1)
needs_anchored = FALSE
/obj/item/circuitboard/machine/microwave
name = "Microwave (Machine Board)"
icon_state = "service"
build_path = /obj/machinery/microwave
req_components = list(
/obj/item/stock_parts/micro_laser = 1,
/obj/item/stock_parts/matter_bin = 1,
/obj/item/stack/cable_coil = 2,
/obj/item/stack/sheet/glass = 2)
needs_anchored = FALSE
/obj/item/circuitboard/machine/processor
name = "Food Processor (Machine Board)"
icon_state = "service"
build_path = /obj/machinery/processor
req_components = list(
/obj/item/stock_parts/matter_bin = 1,
/obj/item/stock_parts/manipulator = 1)
needs_anchored = FALSE
/obj/item/circuitboard/machine/processor/attackby(obj/item/I, mob/user, params)
if(I.tool_behaviour == TOOL_SCREWDRIVER)
if(build_path == /obj/machinery/processor)
name = "Slime Processor (Machine Board)"
build_path = /obj/machinery/processor/slime
to_chat(user, "<span class='notice'>Name protocols successfully updated.</span>")
else
name = "Food Processor (Machine Board)"
build_path = /obj/machinery/processor
to_chat(user, "<span class='notice'>Defaulting name protocols.</span>")
else
return ..()
/obj/item/circuitboard/machine/protolathe/department/service
name = "Departmental Protolathe - Service (Machine Board)"
icon_state = "service"
build_path = /obj/machinery/rnd/production/protolathe/department/service
/obj/item/circuitboard/machine/recycler
name = "Recycler (Machine Board)"
icon_state = "service"
build_path = /obj/machinery/recycler
req_components = list(
/obj/item/stock_parts/matter_bin = 1,
/obj/item/stock_parts/manipulator = 1)
needs_anchored = FALSE
/obj/item/circuitboard/machine/seed_extractor
name = "Seed Extractor (Machine Board)"
icon_state = "service"
build_path = /obj/machinery/seed_extractor
req_components = list(
/obj/item/stock_parts/matter_bin = 1,
/obj/item/stock_parts/manipulator = 1)
needs_anchored = FALSE
/obj/item/circuitboard/machine/techfab/department/service
name = "\improper Departmental Techfab - Service (Machine Board)"
icon_state = "service"
build_path = /obj/machinery/rnd/production/techfab/department/service
/obj/item/circuitboard/machine/vendatray
name = "Vend-A-Tray (Machine Board)"
icon_state = "service"
build_path = /obj/structure/displaycase/forsale
req_components = list(
/obj/item/stock_parts/card_reader = 1)
//Supply
/obj/item/circuitboard/machine/mining_equipment_vendor
name = "Mining Equipment Vendor (Machine Board)"
icon_state = "supply"
build_path = /obj/machinery/mineral/equipment_vendor
req_components = list(
/obj/item/stack/sheet/glass = 1,
/obj/item/stock_parts/matter_bin = 3)
/obj/item/circuitboard/machine/mining_equipment_vendor/golem
name = "Golem Ship Equipment Vendor (Machine Board)"
build_path = /obj/machinery/mineral/equipment_vendor/golem
/obj/item/circuitboard/machine/ore_redemption
name = "Ore Redemption (Machine Board)"
icon_state = "supply"
build_path = /obj/machinery/mineral/ore_redemption
req_components = list(
/obj/item/stack/sheet/glass = 1,
/obj/item/stock_parts/matter_bin = 1,
/obj/item/stock_parts/micro_laser = 1,
/obj/item/stock_parts/manipulator = 1,
/obj/item/assembly/igniter = 1)
needs_anchored = FALSE
/obj/item/circuitboard/machine/ore_silo
name = "Ore Silo (Machine Board)"
icon_state = "supply"
build_path = /obj/machinery/ore_silo
req_components = list()
/obj/item/circuitboard/machine/protolathe/department/cargo
name = "Departmental Protolathe (Machine Board) - Cargo"
icon_state = "supply"
build_path = /obj/machinery/rnd/production/protolathe/department/cargo
/obj/item/circuitboard/machine/stacking_machine
name = "Stacking Machine (Machine Board)"
icon_state = "supply"
build_path = /obj/machinery/mineral/stacking_machine
req_components = list(
/obj/item/stock_parts/manipulator = 2,
/obj/item/stock_parts/matter_bin = 2)
/obj/item/circuitboard/machine/stacking_unit_console
name = "Stacking Machine Console (Machine Board)"
icon_state = "supply"
build_path = /obj/machinery/mineral/stacking_unit_console
req_components = list(
/obj/item/stack/sheet/glass = 2,
/obj/item/stack/cable_coil = 5)
/obj/item/circuitboard/machine/techfab/department/cargo
name = "\improper Departmental Techfab (Machine Board) - Cargo"
icon_state = "supply"
build_path = /obj/machinery/rnd/production/techfab/department/cargo
/obj/item/circuitboard/machine/bepis
name = "BEPIS Chamber (Machine Board)"
icon_state = "supply"
build_path = /obj/machinery/rnd/bepis
req_components = list(
/obj/item/stack/cable_coil = 5,
/obj/item/stock_parts/capacitor = 1,
/obj/item/stock_parts/manipulator = 1,
/obj/item/stock_parts/micro_laser = 1,
/obj/item/stock_parts/scanning_module = 1)
//Misc
/obj/item/circuitboard/machine/sheetifier
name = "Sheet-meister 2000 (Machine Board)"
icon_state = "supply"
build_path = /obj/machinery/sheetifier
req_components = list(
/obj/item/stock_parts/manipulator = 2,
/obj/item/stock_parts/matter_bin = 2)
needs_anchored = FALSE
/obj/item/circuitboard/machine/abductor
name = "alien board (Report This)"
icon_state = "abductor_mod"
/obj/item/circuitboard/machine/abductor/core
name = "alien board (Void Core)"
build_path = /obj/machinery/power/rtg/abductor
req_components = list(
/obj/item/stock_parts/capacitor = 1,
/obj/item/stock_parts/micro_laser = 1,
/obj/item/stock_parts/cell/infinite/abductor = 1)
def_components = list(
/obj/item/stock_parts/capacitor = /obj/item/stock_parts/capacitor/quadratic,
/obj/item/stock_parts/micro_laser = /obj/item/stock_parts/micro_laser/quadultra)
/obj/item/circuitboard/machine/hypnochair
name = "Enhanced Interrogation Chamber (Machine Board)"
icon_state = "security"
build_path = /obj/machinery/hypnochair
req_components = list(
/obj/item/stock_parts/micro_laser = 2,
/obj/item/stock_parts/scanning_module = 2
)
/obj/item/circuitboard/machine/plumbing_receiver
name = "Chemical Recipient (Machine Board)"
icon_state = "medical"
build_path = /obj/machinery/plumbing/receiver
req_components = list(
/obj/item/stack/ore/bluespace_crystal = 1,
/obj/item/stock_parts/capacitor = 2,
/obj/item/stack/sheet/glass = 1)
def_components = list(/obj/item/stack/ore/bluespace_crystal = /obj/item/stack/ore/bluespace_crystal/artificial)
needs_anchored = FALSE
/obj/item/circuitboard/machine/skill_station
name = "Skill Station (Machine Board)"
build_path = /obj/machinery/skill_station
req_components = list(
/obj/item/stock_parts/matter_bin = 2,
/obj/item/stock_parts/micro_laser = 2,
/obj/item/stock_parts/scanning_module = 2
)