Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

design categories / subcategories tags #6881

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
64 changes: 64 additions & 0 deletions code/__DEFINES/datums/design.dm
Original file line number Diff line number Diff line change
Expand Up @@ -39,3 +39,67 @@ DEFINE_BITFIELD(design_flags, list(
BITFIELD(DESIGN_NO_SCALE),
BITFIELD(DESIGN_IGNORE_RESOURCE_SANITY),
))

//design categories
//misc is the default
#define DESIGN_CATEGORY_MISC "Misc"
#define DESIGN_CATEGORY_MUNITIONS "Munitions"
#define DESIGN_CATEGORY_STORAGE "Storage"
#define DESIGN_CATEGORY_AI "AI"
#define DESIGN_CATEGORY_ATMOS "Atmospherics"
#define DESIGN_CATEGORY_MECHA "Mecha"
#define DESIGN_CATEGORY_RECREATION "Recreation"
#define DESIGN_CATEGORY_TELEPORTATION "Teleportation"
#define DESIGN_CATEGORY_POWER "Power"
#define DESIGN_CATEGORY_TELECOMMUNICATIONS "Telecommunications"
#define DESIGN_CATEGORY_MEDICAL "Medical"
#define DESIGN_CATEGORY_CARGO_MINING "Cargo / Mining"
#define DESIGN_CATEGORY_SECURITY "Security"
#define DESIGN_CATEGORY_SCIENCE "Science"
#define DESIGN_CATEGORY_COMPUTER "Computer Parts"
#define DESIGN_CATEGORY_ENGINEERING "Engineering"
#define DESIGN_CATEGORY_INTEGRATED_CIRCUITRY "Integrated Circuitry"
#define DESIGN_CATEGORY_SYNTH "Synth"
#define DESIGN_CATEGORY_PROSTHETIC "Prosthetics"
#define DESIGN_CATEGORY_DATA "Data"
#define DESIGN_CATEGORY_ATTACHMENTS "Attachments"
#define DESIGN_CATEGORY_TOOLS "Tools"
#define DESIGN_CATEGORY_HARDSUIT "Hardsuit"

//subcategories
//misc is the default
#define DESIGN_SUBCATEGORY_MISC "Misc"

//any category can go have station as a subcategory
#define DESIGN_SUBCATEGORY_STATION "Station Equipment"

//munition subcategories
#define DESIGN_SUBCATEGORY_BALLISTIC "Ballistic"
#define DESIGN_SUBCATEGORY_ENERGY "Energy"
#define DESIGN_SUBCATEGORY_MELEE "Melee"
#define DESIGN_SUBCATEGORY_AMMO "Ammo"
#define DESIGN_SUBCATEGORY_PINS "Weapon Pins"

//if it scans? it goes here.
#define DESIGN_SUBCATEGORY_SCANNING "Scanning Equipment"

//AI subcategories
#define DESIGN_SUBCATEGORY_LAWS "Laws"
#define DESIGN_SUBCATEGORY_CORE "Cores"

//Synth subcategory
#define DESIGN_SUBCATEGORY_SYNTHETIC_MINDS "Synthetic Minds"

//Power subcategories
#define DESIGN_SUBCATEGORY_CHARGING "Charger"
#define DESIGN_SUBCATEGORY_GENERATING "Generator"


#define DESIGN_SUBCATEGORY_NIF "NIF"

//if it goes in a machine / thing? it goes in here.
#define DESIGN_SUBCATEGORY_PARTS "Parts"

//science subcategories
#define DESIGN_SUBCATEGORY_XENOBIOLOGY "Xenobiology"
#define DESIGN_SUBCATEGORY_XENOARCHEOLOGY "Xenoarcheology"
4 changes: 3 additions & 1 deletion code/datums/design/design.dm
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,9 @@
/// overrides build_name for purposes of name generation.
var/design_name
/// category - string or list, or null; null results in undefined behavior depending on UI.
var/category = "Misc"
var/category = DESIGN_CATEGORY_MISC

var/subcategory = DESIGN_CATEGORY_MISC

//? Build Data
/// name of item before any name-generation is done. also shown in ui. if null, it'll be auto-detected from the build_path if possible.
Expand Down
1 change: 1 addition & 0 deletions code/modules/research/designs/HUDs.dm
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
/datum/prototype/design/science/hud
abstract_type = /datum/prototype/design/science/hud
subcategory = DESIGN_SUBCATEGORY_SCANNING
materials_base = list(MAT_STEEL = 50, MAT_GLASS = 50)

/datum/prototype/design/science/hud/generate_name(template)
Expand Down
2 changes: 2 additions & 0 deletions code/modules/research/designs/ai_holders.dm
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
/datum/prototype/design/science/ai_holder
abstract_type = /datum/prototype/design/science/ai_holder
category = DESIGN_CATEGORY_SYNTH
subcategory = DESIGN_SUBCATEGORY_SYNTHETIC_MINDS

// Various AI/mind holding device
/datum/prototype/design/science/ai_holder/generate_name(template)
Expand Down
2 changes: 2 additions & 0 deletions code/modules/research/designs/bag_of_holding.dm
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
design_name = "Bag of Holding"
desc = "Using localized pockets of bluespace this bag prototype offers incredible storage capacity with the contents weighting nothing. It's a shame the bag itself is pretty heavy."
id = "bag_holding"
category = DESIGN_CATEGORY_STORAGE
req_tech = list(TECH_BLUESPACE = 4, TECH_MATERIAL = 6)
materials_base = list(MAT_GOLD = 3000, MAT_DIAMOND = 1500, MAT_URANIUM = 250)
build_path = /obj/item/storage/backpack/holding
Expand All @@ -16,6 +17,7 @@
design_name = "DuffleBag of Holding"
desc = "A minaturized prototype of the popular Bag of Holding, the Dufflebag of Holding is, functionally, identical to the bag of holding, but comes in a more stylish and compact form."
id = "duffle-holding"
category = DESIGN_CATEGORY_STORAGE
req_tech = list(TECH_BLUESPACE = 4, TECH_MATERIAL = 6)
materials_base = list(MAT_GOLD = 3000, MAT_DIAMOND = 1500, MAT_URANIUM = 250)
build_path = /obj/item/storage/backpack/holding/duffle
2 changes: 2 additions & 0 deletions code/modules/research/designs/beakers.dm
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
design_name = "cryostasis"
desc = "A cryostasis beaker that allows for chemical storage without reactions. Can hold up to 50 units."
id = "splitbeaker"
category = DESIGN_CATEGORY_STORAGE
req_tech = list(TECH_MATERIAL = 2)
materials_base = list(MAT_STEEL = 3000)
build_path = /obj/item/reagent_containers/glass/beaker/noreact
Expand All @@ -16,6 +17,7 @@
design_name = TECH_BLUESPACE
desc = "A bluespace beaker, powered by experimental bluespace technology and Element Cuban combined with the Compound Pete. Can hold up to 300 units."
id = "bluespacebeaker"
category = DESIGN_CATEGORY_STORAGE
req_tech = list(TECH_BLUESPACE = 2, TECH_MATERIAL = 6)
materials_base = list(MAT_STEEL = 3000, MAT_PHORON = 3000, MAT_DIAMOND = 500)
build_path = /obj/item/reagent_containers/glass/beaker/bluespace
14 changes: 12 additions & 2 deletions code/modules/research/designs/bio_devices.dm
Original file line number Diff line number Diff line change
Expand Up @@ -10,37 +10,43 @@
/datum/prototype/design/science/biotech/mass_spectrometer
desc = "A device for analyzing chemicals in blood."
id = "mass_spectrometer"
subcategory = DESIGN_SUBCATEGORY_SCANNING
req_tech = list(TECH_BIO = 2, TECH_MAGNET = 2)
build_path = /obj/item/mass_spectrometer

/datum/prototype/design/science/biotech/adv_mass_spectrometer
desc = "A device for analyzing chemicals in blood and their quantities."
id = "adv_mass_spectrometer"
subcategory = DESIGN_SUBCATEGORY_SCANNING
req_tech = list(TECH_BIO = 2, TECH_MAGNET = 4)
build_path = /obj/item/mass_spectrometer/adv

/datum/prototype/design/science/biotech/reagent_scanner
desc = "A device for identifying chemicals."
id = "reagent_scanner"
subcategory = DESIGN_SUBCATEGORY_SCANNING
req_tech = list(TECH_BIO = 2, TECH_MAGNET = 2)
build_path = /obj/item/reagent_scanner

/datum/prototype/design/science/biotech/adv_reagent_scanner
desc = "A device for identifying chemicals and their proportions."
id = "adv_reagent_scanner"
subcategory = DESIGN_SUBCATEGORY_SCANNING
req_tech = list(TECH_BIO = 2, TECH_MAGNET = 4)
build_path = /obj/item/reagent_scanner/adv

/datum/prototype/design/science/biotech/robot_scanner
desc = "A hand-held scanner able to diagnose robotic injuries."
id = "robot_scanner"
subcategory = DESIGN_SUBCATEGORY_SCANNING
req_tech = list(TECH_MAGNET = 3, TECH_BIO = 2, TECH_ENGINEERING = 3)
materials_base = list(MAT_STEEL = 500, MAT_GLASS = 200)
build_path = /obj/item/robotanalyzer

/datum/prototype/design/science/biotech/nanopaste
desc = "A tube of paste containing swarms of repair nanites. Very effective in repairing robotic machinery."
id = "nanopaste"
category = DESIGN_CATEGORY_SYNTH
req_tech = list(TECH_MATERIAL = 4, TECH_ENGINEERING = 3)
materials_base = list(MAT_STEEL = 7000, MAT_GLASS = 7000)
build_path = /obj/item/stack/nanopaste
Expand All @@ -49,27 +55,31 @@
/datum/prototype/design/science/biotech/plant_analyzer
desc = "A device capable of quickly scanning all relevant data about a plant."
id = "plant_analyzer"
subcategory = DESIGN_SUBCATEGORY_SCANNING
req_tech = list(TECH_MAGNET = 2, TECH_BIO = 2)
materials_base = list(MAT_STEEL = 500, MAT_GLASS = 500)
build_path = /obj/item/plant_analyzer

/datum/prototype/design/science/biotech/nif
design_name = "nanite implant framework"
design_name = "nanite implant framework (NIF)"
id = "nif"
subcategory = DESIGN_SUBCATEGORY_NIF
req_tech = list(TECH_MAGNET = 5, TECH_BLUESPACE = 5, TECH_MATERIAL = 5, TECH_ENGINEERING = 5, TECH_DATA = 5)
materials_base = list(MAT_STEEL = 5000, MAT_GLASS = 8000, MAT_URANIUM = 6000, MAT_DIAMOND = 6000)
build_path = /obj/item/nif

/datum/prototype/design/science/biotech/nifbio
design_name = "bioadaptive NIF"
design_name = "bioadaptive nanite implant framework (NIF)"
id = "bioadapnif"
subcategory = DESIGN_SUBCATEGORY_NIF
req_tech = list(TECH_MAGNET = 5, TECH_BLUESPACE = 5, TECH_MATERIAL = 5, TECH_ENGINEERING = 5, TECH_DATA = 5, TECH_BIO = 5)
materials_base = list(MAT_STEEL = 10000, MAT_GLASS = 15000, MAT_URANIUM = 10000, MAT_DIAMOND = 10000)
build_path = /obj/item/nif/bioadap

/datum/prototype/design/science/biotech/nifrepairtool
design_name = "adv. NIF repair tool"
id = "anrt"
subcategory = DESIGN_SUBCATEGORY_NIF
req_tech = list(TECH_MAGNET = 5, TECH_BLUESPACE = 5, TECH_MATERIAL = 5, TECH_ENGINEERING = 5, TECH_DATA = 5)
materials_base = list(MAT_STEEL = 200, MAT_GLASS = 3000, MAT_URANIUM = 2000, MAT_DIAMOND = 2000)
build_path = /obj/item/nifrepairer
1 change: 1 addition & 0 deletions code/modules/research/designs/circuit_assembly.dm
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
/datum/prototype/design/science/integrated_circuitry
category = DESIGN_CATEGORY_INTEGRATED_CIRCUITRY
abstract_type = /datum/prototype/design/science/integrated_circuitry

/datum/prototype/design/science/integrated_circuitry/generate_name(template)
Expand Down
3 changes: 3 additions & 0 deletions code/modules/research/designs/circuits/ai_modules.dm
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
/datum/prototype/design/aimodule
abstract_type = /datum/prototype/design/aimodule
lathe_type = LATHE_TYPE_CIRCUIT
category = DESIGN_CATEGORY_AI
subcategory = DESIGN_SUBCATEGORY_LAWS
materials_base = list(MAT_GLASS = 2000, MAT_GOLD = 100)

/datum/prototype/design/aimodule/generate_name(template)
Expand Down Expand Up @@ -66,6 +68,7 @@
// Core modules
/datum/prototype/design/aimodule/core
abstract_type = /datum/prototype/design/aimodule/core
subcategory = DESIGN_SUBCATEGORY_CORE
req_tech = list(TECH_DATA = 4, TECH_MATERIAL = 6)

/datum/prototype/design/aimodule/core/generate_name(template)
Expand Down
Loading
Loading