mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-22 12:41:09 +01:00
Adds socks as an underwear option.
This commit is contained in:
@@ -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))
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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()
|
||||
@@ -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 |
Reference in New Issue
Block a user