Allows the robot sheet snatcher to be upgraded (#19149)

* Allosws the robot sheet snatcher to be upgraded

* .

* .

* .

* should be there

* .
This commit is contained in:
Kashargul
2026-02-08 17:45:59 +01:00
committed by GitHub
parent 53a508d192
commit 1ba50d0d5a
7 changed files with 234 additions and 185 deletions
+1 -1
View File
@@ -330,7 +330,7 @@
U = UN
if(istype(U, /obj/item/borg/upgrade/restricted))
target.module.supported_upgrades |= new_upgrade
if(!U.action(target))
if(!U.action(ui.user, target))
return FALSE
U.loc = target
target.hud_used?.update_robot_modules_display()
+13 -10
View File
@@ -804,7 +804,7 @@
else if(U.locked)
to_chat(user, span_filter_notice("The upgrade is locked and cannot be used yet!"))
else
if(U.action(src))
if(U.action(user, src))
to_chat(user, span_filter_notice("You apply the upgrade to [src]!"))
user.drop_item()
U.loc = src
@@ -1539,8 +1539,7 @@
return T
else if(!T)
return "" // Return this to have the analyzer show an error if the module is missing. FALSE / NULL are used for missing upgrades themselves
else
return FALSE
return FALSE
if(given_type == /obj/item/borg/upgrade/advanced/jetpack)
return has_upgrade_module(/obj/item/tank/jetpack/carbondioxide)
if(given_type == /obj/item/borg/upgrade/advanced/advhealth)
@@ -1561,24 +1560,28 @@
return T
else if(!T)
return "" // Return this to have the analyzer show an error if the module is missing. FALSE / NULL are used for missing upgrades themselves
else
return FALSE
return FALSE
if(given_type == /obj/item/borg/upgrade/restricted/tasercooler)
var/obj/item/gun/energy/robotic/taser/T = has_upgrade_module(/obj/item/gun/energy/robotic/taser)
if(T && T.recharge_time <= 2)
if(T && T.recharge_time < T::recharge_time)
return T
else if(!T)
return "" // Return this to have the analyzer show an error if the module is missing. FALSE / NULL are used for missing upgrades themselves
else
return FALSE
return FALSE
if(given_type == /obj/item/borg/upgrade/restricted/adv_scanner)
var/obj/item/mining_scanner/robot/robot_scanner = has_upgrade_module(/obj/item/mining_scanner/robot)
if(robot_scanner && robot_scanner.exact)
return robot_scanner
else if(!robot_scanner)
return "" // Return this to have the analyzer show an error if the module is missing. FALSE / NULL are used for missing upgrades themselves
else
return FALSE
return FALSE
if(given_type == /obj/item/borg/upgrade/restricted/adv_snatcher)
var/obj/item/storage/bag/sheetsnatcher/borg/robot_snatcher = has_upgrade_module(/obj/item/storage/bag/sheetsnatcher/borg)
if(robot_snatcher && robot_snatcher.capacity > robot_snatcher::capacity)
return robot_snatcher
else if(!robot_snatcher)
return "" // Return this to have the analyzer show an error if the module is missing. FALSE / NULL are used for missing upgrades themselves
return FALSE
if(given_type == /obj/item/borg/upgrade/restricted/advrped)
return has_upgrade_module(/obj/item/storage/part_replacer/adv)
if(given_type == /obj/item/borg/upgrade/restricted/diamonddrill)
@@ -622,7 +622,7 @@
name = "miner robot module"
channels = list(CHANNEL_SUPPLY = 1)
networks = list(NETWORK_MINE)
supported_upgrades = list(/obj/item/borg/upgrade/restricted/pka, /obj/item/borg/upgrade/restricted/diamonddrill, /obj/item/borg/upgrade/restricted/adv_scanner)
supported_upgrades = list(/obj/item/borg/upgrade/restricted/pka, /obj/item/borg/upgrade/restricted/diamonddrill, /obj/item/borg/upgrade/restricted/adv_scanner, /obj/item/borg/upgrade/restricted/adv_snatcher)
pto_type = PTO_CARGO
/obj/item/robot_module/robot/miner/create_equipment(var/mob/living/silicon/robot/robot)
@@ -488,6 +488,17 @@
materials = list(MAT_STEEL = 6000, MAT_GLASS = 4000, MAT_GOLD = 2000, MAT_VERDANTIUM = 1500, MAT_DIAMOND = 350)
build_path = /obj/item/borg/upgrade/restricted/adv_scanner
/datum/design_techweb/prosfab/robot_upgrade/restricted/adv_snatcher
category = list(
RND_CATEGORY_MECHFAB_CYBORG_MODULES + RND_SUBCATEGORY_MECHFAB_CYBORG_MODULES_RESTRICTED + RND_SUBCATEGORY_MECHFAB_CYBORG_MODULES_MINING
)
name = "Sheet Snatcher Upgrade"
desc = "An upgrade module to expand the robot's sheet storage capacity."
id = "borg_adv_snatcher_module"
// req_tech = list(TECH_ENGINEERING = 7, TECH_MATERIAL = 8, TECH_POWER = 6)
materials = list(MAT_STEEL = 12000, MAT_GLASS = 8000, MAT_PLASTEEL = 2000, MAT_DURASTEEL = 500, MAT_DIAMOND = 700)
build_path = /obj/item/borg/upgrade/restricted/adv_snatcher
/datum/design_techweb/prosfab/robot_upgrade/restricted/tasercooler
category = list(
RND_CATEGORY_MECHFAB_CYBORG_MODULES + RND_SUBCATEGORY_MECHFAB_CYBORG_MODULES_RESTRICTED + RND_SUBCATEGORY_MECHFAB_CYBORG_MODULES_SECURITY
@@ -65,7 +65,6 @@
design_ids = list(
"borg_pka_module",
"pka_mineaoe",
"borg_adv_scanner_module",
// "damagemod",
// "cooldownmod",
// "triggermod",
@@ -102,6 +101,8 @@
"recycler_crusher",
"recycler_sorter",
"recycler_stamper",
"borg_adv_scanner_module",
"borg_adv_snatcher_module",
// "mech_diamond_drill",
)
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_4_POINTS)