Files
S.P.L.U.R.T-Station-13/code/game/objects/items/circuitboards/machine_circuitboards.dm
2022-12-12 19:11:49 -07:00

1531 lines
54 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/autolathe/secure
name = "Secure Autolathe (Machine Board)"
build_path = /obj/machinery/autolathe/secure
// why is this not a subtype of autolathe?
/obj/item/circuitboard/machine/autolathe/toy
name = "Autoylathe (Machine Board)"
icon_state = "engineering"
build_path = /obj/machinery/autolathe/toy
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/tesla_coil
name = "Tesla Controller (Machine Board)"
desc = "You can use a screwdriver to switch between Research and Power Generation."
icon_state = "engineering"
build_path = /obj/machinery/power/tesla_coil
req_components = list(/obj/item/stock_parts/capacitor = 1)
needs_anchored = FALSE
#define PATH_POWERCOIL /obj/machinery/power/tesla_coil/power
#define PATH_RPCOIL /obj/machinery/power/tesla_coil/research
/obj/item/circuitboard/machine/tesla_coil/Initialize(mapload)
. = ..()
if(build_path)
build_path = PATH_POWERCOIL
/obj/item/circuitboard/machine/tesla_coil/attackby(obj/item/I, mob/user, params)
if(istype(I, /obj/item/screwdriver))
var/obj/item/circuitboard/new_type
var/new_setting
switch(build_path)
if(PATH_POWERCOIL)
new_type = /obj/item/circuitboard/machine/tesla_coil/research
new_setting = "Research"
if(PATH_RPCOIL)
new_type = /obj/item/circuitboard/machine/tesla_coil/power
new_setting = "Power"
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>")
else
return ..()
/obj/item/circuitboard/machine/tesla_coil/power
name = "Tesla Coil (Machine Board)"
build_path = PATH_POWERCOIL
/obj/item/circuitboard/machine/tesla_coil/research
name = "Tesla Corona Researcher (Machine Board)"
build_path = PATH_RPCOIL
#undef PATH_POWERCOIL
#undef PATH_RPCOIL
/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/pacman/mrs
name = "MRSPACMAN-type Generator (Machine Board)"
build_path = /obj/machinery/power/port_gen/pacman/mrs
/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)"
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(mapload)
. = ..()
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]. Use a Multitool on the circuit to change this.</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
// /obj/item/circuitboard/machine/HFR_fuel_input
// name = "HFR Fuel Input (Machine Board)"
// icon_state = "engineering"
// build_path = /obj/machinery/atmospherics/components/unary/hypertorus/fuel_input
// req_components = list(
// /obj/item/stack/sheet/plasteel = 5)
// /obj/item/circuitboard/machine/HFR_waste_output
// name = "HFR Waste Output (Machine Board)"
// icon_state = "engineering"
// build_path = /obj/machinery/atmospherics/components/unary/hypertorus/waste_output
// req_components = list(
// /obj/item/stack/sheet/plasteel = 5)
// /obj/item/circuitboard/machine/HFR_moderator_input
// name = "HFR Moderator Input (Machine Board)"
// icon_state = "engineering"
// build_path = /obj/machinery/atmospherics/components/unary/hypertorus/moderator_input
// req_components = list(
// /obj/item/stack/sheet/plasteel = 5)
// /obj/item/circuitboard/machine/HFR_core
// name = "HFR core (Machine Board)"
// icon_state = "engineering"
// build_path = /obj/machinery/atmospherics/components/unary/hypertorus/core
// req_components = list(
// /obj/item/stack/cable_coil = 10,
// /obj/item/stack/sheet/glass = 10,
// /obj/item/stack/sheet/plasteel = 10)
// /obj/item/circuitboard/machine/HFR_corner
// name = "HFR Corner (Machine Board)"
// icon_state = "engineering"
// build_path = /obj/machinery/hypertorus/corner
// req_components = list(
// /obj/item/stack/sheet/plasteel = 5)
// /obj/item/circuitboard/machine/HFR_interface
// name = "HFR Interface (Machine Board)"
// icon_state = "engineering"
// build_path = /obj/machinery/hypertorus/interface
// req_components = list(
// /obj/item/stack/cable_coil = 10,
// /obj/item/stack/sheet/glass = 10,
// /obj/item/stack/sheet/plasteel = 5)
//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
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 = PAYCHECK_ASSISTANT * 1.5
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/kink = "KinkMate",
/obj/machinery/vending/barkbox = "Bark Box",
/obj/machinery/vending/autodrobe = "AutoDrobe",
/obj/machinery/vending/wardrobe/sec_wardrobe = "SecDrobe",
/obj/machinery/vending/wardrobe/det_wardrobe = "DetDrobe",
/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/tool = "YouTool",
/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/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
// )
/obj/item/circuitboard/machine/colormate
name = "Colormate (Machine Board)"
icon_state = "generic"
build_path = /obj/machinery/gear_painter
req_components = list()
//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/fullupgrade
build_path = /obj/machinery/chem_dispenser/fullupgrade
req_components = list(
/obj/item/stock_parts/matter_bin/bluespace = 2,
/obj/item/stock_parts/capacitor/quadratic = 2,
/obj/item/stock_parts/manipulator/femto = 2,
/obj/item/stack/sheet/glass = 1,
/obj/item/stock_parts/cell/bluespace = 1,
)
/obj/item/circuitboard/machine/chem_dispenser/mutagensaltpeter
build_path = /obj/machinery/chem_dispenser/mutagensaltpeter
req_components = list(
/obj/item/stock_parts/matter_bin/bluespace = 2,
/obj/item/stock_parts/capacitor/quadratic = 2,
/obj/item/stock_parts/manipulator/femto = 2,
/obj/item/stack/sheet/glass = 1,
/obj/item/stock_parts/cell/bluespace = 1,
)
/obj/item/circuitboard/machine/chem_dispenser/apothecary
name = "Apotechary Chem Dispenser (Machine Board)"
build_path = /obj/machinery/chem_dispenser/apothecary
req_components = list(
/obj/item/stock_parts/matter_bin = 1,
/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/upgraded/plus)
/obj/item/circuitboard/machine/chem_dispenser/abductor
name = "Reagent Synthesizer (Abductor Machine Board)"
icon_state = "abductor_mod"
build_path = /obj/machinery/chem_dispenser/abductor
req_components = list(
/obj/item/stock_parts/matter_bin/bluespace = 2,
/obj/item/stock_parts/capacitor/quadratic = 2,
/obj/item/stock_parts/manipulator/femto = 2,
/obj/item/stack/sheet/glass = 1,
/obj/item/stock_parts/cell/bluespace = 1,
)
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/autobottler
name = "Auto-Bottler (Machine Board)"
icon_state = "medical"
build_path = /obj/machinery/rnd/production/protolathe/department/autobottler //Manips make you print things cheaper, even chems
req_components = list(/obj/item/stock_parts/matter_bin = 5,
/obj/item/stack/sheet/glass = 2,
/obj/item/stock_parts/capacitor = 1,
/obj/item/stack/cable_coil = 5,
/obj/item/reagent_containers/glass/beaker = 6) //So it can hold lots of chems
/obj/item/circuitboard/machine/bloodbankgen
name = "Blood Bank Generator (Machine Board)"
icon_state = "medical"
build_path = /obj/machinery/bloodbankgen
req_components = list(
/obj/item/stock_parts/matter_bin = 1,
/obj/item/stock_parts/manipulator = 1,
/obj/item/stack/cable_coil = 5,
/obj/item/stack/sheet/glass = 1)
/obj/item/circuitboard/machine/clonescanner
name = "Cloning Scanner (Machine Board)"
icon_state = "medical"
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/clonepod
name = "Clone Pod (Machine Board)"
icon_state = "medical"
build_path = /obj/machinery/clonepod
req_components = list(
/obj/item/stack/cable_coil = 2,
/obj/item/stock_parts/scanning_module = 2,
/obj/item/stock_parts/manipulator = 2,
/obj/item/stack/sheet/glass = 1)
/obj/item/circuitboard/machine/clonepod/experimental
name = "Experimental Clone Pod (Machine Board)"
icon_state = "medical"
build_path = /obj/machinery/clonepod/experimental
/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/sleeper/syndie
name = "Syndicate Sleeper (Machine Board)"
build_path = /obj/machinery/sleeper/syndie
/obj/item/circuitboard/machine/vr_sleeper
name = "VR Sleeper (Machine Board)"
build_path = /obj/machinery/vr_sleeper
req_components = list(
/obj/item/stock_parts/manipulator = 1,
/obj/item/stack/cable_coil = 1,
/obj/item/stock_parts/scanning_module = 2,
/obj/item/stack/sheet/glass = 2)
/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 = "\improper 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/plantgenes
name = "Plant DNA Manipulator (Machine Board)"
icon_state = "service"
build_path = /obj/machinery/plantgenes
req_components = list(
/obj/item/stock_parts/manipulator = 1,
/obj/item/stock_parts/micro_laser = 1,
/obj/item/stack/sheet/glass = 1,
/obj/item/stock_parts/scanning_module = 1)
/obj/item/circuitboard/machine/plantgenes/vault
name = "alien board (Plant DNA Manipulator)"
icon_state = "abductor_mod"
// It wasn't made by actual abductors race, so no abductor tech here.
def_components = list(
/obj/item/stock_parts/manipulator = /obj/item/stock_parts/manipulator/femto,
/obj/item/stock_parts/micro_laser = /obj/item/stock_parts/micro_laser/quadultra,
/obj/item/stock_parts/scanning_module = /obj/item/stock_parts/scanning_module/triphasic)
/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/fullupgrade
build_path = /obj/machinery/chem_dispenser/drinks/fullupgrade
req_components = list(
/obj/item/stock_parts/matter_bin/bluespace = 2,
/obj/item/stock_parts/capacitor/quadratic = 2,
/obj/item/stock_parts/manipulator/femto = 2,
/obj/item/stack/sheet/glass = 1,
/obj/item/stock_parts/cell/bluespace = 1,
)
/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_dispenser/drinks/beer/fullupgrade
build_path = /obj/machinery/chem_dispenser/drinks/beer/fullupgrade
req_components = list(
/obj/item/stock_parts/matter_bin/bluespace = 2,
/obj/item/stock_parts/capacitor/quadratic = 2,
/obj/item/stock_parts/manipulator/femto = 2,
/obj/item/stack/sheet/glass = 1,
/obj/item/stock_parts/cell/bluespace = 1,
)
/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/griddle
// name = "circuit board (Griddle)"
// icon_state = "service"
// build_path = /obj/machinery/griddle
// 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/hydroponics/automagic
name = "Automatic Hydroponics Tray (Machine Board)"
build_path = /obj/machinery/hydroponics/constructable/automagic
/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/autoloom
name = "Autoloom (Machine Board)"
icon_state = "service"
build_path = /obj/machinery/autoloom
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
// )
// DIY SHUTTLE
/obj/item/circuitboard/machine/shuttle/engine
name = "Thruster (Machine Board)"
icon_state = "engineering"
build_path = /obj/machinery/shuttle/engine
req_components = list()
/obj/item/circuitboard/machine/shuttle/engine/plasma
name = "Plasma Thruster (Machine Board)"
icon_state = "engineering"
build_path = /obj/machinery/shuttle/engine/plasma
req_components = list(/obj/item/stock_parts/capacitor = 2,
/obj/item/stack/cable_coil = 5,
/obj/item/stock_parts/micro_laser = 1)
/obj/item/circuitboard/machine/shuttle/engine/void
name = "Void Thruster (Machine Board)"
icon_state = "engineering"
build_path = /obj/machinery/shuttle/engine/void
req_components = list(/obj/item/stock_parts/capacitor/quadratic = 2,
/obj/item/stack/cable_coil = 5,
/obj/item/stock_parts/micro_laser/quadultra = 1)
/obj/item/circuitboard/machine/shuttle/heater
name = "Electronic Engine Heater (Machine Board)"
icon_state = "engineering"
build_path = /obj/machinery/atmospherics/components/unary/shuttle/heater
req_components = list(/obj/item/stock_parts/micro_laser = 2,
/obj/item/stock_parts/matter_bin = 1)
/obj/item/circuitboard/machine/explosive_compressor
name = "Explosive Compressor (Machine Board)"
icon_state = "engineering"
build_path = /obj/machinery/research/explosive_compressor
req_components = list(/obj/item/stock_parts/matter_bin = 3)