Adds socks as an underwear option.

This commit is contained in:
TZK13
2014-12-22 19:27:46 -06:00
parent c002d11ee7
commit 127aabbfa9
12 changed files with 139 additions and 4 deletions
+2
View File
@@ -11,6 +11,8 @@
init_sprite_accessory_subtypes(/datum/sprite_accessory/underwear, underwear_list, underwear_m, underwear_f)
//undershirt
init_sprite_accessory_subtypes(/datum/sprite_accessory/undershirt, undershirt_list, undershirt_m, undershirt_f)
//socks
init_sprite_accessory_subtypes(/datum/sprite_accessory/socks, socks_list, socks_m, socks_f)
//Species
for(var/spath in typesof(/datum/species))
+8
View File
@@ -28,6 +28,14 @@
if(FEMALE) return pick(undershirt_f)
else return pick(undershirt_list)
/proc/random_socks(gender)
if(!socks_list.len)
init_sprite_accessory_subtypes(/datum/sprite_accessory/socks, socks_list, socks_m, socks_f)
switch(gender)
if(MALE) return pick(socks_m)
if(FEMALE) return pick(socks_f)
else return pick(socks_list)
/proc/random_hair_style(gender)
switch(gender)
if(MALE) return pick(hair_styles_male_list)
+4
View File
@@ -14,6 +14,10 @@ var/global/list/underwear_f = list() //stores only underwear name
var/global/list/undershirt_list = list() //stores /datum/sprite_accessory/undershirt indexed by name
var/global/list/undershirt_m = list() //stores only undershirt name
var/global/list/undershirt_f = list() //stores only undershirt name
//Socks
var/global/list/socks_list = list() //stores /datum/sprite_accessory/socks indexed by name
var/global/list/socks_m = list() //stores only socks name
var/global/list/socks_f = list() //stores only socks name
//Backpacks
var/global/list/backbaglist = list("Nothing", "Backpack", "Satchel")
//Female Uniforms
+5 -1
View File
@@ -12,7 +12,7 @@
if(ishuman(user))
var/mob/living/carbon/human/H = user
var/choice = input(user, "Underwear or Undershirt?", "Changing") as null|anything in list("Underwear","Undershirt")
var/choice = input(user, "Underwear or Undershirt or Socks?", "Changing") as null|anything in list("Underwear","Undershirt","Socks")
if(!Adjacent(user))
return
@@ -26,6 +26,10 @@
var/new_undershirt = input(user, "Select your undershirt", "Changing") as null|anything in undershirt_list
if(new_undershirt)
H.undershirt = new_undershirt
if("Socks")
var/new_socks = input(user, "Select your socks", "Changing") as null|anything in socks_list
if(new_socks)
H.socks= new_socks
add_fingerprint(H)
H.update_body()
+15
View File
@@ -49,6 +49,7 @@ datum/preferences
var/blood_type = "A+" //blood type (not-chooseable)
var/underwear = "Nude" //underwear type
var/undershirt = "Nude" //undershirt type
var/socks = "Nude" //socks type
var/backbag = 2 //backpack type
var/hair_style = "Bald" //Hair type
var/hair_color = "000" //Hair color
@@ -178,6 +179,7 @@ datum/preferences
dat += "<b>Skin Tone:</b><BR><a href='?_src_=prefs;preference=s_tone;task=input'>[skin_tone]</a><BR>"
dat += "<b>Underwear:</b><BR><a href ='?_src_=prefs;preference=underwear;task=input'>[underwear]</a><BR>"
dat += "<b>Undershirt:</b><BR><a href ='?_src_=prefs;preference=undershirt;task=input'>[undershirt]</a><BR>"
dat += "<b>Socks:</b><BR><a href ='?_src_=prefs;preference=socks;task=input'>[socks]</a><BR>"
dat += "<b>Backpack:</b><BR><a href ='?_src_=prefs;preference=bag;task=input'>[backbaglist[backbag]]</a><BR>"
@@ -565,6 +567,8 @@ datum/preferences
underwear = random_underwear(gender)
if("undershirt")
undershirt = random_undershirt(gender)
if("socks")
socks = random_socks(gender)
if("eyes")
eye_color = random_eye_color()
if("s_tone")
@@ -669,6 +673,15 @@ datum/preferences
if(new_undershirt)
undershirt = new_undershirt
if("socks")
var/new_socks
if(gender == MALE)
new_socks = input(user, "Choose your character's socks:", "Character Preference") as null|anything in socks_m
else
new_socks = input(user, "Choose your character's socks:", "Character Preference") as null|anything in socks_f
if(new_socks)
socks = new_socks
if("eyes")
var/new_eyes = input(user, "Choose your character's eye colour:", "Character Preference") as color|null
if(new_eyes)
@@ -724,6 +737,7 @@ datum/preferences
gender = MALE
underwear = random_underwear(gender)
undershirt = random_undershirt(gender)
socks = random_socks(gender)
facial_hair_style = random_facial_hair_style(gender)
hair_style = random_hair_style(gender)
@@ -832,6 +846,7 @@ datum/preferences
character.facial_hair_style = facial_hair_style
character.underwear = underwear
character.undershirt = undershirt
character.socks = socks
if(backbag > 3 || backbag < 1)
backbag = 1 //Same as above
@@ -180,6 +180,7 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
S["facial_style_name"] >> facial_hair_style
S["underwear"] >> underwear
S["undershirt"] >> undershirt
S["socks"] >> socks
S["backbag"] >> backbag
S["mutant_color"] >> mutant_color
@@ -213,11 +214,13 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
facial_hair_style = sanitize_inlist(facial_hair_style, facial_hair_styles_male_list)
underwear = sanitize_inlist(underwear, underwear_m)
undershirt = sanitize_inlist(undershirt, undershirt_m)
socks = sanitize_inlist(socks, socks_m)
else
hair_style = sanitize_inlist(hair_style, hair_styles_female_list)
facial_hair_style = sanitize_inlist(facial_hair_style, facial_hair_styles_female_list)
underwear = sanitize_inlist(underwear, underwear_f)
undershirt = sanitize_inlist(undershirt, undershirt_f)
socks = sanitize_inlist(socks, socks_f)
age = sanitize_integer(age, AGE_MIN, AGE_MAX, initial(age))
hair_color = sanitize_hexcolor(hair_color, 3, 0)
@@ -263,6 +266,7 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
S["facial_style_name"] << facial_hair_style
S["underwear"] << underwear
S["undershirt"] << undershirt
S["socks"] << socks
S["backbag"] << backbag
S["species"] << pref_species.name
S["mutant_color"] << mutant_color
@@ -21,6 +21,7 @@
var/underwear = "Nude" //Which underwear the player wants
var/undershirt = "Nude" //Which undershirt the player wants
var/socks = "Nude" //Which socks the player wants
var/backbag = 2 //Which backpack type the player has chosen. Nothing, Satchel or Backpack.
//Equipment slots
@@ -181,7 +181,7 @@
img_eyes_s.color = "#" + H.eye_color
standing += img_eyes_s
//Underwear & Undershirts
//Underwear, Undershirts & Socks
if(H.underwear)
var/datum/sprite_accessory/underwear/U = underwear_list[H.underwear]
if(U)
@@ -195,6 +195,11 @@
else
standing += image("icon"=U2.icon, "icon_state"="[U2.icon_state]_s", "layer"=-BODY_LAYER)
if(H.socks)
var/datum/sprite_accessory/socks/U3 = socks_list[H.socks]
if(U3)
standing += image("icon"=U3.icon, "icon_state"="[U3.icon_state]_s", "layer"=-BODY_LAYER)
if(standing.len)
H.overlays_standing[BODY_LAYER] = standing
@@ -39,7 +39,7 @@ There are several things that need to be remembered:
update_base_icon_state() //Handles updating var/base_icon_state (WIP) This is used to update the
mob's icon_state easily e.g. "[base_icon_state]_s" is the standing icon_state
update_body() //Handles updating your mob's icon_state (using update_base_icon_state())
as well as sprite-accessories that didn't really fit elsewhere (underwear, undershirts, lips, eyes)
as well as sprite-accessories that didn't really fit elsewhere (underwear, undershirts, socks, lips, eyes)
//NOTE: update_mutantrace() is now merged into this!
update_hair() //Handles updating your hair overlay (used to be update_face, but mouth and
eyes were merged into update_body())
@@ -57,7 +57,7 @@ Please contact me on #coderbus IRC. ~Carnie x
//Human Overlays Indexes/////////
#define SPECIES_LAYER 23 // mutantrace colors... these are on a seperate layer in order to prvent
#define BODY_LAYER 22 //underwear, undershirts, eyes, lips(makeup)
#define BODY_LAYER 22 //underwear, undershirts, socks, eyes, lips(makeup)
#define MUTATIONS_LAYER 21 //Tk headglows etc.
#define AUGMENTS_LAYER 20
#define DAMAGE_LAYER 19 //damage indicators (cuts and burns)
@@ -7,6 +7,7 @@
gender = pick(MALE,FEMALE)
underwear = random_underwear(gender)
undershirt = random_undershirt(gender)
socks = random_socks(gender)
skin_tone = random_skin_tone()
hair_style = random_hair_style(gender)
facial_hair_style = random_facial_hair_style(gender)
@@ -42,6 +43,11 @@
if(S)
preview_icon.Blend(new /icon(S.icon, "[S.icon_state]_s"), ICON_OVERLAY)
if(socks)
S = socks_list[socks]
if(S)
preview_icon.Blend(new /icon(S.icon, "[S.icon_state]_s"), ICON_OVERLAY)
var/icon/eyes_s = new/icon()
if(EYECOLOR in pref_species.specflags)
eyes_s = new/icon("icon" = 'icons/mob/human_face.dmi', "icon_state" = "[pref_species.eyes]_s")
@@ -943,3 +943,89 @@
name = "Striped Tank Top"
icon_state = "tank_stripes"
gender = FEMALE
///////////////////////
// Socks Definitions //
///////////////////////
/datum/sprite_accessory/socks
icon = 'icons/mob/underwear.dmi'
/datum/sprite_accessory/socks/nude
name = "Nude"
icon_state = null
gender = NEUTER
/datum/sprite_accessory/socks/white_norm
name = "Normal White"
icon_state = "white_norm"
gender = NEUTER
/datum/sprite_accessory/socks/black_norm
name = "Normal Black"
icon_state = "black_norm"
gender = NEUTER
/datum/sprite_accessory/socks/white_short
name = "Short White"
icon_state = "white_short"
gender = NEUTER
/datum/sprite_accessory/socks/black_short
name = "Short Black"
icon_state = "black_short"
gender = NEUTER
/datum/sprite_accessory/socks/white_knee
name = "Knee-high White"
icon_state = "white_knee"
gender = NEUTER
/datum/sprite_accessory/socks/black_knee
name = "Knee-high Black"
icon_state = "black_knee"
gender = NEUTER
/datum/sprite_accessory/socks/thin_knee
name = "Knee-high Thin"
icon_state = "thin_knee"
gender = FEMALE
/datum/sprite_accessory/socks/striped_knee
name = "Knee-high Striped"
icon_state = "striped_knee"
gender = NEUTER
/datum/sprite_accessory/socks/rainbow_knee
name = "Knee-high Rainbow"
icon_state = "rainbow_knee"
gender = NEUTER
/datum/sprite_accessory/socks/white_thigh
name = "Thigh-high White"
icon_state = "white_thigh"
gender = NEUTER
/datum/sprite_accessory/socks/black_thigh
name = "Thigh-high Black"
icon_state = "black_thigh"
gender = NEUTER
/datum/sprite_accessory/socks/thin_thigh
name = "Thigh-high Thin"
icon_state = "thin_thigh"
gender = FEMALE
/datum/sprite_accessory/socks/striped_thigh
name = "Thigh-high Striped"
icon_state = "striped_thigh"
gender = NEUTER
/datum/sprite_accessory/socks/rainbow_thigh
name = "Thigh-high Rainbow"
icon_state = "rainbow_thigh"
gender = NEUTER
/datum/sprite_accessory/socks/pantyhose
name = "Pantyhose"
icon_state = "pantyhose"
gender = FEMALE
Binary file not shown.

Before

Width:  |  Height:  |  Size: 39 KiB

After

Width:  |  Height:  |  Size: 43 KiB