[MIRROR] better robot mining scanner (#10039)

Co-authored-by: Kashargul <144968721+Kashargul@users.noreply.github.com>
This commit is contained in:
CHOMPStation2StaffMirrorBot
2025-02-01 13:20:19 -07:00
committed by GitHub
parent 8e5b4c0540
commit b01ab3974d
5 changed files with 44 additions and 3 deletions

View File

@@ -58,6 +58,12 @@
var/icon/F = getFlatIcon(M, defdir = SOUTH, no_anim = TRUE)
front = "'data:image/png;base64,[icon2base64(F)]'"
/obj/item/card/id/proc/adjust_mining_points(var/points)
if(mining_points + points < 0)
return FALSE
mining_points += points
return TRUE
/mob/proc/set_id_info(var/obj/item/card/id/id_card)
id_card.age = 0
id_card.registered_name = real_name

View File

@@ -125,7 +125,7 @@
if("claim")
if(istype(inserted_id))
if(access_mining_station in inserted_id.GetAccess())
inserted_id.mining_points += machine.points
inserted_id.adjust_mining_points(machine.points)
machine.points = 0
else
to_chat(ui.user, span_warning("Required access not found."))

View File

@@ -182,7 +182,7 @@
return target.mining_points
/obj/machinery/mineral/equipment_vendor/proc/remove_points(obj/item/card/id/target, amt)
target.mining_points -= amt
target.adjust_mining_points(-amt)
/obj/machinery/mineral/equipment_vendor/tgui_static_data(mob/user)
var/list/static_data[0]

View File

@@ -522,3 +522,38 @@
R = null
last_robot_loc = null
..()
/obj/item/mining_scanner/robot
name = "integrated deep scan device"
description_info = "This scanner can be upgraded for mining points."
var/upgrade_cost = 2500
/obj/item/mining_scanner/robot/attackby(obj/item/O, mob/user)
if(exact)
return
if(!istype(O, /obj/item/card/id/cargo/miner/borg))
return
if(!(user == loc || user == loc.loc))
return
var/obj/item/card/id/cargo/miner/borg/id = O
if(!id.adjust_mining_points(-upgrade_cost))
return
upgrade(user)
/obj/item/mining_scanner/robot/proc/upgrade(mob/user)
desc = "An advanced device used to locate ore deep underground."
description_info = "This scanner has variable range, you can use the Set Scanner Range verb, or alt+click the device. Drills dig in 5x5."
scan_time = 0.5 SECONDS
exact = TRUE
to_chat(user, span_notice("You've upgraded the mining scanner for [upgrade_cost] points."))
/obj/item/mining_scanner/robot/AltClick(mob/user)
change_size(user)
/obj/item/mining_scanner/robot/proc/change_size(mob/user)
if(!exact)
return
var/custom_range = tgui_input_list(user, "Scanner Range","Pick a range to scan. ", list(0,1,2,3,4,5,6,7))
if(custom_range)
range = custom_range
to_chat(user, span_notice("Scanner will now look up to [range] tile(s) away."))

View File

@@ -722,7 +722,7 @@ var/global/list/robot_modules = list(
src.modules += new /obj/item/pickaxe/borgdrill(src)
src.modules += new /obj/item/storage/bag/sheetsnatcher/borg(src)
src.modules += new /obj/item/gripper/miner(src)
src.modules += new /obj/item/mining_scanner(src)
src.modules += new /obj/item/mining_scanner/robot(src)
src.modules += new /obj/item/card/id/cargo/miner/borg(src)
src.modules += new /obj/item/gun/energy/robotic/phasegun(src) //CHOMPedit: Phasegun for regular mining cyborg.
src.modules += new /obj/item/vac_attachment(src) //CHOMPAdd