mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2025-12-11 10:11:09 +00:00
## About The Pull Request It seems the abductor tech `required_items_to_unlock` assumed that subtypes of the given typepaths were included. This is not the case - as a result, things like the abductor device circuit boards, mental interface device, silencer, science tool, and omnitool would not unlock alien tech in the experimentor.. ## Why It's Good For The Game stuff working as intended is good. ## Changelog 🆑 fix: Abductor doohickeys (i.e abductor device circuit boards, mental interface device, silencer, science tool, and omnitool) now properly unlock alien tech via the experimentor. /🆑
115 lines
3.4 KiB
Plaintext
115 lines
3.4 KiB
Plaintext
// Simple define to avoid copy-pasting the same code 3 times
|
|
#define ABDUCTOR_SUBTYPE_UNLOCKS(X) \
|
|
##X/New() { \
|
|
. = ..(); \
|
|
required_items_to_unlock += subtypesof(/obj/item/abductor); \
|
|
required_items_to_unlock += subtypesof(/obj/item/circuitboard/machine/abductor); \
|
|
}
|
|
|
|
/datum/techweb_node/alientech //AYYYYYYYYLMAOO tech
|
|
id = TECHWEB_NODE_ALIENTECH
|
|
display_name = "Alien Technology"
|
|
description = "Things used by the greys."
|
|
prereq_ids = list(TECHWEB_NODE_BLUESPACE_TRAVEL)
|
|
required_items_to_unlock = list(
|
|
/obj/item/stack/sheet/mineral/abductor,
|
|
/obj/item/cautery/alien,
|
|
/obj/item/circular_saw/alien,
|
|
/obj/item/crowbar/abductor,
|
|
/obj/item/gun/energy/alien,
|
|
/obj/item/gun/energy/shrink_ray,
|
|
/obj/item/hemostat/alien,
|
|
/obj/item/melee/baton/abductor,
|
|
/obj/item/multitool/abductor,
|
|
/obj/item/retractor/alien,
|
|
/obj/item/scalpel/alien,
|
|
/obj/item/screwdriver/abductor,
|
|
/obj/item/surgicaldrill/alien,
|
|
/obj/item/weldingtool/abductor,
|
|
/obj/item/wirecutters/abductor,
|
|
/obj/item/wrench/abductor,
|
|
)
|
|
design_ids = list(
|
|
"alienalloy",
|
|
)
|
|
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_2_POINTS)
|
|
hidden = TRUE
|
|
|
|
ABDUCTOR_SUBTYPE_UNLOCKS(/datum/techweb_node/alientech)
|
|
|
|
/datum/techweb_node/alientech/on_station_research()
|
|
. = ..()
|
|
SSshuttle.shuttle_purchase_requirements_met[SHUTTLE_UNLOCK_ALIENTECH] = TRUE
|
|
|
|
/datum/techweb_node/alien_engi
|
|
id = TECHWEB_NODE_ALIEN_ENGI
|
|
display_name = "Alien Engineering"
|
|
description = "Alien engineering tools"
|
|
prereq_ids = list(TECHWEB_NODE_ALIENTECH, TECHWEB_NODE_EXP_TOOLS)
|
|
design_ids = list(
|
|
"alien_crowbar",
|
|
"alien_multitool",
|
|
"alien_screwdriver",
|
|
"alien_welder",
|
|
"alien_wirecutters",
|
|
"alien_wrench",
|
|
)
|
|
required_items_to_unlock = list(
|
|
/obj/item/crowbar/abductor,
|
|
/obj/item/gun/energy/shrink_ray,
|
|
/obj/item/melee/baton/abductor,
|
|
/obj/item/multitool/abductor,
|
|
/obj/item/screwdriver/abductor,
|
|
/obj/item/weldingtool/abductor,
|
|
/obj/item/wirecutters/abductor,
|
|
/obj/item/wrench/abductor,
|
|
)
|
|
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_2_POINTS)
|
|
hidden = TRUE
|
|
announce_channels = list(RADIO_CHANNEL_ENGINEERING)
|
|
|
|
ABDUCTOR_SUBTYPE_UNLOCKS(/datum/techweb_node/alien_engi)
|
|
|
|
/datum/techweb_node/alien_surgery
|
|
id = TECHWEB_NODE_ALIEN_SURGERY
|
|
display_name = "Alien Surgery"
|
|
description = "Abductors did nothing wrong."
|
|
prereq_ids = list(TECHWEB_NODE_ALIENTECH, TECHWEB_NODE_SURGERY_TOOLS)
|
|
design_ids = list(
|
|
"alien_cautery",
|
|
"alien_drill",
|
|
"alien_hemostat",
|
|
"alien_retractor",
|
|
"alien_saw",
|
|
"alien_scalpel",
|
|
"surgery_brainwashing",
|
|
"surgery_brainwashing_mechanic",
|
|
"surgery_heal_combo_upgrade_femto",
|
|
"surgery_zombie",
|
|
)
|
|
required_items_to_unlock = list(
|
|
/obj/item/cautery/alien,
|
|
/obj/item/circular_saw/alien,
|
|
/obj/item/crowbar/abductor,
|
|
/obj/item/gun/energy/alien,
|
|
/obj/item/gun/energy/shrink_ray,
|
|
/obj/item/hemostat/alien,
|
|
/obj/item/melee/baton/abductor,
|
|
/obj/item/multitool/abductor,
|
|
/obj/item/retractor/alien,
|
|
/obj/item/scalpel/alien,
|
|
/obj/item/screwdriver/abductor,
|
|
/obj/item/surgicaldrill/alien,
|
|
/obj/item/weldingtool/abductor,
|
|
/obj/item/wirecutters/abductor,
|
|
/obj/item/wrench/abductor,
|
|
)
|
|
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_5_POINTS)
|
|
discount_experiments = list(/datum/experiment/scanning/points/slime/hard = TECHWEB_TIER_5_POINTS)
|
|
hidden = TRUE
|
|
announce_channels = list(RADIO_CHANNEL_MEDICAL)
|
|
|
|
ABDUCTOR_SUBTYPE_UNLOCKS(/datum/techweb_node/alien_surgery)
|
|
|
|
#undef ABDUCTOR_SUBTYPE_UNLOCKS
|