From 3e8482cebbcebdb3fbfcf0b8add2996f9b344139 Mon Sep 17 00:00:00 2001
From: SabreML <57483089+SabreML@users.noreply.github.com>
Date: Sat, 10 Jul 2021 19:43:40 +0100
Subject: [PATCH] Makes machine frames show their circuit name (#15025)
* Circuit Names Refactor
* Some review stuff
* now with less runtimes
* Machine Boards and Computer Boards
* Only a little late
* YouTool fix
* Resupply crate too
* Supplycomp board
I'll do the other stuff tomorrow
* Computer Frame Refactor
Plus also removing the HONKputer to avoid a conflict.
* Don't need this diff anymore
---
code/datums/supplypacks.dm | 7 +-
.../game/machinery/computer/buildandrepair.dm | 645 ++++++++++--------
code/game/machinery/computer/computer.dm | 8 +-
code/game/machinery/constructable_frame.dm | 262 ++++---
code/game/machinery/cryopod.dm | 4 +-
code/game/machinery/vending.dm | 225 +-----
code/game/mecha/mecha_parts.dm | 84 +--
.../objects/items/weapons/vending_items.dm | 4 +
.../kitchen_machinery/smartfridge.dm | 2 +-
code/modules/station_goals/bluespace_tap.dm | 2 +-
code/modules/station_goals/bsa.dm | 8 +-
code/modules/station_goals/dna_vault.dm | 2 +-
code/modules/station_goals/shield.dm | 2 +-
icons/obj/stock_parts.dmi | Bin 23256 -> 23264 bytes
14 files changed, 585 insertions(+), 670 deletions(-)
diff --git a/code/datums/supplypacks.dm b/code/datums/supplypacks.dm
index 5ee45d3291f..2bf9f914ad0 100644
--- a/code/datums/supplypacks.dm
+++ b/code/datums/supplypacks.dm
@@ -572,9 +572,10 @@ GLOBAL_LIST_INIT(all_supply_groups, list(SUPPLY_EMERGENCY,SUPPLY_SECURITY,SUPPLY
containername = "electrical maintenance crate"
/datum/supply_packs/vending/engivend
- name = "EngiVend Supply Crate"
- cost = 15
- contains = list(/obj/item/vending_refill/engivend)
+ name = "Engineering Vendor Supply Crate"
+ cost = 20
+ contains = list(/obj/item/vending_refill/engivend,
+ /obj/item/vending_refill/youtool)
containername = "engineering supply crate"
/datum/supply_packs/engineering/powergamermitts
diff --git a/code/game/machinery/computer/buildandrepair.dm b/code/game/machinery/computer/buildandrepair.dm
index 6cba8733a2d..78895d0d099 100644
--- a/code/game/machinery/computer/buildandrepair.dm
+++ b/code/game/machinery/computer/buildandrepair.dm
@@ -1,52 +1,18 @@
-/obj/structure/computerframe
- density = 1
- anchored = 0
- name = "computer frame"
- icon = 'icons/obj/stock_parts.dmi'
- icon_state = "0"
- max_integrity = 100
- var/state = 0
- var/obj/item/circuitboard/circuit = null
-
-/obj/structure/computerframe/deconstruct(disassembled = TRUE)
- if(!(flags & NODECONSTRUCT))
- drop_computer_parts()
- return ..() // will qdel the frame
-
-/obj/structure/computerframe/obj_break(damage_flag)
- deconstruct()
-
-/obj/structure/computerframe/proc/drop_computer_parts()
- new /obj/item/stack/sheet/metal(loc, 5)
- if(circuit)
- circuit.forceMove(loc)
- circuit = null
- if(state >= 3)
- var/obj/item/stack/cable_coil/A = new /obj/item/stack/cable_coil( loc )
- A.amount = 5
- if(state >= 4)
- new /obj/item/stack/sheet/glass(loc, 2)
-
/obj/item/circuitboard
- density = 0
- anchored = 0
- w_class = WEIGHT_CLASS_SMALL
+ /// Use `board_name` instead of this.
name = "circuit board"
icon = 'icons/obj/module.dmi'
icon_state = "id_mod"
item_state = "electronic"
origin_tech = "programming=2"
+ w_class = WEIGHT_CLASS_SMALL
materials = list(MAT_GLASS=200)
- var/id = null
- var/frequency = null
+ usesound = 'sound/items/deconstruct.ogg'
+ /// Use this instead of `name`. Formats as: `circuit board ([board_name])`
+ var/board_name = null
var/build_path = null
var/board_type = "computer"
var/list/req_components = null
- var/powernet = null
- var/list/records = null
- var/contain_parts = 1
- toolspeed = 1
- usesound = 'sound/items/deconstruct.ogg'
/obj/item/circuitboard/computer
board_type = "computer"
@@ -54,6 +20,16 @@
/obj/item/circuitboard/machine
board_type = "machine"
+/obj/item/circuitboard/Initialize(mapload)
+ . = ..()
+ format_board_name()
+
+/obj/item/circuitboard/proc/format_board_name()
+ if(board_name) // Should always have this, but just in case.
+ name = "[initial(name)] ([board_name])"
+ else
+ name = "[initial(name)]"
+
/obj/item/circuitboard/examine(mob/user)
. = ..()
if(LAZYLEN(req_components))
@@ -66,480 +42,597 @@
. += "Required components: [english_list(nice_list)]."
/obj/item/circuitboard/message_monitor
- name = "Circuit board (Message Monitor)"
+ board_name = "Message Monitor"
build_path = /obj/machinery/computer/message_monitor
origin_tech = "programming=2"
+
/obj/item/circuitboard/camera
- name = "Circuit board (Camera Monitor)"
+ board_name = "Camera Monitor"
build_path = /obj/machinery/computer/security
origin_tech = "programming=2;combat=2"
/obj/item/circuitboard/camera/telescreen
- name = "Circuit board (Telescreen)"
+ board_name = "Telescreen"
build_path = /obj/machinery/computer/security/telescreen
+
/obj/item/circuitboard/camera/telescreen/entertainment
- name = "Circuit board (Entertainment Monitor)"
+ board_name = "Entertainment Monitor"
build_path = /obj/machinery/computer/security/telescreen/entertainment
+
/obj/item/circuitboard/camera/wooden_tv
- name = "Circuit board (Wooden TV)"
+ board_name = "Wooden TV"
build_path = /obj/machinery/computer/security/wooden_tv
+
/obj/item/circuitboard/camera/mining
- name = "Circuit board (Outpost Camera Monitor)"
+ board_name = "Outpost Camera Monitor"
build_path = /obj/machinery/computer/security/mining
+
/obj/item/circuitboard/camera/engineering
- name = "Circuit board (Engineering Camera Monitor)"
+ board_name = "Engineering Camera Monitor"
build_path = /obj/machinery/computer/security/engineering
-
/obj/item/circuitboard/xenobiology
- name = "Circuit board (Xenobiology Console)"
+ board_name = "Xenobiology Console"
build_path = /obj/machinery/computer/camera_advanced/xenobio
origin_tech = "programming=3;biotech=3"
+
/obj/item/circuitboard/aicore
- name = "Circuit board (AI Core)"
+ board_name = "AI Core"
origin_tech = "programming=3"
board_type = "other"
+
/obj/item/circuitboard/aiupload
- name = "Circuit board (AI Upload)"
+ board_name = "AI Upload"
build_path = /obj/machinery/computer/aiupload
origin_tech = "programming=4;engineering=4"
+
/obj/item/circuitboard/borgupload
- name = "Circuit board (Cyborg Upload)"
+ board_name = "Cyborg Upload"
build_path = /obj/machinery/computer/borgupload
origin_tech = "programming=4;engineering=4"
+
/obj/item/circuitboard/med_data
- name = "Circuit board (Medical Records)"
+ board_name = "Medical Records"
build_path = /obj/machinery/computer/med_data
origin_tech = "programming=2;biotech=2"
+
/obj/item/circuitboard/pandemic
- name = "circuit board (PanD.E.M.I.C. 2200)"
+ board_name = "PanD.E.M.I.C. 2200"
build_path = /obj/machinery/computer/pandemic
origin_tech = "programming=2;biotech=2"
+
/obj/item/circuitboard/scan_consolenew
- name = "Circuit board (DNA Machine)"
+ board_name = "DNA Machine"
build_path = /obj/machinery/computer/scan_consolenew
origin_tech = "programming=2;biotech=2"
+
/obj/item/circuitboard/communications
- name = "Circuit board (Communications Console)"
+ board_name = "Communications Console"
build_path = /obj/machinery/computer/communications
origin_tech = "programming=3;magnets=3"
+
/obj/item/circuitboard/card
- name = "Circuit board (ID Computer)"
+ board_name = "ID Computer"
build_path = /obj/machinery/computer/card
origin_tech = "programming=3"
+
/obj/item/circuitboard/card/minor
- name = "Circuit board (Dept ID Computer)"
+ board_name = "Dept ID Computer"
build_path = /obj/machinery/computer/card/minor
var/target_dept = TARGET_DEPT_GENERIC
+
/obj/item/circuitboard/card/minor/hos
- name = "Circuit board (Sec ID Computer)"
+ board_name = "Sec ID Computer"
build_path = /obj/machinery/computer/card/minor/hos
target_dept = TARGET_DEPT_SEC
+
/obj/item/circuitboard/card/minor/cmo
- name = "Circuit board (Medical ID Computer)"
+ board_name = "Medical ID Computer"
build_path = /obj/machinery/computer/card/minor/cmo
target_dept = TARGET_DEPT_MED
+
/obj/item/circuitboard/card/minor/rd
- name = "Circuit board (Science ID Computer)"
+ board_name = "Science ID Computer"
build_path = /obj/machinery/computer/card/minor/rd
target_dept = TARGET_DEPT_SCI
+
/obj/item/circuitboard/card/minor/ce
- name = "Circuit board (Engineering ID Computer)"
+ board_name = "Engineering ID Computer"
build_path = /obj/machinery/computer/card/minor/ce
target_dept = TARGET_DEPT_ENG
+
/obj/item/circuitboard/card/centcom
- name = "Circuit board (CentComm ID Computer)"
+ board_name = "CentComm ID Computer"
build_path = /obj/machinery/computer/card/centcom
+
/obj/item/circuitboard/teleporter
- name = "Circuit board (Teleporter Console)"
+ board_name = "Teleporter Console"
build_path = /obj/machinery/computer/teleporter
origin_tech = "programming=3;bluespace=3;plasmatech=3"
+
/obj/item/circuitboard/secure_data
- name = "Circuit board (Security Records)"
+ board_name = "Security Records"
build_path = /obj/machinery/computer/secure_data
origin_tech = "programming=2;combat=2"
+
/obj/item/circuitboard/stationalert_engineering
- name = "Circuit Board (Station Alert Console (Engineering))"
+ board_name = "Station Alert Console - Engineering"
build_path = /obj/machinery/computer/station_alert
+
/obj/item/circuitboard/stationalert
- name = "Circuit Board (Station Alert Console)"
+ board_name = "Station Alert Console"
build_path = /obj/machinery/computer/station_alert
+
/obj/item/circuitboard/atmos_alert
- name = "Circuit Board (Atmospheric Alert Computer)"
+ board_name = "Atmospheric Alert Computer"
build_path = /obj/machinery/computer/atmos_alert
+
/obj/item/circuitboard/atmoscontrol
- name = "Circuit Board (Central Atmospherics Computer)"
+ board_name = "Central Atmospherics Computer"
build_path = /obj/machinery/computer/atmoscontrol
+
/obj/item/circuitboard/air_management
- name = "Circuit board (Atmospheric Monitor)"
+ board_name = "Atmospheric Monitor"
build_path = /obj/machinery/computer/general_air_control
+
/obj/item/circuitboard/injector_control
- name = "Circuit board (Injector Control)"
+ board_name = "Injector Control"
build_path = /obj/machinery/computer/general_air_control/fuel_injection
+
/obj/item/circuitboard/pod
- name = "Circuit board (Massdriver Control)"
+ board_name = "Massdriver Control"
build_path = /obj/machinery/computer/pod
+
/obj/item/circuitboard/pod/deathsquad
- name = "Circuit board (Deathsquad Massdriver control)"
+ board_name = "Deathsquad Massdriver Control"
build_path = /obj/machinery/computer/pod/deathsquad
+
/obj/item/circuitboard/robotics
- name = "Circuit board (Robotics Control Console)"
+ board_name = "Robotics Control Console"
build_path = /obj/machinery/computer/robotics
origin_tech = "programming=3"
+
/obj/item/circuitboard/drone_control
- name = "Circuit board (Drone Control)"
+ board_name = "Drone Control"
build_path = /obj/machinery/computer/drone_control
origin_tech = "programming=3"
+
/obj/item/circuitboard/cloning
- name = "Circuit board (Cloning Machine Console)"
+ board_name = "Cloning Machine Console"
build_path = /obj/machinery/computer/cloning
origin_tech = "programming=2;biotech=2"
+
/obj/item/circuitboard/arcade/battle
- name = "circuit board (Arcade Battle)"
+ board_name = "Arcade Battle"
build_path = /obj/machinery/computer/arcade/battle
origin_tech = "programming=1"
+
/obj/item/circuitboard/arcade/orion_trail
- name = "circuit board (Orion Trail)"
+ board_name = "Orion Trail"
build_path = /obj/machinery/computer/arcade/orion_trail
origin_tech = "programming=1"
+
/obj/item/circuitboard/solar_control
- name = "Circuit board (Solar Control)"
+ board_name = "Solar Control"
build_path = /obj/machinery/power/solar_control
origin_tech = "programming=2;powerstorage=2"
+
/obj/item/circuitboard/powermonitor
- name = "Circuit board (Power Monitor)"
+ board_name = "Power Monitor"
build_path = /obj/machinery/computer/monitor
origin_tech = "programming=2;powerstorage=2"
+
/obj/item/circuitboard/powermonitor/secret
- name = "Circuit board (Outdated Power Monitor)"
+ board_name = "Outdated Power Monitor"
build_path = /obj/machinery/computer/monitor/secret
origin_tech = "programming=2;powerstorage=2"
+
/obj/item/circuitboard/olddoor
- name = "Circuit board (DoorMex)"
+ board_name = "DoorMex"
build_path = /obj/machinery/computer/pod/old
+
/obj/item/circuitboard/syndicatedoor
- name = "Circuit board (ProComp Executive)"
+ board_name = "ProComp Executive"
build_path = /obj/machinery/computer/pod/old/syndicate
+
/obj/item/circuitboard/swfdoor
- name = "Circuit board (Magix)"
+ board_name = "Magix"
build_path = /obj/machinery/computer/pod/old/swf
+
/obj/item/circuitboard/prisoner
- name = "Circuit board (Prisoner Management)"
+ board_name = "Prisoner Management"
build_path = /obj/machinery/computer/prisoner
+
/obj/item/circuitboard/brigcells
- name = "Circuit board (Brig Cell Control)"
+ board_name = "Brig Cell Control"
build_path = /obj/machinery/computer/brigcells
+
/obj/item/circuitboard/sm_monitor
- name = "Circuit board (Supermatter Monitoring Console)"
+ board_name = "Supermatter Monitoring Console"
build_path = /obj/machinery/computer/sm_monitor
origin_tech = "programming=2;powerstorage=2"
-// RD console circuits, so that {de,re}constructing one of the special consoles doesn't ruin everything forever
+// RD console circuits, so that de/reconstructing one of the special consoles doesn't ruin everything forever
/obj/item/circuitboard/rdconsole
- name = "Circuit Board (RD Console)"
+ board_name = "RD Console"
desc = "Swipe a Scientist level ID or higher to reconfigure."
build_path = /obj/machinery/computer/rdconsole/core
req_access = list(ACCESS_TOX) // This is for adjusting the type of computer we're building - in case something messes up the pre-existing robotics or mechanics consoles
- var/access_types = list("R&D Core", "Robotics", "E.X.P.E.R.I-MENTOR", "Mechanics", "Public")
- id = 1
+ var/list/access_types = list("R&D Core", "Robotics", "E.X.P.E.R.I-MENTOR", "Mechanics", "Public")
+
/obj/item/circuitboard/rdconsole/robotics
- name = "Circuit Board (RD Console - Robotics)"
+ board_name = "RD Console - Robotics"
build_path = /obj/machinery/computer/rdconsole/robotics
- id = 2
+
/obj/item/circuitboard/rdconsole/experiment
- name = "Circuit Board (RD Console - E.X.P.E.R.I-MENTOR)"
+ board_name = "RD Console - E.X.P.E.R.I-MENTOR"
build_path = /obj/machinery/computer/rdconsole/experiment
- id = 3
+
/obj/item/circuitboard/rdconsole/mechanics
- name = "Circuit Board (RD Console - Mechanics)"
+ board_name = "RD Console - Mechanics"
build_path = /obj/machinery/computer/rdconsole/mechanics
- id = 4
+
/obj/item/circuitboard/rdconsole/public
- name = "Circuit Board (RD Console - Public)"
+ board_name = "RD Console - Public"
build_path = /obj/machinery/computer/rdconsole/public
- id = 5
/obj/item/circuitboard/mecha_control
- name = "Circuit Board (Exosuit Control Console)"
+ board_name = "Exosuit Control Console"
build_path = /obj/machinery/computer/mecha
+
/obj/item/circuitboard/pod_locater
- name = "Circuit Board (Pod Location Console)"
+ board_name = "Pod Location Console"
build_path = /obj/machinery/computer/podtracker
+
/obj/item/circuitboard/rdservercontrol
- name = "Circuit Board (RD Server Control)"
+ board_name = "RD Server Control"
build_path = /obj/machinery/computer/rdservercontrol
+
/obj/item/circuitboard/crew
- name = "Circuit board (Crew Monitoring Computer)"
+ board_name = "Crew Monitoring Computer"
build_path = /obj/machinery/computer/crew
origin_tech = "programming=2;biotech=2"
+
/obj/item/circuitboard/mech_bay_power_console
- name = "Circuit board (Mech Bay Power Control Console)"
+ board_name = "Mech Bay Power Control Console"
build_path = /obj/machinery/computer/mech_bay_power_console
origin_tech = "programming=3;powerstorage=3"
+
/obj/item/circuitboard/ordercomp
- name = "Circuit board (Supply Ordering Console)"
+ board_name = "Supply Ordering Console"
build_path = /obj/machinery/computer/supplycomp/public
origin_tech = "programming=3"
+
/obj/item/circuitboard/supplycomp
- name = "Circuit board (Supply Shuttle Console)"
+ board_name = "Supply Shuttle Console"
build_path = /obj/machinery/computer/supplycomp
origin_tech = "programming=3"
var/contraband_enabled = 0
/obj/item/circuitboard/operating
- name = "Circuit board (Operating Computer)"
+ board_name = "Operating Computer"
build_path = /obj/machinery/computer/operating
origin_tech = "programming=2;biotech=3"
/obj/item/circuitboard/shuttle
- name = "circuit board (Shuttle)"
+ board_name = "Shuttle"
build_path = /obj/machinery/computer/shuttle
var/shuttleId
var/possible_destinations = ""
/obj/item/circuitboard/labor_shuttle
- name = "circuit Board (Labor Shuttle)"
+ board_name = "Labor Shuttle"
build_path = /obj/machinery/computer/shuttle/labor
+
/obj/item/circuitboard/labor_shuttle/one_way
- name = "circuit Board (Prisoner Shuttle Console)"
+ board_name = "Prisoner Shuttle Console"
build_path = /obj/machinery/computer/shuttle/labor/one_way
+
/obj/item/circuitboard/ferry
- name = "circuit Board (Transport Ferry)"
+ board_name = "Transport Ferry"
build_path = /obj/machinery/computer/shuttle/ferry
+
/obj/item/circuitboard/ferry/request
- name = "circuit Board (Transport Ferry Console)"
+ board_name = "Transport Ferry Console"
build_path = /obj/machinery/computer/shuttle/ferry/request
+
/obj/item/circuitboard/mining_shuttle
- name = "circuit Board (Mining Shuttle)"
+ board_name = "Mining Shuttle"
build_path = /obj/machinery/computer/shuttle/mining
+
/obj/item/circuitboard/white_ship
- name = "circuit Board (White Ship)"
+ board_name = "White Ship"
build_path = /obj/machinery/computer/shuttle/white_ship
+
/obj/item/circuitboard/shuttle/syndicate
- name = "circuit board (Syndicate Shuttle)"
+ board_name = "Syndicate Shuttle"
build_path = /obj/machinery/computer/shuttle/syndicate
+
/obj/item/circuitboard/shuttle/syndicate/recall
- name = "circuit board (Syndicate Shuttle Recall Terminal)"
+ board_name = "Syndicate Shuttle Recall Terminal"
build_path = /obj/machinery/computer/shuttle/syndicate/recall
+
/obj/item/circuitboard/shuttle/syndicate/drop_pod
- name = "circuit board (Syndicate Drop Pod)"
+ board_name = "Syndicate Drop Pod"
build_path = /obj/machinery/computer/shuttle/syndicate/drop_pod
+
/obj/item/circuitboard/shuttle/golem_ship
- name = "circuit Board (Golem Ship)"
+ board_name = "Golem Ship"
build_path = /obj/machinery/computer/shuttle/golem_ship
/obj/item/circuitboard/HolodeckControl
- name = "Circuit board (Holodeck Control)"
+ board_name = "Holodeck Control"
build_path = /obj/machinery/computer/HolodeckControl
origin_tech = "programming=4"
+
/obj/item/circuitboard/aifixer
- name = "Circuit board (AI Integrity Restorer)"
+ board_name = "AI Integrity Restorer"
build_path = /obj/machinery/computer/aifixer
origin_tech = "programming=2;biotech=2"
+
/obj/item/circuitboard/area_atmos
- name = "Circuit board (Area Air Control)"
+ board_name = "Area Air Control"
build_path = /obj/machinery/computer/area_atmos
origin_tech = "programming=2"
+
/obj/item/circuitboard/telesci_console
- name = "Circuit board (Telepad Control Console)"
+ board_name = "Telepad Control Console"
build_path = /obj/machinery/computer/telescience
origin_tech = "programming=3;bluespace=3;plasmatech=4"
/obj/item/circuitboard/large_tank_control
- name = "Circuit board (Atmospheric Tank Control)"
+ board_name = "Atmospheric Tank Control"
build_path = /obj/machinery/computer/general_air_control/large_tank_control
origin_tech = "programming=2;engineering=3;materials=2"
/obj/item/circuitboard/turbine_computer
- name = "circuit board (Turbine Computer)"
+ board_name = "Turbine Computer"
build_path = /obj/machinery/computer/turbine_computer
origin_tech = "programming=4;engineering=4;powerstorage=4"
+/obj/item/circuitboard/supplycomp/multitool_act(mob/living/user, obj/item/I)
+ . = TRUE
+ var/catastasis // Why is it called this
+ var/opposite_catastasis
+ if(contraband_enabled)
+ catastasis = "BROAD"
+ opposite_catastasis = "STANDARD"
+ else
+ catastasis = "STANDARD"
+ opposite_catastasis = "BROAD"
-/obj/item/circuitboard/supplycomp/attackby(obj/item/I as obj, mob/user as mob, params)
- if(istype(I,/obj/item/multitool))
- var/catastasis = contraband_enabled
- var/opposite_catastasis
- if(catastasis)
- opposite_catastasis = "STANDARD"
- catastasis = "BROAD"
- else
- opposite_catastasis = "BROAD"
- catastasis = "STANDARD"
-
- switch( alert("Current receiver spectrum is set to: [catastasis]","Multitool-Circuitboard interface","Switch to [opposite_catastasis]","Cancel") )
- //switch( alert("Current receiver spectrum is set to: " {(contraband_enabled) ? ("BROAD") : ("STANDARD")} , "Multitool-Circuitboard interface" , "Switch to " {(contraband_enabled) ? ("STANDARD") : ("BROAD")}, "Cancel") )
- if("Switch to STANDARD","Switch to BROAD")
- contraband_enabled = !contraband_enabled
-
- if("Cancel")
- return
- else
- to_chat(user, "DERP! BUG! Report this (And what you were doing to cause it) to Agouri")
+ var/choice = alert("Current receiver spectrum is set to: [catastasis]", "Multitool-Circuitboard interface", "Switch to [opposite_catastasis]", "Cancel")
+ if(choice == "Cancel")
return
- return ..()
-/obj/item/circuitboard/rdconsole/attackby(obj/item/I as obj, mob/user as mob, params)
- if(istype(I,/obj/item/card/id)||istype(I, /obj/item/pda))
+ contraband_enabled = !contraband_enabled
+ playsound(src, 'sound/effects/pop.ogg', 50)
+
+/obj/item/circuitboard/rdconsole/attackby(obj/item/I, mob/user, params)
+ if(istype(I, /obj/item/card/id) || istype(I, /obj/item/pda))
if(allowed(user))
user.visible_message("[user] waves [user.p_their()] ID past [src]'s access protocol scanner.", "You swipe your ID past [src]'s access protocol scanner.")
var/console_choice = input(user, "What do you want to configure the access to?", "Access Modification", "R&D Core") as null|anything in access_types
- if(console_choice == null)
+ if(!console_choice)
return
switch(console_choice)
if("R&D Core")
- name = "Circuit Board (RD Console)"
+ board_name = "RD Console"
build_path = /obj/machinery/computer/rdconsole/core
- id = 1
if("Robotics")
- name = "Circuit Board (RD Console - Robotics)"
+ board_name = "RD Console - Robotics"
build_path = /obj/machinery/computer/rdconsole/robotics
- id = 2
if("E.X.P.E.R.I-MENTOR")
- name = "Circuit Board (RD Console - E.X.P.E.R.I-MENTOR)"
+ board_name = "RD Console - E.X.P.E.R.I-MENTOR"
build_path = /obj/machinery/computer/rdconsole/experiment
- id = 3
if("Mechanics")
- name = "Circuit Board (RD Console - Mechanics)"
+ board_name = "RD Console - Mechanics"
build_path = /obj/machinery/computer/rdconsole/mechanics
- id = 4
if("Public")
- name = "Circuit Board (RD Console - Public)"
+ board_name = "RD Console - Public"
build_path = /obj/machinery/computer/rdconsole/public
- id = 5
+ format_board_name()
to_chat(user, "Access protocols set to [console_choice].")
else
to_chat(user, "Access Denied")
return
return ..()
-/obj/structure/computerframe/attackby(obj/item/P as obj, mob/user as mob, params)
- switch(state)
- if(0)
- if(istype(P, /obj/item/wrench))
- playsound(loc, P.usesound, 50, 1)
- if(do_after(user, 20 * P.toolspeed, target = src))
- to_chat(user, "You wrench the frame into place.")
- anchored = 1
- state = 1
- return
- if(1)
- if(istype(P, /obj/item/wrench))
- playsound(loc, P.usesound, 50, 1)
- if(do_after(user, 20 * P.toolspeed, target = src))
- to_chat(user, "You unfasten the frame.")
- anchored = 0
- state = 0
- return
- if(istype(P, /obj/item/circuitboard) && !circuit)
- var/obj/item/circuitboard/B = P
- if(B.board_type == "computer")
- playsound(loc, B.usesound, 50, 1)
- to_chat(user, "You place the circuit board inside the frame.")
- icon_state = "1"
- circuit = P
- user.drop_item()
- P.loc = src
- else
- to_chat(user, "This frame does not accept circuit boards of this type!")
- return
- if(istype(P, /obj/item/screwdriver) && circuit)
- playsound(loc, P.usesound, 50, 1)
- to_chat(user, "You screw the circuit board into place.")
- state = 2
- icon_state = "2"
- return
- if(istype(P, /obj/item/crowbar) && circuit)
- playsound(loc, P.usesound, 50, 1)
- to_chat(user, "You remove the circuit board.")
- state = 1
- icon_state = "0"
- circuit.loc = loc
- circuit = null
- return
- if(2)
- if(istype(P, /obj/item/screwdriver) && circuit)
- playsound(loc, P.usesound, 50, 1)
- to_chat(user, "You unfasten the circuit board.")
- state = 1
- icon_state = "1"
- return
- if(istype(P, /obj/item/stack/cable_coil))
- var/obj/item/stack/cable_coil/C = P
- if(C.get_amount() >= 5)
- playsound(loc, C.usesound, 50, 1)
- to_chat(user, "You start to add cables to the frame.")
- if(do_after(user, 20 * C.toolspeed, target = src))
- if(state == 2 && C.get_amount() >= 5 && C.use(5))
- to_chat(user, "You add cables to the frame.")
- state = 3
- icon_state = "3"
- else
- to_chat(user, "At some point during construction you lost some cable. Make sure you have five lengths before trying again.")
- return
- else
- to_chat(user, "You need five lengths of cable to wire the frame.")
- return
- if(3)
- if(istype(P, /obj/item/wirecutters))
- playsound(loc, P.usesound, 50, 1)
- to_chat(user, "You remove the cables.")
- state = 2
- icon_state = "2"
- var/obj/item/stack/cable_coil/A = new /obj/item/stack/cable_coil( loc )
- A.amount = 5
- return
- if(istype(P, /obj/item/stack/sheet/glass))
- var/obj/item/stack/sheet/glass/G = P
- if(G.get_amount() >= 2)
- playsound(loc, G.usesound, 50, 1)
- to_chat(user, "You start to add the glass panel to the frame.")
- if(do_after(user, 20 * G.toolspeed, target = src))
- if(state == 3 && G.get_amount() >= 2 && G.use(2))
- to_chat(user, "You put in the glass panel.")
- state = 4
- icon_state = "4"
- else
- to_chat(user, "At some point during construction you lost some glass. Make sure you have two sheets before trying again.")
- return
- else
- to_chat(user, "You need two sheets of glass for this.")
- return
- if(4)
- if(istype(P, /obj/item/crowbar))
- playsound(loc, P.usesound, 50, 1)
- to_chat(user, "You remove the glass panel.")
- state = 3
- icon_state = "3"
- new /obj/item/stack/sheet/glass(loc, 2)
- return
- if(istype(P, /obj/item/screwdriver))
- playsound(loc, P.usesound, 50, 1)
- to_chat(user, "You connect the monitor.")
- var/B = new circuit.build_path (loc)
- if(circuit.powernet) B:powernet = circuit.powernet
- if(circuit.id) B:id = circuit.id
- if(circuit.records) B:records = circuit.records
- if(circuit.frequency) B:frequency = circuit.frequency
- if(istype(circuit,/obj/item/circuitboard/supplycomp))
- var/obj/machinery/computer/supplycomp/SC = B
- var/obj/item/circuitboard/supplycomp/C = circuit
- SC.can_order_contraband = C.contraband_enabled
- qdel(src)
- return
- if(user.a_intent == INTENT_HARM)
- return ..()
+// Construction | Deconstruction
+#define STATE_EMPTY 1 // Add a circuitboard | Weld to destroy
+#define STATE_CIRCUIT 2 // Screwdriver the cover closed | Crowbar the circuit
+#define STATE_NOWIRES 3 // Add wires | Screwdriver the cover open
+#define STATE_WIRES 4 // Add glass | Remove wires
+#define STATE_GLASS 5 // Screwdriver to complete | Crowbar glass out
+/obj/structure/computerframe
+ name = "computer frame"
+ icon = 'icons/obj/stock_parts.dmi'
+ icon_state = "comp_frame_1"
+ density = TRUE
+ anchored = TRUE
+ max_integrity = 100
+ var/state = STATE_EMPTY
+ var/obj/item/circuitboard/circuit = null
+
+/obj/structure/computerframe/deconstruct(disassembled = TRUE)
+ if(!(flags & NODECONSTRUCT))
+ drop_computer_parts()
+ return ..() // will qdel the frame
+
+/obj/structure/computerframe/obj_break(damage_flag)
+ deconstruct()
+
+/obj/structure/computerframe/proc/drop_computer_parts()
+ var/location = drop_location()
+ new /obj/item/stack/sheet/metal(location, 5)
+ if(circuit)
+ circuit.forceMove(location)
+ circuit = null
+ if(state >= STATE_WIRES)
+ var/obj/item/stack/cable_coil/C = new(location)
+ C.amount = 5
+ if(state == STATE_GLASS)
+ new /obj/item/stack/sheet/glass(location, 2)
+
+/obj/structure/computerframe/update_icon()
+ . = ..()
+ icon_state = "comp_frame_[state]"
/obj/structure/computerframe/welder_act(mob/user, obj/item/I)
- if(state)
+ if(state != STATE_EMPTY)
return
. = TRUE
if(!I.tool_use_check(user, 0))
return
WELDER_ATTEMPT_SLICING_MESSAGE
- if(I.use_tool(src, user, 50, volume = I.tool_volume) && !state)
- to_chat(user, "You deconstruct [src].")
+ if(I.use_tool(src, user, 50, volume = I.tool_volume))
+ WELDER_SLICING_SUCCESS_MESSAGE
deconstruct(TRUE)
+
+/obj/structure/computerframe/wrench_act(mob/living/user, obj/item/I)
+ . = TRUE
+ if(!I.use_tool(src, user, 2 SECONDS, volume = I.tool_volume))
+ return
+
+ if(anchored)
+ to_chat(user, "You unfasten the frame.")
+ anchored = FALSE
+ else
+ to_chat(user, "You wrench the frame into place.")
+ anchored = TRUE
+
+/obj/structure/computerframe/crowbar_act(mob/living/user, obj/item/I)
+ . = TRUE
+ if(!I.use_tool(src, user))
+ return
+
+ if(state == STATE_CIRCUIT)
+ to_chat(user, "You remove the circuit board.")
+ state = STATE_EMPTY
+ name = initial(name)
+ circuit.forceMove(drop_location())
+ circuit = null
+ else if(state == STATE_GLASS)
+ to_chat(user, "You remove the glass panel.")
+ state = STATE_WIRES
+ new /obj/item/stack/sheet/glass(drop_location(), 2)
+ else
+ return
+
+ I.play_tool_sound(src)
+ update_icon()
+
+/obj/structure/computerframe/screwdriver_act(mob/living/user, obj/item/I)
+ . = TRUE
+ if(!I.use_tool(src, user))
+ return
+
+ switch(state)
+ if(STATE_CIRCUIT)
+ to_chat(user, "You screw the circuit board into place.")
+ state = STATE_NOWIRES
+ I.play_tool_sound(src)
+ update_icon()
+ if(STATE_NOWIRES)
+ to_chat(user, "You unfasten the circuit board.")
+ state = STATE_CIRCUIT
+ I.play_tool_sound(src)
+ update_icon()
+ if(STATE_GLASS)
+ to_chat(user, "You connect the monitor.")
+ I.play_tool_sound(src)
+ var/B = new circuit.build_path(loc)
+ if(istype(circuit, /obj/item/circuitboard/supplycomp))
+ var/obj/machinery/computer/supplycomp/SC = B
+ var/obj/item/circuitboard/supplycomp/C = circuit
+ SC.can_order_contraband = C.contraband_enabled
+ qdel(src)
+
+/obj/structure/computerframe/wirecutter_act(mob/living/user, obj/item/I)
+ . = TRUE
+ if(!I.use_tool(src, user))
+ return
+
+ if(state == STATE_WIRES)
+ to_chat(user, "You remove the cables.")
+ var/obj/item/stack/cable_coil/C = new(drop_location())
+ C.amount = 5
+ state = STATE_NOWIRES
+ I.play_tool_sound(src)
+ update_icon()
+
+/obj/structure/computerframe/attackby(obj/item/I, mob/user, params)
+ switch(state)
+ if(STATE_EMPTY)
+ if(!istype(I, /obj/item/circuitboard))
+ return ..()
+
+ var/obj/item/circuitboard/B = I
+ if(B.board_type != "computer")
+ to_chat(user, "[src] does not accept circuit boards of this type!")
+ return
+
+ B.play_tool_sound(src)
+ to_chat(user, "You place [B] inside [src].")
+ name += " ([B.board_name])"
+ state = STATE_CIRCUIT
+ user.drop_item()
+ B.forceMove(src)
+ circuit = B
+ update_icon()
+ return
+
+ if(STATE_NOWIRES)
+ if(!istype(I, /obj/item/stack/cable_coil))
+ return ..()
+
+ var/obj/item/stack/cable_coil/C = I
+ if(C.get_amount() < 5)
+ to_chat(user, "You need five lengths of cable to wire the frame.")
+ return
+
+ C.play_tool_sound(src)
+ to_chat(user, "You start to add cables to the frame.")
+ if(!do_after(user, 2 SECONDS * C.toolspeed, target = src))
+ return
+ if(C.get_amount() < 5 || !C.use(5))
+ to_chat(user, "At some point during construction you lost some cable. Make sure you have five lengths before trying again.")
+ return
+
+ to_chat(user, "You add cables to the frame.")
+ state = STATE_WIRES
+ update_icon()
+ return
+
+ if(STATE_WIRES)
+ if(!istype(I, /obj/item/stack/sheet/glass))
+ return ..()
+
+ var/obj/item/stack/sheet/glass/G = I
+ if(G.get_amount() < 2)
+ to_chat(user, "You need two sheets of glass for this.")
+ return
+
+ G.play_tool_sound(src)
+ to_chat(user, "You start to add the glass panel to the frame.")
+ if(!do_after(user, 2 SECONDS * G.toolspeed, target = src))
+ return
+ if(G.get_amount() < 2 || !G.use(2))
+ to_chat(user, "At some point during construction you lost some glass. Make sure you have two sheets before trying again.")
+ return
+
+ to_chat(user, "You put in the glass panel.")
+ state = STATE_GLASS
+ update_icon()
+ return
+
+ return ..()
+
+#undef STATE_EMPTY
+#undef STATE_CIRCUIT
+#undef STATE_NOWIRES
+#undef STATE_WIRES
+#undef STATE_GLASS
diff --git a/code/game/machinery/computer/computer.dm b/code/game/machinery/computer/computer.dm
index f18d378fff4..1c394d261f6 100644
--- a/code/game/machinery/computer/computer.dm
+++ b/code/game/machinery/computer/computer.dm
@@ -130,6 +130,7 @@
if(circuit) //no circuit, no computer frame
var/obj/structure/computerframe/A = new /obj/structure/computerframe(loc)
var/obj/item/circuitboard/M = new circuit(A)
+ A.name += " ([M.board_name])"
A.setDir(dir)
A.circuit = M
A.anchored = TRUE
@@ -140,13 +141,12 @@
playsound(src, 'sound/effects/hit_on_shattered_glass.ogg', 70, TRUE)
new /obj/item/shard(drop_location())
new /obj/item/shard(drop_location())
- A.state = 3
- A.icon_state = "3"
+ A.state = 4
else
if(user)
to_chat(user, "You disconnect the monitor.")
- A.state = 4
- A.icon_state = "4"
+ A.state = 5
+ A.update_icon()
for(var/obj/C in src)
C.forceMove(loc)
qdel(src)
diff --git a/code/game/machinery/constructable_frame.dm b/code/game/machinery/constructable_frame.dm
index a4879448aa0..0705ccd150d 100644
--- a/code/game/machinery/constructable_frame.dm
+++ b/code/game/machinery/constructable_frame.dm
@@ -104,6 +104,7 @@
circuit = P
user.drop_item()
P.loc = src
+ name += " ([B.board_name])"
icon_state = "box_2"
state = 3
components = list()
@@ -133,6 +134,7 @@
to_chat(user, "You remove the circuit board and other components.")
for(var/obj/item/I in components)
I.loc = src.loc
+ name = initial(name)
desc = initial(desc)
req_components = null
components = null
@@ -223,61 +225,58 @@ Note: Once everything is added to the public areas, will add MAT_METAL and MAT_G
to destroy them and players will be able to make replacements.
*/
/obj/item/circuitboard/vendor
- name = "circuit board (Booze-O-Mat Vendor)"
+ board_name = "Booze-O-Mat Vendor"
board_type = "machine"
origin_tech = "programming=1"
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/chinese = "Mr. Chang",
- /obj/machinery/vending/cola = "Robust Softdrinks",
- /obj/machinery/vending/cigarette = "ShadyCigs Deluxe",
- /obj/machinery/vending/hatdispenser = "Hatlord 9000",
- /obj/machinery/vending/suitdispenser = "Suitlord 9000",
- /obj/machinery/vending/shoedispenser = "Shoelord 9000",
- /obj/machinery/vending/autodrobe = "AutoDrobe",
- /obj/machinery/vending/clothing = "ClothesMate",
- /obj/machinery/vending/medical = "NanoMed Plus",
- /obj/machinery/vending/wallmed = "NanoMed",
- /obj/machinery/vending/assist = "Vendomat",
- /obj/machinery/vending/engivend = "Engi-Vend",
- /obj/machinery/vending/hydronutrients = "NutriMax",
- /obj/machinery/vending/hydroseeds = "MegaSeed Servitor",
- /obj/machinery/vending/sustenance = "Sustenance Vendor",
- /obj/machinery/vending/dinnerware = "Plasteel Chef's Dinnerware Vendor",
- /obj/machinery/vending/cart = "PTech",
- /obj/machinery/vending/robotics = "Robotech Deluxe",
- /obj/machinery/vending/engineering = "Robco Tool Maker",
- /obj/machinery/vending/sovietsoda = "BODA",
- /obj/machinery/vending/security = "SecTech",
- /obj/machinery/vending/crittercare = "CritterCare")
+ "Booze-O-Mat" = /obj/machinery/vending/boozeomat,
+ "Solar's Best Hot Drinks" = /obj/machinery/vending/coffee,
+ "Getmore Chocolate Corp" = /obj/machinery/vending/snack,
+ "Mr. Chang" = /obj/machinery/vending/chinese,
+ "Robust Softdrinks" = /obj/machinery/vending/cola,
+ "ShadyCigs Deluxe" = /obj/machinery/vending/cigarette,
+ "Hatlord 9000" = /obj/machinery/vending/hatdispenser,
+ "Suitlord 9000" = /obj/machinery/vending/suitdispenser,
+ "Shoelord 9000" = /obj/machinery/vending/shoedispenser,
+ "AutoDrobe" = /obj/machinery/vending/autodrobe,
+ "ClothesMate" = /obj/machinery/vending/clothing,
+ "NanoMed Plus" = /obj/machinery/vending/medical,
+ "NanoMed" = /obj/machinery/vending/wallmed,
+ "Vendomat" = /obj/machinery/vending/assist,
+ "YouTool" = /obj/machinery/vending/tool,
+ "Engi-Vend" = /obj/machinery/vending/engivend,
+ "NutriMax" = /obj/machinery/vending/hydronutrients,
+ "MegaSeed Servitor" = /obj/machinery/vending/hydroseeds,
+ "Sustenance Vendor" = /obj/machinery/vending/sustenance,
+ "Plasteel Chef's Dinnerware Vendor" = /obj/machinery/vending/dinnerware,
+ "PTech" = /obj/machinery/vending/cart,
+ "Robotech Deluxe" = /obj/machinery/vending/robotics,
+ "Robco Tool Maker" = /obj/machinery/vending/engineering,
+ "BODA" = /obj/machinery/vending/sovietsoda,
+ "SecTech" = /obj/machinery/vending/security,
+ "CritterCare" = /obj/machinery/vending/crittercare)
/obj/item/circuitboard/vendor/screwdriver_act(mob/user, obj/item/I)
. = TRUE
if(!I.use_tool(src, user, 0, volume = I.tool_volume))
return
- 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
- if(loc != user)
- to_chat(user, "You need to keep [src] in your hands while doing that!")
+ var/choice = input(user, "Choose a new brand", "Select an Item") as null|anything in vending_names_paths
+ if(!choice)
return
- set_type(display_vending_names_paths[choice])
+ set_type(choice)
-/obj/item/circuitboard/vendor/proc/set_type(obj/machinery/vending/typepath)
+/obj/item/circuitboard/vendor/proc/set_type(type)
+ var/obj/machinery/vending/typepath = vending_names_paths[type]
build_path = typepath
- name = "circuit board ([vending_names_paths[build_path]] Vendor)"
+ board_name = "[type] Vendor"
+ format_board_name()
req_components = list(initial(typepath.refill_canister) = 1)
/obj/item/circuitboard/smes
- name = "circuit board (SMES)"
+ board_name = "SMES"
build_path = /obj/machinery/power/smes
board_type = "machine"
origin_tech = "programming=3;powerstorage=3;engineering=3"
@@ -287,7 +286,7 @@ to destroy them and players will be able to make replacements.
/obj/item/stock_parts/capacitor = 1)
/obj/item/circuitboard/emitter
- name = "circuit board (Emitter)"
+ board_name = "Emitter"
build_path = /obj/machinery/power/emitter
board_type = "machine"
origin_tech = "programming=3;powerstorage=4;engineering=4"
@@ -296,7 +295,7 @@ to destroy them and players will be able to make replacements.
/obj/item/stock_parts/manipulator = 1)
/obj/item/circuitboard/power_compressor
- name = "circuit board (Power Compressor)"
+ board_name = "Power Compressor"
build_path = /obj/machinery/power/compressor
board_type = "machine"
origin_tech = "programming=4;powerstorage=4;engineering=4"
@@ -305,7 +304,7 @@ to destroy them and players will be able to make replacements.
/obj/item/stock_parts/manipulator = 6)
/obj/item/circuitboard/power_turbine
- name = "circuit board (Power Turbine)"
+ board_name = "Power Turbine"
build_path = /obj/machinery/power/turbine
board_type = "machine"
origin_tech = "programming=4;powerstorage=4;engineering=4"
@@ -314,7 +313,7 @@ to destroy them and players will be able to make replacements.
/obj/item/stock_parts/capacitor = 6)
/obj/item/circuitboard/thermomachine
- name = "Thermomachine (Machine Board)"
+ board_name = "Thermomachine"
build_path = /obj/machinery/atmospherics/unary/thermomachine
board_type = "machine"
origin_tech = "programming=3;plasmatech=3"
@@ -325,14 +324,14 @@ to destroy them and players will be able to make replacements.
/obj/item/stack/sheet/glass = 1)
/obj/item/circuitboard/recharger
- name = "circuit board (Recharger)"
+ board_name = "Recharger"
build_path = /obj/machinery/recharger
board_type = "machine"
origin_tech = "powerstorage=3;materials=2"
req_components = list(/obj/item/stock_parts/capacitor = 1)
/obj/item/circuitboard/snow_machine
- name = "circuit board (snow machine)"
+ board_name = "Snow Machine"
build_path = /obj/machinery/snow_machine
board_type = "machine"
origin_tech = "programming=2;materials=2"
@@ -341,7 +340,7 @@ to destroy them and players will be able to make replacements.
/obj/item/stock_parts/micro_laser = 1)
/obj/item/circuitboard/biogenerator
- name = "circuit board (Biogenerator)"
+ board_name = "Biogenerator"
build_path = /obj/machinery/biogenerator
board_type = "machine"
origin_tech = "programming=2;biotech=3;materials=3"
@@ -352,7 +351,7 @@ to destroy them and players will be able to make replacements.
/obj/item/stack/sheet/glass = 1)
/obj/item/circuitboard/plantgenes
- name = "Plant DNA Manipulator (Machine Board)"
+ board_name = "Plant DNA Manipulator"
build_path = /obj/machinery/plantgenes
board_type = "machine"
origin_tech = "programming=3;biotech=3"
@@ -365,7 +364,7 @@ to destroy them and players will be able to make replacements.
/obj/item/circuitboard/plantgenes/vault
/obj/item/circuitboard/seed_extractor
- name = "circuit board (Seed Extractor)"
+ board_name = "Seed Extractor"
build_path = /obj/machinery/seed_extractor
board_type = "machine"
origin_tech = "programming=1"
@@ -374,7 +373,7 @@ to destroy them and players will be able to make replacements.
/obj/item/stock_parts/manipulator = 1)
/obj/item/circuitboard/hydroponics
- name = "circuit board (Hydroponics Tray)"
+ board_name = "Hydroponics Tray"
build_path = /obj/machinery/hydroponics/constructable
board_type = "machine"
origin_tech = "programming=1;biotech=2"
@@ -384,7 +383,7 @@ to destroy them and players will be able to make replacements.
/obj/item/stack/sheet/glass = 1)
/obj/item/circuitboard/microwave
- name = "circuit board (Microwave)"
+ board_name = "Microwave"
build_path = /obj/machinery/kitchen_machine/microwave
board_type = "machine"
origin_tech = "programming=2;magnets=2"
@@ -394,7 +393,7 @@ to destroy them and players will be able to make replacements.
/obj/item/stack/sheet/glass = 1)
/obj/item/circuitboard/oven
- name = "circuit board (Oven)"
+ board_name = "Oven"
build_path = /obj/machinery/kitchen_machine/oven
board_type = "machine"
origin_tech = "programming=2;magnets=2"
@@ -404,7 +403,7 @@ to destroy them and players will be able to make replacements.
/obj/item/stack/sheet/glass = 1)
/obj/item/circuitboard/grill
- name = "circuit board (Grill)"
+ board_name = "Grill"
build_path = /obj/machinery/kitchen_machine/grill
board_type = "machine"
origin_tech = "programming=2;magnets=2"
@@ -414,7 +413,7 @@ to destroy them and players will be able to make replacements.
/obj/item/stack/sheet/glass = 1)
/obj/item/circuitboard/candy_maker
- name = "circuit board (Candy Maker)"
+ board_name = "Candy Maker"
build_path = /obj/machinery/kitchen_machine/candy_maker
board_type = "machine"
origin_tech = "programming=2;magnets=2"
@@ -424,7 +423,7 @@ to destroy them and players will be able to make replacements.
/obj/item/stack/sheet/glass = 1)
/obj/item/circuitboard/deepfryer
- name = "circuit board (Deep Fryer)"
+ board_name = "Deep Fryer"
build_path = /obj/machinery/cooker/deepfryer
board_type = "machine"
origin_tech = "programming=1"
@@ -433,7 +432,7 @@ to destroy them and players will be able to make replacements.
/obj/item/stack/cable_coil = 5)
/obj/item/circuitboard/gibber
- name = "circuit board (Gibber)"
+ board_name = "Gibber"
build_path = /obj/machinery/gibber
board_type = "machine"
origin_tech = "programming=2;engineering=2"
@@ -442,7 +441,7 @@ to destroy them and players will be able to make replacements.
/obj/item/stock_parts/manipulator = 1)
/obj/item/circuitboard/tesla_coil
- name = "circuit board (Tesla Coil)"
+ board_name = "Tesla Coil"
build_path = /obj/machinery/power/tesla_coil
board_type = "machine"
origin_tech = "programming=3;magnets=3;powerstorage=3"
@@ -450,7 +449,7 @@ to destroy them and players will be able to make replacements.
/obj/item/stock_parts/capacitor = 1)
/obj/item/circuitboard/grounding_rod
- name = "circuit board (Grounding Rod)"
+ board_name = "Grounding Rod"
build_path = /obj/machinery/power/grounding_rod
board_type = "machine"
origin_tech = "programming=3;powerstorage=3;magnets=3;plasmatech=2"
@@ -458,7 +457,7 @@ to destroy them and players will be able to make replacements.
/obj/item/stock_parts/capacitor = 1)
/obj/item/circuitboard/processor
- name = "circuit board (Food processor)"
+ board_name = "Food Processor"
build_path = /obj/machinery/processor
board_type = "machine"
origin_tech = "programming=1"
@@ -467,7 +466,7 @@ to destroy them and players will be able to make replacements.
/obj/item/stock_parts/manipulator = 1)
/obj/item/circuitboard/recycler
- name = "circuit board (Recycler)"
+ board_name = "Recycler"
build_path = /obj/machinery/recycler
board_type = "machine"
origin_tech = "programming=2;engineering=2"
@@ -476,51 +475,49 @@ to destroy them and players will be able to make replacements.
/obj/item/stock_parts/manipulator = 1)
/obj/item/circuitboard/smartfridge
- name = "circuit board (Smartfridge)"
+ board_name = "Smartfridge"
build_path = /obj/machinery/smartfridge
board_type = "machine"
origin_tech = "programming=1"
req_components = list(
/obj/item/stock_parts/matter_bin = 1)
- var/list/fridge_names_paths = list(
- "\improper SmartFridge" = /obj/machinery/smartfridge,
- "\improper MegaSeed Servitor" = /obj/machinery/smartfridge/seeds,
- "\improper Refrigerated Medicine Storage" = /obj/machinery/smartfridge/medbay,
- "\improper Slime Extract Storage" = /obj/machinery/smartfridge/secure/extract,
- "\improper Secure Refrigerated Medicine Storage" = /obj/machinery/smartfridge/secure/medbay,
- "\improper Smart Chemical Storage" = /obj/machinery/smartfridge/secure/chemistry,
- "smart virus storage" = /obj/machinery/smartfridge/secure/chemistry/virology,
- "\improper Drink Showcase" = /obj/machinery/smartfridge/drinks,
- "disk compartmentalizer" = /obj/machinery/smartfridge/disks
- )
+ var/static/list/fridge_names_paths = list(
+ "SmartFridge" = /obj/machinery/smartfridge,
+ "MegaSeed Servitor" = /obj/machinery/smartfridge/seeds,
+ "Refrigerated Medicine Storage" = /obj/machinery/smartfridge/medbay,
+ "Slime Extract Storage" = /obj/machinery/smartfridge/secure/extract,
+ "Secure Refrigerated Medicine Storage" = /obj/machinery/smartfridge/secure/medbay,
+ "Smart Chemical Storage" = /obj/machinery/smartfridge/secure/chemistry,
+ "Smart Virus Storage" = /obj/machinery/smartfridge/secure/chemistry/virology,
+ "Drink Showcase" = /obj/machinery/smartfridge/drinks,
+ "Disk Compartmentalizer" = /obj/machinery/smartfridge/disks)
-
-/obj/item/circuitboard/smartfridge/attackby(obj/item/I, mob/user, params)
- if(istype(I, /obj/item/screwdriver))
- set_type(null, user)
+/obj/item/circuitboard/smartfridge/screwdriver_act(mob/living/user, obj/item/I)
+ . = TRUE
+ if(!I.use_tool(src, user, 0, volume = I.tool_volume))
return
- return ..()
+ var/choice = input(user, "Circuit Setting", "What would you change the board setting to?") as null|anything in fridge_names_paths
+ if(!choice)
+ return
+ set_type(user, choice)
-/obj/item/circuitboard/smartfridge/proc/set_type(typepath, mob/user)
- var/new_name = ""
- if(!typepath)
- new_name = input("Circuit Setting", "What would you change the board setting to?") in fridge_names_paths
- typepath = fridge_names_paths[new_name]
+/obj/item/circuitboard/smartfridge/proc/set_type(mob/user, type)
+ if(!ispath(type))
+ board_name = type
+ type = fridge_names_paths[type]
else
for(var/name in fridge_names_paths)
- if(fridge_names_paths[name] == typepath)
- new_name = name
+ if(fridge_names_paths[name] == type)
+ board_name = name
break
- build_path = typepath
- name = new_name
- if(findtextEx(new_name, "\improper"))
- new_name = replacetext(new_name, "\improper", "")
+ build_path = type
+ format_board_name()
if(user)
- to_chat(user, "You set the board to [new_name].")
+ to_chat(user, "You set the board to [board_name].")
/obj/item/circuitboard/monkey_recycler
- name = "circuit board (Monkey Recycler)"
+ board_name = "Monkey Recycler"
build_path = /obj/machinery/monkey_recycler
board_type = "machine"
origin_tech = "programming=1;biotech=2"
@@ -529,7 +526,7 @@ to destroy them and players will be able to make replacements.
/obj/item/stock_parts/manipulator = 1)
/obj/item/circuitboard/holopad
- name = "circuit board (AI Holopad)"
+ board_name = "AI Holopad"
build_path = /obj/machinery/hologram/holopad
board_type = "machine"
origin_tech = "programming=1"
@@ -537,7 +534,7 @@ to destroy them and players will be able to make replacements.
/obj/item/stock_parts/capacitor = 1)
/obj/item/circuitboard/chem_dispenser
- name = "circuit board (Chem Dispenser)"
+ board_name = "Chem Dispenser"
build_path = /obj/machinery/chem_dispenser
board_type = "machine"
origin_tech = "materials=4;programming=4;plasmatech=4;biotech=3"
@@ -548,7 +545,7 @@ to destroy them and players will be able to make replacements.
/obj/item/stock_parts/cell = 1)
/obj/item/circuitboard/chem_master
- name = "circuit board (ChemMaster 3000)"
+ board_name = "ChemMaster 3000"
build_path = /obj/machinery/chem_master
board_type = "machine"
origin_tech = "materials=3;programming=2;biotech=3"
@@ -573,11 +570,11 @@ to destroy them and players will be able to make replacements.
to_chat(user, "You change the circuit board setting to \"[new_name]\".")
/obj/item/circuitboard/chem_master/condi_master
- name = "circuit board (CondiMaster 3000)"
+ board_name = "CondiMaster 3000"
build_path = /obj/machinery/chem_master/condimaster
/obj/item/circuitboard/chem_heater
- name = "circuit board (Chemical Heater)"
+ board_name = "Chemical Heater"
build_path = /obj/machinery/chem_heater
board_type = "machine"
origin_tech = "programming=2;engineering=2;biotech=2"
@@ -586,7 +583,7 @@ to destroy them and players will be able to make replacements.
/obj/item/stack/sheet/glass = 1)
/obj/item/circuitboard/reagentgrinder
- name = "circuit board (All-In-One Grinder)"
+ board_name = "All-In-One Grinder"
build_path = /obj/machinery/reagentgrinder/empty
board_type = "machine"
origin_tech = "materials=2;engineering=2;biotech=2"
@@ -596,7 +593,7 @@ to destroy them and players will be able to make replacements.
//Almost the same recipe as destructive analyzer to give people choices.
/obj/item/circuitboard/experimentor
- name = "circuit board (E.X.P.E.R.I-MENTOR)"
+ board_name = "E.X.P.E.R.I-MENTOR"
build_path = /obj/machinery/r_n_d/experimentor
board_type = "machine"
origin_tech = "magnets=1;engineering=1;programming=1;biotech=1;bluespace=2"
@@ -606,7 +603,7 @@ to destroy them and players will be able to make replacements.
/obj/item/stock_parts/micro_laser = 2)
/obj/item/circuitboard/destructive_analyzer
- name = "Circuit board (Destructive Analyzer)"
+ board_name = "Destructive Analyzer"
build_path = /obj/machinery/r_n_d/destructive_analyzer
board_type = "machine"
origin_tech = "magnets=2;engineering=2;programming=2"
@@ -616,7 +613,7 @@ to destroy them and players will be able to make replacements.
/obj/item/stock_parts/micro_laser = 1)
/obj/item/circuitboard/autolathe
- name = "Circuit board (Autolathe)"
+ board_name = "Autolathe"
build_path = /obj/machinery/autolathe
board_type = "machine"
origin_tech = "engineering=2;programming=2"
@@ -630,7 +627,7 @@ to destroy them and players will be able to make replacements.
build_path = /obj/machinery/autolathe/syndicate
/obj/item/circuitboard/protolathe
- name = "Circuit board (Protolathe)"
+ board_name = "Protolathe"
build_path = /obj/machinery/r_n_d/protolathe
board_type = "machine"
origin_tech = "engineering=2;programming=2"
@@ -640,15 +637,15 @@ to destroy them and players will be able to make replacements.
/obj/item/reagent_containers/glass/beaker = 2)
/obj/item/circuitboard/chem_dispenser/soda
- name = "Circuit board (Soda Machine)"
+ board_name = "Soda Machine"
build_path = /obj/machinery/chem_dispenser/soda
/obj/item/circuitboard/chem_dispenser/beer
- name = "Circuit board (Beer Machine)"
+ board_name = "Beer Machine"
build_path = /obj/machinery/chem_dispenser/beer
/obj/item/circuitboard/circuit_imprinter
- name = "Circuit board (Circuit Imprinter)"
+ board_name = "Circuit Imprinter"
build_path = /obj/machinery/r_n_d/circuit_imprinter
board_type = "machine"
origin_tech = "engineering=2;programming=2"
@@ -658,7 +655,7 @@ to destroy them and players will be able to make replacements.
/obj/item/reagent_containers/glass/beaker = 2)
/obj/item/circuitboard/pacman
- name = "Circuit Board (PACMAN-type Generator)"
+ board_name = "PACMAN-type Generator"
build_path = /obj/machinery/power/port_gen/pacman
board_type = "machine"
origin_tech = "programming=2;powerstorage=3;plasmatech=3;engineering=3"
@@ -669,17 +666,17 @@ to destroy them and players will be able to make replacements.
/obj/item/stock_parts/capacitor = 1)
/obj/item/circuitboard/pacman/super
- name = "Circuit Board (SUPERPACMAN-type Generator)"
+ board_name = "SUPERPACMAN-type Generator"
build_path = /obj/machinery/power/port_gen/pacman/super
origin_tech = "programming=3;powerstorage=4;engineering=4"
/obj/item/circuitboard/pacman/mrs
- name = "Circuit Board (MRSPACMAN-type Generator)"
+ board_name = "MRSPACMAN-type Generator"
build_path = /obj/machinery/power/port_gen/pacman/mrs
origin_tech = "programming=3;powerstorage=4;engineering=4;plasmatech=4"
/obj/item/circuitboard/rdserver
- name = "Circuit Board (R&D Server)"
+ board_name = "R&D Server"
build_path = /obj/machinery/r_n_d/server
board_type = "machine"
origin_tech = "programming=3"
@@ -688,7 +685,7 @@ to destroy them and players will be able to make replacements.
/obj/item/stock_parts/scanning_module = 1)
/obj/item/circuitboard/mechfab
- name = "Circuit board (Exosuit Fabricator)"
+ board_name = "Exosuit Fabricator"
build_path = /obj/machinery/mecha_part_fabricator
board_type = "machine"
origin_tech = "programming=2;engineering=2"
@@ -699,7 +696,7 @@ to destroy them and players will be able to make replacements.
/obj/item/stack/sheet/glass = 1)
/obj/item/circuitboard/podfab
- name = "Circuit board (Spacepod Fabricator)"
+ board_name = "Spacepod Fabricator"
build_path = /obj/machinery/mecha_part_fabricator/spacepod
board_type = "machine"
origin_tech = "programming=2;engineering=2"
@@ -711,7 +708,7 @@ to destroy them and players will be able to make replacements.
/obj/item/circuitboard/clonepod
- name = "Circuit board (Clone Pod)"
+ board_name = "Clone Pod"
build_path = /obj/machinery/clonepod
board_type = "machine"
origin_tech = "programming=2;biotech=2"
@@ -722,7 +719,7 @@ to destroy them and players will be able to make replacements.
/obj/item/stack/sheet/glass = 1)
/obj/item/circuitboard/clonescanner
- name = "Circuit board (Cloning Scanner)"
+ board_name = "Cloning Scanner"
build_path = /obj/machinery/dna_scannernew
board_type = "machine"
origin_tech = "programming=2;biotech=2"
@@ -734,7 +731,7 @@ to destroy them and players will be able to make replacements.
/obj/item/stack/cable_coil = 2,)
/obj/item/circuitboard/mech_recharger
- name = "circuit board (Mech Bay Recharger)"
+ board_name = "Mech Bay Recharger"
build_path = /obj/machinery/mech_bay_recharge_port
board_type = "machine"
origin_tech = "programming=3;powerstorage=3;engineering=3"
@@ -743,7 +740,7 @@ to destroy them and players will be able to make replacements.
/obj/item/stock_parts/capacitor = 5)
/obj/item/circuitboard/teleporter_hub
- name = "circuit board (Teleporter Hub)"
+ board_name = "Teleporter Hub"
build_path = /obj/machinery/teleport/hub
board_type = "machine"
origin_tech = "programming=3;engineering=4;bluespace=4;materials=4"
@@ -752,7 +749,7 @@ to destroy them and players will be able to make replacements.
/obj/item/stock_parts/matter_bin = 1)
/obj/item/circuitboard/teleporter_station
- name = "circuit board (Teleporter Station)"
+ board_name = "Teleporter Station"
build_path = /obj/machinery/teleport/station
board_type = "machine"
origin_tech = "programming=4;engineering=4;bluespace=4;plasmatech=3"
@@ -762,7 +759,7 @@ to destroy them and players will be able to make replacements.
/obj/item/stack/sheet/glass = 1)
/obj/item/circuitboard/teleporter_perma
- name = "circuit board (Permanent Teleporter)"
+ board_name = "Permanent Teleporter"
build_path = /obj/machinery/teleport/perma
board_type = "machine"
origin_tech = "programming=3;engineering=4;bluespace=4;materials=4"
@@ -781,7 +778,7 @@ to destroy them and players will be able to make replacements.
return ..()
/obj/item/circuitboard/telesci_pad
- name = "Circuit board (Telepad)"
+ board_name = "Telepad"
build_path = /obj/machinery/telepad
board_type = "machine"
origin_tech = "programming=4;engineering=3;plasmatech=4;bluespace=4"
@@ -792,7 +789,7 @@ to destroy them and players will be able to make replacements.
/obj/item/stack/sheet/glass = 1)
/obj/item/circuitboard/quantumpad
- name = "circuit board (Quantum Pad)"
+ board_name = "Quantum Pad"
build_path = /obj/machinery/quantumpad
board_type = "machine"
origin_tech = "programming=3;engineering=3;plasmatech=3;bluespace=4"
@@ -803,7 +800,7 @@ to destroy them and players will be able to make replacements.
/obj/item/stack/cable_coil = 1)
/obj/item/circuitboard/sleeper
- name = "circuit board (Sleeper)"
+ board_name = "Sleeper"
build_path = /obj/machinery/sleeper
board_type = "machine"
origin_tech = "programming=3;biotech=2;engineering=3"
@@ -814,16 +811,16 @@ to destroy them and players will be able to make replacements.
/obj/item/stack/sheet/glass = 2)
/obj/item/circuitboard/sleeper/syndicate
- name = "circuit board (Sleeper Syndicate)"
+ board_name = "Sleeper - Syndicate"
build_path = /obj/machinery/sleeper/syndie
/obj/item/circuitboard/sleeper/survival
- name = "circuit board (Sleeper Survival Pod)"
+ board_name = "Sleeper - Survival Pod"
build_path = /obj/machinery/sleeper/survival_pod
/obj/item/circuitboard/bodyscanner
- name = "circuit board (Body Scanner)"
+ board_name = "Body Scanner"
build_path = /obj/machinery/bodyscanner
board_type = "machine"
origin_tech = "programming=3;biotech=2;engineering=3"
@@ -833,7 +830,7 @@ to destroy them and players will be able to make replacements.
/obj/item/stack/sheet/glass = 2)
/obj/item/circuitboard/cryo_tube
- name = "circuit board (Cryotube)"
+ board_name = "Cryotube"
build_path = /obj/machinery/atmospherics/unary/cryo_cell
board_type = "machine"
origin_tech = "programming=4;biotech=3;engineering=4;plasmatech=3"
@@ -843,7 +840,7 @@ to destroy them and players will be able to make replacements.
/obj/item/stack/sheet/glass = 4)
/obj/item/circuitboard/cyborgrecharger
- name = "circuit board (Cyborg Recharger)"
+ board_name = "Cyborg Recharger"
build_path = /obj/machinery/recharge_station
board_type = "machine"
origin_tech = "powerstorage=3;engineering=3"
@@ -854,21 +851,22 @@ to destroy them and players will be able to make replacements.
// Telecomms circuit boards:
/obj/item/circuitboard/tcomms/relay
- name = "Circuit Board (Telecommunications Relay)"
+ board_name = "Telecommunications Relay"
build_path = /obj/machinery/tcomms/relay
board_type = "machine"
origin_tech = "programming=2;engineering=2;bluespace=2"
req_components = list(/obj/item/stock_parts/manipulator = 2, /obj/item/stack/cable_coil = 2)
/obj/item/circuitboard/tcomms/core
- name = "Circuit Board (Telecommunications Core)"
+ board_name = "Telecommunications Core"
build_path = /obj/machinery/tcomms/core
board_type = "machine"
origin_tech = "programming=2;engineering=2"
req_components = list(/obj/item/stock_parts/manipulator = 2, /obj/item/stack/cable_coil = 2)
// End telecomms circuit boards
+
/obj/item/circuitboard/ore_redemption
- name = "circuit board (Ore Redemption)"
+ board_name = "Ore Redemption"
build_path = /obj/machinery/mineral/ore_redemption
board_type = "machine"
origin_tech = "programming=1;engineering=2"
@@ -880,15 +878,15 @@ to destroy them and players will be able to make replacements.
/obj/item/assembly/igniter = 1)
/obj/item/circuitboard/ore_redemption/golem
- name = "circuit board (Golem Ore Redemption)"
+ board_name = "Ore Redemption - Golem"
build_path = /obj/machinery/mineral/ore_redemption/golem
/obj/item/circuitboard/ore_redemption/labor
- name = "circuit board (Labor Ore Redemption)"
+ board_name = "Ore Redemption - Labour"
build_path = /obj/machinery/mineral/ore_redemption/labor
/obj/item/circuitboard/mining_equipment_vendor
- name = "circuit board (Mining Equipment Vendor)"
+ board_name = "Mining Equipment Vendor"
build_path = /obj/machinery/mineral/equipment_vendor
board_type = "machine"
origin_tech = "programming=1;engineering=3"
@@ -897,15 +895,15 @@ to destroy them and players will be able to make replacements.
/obj/item/stock_parts/matter_bin = 3)
/obj/item/circuitboard/mining_equipment_vendor/golem
- name = "circuit board (Mining Equipment Vendor)"
+ board_name = "Golem Equipment Vendor"
build_path = /obj/machinery/mineral/equipment_vendor/golem
/obj/item/circuitboard/mining_equipment_vendor/labor
- name = "circuit board (Labor Equipment Vendor)"
+ board_name = "Labour Equipment Vendor"
build_path = /obj/machinery/mineral/equipment_vendor/labor
/obj/item/circuitboard/clawgame
- name = "circuit board (Claw Game)"
+ board_name = "Claw Game"
build_path = /obj/machinery/arcade/claw
board_type = "machine"
origin_tech = "programming=1"
@@ -916,7 +914,7 @@ to destroy them and players will be able to make replacements.
/obj/item/stack/sheet/glass = 1)
/obj/item/circuitboard/prize_counter
- name = "circuit board (Prize Counter)"
+ board_name = "Prize Counter"
build_path = /obj/machinery/prize_counter
board_type = "machine"
origin_tech = "programming=1"
@@ -927,7 +925,7 @@ to destroy them and players will be able to make replacements.
/obj/item/stack/cable_coil = 1)
/obj/item/circuitboard/gameboard
- name = "circuit board (Virtual Gameboard)"
+ board_name = "Virtual Gameboard"
build_path = /obj/machinery/gameboard
board_type = "machine"
origin_tech = "programming=1"
diff --git a/code/game/machinery/cryopod.dm b/code/game/machinery/cryopod.dm
index 48e224c3d38..a67f068912f 100644
--- a/code/game/machinery/cryopod.dm
+++ b/code/game/machinery/cryopod.dm
@@ -170,12 +170,12 @@
dispense_item(I)
/obj/item/circuitboard/cryopodcontrol
- name = "Circuit board (Cryogenic Oversight Console)"
+ board_name = "Cryogenic Oversight Console"
build_path = "/obj/machinery/computer/cryopod"
origin_tech = "programming=1"
/obj/item/circuitboard/robotstoragecontrol
- name = "Circuit board (Robotic Storage Console)"
+ board_name = "Robotic Storage Console"
build_path = "/obj/machinery/computer/cryopod/robot"
origin_tech = "programming=1"
diff --git a/code/game/machinery/vending.dm b/code/game/machinery/vending.dm
index 15a69318610..88deaf8647b 100644
--- a/code/game/machinery/vending.dm
+++ b/code/game/machinery/vending.dm
@@ -101,16 +101,24 @@
var/force_no_power_icon_state = FALSE
/obj/machinery/vending/Initialize(mapload)
+ . = ..()
var/build_inv = FALSE
if(!refill_canister)
build_inv = TRUE
- . = ..()
+ else
+ component_parts = list()
+ var/obj/item/circuitboard/vendor/V = new
+ V.set_type(replacetext(name, "\improper", ""))
+ component_parts += V
+ component_parts += new refill_canister
+ RefreshParts()
+
wires = new(src)
if(build_inv) //non-constructable vending machine
build_inventory(products, product_records)
build_inventory(contraband, hidden_records)
build_inventory(premium, coin_records)
- for (var/datum/data/vending_product/R in (product_records + coin_records + hidden_records))
+ for(var/datum/data/vending_product/R in (product_records + coin_records + hidden_records))
var/obj/item/I = R.product_path
var/pp = replacetext(replacetext("[R.product_path]", "/obj/item/", ""), "/", "-")
imagelist[pp] = "[icon2base64(icon(initial(I.icon), initial(I.icon_state)))]"
@@ -887,14 +895,6 @@
ads_list = list("Only the finest!","Have some tools.","The most robust equipment.","The finest gear in space!")
refill_canister = /obj/item/vending_refill/assist
-/obj/machinery/vending/assist/Initialize(mapload)
- component_parts = list()
- var/obj/item/circuitboard/vendor/V = new(null)
- V.set_type(type)
- component_parts += V
- component_parts += new /obj/item/vending_refill/assist(null)
- RefreshParts()
- return ..()
/obj/machinery/vending/boozeomat
name = "\improper Booze-O-Mat"
@@ -934,15 +934,6 @@
/obj/machinery/vending/boozeomat/syndicate_access
req_access = list(ACCESS_SYNDICATE)
-/obj/machinery/vending/boozeomat/Initialize(mapload)
- component_parts = list()
- var/obj/item/circuitboard/vendor/V = new(null)
- V.set_type(type)
- component_parts += V
- component_parts += new /obj/item/vending_refill/boozeomat(null)
- RefreshParts()
- return ..()
-
/obj/machinery/vending/coffee
name = "\improper Hot Drinks machine"
@@ -964,15 +955,6 @@
/obj/machinery/vending/coffee/free
prices = list()
-/obj/machinery/vending/coffee/Initialize(mapload)
- component_parts = list()
- var/obj/item/circuitboard/vendor/V = new(null)
- V.set_type(type)
- component_parts += V
- component_parts += new /obj/item/vending_refill/coffee(null)
- RefreshParts()
- return ..()
-
/obj/machinery/vending/coffee/item_slot_check(mob/user, obj/item/I)
if(!(istype(I, /obj/item/reagent_containers/glass) || istype(I, /obj/item/reagent_containers/food/drinks)))
return FALSE
@@ -1029,14 +1011,6 @@
/obj/machinery/vending/snack/free
prices = list()
-/obj/machinery/vending/snack/Initialize(mapload)
- component_parts = list()
- var/obj/item/circuitboard/vendor/V = new(null)
- V.set_type(type)
- component_parts += V
- component_parts += new /obj/item/vending_refill/snack(null)
- RefreshParts()
- return ..()
/obj/machinery/vending/chinese
name = "\improper Mr. Chang"
@@ -1052,14 +1026,6 @@
/obj/machinery/vending/chinese/free
prices = list()
-/obj/machinery/vending/chinese/Initialize(mapload)
- component_parts = list()
- var/obj/item/circuitboard/vendor/V = new(null)
- V.set_type(type)
- component_parts += V
- component_parts += new /obj/item/vending_refill/chinese(null)
- RefreshParts()
- return ..()
/obj/machinery/vending/cola
name = "\improper Robust Softdrinks"
@@ -1079,15 +1045,6 @@
/obj/machinery/vending/cola/free
prices = list()
-/obj/machinery/vending/cola/Initialize(mapload)
- component_parts = list()
- var/obj/item/circuitboard/vendor/V = new(null)
- V.set_type(type)
- component_parts += V
- component_parts += new /obj/item/vending_refill/cola(null)
- RefreshParts()
- return ..()
-
/obj/machinery/vending/cart
name = "\improper PTech"
@@ -1107,14 +1064,6 @@
/obj/machinery/vending/cart/free
prices = list()
-/obj/machinery/vending/cart/Initialize(mapload)
- component_parts = list()
- var/obj/item/circuitboard/vendor/V = new(null)
- V.set_type(type)
- component_parts += V
- component_parts += new /obj/item/vending_refill/cart(null)
- RefreshParts()
- return ..()
/obj/machinery/vending/liberationstation
name = "\improper Liberation Station"
@@ -1161,6 +1110,7 @@
armor = list(melee = 100, bullet = 100, laser = 100, energy = 100, bomb = 0, bio = 0, rad = 0, fire = 100, acid = 50)
resistance_flags = FIRE_PROOF
+
/obj/machinery/vending/cigarette
name = "cigarette machine"
desc = "If you want to get cancer, might as well do it in style."
@@ -1190,6 +1140,7 @@
/obj/machinery/vending/cigarette/syndicate/free
prices = list()
+
/obj/machinery/vending/cigarette/beach //Used in the lavaland_biodome_beach.dmm ruin
name = "\improper ShadyCigs Ultra"
desc = "Now with extra premium products!"
@@ -1208,14 +1159,6 @@
/obj/item/lighter/zippo = 3)
prices = list()
-/obj/machinery/vending/cigarette/Initialize(mapload)
- component_parts = list()
- var/obj/item/circuitboard/vendor/V = new(null)
- V.set_type(type)
- component_parts += V
- component_parts += new /obj/item/vending_refill/cigarette(null)
- RefreshParts()
- return ..()
/obj/machinery/vending/medical
name = "\improper NanoMed Plus"
@@ -1242,14 +1185,6 @@
name = "\improper SyndiMed Plus"
req_access = list(ACCESS_SYNDICATE)
-/obj/machinery/vending/medical/Initialize(mapload)
- component_parts = list()
- var/obj/item/circuitboard/vendor/V = new(null)
- V.set_type(type)
- component_parts += V
- component_parts += new /obj/item/vending_refill/medical(null)
- RefreshParts()
- return ..()
/obj/machinery/vending/plasmaresearch
name = "\improper Toximate 3000"
@@ -1258,6 +1193,7 @@
/obj/item/wirecutters = 1, /obj/item/assembly/timer = 8)
contraband = list(/obj/item/flashlight = 5, /obj/item/assembly/voice = 3, /obj/item/assembly/health = 3, /obj/item/assembly/infra = 3)
+
/obj/machinery/vending/wallmed
name = "\improper NanoMed"
desc = "Wall-mounted Medical Equipment dispenser."
@@ -1271,14 +1207,6 @@
resistance_flags = FIRE_PROOF
refill_canister = /obj/item/vending_refill/wallmed
-/obj/machinery/vending/wallmed/Initialize(mapload)
- component_parts = list()
- var/obj/item/circuitboard/vendor/V = new(null)
- V.set_type(type)
- component_parts += V
- component_parts += new /obj/item/vending_refill/wallmed(null)
- RefreshParts()
- return ..()
/obj/machinery/vending/wallmed/syndicate
name = "\improper SyndiMed Plus"
@@ -1290,6 +1218,7 @@
products = list(/obj/item/stack/medical/bruise_pack = 2,/obj/item/stack/medical/ointment = 2,/obj/item/reagent_containers/hypospray/autoinjector = 4,/obj/item/healthanalyzer = 1)
contraband = list(/obj/item/reagent_containers/syringe/charcoal = 4,/obj/item/reagent_containers/syringe/antiviral = 4,/obj/item/reagent_containers/food/pill/tox = 1)
+
/obj/machinery/vending/security
name = "\improper SecTech"
desc = "A security equipment vendor."
@@ -1303,14 +1232,6 @@
contraband = list(/obj/item/clothing/glasses/sunglasses = 2,/obj/item/storage/fancy/donut_box = 2,/obj/item/hailer = 5)
refill_canister = /obj/item/vending_refill/security
-/obj/machinery/vending/security/Initialize(mapload)
- component_parts = list()
- var/obj/item/circuitboard/vendor/V = new(null)
- V.set_type(type)
- component_parts += V
- component_parts += new /obj/item/vending_refill/security(null)
- RefreshParts()
- return ..()
/obj/machinery/vending/hydronutrients
name = "\improper NutriMax"
@@ -1324,14 +1245,6 @@
contraband = list(/obj/item/reagent_containers/glass/bottle/ammonia = 10,/obj/item/reagent_containers/glass/bottle/diethylamine = 5)
refill_canister = /obj/item/vending_refill/hydronutrients
-/obj/machinery/vending/hydronutrients/Initialize(mapload)
- component_parts = list()
- var/obj/item/circuitboard/vendor/V = new(null)
- V.set_type(type)
- component_parts += V
- component_parts += new /obj/item/vending_refill/hydronutrients(null)
- RefreshParts()
- return ..()
/obj/machinery/vending/hydroseeds
name = "\improper MegaSeed Servitor"
@@ -1394,14 +1307,6 @@
premium = list(/obj/item/reagent_containers/spray/waterflower = 1)
refill_canister = /obj/item/vending_refill/hydroseeds
-/obj/machinery/vending/hydroseeds/Initialize(mapload)
- component_parts = list()
- var/obj/item/circuitboard/vendor/V = new(null)
- V.set_type(type)
- component_parts += V
- component_parts += new /obj/item/vending_refill/hydroseeds(null)
- RefreshParts()
- return ..()
/obj/machinery/vending/magivend
name = "\improper MagiVend"
@@ -1429,6 +1334,7 @@
armor = list(melee = 100, bullet = 100, laser = 100, energy = 100, bomb = 0, bio = 0, rad = 0, fire = 100, acid = 50)
resistance_flags = FIRE_PROOF
+
/obj/machinery/vending/autodrobe
name = "\improper AutoDrobe"
desc = "A vending machine for costumes."
@@ -1564,14 +1470,6 @@
/obj/item/clothing/head/cuban_hat = 1)
refill_canister = /obj/item/vending_refill/autodrobe
-/obj/machinery/vending/autodrobe/Initialize(mapload)
- component_parts = list()
- var/obj/item/circuitboard/vendor/V = new(null)
- V.set_type(type)
- component_parts += V
- component_parts += new /obj/item/vending_refill/autodrobe(null)
- RefreshParts()
- return ..()
/obj/machinery/vending/dinnerware
name = "\improper Plasteel Chef's Dinnerware Vendor"
@@ -1602,14 +1500,6 @@
contraband = list(/obj/item/kitchen/rollingpin = 2, /obj/item/kitchen/knife/butcher = 2)
refill_canister = /obj/item/vending_refill/dinnerware
-/obj/machinery/vending/dinnerware/Initialize(mapload)
- component_parts = list()
- var/obj/item/circuitboard/vendor/V = new(null)
- V.set_type(type)
- component_parts += V
- component_parts += new /obj/item/vending_refill/dinnerware(null)
- RefreshParts()
- return ..()
/obj/machinery/vending/sovietsoda
name = "\improper BODA"
@@ -1621,14 +1511,6 @@
resistance_flags = FIRE_PROOF
refill_canister = /obj/item/vending_refill/sovietsoda
-/obj/machinery/vending/sovietsoda/Initialize(mapload)
- component_parts = list()
- var/obj/item/circuitboard/vendor/V = new(null)
- V.set_type(type)
- component_parts += V
- component_parts += new /obj/item/vending_refill/sovietsoda(null)
- RefreshParts()
- return ..()
/obj/machinery/vending/tool
name = "\improper YouTool"
@@ -1639,9 +1521,11 @@
/obj/item/wrench = 5,/obj/item/analyzer = 5,/obj/item/t_scanner = 5,/obj/item/screwdriver = 5)
contraband = list(/obj/item/weldingtool/hugetank = 2,/obj/item/clothing/gloves/color/fyellow = 2)
premium = list(/obj/item/clothing/gloves/color/yellow = 1)
+ refill_canister = /obj/item/vending_refill/youtool
armor = list(melee = 100, bullet = 100, laser = 100, energy = 100, bomb = 0, bio = 0, rad = 0, fire = 100, acid = 70)
resistance_flags = FIRE_PROOF
+
/obj/machinery/vending/engivend
name = "\improper Engi-Vend"
desc = "Spare tool vending. What? Did you expect some witty description?"
@@ -1653,14 +1537,6 @@
premium = list(/obj/item/storage/belt/utility = 3)
refill_canister = /obj/item/vending_refill/engivend
-/obj/machinery/vending/engivend/Initialize(mapload)
- component_parts = list()
- var/obj/item/circuitboard/vendor/V = new(null)
- V.set_type(type)
- component_parts += V
- component_parts += new /obj/item/vending_refill/engivend(null)
- RefreshParts()
- return ..()
/obj/machinery/vending/engineering
name = "\improper Robco Tool Maker"
@@ -1676,14 +1552,6 @@
/obj/item/stock_parts/matter_bin = 5,/obj/item/stock_parts/manipulator = 5)
refill_canister = /obj/item/vending_refill/engineering
-/obj/machinery/vending/engineering/Initialize(mapload)
- component_parts = list()
- var/obj/item/circuitboard/vendor/V = new(null)
- V.set_type(type)
- component_parts += V
- component_parts += new /obj/item/vending_refill/engineering(null)
- RefreshParts()
- return ..()
/obj/machinery/vending/robotics
name = "\improper Robotech Deluxe"
@@ -1697,14 +1565,6 @@
/obj/item/screwdriver = 5,/obj/item/crowbar = 5)
refill_canister = /obj/item/vending_refill/robotics
-/obj/machinery/vending/robotics/Initialize(mapload)
- component_parts = list()
- var/obj/item/circuitboard/vendor/V = new(null)
- V.set_type(type)
- component_parts += V
- component_parts += new /obj/item/vending_refill/robotics(null)
- RefreshParts()
- return ..()
/obj/machinery/vending/sustenance
name = "\improper Sustenance Vendor"
@@ -1721,14 +1581,6 @@
/obj/item/clothing/mask/breath = 6)
refill_canister = /obj/item/vending_refill/sustenance
-/obj/machinery/vending/sustenance/Initialize(mapload)
- component_parts = list()
- var/obj/item/circuitboard/vendor/V = new(null)
- V.set_type(type)
- component_parts += V
- component_parts += new /obj/item/vending_refill/sustenance(null)
- RefreshParts()
- return ..()
/obj/machinery/vending/hatdispenser
name = "\improper Hatlord 9000"
@@ -1745,14 +1597,6 @@
premium = list(/obj/item/clothing/head/soft/rainbow = 1)
refill_canister = /obj/item/vending_refill/hatdispenser
-/obj/machinery/vending/hatdispenser/Initialize(mapload)
- component_parts = list()
- var/obj/item/circuitboard/vendor/V = new(null)
- V.set_type(type)
- component_parts += V
- component_parts += new /obj/item/vending_refill/hatdispenser(null)
- RefreshParts()
- return ..()
/obj/machinery/vending/suitdispenser
name = "\improper Suitlord 9000"
@@ -1766,14 +1610,6 @@
premium = list(/obj/item/clothing/under/rainbow = 1)
refill_canister = /obj/item/vending_refill/suitdispenser
-/obj/machinery/vending/suitdispenser/Initialize(mapload)
- component_parts = list()
- var/obj/item/circuitboard/vendor/V = new(null)
- V.set_type(type)
- component_parts += V
- component_parts += new /obj/item/vending_refill/suitdispenser(null)
- RefreshParts()
- return ..()
/obj/machinery/vending/shoedispenser
name = "\improper Shoelord 9000"
@@ -1785,14 +1621,6 @@
premium = list(/obj/item/clothing/shoes/rainbow = 1)
refill_canister = /obj/item/vending_refill/shoedispenser
-/obj/machinery/vending/shoedispenser/Initialize(mapload)
- component_parts = list()
- var/obj/item/circuitboard/vendor/V = new(null)
- V.set_type(type)
- component_parts += V
- component_parts += new /obj/item/vending_refill/shoedispenser(null)
- RefreshParts()
- return ..()
/obj/machinery/vending/syndicigs
name = "\improper Suspicious Cigarette Machine"
@@ -1803,6 +1631,7 @@
icon_state = "cigs"
products = list(/obj/item/storage/fancy/cigarettes/syndicate = 10,/obj/item/lighter/random = 5)
+
/obj/machinery/vending/syndisnack
name = "\improper Getmore Chocolate Corp"
desc = "A modified snack machine courtesy of the Getmore Chocolate Corporation, based out of Mars"
@@ -1812,6 +1641,7 @@
products = list(/obj/item/reagent_containers/food/snacks/chips =6,/obj/item/reagent_containers/food/snacks/sosjerky = 6,
/obj/item/reagent_containers/food/snacks/syndicake = 6, /obj/item/reagent_containers/food/snacks/cheesiehonkers = 6)
+
//don't forget to change the refill size if you change the machine's contents!
/obj/machinery/vending/clothing
name = "\improper ClothesMate" //renamed to make the slogan rhyme
@@ -1907,14 +1737,6 @@
refill_canister = /obj/item/vending_refill/clothing
-/obj/machinery/vending/clothing/Initialize(mapload)
- component_parts = list()
- var/obj/item/circuitboard/vendor/V = new(null)
- V.set_type(type)
- component_parts += V
- component_parts += new /obj/item/vending_refill/clothing(null)
- RefreshParts()
- return ..()
/obj/machinery/vending/artvend
name = "\improper ArtVend"
@@ -1931,6 +1753,7 @@
contraband = list(/obj/item/toy/crayon/mime = 1,/obj/item/toy/crayon/rainbow = 1)
premium = list(/obj/item/poster/random_contraband = 5)
+
/obj/machinery/vending/crittercare
name = "\improper CritterCare"
desc = "A vending machine for pet supplies."
@@ -1955,11 +1778,3 @@
/obj/machinery/vending/crittercare/free
prices = list()
-/obj/machinery/vending/crittercare/Initialize(mapload)
- component_parts = list()
- var/obj/item/circuitboard/vendor/V = new(null)
- V.set_type(type)
- component_parts += V
- component_parts += new /obj/item/vending_refill/crittercare(null)
- RefreshParts()
- return ..()
diff --git a/code/game/mecha/mecha_parts.dm b/code/game/mecha/mecha_parts.dm
index 4bb7f96e66f..52b3a2263fa 100644
--- a/code/game/mecha/mecha_parts.dm
+++ b/code/game/mecha/mecha_parts.dm
@@ -347,117 +347,121 @@
///////// Circuitboards
/obj/item/circuitboard/mecha
- name = "Exosuit Circuit board"
- icon = 'icons/obj/module.dmi'
icon_state = "std_mod"
- item_state = "electronic"
board_type = "other"
flags = CONDUCT
- force = 5.0
- w_class = WEIGHT_CLASS_SMALL
- throwforce = 5.0
+ force = 5
+ throwforce = 5
throw_speed = 3
throw_range = 15
+
/obj/item/circuitboard/mecha/ripley
origin_tech = "programming=2"
+/obj/item/circuitboard/mecha/ripley/main
+ board_name = "Ripley Central Control Module"
+ icon_state = "mainboard"
+
/obj/item/circuitboard/mecha/ripley/peripherals
- name = "Circuit board (Ripley Peripherals Control module)"
+ board_name = "Ripley Peripherals Control Module"
icon_state = "mcontroller"
-/obj/item/circuitboard/mecha/ripley/main
- name = "Circuit board (Ripley Central Control module)"
- icon_state = "mainboard"
/obj/item/circuitboard/mecha/gygax
origin_tech = "programming=4;combat=3;engineering=3"
+/obj/item/circuitboard/mecha/gygax/main
+ board_name = "Gygax Central Control Module"
+ icon_state = "mainboard"
+
/obj/item/circuitboard/mecha/gygax/peripherals
- name = "Circuit board (Gygax Peripherals Control module)"
+ board_name = "Gygax Peripherals Control Module"
icon_state = "mcontroller"
/obj/item/circuitboard/mecha/gygax/targeting
- name = "Circuit board (Gygax Weapon Control and Targeting module)"
+ board_name = "Gygax Weapon Control and Targeting Module"
icon_state = "mcontroller"
origin_tech = "programming=4;combat=4"
-/obj/item/circuitboard/mecha/gygax/main
- name = "Circuit board (Gygax Central Control module)"
- icon_state = "mainboard"
/obj/item/circuitboard/mecha/durand
origin_tech = "programming=4;combat=3;engineering=3"
+/obj/item/circuitboard/mecha/durand/main
+ board_name = "Durand Central Control Module"
+ icon_state = "mainboard"
+
/obj/item/circuitboard/mecha/durand/peripherals
- name = "Circuit board (Durand Peripherals Control module)"
+ board_name = "Durand Peripherals Control Module"
icon_state = "mcontroller"
/obj/item/circuitboard/mecha/durand/targeting
- name = "Circuit board (Durand Weapon Control and Targeting module)"
+ board_name = "Durand Weapon Control and Targeting Module"
icon_state = "mcontroller"
origin_tech = "programming=4;combat=4;engineering=3"
-/obj/item/circuitboard/mecha/durand/main
- name = "Circuit board (Durand Central Control module)"
- icon_state = "mainboard"
/obj/item/circuitboard/mecha/phazon
origin_tech = "programming=5;plasmatech=4"
+/obj/item/circuitboard/mecha/phazon/main
+ board_name = "Phazon Central Control Module"
+ icon_state = "mainboard"
+
/obj/item/circuitboard/mecha/phazon/peripherals
- name = "Circuit board (Phazon Peripherals Control module)"
+ board_name = "Phazon Peripherals Control Module"
icon_state = "mcontroller"
/obj/item/circuitboard/mecha/phazon/targeting
- name = "Circuit board (Phazon Weapon Control and Targeting module)"
+ board_name = "Phazon Weapon Control and Targeting Module"
icon_state = "mcontroller"
-/obj/item/circuitboard/mecha/phazon/main
- name = "Circuit board (Phazon Central Control module)"
- icon_state = "mainboard"
/obj/item/circuitboard/mecha/honker
origin_tech = "programming=3;engineering=3"
+/obj/item/circuitboard/mecha/honker/main
+ board_name = "H.O.N.K Central Control Module"
+ icon_state = "mainboard"
+
/obj/item/circuitboard/mecha/honker/peripherals
- name = "Circuit board (H.O.N.K Peripherals Control module)"
+ board_name = "H.O.N.K Peripherals Control Module"
icon_state = "mcontroller"
/obj/item/circuitboard/mecha/honker/targeting
- name = "Circuit board (H.O.N.K Weapon Control and Targeting module)"
+ board_name = "H.O.N.K Weapon Control and Targeting Module"
icon_state = "mcontroller"
-/obj/item/circuitboard/mecha/honker/main
- name = "Circuit board (H.O.N.K Central Control module)"
- icon_state = "mainboard"
/obj/item/circuitboard/mecha/reticence
origin_tech = "programming=3;engineering=3"
+/obj/item/circuitboard/mecha/reticence/main
+ board_name = "Reticence Central Control Module"
+ icon_state = "mainboard"
+
/obj/item/circuitboard/mecha/reticence/peripherals
- name = "circuit board (Reticence Peripherals Control module)"
+ board_name = "Reticence Peripherals Control Module"
icon_state = "mcontroller"
/obj/item/circuitboard/mecha/reticence/targeting
- name = "circuit board (Reticence Weapon Control and Targeting module)"
+ board_name = "Reticence Weapon Control and Targeting Module"
icon_state = "mcontroller"
-/obj/item/circuitboard/mecha/reticence/main
- name = "circuit board (Reticence Central Control module)"
- icon_state = "mainboard"
/obj/item/circuitboard/mecha/odysseus
origin_tech = "programming=3;biotech=3"
+/obj/item/circuitboard/mecha/odysseus/main
+ board_name = "Odysseus Central Control Module"
+ icon_state = "mainboard"
+
/obj/item/circuitboard/mecha/odysseus/peripherals
- name = "Circuit board (Odysseus Peripherals Control module)"
+ board_name = "Odysseus Peripherals Control Module"
icon_state = "mcontroller"
-/obj/item/circuitboard/mecha/odysseus/main
- name = "Circuit board (Odysseus Central Control module)"
- icon_state = "mainboard"
/obj/item/circuitboard/mecha/pod
- name = "Circuit board (Space Pod Mainboard)"
+ board_name = "Space Pod Mainboard"
icon_state = "mainboard"
diff --git a/code/game/objects/items/weapons/vending_items.dm b/code/game/objects/items/weapons/vending_items.dm
index e7743f961f1..c4d4d5090e5 100644
--- a/code/game/objects/items/weapons/vending_items.dm
+++ b/code/game/objects/items/weapons/vending_items.dm
@@ -114,6 +114,10 @@
machine_name = "Robco Tool Maker"
icon_state = "refill_engi"
+/obj/item/vending_refill/youtool
+ machine_name = "YouTool"
+ icon_state = "refill_engi"
+
/obj/item/vending_refill/engivend
machine_name = "Engi-Vend"
icon_state = "refill_engi"
diff --git a/code/modules/food_and_drinks/kitchen_machinery/smartfridge.dm b/code/modules/food_and_drinks/kitchen_machinery/smartfridge.dm
index 8b2bfdbd786..4dfecc88b82 100644
--- a/code/modules/food_and_drinks/kitchen_machinery/smartfridge.dm
+++ b/code/modules/food_and_drinks/kitchen_machinery/smartfridge.dm
@@ -45,7 +45,7 @@
// Components
component_parts = list()
var/obj/item/circuitboard/smartfridge/board = new(null)
- board.set_type(type)
+ board.set_type(null, type)
component_parts += board
component_parts += new /obj/item/stock_parts/matter_bin(null)
RefreshParts()
diff --git a/code/modules/station_goals/bluespace_tap.dm b/code/modules/station_goals/bluespace_tap.dm
index 6eb4cb9572e..6e6898bde1f 100644
--- a/code/modules/station_goals/bluespace_tap.dm
+++ b/code/modules/station_goals/bluespace_tap.dm
@@ -42,7 +42,7 @@
product_cost = cost
/obj/item/circuitboard/machine/bluespace_tap
- name = "Bluespace Harvester (Machine Board)"
+ board_name = "Bluespace Harvester"
build_path = /obj/machinery/power/bluespace_tap
origin_tech = "engineering=2;combat=2;bluespace=3"
req_components = list(
diff --git a/code/modules/station_goals/bsa.dm b/code/modules/station_goals/bsa.dm
index f97638cbd28..96cd520921e 100644
--- a/code/modules/station_goals/bsa.dm
+++ b/code/modules/station_goals/bsa.dm
@@ -225,7 +225,7 @@
last_fire_time = world.time / 10
/obj/item/circuitboard/machine/bsa/back
- name = "Bluespace Artillery Generator (Machine Board)"
+ board_name = "Bluespace Artillery Generator"
build_path = /obj/machinery/bsa/back
origin_tech = "engineering=2;combat=2;bluespace=2" //No freebies!
req_components = list(
@@ -233,7 +233,7 @@
/obj/item/stack/cable_coil = 2)
/obj/item/circuitboard/machine/bsa/middle
- name = "Bluespace Artillery Fusor (Machine Board)"
+ board_name = "Bluespace Artillery Fusor"
build_path = /obj/machinery/bsa/middle
origin_tech = "engineering=2;combat=2;bluespace=2"
req_components = list(
@@ -241,7 +241,7 @@
/obj/item/stack/cable_coil = 2)
/obj/item/circuitboard/machine/bsa/front
- name = "Bluespace Artillery Bore (Machine Board)"
+ board_name = "Bluespace Artillery Bore"
build_path = /obj/machinery/bsa/front
origin_tech = "engineering=2;combat=2;bluespace=2"
req_components = list(
@@ -249,7 +249,7 @@
/obj/item/stack/cable_coil = 2)
/obj/item/circuitboard/computer/bsa_control
- name = "Bluespace Artillery Controls (Computer Board)"
+ board_name = "Bluespace Artillery Controls"
build_path = /obj/machinery/computer/bsa_control
origin_tech = "engineering=2;combat=2;bluespace=2"
diff --git a/code/modules/station_goals/dna_vault.dm b/code/modules/station_goals/dna_vault.dm
index 031471e968c..c9096042e85 100644
--- a/code/modules/station_goals/dna_vault.dm
+++ b/code/modules/station_goals/dna_vault.dm
@@ -121,7 +121,7 @@ GLOBAL_LIST_INIT(non_simple_animals, typecacheof(list(/mob/living/carbon/human/m
/obj/item/circuitboard/machine/dna_vault
- name = "DNA Vault (Machine Board)"
+ board_name = "DNA Vault"
build_path = /obj/machinery/dna_vault
origin_tech = "engineering=2;combat=2;bluespace=2" //No freebies!
req_components = list(
diff --git a/code/modules/station_goals/shield.dm b/code/modules/station_goals/shield.dm
index 3defa561f4f..46dc31c78a4 100644
--- a/code/modules/station_goals/shield.dm
+++ b/code/modules/station_goals/shield.dm
@@ -35,7 +35,7 @@
return coverage.len
/obj/item/circuitboard/computer/sat_control
- name = "Satellite Network Control (Computer Board)"
+ board_name = "Satellite Network Control"
build_path = /obj/machinery/computer/sat_control
origin_tech = "engineering=3"
diff --git a/icons/obj/stock_parts.dmi b/icons/obj/stock_parts.dmi
index f2bdd494f508870eaa883b1034a9f52e787b13b7..38ddb183e97673a658644954d87b34580f431242 100644
GIT binary patch
delta 596
zcmV-a0;~PlwE^I@0gxmCS&=0qf5m#qVMB@`hxQc&TB2iN`tT^)N%r(RctaD+hU8_?
z#Rh&N|Ds5WkK*g=x5K;Gza5GJDVpHLPHaCt6|0lc+=`vpRK==Ab8LD1i42TlCmvLA
zooomk%JoCB(uShgiFL7R2po>zQ*gBe-YkK)OW@}u{N*5{0`HNMDCj{df9OCN4taD`
z;H3+?w>Zr|7b}exE@CIv_A~sXLWPjD+}Q)pORARaL!1=I-E1IuMTH0)iov6ap!3erN%I9Ge=kWMh5Y>efM
z4GZdFiH?z-kM9-g!RL~_vIsNItMxCSapdt$F*Gn_DBjWrB3tf6mnyA+Q-x0=YQ_
zo2hR9f1*vnr7N6*OIJ7r7h;yJ5Hqc%JI0;wWJDUmOecStjrrC7z8>E%aGf=cnY;U|
z6spQ?S(V!<8{-3xUGy`3E@AI0nYUhLlv#V-$Tk1Rg&0J*b%0$NyY1R!((
delta 588
zcmV-S0<-<#wE@_*0gxmCQIRDif5UpoVMB@`hxQc&T4G{h`tT(BYfry}w>80HP+10F
zY~V-oFPfzID89UWJ-mti>!Ii|CKJ5aiS37{Vl@~|jo67zRje8`r-tT_L_jEZ;^FC`
zSZNcJ*ok$qI!16fzyBfDEK#wGb3P1l%HBb`w(NDC?BT+P&C9H2*eG?p?9Zs>
ze$P-3K9}s2MOX-4t*;CK?s@m!8kMP{wU8WK$2QeJh+w6K0i!}|rSXLE2x?&juKDQ2
zstJ_ZKw>AJ%k`)8INv+a5y&WRG;jY3bLphB6oD_>r5=k2WO|ekf8COT&9!O&f3h8e
z<2yVC$9H%PE~G49A!T~wC&r!kWWv~og-QOrnDaCHuAc8NaIG~*v-I!JN~kKgWmRsk
z`Is+Y{>;A(D1uMUP|n~>U5oLCC1mDr7?-obo&STvRELp`MG=7wn(#v0$NxHo+!Kk