diff --git a/code/game/objects/items/weapons/tape.dm b/code/game/objects/items/weapons/tape.dm
index e41edf47de..b6fc2f4251 100644
--- a/code/game/objects/items/weapons/tape.dm
+++ b/code/game/objects/items/weapons/tape.dm
@@ -7,7 +7,7 @@
/obj/item/weapon/tape_roll/attack(var/mob/living/carbon/human/H, var/mob/user)
if(istype(H))
- var/can_place
+ var/can_place = 0
if(istype(user, /mob/living/silicon/robot))
can_place = 1
else
@@ -15,87 +15,107 @@
if (G.loc == user && G.state >= GRAB_AGGRESSIVE)
can_place = 1
break
- if(!can_place)
- user << "You need to have a firm grip on [H] before you can use \the [src]!"
- else
- if(user.zone_sel.selecting == O_EYES)
+ if(!can_place)
+ user << "You need to have a firm grip on [H] before you can use \the [src]!"
+ return
+ else
+ if(user.zone_sel.selecting == O_EYES)
- if(!H.organs_by_name[BP_HEAD])
- user << "\The [H] doesn't have a head."
- return
- if(!H.has_eyes())
- user << "\The [H] doesn't have any eyes."
- return
- if(H.glasses)
- user << "\The [H] is already wearing somethign on their eyes."
- return
- if(H.head && (H.head.body_parts_covered & FACE))
- user << "Remove their [H.head] first."
- return
- user.visible_message("\The [user] begins taping over \the [H]'s eyes!")
+ if(!H.organs_by_name[BP_HEAD])
+ user << "\The [H] doesn't have a head."
+ return
+ if(!H.has_eyes())
+ user << "\The [H] doesn't have any eyes."
+ return
+ if(H.glasses)
+ user << "\The [H] is already wearing somethign on their eyes."
+ return
+ if(H.head && (H.head.body_parts_covered & FACE))
+ user << "Remove their [H.head] first."
+ return
+ user.visible_message("\The [user] begins taping over \the [H]'s eyes!")
- if(!do_after(user, 30))
- return
+ if(!do_after(user, 30))
+ return
- // Repeat failure checks.
- if(istype(user, /mob/living/silicon/robot))
- can_place = 1
- else
- for (var/obj/item/weapon/grab/G in H.grabbed_by)
- if (G.loc == user && G.state >= GRAB_AGGRESSIVE)
- can_place = 1
+ can_place = 0
- if(!can_place)
- if(!H || !src || !H.organs_by_name[BP_HEAD] || !H.has_eyes() || H.glasses || (H.head && (H.head.body_parts_covered & FACE)))
- return
-
- user.visible_message("\The [user] has taped up \the [H]'s eyes!")
- H.equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses/blindfold/tape(H), slot_glasses)
- H.update_inv_glasses()
-
- else if(user.zone_sel.selecting == O_MOUTH || user.zone_sel.selecting == BP_HEAD)
- if(!H.organs_by_name[BP_HEAD])
- user << "\The [H] doesn't have a head."
- return
- if(!H.check_has_mouth())
- user << "\The [H] doesn't have a mouth."
- return
- if(H.wear_mask)
- user << "\The [H] is already wearing a mask."
- return
- if(H.head && (H.head.body_parts_covered & FACE))
- user << "Remove their [H.head] first."
- return
- user.visible_message("\The [user] begins taping up \the [H]'s mouth!")
-
- if(!do_after(user, 30))
- return
-
- // Repeat failure checks.
- if(istype(user, /mob/living/silicon/robot))
- can_place = 1
- else
- for (var/obj/item/weapon/grab/G in H.grabbed_by)
- if (G.loc == user && G.state >= GRAB_AGGRESSIVE)
- can_place = 1
-
- if(!can_place)
- if(!H || !src || !H.organs_by_name[BP_HEAD] || !H.check_has_mouth() || H.wear_mask || (H.head && (H.head.body_parts_covered & FACE)))
- return
-
- user.visible_message("\The [user] has taped up \the [H]'s mouth!")
-
- H.equip_to_slot_or_del(new /obj/item/clothing/mask/muzzle/tape(H), slot_wear_mask)
- H.update_inv_wear_mask()
-
- else if(user.zone_sel.selecting == "r_hand" || user.zone_sel.selecting == "l_hand")
- var/obj/item/weapon/handcuffs/cable/tape/T = new(user)
- if(!T.place_handcuffs(H, user))
- user.unEquip(T)
- qdel(T)
+ if(istype(user, /mob/living/silicon/robot))
+ can_place = 1
else
- return ..()
- return 1
+ for (var/obj/item/weapon/grab/G in H.grabbed_by)
+ if (G.loc == user && G.state >= GRAB_AGGRESSIVE)
+ can_place = 1
+
+ if(!can_place)
+ return
+
+ if(!H || !src || !H.organs_by_name[BP_HEAD] || !H.has_eyes() || H.glasses || (H.head && (H.head.body_parts_covered & FACE)))
+ return
+
+ user.visible_message("\The [user] has taped up \the [H]'s eyes!")
+ H.equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses/blindfold/tape(H), slot_glasses)
+ H.update_inv_glasses()
+
+ else if(user.zone_sel.selecting == O_MOUTH || user.zone_sel.selecting == BP_HEAD)
+ if(!H.organs_by_name[BP_HEAD])
+ user << "\The [H] doesn't have a head."
+ return
+ if(!H.check_has_mouth())
+ user << "\The [H] doesn't have a mouth."
+ return
+ if(H.wear_mask)
+ user << "\The [H] is already wearing a mask."
+ return
+ if(H.head && (H.head.body_parts_covered & FACE))
+ user << "Remove their [H.head] first."
+ return
+ user.visible_message("\The [user] begins taping up \the [H]'s mouth!")
+
+ if(!do_after(user, 30))
+ return
+
+ can_place = 0
+
+ if(istype(user, /mob/living/silicon/robot))
+ can_place = 1
+ else
+ for (var/obj/item/weapon/grab/G in H.grabbed_by)
+ if (G.loc == user && G.state >= GRAB_AGGRESSIVE)
+ can_place = 1
+
+ if(!can_place)
+ return
+
+ if(!H || !src || !H.organs_by_name[BP_HEAD] || !H.has_eyes() || H.glasses || (H.head && (H.head.body_parts_covered & FACE)))
+ return
+
+ user.visible_message("\The [user] has taped up \the [H]'s mouth!")
+
+ H.equip_to_slot_or_del(new /obj/item/clothing/mask/muzzle/tape(H), slot_wear_mask)
+ H.update_inv_wear_mask()
+
+ else if(user.zone_sel.selecting == "r_hand" || user.zone_sel.selecting == "l_hand")
+ can_place = 0
+
+ if(istype(user, /mob/living/silicon/robot))
+ can_place = 1
+ else
+ for (var/obj/item/weapon/grab/G in H.grabbed_by)
+ if (G.loc == user && G.state >= GRAB_AGGRESSIVE)
+ can_place = 1
+
+ if(!can_place)
+ return
+
+ var/obj/item/weapon/handcuffs/cable/tape/T = new(user)
+
+ if(!T.place_handcuffs(H, user))
+ user.unEquip(T)
+ qdel(T)
+ else
+ return ..()
+ return 1
/obj/item/weapon/tape_roll/proc/stick(var/obj/item/weapon/W, mob/user)
if(!istype(W, /obj/item/weapon/paper))