Files
Bubberstation/code/modules/research/techweb/nodes/research_nodes.dm
Ghom 14ed7f5abb Automated announcement systems now announce researched nodes. (#86093)
## About The Pull Request
The idea was born from a small conversation about bepis nodes having low
visibility, which somehow degressed into the idea of announcing
researched nodes to the channels of the interested departments thru the
announcement system machine, which is what I'm doing here, while also
adding documentation, defines and purging some, not all, instances of
camel cases from announcement_system.dm.

Oh, by the by, like the arrival and new head arrival messages, it can be
customized or disabled by interacting with the announcement system.

## Why It's Good For The Game
I think it's helpful to let players know when the research of their dept
is researched, and I think it's kinda interesting to announce bepis tech
on common like it's some hot stuff while it actually isn't just because
it's often missed out and miscellaneous.

## Changelog

🆑
add: Automated announcement systems now announce researched nodes to
their respective departments. You can stop this by either disabling the
announcement systems or by using a multitool on the circuitboard of the
console you're researching nodes from.
/🆑
2024-09-15 11:57:00 -07:00

102 lines
3.5 KiB
Plaintext

/datum/techweb_node/fundamental_sci
id = TECHWEB_NODE_FUNDIMENTAL_SCI
starting_node = TRUE
display_name = "Fundamental Science"
description = "Establishing the bedrock of scientific understanding, paving the way for deeper exploration and theoretical inquiry."
design_ids = list(
"rdserver",
"rdservercontrol",
"rdconsole",
"tech_disk",
"doppler_array",
"experimentor",
"destructive_analyzer",
"destructive_scanner",
"experi_scanner",
"laptop",
"portadrive_basic",
"portadrive_advanced",
"portadrive_super",
)
/datum/techweb_node/bluespace_theory
id = TECHWEB_NODE_BLUESPACE_THEORY
display_name = "Bluespace Theory"
description = "Basic studies into the mysterious alternate dimension known as bluespace."
prereq_ids = list(TECHWEB_NODE_FUNDIMENTAL_SCI)
design_ids = list(
"bluespace_crystal",
)
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_1_POINTS)
announce_channels = list(RADIO_CHANNEL_SCIENCE)
/datum/techweb_node/applied_bluespace
id = TECHWEB_NODE_APPLIED_BLUESPACE
display_name = "Applied Bluespace Research"
description = "With a heightened grasp of bluespace dynamics, sophisticated applications and technologies can be devised using data from bluespace crystal analyses."
prereq_ids = list(TECHWEB_NODE_BLUESPACE_THEORY)
design_ids = list(
"ore_silo",
"minerbag_holding",
"plumbing_receiver",
"bluespacebeaker",
"adv_watering_can",
"bluespace_coffeepot",
"bluespacesyringe",
"blutrash",
"light_replacer_blue",
"bluespacebodybag",
"gigabeacon",
)
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_2_POINTS)
required_experiments = list(/datum/experiment/scanning/points/bluespace_crystal)
announce_channels = list(RADIO_CHANNEL_SCIENCE, RADIO_CHANNEL_MEDICAL, RADIO_CHANNEL_SERVICE, RADIO_CHANNEL_SUPPLY)
/datum/techweb_node/bluespace_travel
id = TECHWEB_NODE_BLUESPACE_TRAVEL
display_name = "Bluespace Travel"
description = "Facilitate teleportation methods based on bluespace principles to revolutionize logistical efficiency."
prereq_ids = list(TECHWEB_NODE_APPLIED_BLUESPACE)
design_ids = list(
"teleconsole",
"tele_station",
"tele_hub",
"launchpad_console",
"quantumpad",
"launchpad",
"bluespace_pod",
"quantum_keycard",
"swapper",
)
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_3_POINTS)
announce_channels = list(RADIO_CHANNEL_SCIENCE)
/datum/techweb_node/anomaly_research
id = TECHWEB_NODE_ANOMALY_RESEARCH
display_name = "Anomaly Research"
description = "Delving into the study of mysterious anomalies to investigate methods to refine and harness their unpredictable energies."
prereq_ids = list(TECHWEB_NODE_APPLIED_BLUESPACE)
design_ids = list(
"anomaly_refinery",
"anomaly_neutralizer",
"reactive_armour",
)
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_3_POINTS)
announce_channels = list(RADIO_CHANNEL_SCIENCE)
/datum/techweb_node/anomaly_shells
id = TECHWEB_NODE_ANOMALY_SHELLS
display_name = "Advanced Anomaly Shells"
description = "New shells designed to utilize anomaly cores, maximizing their potential in innovative ways."
prereq_ids = list(TECHWEB_NODE_ANOMALY_RESEARCH)
design_ids = list(
"bag_holding",
"cybernetic_heart_anomalock",
"wormholeprojector",
"gravitygun",
"polymorph_belt"
)
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_5_POINTS)
discount_experiments = list(/datum/experiment/scanning/points/anomalies = TECHWEB_TIER_5_POINTS)
announce_channels = list(RADIO_CHANNEL_SCIENCE)