Files
Bubberstation/code/modules/research/techweb/nodes/modsuit_nodes.dm
SpaceLoveSs13 d59f5ad806 Techweb nodes DEFINED & bug fix (#84177)
## About The Pull Request

1. Techweb strings are now defined in
`code/__DEFINES/research/techweb_nodes.dm` many thanks to @ShizCalev
2. All places that used those strings have been updated with the
definitions as well.
3. `code/modules/research/ordnance/scipaper_partner.dm` had some old
boosted ids, they have been updated as well along
with their values.

## Why It's Good For The Game

fixes #84153 

- I found this through a runtime, but basically the boosted nodes missed
unit test checks. Having them defined should in future ensure that any
changes to them alert the maintainers. This will help in furthur
modularizing the code.

- As for the nodes themselves, I have put the exact nodes as much as
possible so they dont differ much from previous gameplay and how they
worked. Researched nodes that used to give points to those experiments,
will continue to do so, but albeit at a slower rate. This is because the
research point generation rate overall now has been increased.

## Changelog
🆑 ShizCalev, SpaceLove
refactor: Techweb strings are defined now so to maintain modularity
balance: Research papers will have less overall point generation.
/🆑

---------

Co-authored-by: ShizCalev <ShizCalev@users.noreply.github.com>
2024-06-27 01:14:57 -04:00

140 lines
4.1 KiB
Plaintext

/datum/techweb_node/mod_suit
id = TECHWEB_NODE_MOD_SUIT
starting_node = TRUE
display_name = "Modular Exosuit"
description = "Specialized back mounted power suits with various different modules."
prereq_ids = list(TECHWEB_NODE_ROBOTICS)
design_ids = list(
"suit_storage_unit",
"mod_shell",
"mod_chestplate",
"mod_helmet",
"mod_gauntlets",
"mod_boots",
"mod_plating_standard",
"mod_paint_kit",
"mod_storage",
"mod_plasma",
"mod_flashlight",
)
/datum/techweb_node/mod_equip
id = TECHWEB_NODE_MOD_EQUIP
display_name = "Modular Suit Equipment"
description = "More advanced modules, to improve modular suits."
prereq_ids = list(TECHWEB_NODE_MOD_SUIT)
design_ids = list(
"modlink_scryer",
"mod_clamp",
"mod_tether",
"mod_welding",
"mod_safety",
"mod_mouthhole",
"mod_longfall",
"mod_thermal_regulator",
"mod_sign_radio",
)
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_1_POINTS)
/datum/techweb_node/mod_entertainment
id = TECHWEB_NODE_MOD_ENTERTAINMENT
display_name = "Entertainment Modular Suit"
description = "Powered suits for protection against low-humor environments."
prereq_ids = list(TECHWEB_NODE_MOD_SUIT)
design_ids = list(
"mod_plating_cosmohonk",
"mod_bikehorn",
"mod_microwave_beam",
"mod_waddle",
)
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_1_POINTS)
/datum/techweb_node/mod_medical
id = TECHWEB_NODE_MOD_MEDICAL
display_name = "Medical Modular Suit"
description = "Medical exosuits for quick rescue purposes."
prereq_ids = list(TECHWEB_NODE_MOD_SUIT, TECHWEB_NODE_CHEM_SYNTHESIS)
design_ids = list(
"mod_plating_medical",
"mod_quick_carry",
"mod_injector",
"mod_organ_thrower",
"mod_patienttransport",
)
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_2_POINTS)
/datum/techweb_node/mod_engi
id = TECHWEB_NODE_MOD_ENGI
display_name = "Engineering Modular Suits"
description = "Engineering suits, for powered engineers."
prereq_ids = list(TECHWEB_NODE_MOD_EQUIP)
design_ids = list(
"mod_plating_engineering",
"mod_t_ray",
"mod_magboot",
"mod_constructor",
"mod_mister_atmos",
)
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_2_POINTS)
/datum/techweb_node/mod_security
id = TECHWEB_NODE_MOD_SECURITY
display_name = "Security Modular Suits"
description = "Security suits for space crime handling."
prereq_ids = list(TECHWEB_NODE_MOD_EQUIP)
design_ids = list(
"mod_plating_security",
"mod_stealth",
"mod_mag_harness",
"mod_pathfinder",
"mod_holster",
"mod_sonar",
"mod_projectile_dampener",
"mod_criminalcapture",
)
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_2_POINTS)
/datum/techweb_node/mod_medical_adv
id = TECHWEB_NODE_MOD_MEDICAL_ADV
display_name = "Field Surgery Modules"
description = "Medical exosuit equipment designed for conducting surgical operations in field conditions."
prereq_ids = list(TECHWEB_NODE_MOD_MEDICAL, TECHWEB_NODE_SURGERY_ADV)
design_ids = list(
"mod_defib",
"mod_threadripper",
"mod_surgicalprocessor",
"mod_statusreadout",
)
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_3_POINTS)
/datum/techweb_node/mod_engi_adv
id = TECHWEB_NODE_MOD_ENGI_ADV
display_name = "Advanced Engineering Modular Suit"
description = "Advanced Engineering suits, for advanced powered engineers."
prereq_ids = list(TECHWEB_NODE_MOD_ENGI)
design_ids = list(
"mod_plating_atmospheric",
"mod_jetpack",
"mod_rad_protection",
"mod_emp_shield",
"mod_storage_expanded",
)
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_3_POINTS)
/datum/techweb_node/mod_engi_adv/New()
if(HAS_TRAIT(SSstation, STATION_TRAIT_RADIOACTIVE_NEBULA)) //we'll really need the rad protection modsuit module
starting_node = TRUE
return ..()
/datum/techweb_node/mod_anomaly
id = TECHWEB_NODE_MOD_ANOMALY
display_name = "Anomalock Modular Suit"
description = "Modules for exosuits that require anomaly cores to function."
prereq_ids = list(TECHWEB_NODE_MOD_ENGI_ADV, TECHWEB_NODE_ANOMALY_RESEARCH)
design_ids = list(
"mod_antigrav",
"mod_teleporter",
"mod_kinesis",
)
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_4_POINTS)