From 96d5d8a319dbdca4c117785337f45b0abc61d116 Mon Sep 17 00:00:00 2001 From: SkyratBot <59378654+SkyratBot@users.noreply.github.com> Date: Wed, 23 Sep 2020 14:55:50 +0200 Subject: [PATCH] [MIRROR] Fix verbs tab not getting updated in certain instances (#937) * Fix verbs tab not getting updated in certain instances (#53876) There are a number of methods of assuming direct control of mobs or giving other players direct control. I have made sure these now appropriately update verbs. Shamelessly ripped the functionality from /mob/dead/observer/verb/reenter_corpse() - It seemed to do what I wanted to accomplish in the same context. I couldn't find any other method to refresh the verbs tab. * Fix verbs tab not getting updated in certain instances Co-authored-by: Timberpoes --- code/modules/admin/admin.dm | 1 + code/modules/admin/verbs/debug.dm | 2 ++ code/modules/mob/mob_helpers.dm | 2 +- 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/code/modules/admin/admin.dm b/code/modules/admin/admin.dm index 56b4d8c3936..7e6bc835aac 100644 --- a/code/modules/admin/admin.dm +++ b/code/modules/admin/admin.dm @@ -971,6 +971,7 @@ SSblackbox.record_feedback("tally", "admin_verb", 1, "Ghost Drag Control") tomob.ckey = frommob.ckey + tomob.client?.init_verbs() qdel(frommob) return TRUE diff --git a/code/modules/admin/verbs/debug.dm b/code/modules/admin/verbs/debug.dm index 9abe69b3d52..84902c9f8e3 100644 --- a/code/modules/admin/verbs/debug.dm +++ b/code/modules/admin/verbs/debug.dm @@ -243,6 +243,7 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that if(M.ckey) M.ghostize(FALSE) M.ckey = ckey + init_verbs() if(isobserver(adminmob)) qdel(adminmob) SSblackbox.record_feedback("tally", "admin_verb", 1, "Assume Direct Control") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! @@ -267,6 +268,7 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that if(M.ckey) M.ghostize(FALSE) M.ckey = newkey.key + M.client?.init_verbs() if(delmob) qdel(oldmob) message_admins("[key_name_admin(usr)] gave away direct control of [M] to [newkey].") diff --git a/code/modules/mob/mob_helpers.dm b/code/modules/mob/mob_helpers.dm index cb39bba60e8..13f7dbd536f 100644 --- a/code/modules/mob/mob_helpers.dm +++ b/code/modules/mob/mob_helpers.dm @@ -434,6 +434,7 @@ message_admins("[key_name_admin(C)] has taken control of ([ADMIN_LOOKUPFLW(M)])") M.ghostize(0) M.key = C.key + M.client?.init_verbs() return TRUE else to_chat(M, "There were no ghosts willing to take control.") @@ -448,7 +449,6 @@ /mob/proc/is_floating() return (movement_type & FLOATING) - ///Clicks a random nearby mob with the source from this mob /mob/proc/click_random_mob() var/list/nearby_mobs = list()