From 38171aa90ac3f3a23debe0c1aba9014869897ac4 Mon Sep 17 00:00:00 2001 From: Lzimann Date: Thu, 18 Aug 2016 19:58:16 -0300 Subject: [PATCH] Adds remove spell proc for admins and add it to VV dropdown menu. The change in --- code/datums/datumvars.dm | 13 +++++++++++++ code/modules/admin/admin_verbs.dm | 16 +++++++++++++++- 2 files changed, 28 insertions(+), 1 deletion(-) 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"