From ccfce7cb6498898f404948983e5ccc75d866490b Mon Sep 17 00:00:00 2001 From: Ghommie <42542238+Ghommie@users.noreply.github.com> Date: Tue, 5 May 2020 06:22:58 +0200 Subject: [PATCH] Makes wings/horns colors dna features instead of human defines --- code/__HELPERS/mobs.dm | 6 ++-- code/modules/client/preferences.dm | 25 ++++++------- code/modules/client/preferences_savefile.dm | 36 ++++++------------- .../mob/dead/new_player/preferences_setup.dm | 2 -- .../mob/living/carbon/human/human_defines.dm | 6 +--- .../mob/living/carbon/human/species.dm | 16 ++++----- 6 files changed, 32 insertions(+), 59 deletions(-) diff --git a/code/__HELPERS/mobs.dm b/code/__HELPERS/mobs.dm index e69052ad8d..e0714a87b3 100644 --- a/code/__HELPERS/mobs.dm +++ b/code/__HELPERS/mobs.dm @@ -163,9 +163,11 @@ "tail_lizard" = pick(GLOB.tails_list_lizard), "tail_human" = "None", "wings" = "None", + "wings_color" = "FFF", "deco_wings" = "None", "snout" = pick(GLOB.snouts_list), - "horns" = pick(GLOB.horns_list), + "horns" = "None", + "horns_color" = "85615a", "ears" = "None", "frills" = pick(GLOB.frills_list), "spines" = pick(GLOB.spines_list), @@ -174,7 +176,7 @@ "caps" = pick(GLOB.caps_list), "insect_wings" = pick(GLOB.insect_wings_list), "insect_fluff" = "None", - "insect_markings" = pick(GLOB.insect_markings_list), + "insect_markings" = pick(GLOB.insect_markings_list), "taur" = "None", "mam_body_markings" = snowflake_markings_list.len ? pick(snowflake_markings_list) : "None", "mam_ears" = snowflake_ears_list ? pick(snowflake_ears_list) : "None", diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index abe43e38ae..bb3a435258 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -94,8 +94,6 @@ GLOBAL_LIST_EMPTY(preferences_datums) var/skin_tone = "caucasian1" //Skin color var/use_custom_skin_tone = FALSE var/eye_color = "000" //Eye color - var/horn_color = "85615a" //Horn color - var/wing_color = "fff" //Wing color var/datum/species/pref_species = new /datum/species/human() //Mutant race var/list/features = list("mcolor" = "FFF", "mcolor2" = "FFF", @@ -104,8 +102,10 @@ GLOBAL_LIST_EMPTY(preferences_datums) "tail_human" = "None", "snout" = "Round", "horns" = "None", + "horns_color" = "85615a", "ears" = "None", "wings" = "None", + "wings_color" = "FFF", "frills" = "None", "deco_wings" = "None", "spines" = "None", @@ -496,7 +496,7 @@ GLOBAL_LIST_EMPTY(preferences_datums) dat += "

Horns

" dat += "[features["horns"]]" - dat += "    Change
" + dat += "    Change
" mutant_category++ @@ -609,7 +609,7 @@ GLOBAL_LIST_EMPTY(preferences_datums) dat += "

Decorative wings

" dat += "[features["deco_wings"]]" - dat += "    Change
" + dat += "    Change
" if(pref_species.mutant_bodyparts["insect_wings"]) if(!mutant_category) @@ -618,7 +618,7 @@ GLOBAL_LIST_EMPTY(preferences_datums) dat += "

Insect wings

" dat += "[features["insect_wings"]]" - dat += "    Change
" + dat += "    Change
" mutant_category++ if(mutant_category >= MAX_MUTANT_ROWS) dat += "" @@ -1770,12 +1770,12 @@ GLOBAL_LIST_EMPTY(preferences_datums) features["horns"] = new_horns if("horns_color") - var/new_horn_color = input(user, "Choose your character's horn colour:", "Character Preference","#"+horn_color) as color|null + var/new_horn_color = input(user, "Choose your character's horn colour:", "Character Preference","#"+features["horns_color"]) as color|null if(new_horn_color) if (new_horn_color == "#000000") - horn_color = "#85615A" + features["horns_color"] = "85615A" else - horn_color = sanitize_hexcolor(new_horn_color) + features["horns_color"] = sanitize_hexcolor(new_horn_color) if("wings") var/new_wings @@ -1784,12 +1784,12 @@ GLOBAL_LIST_EMPTY(preferences_datums) features["wings"] = new_wings if("wings_color") - var/new_wing_color = input(user, "Choose your character's wing colour:", "Character Preference","#"+wing_color) as color|null + var/new_wing_color = input(user, "Choose your character's wing colour:", "Character Preference","#"+features["wings_color"]) as color|null if(new_wing_color) if (new_wing_color == "#000000") - wing_color = "#FFFFFF" + features["wings_color"] = "#FFFFFF" else - wing_color = sanitize_hexcolor(new_wing_color) + features["wings_color"] = sanitize_hexcolor(new_wing_color) if("frills") var/new_frills @@ -2459,9 +2459,6 @@ GLOBAL_LIST_EMPTY(preferences_datums) organ_eyes.old_eye_color = eye_color character.hair_color = hair_color character.facial_hair_color = facial_hair_color - character.horn_color = horn_color - character.wing_color = wing_color - character.skin_tone = skin_tone character.dna.skin_tone_override = use_custom_skin_tone ? skin_tone : null character.hair_style = hair_style diff --git a/code/modules/client/preferences_savefile.dm b/code/modules/client/preferences_savefile.dm index 98b87f8d70..6872def704 100644 --- a/code/modules/client/preferences_savefile.dm +++ b/code/modules/client/preferences_savefile.dm @@ -5,7 +5,7 @@ // You do not need to raise this if you are adding new values that have sane defaults. // Only raise this value when changing the meaning/format/name/layout of an existing value // where you would want the updater procs below to run -#define SAVEFILE_VERSION_MAX 29 +#define SAVEFILE_VERSION_MAX 30 /* SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Carn @@ -181,7 +181,7 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car if(lickable) ENABLE_BITFIELD(vore_flags,LICKABLE) - if(current_version < 29) + if(current_version < 30) switch(features["taur"]) if("Husky", "Lab", "Shepherd", "Fox", "Wolf") features["taur"] = "Canine" @@ -190,6 +190,10 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car if("Cow") features["taur"] = "Cow (Spotted)" + if(current_version < 31) + S["wing_color"] >> features["wings_color"] + S["horn_color"] >> features["horns_color"] + /datum/preferences/proc/load_path(ckey,filename="preferences.sav") if(!ckey) return @@ -421,15 +425,6 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car if(newtype) pref_species = new newtype - if(!S["features["mcolor"]"] || S["features["mcolor"]"] == "#000") - WRITE_FILE(S["features["mcolor"]"] , "#FFF") - - if(!S["features["horn_color"]"] || S["features["horn_color"]"] == "#000") - WRITE_FILE(S["features["horn_color"]"] , "#85615a") - - if(!S["features["wing_color"]"] || S["features["wing_color"]"] == "#000") - WRITE_FILE(S["features["wing_color"]"] , "#FFF") - //Character S["real_name"] >> real_name S["nameless"] >> nameless @@ -453,8 +448,6 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car S["shirt_color"] >> shirt_color S["socks"] >> socks S["socks_color"] >> socks_color - S["horn_color"] >> horn_color - S["wing_color"] >> wing_color S["backbag"] >> backbag S["jumpsuit_style"] >> jumpsuit_style S["uplink_loc"] >> uplink_spawn_loc @@ -564,15 +557,6 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car if(!custom_names[custom_name_id]) custom_names[custom_name_id] = get_default_name(custom_name_id) - if(!features["mcolor"] || features["mcolor"] == "#000") - features["mcolor"] = pick("FFFFFF","7F7F7F", "7FFF7F", "7F7FFF", "FF7F7F", "7FFFFF", "FF7FFF", "FFFF7F") - - if(!features["horn_color"] || features["horn_color"] == "#000") - features["horn_color"] = "85615a" - - if(!features["wing_color"] || features["wing_color"] == "#000") - features["wing_color"] = "FFFFFF" - nameless = sanitize_integer(nameless, 0, 1, initial(nameless)) be_random_name = sanitize_integer(be_random_name, 0, 1, initial(be_random_name)) be_random_body = sanitize_integer(be_random_body, 0, 1, initial(be_random_body)) @@ -599,8 +583,8 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car else skin_tone = sanitize_inlist(skin_tone, GLOB.skin_tones - GLOB.nonstandard_skin_tones, initial(skin_tone)) - horn_color = sanitize_hexcolor(horn_color, 3, FALSE) - wing_color = sanitize_hexcolor(wing_color, 3, FALSE, "#FFFFFF") + features["horns_color"] = sanitize_hexcolor(features["horns_color"], 3, FALSE, "85615a") + features["wings_color"] = sanitize_hexcolor(features["wings_color"], 3, FALSE, "FFFFFF") backbag = sanitize_inlist(backbag, GLOB.backbaglist, initial(backbag)) jumpsuit_style = sanitize_inlist(jumpsuit_style, GLOB.jumpsuitlist, initial(jumpsuit_style)) uplink_spawn_loc = sanitize_inlist(uplink_spawn_loc, GLOB.uplink_spawn_loc_list, initial(uplink_spawn_loc)) @@ -714,8 +698,8 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car WRITE_FILE(S["shirt_color"] , shirt_color) WRITE_FILE(S["socks"] , socks) WRITE_FILE(S["socks_color"] , socks_color) - WRITE_FILE(S["horn_color"] , horn_color) - WRITE_FILE(S["wing_color"] , wing_color) + WRITE_FILE(S["horns_color"] , features["horns_color"]) + WRITE_FILE(S["wings_color"] , features["wings_color"]) WRITE_FILE(S["backbag"] , backbag) WRITE_FILE(S["jumpsuit_style"] , jumpsuit_style) WRITE_FILE(S["uplink_loc"] , uplink_spawn_loc) diff --git a/code/modules/mob/dead/new_player/preferences_setup.dm b/code/modules/mob/dead/new_player/preferences_setup.dm index 317efc2c1f..9a0d9f9242 100644 --- a/code/modules/mob/dead/new_player/preferences_setup.dm +++ b/code/modules/mob/dead/new_player/preferences_setup.dm @@ -18,8 +18,6 @@ hair_color = random_short_color() facial_hair_color = hair_color eye_color = random_eye_color() - horn_color = "85615a" - wing_color = "fff" if(!pref_species) var/rando_race = pick(GLOB.roundstart_races) pref_species = new rando_race() diff --git a/code/modules/mob/living/carbon/human/human_defines.dm b/code/modules/mob/living/carbon/human/human_defines.dm index 68c312b19c..59766b03a4 100644 --- a/code/modules/mob/living/carbon/human/human_defines.dm +++ b/code/modules/mob/living/carbon/human/human_defines.dm @@ -11,7 +11,7 @@ status_flags = CANSTUN|CANKNOCKDOWN|CANUNCONSCIOUS|CANPUSH|CANSTAGGER blocks_emissive = EMISSIVE_BLOCK_UNIQUE - + //Hair colour and style var/hair_color = "000" var/hair_style = "Bald" @@ -23,10 +23,6 @@ //Eye colour var/eye_color = "000" - var/horn_color = "85615a" //specific horn colors, because why not? - - var/wing_color = "fff" //wings too - var/skin_tone = "caucasian1" //Skin tone var/lip_style = null //no lipstick by default- arguably misleading, as it could be used for general makeup diff --git a/code/modules/mob/living/carbon/human/species.dm b/code/modules/mob/living/carbon/human/species.dm index 978976111c..aeab0042ac 100644 --- a/code/modules/mob/living/carbon/human/species.dm +++ b/code/modules/mob/living/carbon/human/species.dm @@ -35,10 +35,6 @@ GLOBAL_LIST_EMPTY(roundstart_race_names) var/hair_color // this allows races to have specific hair colors... if null, it uses the H's hair/facial hair colors. if "mutcolor", it uses the H's mutant_color var/hair_alpha = 255 // the alpha used by the hair. 255 is completely solid, 0 is transparent. - - var/horn_color //specific horn colors, because why not? - var/wing_color - var/use_skintones = NO_SKINTONES // does it use skintones or not? (spoiler alert this is only used by humans) var/exotic_blood = "" // If your race wants to bleed something other than bog standard blood, change this to reagent id. var/exotic_bloodtype = "" //If your race uses a non standard bloodtype (A+, O-, AB-, etc) @@ -882,9 +878,9 @@ GLOBAL_LIST_EMPTY(roundstart_race_names) if(EYECOLOR) accessory_overlay.color = "#[H.eye_color]" if(HORNCOLOR) - accessory_overlay.color = "#[H.horn_color]" + accessory_overlay.color = "#[H.dna.features["horns_color"]]" if(WINGCOLOR) - accessory_overlay.color = "#[H.wing_color]" + accessory_overlay.color = "#[H.dna.features["wings_color"]]" else accessory_overlay.color = forced_colour else @@ -938,9 +934,9 @@ GLOBAL_LIST_EMPTY(roundstart_race_names) extra_accessory_overlay.color = "#[H.eye_color]" if(HORNCOLOR) - extra_accessory_overlay.color = "#[H.horn_color]" + extra_accessory_overlay.color = "#[H.dna.features["horns_color"]]" if(WINGCOLOR) - extra_accessory_overlay.color = "#[H.wing_color]" + extra_accessory_overlay.color = "#[H.dna.features["wings_color"]]" if(OFFSET_MUTPARTS in H.dna.species.offset_features) extra_accessory_overlay.pixel_x += H.dna.species.offset_features[OFFSET_MUTPARTS][1] @@ -979,9 +975,9 @@ GLOBAL_LIST_EMPTY(roundstart_race_names) else extra2_accessory_overlay.color = "#[H.hair_color]" if(HORNCOLOR) - extra2_accessory_overlay.color = "#[H.horn_color]" + extra2_accessory_overlay.color = "#[H.dna.features["horns_color"]]" if(WINGCOLOR) - extra2_accessory_overlay.color = "#[H.wing_color]" + extra2_accessory_overlay.color = "#[H.dna.features["wings_color"]]" if(OFFSET_MUTPARTS in H.dna.species.offset_features) extra2_accessory_overlay.pixel_x += H.dna.species.offset_features[OFFSET_MUTPARTS][1]