Splits underwear into top and bottom

This commit is contained in:
Yoshax
2016-03-11 19:26:50 +00:00
parent 86239b52cd
commit b2916bbb56
9 changed files with 66 additions and 28 deletions

View File

@@ -3,14 +3,16 @@
sort_order = 4
/datum/category_item/player_setup_item/general/equipment/load_character(var/savefile/S)
S["underwear"] >> pref.underwear
S["underwear_top"] >> pref.underwear_top
S["underwear_bottom"] >> pref.underwear_bottom
S["undershirt"] >> pref.undershirt
S["socks"] >> pref.socks
S["backbag"] >> pref.backbag
S["pdachoice"] >> pref.pdachoice
/datum/category_item/player_setup_item/general/equipment/save_character(var/savefile/S)
S["underwear"] << pref.underwear
S["underwear_top"] << pref.underwear_top
S["underwear_bottom"] << pref.underwear_bottom
S["undershirt"] << pref.undershirt
S["socks"] << pref.socks
S["backbag"] << pref.backbag
@@ -22,9 +24,12 @@
if(!islist(pref.gear)) pref.gear = list()
var/undies = get_undies()
if(!get_key_by_value(undies, pref.underwear))
pref.underwear = undies[1]
var/undies_top = get_undies_top()
var/undies_bottom = get_undies_bottom()
if(!get_key_by_value(undies_top, pref.underwear_top))
pref.underwear_top = undies_top[1]
if(!get_key_by_value(undies_bottom, pref.underwear_bottom))
pref.underwear_bottom = undies_bottom[1]
if(!get_key_by_value(undershirt_t, pref.undershirt))
pref.undershirt = undershirt_t[1]
if(!get_key_by_value(socks_t, pref.socks))
@@ -32,21 +37,31 @@
/datum/category_item/player_setup_item/general/equipment/content()
. += "<b>Equipment:</b><br>"
. += "Underwear: <a href='?src=\ref[src];change_underwear=1'><b>[get_key_by_value(get_undies(),pref.underwear)]</b></a><br>"
. += "Underwear Top: <a href='?src=\ref[src];change_underwear_top=1'><b>[get_key_by_value(get_undies_top(),pref.underwear_top)]</b></a><br>"
. += "Underwear Bottom: <a href='?src=\ref[src];change_underwear_bottom=1'><b>[get_key_by_value(get_undies_bottom(),pref.underwear_bottom)]</b></a><br>"
. += "Undershirt: <a href='?src=\ref[src];change_undershirt=1'><b>[get_key_by_value(undershirt_t,pref.undershirt)]</b></a><br>"
. += "Socks: <a href='?src=\ref[src];change_socks=1'><b>[get_key_by_value(socks_t,pref.socks)]</b></a><br>"
. += "Backpack Type: <a href='?src=\ref[src];change_backpack=1'><b>[backbaglist[pref.backbag]]</b></a><br>"
. += "PDA Type: <a href='?src=\ref[src];change_pda=1'><b>[pdachoicelist[pref.pdachoice]]</b></a><br>"
/datum/category_item/player_setup_item/general/equipment/proc/get_undies()
return pref.gender == MALE ? underwear_m : underwear_f
/datum/category_item/player_setup_item/general/equipment/proc/get_undies_top()
return underwear_top
/datum/category_item/player_setup_item/general/equipment/proc/get_undies_bottom()
return underwear_bottom
/datum/category_item/player_setup_item/general/equipment/OnTopic(var/href,var/list/href_list, var/mob/user)
if(href_list["change_underwear"])
var/underwear_options = get_undies()
var/new_underwear = input(user, "Choose your character's underwear:", "Character Preference", get_key_by_value(get_undies(),pref.underwear)) as null|anything in underwear_options
if(!isnull(new_underwear) && CanUseTopic(user))
pref.underwear = underwear_options[new_underwear]
if(href_list["change_underwear_top"])
var/underwear_top_options = get_undies_top()
var/new_underwear_top = input(user, "Choose your character's top underwear:", "Character Preference", get_key_by_value(get_undies_top(),pref.underwear_top)) as null|anything in underwear_top_options
if(!isnull(new_underwear_top) && CanUseTopic(user))
pref.underwear_top = underwear_top_options[new_underwear_top]
return TOPIC_REFRESH
else if(href_list["change_underwear_bottom"])
var/underwear_bottom_options = get_undies_bottom()
var/new_underwear_bottom = input(user, "Choose your character's bottom underwear:", "Character Preference", get_key_by_value(get_undies_bottom(),pref.underwear_bottom)) as null|anything in underwear_bottom_options
if(!isnull(new_underwear_bottom) && CanUseTopic(user))
pref.underwear_bottom = underwear_bottom_options[new_underwear_bottom]
return TOPIC_REFRESH
else if(href_list["change_undershirt"])

View File

@@ -30,7 +30,8 @@ datum/preferences
var/age = 30 //age of character
var/spawnpoint = "Arrivals Shuttle" //where this character will spawn (0-2).
var/b_type = "A+" //blood type (not-chooseable)
var/underwear //underwear type
var/underwear_top
var/underwear_bottom
var/undershirt //undershirt type
var/socks //socks type
var/backbag = 2 //backpack type
@@ -333,7 +334,8 @@ datum/preferences
else if(status == "mechanical")
I.robotize()
character.underwear = underwear
character.underwear_bottom = underwear_bottom
character.underwear_top = underwear_top
character.undershirt = undershirt
character.socks = socks

View File

@@ -32,7 +32,8 @@
var/age = 30 //Player's age (pure fluff)
var/b_type = "A+" //Player's bloodtype
var/underwear = 1 //Which underwear the player wants
var/underwear_top = 1 //Which underwear the player wants
var/underwear_bottom = 1
var/undershirt = 0 //Which undershirt the player wants.
var/socks = 0 //Which socks the player wants.
var/backbag = 2 //Which backpack type the player has chosen. Nothing, Satchel or Backpack.

View File

@@ -320,8 +320,10 @@ var/global/list/damage_icon_parts = list()
stand_icon.Blend(base_icon,ICON_OVERLAY)
//Underwear
if(underwear && species.appearance_flags & HAS_UNDERWEAR)
stand_icon.Blend(new /icon('icons/mob/human.dmi', underwear), ICON_OVERLAY)
if(underwear_top && species.appearance_flags & HAS_UNDERWEAR)
stand_icon.Blend(new /icon('icons/mob/human.dmi', underwear_top), ICON_OVERLAY)
if(underwear_bottom && species.appearance_flags & HAS_UNDERWEAR)
stand_icon.Blend(new /icon('icons/mob/human.dmi', underwear_bottom), ICON_OVERLAY)
if(undershirt && species.appearance_flags & HAS_UNDERWEAR)
stand_icon.Blend(new /icon('icons/mob/human.dmi', undershirt), ICON_OVERLAY)

View File

@@ -12,7 +12,8 @@ datum/preferences
if(current_species.flags & HAS_SKIN_COLOR)
randomize_skin_color()
if(current_species.flags & HAS_UNDERWEAR)
underwear = rand(1,underwear_m.len)
underwear_top = rand(1,underwear_top.len)
underwear_bottom = rand(1,underwear_bottom.len)
undershirt = rand(1,undershirt_t.len)
@@ -278,9 +279,12 @@ datum/preferences
facial_s.Blend(rgb(r_facial, g_facial, b_facial), ICON_ADD)
eyes_s.Blend(facial_s, ICON_OVERLAY)
var/icon/underwear_s = null
if(underwear && current_species.appearance_flags & HAS_UNDERWEAR)
underwear_s = new/icon("icon" = 'icons/mob/human.dmi', "icon_state" = underwear)
var/icon/underwear_top_s = null
if(underwear_top && current_species.appearance_flags & HAS_UNDERWEAR)
underwear_top_s = new/icon("icon" = 'icons/mob/human.dmi', "icon_state" = underwear_top)
var/icon/underwear_bottom_s = null
if(underwear_bottom && current_species.appearance_flags & HAS_UNDERWEAR)
underwear_bottom_s = new/icon("icon" = 'icons/mob/human.dmi', "icon_state" = underwear_bottom)
var/icon/undershirt_s = null
if(undershirt && current_species.appearance_flags & HAS_UNDERWEAR)
@@ -723,8 +727,10 @@ datum/preferences
preview_icon.Blend(new /icon('icons/mob/eyes.dmi', "glasses"), ICON_OVERLAY)
preview_icon.Blend(eyes_s, ICON_OVERLAY)
if(underwear_s)
preview_icon.Blend(underwear_s, ICON_OVERLAY)
if(underwear_top_s)
preview_icon.Blend(underwear_top_s, ICON_OVERLAY)
if(underwear_bottom_s)
preview_icon.Blend(underwear_bottom_s, ICON_OVERLAY)
if(undershirt_s)
preview_icon.Blend(undershirt_s, ICON_OVERLAY)
if(socks_s)
@@ -735,7 +741,8 @@ datum/preferences
preview_icon_side = new(preview_icon, dir = WEST)
qdel(eyes_s)
qdel(underwear_s)
qdel(underwear_top_s)
qdel(underwear_bottom_s)
qdel(undershirt_s)
qdel(socks_s)
qdel(clothes_s)