From b0182639b2a9c1e223bead03c09192a651300198 Mon Sep 17 00:00:00 2001 From: Arkatos1 Date: Fri, 19 Apr 2019 16:54:59 +0200 Subject: [PATCH 1/2] Adds an option to grant Martial Arts via Var menu --- code/datums/datumvars.dm | 27 +++++++++++++++++++++++++++ code/modules/mob/mob.dm | 1 + 2 files changed, 28 insertions(+) diff --git a/code/datums/datumvars.dm b/code/datums/datumvars.dm index 674557bc839..87bb1df7cb0 100644 --- a/code/datums/datumvars.dm +++ b/code/datums/datumvars.dm @@ -621,6 +621,33 @@ src.give_spell(M) href_list["datumrefresh"] = href_list["give_spell"] + else if(href_list["givemartialart"]) + if(!check_rights(R_SERVER|R_EVENT)) return + + var/mob/living/carbon/C = locateUID(href_list["givemartialart"]) + if(!istype(C)) + to_chat(usr, "This can only be done to instances of type /mob/living/carbon") + return + + var/list/artpaths = subtypesof(/datum/martial_art) + var/list/artnames = list() + for(var/i in artpaths) + var/datum/martial_art/M = i + artnames[initial(M.name)] = M + + var/result = input(usr, "Choose the martial art to teach","JUDO CHOP") as null|anything in artnames + if(!usr) + return + if(QDELETED(C)) + to_chat(usr, "Mob doesn't exist anymore") + return + + if(result) + var/chosenart = artnames[result] + var/datum/martial_art/MA = new chosenart + MA.teach(C) + + href_list["datumrefresh"] = href_list["givemartialart"] else if(href_list["give_disease"]) if(!check_rights(R_SERVER|R_EVENT)) return diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index ee04e624f02..c6079abba78 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -1299,6 +1299,7 @@ var/list/slot_equipment_priority = list( \ .["Show player panel"] = "?_src_=vars;mob_player_panel=[UID()]" .["Give Spell"] = "?_src_=vars;give_spell=[UID()]" + .["Give Martial Art"] = "?_src_=vars;givemartialart=[UID()]" .["Give Disease"] = "?_src_=vars;give_disease=[UID()]" .["Toggle Godmode"] = "?_src_=vars;godmode=[UID()]" .["Toggle Build Mode"] = "?_src_=vars;build_mode=[UID()]" From cb8e49274666f0f5303510b10c544750f54df6ce Mon Sep 17 00:00:00 2001 From: Arkatos1 Date: Fri, 19 Apr 2019 17:41:25 +0200 Subject: [PATCH 2/2] Code improvement --- code/datums/datumvars.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/datums/datumvars.dm b/code/datums/datumvars.dm index 87bb1df7cb0..6fdb8a359c2 100644 --- a/code/datums/datumvars.dm +++ b/code/datums/datumvars.dm @@ -635,7 +635,7 @@ var/datum/martial_art/M = i artnames[initial(M.name)] = M - var/result = input(usr, "Choose the martial art to teach","JUDO CHOP") as null|anything in artnames + var/result = input(usr, "Choose the martial art to teach", "JUDO CHOP") as null|anything in artnames if(!usr) return if(QDELETED(C))