Underwear Datums (#1794)

* One more step to bringing our preferences/setup stuff in line with Bay.

* Whoopsy

* Jon is a moron, more at 11.
This commit is contained in:
EmperorJon
2016-05-29 17:29:36 +01:00
committed by Yoshax
parent 288ae3d274
commit 5a545854a4
17 changed files with 644 additions and 166 deletions
+11 -5
View File
@@ -2,17 +2,20 @@
* Category Collection *
**********************/
/datum/category_collection
var/category_group_type // The type of categories to initialize
var/list/datum/category_group/categories // The list of initialized categories
var/category_group_type // Type of categories to initialize
var/list/datum/category_group/categories // List of initialized categories
var/list/datum/category_group/categories_by_name // Associative list of initialized categories, keyed by name
/datum/category_collection/New()
..()
categories = new()
categories_by_name = new()
for(var/category_type in typesof(category_group_type))
var/datum/category_group/category = category_type
if(initial(category.name))
category = new category(src)
categories += category
categories_by_name[category.name] = category
categories = dd_sortedObjectList(categories)
/datum/category_collection/Destroy()
@@ -26,20 +29,23 @@
******************/
/datum/category_group
var/name = ""
var/category_item_type // The type of items to initialize
var/list/datum/category_item/items // The list of initialized items
var/datum/category_collection/collection // The collection this group belongs to
var/category_item_type // Type of items to initialize
var/list/datum/category_item/items // List of initialized items
var/list/datum/category_item/items_by_name // Associative list of initialized items, by name
var/datum/category_collection/collection // The collection this group belongs to
/datum/category_group/New(var/datum/category_collection/cc)
..()
collection = cc
items = new()
items_by_name = new()
for(var/item_type in typesof(category_item_type))
var/datum/category_item/item = item_type
if(initial(item.name))
item = new item(src)
items += item
items_by_name[item.name] = item
// For whatever reason dd_insertObjectList(items, item) doesn't insert in the correct order
// If you change this, confirm that character setup doesn't become completely unordered.
+145
View File
@@ -0,0 +1,145 @@
/datum/category_item/underwear/bottom/none
name = "None"
always_last = TRUE
/datum/category_item/underwear/bottom/briefs_white
name = "Briefs, white"
icon_state = "b1"
/datum/category_item/underwear/bottom/briefs_white/is_default(var/gender)
return gender != FEMALE
/datum/category_item/underwear/bottom/briefs_grey
name = "Briefs, grey"
icon_state = "b2"
/datum/category_item/underwear/bottom/briefs_green
name = "Briefs, green"
icon_state = "b3"
/datum/category_item/underwear/bottom/briefs_blue
name = "Briefs, blue"
icon_state = "b4"
/datum/category_item/underwear/bottom/briefs_black
name = "Briefs, black"
icon_state = "b5"
/datum/category_item/underwear/bottom/panties_noback
name = "Panties, noback"
icon_state = "b6"
/datum/category_item/underwear/bottom/boxers_loveheart
name = "Boxers, Loveheart"
icon_state = "b7"
/datum/category_item/underwear/bottom/boxers_black
name = "Boxers, black"
icon_state = "b8"
/datum/category_item/underwear/bottom/boxers_grey
name = "Boxers, grey"
icon_state = "b9"
/datum/category_item/underwear/bottom/boxers_green_and_blue
name = "Boxers, green & blue striped"
icon_state = "b10"
/datum/category_item/underwear/bottom/panties_red
name = "Panties, red"
icon_state = "b11"
/datum/category_item/underwear/bottom/panties_white
name = "Panties, white"
icon_state = "b12"
/datum/category_item/underwear/bottom/panties_white/is_default(var/gender)
return gender == FEMALE
/datum/category_item/underwear/bottom/panties_yellow
name = "Panties, yellow"
icon_state = "b13"
/datum/category_item/underwear/bottom/panties_blue
name = "Panties, blue"
icon_state = "b14"
/datum/category_item/underwear/bottom/panties_light_black
name = "Panties, light-black"
icon_state = "b15"
/datum/category_item/underwear/bottom/thong
name = "Thong"
icon_state = "b16"
/datum/category_item/underwear/bottom/panties_black
name = "Panties, black"
icon_state = "b17"
/datum/category_item/underwear/bottom/panties_white_alt
name = "Bra, white alt"
icon_state = "b18"
/datum/category_item/underwear/bottom/compression_shorts_black
name = "Compression shorts, black"
icon_state = "b19"
/datum/category_item/underwear/bottom/compression_shorts_white
name = "Compression shorts, white"
icon_state = "b20"
/datum/category_item/underwear/bottom/compression_shorts_baby_blue
name = "Compression shorts, baby-blue"
icon_state = "b21"
/datum/category_item/underwear/bottom/panties_green
name = "Panties, green"
icon_state = "b22"
/datum/category_item/underwear/bottom/compression_shorts_pink
name = "Compression shorts, pink"
icon_state = "b23"
/datum/category_item/underwear/bottom/thong_violet
name = "Thong, violet"
icon_state = "b24"
/datum/category_item/underwear/bottom/thong_alt
name = "Thong, alt"
icon_state = "b25"
/datum/category_item/underwear/bottom/thong_violet_alt
name = "Thong, violet alt"
icon_state = "b26"
/datum/category_item/underwear/bottom/alt_thong_black
name = "Alt. thong, black"
icon_state = "b27"
/datum/category_item/underwear/bottom/alt_thong_blue
name = "Alt. thong, blue"
icon_state = "b28"
/datum/category_item/underwear/bottom/alt_thong_green
name = "Alt. thong, green"
icon_state = "b29"
/datum/category_item/underwear/bottom/alt_thong_purple
name = "Alt. thong, purple"
icon_state = "b30"
/datum/category_item/underwear/bottom/alt_thong_red
name = "Alt. thong, red"
icon_state = "b31"
/datum/category_item/underwear/bottom/alt_thong_teal
name = "Alt. thong, teal"
icon_state = "b32"
/datum/category_item/underwear/bottom/alt_thong_violet
name = "Alt. thong, violet"
icon_state = "b33"
/datum/category_item/underwear/bottom/alt_thong_white
name = "Alt. thong, white"
icon_state = "b34"
+75
View File
@@ -0,0 +1,75 @@
/datum/category_item/underwear/socks/none
always_last = TRUE
name = "None"
/datum/category_item/underwear/socks/white_normal
name = "Normal, white"
icon_state = "white_norm"
/datum/category_item/underwear/socks/white_short
name = "Short, white"
icon_state = "white_short"
/datum/category_item/underwear/socks/white_knee
name = "Knee, white"
icon_state = "white_knee"
/datum/category_item/underwear/socks/white_thigh
name = "Thigh, white"
icon_state = "white_thigh"
/datum/category_item/underwear/socks/black_normal
name = "Normal, black"
icon_state = "black_norm"
/datum/category_item/underwear/socks/black_short
name = "Short, black"
icon_state = "black_short"
/datum/category_item/underwear/socks/black_knee
name = "Knee, black"
icon_state = "black_knee"
/datum/category_item/underwear/socks/black_thigh
name = "Thigh, black"
icon_state = "black_thigh"
/datum/category_item/underwear/socks/thin_knee
name = "Knee, thin"
icon_state = "thin_knee"
/datum/category_item/underwear/socks/thin_thigh
name = "Thigh, thin"
icon_state = "thin_thigh"
/datum/category_item/underwear/socks/pantyhose
name = "Pantyhose"
icon_state = "pantyhose"
/datum/category_item/underwear/socks/striped_thigh
name = "Thigh, striped"
icon_state = "striped_thigh"
/datum/category_item/underwear/socks/striped_knee
name = "Knee, striped"
icon_state = "striped_knee"
/datum/category_item/underwear/socks/rainbow_thigh
name = "Thigh, rainbow"
icon_state = "rainbow_thigh"
/datum/category_item/underwear/socks/rainbow_knee
name = "Knee, rainbow"
icon_state = "rainbow_knee"
/datum/category_item/underwear/socks/fishnet
name = "Fishnet"
icon_state = "fishnet"
/datum/category_item/underwear/socks/thinwhite_thigh
name = "Thigh, thin white"
icon_state = "thinwhite_thigh"
/datum/category_item/underwear/socks/thinwhite_knee
name = "Knee, thin white"
icon_state = "thinwhite_knee"
+106
View File
@@ -0,0 +1,106 @@
/datum/category_item/underwear/top/none
name = "None"
always_last = TRUE
/datum/category_item/underwear/top/none/is_default(var/gender)
return gender != FEMALE
/datum/category_item/underwear/top/bra_red
name = "Bra, red"
icon_state = "t1"
/datum/category_item/underwear/top/bra_white
is_default = TRUE
name = "Bra, white"
icon_state = "t2"
/datum/category_item/underwear/top/bra_white/is_default(var/gender)
return gender == FEMALE
/datum/category_item/underwear/top/bra_yellow
name = "Bra, yellow"
icon_state = "t3"
/datum/category_item/underwear/top/bra_blue
name = "Bra, blue"
icon_state = "t4"
/datum/category_item/underwear/top/bra_black
name = "Bra, black"
icon_state = "t5"
/datum/category_item/underwear/top/lacy_bra
name = "Lacy bra"
icon_state = "t6"
/datum/category_item/underwear/top/sports_bra_black
name = "Sports bra, black"
icon_state = "t7"
/datum/category_item/underwear/top/sports_bra_white
name = "Sports bra, white"
icon_state = "t8"
/datum/category_item/underwear/top/sports_bra_black_alt
name = "Sports bra, black alt"
icon_state = "t9"
/datum/category_item/underwear/top/sports_bra_white_alt
name = "Sports bra, white alt"
icon_state = "t10"
/datum/category_item/underwear/top/bra_baby_blue
name = "Bra, baby blue"
icon_state = "t11"
/datum/category_item/underwear/top/bra_green
name = "Bra, green"
icon_state = "t12"
/datum/category_item/underwear/top/bra_pink
name = "Bra, pink"
icon_state = "t13"
/datum/category_item/underwear/top/bra_violet
name = "Bra, violet"
icon_state = "t14"
/datum/category_item/underwear/top/lacy_bra_alt
name = "Lacy bra, alt"
icon_state = "t15"
/datum/category_item/underwear/top/bra_lacy_violet
name = "Lacy bra, violet"
icon_state = "t16"
/datum/category_item/underwear/top/halterneck_bra_black
name = "Halterneck bra, black"
icon_state = "t17"
/datum/category_item/underwear/top/halterneck_bra_blue
name = "Halterneck bra, blue"
icon_state = "t18"
/datum/category_item/underwear/top/halterneck_bra_green
name = "Halterneck bra, green"
icon_state = "t19"
/datum/category_item/underwear/top/halterneck_bra_purple
name = "Halterneck bra, purple"
icon_state = "t20"
/datum/category_item/underwear/top/halterneck_bra_red
name = "Halterneck bra, red"
icon_state = "t21"
/datum/category_item/underwear/top/halterneck_bra_teal
name = "Halterneck bra, teal"
icon_state = "t22"
/datum/category_item/underwear/top/halterneck_bra_violet
name = "Halterneck bra, violet"
icon_state = "t23"
/datum/category_item/underwear/top/halterneck_bra_white
name = "Halterneck bra, white"
icon_state = "t24"
+140
View File
@@ -0,0 +1,140 @@
/datum/category_item/underwear/undershirt/none
is_default = TRUE
name = "None"
always_last = TRUE
/datum/category_item/underwear/undershirt/tank_top_white
name = "Tank top, white"
icon_state = "u1"
/datum/category_item/underwear/undershirt/tank_top_white_alt
name = "Tank top, white alt"
icon_state = "tank_white_s"
/datum/category_item/underwear/undershirt/tank_top_black
name = "Tank top, black"
icon_state = "u2"
/datum/category_item/underwear/undershirt/tank_top_red
name = "Tank top, red"
icon_state = "tank_red_s"
/datum/category_item/underwear/undershirt/tank_top_fire
name = "Tank top, fire"
icon_state = "tank_fire_s"
/datum/category_item/underwear/undershirt/shirt_black
name = "Shirt, black"
icon_state = "u3"
/datum/category_item/underwear/undershirt/shirt_black_alt
name = "Shirt, black alt"
icon_state = "shirt_black_s"
/datum/category_item/underwear/undershirt/shirt_white
name = "Shirt, white"
icon_state = "u4"
/datum/category_item/underwear/undershirt/shirt_white_alt
name = "Shirt, white alt"
icon_state = "shirt_white_s"
/datum/category_item/underwear/undershirt/shirt_grey
name = "Shirt, grey"
icon_state = "shirt_grey_s"
/datum/category_item/underwear/undershirt/shirt_blue
name = "Shirt, blue"
icon_state = "blueshirt_s"
/datum/category_item/underwear/undershirt/shirt_blue_alt
name = "Shirt, blue alt"
icon_state = "shirt_blue_s"
/datum/category_item/underwear/undershirt/shirt_red
name = "Shirt, red"
icon_state = "redshirt_s"
/datum/category_item/underwear/undershirt/shirt_red_alt
name = "Shirt, red alt"
icon_state = "shirt_red_s"
/datum/category_item/underwear/undershirt/shirt_yellow
name = "Shirt, yellow"
icon_state = "yellowshirt_s"
/datum/category_item/underwear/undershirt/shirt_green
name = "Shirt, green"
icon_state = "greenshirt_s"
/datum/category_item/underwear/undershirt/shirt_green_alt
name = "Shirt, green alt"
icon_state = "shirt_green_s"
/datum/category_item/underwear/undershirt/shirt_heart
name = "Shirt, heart"
icon_state = "lover_s"
/datum/category_item/underwear/undershirt/shirt_nt
name = "Shirt, NT"
icon_state = "shirt_nano_s"
/datum/category_item/underwear/undershirt/shirt_love_nt
name = "Shirt, I<3NT"
icon_state = "lover_s"
/datum/category_item/underwear/undershirt/shortsleeve_shirt_white
name = "Shortsleeve shirt, white"
icon_state = "whiteshortsleeve_s"
/datum/category_item/underwear/undershirt/shortsleeve_shirt_purple
name = "Shortsleeve shirt, purple"
icon_state = "purpleshortsleeve_s"
/datum/category_item/underwear/undershirt/shortsleeve_shirt_blue
name = "Shortsleeve shirt, blue"
icon_state = "blueshortsleeve_s"
/datum/category_item/underwear/undershirt/shortsleeve_shirt_green
name = "Shortsleeve shirt, green"
icon_state = "greenshortsleeve_s"
/datum/category_item/underwear/undershirt/shortsleeve_shirt_black
name = "Shortsleeve shirt, black"
icon_state = "blackshortsleeve_s"
/datum/category_item/underwear/undershirt/polo_shirt_blue
name = "Polo shirt, blue"
icon_state = "bluepolo_s"
/datum/category_item/underwear/undershirt/polo_shirt_red
name = "Polo shirt, red"
icon_state = "redpolo_s"
/datum/category_item/underwear/undershirt/polo_shirt_white
name = "Polo shirt, white"
icon_state = "whitepolo_s"
/datum/category_item/underwear/undershirt/polo_shirt_grey_yellow
name = "Polo shirt, grey and yellow"
icon_state = "grayyellowpolo_s"
/datum/category_item/underwear/undershirt/sport_shirt_green
name = "Sport shirt, green"
icon_state = "greenshirtsport_s"
/datum/category_item/underwear/undershirt/sport_shirt_red
name = "Sport shirt, red"
icon_state = "redshirtsport_s"
/datum/category_item/underwear/undershirt/sport_shirt_blue
name = "Sport shirt, blue"
icon_state = "blueshirtsport_s"
/datum/category_item/underwear/undershirt/shirt_tiedye
name = "Shirt, tiedye"
icon_state = "shirt_tiedye_s"
/datum/category_item/underwear/undershirt/shirt_blue_striped
name = "Shirt, blue stripes"
icon_state = "shirt_stripes_s"
+56
View File
@@ -0,0 +1,56 @@
/****************************
* Category Collection Setup *
****************************/
/datum/category_collection/underwear
category_group_type = /datum/category_group/underwear
/*************
* Categories *
*************/
/datum/category_group/underwear
var/sort_order // Lower sort order is applied as icons first
datum/category_group/underwear/dd_SortValue()
return sort_order
/datum/category_group/underwear/top
name = "Underwear, top"
sort_order = 1
category_item_type = /datum/category_item/underwear/top
/datum/category_group/underwear/bottom
name = "Underwear, bottom"
sort_order = 2
category_item_type = /datum/category_item/underwear/bottom
/datum/category_group/underwear/socks
name = "Socks"
sort_order = 3
category_item_type = /datum/category_item/underwear/socks
/datum/category_group/underwear/undershirt
name = "Undershirt"
sort_order = 4 // Undershirts currently have the highest sort order because they may cover both underwear and socks.
category_item_type = /datum/category_item/underwear/undershirt
/*******************
* Category entries *
*******************/
/datum/category_item/underwear
var/always_last = FALSE // Should this entry be sorte last?
var/is_default = FALSE // Should this entry be considered the default for its type?
var/icon = 'icons/mob/human.dmi' // Which icon to get the underwear from
var/icon_state // And the particular item state
/datum/category_item/underwear/dd_SortValue()
if(always_last)
return "~"+name
return name
/datum/category_item/underwear/proc/is_default(var/gender)
return is_default
/datum/category_item/underwear/proc/apply_to_icon(var/icon/I)
if(!icon_state)
return
I.Blend(new /icon('icons/mob/human.dmi', icon_state), ICON_OVERLAY)