Cleaning up post-merge.

This commit is contained in:
Zuhayr
2016-01-22 01:05:44 +10:30
parent 79e06e5ad4
commit 1c100bf457
14 changed files with 99 additions and 920 deletions

View File

@@ -239,677 +239,7 @@ datum/preferences
else
return 0
SetSkills(user)
else if(href_list["setspecialization"])
skill_specialization = href_list["setspecialization"]
CalculateSkillPoints()
SetSkills(user)
else
SetSkills(user)
return 1
else if (href_list["preference"] == "loadout")
if(href_list["task"] == "input")
var/list/valid_gear_choices = list()
for(var/gear_name in gear_datums)
var/datum/gear/G = gear_datums[gear_name]
if(G.whitelisted && !is_alien_whitelisted(user, G.whitelisted))
continue
valid_gear_choices += gear_name
var/choice = input(user, "Select gear to add: ") as null|anything in valid_gear_choices
if(choice && gear_datums[choice])
var/total_cost = 0
if(isnull(gear) || !islist(gear)) gear = list()
if(gear && gear.len)
for(var/gear_name in gear)
if(gear_datums[gear_name])
var/datum/gear/G = gear_datums[gear_name]
total_cost += G.cost
var/datum/gear/C = gear_datums[choice]
total_cost += C.cost
if(C && total_cost <= MAX_GEAR_COST)
gear += choice
user << "<span class='notice'>Added \the '[choice]' for [C.cost] points ([MAX_GEAR_COST - total_cost] points remaining).</span>"
else
user << "<span class='warning'>Adding \the '[choice]' will exceed the maximum loadout cost of [MAX_GEAR_COST] points.</span>"
else if(href_list["task"] == "remove")
var/i_remove = text2num(href_list["gear"])
if(i_remove < 1 || i_remove > gear.len) return
gear.Cut(i_remove, i_remove + 1)
else if(href_list["task"] == "clear")
gear.Cut()
else if(href_list["preference"] == "flavor_text")
switch(href_list["task"])
if("open")
SetFlavorText(user)
return
if("done")
user << browse(null, "window=flavor_text")
ShowChoices(user)
return
if("general")
var/msg = sanitize(input(usr,"Give a general description of your character. This will be shown regardless of clothing, and may include OOC notes and preferences.","Flavor Text",html_decode(flavor_texts[href_list["task"]])) as message, extra = 0)
flavor_texts[href_list["task"]] = msg
else
var/msg = sanitize(input(usr,"Set the flavor text for your [href_list["task"]].","Flavor Text",html_decode(flavor_texts[href_list["task"]])) as message, extra = 0)
flavor_texts[href_list["task"]] = msg
SetFlavorText(user)
return
else if(href_list["preference"] == "flavour_text_robot")
switch(href_list["task"])
if("open")
SetFlavourTextRobot(user)
return
if("done")
user << browse(null, "window=flavour_text_robot")
ShowChoices(user)
return
if("Default")
var/msg = sanitize(input(usr,"Set the default flavour text for your robot. It will be used for any module without individual setting.","Flavour Text",html_decode(flavour_texts_robot["Default"])) as message, extra = 0)
flavour_texts_robot[href_list["task"]] = msg
else
var/msg = sanitize(input(usr,"Set the flavour text for your robot with [href_list["task"]] module. If you leave this empty, default flavour text will be used for this module.","Flavour Text",html_decode(flavour_texts_robot[href_list["task"]])) as message, extra = 0)
flavour_texts_robot[href_list["task"]] = msg
SetFlavourTextRobot(user)
return
else if(href_list["preference"] == "pAI")
paiController.recruitWindow(user, 0)
return 1
else if(href_list["preference"] == "records")
if(text2num(href_list["record"]) >= 1)
SetRecords(user)
return
else
user << browse(null, "window=records")
if(href_list["task"] == "med_record")
var/medmsg = sanitize(input(usr,"Set your medical notes here.","Medical Records",html_decode(med_record)) as message, MAX_PAPER_MESSAGE_LEN, extra = 0)
if(medmsg != null)
med_record = medmsg
SetRecords(user)
if(href_list["task"] == "sec_record")
var/secmsg = sanitize(input(usr,"Set your security notes here.","Security Records",html_decode(sec_record)) as message, MAX_PAPER_MESSAGE_LEN, extra = 0)
if(secmsg != null)
sec_record = secmsg
SetRecords(user)
if(href_list["task"] == "gen_record")
var/genmsg = sanitize(input(usr,"Set your employment notes here.","Employment Records",html_decode(gen_record)) as message, MAX_PAPER_MESSAGE_LEN, extra = 0)
if(genmsg != null)
gen_record = genmsg
SetRecords(user)
if(href_list["task"] == "exploitable_record")
var/exploitmsg = sanitize(input(usr,"Set exploitable information about you here.","Exploitable Information",html_decode(exploit_record)) as message, MAX_PAPER_MESSAGE_LEN, extra = 0)
if(exploitmsg != null)
exploit_record = exploitmsg
SetAntagoptions(user)
else if (href_list["preference"] == "antagoptions")
if(text2num(href_list["active"]) == 0)
SetAntagoptions(user)
return
if (href_list["antagtask"] == "uplinktype")
if (uplinklocation == "PDA")
uplinklocation = "Headset"
else if(uplinklocation == "Headset")
uplinklocation = "None"
else
uplinklocation = "PDA"
SetAntagoptions(user)
if (href_list["antagtask"] == "done")
user << browse(null, "window=antagoptions")
ShowChoices(user)
return 1
else if (href_list["preference"] == "loadout")
if(href_list["task"] == "input")
var/list/valid_gear_choices = list()
for(var/gear_name in gear_datums)
var/datum/gear/G = gear_datums[gear_name]
if(G.whitelisted && !is_alien_whitelisted(user, G.whitelisted))
continue
valid_gear_choices += gear_name
var/choice = input(user, "Select gear to add: ") as null|anything in valid_gear_choices
if(choice && gear_datums[choice])
var/total_cost = 0
if(isnull(gear) || !islist(gear)) gear = list()
if(gear && gear.len)
for(var/gear_name in gear)
if(gear_datums[gear_name])
var/datum/gear/G = gear_datums[gear_name]
total_cost += G.cost
var/datum/gear/C = gear_datums[choice]
total_cost += C.cost
if(C && total_cost <= MAX_GEAR_COST)
gear += choice
user << "\blue Added [choice] for [C.cost] points ([MAX_GEAR_COST - total_cost] points remaining)."
else
user << "\red That item will exceed the maximum loadout cost of [MAX_GEAR_COST] points."
else if(href_list["task"] == "remove")
if(isnull(gear) || !islist(gear))
gear = list()
if(!gear.len)
return
var/choice = input(user, "Select gear to remove: ") as null|anything in gear
if(!choice)
return
for(var/gear_name in gear)
if(gear_name == choice)
gear -= gear_name
break
switch(href_list["task"])
if("change")
if(href_list["preference"] == "species")
// Actual whitelist checks are handled elsewhere, this is just for accessing the preview window.
var/choice = input("Which species would you like to look at?") as null|anything in playable_species
if(!choice) return
species_preview = choice
SetSpecies(user)
if("random")
switch(href_list["preference"])
if("name")
real_name = random_name(gender,species)
if("age")
age = rand(AGE_MIN, AGE_MAX)
if("hair")
r_hair = rand(0,255)
g_hair = rand(0,255)
b_hair = rand(0,255)
if("h_style")
h_style = random_hair_style(gender, species)
if("facial")
r_facial = rand(0,255)
g_facial = rand(0,255)
b_facial = rand(0,255)
if("f_style")
f_style = random_facial_hair_style(gender, species)
if("underwear")
var/r = pick(underwear_m)
underwear = underwear_m[r]
ShowChoices(user)
if("undershirt")
var/r = pick(undershirt_t)
undershirt = undershirt_t[r]
ShowChoices(user)
if("eyes")
r_eyes = rand(0,255)
g_eyes = rand(0,255)
b_eyes = rand(0,255)
if("s_tone")
s_tone = random_skin_tone()
if("s_color")
r_skin = rand(0,255)
g_skin = rand(0,255)
b_skin = rand(0,255)
if("bag")
backbag = rand(1,4)
/*if("skin_style")
h_style = random_skin_style(gender)*/
if("all")
randomize_appearance_for() //no params needed
if("input")
switch(href_list["preference"])
if("name")
var/raw_name = input(user, "Choose your character's name:", "Character Preference") as text|null
if (!isnull(raw_name)) // Check to ensure that the user entered text (rather than cancel.)
var/new_name
var/datum/species/S = all_species[species]
if(istype(S))
new_name = S.sanitize_name(raw_name)
else
new_name = sanitizeName(raw_name)
if(new_name)
real_name = new_name
else
user << "<font color='red'>Invalid name. Your name should be at least 2 and at most [MAX_NAME_LEN] characters long. It may only contain the characters A-Z, a-z, -, ' and .</font>"
if("age")
var/new_age = input(user, "Choose your character's age:\n([AGE_MIN]-[AGE_MAX])", "Character Preference") as num|null
if(new_age)
age = max(min( round(text2num(new_age)), AGE_MAX),AGE_MIN)
if("species")
user << browse(null, "window=species")
var/prev_species = species
species = href_list["newspecies"]
if(prev_species != species)
//grab one of the valid hair styles for the newly chosen species
var/list/valid_hairstyles = list()
for(var/hairstyle in hair_styles_list)
var/datum/sprite_accessory/S = hair_styles_list[hairstyle]
if(gender == MALE && S.gender == FEMALE)
continue
if(gender == FEMALE && S.gender == MALE)
continue
if( !(species in S.species_allowed))
continue
valid_hairstyles[hairstyle] = hair_styles_list[hairstyle]
if(valid_hairstyles.len)
h_style = pick(valid_hairstyles)
else
//this shouldn't happen
h_style = hair_styles_list["Bald"]
//grab one of the valid facial hair styles for the newly chosen species
var/list/valid_facialhairstyles = list()
for(var/facialhairstyle in facial_hair_styles_list)
var/datum/sprite_accessory/S = facial_hair_styles_list[facialhairstyle]
if(gender == MALE && S.gender == FEMALE)
continue
if(gender == FEMALE && S.gender == MALE)
continue
if( !(species in S.species_allowed))
continue
valid_facialhairstyles[facialhairstyle] = facial_hair_styles_list[facialhairstyle]
if(valid_facialhairstyles.len)
f_style = pick(valid_facialhairstyles)
else
//this shouldn't happen
f_style = facial_hair_styles_list["Shaved"]
//reset hair colour and skin colour
r_hair = 0//hex2num(copytext(new_hair, 2, 4))
g_hair = 0//hex2num(copytext(new_hair, 4, 6))
b_hair = 0//hex2num(copytext(new_hair, 6, 8))
s_tone = 0
if("language")
var/languages_available
var/list/new_languages = list("None")
var/datum/species/S = all_species[species]
if(config.usealienwhitelist)
for(var/L in all_languages)
var/datum/language/lang = all_languages[L]
if((!(lang.flags & RESTRICTED)) && (is_alien_whitelisted(user, L)||(!( lang.flags & WHITELISTED ))||(S && (L in S.secondary_langs))))
new_languages += lang
languages_available = 1
if(!(languages_available))
alert(user, "There are not currently any available secondary languages.")
else
for(var/L in all_languages)
var/datum/language/lang = all_languages[L]
if(!(lang.flags & RESTRICTED))
new_languages += lang.name
language = input("Please select a secondary language", "Character Generation", null) in new_languages
if("metadata")
var/new_metadata = input(user, "Enter any information you'd like others to see, such as Roleplay-preferences:", "Game Preference" , metadata) as message|null
if(new_metadata)
metadata = sanitize(new_metadata)
if("b_type")
var/new_b_type = input(user, "Choose your character's blood-type:", "Character Preference") as null|anything in list( "A+", "A-", "B+", "B-", "AB+", "AB-", "O+", "O-" )
if(new_b_type)
b_type = new_b_type
if("hair")
if(species == "Human" || species == "Unathi" || species == "Tajara" || species == "Skrell")
var/new_hair = input(user, "Choose your character's hair colour:", "Character Preference", rgb(r_hair, g_hair, b_hair)) as color|null
if(new_hair)
r_hair = hex2num(copytext(new_hair, 2, 4))
g_hair = hex2num(copytext(new_hair, 4, 6))
b_hair = hex2num(copytext(new_hair, 6, 8))
if("h_style")
var/list/valid_hairstyles = list()
for(var/hairstyle in hair_styles_list)
var/datum/sprite_accessory/S = hair_styles_list[hairstyle]
if( !(species in S.species_allowed))
continue
valid_hairstyles[hairstyle] = hair_styles_list[hairstyle]
var/new_h_style = input(user, "Choose your character's hair style:", "Character Preference") as null|anything in valid_hairstyles
if(new_h_style)
h_style = new_h_style
if("facial")
var/new_facial = input(user, "Choose your character's facial-hair colour:", "Character Preference", rgb(r_facial, g_facial, b_facial)) as color|null
if(new_facial)
r_facial = hex2num(copytext(new_facial, 2, 4))
g_facial = hex2num(copytext(new_facial, 4, 6))
b_facial = hex2num(copytext(new_facial, 6, 8))
if("f_style")
var/list/valid_facialhairstyles = list()
for(var/facialhairstyle in facial_hair_styles_list)
var/datum/sprite_accessory/S = facial_hair_styles_list[facialhairstyle]
if(gender == MALE && S.gender == FEMALE)
continue
if(gender == FEMALE && S.gender == MALE)
continue
if( !(species in S.species_allowed))
continue
valid_facialhairstyles[facialhairstyle] = facial_hair_styles_list[facialhairstyle]
var/new_f_style = input(user, "Choose your character's facial-hair style:", "Character Preference") as null|anything in valid_facialhairstyles
if(new_f_style)
f_style = new_f_style
if("underwear")
var/list/underwear_options
if(gender == MALE)
underwear_options = underwear_m
else
underwear_options = underwear_f
var/new_underwear = input(user, "Choose your character's underwear:", "Character Preference") as null|anything in underwear_options
if(new_underwear)
underwear = underwear_options[new_underwear]
ShowChoices(user)
if("undershirt")
var/list/undershirt_options
undershirt_options = undershirt_t
var/new_undershirt = input(user, "Choose your character's undershirt:", "Character Preference") as null|anything in undershirt_options
if (new_undershirt)
undershirt = undershirt_options[new_undershirt]
ShowChoices(user)
if("eyes")
var/new_eyes = input(user, "Choose your character's eye colour:", "Character Preference", rgb(r_eyes, g_eyes, b_eyes)) as color|null
if(new_eyes)
r_eyes = hex2num(copytext(new_eyes, 2, 4))
g_eyes = hex2num(copytext(new_eyes, 4, 6))
b_eyes = hex2num(copytext(new_eyes, 6, 8))
if("s_tone")
if(species != "Human")
return
var/new_s_tone = input(user, "Choose your character's skin-tone:\n(Light 1 - 220 Dark)", "Character Preference") as num|null
if(new_s_tone)
s_tone = 35 - max(min( round(new_s_tone), 220),1)
if("skin")
if(species == "Unathi" || species == "Tajara" || species == "Skrell")
var/new_skin = input(user, "Choose your character's skin colour: ", "Character Preference", rgb(r_skin, g_skin, b_skin)) as color|null
if(new_skin)
r_skin = hex2num(copytext(new_skin, 2, 4))
g_skin = hex2num(copytext(new_skin, 4, 6))
b_skin = hex2num(copytext(new_skin, 6, 8))
if("ooccolor")
var/new_ooccolor = input(user, "Choose your OOC colour:", "Game Preference") as color|null
if(new_ooccolor)
ooccolor = new_ooccolor
if("bag")
var/new_backbag = input(user, "Choose your character's style of bag:", "Character Preference") as null|anything in backbaglist
if(new_backbag)
backbag = backbaglist.Find(new_backbag)
if("nt_relation")
var/new_relation = input(user, "Choose your relation to NT. Note that this represents what others can find out about your character by researching your background, not what your character actually thinks.", "Character Preference") as null|anything in list("Loyal", "Supportive", "Neutral", "Skeptical", "Opposed")
if(new_relation)
nanotrasen_relation = new_relation
if("disabilities")
if(text2num(href_list["disabilities"]) >= -1)
if(text2num(href_list["disabilities"]) >= 0)
disabilities ^= (1<<text2num(href_list["disabilities"])) //MAGIC
SetDisabilities(user)
return
else
user << browse(null, "window=disabil")
if("limbs")
var/limb_name = input(user, "Which limb do you want to change?") as null|anything in list("Left Leg","Right Leg","Left Arm","Right Arm","Left Foot","Right Foot","Left Hand","Right Hand")
if(!limb_name) return
var/limb = null
var/second_limb = null // if you try to change the arm, the hand should also change
var/third_limb = null // if you try to unchange the hand, the arm should also change
switch(limb_name)
if("Left Leg")
limb = "l_leg"
second_limb = "l_foot"
if("Right Leg")
limb = "r_leg"
second_limb = "r_foot"
if("Left Arm")
limb = "l_arm"
second_limb = "l_hand"
if("Right Arm")
limb = "r_arm"
second_limb = "r_hand"
if("Left Foot")
limb = "l_foot"
third_limb = "l_leg"
if("Right Foot")
limb = "r_foot"
third_limb = "r_leg"
if("Left Hand")
limb = "l_hand"
third_limb = "l_arm"
if("Right Hand")
limb = "r_hand"
third_limb = "r_arm"
var/new_state = input(user, "What state do you wish the limb to be in?") as null|anything in list("Normal","Amputated","Prothesis")
if(!new_state) return
switch(new_state)
if("Normal")
organ_data[limb] = null
rlimb_data[limb] = null
if(third_limb)
organ_data[third_limb] = null
rlimb_data[third_limb] = null
if("Amputated")
organ_data[limb] = "amputated"
rlimb_data[limb] = null
if(second_limb)
organ_data[second_limb] = "amputated"
rlimb_data[second_limb] = null
if("Prothesis")
var/choice = input(user, "Which manufacturer do you wish to use for this limb?") as null|anything in chargen_robolimbs
if(!choice)
return
rlimb_data[limb] = choice
organ_data[limb] = "cyborg"
if(second_limb)
rlimb_data[second_limb] = choice
organ_data[second_limb] = "cyborg"
if(third_limb && organ_data[third_limb] == "amputated")
organ_data[third_limb] = null
if("organs")
var/organ_name = input(user, "Which internal function do you want to change?") as null|anything in list("Heart", "Eyes")
if(!organ_name) return
var/organ = null
switch(organ_name)
if("Heart")
organ = "heart"
if("Eyes")
organ = "eyes"
var/new_state = input(user, "What state do you wish the organ to be in?") as null|anything in list("Normal","Assisted","Mechanical")
if(!new_state) return
switch(new_state)
if("Normal")
organ_data[organ] = null
if("Assisted")
organ_data[organ] = "assisted"
if("Mechanical")
organ_data[organ] = "mechanical"
if("skin_style")
var/skin_style_name = input(user, "Select a new skin style") as null|anything in list("default1", "default2", "default3")
if(!skin_style_name) return
if("spawnpoint")
var/list/spawnkeys = list()
for(var/S in spawntypes)
spawnkeys += S
var/choice = input(user, "Where would you like to spawn when latejoining?") as null|anything in spawnkeys
if(!choice || !spawntypes[choice])
spawnpoint = "Arrivals Shuttle"
return
spawnpoint = choice
if("home_system")
var/choice = input(user, "Please choose a home system.") as null|anything in home_system_choices + list("Unset","Other")
if(!choice)
return
if(choice == "Other")
var/raw_choice = input(user, "Please enter a home system.") as text|null
if(raw_choice)
home_system = sanitize(raw_choice)
return
home_system = choice
if("citizenship")
var/choice = input(user, "Please choose your current citizenship.") as null|anything in citizenship_choices + list("None","Other")
if(!choice)
return
if(choice == "Other")
var/raw_choice = input(user, "Please enter your current citizenship.", "Character Preference") as text|null
if(raw_choice)
citizenship = sanitize(raw_choice)
return
citizenship = choice
if("faction")
var/choice = input(user, "Please choose a faction to work for.") as null|anything in faction_choices + list("None","Other")
if(!choice)
return
if(choice == "Other")
var/raw_choice = input(user, "Please enter a faction.") as text|null
if(raw_choice)
faction = sanitize(raw_choice)
return
faction = choice
if("religion")
var/choice = input(user, "Please choose a religion.") as null|anything in religion_choices + list("None","Other")
if(!choice)
return
if(choice == "Other")
var/raw_choice = input(user, "Please enter a religon.") as text|null
if(raw_choice)
religion = sanitize(raw_choice)
return
religion = choice
else
switch(href_list["preference"])
if("gender")
if(gender == MALE)
gender = FEMALE
else
gender = MALE
if("disabilities") //please note: current code only allows nearsightedness as a disability
disabilities = !disabilities//if you want to add actual disabilities, code that selects them should be here
if("hear_adminhelps")
toggles ^= SOUND_ADMINHELP
if("ui")
switch(UI_style)
if("Midnight")
UI_style = "Orange"
if("Orange")
UI_style = "old"
if("old")
UI_style = "White"
else
UI_style = "Midnight"
if("UIcolor")
var/UI_style_color_new = input(user, "Choose your UI color, dark colors are not recommended!") as color|null
if(!UI_style_color_new) return
UI_style_color = UI_style_color_new
if("UIalpha")
var/UI_style_alpha_new = input(user, "Select a new alpha(transparence) parametr for UI, between 50 and 255") as num
if(!UI_style_alpha_new | !(UI_style_alpha_new <= 255 && UI_style_alpha_new >= 50)) return
UI_style_alpha = UI_style_alpha_new
if("be_special")
var/num = text2num(href_list["num"])
be_special ^= (1<<num)
if("name")
be_random_name = !be_random_name
if("hear_midis")
toggles ^= SOUND_MIDI
if("lobby_music")
toggles ^= SOUND_LOBBY
if(toggles & SOUND_LOBBY)
user << sound(ticker.login_music, repeat = 0, wait = 0, volume = 85, channel = 1)
else
user << sound(null, repeat = 0, wait = 0, volume = 85, channel = 1)
if("ghost_ears")
toggles ^= CHAT_GHOSTEARS
if("ghost_sight")
toggles ^= CHAT_GHOSTSIGHT
if("ghost_radio")
toggles ^= CHAT_GHOSTRADIO
if("save")
save_preferences()
save_character()
if("reload")
load_preferences()
load_character()
if("open_load_dialog")
if(!IsGuestKey(user.key))
open_load_dialog(user)
if("close_load_dialog")
close_load_dialog(user)
if("changeslot")
load_character(text2num(href_list["num"]))
close_load_dialog(user)
ShowChoices(user)
ShowChoices(usr)
return 1
/datum/preferences/proc/copy_to(mob/living/carbon/human/character, safety = 0)
@@ -1038,4 +368,4 @@ datum/preferences
user << browse(dat, "window=saves;size=300x390")
/datum/preferences/proc/close_load_dialog(mob/user)
user << browse(null, "window=saves")
user << browse(null, "window=saves")

View File

@@ -569,7 +569,7 @@ var/global/list/gear_datums = list()
cost = 1
allowed_roles = list("Quartermaster","Cargo Technician")
/datum/gear/white
/datum/gear/pants
display_name = "pants, white"
path = /obj/item/clothing/under/pants/white
slot = slot_w_uniform
@@ -619,55 +619,55 @@ var/global/list/gear_datums = list()
display_name = "pants, young folks jeans"
path = /obj/item/clothing/under/pants/youngfolksjeans
/datum/gear/shorts/jeans
/datum/gear/jeans
display_name = "shorts, jeans"
path = /obj/item/clothing/under/shorts/jeans
slot = slot_w_uniform
cost = 1
/datum/gear/shorts/jeans/classic
/datum/gear/jeans/classic
display_name = "shorts, classic jeans"
path = /obj/item/clothing/under/shorts/jeans/classic
/datum/gear/shorts/jeans/mustang
/datum/gear/jeans/mustang
display_name = "shorts, mustang jeans"
path = /obj/item/clothing/under/shorts/jeans/mustang
/datum/gear/shorts/jeans/youngfolks
/datum/gear/jeans/youngfolks
display_name = "shorts, young folks jeans"
path = /obj/item/clothing/under/shorts/jeans/youngfolks
/datum/gear/shorts/jeans/black
/datum/gear/jeans/black
display_name = "shorts, black jeans"
path = /obj/item/clothing/under/shorts/jeans/black
/datum/gear/shorts/jeans/female
/datum/gear/jeans/female
display_name = "shorts, female, jeans"
path = /obj/item/clothing/under/shorts/jeans/female
/datum/gear/shorts/jeans/classic/female
/datum/gear/jeans/classic/female
display_name = "shorts, female, classic jeans"
path = /obj/item/clothing/under/shorts/jeans/classic/female
/datum/gear/shorts/jeans/mustang/female
/datum/gear/jeans/mustang/female
display_name = "shorts, female, mustang jeans"
path = /obj/item/clothing/under/shorts/jeans/mustang/female
/datum/gear/shorts/jeans/youngfolks/female
/datum/gear/jeans/youngfolks/female
display_name = "shorts, female, young folks jeans"
path = /obj/item/clothing/under/shorts/jeans/youngfolks/female
/datum/gear/shorts/jeans/black/female
/datum/gear/jeans/black/female
display_name = "shorts, female, black jeans"
path = /obj/item/clothing/under/shorts/jeans/black/female
/datum/gear/shorts/khaki
/datum/gear/khaki
display_name = "shorts, khaki"
path = /obj/item/clothing/under/shorts/khaki
slot = slot_w_uniform
cost = 1
/datum/gear/shorts/khaki/female
/datum/gear/khaki/female
display_name = "shorts, female, khaki"
path = /obj/item/clothing/under/shorts/khaki/female
@@ -1226,7 +1226,7 @@ var/global/list/gear_datums = list()
slot = slot_wear_suit
whitelisted = "Tajara" // You do have a monopoly on a fur suit tho
/datum/gear/forensics/red
/datum/gear/forensics
display_name = "forensics long, red"
path = /obj/item/clothing/suit/storage/forensics/red/long
cost = 2
@@ -1606,11 +1606,11 @@ var/global/list/gear_datums = list()
display_name = "skrell headtail-wear, male, blue, cloth"
path = /obj/item/clothing/ears/skrell/cloth_male/blue
/datum/gear/skrell_cloth_male/green
/datum/gear/skrell_cloth/male/green
display_name = "skrell headtail-wear, male, green, cloth"
path = /obj/item/clothing/ears/skrell/cloth_male/green
/datum/gear/skrell_cloth_male/pink
/datum/gear/skrell_cloth/male/pink
display_name = "skrell headtail-wear, male, pink, cloth"
path = /obj/item/clothing/ears/skrell/cloth_male/pink
@@ -1618,18 +1618,18 @@ var/global/list/gear_datums = list()
display_name = "skrell headtail-wear, female, red, cloth"
path = /obj/item/clothing/ears/skrell/cloth_female
/datum/gear/skrell_cloth_female/black
/datum/gear/skrell_cloth/female/black
display_name = "skrell headtail-wear, female, black, cloth"
path = /obj/item/clothing/ears/skrell/cloth_female/black
/datum/gear/skrell_cloth_female/blue
/datum/gear/skrell_cloth/female/blue
display_name = "skrell headtail-wear, female, blue, cloth"
path = /obj/item/clothing/ears/skrell/cloth_female/blue
/datum/gear/skrell_cloth_female/green
/datum/gear/skrell_cloth/female/green
display_name = "skrell headtail-wear, female, green, cloth"
path = /obj/item/clothing/ears/skrell/cloth_female/green
/datum/gear/skrell_cloth_female/pink
/datum/gear/skrell_cloth/female/pink
display_name = "skrell headtail-wear, female, pink, cloth"
path = /obj/item/clothing/ears/skrell/cloth_female/pink

View File

@@ -73,161 +73,7 @@
S["default_slot"] << slot
S.cd = "/character[slot]"
//Character
S["OOC_Notes"] >> metadata
S["real_name"] >> real_name
S["name_is_always_random"] >> be_random_name
S["gender"] >> gender
S["age"] >> age
S["species"] >> species
S["language"] >> language
S["spawnpoint"] >> spawnpoint
//colors to be consolidated into hex strings (requires some work with dna code)
S["hair_red"] >> r_hair
S["hair_green"] >> g_hair
S["hair_blue"] >> b_hair
S["facial_red"] >> r_facial
S["facial_green"] >> g_facial
S["facial_blue"] >> b_facial
S["skin_tone"] >> s_tone
S["skin_red"] >> r_skin
S["skin_green"] >> g_skin
S["skin_blue"] >> b_skin
S["hair_style_name"] >> h_style
S["facial_style_name"] >> f_style
S["eyes_red"] >> r_eyes
S["eyes_green"] >> g_eyes
S["eyes_blue"] >> b_eyes
S["underwear"] >> underwear
S["undershirt"] >> undershirt
S["backbag"] >> backbag
S["b_type"] >> b_type
//Jobs
S["alternate_option"] >> alternate_option
S["job_civilian_high"] >> job_civilian_high
S["job_civilian_med"] >> job_civilian_med
S["job_civilian_low"] >> job_civilian_low
S["job_medsci_high"] >> job_medsci_high
S["job_medsci_med"] >> job_medsci_med
S["job_medsci_low"] >> job_medsci_low
S["job_engsec_high"] >> job_engsec_high
S["job_engsec_med"] >> job_engsec_med
S["job_engsec_low"] >> job_engsec_low
//Flavour Text
S["flavor_texts_general"] >> flavor_texts["general"]
S["flavor_texts_head"] >> flavor_texts["head"]
S["flavor_texts_face"] >> flavor_texts["face"]
S["flavor_texts_eyes"] >> flavor_texts["eyes"]
S["flavor_texts_torso"] >> flavor_texts["torso"]
S["flavor_texts_arms"] >> flavor_texts["arms"]
S["flavor_texts_hands"] >> flavor_texts["hands"]
S["flavor_texts_legs"] >> flavor_texts["legs"]
S["flavor_texts_feet"] >> flavor_texts["feet"]
//Flavour text for robots.
S["flavour_texts_robot_Default"] >> flavour_texts_robot["Default"]
for(var/module in robot_module_types)
S["flavour_texts_robot_[module]"] >> flavour_texts_robot[module]
//Miscellaneous
S["med_record"] >> med_record
S["sec_record"] >> sec_record
S["gen_record"] >> gen_record
S["be_special"] >> be_special
S["disabilities"] >> disabilities
S["player_alt_titles"] >> player_alt_titles
S["used_skillpoints"] >> used_skillpoints
S["skills"] >> skills
S["skill_specialization"] >> skill_specialization
S["organ_data"] >> organ_data
S["rlimb_data"] >> rlimb_data
S["gear"] >> gear
S["home_system"] >> home_system
S["citizenship"] >> citizenship
S["faction"] >> faction
S["religion"] >> religion
S["nanotrasen_relation"] >> nanotrasen_relation
//S["skin_style"] >> skin_style
S["uplinklocation"] >> uplinklocation
S["exploit_record"] >> exploit_record
S["UI_style_color"] << UI_style_color
S["UI_style_alpha"] << UI_style_alpha
//Sanitize
metadata = sanitize_text(metadata, initial(metadata))
if(isnull(species) || !(species in playable_species))
species = "Human"
var/datum/species/cur_species = all_species[species]
if(istype(cur_species))
real_name = cur_species.sanitize_name(real_name)
else
real_name = sanitizeName(real_name)
if(isnum(underwear))
var/list/undies = gender == MALE ? underwear_m : underwear_f
underwear = undies[undies[underwear]]
if(isnum(undershirt))
undershirt = undershirt_t[undershirt_t[undershirt]]
if(isnull(language)) language = "None"
if(isnull(spawnpoint)) spawnpoint = "Arrivals Shuttle"
if(isnull(nanotrasen_relation)) nanotrasen_relation = initial(nanotrasen_relation)
if(!real_name) real_name = random_name(gender)
be_random_name = sanitize_integer(be_random_name, 0, 1, initial(be_random_name))
gender = sanitize_gender(gender)
age = sanitize_integer(age, AGE_MIN, AGE_MAX, initial(age))
r_hair = sanitize_integer(r_hair, 0, 255, initial(r_hair))
g_hair = sanitize_integer(g_hair, 0, 255, initial(g_hair))
b_hair = sanitize_integer(b_hair, 0, 255, initial(b_hair))
r_facial = sanitize_integer(r_facial, 0, 255, initial(r_facial))
g_facial = sanitize_integer(g_facial, 0, 255, initial(g_facial))
b_facial = sanitize_integer(b_facial, 0, 255, initial(b_facial))
s_tone = sanitize_integer(s_tone, -185, 34, initial(s_tone))
r_skin = sanitize_integer(r_skin, 0, 255, initial(r_skin))
g_skin = sanitize_integer(g_skin, 0, 255, initial(g_skin))
b_skin = sanitize_integer(b_skin, 0, 255, initial(b_skin))
h_style = sanitize_inlist(h_style, hair_styles_list, initial(h_style))
f_style = sanitize_inlist(f_style, facial_hair_styles_list, initial(f_style))
r_eyes = sanitize_integer(r_eyes, 0, 255, initial(r_eyes))
g_eyes = sanitize_integer(g_eyes, 0, 255, initial(g_eyes))
b_eyes = sanitize_integer(b_eyes, 0, 255, initial(b_eyes))
backbag = sanitize_integer(backbag, 1, backbaglist.len, initial(backbag))
b_type = sanitize_text(b_type, initial(b_type))
alternate_option = sanitize_integer(alternate_option, 0, 2, initial(alternate_option))
job_civilian_high = sanitize_integer(job_civilian_high, 0, 65535, initial(job_civilian_high))
job_civilian_med = sanitize_integer(job_civilian_med, 0, 65535, initial(job_civilian_med))
job_civilian_low = sanitize_integer(job_civilian_low, 0, 65535, initial(job_civilian_low))
job_medsci_high = sanitize_integer(job_medsci_high, 0, 65535, initial(job_medsci_high))
job_medsci_med = sanitize_integer(job_medsci_med, 0, 65535, initial(job_medsci_med))
job_medsci_low = sanitize_integer(job_medsci_low, 0, 65535, initial(job_medsci_low))
job_engsec_high = sanitize_integer(job_engsec_high, 0, 65535, initial(job_engsec_high))
job_engsec_med = sanitize_integer(job_engsec_med, 0, 65535, initial(job_engsec_med))
job_engsec_low = sanitize_integer(job_engsec_low, 0, 65535, initial(job_engsec_low))
if(!skills) skills = list()
if(!used_skillpoints) used_skillpoints= 0
if(isnull(disabilities)) disabilities = 0
if(!player_alt_titles) player_alt_titles = new()
if(!organ_data) src.organ_data = list()
if(!rlimb_data) src.rlimb_data = list()
if(!gear) src.gear = list()
//if(!skin_style) skin_style = "Default"
if(!home_system) home_system = "Unset"
if(!citizenship) citizenship = "None"
if(!faction) faction = "None"
if(!religion) religion = "None"
player_setup.load_character(S)
return 1
/datum/preferences/proc/save_character()
@@ -244,4 +90,4 @@
return 1
#undef SAVEFILE_VERSION_MAX
#undef SAVEFILE_VERSION_MIN
#undef SAVEFILE_VERSION_MIN