Files
Bubberstation/code/modules/research/techweb/nodes/atmos_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

130 lines
4.0 KiB
Plaintext

/datum/techweb_node/atmos
id = TECHWEB_NODE_ATMOS
starting_node = TRUE
display_name = "Atmospherics"
description = "Maintaining station air and related life support systems."
design_ids = list(
"atmos_control",
"atmosalerts",
"thermomachine",
"space_heater",
"scrubber",
"generic_tank",
"oxygen_tank",
"plasma_tank",
"plasmaman_tank_belt",
"plasmarefiller",
"extinguisher",
"gas_filter",
"plasmaman_gas_filter",
"analyzer",
"pipe_painter",
)
/datum/techweb_node/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(TECHWEB_NODE_ATMOS)
design_ids = list(
"tank_compressor",
"pump",
"emergency_oxygen",
"emergency_oxygen_engi",
"power_turbine_console",
"turbine_part_compressor",
"turbine_part_rotor",
"turbine_part_stator",
"turbine_compressor",
"turbine_rotor",
"turbine_stator",
"atmos_thermal",
"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,
)
announce_channels = list(RADIO_CHANNEL_ENGINEERING)
/datum/techweb_node/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(TECHWEB_NODE_GAS_COMPRESSION, TECHWEB_NODE_ENERGY_MANIPULATION)
design_ids = list(
"electrolyzer",
"pipe_scrubber",
"pacman",
"mech_generator",
"plasmacutter",
)
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_2_POINTS)
required_experiments = list(/datum/experiment/ordnance/gaseous/plasma)
announce_channels = list(RADIO_CHANNEL_ENGINEERING)
/datum/techweb_node/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(TECHWEB_NODE_PLASMA_CONTROL)
design_ids = list(
"HFR_core",
"HFR_corner",
"HFR_fuel_input",
"HFR_interface",
"HFR_moderator_input",
"HFR_waste_output",
"adv_fire_extinguisher",
"bolter_wrench",
"rpd_loaded",
"engine_goggles",
"crystallizer",
)
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_3_POINTS)
discount_experiments = list(/datum/experiment/ordnance/gaseous/nitrous_oxide = TECHWEB_TIER_3_POINTS)
announce_channels = list(RADIO_CHANNEL_ENGINEERING)
/datum/techweb_node/exp_tools
id = TECHWEB_NODE_EXP_TOOLS
display_name = "Experimental Tools"
description = "Enhances the functionality and versatility of station tools."
prereq_ids = list(TECHWEB_NODE_FUSION)
design_ids = list(
"flatpacker",
"handdrill",
"exwelder",
"jawsoflife",
"rangedanalyzer",
"rtd_loaded",
"mech_rcd",
"rcd_loaded",
"rcd_ammo",
"weldingmask",
"magboots",
)
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_4_POINTS)
discount_experiments = list(/datum/experiment/ordnance/gaseous/bz = TECHWEB_TIER_4_POINTS)
announce_channels = list(RADIO_CHANNEL_ENGINEERING)
/datum/techweb_node/rcd_upgrade
id = TECHWEB_NODE_RCD_UPGRADE
display_name = "Rapid Construction Device Upgrades"
description = "New designs and enhancements for RCD and RPD."
prereq_ids = list(TECHWEB_NODE_EXP_TOOLS, TECHWEB_NODE_PARTS_BLUESPACE)
design_ids = list(
"rcd_upgrade_silo_link",
"rcd_upgrade_anti_interrupt",
"rcd_upgrade_cooling",
"rcd_upgrade_frames",
"rcd_upgrade_furnishing",
"rcd_upgrade_simple_circuits",
"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)
announce_channels = list(RADIO_CHANNEL_ENGINEERING)