mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2025-12-14 03:32:00 +00:00
## About The Pull Request This PR adds a new station trait that does the following - Disables HoS as a job - Lowers Security Officer slots from 5 to 2 - Silicons default to Robocop lawset and have access to sec borgs - Similar to AI law divergency, law boards are removed from the upload - The AI is barred from antag status at a code level (this does not stop subversion but it does stop malf) ## Why It's Good For The Game The problem with security borgs was that they would often follow spacelaw instead of their actual laws, it was suggested to me that I make a station trait that puts them on robocop and allows them to pick the model, this has the benefit of making them not available every round, but still available sometimes outside of admin bus. Tweaks and changes for things like how common this trait is can be adjusted in the future of course! ## Proof Of Testing https://github.com/user-attachments/assets/de849f59-517e-4a7b-bc11-79b512142717 <details> <summary>Screenshots/Videos</summary> </details> ## Changelog 🆑 add: adds a new station trait - HoS AI /🆑 --------- Co-authored-by: The Sharkening <95130227+StrangeWeirdKitten@users.noreply.github.com> Co-authored-by: LT3 <83487515+lessthnthree@users.noreply.github.com>
102 lines
2.8 KiB
Plaintext
102 lines
2.8 KiB
Plaintext
/datum/techweb_node/robotics
|
|
id = TECHWEB_NODE_ROBOTICS
|
|
starting_node = TRUE
|
|
display_name = "Robotics"
|
|
description = "Programmable machines that make our lives lazier."
|
|
design_ids = list(
|
|
"botnavbeacon",
|
|
"mechfab",
|
|
"paicard",
|
|
)
|
|
|
|
/datum/techweb_node/exodrone
|
|
id = TECHWEB_NODE_EXODRONE
|
|
display_name = "Exploration Drones"
|
|
description = "Adapted arcade machines to covertly harness gamers' skills in controlling real drones for practical purposes."
|
|
prereq_ids = list(TECHWEB_NODE_ROBOTICS)
|
|
design_ids = list(
|
|
"exodrone_console",
|
|
"exodrone_launcher",
|
|
"exoscanner",
|
|
"exoscanner_console",
|
|
)
|
|
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_1_POINTS)
|
|
|
|
// AI root node
|
|
/datum/techweb_node/ai
|
|
id = TECHWEB_NODE_AI
|
|
display_name = "Artificial Intelligence"
|
|
description = "Exploration of AI systems, more intelligent than the entire crew put together."
|
|
prereq_ids = list(TECHWEB_NODE_ROBOTICS)
|
|
design_ids = list(
|
|
"aicore",
|
|
"aifixer",
|
|
"aiupload",
|
|
"asimov_module",
|
|
"borg_ai_control",
|
|
"corporate_module",
|
|
"default_module",
|
|
"drone_module",
|
|
"freeform_module",
|
|
"intellicard",
|
|
"mecha_tracking_ai_control",
|
|
"nutimov_module",
|
|
"oxygen_module",
|
|
"paladin_module",
|
|
"protectstation_module",
|
|
"quarantine_module",
|
|
"remove_module",
|
|
"reset_module",
|
|
"robocop_module",
|
|
"safeguard_module",
|
|
)
|
|
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_1_POINTS)
|
|
announce_channels = list(RADIO_CHANNEL_SCIENCE)
|
|
|
|
/datum/techweb_node/ai/New()
|
|
. = ..()
|
|
if(HAS_TRAIT(SSstation, STATION_TRAIT_HUMAN_AI))
|
|
design_ids -= list(
|
|
"aicore",
|
|
"aifixer",
|
|
"aiupload",
|
|
"borg_ai_control",
|
|
"intellicard",
|
|
"mecha_tracking_ai_control",
|
|
)
|
|
else if(HAS_TRAIT(SSstation, STATION_TRAIT_UNIQUE_AI) || HAS_TRAIT(SSstation, STATION_TRAIT_HOS_AI)) //Bubber edit HoS AI station trait
|
|
research_costs[TECHWEB_POINT_TYPE_GENERIC] *= 3
|
|
|
|
/datum/techweb_node/ai_laws
|
|
id = TECHWEB_NODE_AI_LAWS
|
|
display_name = "Advanced AI Upgrades"
|
|
description = "Delving into sophisticated AI directives, with hopes that they won't lead to humanity's extinction."
|
|
prereq_ids = list(TECHWEB_NODE_AI)
|
|
design_ids = list(
|
|
"ai_power_upgrade",
|
|
"antimov_module",
|
|
"asimovpp_module",
|
|
"balance_module",
|
|
"damaged_module",
|
|
"dungeon_master_module",
|
|
"freeformcore_module",
|
|
"hippocratic_module",
|
|
"hulkamania_module",
|
|
"liveandletlive_module",
|
|
"maintain_module",
|
|
"onehuman_module",
|
|
"overlord_module",
|
|
"painter_module",
|
|
"paladin_devotion_module",
|
|
"peacekeeper_module",
|
|
"purge_module",
|
|
"reporter_module",
|
|
"ten_commandments_module",
|
|
"thermurderdynamic_module",
|
|
"thinkermov_module",
|
|
"tyrant_module",
|
|
"yesman_module",
|
|
)
|
|
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_3_POINTS)
|
|
announce_channels = list(RADIO_CHANNEL_SCIENCE, RADIO_CHANNEL_COMMAND)
|