fixes and a toggle
This commit is contained in:
@@ -166,7 +166,8 @@ GLOBAL_LIST_EMPTY(preferences_datums)
|
||||
"ooc_notes" = "",
|
||||
"meat_type" = "Mammalian",
|
||||
"body_model" = MALE,
|
||||
"body_size" = RESIZE_DEFAULT_SIZE
|
||||
"body_size" = RESIZE_DEFAULT_SIZE,
|
||||
"color_scheme" = OLD_CHARACTER_COLORING
|
||||
)
|
||||
var/custom_speech_verb = "default" //if your say_mod is to be something other than your races
|
||||
var/custom_tongue = "default" //if your tongue is to be something other than your races
|
||||
@@ -470,6 +471,9 @@ GLOBAL_LIST_EMPTY(preferences_datums)
|
||||
if(!use_skintones)
|
||||
dat += APPEARANCE_CATEGORY_COLUMN
|
||||
|
||||
dat += "<h3>Advanced Coloring</h3>"
|
||||
dat += "</b><a style='display:block;width:100px' href='?_src_=prefs;preference=color_scheme;task=input'>[(features["color_scheme"] == ADVANCED_CHARACTER_COLORING) ? "Enabled" : "Disabled"]</a>"
|
||||
|
||||
dat += "<h2>Body Colors</h2>"
|
||||
|
||||
dat += "<b>Primary Color:</b><BR>"
|
||||
@@ -553,45 +557,46 @@ GLOBAL_LIST_EMPTY(preferences_datums)
|
||||
if(color_type)
|
||||
dat += "<span style='border:1px solid #161616; background-color: #[features[color_type]];'> </span> <a href='?_src_=prefs;preference=[color_type];task=input'>Change</a><BR>"
|
||||
else
|
||||
//is it matrixed or does it have extra parts to be coloured?
|
||||
var/find_part = features[mutant_part] || pref_species.mutant_bodyparts[mutant_part]
|
||||
var/find_part_list = GLOB.mutant_reference_list[mutant_part]
|
||||
if(find_part && find_part_list)
|
||||
var/datum/sprite_accessory/accessory = find_part_list[find_part]
|
||||
if(accessory)
|
||||
if(accessory.color_src == MATRIXED || accessory.color_src == MUTCOLORS || accessory.color_src == MUTCOLORS2 || accessory.color_src == MUTCOLORS3) //mutcolors1-3 are deprecated now, please don't rely on these in the future
|
||||
var/primary_feature = "[mutant_part]_primary"
|
||||
var/secondary_feature = "[mutant_part]_secondary"
|
||||
var/tertiary_feature = "[mutant_part]_tertiary"
|
||||
var/matrixed_sections = accessory.matrixed_sections
|
||||
if(accessory.color_src == MATRIXED && !matrixed_sections)
|
||||
message_admins("Sprite Accessory Failure (customization): Accessory [accessory.type] is a matrixed item without any matrixed sections set!")
|
||||
continue
|
||||
else if(accessory.color_src == MATRIXED)
|
||||
switch(matrixed_sections)
|
||||
if(MATRIX_GREEN) //only composed of a green section
|
||||
primary_feature = secondary_feature //swap primary for secondary, so it properly assigns the second colour, reserved for the green section
|
||||
if(MATRIX_BLUE)
|
||||
primary_feature = tertiary_feature //same as above, but the tertiary feature is for the blue section
|
||||
if(MATRIX_RED_BLUE) //composed of a red and blue section
|
||||
secondary_feature = tertiary_feature //swap secondary for tertiary, as blue should always be tertiary
|
||||
if(MATRIX_GREEN_BLUE) //composed of a green and blue section
|
||||
primary_feature = secondary_feature //swap primary for secondary, as first option is green, which is linked to the secondary
|
||||
secondary_feature = tertiary_feature //swap secondary for tertiary, as second option is blue, which is linked to the tertiary
|
||||
if(!features[primary_feature])
|
||||
features[primary_feature] = "FFFFFF"
|
||||
dat += "<b>Primary Color</b><BR>"
|
||||
dat += "<span style='border:1px solid #161616; background-color: #[features[primary_feature]];'> </span> <a href='?_src_=prefs;preference=[primary_feature];task=input'>Change</a><BR>"
|
||||
if((accessory.color_src == MATRIXED && (matrixed_sections == MATRIX_RED_BLUE || matrixed_sections == MATRIX_GREEN_BLUE || matrixed_sections == MATRIX_RED_GREEN || matrixed_sections == MATRIX_ALL)) || (accessory.extra && (accessory.extra_color_src == MUTCOLORS || accessory.extra_color_src == MUTCOLORS2 || accessory.extra_color_src == MUTCOLORS3)))
|
||||
if(!features[secondary_feature])
|
||||
features[secondary_feature] = "FFFFFF"
|
||||
dat += "<b>Secondary Color</b><BR>"
|
||||
dat += "<span style='border:1px solid #161616; background-color: #[features[secondary_feature]];'> </span> <a href='?_src_=prefs;preference=[secondary_feature];task=input'>Change</a><BR>"
|
||||
if((accessory.color_src == MATRIXED && matrixed_sections == MATRIX_ALL) || (accessory.extra2 && (accessory.extra2_color_src == MUTCOLORS || accessory.extra2_color_src == MUTCOLORS2 || accessory.extra2_color_src == MUTCOLORS3)))
|
||||
if(!features[tertiary_feature])
|
||||
features[tertiary_feature] = "FFFFFF"
|
||||
dat += "<b>Tertiary Color</b><BR>"
|
||||
dat += "<span style='border:1px solid #161616; background-color: #[features[tertiary_feature]];'> </span> <a href='?_src_=prefs;preference=[tertiary_feature];task=input'>Change</a><BR>"
|
||||
if(features["color_scheme"] == ADVANCED_CHARACTER_COLORING) //advanced individual part colouring system
|
||||
//is it matrixed or does it have extra parts to be coloured?
|
||||
var/find_part = features[mutant_part] || pref_species.mutant_bodyparts[mutant_part]
|
||||
var/find_part_list = GLOB.mutant_reference_list[mutant_part]
|
||||
if(find_part && find_part_list)
|
||||
var/datum/sprite_accessory/accessory = find_part_list[find_part]
|
||||
if(accessory)
|
||||
if(accessory.color_src == MATRIXED || accessory.color_src == MUTCOLORS || accessory.color_src == MUTCOLORS2 || accessory.color_src == MUTCOLORS3) //mutcolors1-3 are deprecated now, please don't rely on these in the future
|
||||
var/primary_feature = "[mutant_part]_primary"
|
||||
var/secondary_feature = "[mutant_part]_secondary"
|
||||
var/tertiary_feature = "[mutant_part]_tertiary"
|
||||
var/matrixed_sections = accessory.matrixed_sections
|
||||
if(accessory.color_src == MATRIXED && !matrixed_sections)
|
||||
message_admins("Sprite Accessory Failure (customization): Accessory [accessory.type] is a matrixed item without any matrixed sections set!")
|
||||
continue
|
||||
else if(accessory.color_src == MATRIXED)
|
||||
switch(matrixed_sections)
|
||||
if(MATRIX_GREEN) //only composed of a green section
|
||||
primary_feature = secondary_feature //swap primary for secondary, so it properly assigns the second colour, reserved for the green section
|
||||
if(MATRIX_BLUE)
|
||||
primary_feature = tertiary_feature //same as above, but the tertiary feature is for the blue section
|
||||
if(MATRIX_RED_BLUE) //composed of a red and blue section
|
||||
secondary_feature = tertiary_feature //swap secondary for tertiary, as blue should always be tertiary
|
||||
if(MATRIX_GREEN_BLUE) //composed of a green and blue section
|
||||
primary_feature = secondary_feature //swap primary for secondary, as first option is green, which is linked to the secondary
|
||||
secondary_feature = tertiary_feature //swap secondary for tertiary, as second option is blue, which is linked to the tertiary
|
||||
if(!features[primary_feature])
|
||||
features[primary_feature] = "FFFFFF"
|
||||
dat += "<b>Primary Color</b><BR>"
|
||||
dat += "<span style='border:1px solid #161616; background-color: #[features[primary_feature]];'> </span> <a href='?_src_=prefs;preference=[primary_feature];task=input'>Change</a><BR>"
|
||||
if((accessory.color_src == MATRIXED && (matrixed_sections == MATRIX_RED_BLUE || matrixed_sections == MATRIX_GREEN_BLUE || matrixed_sections == MATRIX_RED_GREEN || matrixed_sections == MATRIX_ALL)) || (accessory.extra && (accessory.extra_color_src == MUTCOLORS || accessory.extra_color_src == MUTCOLORS2 || accessory.extra_color_src == MUTCOLORS3)))
|
||||
if(!features[secondary_feature])
|
||||
features[secondary_feature] = "FFFFFF"
|
||||
dat += "<b>Secondary Color</b><BR>"
|
||||
dat += "<span style='border:1px solid #161616; background-color: #[features[secondary_feature]];'> </span> <a href='?_src_=prefs;preference=[secondary_feature];task=input'>Change</a><BR>"
|
||||
if((accessory.color_src == MATRIXED && matrixed_sections == MATRIX_ALL) || (accessory.extra2 && (accessory.extra2_color_src == MUTCOLORS || accessory.extra2_color_src == MUTCOLORS2 || accessory.extra2_color_src == MUTCOLORS3)))
|
||||
if(!features[tertiary_feature])
|
||||
features[tertiary_feature] = "FFFFFF"
|
||||
dat += "<b>Tertiary Color</b><BR>"
|
||||
dat += "<span style='border:1px solid #161616; background-color: #[features[tertiary_feature]];'> </span> <a href='?_src_=prefs;preference=[tertiary_feature];task=input'>Change</a><BR>"
|
||||
|
||||
mutant_category++
|
||||
if(mutant_category >= MAX_MUTANT_ROWS)
|
||||
@@ -2091,6 +2096,13 @@ GLOBAL_LIST_EMPTY(preferences_datums)
|
||||
else
|
||||
to_chat(user,"<span class='danger'>Invalid color. Your color is not bright enough.</span>")
|
||||
|
||||
//advanced color mode toggle
|
||||
if("color_scheme")
|
||||
if(features["color_scheme"] == ADVANCED_CHARACTER_COLORING)
|
||||
features["color_scheme"] = OLD_CHARACTER_COLORING
|
||||
else
|
||||
features["color_scheme"] = ADVANCED_CHARACTER_COLORING
|
||||
|
||||
//Genital code
|
||||
if("cock_color")
|
||||
var/new_cockcolor = input(user, "Penis color:", "Character Preference","#"+features["cock_color"]) as color|null
|
||||
|
||||
@@ -239,18 +239,7 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
|
||||
var/primary_string = "[feature_type]_primary"
|
||||
var/secondary_string = "[feature_type]_secondary]"
|
||||
var/tertiary_string = "[feature_type]_tertiary]"
|
||||
if(accessory.matrixed_sections)
|
||||
switch(accessory.matrixed_sections)
|
||||
if(MATRIX_GREEN) //only composed of a green section
|
||||
primary_string = secondary_string //swap primary for secondary, so it properly assigns the second colour, reserved for the green section
|
||||
if(MATRIX_BLUE)
|
||||
primary_string = tertiary_string //same as above, but the tertiary feature is for the blue section
|
||||
if(MATRIX_RED_BLUE) //composed of a red and blue section
|
||||
secondary_string = tertiary_string //swap secondary for tertiary, as blue should always be tertiary
|
||||
if(MATRIX_GREEN_BLUE) //composed of a green and blue section
|
||||
primary_string = secondary_string //swap primary for secondary, as first option is green, which is linked to the secondary
|
||||
secondary_string = tertiary_string //swap secondary for tertiary, as second option is blue, which is linked to the tertiary
|
||||
else if(accessory.color_src != MATRIXED)
|
||||
if(accessory.color_src == MATRIXED && !accessory.matrixed_sections)
|
||||
message_admins("Sprite Accessory Failure (migration from [current_version] to 39): Accessory [accessory.type] is a matrixed item without any matrixed sections set!")
|
||||
continue
|
||||
if(accessory.color_src == MATRIXED)
|
||||
@@ -264,6 +253,8 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
|
||||
else if(accessory.color_src == MUTCOLORS3)
|
||||
features[tertiary_string] = features["mcolor3"]
|
||||
|
||||
features["color_scheme"] = OLD_CHARACTER_COLORING //advanced is off
|
||||
|
||||
/datum/preferences/proc/load_path(ckey,filename="preferences.sav")
|
||||
if(!ckey)
|
||||
return
|
||||
|
||||
Reference in New Issue
Block a user