From b2916bbb563c2f33e4ca53b1d2b54707d082dce3 Mon Sep 17 00:00:00 2001 From: Yoshax Date: Fri, 11 Mar 2016 19:26:50 +0000 Subject: [PATCH] Splits underwear into top and bottom --- code/_helpers/global_lists.dm | 8 ++++ code/_onclick/hud/human.dm | 3 +- code/game/gamemodes/cult/runes.dm | 3 +- .../game/objects/structures/under_wardrobe.dm | 3 +- .../preference_setup/general/04_equipment.dm | 41 +++++++++++++------ code/modules/client/preferences.dm | 6 ++- .../mob/living/carbon/human/human_defines.dm | 3 +- .../mob/living/carbon/human/update_icons.dm | 6 ++- .../mob/new_player/preferences_setup.dm | 21 ++++++---- 9 files changed, 66 insertions(+), 28 deletions(-) diff --git a/code/_helpers/global_lists.dm b/code/_helpers/global_lists.dm index abb5bd4de6..8b2703f916 100644 --- a/code/_helpers/global_lists.dm +++ b/code/_helpers/global_lists.dm @@ -53,6 +53,14 @@ var/global/list/underwear_f = list( "Red" = "f1", "White" = "f2", "Yellow" = "f3", "Blue" = "f4", "Black" = "f5", "Thong" = "f6", "Black Sports" = "f7","White Sports" = "f8", "Black Sports Alt" = "f9", "White Sports Alt" = "f10", "Baby Blue" = "f11", "Green" = "f12", "Pink" = "f13", "Violet" = "f14", "Thong Alt" = "f15", "Thong Alt Violet" = "f16", "None") +var/global/list/underwear_top = list( + "Red" = "f1", "White" = "f2", "Yellow" = "f3", "Blue" = "f4", "Black" = "f5", "Thong" = "f6", + "Black Sports" = "f7","White Sports" = "f8", "Black Sports Alt" = "f9", "White Sports Alt" = "f10", "Baby Blue" = "f11", "Green" = "f12", "Pink" = "f13", + "Violet" = "f14", "Thong Alt" = "f15", "Thong Alt Violet" = "f16", "None") +var/global/list/underwear_bottom = list( + "Red" = "f1", "White" = "f2", "Yellow" = "f3", "Blue" = "f4", "Black" = "f5", "Thong" = "f6", + "Black Sports" = "f7","White Sports" = "f8", "Black Sports Alt" = "f9", "White Sports Alt" = "f10", "Baby Blue" = "f11", "Green" = "f12", "Pink" = "f13", + "Violet" = "f14", "Thong Alt" = "f15", "Thong Alt Violet" = "f16", "None") //undershirt var/global/list/undershirt_t = list( "White tank top" = "u1", "Black tank top" = "u2", "Black shirt" = "u3", diff --git a/code/_onclick/hud/human.dm b/code/_onclick/hud/human.dm index 2ee17dedce..751021892c 100644 --- a/code/_onclick/hud/human.dm +++ b/code/_onclick/hud/human.dm @@ -388,7 +388,8 @@ if(dna.species == "Human") //no more xenos losing ears/tentacles h_style = pick("Bedhead", "Bedhead 2", "Bedhead 3") undershirt = null - underwear = null + underwear_top = null + underwear_bottom = null socks = null regenerate_icons() diff --git a/code/game/gamemodes/cult/runes.dm b/code/game/gamemodes/cult/runes.dm index 06eb8fd7c2..7824debd8b 100644 --- a/code/game/gamemodes/cult/runes.dm +++ b/code/game/gamemodes/cult/runes.dm @@ -468,7 +468,8 @@ var/list/sacrificed = list() D.r_eyes = 200 D.g_eyes = 200 D.update_eyes() - D.underwear = 0 + D.underwear_top = 0 + D.underwear_bottom = 0 D.key = ghost.key cult.add_antagonist(D.mind) diff --git a/code/game/objects/structures/under_wardrobe.dm b/code/game/objects/structures/under_wardrobe.dm index 655eb5c510..d6264bac9e 100644 --- a/code/game/objects/structures/under_wardrobe.dm +++ b/code/game/objects/structures/under_wardrobe.dm @@ -35,7 +35,8 @@ else if(utype == "Socks") H.socks = selection[pick] else - H.underwear = selection[pick] + H.underwear_top = selection[pick] + H.underwear_bottom = selection[pick] H.update_body(1) return 1 \ No newline at end of file diff --git a/code/modules/client/preference_setup/general/04_equipment.dm b/code/modules/client/preference_setup/general/04_equipment.dm index 516dd33cdd..387fc719eb 100644 --- a/code/modules/client/preference_setup/general/04_equipment.dm +++ b/code/modules/client/preference_setup/general/04_equipment.dm @@ -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() . += "Equipment:
" - . += "Underwear: [get_key_by_value(get_undies(),pref.underwear)]
" + . += "Underwear Top: [get_key_by_value(get_undies_top(),pref.underwear_top)]
" + . += "Underwear Bottom: [get_key_by_value(get_undies_bottom(),pref.underwear_bottom)]
" . += "Undershirt: [get_key_by_value(undershirt_t,pref.undershirt)]
" . += "Socks: [get_key_by_value(socks_t,pref.socks)]
" . += "Backpack Type: [backbaglist[pref.backbag]]
" . += "PDA Type: [pdachoicelist[pref.pdachoice]]
" -/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"]) diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index 73531b82e2..313e507498 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -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 diff --git a/code/modules/mob/living/carbon/human/human_defines.dm b/code/modules/mob/living/carbon/human/human_defines.dm index 22acad9445..2cb4ad5abf 100644 --- a/code/modules/mob/living/carbon/human/human_defines.dm +++ b/code/modules/mob/living/carbon/human/human_defines.dm @@ -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. diff --git a/code/modules/mob/living/carbon/human/update_icons.dm b/code/modules/mob/living/carbon/human/update_icons.dm index 998b7db978..6d5c3a5623 100644 --- a/code/modules/mob/living/carbon/human/update_icons.dm +++ b/code/modules/mob/living/carbon/human/update_icons.dm @@ -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) diff --git a/code/modules/mob/new_player/preferences_setup.dm b/code/modules/mob/new_player/preferences_setup.dm index f7416c5024..d2687e3bb6 100644 --- a/code/modules/mob/new_player/preferences_setup.dm +++ b/code/modules/mob/new_player/preferences_setup.dm @@ -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)