diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index 6b1d124dad..abc39110a3 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -227,7 +227,10 @@ GLOBAL_LIST_EMPTY(preferences_datums) "meat_type" = "Mammalian", "body_model" = MALE, "body_size" = RESIZE_DEFAULT_SIZE, -"color_scheme" = OLD_CHARACTER_COLORING +"color_scheme" = OLD_CHARACTER_COLORING, + +"neckfire" = FALSE, +"neckfire_color" = "ffffff" ) @@ -942,6 +945,16 @@ GLOBAL_LIST_EMPTY(preferences_datums) dat += "Belly Size:[features["belly_size"]]" dat += "Belly Visibility:[features["belly_visibility"]]" dat += "" + if(pref_species.id == SPECIES_DULLAHAN) + dat += APPEARANCE_CATEGORY_COLUMN + + dat += "

Neckfire

" + dat += "[features["neckfire"] ? "Yes" : "No"]" + if(features["neckfire"]) + dat += "Color:
" + dat += "#[features["neckfire_color"]]Change
" + + dat += "" dat += "" dat += "" @@ -2233,6 +2246,19 @@ GLOBAL_LIST_EMPTY(preferences_datums) if("mismatched_markings") show_mismatched_markings = !show_mismatched_markings + if("has_neckfire") + features["neckfire"] = !features["neckfire"] + if("has_neckfire_color") + var/new_neckfire_color = input(user, "Choose your fire's color:", "Character Preference", "#"+features["neckfire_color"]) as color|null + if(new_neckfire_color) + var/temp_hsv = RGBtoHSV(new_neckfire_color) + if(new_neckfire_color == "#000000") + features["neckfire_color"] = pref_species.default_color + else if(ReadHSV(temp_hsv)[3] >= ReadHSV(MINIMUM_MUTANT_COLOR)[3]) + features["neckfire_color"] = sanitize_hexcolor(new_neckfire_color, 6) + else + to_chat(user,"Invalid color. Your color is not bright enough.") + if("ipc_screen") var/new_ipc_screen new_ipc_screen = input(user, "Choose your character's screen:", "Character Preference") as null|anything in GLOB.ipc_screens_list diff --git a/code/modules/client/preferences_savefile.dm b/code/modules/client/preferences_savefile.dm index 293d21e847..e1c2a7c99a 100644 --- a/code/modules/client/preferences_savefile.dm +++ b/code/modules/client/preferences_savefile.dm @@ -761,7 +761,11 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car "meat_type" = "Mammalian", "body_model" = MALE, "body_size" = RESIZE_DEFAULT_SIZE, -"color_scheme" = OLD_CHARACTER_COLORING) +"color_scheme" = OLD_CHARACTER_COLORING, + +"neckfire" = FALSE, +"neckfire_color" = "ffffff" +) S.cd = "/" @@ -968,6 +972,8 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car //SPLURT edit S["feature_naked_flavor_text"] >> features["naked_flavor_text"] + S["feature_neckfire"] >> features["neckfire"] + S["feature_neckfire_color"] >> features["neckfire_color"] //end // Barks S["bark_id"] >> bark_id @@ -1311,6 +1317,9 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car WRITE_FILE(S["feature_belly_size"], features["belly_size"]) WRITE_FILE(S["feature_belly_visibility"], features["belly_visibility"]) + WRITE_FILE(S["feature_neckfire"], features["neckfire"]) + WRITE_FILE(S["feature_neckfire_color"], features["neckfire_color"]) + WRITE_FILE(S["feature_ooc_notes"], features["ooc_notes"]) WRITE_FILE(S["feature_color_scheme"], features["color_scheme"])