GLOBAL_LIST_EMPTY(custom_outfits) //Admin created outfits
/client/proc/outfit_manager()
set category = "Event"
set name = "Outfit Manager"
if(!check_rights(R_EVENT))
return
holder.outfit_manager(usr)
/datum/admins/proc/outfit_manager(mob/admin)
var/list/dat = list("
")
for(var/datum/outfit/O in GLOB.custom_outfits)
var/vv = FALSE
var/datum/outfit/varedit/VO = O
if(istype(VO))
vv = length(VO.vv_values)
dat += "- [O.name][vv ? "(VV)" : ""]
Save Delete"
dat += "
"
dat += "Create
"
dat += "Load from file"
admin << browse(dat.Join(),"window=outfitmanager")
/datum/admins/proc/save_outfit(mob/admin,datum/outfit/O)
O.save_to_file(admin)
outfit_manager(admin)
/datum/admins/proc/delete_outfit(mob/admin,datum/outfit/O)
GLOB.custom_outfits -= O
qdel(O)
to_chat(admin,"Outfit deleted.")
outfit_manager(admin)
/datum/admins/proc/load_outfit(mob/admin)
var/outfit_file = input("Pick outfit json file:", "File") as null|file
if(!outfit_file)
return
var/filedata = wrap_file2text(outfit_file)
var/json = json_decode(filedata)
if(!json)
to_chat(admin,"JSON decode error.")
return
var/otype = text2path(json["outfit_type"])
if(!ispath(otype,/datum/outfit))
to_chat(admin,"Malformed/Outdated file.")
return
var/datum/outfit/O = new otype
if(!O.load_from(json))
to_chat(admin,"Malformed/Outdated file.")
return
GLOB.custom_outfits += O
outfit_manager(admin)
/datum/admins/proc/create_outfit(mob/admin)
var/list/uniforms = typesof(/obj/item/clothing/under)
var/list/suits = typesof(/obj/item/clothing/suit)
var/list/gloves = typesof(/obj/item/clothing/gloves)
var/list/shoes = typesof(/obj/item/clothing/shoes)
var/list/headwear = typesof(/obj/item/clothing/head)
var/list/glasses = typesof(/obj/item/clothing/glasses)
var/list/masks = typesof(/obj/item/clothing/mask)
var/list/pdas = typesof(/obj/item/pda)
var/list/ids = typesof(/obj/item/card/id)
var/uniform_select = ""
var/suit_select = ""
var/gloves_select = ""
var/shoes_select = ""
var/head_select = ""
var/glasses_select = ""
var/mask_select = ""
var/id_select = ""
var/pda_select = ""
var/dat = {"
Create Outfit
"}
admin << browse(dat, "window=dressup;size=550x600")
/datum/admins/proc/create_outfit_finalize(mob/admin, list/href_list)
var/datum/outfit/O = new
O.name = href_list["outfit_name"]
O.uniform = text2path(href_list["outfit_uniform"])
O.shoes = text2path(href_list["outfit_shoes"])
O.gloves = text2path(href_list["outfit_gloves"])
O.suit = text2path(href_list["outfit_suit"])
O.head = text2path(href_list["outfit_head"])
O.back = text2path(href_list["outfit_back"])
O.mask = text2path(href_list["outfit_mask"])
O.glasses = text2path(href_list["outfit_glasses"])
O.r_hand = text2path(href_list["outfit_r_hand"])
O.l_hand = text2path(href_list["outfit_l_hand"])
O.suit_store = text2path(href_list["outfit_s_store"])
O.l_pocket = text2path(href_list["outfit_l_pocket"])
O.r_pocket = text2path(href_list["outfit_r_pocket"])
O.id = text2path(href_list["outfit_id"])
O.pda = text2path(href_list["outfit_pda"])
O.belt = text2path(href_list["outfit_belt"])
O.l_ear = text2path(href_list["outfit_l_ear"])
O.r_ear = text2path(href_list["outfit_r_ear"])
GLOB.custom_outfits.Add(O)
message_admins("[key_name_admin(usr)] created \"[O.name]\" outfit.")