diff --git a/code/modules/client/preference_setup/general/04_equipment.dm b/code/modules/client/preference_setup/general/04_equipment.dm
index bf933932b83..6139f30a1b3 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,12 @@
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
+
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 66a029900b6..5199eb0b697 100644
--- a/code/modules/client/preferences.dm
+++ b/code/modules/client/preferences.dm
@@ -32,6 +32,7 @@ datum/preferences
var/b_type = "A+" //blood type (not-chooseable)
var/underwear //underwear type
var/undershirt //undershirt type
+ var/socks //socks type
var/backbag = 2 //backpack type
var/h_style = "Bald" //Hair type
var/r_hair = 0 //Hair color
@@ -333,6 +334,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 e634f5224be..d89268fe1b9 100644
--- a/code/modules/mob/living/carbon/human/update_icons.dm
+++ b/code/modules/mob/living/carbon/human/update_icons.dm
@@ -337,7 +337,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..a3f81168b78 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,15 @@ 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)
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
diff --git a/polaris.dme b/polaris.dme
index e4b974598b9..84ee48c8905 100644
--- a/polaris.dme
+++ b/polaris.dme
@@ -145,6 +145,7 @@
#include "code\datums\ai_law_sets.dm"
#include "code\datums\ai_laws.dm"
#include "code\datums\browser.dm"
+#include "code\datums\category.dm"
#include "code\datums\computerfiles.dm"
#include "code\datums\crew.dm"
#include "code\datums\datacore.dm"
@@ -999,6 +1000,20 @@
#include "code\modules\client\preferences_spawnpoints.dm"
#include "code\modules\client\preferences_toggles.dm"
#include "code\modules\client\ui_style.dm"
+#include "code\modules\client\preference_setup\preference_setup.dm"
+#include "code\modules\client\preference_setup\antagonism\01_basic.dm"
+#include "code\modules\client\preference_setup\antagonism\02_candidacy.dm"
+#include "code\modules\client\preference_setup\general\01_basic.dm"
+#include "code\modules\client\preference_setup\general\02_language.dm"
+#include "code\modules\client\preference_setup\general\03_body.dm"
+#include "code\modules\client\preference_setup\general\04_equipment.dm"
+#include "code\modules\client\preference_setup\general\05_background.dm"
+#include "code\modules\client\preference_setup\general\06_flavor.dm"
+#include "code\modules\client\preference_setup\global\01_ui.dm"
+#include "code\modules\client\preference_setup\global\02_settings.dm"
+#include "code\modules\client\preference_setup\global\03_pai.dm"
+#include "code\modules\client\preference_setup\occupation\occupation.dm"
+#include "code\modules\client\preference_setup\skills\skills.dm"
#include "code\modules\clothing\chameleon.dm"
#include "code\modules\clothing\clothing.dm"
#include "code\modules\clothing\ears\skrell.dm"