From fc7946a308322fb1cb6600d08681d714f0199828 Mon Sep 17 00:00:00 2001 From: Mike Date: Wed, 30 Apr 2014 14:11:34 -0400 Subject: [PATCH] Fixed #4850 Cutting wires from stun gloves cuts the fingertips off randomly --- code/modules/clothing/gloves/stungloves.dm | 100 +++++++++++---------- 1 file changed, 53 insertions(+), 47 deletions(-) diff --git a/code/modules/clothing/gloves/stungloves.dm b/code/modules/clothing/gloves/stungloves.dm index 7b52f3e4c9..d1b02685b0 100644 --- a/code/modules/clothing/gloves/stungloves.dm +++ b/code/modules/clothing/gloves/stungloves.dm @@ -1,76 +1,82 @@ /obj/item/clothing/gloves/attackby(obj/item/weapon/W, mob/user) - if(istype(src, /obj/item/clothing/gloves/boxing)) //quick fix for stunglove overlay not working nicely with boxing gloves. + if(istype(src, /obj/item/clothing/gloves/boxing)) //quick fix for stunglove overlay not working nicely with boxing gloves. user << "That won't work." //i'm not putting my lips on that! ..() return + + //add wires if(istype(W, /obj/item/weapon/cable_coil)) - if(!("stunglove" in species_restricted)) - var/obj/item/weapon/cable_coil/C = W - if(!wired) - if(C.amount >= 2) - C.use(2) - wired = 1 - siemens_coefficient = 3.0 - user << "You wrap some wires around [src]." - update_icon() - else - user << "There is not enough wire to cover [src]." - else - user << "[src] are already wired." - else - user << "" - + var/obj/item/weapon/cable_coil/C = W + if (clipped) + user << "The [src] are too badly mangled for wiring." + return + + if(wired) + user << "The [src] are already wired." + return + + if(C.amount < 2) + user << "There is not enough wire to cover the [src]." + return + + C.use(2) + wired = 1 + siemens_coefficient = 3.0 + user << "You wrap some wires around the [src]." + update_icon() + return + + //add cell else if(istype(W, /obj/item/weapon/cell)) if(!wired) - user << "[src] need to be wired first." + user << "The [src] need to be wired first." else if(!cell) user.drop_item() W.loc = src cell = W - user << "You attach a cell to [src]." + user << "You attach the [cell] to the [src]." update_icon() else - user << "[src] already have a cell." + user << "A [cell] is already attached to the [src]." + return else if(istype(W, /obj/item/weapon/wirecutters) || istype(W, /obj/item/weapon/scalpel)) - - wired = null - + //stunglove stuff if(cell) cell.updateicon() + user << "You cut the [cell] away from the [src]." cell.loc = get_turf(src.loc) cell = null - if(clipped == 0) - playsound(src.loc, 'sound/items/Wirecutter.ogg', 100, 1) - user.visible_message("\red [user] cut the fingertips off [src].","\red You cut the fingertips off [src].") - clipped = 1 - if("exclude" in species_restricted) - name = "mangled [name]" - desc = "[desc] They have had the fingertips cut off of them." - species_restricted -= "Unathi" - species_restricted -= "Tajaran" - species_restricted += "stunglove" - else if(clipped == 1) - user << "[src] have already been clipped!" - update_icon() - - return - - if(cell) - cell.updateicon() - cell.loc = get_turf(src.loc) - cell = null - user << "You cut the cell away from [src]." update_icon() return if(wired) //wires disappear into the void because fuck that shit wired = 0 siemens_coefficient = initial(siemens_coefficient) - user << "You cut the wires away from [src]." + user << "You cut the wires away from the [src]." update_icon() - ..() - return + return + + //clipping fingertips + if(!clipped) + playsound(src.loc, 'sound/items/Wirecutter.ogg', 100, 1) + user.visible_message("\red [user] cuts the fingertips off of the [src].","\red You cut the fingertips off of the [src].") + + clipped = 1 + name = "mangled [name]" + desc = "[desc]
They have had the fingertips cut off of them." + if("exclude" in species_restricted) + species_restricted -= "Unathi" + species_restricted -= "Tajaran" + return + else + user << "The [src] have already been clipped!" + update_icon() + return + + return + + ..() /obj/item/clothing/gloves/update_icon() ..()