From 96f17eebb202f57c05780aeefadbc4a8d6679baa Mon Sep 17 00:00:00 2001 From: oranges Date: Sat, 13 Jan 2018 23:18:01 +1300 Subject: [PATCH] Merge pull request #34155 from deathride58/rudimentaryoutfitequip Allows admins to select an outfit while transforming a mob to human via rudimentary transform --- code/modules/admin/topic.dm | 10 ++++--- code/modules/admin/verbs/debug.dm | 43 ++++++++++++++----------------- 2 files changed, 26 insertions(+), 27 deletions(-) diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm index 0cf917d840..fc29fb5327 100644 --- a/code/modules/admin/topic.dm +++ b/code/modules/admin/topic.dm @@ -430,9 +430,6 @@ if("Yes") delmob = 1 - log_admin("[key_name(usr)] has used rudimentary transformation on [key_name(M)]. Transforming to [href_list["simplemake"]].; deletemob=[delmob]") - message_admins("[key_name_admin(usr)] has used rudimentary transformation on [key_name_admin(M)]. Transforming to [href_list["simplemake"]].; deletemob=[delmob]") - switch(href_list["simplemake"]) if("observer") M.change_mob_type( /mob/dead/observer , null, null, delmob ) @@ -449,7 +446,10 @@ if("larva") M.change_mob_type( /mob/living/carbon/alien/larva , null, null, delmob ) if("human") - M.change_mob_type( /mob/living/carbon/human , null, null, delmob ) + var/posttransformoutfit = usr.client.robust_dress_shop() + var/mob/living/carbon/human/newmob = M.change_mob_type( /mob/living/carbon/human , null, null, delmob ) + if(posttransformoutfit && istype(newmob)) + newmob.equipOutfit(posttransformoutfit) if("slime") M.change_mob_type( /mob/living/simple_animal/slime , null, null, delmob ) if("monkey") @@ -482,6 +482,8 @@ M.change_mob_type( /mob/living/simple_animal/hostile/construct/wraith , null, null, delmob ) if("shade") M.change_mob_type( /mob/living/simple_animal/shade , null, null, delmob ) + log_admin("[key_name(usr)] has used rudimentary transformation on [key_name(M)]. Transforming to [href_list["simplemake"]].; deletemob=[delmob]") + message_admins("[key_name_admin(usr)] has used rudimentary transformation on [key_name_admin(M)]. Transforming to [href_list["simplemake"]].; deletemob=[delmob]") /////////////////////////////////////new ban stuff diff --git a/code/modules/admin/verbs/debug.dm b/code/modules/admin/verbs/debug.dm index 0b11c0a290..440ebcf361 100644 --- a/code/modules/admin/verbs/debug.dm +++ b/code/modules/admin/verbs/debug.dm @@ -696,7 +696,20 @@ GLOBAL_PROTECT(AdminProcCallSpamPrevention) alert("Invalid mob") return + var/dresscode = robust_dress_shop() + SSblackbox.record_feedback("tally", "admin_verb", 1, "Select Equipment") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + for (var/obj/item/I in M.get_equipped_items()) + qdel(I) + if(dresscode) + M.equipOutfit(dresscode) + + M.regenerate_icons() + + log_admin("[key_name(usr)] changed the equipment of [key_name(M)] to [dresscode].") + message_admins("[key_name_admin(usr)] changed the equipment of [key_name_admin(M)] to [dresscode].") + +/client/proc/robust_dress_shop() var/list/outfits = list("Naked","Custom","As Job...") var/list/paths = subtypesof(/datum/outfit) - typesof(/datum/outfit/job) for(var/path in paths) @@ -704,14 +717,16 @@ GLOBAL_PROTECT(AdminProcCallSpamPrevention) if(initial(O.can_be_admin_equipped)) outfits[initial(O.name)] = path - - var/dresscode = input("Select dress for [M]", "Robust quick dress shop") as null|anything in outfits + var/dresscode = input("Select outfit", "Robust quick dress shop") as null|anything in outfits if (isnull(dresscode)) return if (outfits[dresscode]) dresscode = outfits[dresscode] + if(dresscode == "Naked") + return + if (dresscode == "As Job...") var/list/job_paths = subtypesof(/datum/outfit/job) var/list/job_outfits = list() @@ -725,34 +740,16 @@ GLOBAL_PROTECT(AdminProcCallSpamPrevention) if(isnull(dresscode)) return - - var/datum/outfit/custom = null if (dresscode == "Custom") var/list/custom_names = list() for(var/datum/outfit/D in GLOB.custom_outfits) custom_names[D.name] = D var/selected_name = input("Select outfit", "Robust quick dress shop") as null|anything in custom_names - custom = custom_names[selected_name] - if(isnull(custom)) + dresscode = custom_names[selected_name] + if(isnull(dresscode)) return - SSblackbox.record_feedback("tally", "admin_verb", 1, "Select Equipment") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! - for (var/obj/item/I in M.get_equipped_items()) - qdel(I) - switch(dresscode) - if ("Naked") - //do nothing - if ("Custom") - //use custom one - M.equipOutfit(custom) - else - M.equipOutfit(dresscode) - - - M.regenerate_icons() - - log_admin("[key_name(usr)] changed the equipment of [key_name(M)] to [dresscode].") - message_admins("[key_name_admin(usr)] changed the equipment of [key_name_admin(M)] to [dresscode].") + return dresscode /client/proc/startSinglo()