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

115 lines
3.3 KiB
Plaintext

/datum/techweb_node/basic_arms
id = TECHWEB_NODE_BASIC_ARMS
starting_node = TRUE
display_name = "Basic Arms"
description = "Ballistics can be unpredictable in space."
design_ids = list(
"toy_armblade",
"toygun",
"c38_rubber",
"sec_38",
"capbox",
"foam_dart",
"sec_beanbag_slug",
"sec_dart",
"sec_Islug",
"sec_rshot",
)
/datum/techweb_node/sec_equip
id = TECHWEB_NODE_SEC_EQUIP
display_name = "Security Equipment"
description = "All the essentials to subdue a mime."
prereq_ids = list(TECHWEB_NODE_BASIC_ARMS)
design_ids = list(
"secdata",
"mining",
"prisonmanage",
"rdcamera",
"seccamera",
"security_photobooth",
"photobooth",
"scanner_gate",
"pepperspray",
"dragnet_beacon",
"inspector",
"evidencebag",
"zipties",
"seclite",
"electropack",
)
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_1_POINTS)
announce_channels = list(RADIO_CHANNEL_SECURITY)
/datum/techweb_node/riot_supression
id = TECHWEB_NODE_RIOT_SUPRESSION
display_name = "Riot Supression"
description = "When you are on the opposing side of a revolutionary movement."
prereq_ids = list(TECHWEB_NODE_SEC_EQUIP)
design_ids = list(
"clown_firing_pin",
"pin_testing",
"pin_loyalty",
"tele_shield",
"ballistic_shield",
"handcuffs_s",
"bola_energy",
)
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_2_POINTS)
announce_channels = list(RADIO_CHANNEL_SECURITY)
/datum/techweb_node/explosives
id = TECHWEB_NODE_EXPLOSIVES
display_name = "Explosives"
description = "For once, intentional explosions."
prereq_ids = list(TECHWEB_NODE_RIOT_SUPRESSION)
design_ids = list(
"large_grenade",
"adv_grenade",
"pyro_grenade",
)
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_3_POINTS)
required_experiments = list(/datum/experiment/ordnance/explosive/lowyieldbomb)
announce_channels = list(RADIO_CHANNEL_SECURITY, RADIO_CHANNEL_MEDICAL)
/datum/techweb_node/exotic_ammo
id = TECHWEB_NODE_EXOTIC_AMMO
display_name = "Exotic Ammunition"
description = "Specialized bullets designed to ignite, freeze, and inflict various other effects on targets, expanding combat capabilities."
prereq_ids = list(TECHWEB_NODE_EXPLOSIVES)
design_ids = list(
"c38_hotshot",
"c38_iceblox",
"techshotshell",
)
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_4_POINTS)
discount_experiments = list(/datum/experiment/ordnance/explosive/highyieldbomb = TECHWEB_TIER_4_POINTS)
announce_channels = list(RADIO_CHANNEL_SECURITY)
/datum/techweb_node/electric_weapons
id = TECHWEB_NODE_ELECTRIC_WEAPONS
display_name = "Electric Weaponry"
description = "Energy-based weaponry designed for both lethal and non-lethal applications."
prereq_ids = list(TECHWEB_NODE_RIOT_SUPRESSION)
design_ids = list(
"stunrevolver",
"ioncarbine",
"temp_gun",
"lasershell",
)
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_3_POINTS)
announce_channels = list(RADIO_CHANNEL_SECURITY)
/datum/techweb_node/beam_weapons
id = TECHWEB_NODE_BEAM_WEAPONS
display_name = "Advanced Beam Weaponry"
description = "So advanced, even engineers are baffled by its operational principles."
prereq_ids = list(TECHWEB_NODE_ELECTRIC_WEAPONS)
design_ids = list(
"xray_laser",
"nuclear_gun",
)
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_4_POINTS)
announce_channels = list(RADIO_CHANNEL_SECURITY)