From 60b13638d9e374a9ab86fbdccdd2efdab0a3b2d6 Mon Sep 17 00:00:00 2001 From: SkyratBot <59378654+SkyratBot@users.noreply.github.com> Date: Sat, 17 Aug 2024 00:49:57 +0200 Subject: [PATCH] [MIRROR] Ordnance experiments tweaks [NO GBP] (#29344) * Ordnance experiments tweaks [NO GBP] (#85680) ## About The Pull Request More techweb feedback processing. 1. NT frontier app is much more useful and the partners give discounts for big nodes. Now you can accelerate the research a lot if you focus on NT frontier. Find [green text in the tree](https://www.figma.com/board/IhOqYfG5XFBxcgaRSprWzK/Tech-New?node-id=0-1&t=uDMlvA6QcXgz6umU-1) to see which nodes can have full discounts. 2. Roboticists now have access to ordnance to be able to work on gas shells for faster mech weapon unlocks 3. BZ shell was rarely performed on LRP servers due to people not knowing that you can easily make BZ in a portable pump, so it is no longer a required experiment on the path to experimental tools and a discount experiment for exp tools instead 4. Cytology experiment is a discount one to ease the path to Genetics node 5. Cryostasis prerequisite got removed by accident in one of the techweb tweaks 6. Atmos techs can download NT frontier and build compressor board in engi imprinter ## Why It's Good For The Game Balancing the tree out according to the player's behaviour. ## Changelog :cl: balance: TechWeb: NT Frontier partners now give full discounts for many high tier nodes, corresponding to the partner theme, instead of partial discounts for random nodes qol: Atmos techs can download NT frontier and build compressor board in engi imprinter balance: Roboticists now always have ordnance access for the discount experiments they need balance: TechWeb: BZ shell is now a discount experiment for experimental tools instead of required exp for fusion balance: TechWeb: Noblium shell is a discount experiment for RCD upgrades instead of exp tools discount balance: TechWeb: Vat-grown slime scan is a discount experiment instead of required one fix: TechWeb: Cryostasis node properly requires advanced medbay equipment as it should /:cl: * Ordnance experiments tweaks [NO GBP] --------- Co-authored-by: Andrew --- code/__DEFINES/research/techweb_nodes.dm | 2 +- code/datums/id_trim/jobs.dm | 4 +- .../file_system/programs/frontier.dm | 2 +- .../research/designs/machine_designs.dm | 2 +- .../research/ordnance/scipaper_partner.dm | 58 +++++++++++-------- .../research/techweb/nodes/atmos_nodes.dm | 10 +++- .../research/techweb/nodes/biology_nodes.dm | 2 +- .../research/techweb/nodes/mech_nodes.dm | 2 +- .../research/techweb/nodes/medbay_nodes.dm | 2 +- 9 files changed, 50 insertions(+), 34 deletions(-) diff --git a/code/__DEFINES/research/techweb_nodes.dm b/code/__DEFINES/research/techweb_nodes.dm index 3c730e02169..f27225f1fed 100644 --- a/code/__DEFINES/research/techweb_nodes.dm +++ b/code/__DEFINES/research/techweb_nodes.dm @@ -14,7 +14,7 @@ #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_MECH_EQUIP_BLUESPACE "mech_equip_bluespace" #define TECHWEB_NODE_BLUESPACE_THEORY "bluespace_theory" #define TECHWEB_NODE_BLUESPACE_TRAVEL "bluespace_travel" #define TECHWEB_NODE_BORG_ENGI "borg_engi" diff --git a/code/datums/id_trim/jobs.dm b/code/datums/id_trim/jobs.dm index 190c4a38a29..b5893380fde 100644 --- a/code/datums/id_trim/jobs.dm +++ b/code/datums/id_trim/jobs.dm @@ -957,13 +957,13 @@ ACCESS_ROBOTICS, ACCESS_SCIENCE, ACCESS_TECH_STORAGE, + ACCESS_ORDNANCE, + ACCESS_ORDNANCE_STORAGE, ) extra_access = list( ACCESS_GENETICS, ACCESS_XENOBIOLOGY, ACCESS_MORGUE_SECURE, - ACCESS_ORDNANCE, - ACCESS_ORDNANCE_STORAGE, ) template_access = list( ACCESS_CAPTAIN, diff --git a/code/modules/modular_computers/file_system/programs/frontier.dm b/code/modules/modular_computers/file_system/programs/frontier.dm index c8030287e89..04e902a5e8d 100644 --- a/code/modules/modular_computers/file_system/programs/frontier.dm +++ b/code/modules/modular_computers/file_system/programs/frontier.dm @@ -8,7 +8,7 @@ program_open_overlay = "research" tgui_id = "NtosScipaper" program_icon = "paper-plane" - download_access = list(ACCESS_ORDNANCE, ACCESS_SCIENCE, ACCESS_AWAY_SCIENCE) + download_access = list(ACCESS_ORDNANCE, ACCESS_SCIENCE, ACCESS_AWAY_SCIENCE, ACCESS_ATMOSPHERICS) var/datum/techweb/linked_techweb /// Unpublished, temporary paper datum. diff --git a/code/modules/research/designs/machine_designs.dm b/code/modules/research/designs/machine_designs.dm index 53104494c82..f2067548f45 100644 --- a/code/modules/research/designs/machine_designs.dm +++ b/code/modules/research/designs/machine_designs.dm @@ -540,7 +540,7 @@ category = list( RND_CATEGORY_MACHINE + RND_SUBCATEGORY_MACHINE_RESEARCH ) - departmental_flags = DEPARTMENT_BITFLAG_SCIENCE + departmental_flags = DEPARTMENT_BITFLAG_SCIENCE | DEPARTMENT_BITFLAG_ENGINEERING /datum/design/board/microwave name = "Microwave Board" diff --git a/code/modules/research/ordnance/scipaper_partner.dm b/code/modules/research/ordnance/scipaper_partner.dm index 7120c78cecd..5bbe3e7d627 100644 --- a/code/modules/research/ordnance/scipaper_partner.dm +++ b/code/modules/research/ordnance/scipaper_partner.dm @@ -1,14 +1,18 @@ /datum/scientific_partner/mining name = "Mining Corps" - flufftext = "A local group of miners are looking for ways to improve their mining output. They are interested in smaller scale explosives." - accepted_experiments = list(/datum/experiment/ordnance/explosive/lowyieldbomb) + flufftext = "A local group of miners are looking for ways to improve their mining output. They are interested in smaller scale explosives and plasma research." + accepted_experiments = list( + /datum/experiment/ordnance/gaseous/plasma, + /datum/experiment/ordnance/explosive/lowyieldbomb, + /datum/experiment/ordnance/explosive/highyieldbomb, + ) multipliers = list(SCIPAPER_COOPERATION_INDEX = 0.75, SCIPAPER_FUNDING_INDEX = 0.75) boostable_nodes = list( - 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, + TECHWEB_NODE_LOW_PRESSURE_EXCAVATION = TECHWEB_TIER_2_POINTS, + TECHWEB_NODE_PLASMA_MINING = TECHWEB_TIER_3_POINTS, + TECHWEB_NODE_MINING_ADV = TECHWEB_TIER_4_POINTS, + TECHWEB_NODE_NIGHT_VISION = TECHWEB_TIER_4_POINTS, + TECHWEB_NODE_BORG_ENGI = TECHWEB_TIER_3_POINTS, ) /datum/scientific_partner/baron @@ -17,23 +21,26 @@ multipliers = list(SCIPAPER_COOPERATION_INDEX = 0.25, SCIPAPER_FUNDING_INDEX = 2) boostable_nodes = list( TECHWEB_NODE_CONSOLES = TECHWEB_TIER_1_POINTS, - TECHWEB_NODE_FUNDIMENTAL_SCI = TECHWEB_TIER_1_POINTS, + TECHWEB_NODE_GAMING = TECHWEB_TIER_2_POINTS, + TECHWEB_NODE_BITRUNNING = TECHWEB_TIER_3_POINTS, + TECHWEB_NODE_PROGRAMMED_SERVER = TECHWEB_TIER_3_POINTS, ) /datum/scientific_partner/defense name = "Defense Partnership" - flufftext = "We can work directly for Nanotrasen's \[REDACTED\] division, potentially providing us access with advanced defensive gadgets." + flufftext = "We can work directly for Nanotrasen's \[REDACTED\] division, potentially providing us access with advanced offensive and defensive gadgets." accepted_experiments = list( + /datum/experiment/ordnance/explosive/lowyieldbomb, /datum/experiment/ordnance/explosive/highyieldbomb, /datum/experiment/ordnance/explosive/pressurebomb, /datum/experiment/ordnance/explosive/hydrogenbomb, ) boostable_nodes = list( - 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, + TECHWEB_NODE_RIOT_SUPRESSION = TECHWEB_TIER_2_POINTS, + TECHWEB_NODE_EXPLOSIVES = TECHWEB_TIER_3_POINTS, + TECHWEB_NODE_MECH_ENERGY_GUNS = TECHWEB_TIER_4_POINTS, + TECHWEB_NODE_MECH_FIREARMS = TECHWEB_TIER_5_POINTS, + TECHWEB_NODE_MECH_HEAVY_ARMS = TECHWEB_TIER_5_POINTS, ) /datum/scientific_partner/medical @@ -44,24 +51,27 @@ /datum/experiment/ordnance/gaseous/bz, ) boostable_nodes = list( - 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, + TECHWEB_NODE_CYBER_ORGANS = TECHWEB_TIER_2_POINTS, + TECHWEB_NODE_CYBER_ORGANS_UPGRADED = TECHWEB_TIER_3_POINTS, + TECHWEB_NODE_MEDBAY_EQUIP_ADV = TECHWEB_TIER_3_POINTS, + TECHWEB_NODE_CYTOLOGY = TECHWEB_TIER_3_POINTS, + TECHWEB_NODE_BORG_MEDICAL = TECHWEB_TIER_3_POINTS, + TECHWEB_NODE_COMBAT_IMPLANTS = TECHWEB_TIER_4_POINTS, ) /datum/scientific_partner/physics name = "NT Physics Quarterly" flufftext = "A prestigious physics journal managed by Nanotrasen. The main journal for publishing cutting-edge physics research conducted by Nanotrasen, given that they aren't classified." accepted_experiments = list( + /datum/experiment/ordnance/gaseous/bz, + /datum/experiment/ordnance/explosive/hydrogenbomb, /datum/experiment/ordnance/gaseous/noblium, /datum/experiment/ordnance/explosive/nobliumbomb, ) boostable_nodes = list( - 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, + TECHWEB_NODE_PARTS_ADV = TECHWEB_TIER_3_POINTS, + TECHWEB_NODE_BLUESPACE_TRAVEL = TECHWEB_TIER_3_POINTS, + TECHWEB_NODE_ANOMALY_RESEARCH = TECHWEB_TIER_3_POINTS, + TECHWEB_NODE_TELECOMS = TECHWEB_TIER_5_POINTS, + TECHWEB_NODE_MECH_EQUIP_BLUESPACE = TECHWEB_TIER_5_POINTS, ) diff --git a/code/modules/research/techweb/nodes/atmos_nodes.dm b/code/modules/research/techweb/nodes/atmos_nodes.dm index ef4fee5ed92..f1ec74b50f4 100644 --- a/code/modules/research/techweb/nodes/atmos_nodes.dm +++ b/code/modules/research/techweb/nodes/atmos_nodes.dm @@ -42,6 +42,12 @@ "pneumatic_seal", ) research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_1_POINTS) + experiments_to_unlock = list( + /datum/experiment/ordnance/gaseous/plasma, + /datum/experiment/ordnance/gaseous/nitrous_oxide, + /datum/experiment/ordnance/gaseous/bz, + /datum/experiment/ordnance/gaseous/noblium, + ) /datum/techweb_node/plasma_control id = TECHWEB_NODE_PLASMA_CONTROL @@ -77,7 +83,6 @@ "crystallizer", ) research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_3_POINTS) - required_experiments = list(/datum/experiment/ordnance/gaseous/bz) discount_experiments = list(/datum/experiment/ordnance/gaseous/nitrous_oxide = TECHWEB_TIER_3_POINTS) /datum/techweb_node/exp_tools @@ -99,7 +104,7 @@ "magboots", ) research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_4_POINTS) - discount_experiments = list(/datum/experiment/ordnance/gaseous/noblium = TECHWEB_TIER_4_POINTS) + discount_experiments = list(/datum/experiment/ordnance/gaseous/bz = TECHWEB_TIER_4_POINTS) /datum/techweb_node/rcd_upgrade id = TECHWEB_NODE_RCD_UPGRADE @@ -116,3 +121,4 @@ "rpd_upgrade_unwrench", ) research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_5_POINTS) + discount_experiments = list(/datum/experiment/ordnance/gaseous/noblium = TECHWEB_TIER_5_POINTS) diff --git a/code/modules/research/techweb/nodes/biology_nodes.dm b/code/modules/research/techweb/nodes/biology_nodes.dm index 3599dfb9fc5..7b553445a9c 100644 --- a/code/modules/research/techweb/nodes/biology_nodes.dm +++ b/code/modules/research/techweb/nodes/biology_nodes.dm @@ -44,7 +44,7 @@ "limbdesign_plasmaman", ) research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_3_POINTS) - required_experiments = list(/datum/experiment/scanning/cytology/slime) + discount_experiments = list(/datum/experiment/scanning/cytology/slime = TECHWEB_TIER_3_POINTS) /datum/techweb_node/gene_engineering id = TECHWEB_NODE_GENE_ENGINEERING diff --git a/code/modules/research/techweb/nodes/mech_nodes.dm b/code/modules/research/techweb/nodes/mech_nodes.dm index d6b7171d55b..b09957076d7 100644 --- a/code/modules/research/techweb/nodes/mech_nodes.dm +++ b/code/modules/research/techweb/nodes/mech_nodes.dm @@ -254,7 +254,7 @@ research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_5_POINTS) /datum/techweb_node/mech_equip_bluespace - id = TECHWEB_NODE_BLUESPACE + id = TECHWEB_NODE_MECH_EQUIP_BLUESPACE display_name = "Bluespace Exosuit Equipment" description = "An array of equipment empowered by bluespace, providing unmatched mobility and utility." prereq_ids = list(TECHWEB_NODE_MECH_INFILTRATOR, TECHWEB_NODE_BLUESPACE_TRAVEL) diff --git a/code/modules/research/techweb/nodes/medbay_nodes.dm b/code/modules/research/techweb/nodes/medbay_nodes.dm index f5b122ccd28..fababbc55e7 100644 --- a/code/modules/research/techweb/nodes/medbay_nodes.dm +++ b/code/modules/research/techweb/nodes/medbay_nodes.dm @@ -84,7 +84,7 @@ id = TECHWEB_NODE_CRYOSTASIS display_name = "Cryostasis" description = "The result of clown accidentally drinking a chemical, now repurposed for safely preserving crew members in suspended animation." - prereq_ids = list(TECHWEB_NODE_FUSION) + prereq_ids = list(TECHWEB_NODE_MEDBAY_EQUIP_ADV, TECHWEB_NODE_FUSION) design_ids = list( "cryotube", "mech_sleeper",