From 72e7632fa84fd4899e23aa1ebbbdeb8b8de8ac10 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sun, 25 Jun 2017 07:41:23 -0500 Subject: [PATCH] [s] Fixes TK remote grab exploit --- code/_onclick/telekinesis.dm | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/code/_onclick/telekinesis.dm b/code/_onclick/telekinesis.dm index 0ca0fb31a9..fdecce20ca 100644 --- a/code/_onclick/telekinesis.dm +++ b/code/_onclick/telekinesis.dm @@ -11,7 +11,7 @@ */ /atom/proc/attack_tk(mob/user) - if(user.stat) + if(user.stat || !tkMaxRangeCheck(user, src)) return new /obj/effect/temp_visual/telekinesis(loc) user.UnarmedAttack(src,0) // attack_hand, attack_paw, etc @@ -20,14 +20,20 @@ /obj/attack_tk(mob/user) if(user.stat) return + if(anchored) + return ..() + attack_tk_grab(user) +/obj/item/attack_tk(mob/user) + if(user.stat) + return + attack_tk_grab(user) + +/obj/proc/attack_tk_grab(mob/user) var/obj/item/tk_grab/O = new(src) O.tk_user = user if(O.focus_object(src)) user.put_in_active_hand(O) - else - qdel(O) - ..() /mob/attack_tk(mob/user) return