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

[MIRROR] Techweb nodes DEFINED & bug fix #4137

Merged
merged 1 commit into from
Jun 30, 2024
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
122 changes: 122 additions & 0 deletions code/__DEFINES/research/techweb_nodes.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,122 @@
#define TECHWEB_NODE_AI "ai"
#define TECHWEB_NODE_AI_LAWS "ai_laws"
#define TECHWEB_NODE_ALIEN_ENGI "alien_engi"
#define TECHWEB_NODE_ALIEN_SURGERY "alien_surgery"
#define TECHWEB_NODE_ALIENTECH "alientech"
#define TECHWEB_NODE_ANOMALY_RESEARCH "anomaly_research"
#define TECHWEB_NODE_ANOMALY_SHELLS "anomaly_shells"
#define TECHWEB_NODE_APPLIED_BLUESPACE "applied_bluespace"
#define TECHWEB_NODE_ATMOS "atmos"
#define TECHWEB_NODE_AUGMENTATION "augmentation"
#define TECHWEB_NODE_AUS_SECURITY "aus_security"
#define TECHWEB_NODE_BASIC_ARMS "basic_arms"
#define TECHWEB_NODE_BCI "bci"
#define TECHWEB_NODE_BEAM_WEAPONS "beam_weapons"
#define TECHWEB_NODE_BIO_SCAN "bio_scan"
#define TECHWEB_NODE_BITRUNNING "bitrunning"
#define TECHWEB_NODE_BLUESPACE "bluespace"
#define TECHWEB_NODE_BLUESPACE_THEORY "bluespace_theory"
#define TECHWEB_NODE_BLUESPACE_TRAVEL "bluespace_travel"
#define TECHWEB_NODE_BORG_ENGI "borg_engi"
#define TECHWEB_NODE_BORG_MEDICAL "borg_medical"
#define TECHWEB_NODE_BORG_MINING "borg_mining"
#define TECHWEB_NODE_BORG_SERVICES "borg_services"
#define TECHWEB_NODE_BORG_UTILITY "borg_utility"
#define TECHWEB_NODE_BOTANY_EQUIP "botany_equip"
#define TECHWEB_NODE_CAFETERIA_EQUIP "cafeteria_equip"
#define TECHWEB_NODE_CHEM_SYNTHESIS "chem_synthesis"
#define TECHWEB_NODE_CIRCUIT_SHELLS "circuit_shells"
#define TECHWEB_NODE_COMBAT_IMPLANTS "combat_implants"
#define TECHWEB_NODE_CONSOLES "consoles"
#define TECHWEB_NODE_CONSTRUCTION "construction"
#define TECHWEB_NODE_CRYOSTASIS "cryostasis"
#define TECHWEB_NODE_CYBER_IMPLANTS "cyber_implants"
#define TECHWEB_NODE_CYBER_ORGANS "cyber_organs"
#define TECHWEB_NODE_CYBER_ORGANS_ADV "cyber_organs_adv"
#define TECHWEB_NODE_CYBER_ORGANS_UPGRADED "cyber_organs_upgraded"
#define TECHWEB_NODE_CYBERNETICS "cybernetics"
#define TECHWEB_NODE_CYTOLOGY "cytology"
#define TECHWEB_NODE_ELECTRIC_WEAPONS "electric_weapons"
#define TECHWEB_NODE_ENERGY_MANIPULATION "energy_manipulation"
#define TECHWEB_NODE_EXODRONE "exodrone"
#define TECHWEB_NODE_EXOTIC_AMMO "exotic_ammo"
#define TECHWEB_NODE_EXP_TOOLS "exp_tools"
#define TECHWEB_NODE_EXPLOSIVES "explosives"
#define TECHWEB_NODE_EXTREME_OFFICE "extreme_office"
#define TECHWEB_NODE_FISHING_EQUIP "fishing_equip"
#define TECHWEB_NODE_FISHING_EQUIP_ADV "fishing_equip_adv"
#define TECHWEB_NODE_FOOD_PROC "food_proc"
#define TECHWEB_NODE_FUNDIMENTAL_SCI "fundimental_sci"
#define TECHWEB_NODE_FUSION "fusion"
#define TECHWEB_NODE_GAMING "gaming"
#define TECHWEB_NODE_GAS_COMPRESSION "gas_compression"
#define TECHWEB_NODE_GENE_ENGINEERING "gene_engineering"
#define TECHWEB_NODE_HOLOGRAPHICS "holographics"
#define TECHWEB_NODE_HUD "hud"
#define TECHWEB_NODE_HYDROPONICS "hydroponics"
#define TECHWEB_NODE_INTERGRATED_TOOLSETS "intergrated_toolsets"
#define TECHWEB_NODE_INTERROGATION "interrogation"
#define TECHWEB_NODE_LIGHT_APPS "light_apps"
#define TECHWEB_NODE_LOW_PRESSURE_EXCAVATION "low_pressure_excavation"
#define TECHWEB_NODE_MARINE_UTIL "marine_util"
#define TECHWEB_NODE_MATERIAL_PROC "material_proc"
#define TECHWEB_NODE_MECH_ASSAULT "mech_assault"
#define TECHWEB_NODE_MECH_ASSEMBLY "mech_assembly"
#define TECHWEB_NODE_MECH_CLOWN "mech_clown"
#define TECHWEB_NODE_MECH_COMBAT "mech_combat"
#define TECHWEB_NODE_MECH_ENERGY_GUNS "mech_energy_guns"
#define TECHWEB_NODE_MECH_EQUIPMENT "mech_equipment"
#define TECHWEB_NODE_MECH_FIREARMS "mech_firearms"
#define TECHWEB_NODE_MECH_HEAVY "mech_heavy"
#define TECHWEB_NODE_MECH_HEAVY_ARMS "mech_heavy_arms"
#define TECHWEB_NODE_MECH_INFILTRATOR "mech_infiltrator"
#define TECHWEB_NODE_MECH_LIGHT "mech_light"
#define TECHWEB_NODE_MECH_MEDICAL "mech_medical"
#define TECHWEB_NODE_MECH_MINING "mech_mining"
#define TECHWEB_NODE_MEDBAY_EQUIP "medbay_equip"
#define TECHWEB_NODE_MEDBAY_EQUIP_ADV "medbay_equip_adv"
#define TECHWEB_NODE_MINING "mining"
#define TECHWEB_NODE_MINING_ADV "mining_adv"
#define TECHWEB_NODE_MOD_ANOMALY "mod_anomaly"
#define TECHWEB_NODE_MOD_ENGI "mod_engi"
#define TECHWEB_NODE_MOD_ENGI_ADV "mod_engi_adv"
#define TECHWEB_NODE_MOD_ENTERTAINMENT "mod_entertainment"
#define TECHWEB_NODE_MOD_EQUIP "mod_equip"
#define TECHWEB_NODE_MOD_EXPERIMENTAL "mod_experimental"
#define TECHWEB_NODE_MOD_MEDICAL "mod_medical"
#define TECHWEB_NODE_MOD_MEDICAL_ADV "mod_medical_adv"
#define TECHWEB_NODE_MOD_SECURITY "mod_security"
#define TECHWEB_NODE_MOD_SUIT "mod_suit"
#define TECHWEB_NODE_NIGHT_VISION "night_vision"
#define TECHWEB_NODE_OFFICE_EQUIP "office_equip"
#define TECHWEB_NODE_OLDSTATION_SURGERY "oldstation_surgery"
#define TECHWEB_NODE_PARTS "parts"
#define TECHWEB_NODE_PARTS_ADV "parts_adv"
#define TECHWEB_NODE_PARTS_BLUESPACE "parts_bluespace"
#define TECHWEB_NODE_PARTS_UPG "parts_upg"
#define TECHWEB_NODE_PASSIVE_IMPLANTS "passive_implants"
#define TECHWEB_NODE_PLASMA_CONTROL "plasma_control"
#define TECHWEB_NODE_PLASMA_MINING "plasma_mining"
#define TECHWEB_NODE_PLUMBING "plumbing"
#define TECHWEB_NODE_POSITRONIC_SPHERE "positronic_sphere"
#define TECHWEB_NODE_PROGRAMMED_ROBOT "programmed_robot"
#define TECHWEB_NODE_PROGRAMMED_SERVER "programmed_server"
#define TECHWEB_NODE_PROGRAMMING "programming"
#define TECHWEB_NODE_RCD_UPGRADE "rcd_upgrade"
#define TECHWEB_NODE_RIOT_SUPRESSION "riot_supression"
#define TECHWEB_NODE_ROBOTICS "robotics"
#define TECHWEB_NODE_SANITATION "sanitation"
#define TECHWEB_NODE_SEC_EQUIP "sec_equip"
#define TECHWEB_NODE_SELECTION "selection"
#define TECHWEB_NODE_SPEC_ENG "spec_eng"
#define TECHWEB_NODE_STICKY_ADVANCED "sticky_advanced"
#define TECHWEB_NODE_SURGERY "surgery"
#define TECHWEB_NODE_SURGERY_ADV "surgery_adv"
#define TECHWEB_NODE_SURGERY_EXP "surgery_exp"
#define TECHWEB_NODE_SURGERY_TOOLS "surgery_tools"
#define TECHWEB_NODE_SYNDICATE_BASIC "syndicate_basic"
#define TECHWEB_NODE_TACKLE_ADVANCED "tackle_advanced"
#define TECHWEB_NODE_TELECOMS "telecoms"
#define TECHWEB_NODE_TOYS "toys"
#define TECHWEB_NODE_UNREGULATED_BLUESPACE "unregulated_bluespace"
#define TECHWEB_NODE_XENOBIOLOGY "xenobiology"
26 changes: 26 additions & 0 deletions code/__DEFINES/~nova_defines/techweb_nodes.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
#define TECHWEB_NODE_ADVANCED_VISION "adv_vision"
#define TECHWEB_NODE_BORG_SHAPESHIFTER "borg_shapeshifter"
#define TECHWEB_NODE_CARGO_TELEPORTER "cargoteleporter"
#define TECHWEB_NODE_COLONY_APPLIANCES "colony_fabricator_appliances"
#define TECHWEB_NODE_COLONY_FLATPACKS "colony_fabricator_flatpacks"
#define TECHWEB_NODE_COLONY_STRUCTURES "colony_fabricator_structures"
#define TECHWEB_NODE_COLONY_TOOLS "colony_fabricator_tools"
#define TECHWEB_NODE_COMP_ADVANCED_SENSORS "comp_advanced_sensors"
#define TECHWEB_NODE_COMP_INTERACTION_COMPONENT "comp_advanced_interacts"
#define TECHWEB_NODE_CONVEYOR_SORTER "conveyor_sorter"
#define TECHWEB_NODE_CONVEYOR_SORTER_IMPROVED "conveyor_sorter_improved"
#define TECHWEB_NODE_CYBERNETICS_DIGITIGRADE "digitigrade_cyber"
#define TECHWEB_NODE_CYBERNETICS_DIGITIGRADE_ADVANCED "adv_digitigrade_cyber"
#define TECHWEB_NODE_CYBERNETICS_TESHARI "teshari_cyber"
#define TECHWEB_NODE_CYBERNETICS_TESHARI_ADVANCED "adv_teshari_cyber"
#define TECHWEB_NODE_MUTANT_TECH "mutant_tech"
#define TECHWEB_NODE_NIGHT_VISION_IMPLANTS "nv_implants"
#define TECHWEB_NODE_ROBOTIC_SURGERY "improved_robotic_surgery"
#define TECHWEB_NODE_ROBOTIC_SURGERY_ADVANCED "advanced_robotic_surgery"
#define TECHWEB_NODE_SCYTHE_1 "t1scythe"
#define TECHWEB_NODE_SCYTHE_2 "t2scythe"
#define TECHWEB_NODE_TARKON "tarkontech"
#define TECHWEB_NODE_XENOARCH_ADVANCED "adv_xenoarch"
#define TECHWEB_NODE_XENOARCH_BASIC "basic_xenoarch"
#define TECHWEB_NODE_XENOARCH_MACHINES "xenoarch_machines"
#define TECHWEB_NODE_XENOARCH_STORAGE "xenoarch_storage"
51 changes: 22 additions & 29 deletions code/modules/research/ordnance/scipaper_partner.dm
Original file line number Diff line number Diff line change
Expand Up @@ -4,21 +4,20 @@
accepted_experiments = list(/datum/experiment/ordnance/explosive/lowyieldbomb)
multipliers = list(SCIPAPER_COOPERATION_INDEX = 0.75, SCIPAPER_FUNDING_INDEX = 0.75)
boostable_nodes = list(
"bluespace_basic" = 2000,
"NVGtech" = 1500,
"practical_bluespace" = 2500,
"basic_plasma" = 2000,
"basic_mining" = 2000,
"adv_mining" = 2000,
TECHWEB_NODE_BLUESPACE_THEORY = TECHWEB_TIER_3_POINTS,
TECHWEB_NODE_NIGHT_VISION = TECHWEB_TIER_2_POINTS,
TECHWEB_NODE_ANOMALY_RESEARCH = TECHWEB_TIER_2_POINTS,
TECHWEB_NODE_MINING = TECHWEB_TIER_1_POINTS,
TECHWEB_NODE_MINING_ADV = TECHWEB_TIER_2_POINTS,
)

/datum/scientific_partner/baron
name = "Ghost Writing"
flufftext = "A nearby research station ran by a very wealthy captain seems to be struggling with their scientific output. They might reward us handsomely if we ghostwrite for them."
multipliers = list(SCIPAPER_COOPERATION_INDEX = 0.25, SCIPAPER_FUNDING_INDEX = 2)
boostable_nodes = list(
"comp_recordkeeping" = 500,
"computer_data_disks" = 500,
TECHWEB_NODE_CONSOLES = TECHWEB_TIER_1_POINTS,
TECHWEB_NODE_FUNDIMENTAL_SCI = TECHWEB_TIER_1_POINTS,
)

/datum/scientific_partner/defense
Expand All @@ -30,14 +29,11 @@
/datum/experiment/ordnance/explosive/hydrogenbomb,
)
boostable_nodes = list(
"adv_weaponry" = 5000,
"weaponry" = 2500,
"sec_basic" = 1250,
"explosive_weapons" = 1250,
"electronic_weapons" = 1250,
"radioactive_weapons" = 1250,
"beam_weapons" = 1250,
"explosive_weapons" = 1250,
TECHWEB_NODE_RIOT_SUPRESSION = TECHWEB_TIER_3_POINTS,
TECHWEB_NODE_SEC_EQUIP = TECHWEB_TIER_1_POINTS,
TECHWEB_NODE_EXPLOSIVES = TECHWEB_TIER_2_POINTS,
TECHWEB_NODE_ELECTRIC_WEAPONS = TECHWEB_TIER_2_POINTS,
TECHWEB_NODE_BEAM_WEAPONS = TECHWEB_TIER_3_POINTS,
)

/datum/scientific_partner/medical
Expand All @@ -48,12 +44,12 @@
/datum/experiment/ordnance/gaseous/bz,
)
boostable_nodes = list(
"cyber_organs" = 750,
"cyber_organs_upgraded" = 1000,
"genetics" = 500,
"subdermal_implants" = 1250,
"adv_biotech" = 1000,
"biotech" = 1000,
TECHWEB_NODE_CYBER_ORGANS = TECHWEB_TIER_1_POINTS,
TECHWEB_NODE_CYBER_ORGANS_UPGRADED = TECHWEB_TIER_2_POINTS,
TECHWEB_NODE_GENE_ENGINEERING = TECHWEB_TIER_1_POINTS,
TECHWEB_NODE_PASSIVE_IMPLANTS = TECHWEB_TIER_1_POINTS,
TECHWEB_NODE_BIO_SCAN = TECHWEB_TIER_1_POINTS,
TECHWEB_NODE_CHEM_SYNTHESIS = TECHWEB_TIER_2_POINTS,
)

/datum/scientific_partner/physics
Expand All @@ -64,11 +60,8 @@
/datum/experiment/ordnance/explosive/nobliumbomb,
)
boostable_nodes = list(
"engineering" = 5000,
"adv_engi" = 5000,
"emp_super" = 3000,
"emp_adv" = 1250,
"high_efficiency" = 5000,
"micro_bluespace" = 5000,
"adv_power" = 1500,
TECHWEB_NODE_PARTS_UPG = TECHWEB_TIER_2_POINTS,
TECHWEB_NODE_EXP_TOOLS = TECHWEB_TIER_4_POINTS,
TECHWEB_NODE_PARTS_BLUESPACE = TECHWEB_TIER_3_POINTS,
TECHWEB_NODE_PARTS_ADV = TECHWEB_TIER_1_POINTS,
)
12 changes: 6 additions & 6 deletions code/modules/research/techweb/nodes/alien_nodes.dm
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
/datum/techweb_node/alientech //AYYYYYYYYLMAOO tech
id = "alientech"
id = TECHWEB_NODE_ALIENTECH
display_name = "Alien Technology"
description = "Things used by the greys."
prereq_ids = list("bluespace_travel")
prereq_ids = list(TECHWEB_NODE_BLUESPACE_TRAVEL)
required_items_to_unlock = list(
/obj/item/stack/sheet/mineral/abductor,
/obj/item/abductor,
Expand Down Expand Up @@ -33,10 +33,10 @@
SSshuttle.shuttle_purchase_requirements_met[SHUTTLE_UNLOCK_ALIENTECH] = TRUE

/datum/techweb_node/alien_engi
id = "alien_engi"
id = TECHWEB_NODE_ALIEN_ENGI
display_name = "Alien Engineering"
description = "Alien engineering tools"
prereq_ids = list("alientech", "exp_tools")
prereq_ids = list(TECHWEB_NODE_ALIENTECH, TECHWEB_NODE_EXP_TOOLS)
design_ids = list(
"alien_crowbar",
"alien_multitool",
Expand All @@ -61,10 +61,10 @@
hidden = TRUE

/datum/techweb_node/alien_surgery
id = "alien_surgery"
id = TECHWEB_NODE_ALIEN_SURGERY
display_name = "Alien Surgery"
description = "Abductors did nothing wrong."
prereq_ids = list("alientech", "surgery_tools")
prereq_ids = list(TECHWEB_NODE_ALIENTECH, TECHWEB_NODE_SURGERY_TOOLS)
design_ids = list(
"alien_cautery",
"alien_drill",
Expand Down
22 changes: 11 additions & 11 deletions code/modules/research/techweb/nodes/atmos_nodes.dm
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/datum/techweb_node/atmos
id = "atmos"
id = TECHWEB_NODE_ATMOS
starting_node = TRUE
display_name = "Atmospherics"
description = "Maintaining station air and related life support systems."
Expand All @@ -21,10 +21,10 @@
)

/datum/techweb_node/gas_compression
id = "gas_compression"
id = TECHWEB_NODE_GAS_COMPRESSION
display_name = "Gas Compression"
description = "Highly pressurized gases hold potential for unlocking immense energy capabilities."
prereq_ids = list("atmos")
prereq_ids = list(TECHWEB_NODE_ATMOS)
design_ids = list(
"tank_compressor",
"emergency_oxygen",
Expand All @@ -42,10 +42,10 @@
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_1_POINTS)

/datum/techweb_node/plasma_control
id = "plasma_control"
id = TECHWEB_NODE_PLASMA_CONTROL
display_name = "Controlled Plasma"
description = "Experiments with high-pressure gases and electricity resulting in crystallization and controlled plasma reactions."
prereq_ids = list("gas_compression", "energy_manipulation")
prereq_ids = list(TECHWEB_NODE_GAS_COMPRESSION, TECHWEB_NODE_ENERGY_MANIPULATION)
design_ids = list(
"crystallizer",
"electrolyzer",
Expand All @@ -57,10 +57,10 @@
required_experiments = list(/datum/experiment/ordnance/gaseous/plasma)

/datum/techweb_node/fusion
id = "fusion"
id = TECHWEB_NODE_FUSION
display_name = "Fusion"
description = "Investigating fusion reactor technology to achieve sustainable and efficient energy production through controlled plasma reactions involving noble gases."
prereq_ids = list("plasma_control")
prereq_ids = list(TECHWEB_NODE_PLASMA_CONTROL)
design_ids = list(
"HFR_core",
"HFR_corner",
Expand All @@ -77,10 +77,10 @@
discount_experiments = list(/datum/experiment/ordnance/gaseous/nitrous_oxide = TECHWEB_TIER_3_POINTS)

/datum/techweb_node/exp_tools
id = "exp_tools"
id = TECHWEB_NODE_EXP_TOOLS
display_name = "Experimental Tools"
description = "Enhances the functionality and versatility of station tools."
prereq_ids = list("fusion")
prereq_ids = list(TECHWEB_NODE_FUSION)
design_ids = list(
"flatpacker",
"handdrill",
Expand All @@ -98,10 +98,10 @@
discount_experiments = list(/datum/experiment/ordnance/gaseous/noblium = TECHWEB_TIER_4_POINTS)

/datum/techweb_node/rcd_upgrade
id = "rcd_upgrade"
id = TECHWEB_NODE_RCD_UPGRADE
display_name = "Rapid Device Upgrade Designs"
description = "New designs and enhancements for RCD and RPD."
prereq_ids = list("exp_tools", "parts_bluespace")
prereq_ids = list(TECHWEB_NODE_EXP_TOOLS, TECHWEB_NODE_PARTS_BLUESPACE)
design_ids = list(
"rcd_upgrade_silo_link",
"rcd_upgrade_anti_interrupt",
Expand Down
Loading
Loading