mirror of
https://github.com/PolarisSS13/Polaris.git
synced 2025-12-30 12:03:11 +00:00
Merge pull request #7502 from Meghan-Rossi/ducttape
Fix duct tape on self
This commit is contained in:
@@ -8,19 +8,21 @@
|
||||
|
||||
toolspeed = 2 //It is now used in surgery as a not awful, but probably dangerous option, due to speed.
|
||||
|
||||
/obj/item/weapon/tape_roll/proc/can_place(var/mob/living/carbon/human/H, var/mob/user)
|
||||
if(istype(user, /mob/living/silicon/robot) || user == H)
|
||||
return TRUE
|
||||
|
||||
for (var/obj/item/weapon/grab/G in H.grabbed_by)
|
||||
if (G.loc == user && G.state >= GRAB_AGGRESSIVE)
|
||||
return TRUE
|
||||
|
||||
return FALSE
|
||||
|
||||
/obj/item/weapon/tape_roll/attack(var/mob/living/carbon/human/H, var/mob/user)
|
||||
if(istype(H))
|
||||
if(user.a_intent == I_HELP)
|
||||
return
|
||||
var/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
|
||||
break
|
||||
if(!can_place)
|
||||
if(!can_place(H, user))
|
||||
to_chat(user, "<span class='danger'>You need to have a firm grip on [H] before you can use \the [src]!</span>")
|
||||
return
|
||||
else
|
||||
@@ -43,16 +45,7 @@
|
||||
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)
|
||||
if(!can_place(H, user))
|
||||
return
|
||||
|
||||
if(!H || !src || !H.organs_by_name[BP_HEAD] || !H.has_eyes() || H.glasses || (H.head && (H.head.body_parts_covered & FACE)))
|
||||
@@ -81,16 +74,7 @@
|
||||
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)
|
||||
if(!can_place(H, user))
|
||||
return
|
||||
|
||||
if(!H || !src || !H.organs_by_name[BP_HEAD] || !H.check_has_mouth() || (H.head && (H.head.body_parts_covered & FACE)))
|
||||
@@ -103,16 +87,7 @@
|
||||
playsound(src, 'sound/effects/tape.ogg',25)
|
||||
|
||||
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)
|
||||
if(!can_place(H, user))
|
||||
return
|
||||
|
||||
var/obj/item/weapon/handcuffs/cable/tape/T = new(user)
|
||||
|
||||
Reference in New Issue
Block a user