mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2025-12-30 03:52:52 +00:00
Adding socks (#1284)
The long waited sock update; Socks are being added as another underwear like option, with some exclusive ones for females. Only humans (and squish) can have them atm. Also, I am nearly sure this will work.
This commit is contained in:
@@ -21,6 +21,7 @@
|
||||
#define HAS_UNDERWEAR 0x8 // Underwear is drawn onto the mob icon.
|
||||
#define HAS_EYE_COLOR 0x10 // Eye colour selectable in chargen. (RGB)
|
||||
#define HAS_HAIR_COLOR 0x20 // Hair colour selectable in chargen. (RGB)
|
||||
#define HAS_SOCKS 0x40 // If this species can wear socks
|
||||
|
||||
// Languages.
|
||||
#define LANGUAGE_EAL "Encoded Audio Language"
|
||||
|
||||
@@ -52,6 +52,22 @@ var/global/list/underwear_m = list("White" = "m1", "Grey" = "m2", "Green" = "m3"
|
||||
var/global/list/underwear_f = list("Red" = "f1", "White" = "f2", "Yellow" = "f3", "Blue" = "f4", "Black" = "f5", "Thong" = "f6", "Black Sports" = "f7","White Sports" = "f8","None")
|
||||
//undershirt
|
||||
var/global/list/undershirt_t = list("White Tank top" = "u1", "Black Tank top" = "u2", "Black shirt" = "u3", "White shirt" = "u4", "None")
|
||||
|
||||
//socks
|
||||
var/global/list/socks_f = list(
|
||||
"White normal" = "white_norm", "White short" = "white_short", "White knee" = "white_knee",
|
||||
"White thigh" = "white_thigh", "Black normal" = "black_norm", "Black short" = "black_short",
|
||||
"Black knee" = "black_knee", "Black thigh" = "black_thigh", "Striped normal" = "striped_norm",
|
||||
"Striped short" = "striped_short", "Striped knee" = "striped_knee", "Striped thigh" = "striped_thigh",
|
||||
"Rainbow normal" = "rainbow_norm", "Rainbow short" = "rainbow_short", "Rainbow knee" = "rainbow_knee",
|
||||
"Rainbow thigh" = "rainbow_thigh", "Pantyhose" = "pantyhose", "None")
|
||||
|
||||
var/global/list/socks_m = list(
|
||||
"White normal" = "white_norm", "White short" = "white_short", "White knee" = "white_knee",
|
||||
"Black normal" = "black_norm", "Black short" = "black_short", "Black knee" = "black_knee",
|
||||
"Striped normal" = "striped_norm", "Striped short" = "striped_short", "Striped knee" = "striped_knee",
|
||||
"Rainbow normal" = "rainbow_norm", "Rainbow short" = "rainbow_short", "Rainbow knee" = "rainbow_knee", "None")
|
||||
|
||||
//Backpacks
|
||||
var/global/list/backbaglist = list("Nothing", "Backpack", "Satchel", "Satchel Alt", "Duffel Bag")
|
||||
var/global/list/exclude_jobs = list(/datum/job/ai,/datum/job/cyborg)
|
||||
|
||||
@@ -385,4 +385,5 @@
|
||||
h_style = pick("Bedhead", "Bedhead 2", "Bedhead 3")
|
||||
undershirt = null
|
||||
underwear = null
|
||||
socks = null
|
||||
regenerate_icons()
|
||||
|
||||
@@ -5,26 +5,28 @@
|
||||
/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
|
||||
|
||||
/datum/category_item/player_setup_item/general/equipment/gather_load_query()
|
||||
return list("ss13_characters" = list("vars" = list("underwear", "undershirt", "backbag", "gear"), "args" = list("id")))
|
||||
return list("ss13_characters" = list("vars" = list("underwear", "undershirt", "socks", "backbag", "gear"), "args" = list("id")))
|
||||
|
||||
/datum/category_item/player_setup_item/general/equipment/gather_load_parameters()
|
||||
return list(":id" = pref.current_character)
|
||||
|
||||
/datum/category_item/player_setup_item/general/equipment/gather_save_query()
|
||||
return list("ss13_characters" = list("underwear", "undershirt", "backbag", "gear", "id" = 1))
|
||||
return list("ss13_characters" = list("underwear", "undershirt", "socks", "backbag", "gear", "id" = 1))
|
||||
|
||||
/datum/category_item/player_setup_item/general/equipment/gather_save_parameters()
|
||||
return list(":underwear" = pref.underwear, ":undershirt" = pref.undershirt, ":backbag" = pref.backbag, ":gear" = list2params(pref.gear), ":id" = pref.current_character)
|
||||
return list(":underwear" = pref.underwear, ":undershirt" = pref.undershirt, ":socks" = pref.socks, ":backbag" = pref.backbag, ":gear" = list2params(pref.gear), ":id" = pref.current_character)
|
||||
|
||||
/datum/category_item/player_setup_item/general/equipment/sanitize_character(var/sql_load = 0)
|
||||
if (sql_load)
|
||||
@@ -37,10 +39,13 @@
|
||||
pref.gear = list()
|
||||
|
||||
var/undies = get_undies()
|
||||
var/gender_socks = get_gender_socks()
|
||||
if(!get_key_by_value(undies, pref.underwear))
|
||||
pref.underwear = undies[1]
|
||||
if(!get_key_by_value(undershirt_t, pref.undershirt))
|
||||
pref.undershirt = undershirt_t[1]
|
||||
if(!get_key_by_value(gender_socks, pref.socks))
|
||||
pref.socks = gender_socks[1]
|
||||
|
||||
var/total_cost = 0
|
||||
for(var/gear_name in pref.gear)
|
||||
@@ -59,6 +64,7 @@
|
||||
. += "<b>Equipment Loadout:</b><br>"
|
||||
. += "Underwear: <a href='?src=\ref[src];change_underwear=1'><b>[get_key_by_value(get_undies(),pref.underwear)]</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(get_gender_socks(),pref.socks)]</b></a><br>"
|
||||
. += "Backpack Type: <a href='?src=\ref[src];change_backpack=1'><b>[backbaglist[pref.backbag]]</b></a><br>"
|
||||
|
||||
. += "<br><b>Custom Loadout:</b><br>"
|
||||
@@ -83,6 +89,9 @@
|
||||
|
||||
/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_gender_socks()
|
||||
return pref.gender == MALE ? socks_m : socks_f
|
||||
|
||||
/datum/category_item/player_setup_item/general/equipment/proc/valid_gear_choices(var/max_cost)
|
||||
var/list/valid_gear_choices = list()
|
||||
@@ -109,6 +118,13 @@
|
||||
pref.undershirt = undershirt_t[new_undershirt]
|
||||
return TOPIC_REFRESH
|
||||
|
||||
else if(href_list["change_socks"])
|
||||
var/socks_options = get_gender_socks()
|
||||
var/new_socks = input(user, "Choose your character's socks:", "Character Preference", get_key_by_value(get_gender_socks(),pref.socks)) as null|anything in socks_options
|
||||
if(!isnull(new_socks) && CanUseTopic(user))
|
||||
pref.socks = socks_options[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))
|
||||
|
||||
@@ -38,6 +38,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/hair_colour = "#000000" //Hair colour hex value, for SQL loading
|
||||
@@ -397,6 +398,8 @@ datum/preferences
|
||||
character.underwear = underwear
|
||||
|
||||
character.undershirt = undershirt
|
||||
|
||||
character.socks = socks
|
||||
|
||||
if(backbag > 5 || backbag < 1)
|
||||
backbag = 1 //Same as above
|
||||
|
||||
@@ -34,6 +34,7 @@
|
||||
|
||||
var/underwear = 1 //Which underwear the player wants
|
||||
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.
|
||||
|
||||
// General information
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
name_language = null // Use the first-name last-name generator rather than a language scrambler
|
||||
|
||||
spawn_flags = CAN_JOIN
|
||||
appearance_flags = HAS_HAIR_COLOR | HAS_SKIN_TONE | HAS_LIPS | HAS_UNDERWEAR | HAS_EYE_COLOR
|
||||
appearance_flags = HAS_HAIR_COLOR | HAS_SKIN_TONE | HAS_LIPS | HAS_UNDERWEAR | HAS_EYE_COLOR | HAS_SOCKS
|
||||
|
||||
stamina = 130 // Humans can sprint for longer than any other species
|
||||
stamina_recovery = 5
|
||||
@@ -175,7 +175,7 @@
|
||||
rarity_value = 3
|
||||
|
||||
spawn_flags = CAN_JOIN | IS_WHITELISTED
|
||||
appearance_flags = HAS_HAIR_COLOR | HAS_LIPS | HAS_UNDERWEAR | HAS_SKIN_COLOR
|
||||
appearance_flags = HAS_HAIR_COLOR | HAS_LIPS | HAS_UNDERWEAR | HAS_SKIN_COLOR | HAS_SOCKS
|
||||
|
||||
flesh_color = "#8CD7A3"
|
||||
blood_color = "#1D2CBF"
|
||||
|
||||
@@ -343,6 +343,9 @@ 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.appearance_flags & HAS_SOCKS)
|
||||
stand_icon.Blend(new /icon('icons/mob/human.dmi', socks), ICON_OVERLAY)
|
||||
|
||||
if(update_icons)
|
||||
update_icons()
|
||||
|
||||
@@ -17,6 +17,11 @@ datum/preferences
|
||||
else
|
||||
underwear = underwear_m[pick(underwear_m)]
|
||||
undershirt = undershirt_t[pick(undershirt_t)]
|
||||
if(current_species.appearance_flags & HAS_SOCKS)
|
||||
if(gender == FEMALE)
|
||||
socks = socks_f[pick(socks_f)]
|
||||
else
|
||||
socks = socks_m[pick(socks_m)]
|
||||
|
||||
h_style = random_hair_style(gender, species)
|
||||
f_style = random_facial_hair_style(gender, species)
|
||||
|
||||
Reference in New Issue
Block a user