mirror of
https://github.com/yogstation13/Yogstation.git
synced 2025-02-26 09:04:50 +00:00
* surely adding this will be a good idea * OKAY WE'RE IN BUSINESS * REAL * now in glorious SOUND ripped directly from my HL1 game files * Misc cleanup * louda * moved tech node oughta have more stuff in adv, and would cut down on a pretty powerful machine being built too early I'd imagine
1447 lines
51 KiB
Plaintext
1447 lines
51 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/igniter
|
|
name = "Floor Igniter (Machine Board)"
|
|
icon_state = "engineering"
|
|
build_path = /obj/machinery/igniter
|
|
req_components = list(
|
|
/obj/item/stack/cable_coil = 2,
|
|
/obj/item/assembly/igniter = 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/suit_storage_unit
|
|
name = "Suit Storage Unit (Machine Board)"
|
|
icon_state = "engineering"
|
|
build_path = /obj/machinery/suit_storage_unit
|
|
req_components = list(
|
|
/obj/item/stock_parts/micro_laser = 5,
|
|
/obj/item/stack/cable_coil = 2,
|
|
/obj/item/stock_parts/manipulator = 5)
|
|
|
|
/obj/item/circuitboard/machine/decontamination_unit
|
|
name = "Decontamination Storage Unit (Machine Board)"
|
|
icon_state = "engineering"
|
|
build_path = /obj/machinery/decontamination_unit
|
|
req_components = list(
|
|
/obj/item/stock_parts/micro_laser = 5,
|
|
/obj/item/stack/cable_coil = 2,
|
|
/obj/item/stock_parts/matter_bin = 5)
|
|
|
|
|
|
#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(I.tool_behaviour == TOOL_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_notice("You change the circuitboard setting to \"[new_setting]\"."))
|
|
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/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,
|
|
/obj/item/stock_parts/capacitor = 1)
|
|
needs_anchored = FALSE
|
|
|
|
/obj/item/circuitboard/machine/emitter/particle
|
|
name = "Particle Emitter (Machine Board)"
|
|
build_path = /obj/machinery/power/emitter/particle
|
|
|
|
/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/teleporter_hub
|
|
name = "Teleporter Hub (Machine Board)"
|
|
icon_state = "engineering"
|
|
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 = "engineering"
|
|
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/thermomachine
|
|
name = "Thermomachine (Machine Board)"
|
|
icon_state = "engineering"
|
|
build_path = /obj/machinery/atmospherics/components/unary/thermomachine/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)
|
|
|
|
/obj/item/circuitboard/machine/thermomachine/multitool_act(mob/living/user, obj/item/multitool/I)
|
|
. = ..()
|
|
if(istype(I))
|
|
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>")
|
|
|
|
/obj/item/circuitboard/machine/thermomachine/examine()
|
|
. = ..()
|
|
. += "<span class='notice'>It is set to layer [pipe_layer].</span>"
|
|
/obj/item/circuitboard/machine/crystallizer
|
|
name = "Crystallizer (Machine Board)"
|
|
icon_state = "engineering"
|
|
build_path = /obj/machinery/atmospherics/components/binary/crystallizer
|
|
req_components = list(
|
|
/obj/item/stack/cable_coil = 10,
|
|
/obj/item/stack/sheet/glass = 10,
|
|
/obj/item/stack/sheet/plasteel = 5)
|
|
|
|
/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 = TRUE
|
|
to_chat(user, span_notice("You [secure? "en" : "dis"]able the security on the [src]"))
|
|
. = ..()
|
|
|
|
/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
|
|
var/cash_register = FALSE
|
|
req_components = list()
|
|
|
|
/obj/item/circuitboard/machine/paystand/attackby(obj/item/held_item, mob/user, params)
|
|
if(held_item.tool_behaviour)
|
|
if(held_item.tool_behaviour == TOOL_SCREWDRIVER && user.a_intent == INTENT_HELP)
|
|
if(cash_register)
|
|
to_chat(user,span_info("You change the holo-emitter selector to it's default setting."))
|
|
build_path = /obj/machinery/paystand
|
|
return
|
|
to_chat(user,span_info("You change the holo-emitter selector to 'cash register.'"))
|
|
build_path = /obj/machinery/paystand/register
|
|
return
|
|
return ..()
|
|
|
|
|
|
/obj/item/circuitboard/machine/ticketmachine
|
|
name = "Ticket Machine (Machine Board)"
|
|
icon_state = "generic"
|
|
desc = "You will also need a ticket machine remote to operate this."
|
|
build_path = /obj/machinery/ticket_machine
|
|
req_components = list(
|
|
/obj/item/hand_labeler = 1,
|
|
/obj/item/stack/sheet/glass = 1)
|
|
|
|
/obj/item/circuitboard/machine/inspector_booth
|
|
name = "Inspector Booth (Machine Board)"
|
|
icon_state = "generic"
|
|
build_path = /obj/machinery/inspector_booth
|
|
req_components = list(
|
|
/obj/item/stock_parts/matter_bin = 1,
|
|
/obj/item/stock_parts/manipulator = 1,
|
|
/obj/item/stock_parts/scanning_module = 1,
|
|
/obj/item/stack/sheet/glass = 1
|
|
)
|
|
|
|
/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
|
|
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/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
|
|
|
|
/obj/item/circuitboard/machine/smartfridge/Initialize(mapload, new_type)
|
|
if(new_type)
|
|
build_path = new_type
|
|
return ..()
|
|
|
|
/obj/item/circuitboard/machine/smartfridge/attackby(obj/item/I, mob/user, params)
|
|
if(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_notice("You set the board to [fridges_name_paths[build_path]]."))
|
|
else
|
|
return ..()
|
|
|
|
/obj/item/circuitboard/machine/smartfridge/examine(mob/user)
|
|
. = ..()
|
|
. += span_info("[src] is set to [fridges_name_paths[build_path]]. You can use a screwdriver to reconfigure it.")
|
|
|
|
|
|
/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/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 = "Booze-O-Mat Vendor (Machine Board)"
|
|
desc = "You can turn the \"brand selection\" dial using a screwdriver."
|
|
build_path = /obj/machinery/vending/boozeomat
|
|
req_components = list(/obj/item/vending_refill/boozeomat = 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/wardrobe/sig_wardrobe = "NetDrobe",
|
|
/obj/machinery/vending/clothing = "ClothesMate",
|
|
/obj/machinery/vending/medical = "NanoMed Plus",
|
|
/obj/machinery/vending/wallmed = "NanoMed",
|
|
/obj/machinery/vending/wallhypo = "HypoMed",
|
|
/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/fishing = "Tackle Box 2000")//Yogs
|
|
//obj/machinery/vending/modularpc = "Deluxe Silicate Selections") // Yogs comment-out, because ktlwjec is bad at merging mirrors
|
|
|
|
/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 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)
|
|
|
|
//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
|
|
// yogs start - abductor chem dispenser
|
|
/obj/item/circuitboard/machine/chem_dispenser/abductor
|
|
name = "Reagent Synthetizer (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
|
|
// yogs end
|
|
/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_notice("You change the circuit board setting to \"[new_name]\"."))
|
|
else
|
|
return ..()
|
|
|
|
/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/reagent_containers/glass/beaker = 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/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/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(user, "New cost for using this medical kiosk", "Pricing", custom_cost) as num|null
|
|
if(!new_cost || QDELETED(user) || QDELETED(src) || !user.canUseTopic(src, BE_CLOSE, FALSE, NO_TK))
|
|
return
|
|
if(loc != user)
|
|
to_chat(user, span_warning("You must hold the circuitboard to change its cost!"))
|
|
return
|
|
custom_cost = clamp(round(new_cost, 1), 10, 1000)
|
|
to_chat(user, span_notice("The cost is now set to [custom_cost]."))
|
|
|
|
/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)
|
|
// yogs start - vr sleeper
|
|
/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)
|
|
// yogs end
|
|
/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/techfab/department/medical
|
|
name = "\improper Departmental Techfab (Machine Board) - Medical"
|
|
icon_state = "medical"
|
|
build_path = /obj/machinery/rnd/production/techfab/department/medical
|
|
|
|
/obj/item/circuitboard/machine/mindmachine_hub
|
|
name = "Mind Machine Hub (Machine Board)"
|
|
icon_state = "medical"
|
|
build_path = /obj/machinery/mindmachine_hub
|
|
req_components = list(
|
|
/obj/item/stock_parts/matter_bin = 2,
|
|
/obj/item/stock_parts/capacitor = 1,
|
|
/obj/item/stock_parts/scanning_module = 1,
|
|
/obj/item/stack/ore/bluespace_crystal = 2)
|
|
|
|
/obj/item/circuitboard/machine/mindmachine_pod
|
|
name = "Mind Machine Pod (Machine Board)"
|
|
icon_state = "medical"
|
|
build_path = /obj/machinery/mindmachine_pod
|
|
req_components = list(
|
|
/obj/item/stock_parts/scanning_module = 2,
|
|
/obj/item/stock_parts/capacitor = 2,
|
|
/obj/item/stack/ore/bluespace_crystal = 1)
|
|
|
|
//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/circuit_imprinter/department/netmin
|
|
name = "Departmental Circuit Imprinter - Netmin (Machine Board)"
|
|
icon_state = "science"
|
|
build_path = /obj/machinery/rnd/production/circuit_imprinter/department/netmin
|
|
|
|
/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)
|
|
if(!(src.loc == user))
|
|
to_chat(user, span_warning("You have to hold the circuit in your hand to change it!"))
|
|
return
|
|
var/new_cloud = input("Set the public nanite chamber's Cloud ID (1-100).", "Cloud ID", cloud_id) as num|null
|
|
if(new_cloud)
|
|
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/server_cabinet
|
|
name = "Server Cabinet (Machine Board)"
|
|
icon_state = "science"
|
|
build_path = /obj/machinery/ai/server_cabinet
|
|
req_components = list(
|
|
/obj/item/stock_parts/matter_bin = 2,
|
|
/obj/item/stock_parts/capacitor = 2,
|
|
/obj/item/stack/sheet/glass = 2,
|
|
/obj/item/stack/cable_coil = 1)
|
|
|
|
/obj/item/circuitboard/machine/ai_core_display
|
|
name = "AI Core Display (Machine Board)"
|
|
icon_state = "science"
|
|
build_path = /obj/machinery/status_display/ai_core
|
|
|
|
/obj/item/circuitboard/machine/ai_data_core
|
|
name = "AI Data Core (Machine Board)"
|
|
icon_state = "science"
|
|
build_path = /obj/machinery/ai/data_core
|
|
req_components = list(
|
|
/obj/item/stock_parts/capacitor = 4,
|
|
/obj/item/stock_parts/matter_bin = 2,
|
|
/obj/item/stack/sheet/glass = 2,
|
|
/obj/item/stack/cable_coil = 2,
|
|
/obj/item/stock_parts/cell/high = 1)
|
|
|
|
/obj/item/circuitboard/machine/rack_creator
|
|
name = "Rack Creator (Machine Board)"
|
|
icon_state = "science"
|
|
build_path = /obj/machinery/rack_creator
|
|
req_components = list(
|
|
/obj/item/stock_parts/manipulator = 2,
|
|
/obj/item/reagent_containers/glass/beaker = 2)
|
|
|
|
/obj/item/circuitboard/machine/plort
|
|
name = "Machine Design (Plort Redemption Machine)"
|
|
icon_state = "science"
|
|
build_path = /obj/machinery/plortrefinery
|
|
req_components = list(
|
|
/obj/item/stock_parts/manipulator = 3,
|
|
/obj/item/stack/cable_coil = 2)
|
|
|
|
//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
|
|
|
|
/obj/item/circuitboard/machine/techfab/department/armory
|
|
name = "\improper Departmental Techfab (Machine Board) - Armory"
|
|
icon_state = "security"
|
|
build_path = /obj/machinery/rnd/production/techfab/department/armory
|
|
|
|
//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 = "Deep Fryer (Machine Board)"
|
|
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 = "Griddle (Machine Board)"
|
|
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/oven
|
|
name = "Oven (Machine Board)"
|
|
icon_state = "service"
|
|
build_path = /obj/machinery/oven
|
|
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_notice("Its suction function is [suction ? "enabled" : "disabled"]. Use it in-hand to switch.")]\n
|
|
[span_notice("Its disposal auto-transmit function is [transmit ? "enabled" : "disabled"]. Alt-click it to switch.")]"}
|
|
|
|
/obj/item/circuitboard/machine/dish_drive/attack_self(mob/living/user)
|
|
suction = !suction
|
|
to_chat(user, span_notice("You [suction ? "enable" : "disable"] the board's suction function."))
|
|
|
|
/obj/item/circuitboard/machine/dish_drive/AltClick(mob/living/user)
|
|
if(!user.Adjacent(src))
|
|
return
|
|
transmit = !transmit
|
|
to_chat(user, span_notice("You [transmit ? "enable" : "disable"] the board's automatic disposal transmission."))
|
|
|
|
/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/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/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_notice("Name protocols successfully updated."))
|
|
else
|
|
name = "Food Processor (Machine Board)"
|
|
build_path = /obj/machinery/processor
|
|
to_chat(user, span_notice("Defaulting name protocols."))
|
|
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
|
|
|
|
//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
|
|
|
|
//Misc
|
|
|
|
|
|
/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/clockwork
|
|
name = "clockwork board (Report This)"
|
|
icon_state = "clock_mod"
|
|
|
|
/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/electrolyzer
|
|
name = "Electrolyzer (Machine Board)"
|
|
icon_state = "generic"
|
|
build_path = /obj/machinery/electrolyzer
|
|
req_components = list(
|
|
/obj/item/stock_parts/micro_laser = 2,
|
|
/obj/item/stock_parts/capacitor = 1,
|
|
/obj/item/stack/cable_coil = 3,
|
|
/obj/item/stack/sheet/glass = 1,
|
|
/obj/item/stack/sheet/mineral/gold = 1,
|
|
/obj/item/stack/sheet/mineral/silver = 1)
|
|
|
|
needs_anchored = FALSE
|
|
|
|
/obj/item/circuitboard/machine/shuttle/engine
|
|
name = "Thruster (Machine Board)"
|
|
build_path = /obj/machinery/shuttle/engine
|
|
req_components = list()
|
|
|
|
/obj/item/circuitboard/machine/shuttle/engine/plasma
|
|
name = "Plasma Thruster (Machine Board)"
|
|
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/ion
|
|
name = "Ion Thruster (Machine Board)"
|
|
build_path = /obj/machinery/shuttle/engine/ion
|
|
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)"
|
|
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)"
|
|
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/shuttle/capacitor_bank
|
|
name = "ion thruster capacitor bank (Machine Board)"
|
|
build_path = /obj/machinery/power/engine_capacitor_bank
|
|
req_components = list(
|
|
/obj/item/stock_parts/capacitor = 3,
|
|
/obj/item/stock_parts/micro_laser = 1)
|
|
|
|
/obj/item/circuitboard/machine/mass_driver
|
|
name = "Mass Driver"
|
|
build_path = /obj/machinery/mass_driver
|
|
req_components = list(
|
|
/obj/item/stock_parts/capacitor = 1)
|