diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index eb3431ef9f77..9ec177021b61 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -513,31 +513,6 @@ return do_pull(AM, lunge, no_msg) -/mob/proc/stop_pulling() - if(pulling) - var/mob/M = pulling - pulling.pulledby = null - pulling = null - - grab_level = 0 - if(client) - client.recalculate_move_delay() - // When you stop pulling a mob after you move a tile with it your next movement will still include - // the grab delay so we have to fix it here (we love code) - client.next_movement = world.time + client.move_delay - if(hud_used && hud_used.pull_icon) - hud_used.pull_icon.icon_state = "pull0" - if(istype(r_hand, /obj/item/grab)) - temp_drop_inv_item(r_hand) - else if(istype(l_hand, /obj/item/grab)) - temp_drop_inv_item(l_hand) - if(istype(M)) - if(M.client) - //resist_grab uses long movement cooldown durations to prevent message spam - //so we must undo it here so the victim can move right away - M.client.next_movement = world.time - M.update_transform(TRUE) - M.update_canmove() /mob/living/vv_get_header() . = ..() diff --git a/code/modules/mob/mob_verbs.dm b/code/modules/mob/mob_verbs.dm index f5410a603f66..19296ba90b20 100644 --- a/code/modules/mob/mob_verbs.dm +++ b/code/modules/mob/mob_verbs.dm @@ -216,9 +216,32 @@ -/mob/verb/stop_pulling_verb() +/mob/verb/stop_pulling() set name = "Stop Pulling" set category = "IC" - stop_pulling() + if(pulling) + var/mob/M = pulling + pulling.pulledby = null + pulling = null + + grab_level = 0 + if(client) + client.recalculate_move_delay() + // When you stop pulling a mob after you move a tile with it your next movement will still include + // the grab delay so we have to fix it here (we love code) + client.next_movement = world.time + client.move_delay + if(hud_used && hud_used.pull_icon) + hud_used.pull_icon.icon_state = "pull0" + if(istype(r_hand, /obj/item/grab)) + temp_drop_inv_item(r_hand) + else if(istype(l_hand, /obj/item/grab)) + temp_drop_inv_item(l_hand) + if(istype(M)) + if(M.client) + //resist_grab uses long movement cooldown durations to prevent message spam + //so we must undo it here so the victim can move right away + M.client.next_movement = world.time + M.update_transform(TRUE) + M.update_canmove()