/proc/get_all_outfits() . = list() for(var/path in subtypesof(/datum/outfit)) var/datum/outfit/O = path if(initial(O.abstract_type) == path) continue . += new path tim_sort(., /proc/cmp_name_asc) /datum/outfit /// the outfit's name var/name = "Naked" /// abstract type - set to self type for abstract outfits. var/abstract_type = /datum/outfit var/uniform = null var/suit = null var/back = null var/belt = null var/gloves = null var/shoes = null var/head = null var/mask = null var/l_ear = null var/r_ear = null var/glasses = null var/id = null var/l_pocket = null var/r_pocket = null var/suit_store = null var/r_hand = null var/l_hand = null // In the list(path=count,otherpath=count) format var/list/uniform_accessories = list() // webbing, armbands etc - fits in /datum/inventory_slot_meta/abstract/attach_as_accessory var/list/backpack_contents = list() var/id_type var/id_desc var/id_slot var/pda_type var/pda_slot var/id_pda_assignment var/backpack = /obj/item/storage/backpack var/satchel_one = /obj/item/storage/backpack/satchel/norm var/satchel_two = /obj/item/storage/backpack/satchel var/messenger_bag = /obj/item/storage/backpack/messenger var/rig = /obj/item/storage/backpack/rig var/dufflebag = /obj/item/storage/backpack/dufflebag var/flags // Specific flags var/undress = 1 //Does the outfit undress the mob upon equp? /datum/outfit/proc/pre_equip(mob/living/carbon/human/H) if(flags & OUTFIT_HAS_BACKPACK) switch(H.backbag) if(2) back = backpack if(3) back = satchel_one if(4) back = satchel_two if(5) back = messenger_bag if(6) back = rig if(7) back = dufflebag else back = null /datum/outfit/proc/post_equip(mob/living/carbon/human/H) if(flags & OUTFIT_HAS_JETPACK) var/obj/item/tank/jetpack/J = locate(/obj/item/tank/jetpack) in H if(!J) return J.toggle() J.toggle_valve() /datum/outfit/proc/equip(mob/living/carbon/human/H, rank, assignment) equip_base(H) rank = rank || id_pda_assignment assignment = id_pda_assignment || assignment || rank var/obj/item/card/id/W = equip_id(H, rank, assignment) if(W) rank = W.rank assignment = W.assignment equip_pda(H, rank, assignment) for(var/path in backpack_contents) var/number = backpack_contents[path] for(var/i=0,i