diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm
index f895be65240..2945bd33bb2 100644
--- a/code/modules/admin/topic.dm
+++ b/code/modules/admin/topic.dm
@@ -547,7 +547,7 @@
var/mob/M = locate(href_list["forcespeech"])
if(!ismob(M))
to_chat(usr, "this can only be used on instances of type /mob.", confidential = TRUE)
-
+ return
var/speech = input("What will [key_name(M)] say?", "Force speech", "")// Don't need to sanitize, since it does that in say(), we also trust our admins.
if(!speech)
return
@@ -556,6 +556,21 @@
log_admin("[key_name(usr)] forced [key_name(M)] to say: [speech]")
message_admins(span_adminnotice("[key_name_admin(usr)] forced [key_name_admin(M)] to say: [speech]"))
+ else if(href_list["applyquirks"])
+ if(!check_rights(R_ADMIN))
+ return
+
+ var/mob/living/carbon/human/target = locate(href_list["applyquirks"])
+ if(!istype(target))
+ to_chat(usr, "this can only be used on instances of type /mob/living/carbon/human.", confidential = TRUE)
+ return
+ if(!target.client)
+ to_chat(usr, "[target] has no client!", confidential = TRUE)
+ return
+ SSquirks.AssignQuirks(target, target.client)
+ log_admin("[key_name(usr)] applied client quirks to [key_name(target)].")
+ message_admins(span_adminnotice("[key_name_admin(usr)] applied client quirks to [key_name_admin(target)]."))
+
else if(href_list["sendtoprison"])
if(!check_rights(R_ADMIN))
return
diff --git a/code/modules/admin/verbs/admingame.dm b/code/modules/admin/verbs/admingame.dm
index 5bbfeb84baf..5bb9b2d4d9e 100644
--- a/code/modules/admin/verbs/admingame.dm
+++ b/code/modules/admin/verbs/admingame.dm
@@ -136,6 +136,7 @@
body += "
"
if(!isnewplayer(M))
body += "Forcesay | "
+ body += "Apply Client Quirks | "
body += "Thunderdome 1 | "
body += "Thunderdome 2 | "
body += "Thunderdome Admin | "
diff --git a/code/modules/mob/mob_transformation_simple.dm b/code/modules/mob/mob_transformation_simple.dm
index 8c50e1c15ea..252d4362f96 100644
--- a/code/modules/mob/mob_transformation_simple.dm
+++ b/code/modules/mob/mob_transformation_simple.dm
@@ -50,8 +50,6 @@
client?.prefs.safe_transfer_prefs_to(new_human)
new_human.dna.update_dna_identity()
new_human.updateappearance(mutcolor_update=1, mutations_overlay_update=1)
- if(client)
- SSquirks.AssignQuirks(new_human, client)
//Ghosts have copys of their minds, but if an admin put somebody else in their og body, the mind will have a new mind.key
// and transfer_to will transfer the wrong person since it uses mind.key