diff --git a/code/game/objects/items/stacks/stack.dm b/code/game/objects/items/stacks/stack.dm index 41c2946a0c1..592da1081bd 100644 --- a/code/game/objects/items/stacks/stack.dm +++ b/code/game/objects/items/stacks/stack.dm @@ -194,20 +194,24 @@ /obj/item/stack/proc/get_max_amount() return max_amount +/obj/item/stack/proc/split(mob/user, amt) + var/obj/item/stack/F = new src.type(user, amt) + F.copy_evidences(src) + if(isliving(user)) + add_fingerprint(user) + F.add_fingerprint(user) + use(amt) + return F + /obj/item/stack/attack_hand(mob/user as mob) if (user.get_inactive_hand() == src) - var/obj/item/stack/F = new src.type( user, 1) - F.copy_evidences(src) + var/obj/item/stack/F = split(user, 1) user.put_in_hands(F) - src.add_fingerprint(user) - F.add_fingerprint(user) - use(1) - if (src && usr.machine==src) - spawn(0) src.interact(usr) + if(src && usr.machine == src) + spawn(0) + interact(usr) else ..() - update_icon() - return /obj/item/stack/attackby(obj/item/W as obj, mob/user as mob, params) ..() diff --git a/code/modules/power/cable.dm b/code/modules/power/cable.dm index 8208635f577..863b231f25a 100644 --- a/code/modules/power/cable.dm +++ b/code/modules/power/cable.dm @@ -520,6 +520,11 @@ obj/structure/cable/proc/cableColor(var/colorC) else return ..() +/obj/item/stack/cable_coil/split() + var/obj/item/stack/cable_coil/C = ..() + C.color = color + return C + /obj/item/stack/cable_coil/update_icon() if (!color) color = pick(COLOR_RED, COLOR_BLUE, COLOR_GREEN, COLOR_ORANGE, COLOR_WHITE, COLOR_PINK, COLOR_YELLOW, COLOR_CYAN) @@ -600,27 +605,6 @@ obj/structure/cable/proc/cableColor(var/colorC) src.use(amt) return -//remove cables from the stack -/* This is probably reduntant -/obj/item/stack/cable_coil/use(var/used) - if(src.amount < used) - return 0 - else if (src.amount == used) - if(ismob(loc)) //handle mob icon update - var/mob/M = loc - M.unEquip(src) - qdel(src) - return 1 - else - amount -= used - update_icon() - return 1 -*/ -/obj/item/stack/cable_coil/use(var/used) - . = ..() - update_icon() - return - //add cables to the stack /obj/item/stack/cable_coil/proc/give(var/extra) if(amount + extra > MAXCOIL)