mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-08-24 21:40:55 +01:00
Drill Gripper Additions (#10742)
This commit is contained in:
@@ -16,7 +16,7 @@
|
||||
/obj/structure/ore_box/attackby(obj/item/W, mob/user)
|
||||
if(istype(W, /obj/item/ore))
|
||||
user.drop_from_inventory(W, src)
|
||||
if(istype(W, /obj/item/storage/bag/ore))
|
||||
else if(istype(W, /obj/item/storage/bag/ore))
|
||||
var/obj/item/storage/bag/ore/satchel = W
|
||||
if(satchel.linked_beacon)
|
||||
if(!warp_core)
|
||||
@@ -25,7 +25,7 @@
|
||||
satchel.linked_box = src
|
||||
to_chat(user, SPAN_NOTICE("You link \the [satchel] to \the [src]."))
|
||||
return
|
||||
if(istype(W, /obj/item/storage))
|
||||
else if(istype(W, /obj/item/storage))
|
||||
var/obj/item/storage/S = W
|
||||
S.hide_from(user)
|
||||
for(var/obj/item/ore/O in S.contents)
|
||||
@@ -33,13 +33,23 @@
|
||||
CHECK_TICK
|
||||
S.post_remove_from_storage_deferred(loc, user)
|
||||
to_chat(user, SPAN_NOTICE("You empty the satchel into the box."))
|
||||
if(istype(W, /obj/item/warp_core))
|
||||
else if(istype(W, /obj/item/warp_core))
|
||||
if(warp_core)
|
||||
to_chat(user, SPAN_WARNING("\The [src] already has a warp core attached!"))
|
||||
return
|
||||
user.drop_from_inventory(W, src)
|
||||
warp_core = W
|
||||
to_chat(user, SPAN_NOTICE("You carefully attach \the [W] to \the [src], connecting it to the bluespace network."))
|
||||
else if(istype(W, /obj/item/gripper/miner)) // myazaki's gonna be so mad at me
|
||||
var/obj/item/gripper/miner/GM = W
|
||||
if(!warp_core)
|
||||
to_chat(user, SPAN_WARNING("\The [src] has no warp core to detach."))
|
||||
return
|
||||
// we don't need to check if it has a held item because the gripper code attacks with the held item if it has one, not the gripper itself
|
||||
warp_core.forceMove(get_turf(src))
|
||||
GM.grip_item(warp_core, user, FALSE)
|
||||
to_chat(user, SPAN_NOTICE("You detach \the [warp_core] from \the [src], disconnecting it from the bluespace network."))
|
||||
warp_core = null
|
||||
|
||||
update_ore_count()
|
||||
return
|
||||
|
||||
@@ -57,6 +57,8 @@
|
||||
if(istype(I,typepath))
|
||||
if(feedback)
|
||||
to_chat(user, SPAN_NOTICE("You collect \the [I]."))
|
||||
if(isturf(I.loc) && I.Adjacent(user))
|
||||
I.do_pickup_animation(user)
|
||||
I.forceMove(src)
|
||||
wrapped = I
|
||||
wrapped.pixel_x = 0
|
||||
@@ -179,13 +181,15 @@
|
||||
// VEEEEERY limited version for mining borgs. Basically only for swapping cells, upgrading the drills, and upgrading custom KAs.
|
||||
/obj/item/gripper/miner
|
||||
name = "drill maintenance gripper"
|
||||
desc = "A simple grasping tool for the maintenance of heavy drilling machines."
|
||||
desc = "A simple grasping tool for the maintenance and upgrade of heavy drilling machines."
|
||||
icon_state = "gripper-mining"
|
||||
|
||||
can_hold = list(
|
||||
/obj/item/cell,
|
||||
/obj/item/stock_parts,
|
||||
/obj/item/custom_ka_upgrade
|
||||
/obj/item/custom_ka_upgrade,
|
||||
/obj/item/warp_core,
|
||||
/obj/item/extraction_pack
|
||||
)
|
||||
|
||||
/obj/item/gripper/paperwork
|
||||
|
||||
Reference in New Issue
Block a user