diff --git a/code/modules/client/preference_setup/general/04_equipment.dm b/code/modules/client/preference_setup/general/04_equipment.dm
index bf933932b83..8d9db3f28e2 100644
--- a/code/modules/client/preference_setup/general/04_equipment.dm
+++ b/code/modules/client/preference_setup/general/04_equipment.dm
@@ -5,12 +5,14 @@
/datum/category_item/player_setup_item/general/equipment/load_character(var/savefile/S)
S["underwear"] >> pref.underwear
S["undershirt"] >> pref.undershirt
+ S["socks"] >> pref.socks
S["backbag"] >> pref.backbag
S["gear"] >> pref.gear
/datum/category_item/player_setup_item/general/equipment/save_character(var/savefile/S)
S["underwear"] << pref.underwear
S["undershirt"] << pref.undershirt
+ S["socks"] << pref.socks
S["backbag"] << pref.backbag
S["gear"] << pref.gear
@@ -24,6 +26,8 @@
pref.underwear = undies[1]
if(!get_key_by_value(undershirt_t, pref.undershirt))
pref.undershirt = undershirt_t[1]
+ if(!get_key_by_value(socks_t, pref.socks))
+ pref.socks = socks_t[1]
var/total_cost = 0
for(var/gear_name in pref.gear)
@@ -42,6 +46,7 @@
. += "Equipment Loadout:
"
. += "Underwear: [get_key_by_value(get_undies(),pref.underwear)]
"
. += "Undershirt: [get_key_by_value(undershirt_t,pref.undershirt)]
"
+ . += "Socks: [get_key_by_value(socks_t,pref.socks)]
"
. += "Backpack Type: [backbaglist[pref.backbag]]
"
. += "
Custom Loadout:
"
@@ -92,6 +97,18 @@
pref.undershirt = undershirt_t[new_undershirt]
return TOPIC_REFRESH
+ else if(href_list["change_socks"])
+ var/new_socks = input(user, "Choose your character's socks:", "Character Preference", get_key_by_value(socks_t,pref.socks)) as null|anything in socks_t
+ if(!isnull(new_socks) && CanUseTopic(user))
+ pref.socks = socks_t[new_socks]
+ return TOPIC_REFRESH
+/*
++ if("socks")
++ var/r = pick(socks_t)
++ socks = socks_t[r]
++ ShowChoices(user)
+*/
+
else if(href_list["change_backpack"])
var/new_backbag = input(user, "Choose your character's style of bag:", "Character Preference", backbaglist[pref.backbag]) as null|anything in backbaglist
if(!isnull(new_backbag) && CanUseTopic(user))
diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm
index 65cf5526b43..82843a05554 100644
--- a/code/modules/client/preferences.dm
+++ b/code/modules/client/preferences.dm
@@ -333,6 +333,8 @@ datum/preferences
character.undershirt = undershirt
+ character.socks = socks
+
if(backbag > 4 || backbag < 1)
backbag = 1 //Same as above
character.backbag = backbag
diff --git a/code/modules/mob/living/carbon/human/update_icons.dm b/code/modules/mob/living/carbon/human/update_icons.dm
index 3940aba1846..30d2a4cd0b2 100644
--- a/code/modules/mob/living/carbon/human/update_icons.dm
+++ b/code/modules/mob/living/carbon/human/update_icons.dm
@@ -339,7 +339,7 @@ var/global/list/damage_icon_parts = list()
if(undershirt && species.appearance_flags & HAS_UNDERWEAR)
stand_icon.Blend(new /icon('icons/mob/human.dmi', undershirt), ICON_OVERLAY)
- if(socks && species.flags & HAS_UNDERWEAR)
+ if(socks && species.appearance_flags & HAS_UNDERWEAR)
stand_icon.Blend(new /icon('icons/mob/human.dmi', socks), ICON_OVERLAY)
if(update_icons)
diff --git a/code/modules/mob/new_player/preferences_setup.dm b/code/modules/mob/new_player/preferences_setup.dm
index 6b8bc2c4d3b..9bbec2c528d 100644
--- a/code/modules/mob/new_player/preferences_setup.dm
+++ b/code/modules/mob/new_player/preferences_setup.dm
@@ -211,18 +211,18 @@ datum/preferences
preview_icon.Blend(temp, ICON_OVERLAY)
// Skin color
- if(current_species && (current_species.flags & HAS_SKIN_COLOR))
+ if(current_species && (current_species.appearance_flags & HAS_SKIN_COLOR))
preview_icon.Blend(rgb(r_skin, g_skin, b_skin), ICON_ADD)
// Skin tone
- if(current_species && (current_species.flags & HAS_SKIN_TONE))
+ if(current_species && (current_species.appearance_flags & HAS_SKIN_TONE))
if (s_tone >= 0)
preview_icon.Blend(rgb(s_tone, s_tone, s_tone), ICON_ADD)
else
preview_icon.Blend(rgb(-s_tone, -s_tone, -s_tone), ICON_SUBTRACT)
var/icon/eyes_s = new/icon("icon" = 'icons/mob/human_face.dmi', "icon_state" = current_species ? current_species.eyes : "eyes_s")
- if ((current_species && (current_species.flags & HAS_EYE_COLOR)))
+ if ((current_species && (current_species.appearance_flags & HAS_EYE_COLOR)))
eyes_s.Blend(rgb(r_eyes, g_eyes, b_eyes), ICON_ADD)
var/datum/sprite_accessory/hair_style = hair_styles_list[h_style]
@@ -238,15 +238,16 @@ datum/preferences
eyes_s.Blend(facial_s, ICON_OVERLAY)
var/icon/underwear_s = null
- if(underwear && current_species.flags & HAS_UNDERWEAR)
+ if(underwear && current_species.appearance_flags & HAS_UNDERWEAR)
+// if(underwear)
underwear_s = new/icon("icon" = 'icons/mob/human.dmi', "icon_state" = underwear)
var/icon/undershirt_s = null
- if(undershirt && current_species.flags & HAS_UNDERWEAR)
+ if(undershirt && current_species.appearance_flags & HAS_UNDERWEAR)
undershirt_s = new/icon("icon" = 'icons/mob/human.dmi', "icon_state" = undershirt)
var/icon/socks_s = null
- if(socks && current_species.flags & HAS_UNDERWEAR)
+ if(socks && current_species.appearance_flags & HAS_UNDERWEAR)
socks_s = new/icon("icon" = 'icons/mob/human.dmi', "icon_state" = socks)
var/icon/clothes_s = null