Move autolathe design datums to techweb datums (#19202)

* testing makes me feel good

* invalid lists

* get rid of those boards

* show expected mats

* oop

* error

* wip techweb porting

* more techweb entries

* ported too

* disable those for now

* okay nevermind i guess

* already exists

* assemblies

* moar

* welding helmet

* many entries

* lol tg

* fix test

* again

* fixagain

* more moved

* update techweb test

* catch that too

* screeee

* more fixes

* missing announcement

* orphaned sleevecard

* some more fixing

* test

* more

* oops

* glasses

* illegal icons

* non starting

* it's starting

* messed up

* cleanup

* more generic stuff

* morrrreee

* the plastic set

* oops

* correct value

* barbed wires

* more cleaning

* many more

* gone

* cleanup

* no longer

* do not allow duped designs

* it's own node

* proper order no dupes

* last of the broken nodes

* fix bad path

* cleanup

* more test more limits

* gone

* almost done

* these are gone

* syringe gun

* bioregenerator design

* all moved

* organized and webbed

* more fixes

* oops

* cleaning up

* organization

* clean up

* organize

* organized

* didn't save

* wrong mat

* adds many missing ammo types

* svd doesn't exist

* 10mm pistol added

* magazines not casings

* these are pistols

* this is used by like, one weapon

* m1 is ancient

* this is hunting

* extremely botched untested lathe

* disk junk

* rough foundations

* slowly converting

* slowly building this

* local materials

* almost

* big reorganization

* more cleanup

* more cleaning

* lathe stuff

* small fixes

* oops

* many fixes

* mat fix

* more fixes

* actually isolate the hacked designs

* protolathe hacking

* imprinter hacking

* missing ammos

* sheet printing for autolathe

* fixs

* again

* fixed test

* test test

* fix

* fix

* WHY

* fix it...

* here we go

* material print

* on turf

* body disk

* consistant name

* Many weapons to hacked lathe

* missing node

* wrong section

* fixes

* this list should be unified

* ammo boxes

* don't do single shells anymore

* wat

* specifics

* snowflake

* not needed

* already available

* pickaxe too

* tweak

* removed unneeded node

* missing surgery items

* Apply suggestion from @Cameron-The-Raven

* Adds RMS

* typo

* illegal needs hacked

* disabled material weapons

* circuit testing

* STRING TEST

* test

* fixing some things

* huh?

* hidden circuits

* some flakey boards

* grammar

* fixes

* more hidden

* wrong board

* security cams

* alert consoles

* spaceheater is simple enough to not have one

* pcus

* cargo vendors

* tcomms stuff

* solar tracker circuit

* artifact stuff

* SM stuff

* illegal machines

* med machines

* no longer needed

* more stuff

* these are not standard

* moreeee

* doppler and more

* organized

* finishing

* oop

* use the define

* inheret

* dopper fixes

* space heater

* doing some organization

* explain the var

* some tweaks

* wrong one

* fixed test

* material test too

* simple roto gens

* use the define

* emergency power node

* tgui fixes for icons

* not needed

* color blended material designs

* icons for large research

* oops

* unshit that

* use stack here

* center math

* .

* .

* .

* .

* .

* unifi

* fix these

* NO COPYPASTA

* ILLEEGGALLL

* mandate descriptions

* agony

* actually lets do this

* use macros

* description

* desc

* desc

* desc

* desc

* desc

* desc

* gps desc

* telecomms component desc

---------

Co-authored-by: Cameron Lennox <killer65311@gmail.com>
Co-authored-by: Kashargul <144968721+Kashargul@users.noreply.github.com>
This commit is contained in:
Will
2026-03-20 19:38:00 -04:00
committed by GitHub
parent 4c61dc7932
commit 0c8488b0ae
126 changed files with 5731 additions and 2372 deletions
@@ -18,6 +18,9 @@
drop_sound = 'sound/items/drop/device.ogg'
pickup_sound = 'sound/items/pickup/device.ogg'
/// If true, this board should be ignored during the circuitboard printing unit test, and give an examine hint that the board may be hard to get if so.
var/hidden = FALSE
/obj/item/circuitboard/Destroy()
if(isobject(board_type)) // Some boards use text instead of an instance...
QDEL_NULL(board_type)
@@ -12,6 +12,8 @@
continue
nice_list += list("[req_components[A]] [initial(A.name)]")
. += "Required components: [english_list(nice_list)]."
if(hidden) // Notify the player that this board cannot be printed easily, so don't lose it!
. += span_danger("It might be hard to find a replacement for a circuit this unique.")
// VOREStation specific circuit boards!
@@ -63,21 +65,18 @@
name = T_BOARD("timeclock")
build_path = /obj/machinery/computer/timeclock
board_type = new /datum/frame/frame_types/timeclock_terminal
matter = list(MAT_STEEL = 50, MAT_GLASS = 50)
// Board for the ID restorer in id_restorer_vr.dm
/obj/item/circuitboard/id_restorer
name = T_BOARD("ID restoration console")
build_path = /obj/machinery/computer/id_restorer
board_type = new /datum/frame/frame_types/id_restorer
matter = list(MAT_STEEL = 50, MAT_GLASS = 50)
/obj/item/circuitboard/security/xenobio
name = T_BOARD("xenobiology camera monitor")
build_path = /obj/machinery/computer/security/xenobio
network = list(NETWORK_XENOBIO)
req_access = list()
matter = list(MAT_STEEL = 50, MAT_GLASS = 50)
/obj/item/circuitboard/machine/rdserver
name = T_BOARD("R&D Server")
@@ -17,6 +17,7 @@
/obj/item/circuitboard/security/tv
name = T_BOARD("security camera monitor - television")
build_path = /obj/machinery/computer/security/wooden_tv
hidden = TRUE
/obj/item/circuitboard/security/engineering
name = T_BOARD("engineering camera monitor")
@@ -42,6 +42,7 @@
/obj/item/circuitboard/card/centcom
name = T_BOARD("CentCom ID card modification console")
build_path = /obj/machinery/computer/card/centcom
hidden = TRUE // Mapper only centcom machine
/obj/item/circuitboard/teleporter
name = T_BOARD("teleporter control console")
@@ -54,7 +55,7 @@
/obj/item/circuitboard/skills/pcu
name = T_BOARD("employment records PCU")
build_path = /obj/machinery/computer/skills
build_path = /obj/machinery/computer/skills // this needs to be fixed someday, a pcu subtype needs to be made, but it affects all maps...
/obj/item/circuitboard/stationalert_engineering
name = T_BOARD("station alert console (engineering)")
@@ -75,6 +76,7 @@
/obj/item/circuitboard/pod
name = T_BOARD("massdriver control")
build_path = /obj/machinery/computer/pod
hidden = TRUE // todo - Make properly constructable in round
/obj/item/circuitboard/robotics
name = T_BOARD("robotics control console")
@@ -110,6 +112,7 @@
name = T_BOARD("turbine control console")
build_path = /obj/machinery/computer/turbine_computer
origin_tech = list(TECH_DATA = 2, TECH_POWER = 2)
hidden = TRUE // todo - Make properly constructable in round
/obj/item/circuitboard/solar_control
name = T_BOARD("solar control console")
@@ -158,16 +161,19 @@
name = T_BOARD("mining shuttle console")
build_path = /obj/machinery/computer/shuttle_control/mining
origin_tech = list(TECH_DATA = 2)
hidden = TRUE // todo - Make properly constructable in round
/obj/item/circuitboard/engineering_shuttle
name = T_BOARD("engineering shuttle console")
build_path = /obj/machinery/computer/shuttle_control/engineering
origin_tech = list(TECH_DATA = 2)
hidden = TRUE // todo - Make properly constructable in round
/obj/item/circuitboard/research_shuttle
name = T_BOARD("research shuttle console")
build_path = /obj/machinery/computer/shuttle_control/research
origin_tech = list(TECH_DATA = 2)
hidden = TRUE // todo - Make properly constructable in round
/obj/item/circuitboard/aifixer
name = T_BOARD("AI integrity restorer")
@@ -178,22 +184,27 @@
/obj/item/circuitboard/helm
name = T_BOARD("helm control console")
build_path = /obj/machinery/computer/ship/helm
hidden = TRUE // todo - Make properly constructable in round
/obj/item/circuitboard/engine
name = T_BOARD("engine control console")
build_path = /obj/machinery/computer/ship/engines
hidden = TRUE // todo - Make properly constructable in round
/obj/item/circuitboard/nav
name = T_BOARD("navigation console")
build_path = /obj/machinery/computer/ship/navigation
hidden = TRUE // todo - Make properly constructable in round
/obj/item/circuitboard/nav/tele
name = T_BOARD("navigation telescreen")
build_path = /obj/machinery/computer/ship/navigation/telescreen
hidden = TRUE // todo - Make properly constructable in round
/obj/item/circuitboard/sensors
name = T_BOARD("sensors console")
build_path = /obj/machinery/computer/ship/sensors
hidden = TRUE // todo - Make properly constructable in round
/obj/item/circuitboard/area_atmos
name = T_BOARD("area air control console")
@@ -204,6 +215,7 @@
name = T_BOARD("prison shuttle control console")
build_path = /obj/machinery/computer/prison_shuttle
origin_tech = list(TECH_DATA = 2)
hidden = TRUE // todo - Make properly constructable in round
/obj/item/circuitboard/rcon_console
name = T_BOARD("RCON remote control console")
@@ -9,6 +9,7 @@
origin_tech = list(TECH_DATA = 3)
var/shuttle_category = null // Shuttle datum's category must exactly equal this to auto-detect
var/shuttle_tag = null // If set, link constructed console to this shuttle. If null, auto-detect.
hidden = TRUE // todo - Make properly constructable in round
/obj/item/circuitboard/shuttle_console/deconstruct(obj/machinery/computer/shuttle_control/M)
shuttle_tag = M.shuttle_tag
@@ -10,37 +10,31 @@
name = T_BOARD("guestpass console")
build_path = /obj/machinery/computer/guestpass
board_type = new /datum/frame/frame_types/guest_pass_console
matter = list(MAT_STEEL = 50, MAT_GLASS = 50)
/obj/item/circuitboard/status_display
name = T_BOARD("status display")
build_path = /obj/machinery/status_display
board_type = new /datum/frame/frame_types/display
matter = list(MAT_STEEL = 50, MAT_GLASS = 50)
/obj/item/circuitboard/ai_status_display
name = T_BOARD("ai status display")
build_path = /obj/machinery/ai_status_display
board_type = new /datum/frame/frame_types/display
matter = list(MAT_STEEL = 50, MAT_GLASS = 50)
/obj/item/circuitboard/newscaster
name = T_BOARD("newscaster")
build_path = /obj/machinery/newscaster
board_type = new /datum/frame/frame_types/newscaster
matter = list(MAT_STEEL = 50, MAT_GLASS = 50)
/obj/item/circuitboard/atm
name = T_BOARD("atm")
build_path = /obj/machinery/atm
board_type = new /datum/frame/frame_types/atm
matter = list(MAT_STEEL = 50, MAT_GLASS = 50)
/obj/item/circuitboard/request
name = T_BOARD("request console")
build_path = /obj/machinery/requests_console
board_type = new /datum/frame/frame_types/supply_request_console
matter = list(MAT_STEEL = 50, MAT_GLASS = 50)
//Alarm
@@ -48,20 +42,16 @@
name = T_BOARD("fire alarm")
build_path = /obj/machinery/firealarm
board_type = new /datum/frame/frame_types/fire_alarm
matter = list(MAT_STEEL = 50, MAT_GLASS = 50)
/obj/item/circuitboard/airalarm
name = T_BOARD("air alarm")
build_path = /obj/machinery/alarm
board_type = new /datum/frame/frame_types/air_alarm
matter = list(MAT_STEEL = 50, MAT_GLASS = 50)
/obj/item/circuitboard/intercom
name = T_BOARD("intercom")
build_path = /obj/item/radio/intercom
board_type = new /datum/frame/frame_types/intercom
matter = list(MAT_STEEL = 50, MAT_GLASS = 50)
/obj/item/circuitboard/intercom/Destroy()
if(istype(loc, /obj/item/radio/intercom))
@@ -73,19 +63,16 @@
name = T_BOARD("keycard authenticator")
build_path = /obj/machinery/keycard_auth
board_type = new /datum/frame/frame_types/keycard_authenticator
matter = list(MAT_STEEL = 50, MAT_GLASS = 50)
/obj/item/circuitboard/geiger
name = T_BOARD("geiger counter")
build_path = /obj/item/geiger/wall
board_type = new /datum/frame/frame_types/geiger
matter = list(MAT_STEEL = 50, MAT_GLASS = 50)
/obj/item/circuitboard/electrochromic
name = T_BOARD("electrochromic button")
build_path = /obj/machinery/button/windowtint
board_type = new /datum/frame/frame_types/button
matter = list(MAT_STEEL = 50, MAT_GLASS = 50)
//Computer
@@ -93,7 +80,6 @@
name = T_BOARD("holopad")
build_path = /obj/machinery/hologram/holopad
board_type = new /datum/frame/frame_types/holopad
matter = list(MAT_STEEL = 50, MAT_GLASS = 50)
/obj/item/circuitboard/scanner_console
name = T_BOARD("body scanner console")
@@ -113,7 +99,6 @@
name = T_BOARD("photocopier")
build_path = /obj/machinery/photocopier
board_type = new /datum/frame/frame_types/photocopier
matter = list(MAT_STEEL = 50, MAT_GLASS = 50)
req_components = list(
/obj/item/stock_parts/scanning_module = 1,
/obj/item/stock_parts/motor = 1,
@@ -124,7 +109,6 @@
name = T_BOARD("fax")
build_path = /obj/machinery/photocopier/faxmachine
board_type = new /datum/frame/frame_types/fax
matter = list(MAT_STEEL = 50, MAT_GLASS = 50)
req_components = list(
/obj/item/stock_parts/scanning_module = 1,
/obj/item/stock_parts/motor = 1,
@@ -165,7 +149,6 @@
name = T_BOARD("washing machine")
build_path = /obj/machinery/washing_machine
board_type = new /datum/frame/frame_types/washing_machine
matter = list(MAT_STEEL = 50, MAT_GLASS = 50)
req_components = list(
/obj/item/stock_parts/motor = 1,
/obj/item/stock_parts/gear = 2)
@@ -16,7 +16,6 @@
name = T_BOARD("space heater")
build_path = /obj/machinery/space_heater
board_type = new /datum/frame/frame_types/machine
matter = list(MAT_STEEL = 50, MAT_GLASS = 50)
req_components = list(
/obj/item/stock_parts/micro_laser = 4,
/obj/item/stock_parts/capacitor = 4,
@@ -4,7 +4,6 @@
build_path = /obj/machinery/microwave
board_type = new /datum/frame/frame_types/microwave
contain_parts = 0
matter = list(MAT_STEEL = 50, MAT_GLASS = 50)
req_components = list(
/obj/item/stock_parts/console_screen = 1,
/obj/item/stock_parts/capacitor = 1,
@@ -17,7 +16,6 @@
desc = "The circuitboard for an oven."
build_path = /obj/machinery/appliance/cooker/oven
board_type = new /datum/frame/frame_types/machine
matter = list(MAT_STEEL = 50, MAT_GLASS = 50)
req_components = list(
/obj/item/stock_parts/capacitor = 3,
/obj/item/stock_parts/scanning_module = 1,
@@ -6,7 +6,6 @@
name = T_BOARD("papershredder")
build_path = /obj/machinery/papershredder
board_type = new /datum/frame/frame_types/machine
matter = list(MAT_STEEL = 50, MAT_GLASS = 50)
req_components = list(
/obj/item/stock_parts/motor = 1,
/obj/item/stock_parts/gear = 2,
@@ -15,7 +15,6 @@
name = T_BOARD("smart centrifuge")
build_path = /obj/machinery/smart_centrifuge
board_type = new /datum/frame/frame_types/machine
matter = list(MAT_STEEL = 50, MAT_GLASS = 50)
origin_tech = list(TECH_MAGNET = 3, TECH_DATA = 2, TECH_MATERIAL = 3)
req_components = list(
/obj/item/stock_parts/scanning_module = 1,
@@ -7,7 +7,6 @@
build_path = /obj/machinery/recycling/crusher
board_type = new /datum/frame/frame_types/machine
origin_tech = list(TECH_MATERIAL = 2)
matter = list(MAT_STEEL = 50, MAT_GLASS = 50)
req_components = list(
/obj/item/stack/cable_coil = 2,
/obj/item/stock_parts/motor = 1,
@@ -21,7 +20,6 @@
build_path = /obj/machinery/recycling/sorter
board_type = new /datum/frame/frame_types/machine
origin_tech = list(TECH_MATERIAL = 2)
matter = list(MAT_STEEL = 50, MAT_GLASS = 50)
req_components = list(
/obj/item/stack/cable_coil = 2,
/obj/item/stock_parts/motor = 1,
@@ -33,7 +31,6 @@
build_path = /obj/machinery/recycling/stamper
board_type = new /datum/frame/frame_types/machine
origin_tech = list(TECH_MATERIAL = 2)
matter = list(MAT_STEEL = 50, MAT_GLASS = 50)
req_components = list(
/obj/item/stack/cable_coil = 2,
/obj/item/stock_parts/gear = 2,
@@ -20,6 +20,7 @@
/obj/item/stock_parts/matter_bin = 2,
/obj/item/stock_parts/manipulator = 2,
/obj/item/reagent_containers/glass/beaker = 2)
hidden = TRUE // Base types aren't cared for, a fully unlocked lathe shouldn't be easy to make
/obj/item/circuitboard/machine/protolathe/department
name = T_BOARD("departmental protolathe")
@@ -27,21 +28,27 @@
/obj/item/circuitboard/machine/protolathe/department/engineering
name = T_BOARD("departmental protolathe (engineering)")
build_path = /obj/machinery/rnd/production/protolathe/department/engineering
hidden = FALSE
/obj/item/circuitboard/machine/protolathe/department/service
name = T_BOARD("departmental protolathe (service)")
build_path = /obj/machinery/rnd/production/protolathe/department/service
hidden = FALSE
/obj/item/circuitboard/machine/protolathe/department/medical
name = T_BOARD("departmental protolathe (medical)")
build_path = /obj/machinery/rnd/production/protolathe/department/medical
hidden = FALSE
/obj/item/circuitboard/machine/protolathe/department/cargo
name = T_BOARD("departmental protolathe (cargo)")
build_path = /obj/machinery/rnd/production/protolathe/department/cargo
hidden = FALSE
/obj/item/circuitboard/machine/protolathe/department/science
name = T_BOARD("departmental protolathe (science)")
build_path = /obj/machinery/rnd/production/protolathe/department/science
hidden = FALSE
/obj/item/circuitboard/machine/protolathe/department/security
name = T_BOARD("departmental protolathe (security)")
build_path = /obj/machinery/rnd/production/protolathe/department/security
hidden = FALSE
/obj/item/circuitboard/circuit_imprinter
name = T_BOARD("circuit imprinter")
@@ -54,7 +61,7 @@
/obj/item/reagent_containers/glass/beaker = 2)
/obj/item/circuitboard/mechfab
name = "Circuit board (Exosuit Fabricator)"
name = T_BOARD("Exosuit Fabricator")
build_path = /obj/machinery/mecha_part_fabricator_tg
board_type = new /datum/frame/frame_types/machine
origin_tech = list(TECH_DATA = 3, TECH_ENGINEERING = 3)
@@ -65,7 +72,7 @@
/obj/item/stock_parts/console_screen = 1)
/obj/item/circuitboard/prosthetics
name = "Circuit board (Prosthetics Fabricator)"
name = T_BOARD("Prosthetics Fabricator")
build_path = /obj/machinery/mecha_part_fabricator_tg/prosthetics
board_type = new /datum/frame/frame_types/machine
origin_tech = list(TECH_DATA = 3, TECH_ENGINEERING = 3)
@@ -76,7 +83,7 @@
/obj/item/stock_parts/console_screen = 1)
/obj/item/circuitboard/ntnet_relay
name = "Circuit board (NTNet Quantum Relay)"
name = T_BOARD("NTNet Quantum Relay")
build_path = /obj/machinery/ntnet_relay
board_type = new /datum/frame/frame_types/machine
origin_tech = list(TECH_DATA = 4)
@@ -121,3 +128,11 @@
/obj/item/stock_parts/scanning_module = 1,
/obj/item/stock_parts/manipulator = 1,
/obj/item/stock_parts/micro_laser = 1)
/obj/item/circuitboard/doppler_array
name = T_BOARD("doppler array")
build_path = /obj/machinery/doppler_array
board_type = new /datum/frame/frame_types/machine
origin_tech = list(TECH_MAGNET = 2, TECH_ENGINEERING = 1, TECH_DATA = 3)
req_components = list(
/obj/item/stock_parts/scanning_module = 4)