diff --git a/code/datums/datumvars.dm b/code/datums/datumvars.dm
index dea45393146..f8f46c007d7 100644
--- a/code/datums/datumvars.dm
+++ b/code/datums/datumvars.dm
@@ -262,6 +262,7 @@ var/global/list/internal_byond_list_vars = list("contents" = TRUE, "verbs" = TRU
if(ismob(D))
body += ""
+ body += ""
body += ""
body += ""
body += ""
@@ -562,6 +563,18 @@ body
src.give_spell(M)
href_list["datumrefresh"] = href_list["give_spell"]
+ else if(href_list["remove_spell"])
+ if(!check_rights(0))
+ return
+
+ var/mob/M = locate(href_list["remove_spell"])
+ if(!istype(M))
+ usr << "This can only be used on instances of type /mob"
+ return
+
+ remove_spell(M)
+ href_list["datumrefresh"] = href_list["remove_spell"]
+
else if(href_list["give_disease"])
if(!check_rights(0))
return
diff --git a/code/modules/admin/admin_verbs.dm b/code/modules/admin/admin_verbs.dm
index 4c844c89ac1..7a9918b9cdc 100644
--- a/code/modules/admin/admin_verbs.dm
+++ b/code/modules/admin/admin_verbs.dm
@@ -525,16 +525,30 @@ var/list/admin_verbs_hideable = list(
var/obj/effect/proc_holder/spell/S = input("Choose the spell to give to that guy", "ABRAKADABRA") as null|anything in spell_list
if(!S)
return
- S = spell_list[S]
+
feedback_add_details("admin_verb","GS") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
log_admin("[key_name(usr)] gave [key_name(T)] the spell [S].")
message_admins("[key_name_admin(usr)] gave [key_name(T)] the spell [S].")
+
+ S = spell_list[S]
if(T.mind)
T.mind.AddSpell(new S)
else
T.AddSpell(new S)
message_admins("Spells given to mindless mobs will not be transferred in mindswap or cloning!")
+/client/proc/remove_spell(mob/T in mob_list)
+ set category = "Fun"
+ set name = "Remove Spell"
+ set desc = "Remove a spell from the selected mob."
+
+ if(T && T.mind)
+ var/obj/effect/proc_holder/spell/S = input("Choose the spell to remove", "NO ABRAKADABRA") as null|anything in T.mind.spell_list
+ if(S)
+ T.mind.RemoveSpell(S)
+ log_admin("[key_name(usr)] removed the spell [S] from [key_name(T)].")
+ message_admins("[key_name_admin(usr)] removed the spell [S] from [key_name(T)].")
+ feedback_add_details("admin_verb","RS") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
/client/proc/give_disease(mob/T in mob_list)
set category = "Fun"