/* * Wirecutters */ /obj/item/weapon/tool/wirecutters name = "wirecutters" desc = "This cuts wires." icon = 'icons/obj/tools.dmi' icon_state = "cutters" slot_flags = SLOT_BELT force = 6 throw_speed = 2 throw_range = 9 w_class = ITEMSIZE_SMALL origin_tech = list(TECH_MATERIAL = 1, TECH_ENGINEERING = 1) matter = list(DEFAULT_WALL_MATERIAL = 80) attack_verb = list("pinched", "nipped") hitsound = 'sound/items/wirecutter.ogg' usesound = 'sound/items/wirecutter.ogg' sharp = 1 edge = 1 toolspeed = 1 var/random_color = TRUE /obj/item/weapon/tool/wirecutters/New() if(random_color && prob(50)) icon_state = "cutters-y" item_state = "cutters_yellow" ..() /obj/item/weapon/tool/wirecutters/attack(mob/living/carbon/C as mob, mob/user as mob) if(istype(C) && user.a_intent == I_HELP && (C.handcuffed) && (istype(C.handcuffed, /obj/item/weapon/handcuffs/cable))) usr.visible_message("\The [usr] cuts \the [C]'s restraints with \the [src]!",\ "You cut \the [C]'s restraints with \the [src]!",\ "You hear cable being cut.") C.handcuffed = null if(C.buckled && C.buckled.buckle_require_restraints) C.buckled.unbuckle_mob() C.update_inv_handcuffed() return else ..() /obj/item/weapon/tool/wirecutters/is_wirecutter() return TRUE /obj/item/weapon/tool/wirecutters/alien name = "alien wirecutters" desc = "Extremely sharp wirecutters, made out of a silvery-green metal." icon = 'icons/obj/abductor.dmi' icon_state = "cutters" toolspeed = 0.1 origin_tech = list(TECH_MATERIAL = 5, TECH_ENGINEERING = 4) random_color = FALSE /obj/item/weapon/tool/wirecutters/cyborg name = "wirecutters" desc = "This cuts wires. With science." usesound = 'sound/items/jaws_cut.ogg' toolspeed = 0.5 /obj/item/weapon/tool/wirecutters/power name = "jaws of life" desc = "A set of jaws of life, compressed through the magic of science. It's fitted with a cutting head." icon_state = "jaws_cutter" item_state = "jawsoflife" origin_tech = list(TECH_MATERIAL = 2, TECH_ENGINEERING = 2) matter = list(MAT_METAL=150, MAT_SILVER=50) usesound = 'sound/items/jaws_cut.ogg' force = 15 toolspeed = 0.25 random_color = FALSE var/obj/item/weapon/tool/crowbar/power/counterpart = null /obj/item/weapon/tool/wirecutters/power/New(newloc, no_counterpart = TRUE) ..(newloc) if(!counterpart && no_counterpart) counterpart = new(src, FALSE) counterpart.counterpart = src /obj/item/weapon/tool/wirecutters/power/Destroy() if(counterpart) counterpart.counterpart = null // So it can qdel cleanly. QDEL_NULL(counterpart) return ..() /obj/item/weapon/tool/wirecutters/power/attack_self(mob/user) playsound(get_turf(user), 'sound/items/change_jaws.ogg', 50, 1) user.drop_item(src) counterpart.forceMove(get_turf(src)) src.forceMove(counterpart) user.put_in_active_hand(counterpart) to_chat(user, "You attach the pry jaws to [src].")