var/list/outfits_decls_ var/list/outfits_decls_root_ var/list/outfits_decls_by_type_ /proc/outfit_by_type(var/outfit_type) if(!outfits_decls_root_) init_outfit_decls() return outfits_decls_by_type_[outfit_type] /proc/outfits() if(!outfits_decls_root_) init_outfit_decls() return outfits_decls_ /proc/init_outfit_decls() if(outfits_decls_root_) return outfits_decls_ = list() outfits_decls_by_type_ = list() outfits_decls_root_ = new/decl/hierarchy/outfit() /decl/hierarchy/outfit name = "Naked" 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 var/list/backpack_contents = list() // In the list(path=count,otherpath=count) format var/id_type var/id_desc var/id_slot var/pda_type var/pda_slot var/id_pda_assignment var/backpack = /obj/item/weapon/storage/backpack var/satchel_one = /obj/item/weapon/storage/backpack/satchel/norm var/satchel_two = /obj/item/weapon/storage/backpack/satchel var/messenger_bag = /obj/item/weapon/storage/backpack/messenger var/flags // Specific flags var/undress = 1 //Does the outfit undress the mob upon equp? /decl/hierarchy/outfit/New() ..() if(is_hidden_category()) return outfits_decls_by_type_[type] = src dd_insertObjectList(outfits_decls_, src) /decl/hierarchy/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 else back = null /decl/hierarchy/outfit/proc/post_equip(mob/living/carbon/human/H) if(flags & OUTFIT_HAS_JETPACK) var/obj/item/weapon/tank/jetpack/J = locate(/obj/item/weapon/tank/jetpack) in H if(!J) return J.toggle() J.toggle_valve() /decl/hierarchy/outfit/proc/equip(mob/living/carbon/human/H, var/rank, var/assignment) equip_base(H) rank = rank || id_pda_assignment assignment = id_pda_assignment || assignment || rank var/obj/item/weapon/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