diff --git a/code/game/dna/dna2.dm b/code/game/dna/dna2.dm index eb340f83d6..a67656dd03 100644 --- a/code/game/dna/dna2.dm +++ b/code/game/dna/dna2.dm @@ -39,11 +39,20 @@ #define DNA_UI_TAIL_R 20 #define DNA_UI_TAIL_G 21 #define DNA_UI_TAIL_B 22 -#define DNA_UI_WING_STYLE 23 //VOREStation Edit -#define DNA_UI_WING_R 24 //VOREStation Edit -#define DNA_UI_WING_G 25 //VOREStation Edit -#define DNA_UI_WING_B 26 //VOREStation Edit -#define DNA_UI_LENGTH 26 // Update this when you add something, or you WILL break shit. //VOREStation Edit to 26 +#define DNA_UI_TAIL2_R 23 // VOREStation snippet. +#define DNA_UI_TAIL2_G 24 +#define DNA_UI_TAIL2_B 25 +#define DNA_UI_EARS_R 26 +#define DNA_UI_EARS_G 27 +#define DNA_UI_EARS_B 28 +#define DNA_UI_EARS2_R 29 +#define DNA_UI_EARS2_G 30 +#define DNA_UI_EARS2_B 31 +#define DNA_UI_WING_STYLE 32 +#define DNA_UI_WING_R 33 +#define DNA_UI_WING_G 34 +#define DNA_UI_WING_B 35 // VOREStation snippet end. +#define DNA_UI_LENGTH 35 // VOREStation Edit to 35 #define DNA_SE_LENGTH 27 // For later: @@ -194,10 +203,22 @@ var/global/list/datum/dna/gene/dna_genes[0] SetUIValueRange(DNA_UI_TAIL_G, character.g_tail, 255, 1) SetUIValueRange(DNA_UI_TAIL_B, character.b_tail, 255, 1) + SetUIValueRange(DNA_UI_TAIL2_R, character.r_tail2, 255, 1) + SetUIValueRange(DNA_UI_TAIL2_G, character.g_tail2, 255, 1) + SetUIValueRange(DNA_UI_TAIL2_B, character.b_tail2, 255, 1) + SetUIValueRange(DNA_UI_WING_R, character.r_wing, 255, 1) SetUIValueRange(DNA_UI_WING_G, character.g_wing, 255, 1) SetUIValueRange(DNA_UI_WING_B, character.b_wing, 255, 1) + SetUIValueRange(DNA_UI_EARS_R, character.r_ears, 255, 1) + SetUIValueRange(DNA_UI_EARS_G, character.g_ears, 255, 1) + SetUIValueRange(DNA_UI_EARS_B, character.b_ears, 255, 1) + + SetUIValueRange(DNA_UI_EARS2_R, character.r_ears2, 255, 1) + SetUIValueRange(DNA_UI_EARS2_G, character.g_ears2, 255, 1) + SetUIValueRange(DNA_UI_EARS2_B, character.b_ears2, 255, 1) + // VORE Station Edit End SetUIValueRange(DNA_UI_HAIR_R, character.r_hair, 255, 1) diff --git a/code/game/dna/dna2_helpers.dm b/code/game/dna/dna2_helpers.dm index 156c98e52f..2ee34f650e 100644 --- a/code/game/dna/dna2_helpers.dm +++ b/code/game/dna/dna2_helpers.dm @@ -177,6 +177,12 @@ //Ears var/ears = dna.GetUIValueRange(DNA_UI_EAR_STYLE, ear_styles_list.len + 1) - 1 + H.r_ears = dna.GetUIValueRange(DNA_UI_EARS_R, 255) + H.g_ears = dna.GetUIValueRange(DNA_UI_EARS_G, 255) + H.b_ears = dna.GetUIValueRange(DNA_UI_EARS_B, 255) + H.r_ears2 = dna.GetUIValueRange(DNA_UI_EARS2_R, 255) + H.g_ears2 = dna.GetUIValueRange(DNA_UI_EARS2_G, 255) + H.b_ears2 = dna.GetUIValueRange(DNA_UI_EARS2_B, 255) if(ears <= 1) H.ear_style = null else if((0 < ears) && (ears <= ear_styles_list.len)) @@ -205,6 +211,9 @@ H.r_tail = dna.GetUIValueRange(DNA_UI_TAIL_R, 255) H.g_tail = dna.GetUIValueRange(DNA_UI_TAIL_G, 255) H.b_tail = dna.GetUIValueRange(DNA_UI_TAIL_B, 255) + H.r_tail2 = dna.GetUIValueRange(DNA_UI_TAIL2_R, 255) + H.g_tail2 = dna.GetUIValueRange(DNA_UI_TAIL2_G, 255) + H.b_tail2 = dna.GetUIValueRange(DNA_UI_TAIL2_B, 255) // Technically custom_species is not part of the UI, but this place avoids merge problems. H.custom_species = dna.custom_species diff --git a/code/modules/client/preference_setup/vore/01_ears.dm b/code/modules/client/preference_setup/vore/01_ears.dm index 100eb8d372..65dfc87c34 100644 --- a/code/modules/client/preference_setup/vore/01_ears.dm +++ b/code/modules/client/preference_setup/vore/01_ears.dm @@ -7,9 +7,12 @@ // Define a place to save appearance in character setup /datum/preferences var/ear_style // Type of selected ear style - var/red_ear = 30 // Ear color. Goddarn dupe var names. - var/g_ear = 30 // Ear color - var/b_ear = 30 // Ear color + var/r_ears = 30 // Ear color. + var/g_ears = 30 // Ear color + var/b_ears = 30 // Ear color + var/r_ears2 = 30 // Ear extra color. + var/g_ears2 = 30 // Ear extra color + var/b_ears2 = 30 // Ear extra color var/tail_style // Type of selected tail style var/r_tail = 30 // Tail/Taur color var/g_tail = 30 // Tail/Taur color @@ -30,9 +33,12 @@ /datum/category_item/player_setup_item/vore/ears/load_character(var/savefile/S) S["ear_style"] >> pref.ear_style - S["red_ear"] >> pref.red_ear - S["g_ear"] >> pref.g_ear - S["b_ear"] >> pref.b_ear + S["r_ears"] >> pref.r_ears + S["g_ears"] >> pref.g_ears + S["b_ears"] >> pref.b_ears + S["r_ears2"] >> pref.r_ears2 + S["g_ears2"] >> pref.g_ears2 + S["b_ears2"] >> pref.b_ears2 S["tail_style"] >> pref.tail_style S["r_tail"] >> pref.r_tail S["g_tail"] >> pref.g_tail @@ -47,9 +53,12 @@ /datum/category_item/player_setup_item/vore/ears/save_character(var/savefile/S) S["ear_style"] << pref.ear_style - S["red_ear"] << pref.red_ear - S["g_ear"] << pref.g_ear - S["b_ear"] << pref.b_ear + S["r_ears"] << pref.r_ears + S["g_ears"] << pref.g_ears + S["b_ears"] << pref.b_ears + S["r_ears2"] << pref.r_ears2 + S["g_ears2"] << pref.g_ears2 + S["b_ears2"] << pref.b_ears2 S["tail_style"] << pref.tail_style S["r_tail"] << pref.r_tail S["g_tail"] << pref.g_tail @@ -63,9 +72,12 @@ S["b_wing"] << pref.b_wing /datum/category_item/player_setup_item/vore/ears/sanitize_character() - pref.red_ear = sanitize_integer(pref.red_ear, 0, 255, initial(pref.red_ear)) - pref.g_ear = sanitize_integer(pref.g_ear, 0, 255, initial(pref.g_ear)) - pref.b_ear = sanitize_integer(pref.b_ear, 0, 255, initial(pref.b_ear)) + pref.r_ears = sanitize_integer(pref.r_ears, 0, 255, initial(pref.r_ears)) + pref.g_ears = sanitize_integer(pref.g_ears, 0, 255, initial(pref.g_ears)) + pref.b_ears = sanitize_integer(pref.b_ears, 0, 255, initial(pref.b_ears)) + pref.r_ears2 = sanitize_integer(pref.r_ears2, 0, 255, initial(pref.r_ears2)) + pref.g_ears2 = sanitize_integer(pref.g_ears2, 0, 255, initial(pref.g_ears2)) + pref.b_ears2 = sanitize_integer(pref.b_ears2, 0, 255, initial(pref.b_ears2)) pref.r_tail = sanitize_integer(pref.r_tail, 0, 255, initial(pref.r_tail)) pref.g_tail = sanitize_integer(pref.g_tail, 0, 255, initial(pref.g_tail)) pref.b_tail = sanitize_integer(pref.b_tail, 0, 255, initial(pref.b_tail)) @@ -84,9 +96,12 @@ /datum/category_item/player_setup_item/vore/ears/copy_to_mob(var/mob/living/carbon/human/character) character.ear_style = ear_styles_list[pref.ear_style] - character.red_ear = pref.red_ear - character.b_ear = pref.b_ear - character.g_ear = pref.g_ear + character.r_ears = pref.r_ears + character.b_ears = pref.b_ears + character.g_ears = pref.g_ears + character.r_ears2 = pref.r_ears2 + character.b_ears2 = pref.b_ears2 + character.g_ears2 = pref.g_ears2 character.tail_style = tail_styles_list[pref.tail_style] character.r_tail = pref.r_tail character.b_tail = pref.b_tail @@ -124,7 +139,9 @@ if(ear_styles_list[pref.ear_style]) var/datum/sprite_accessory/ears/ear = ear_styles_list[pref.ear_style] if (ear.do_colouration) - . += "Change Color
__

" + . += "Change Color
__

" + if (ear.extra_overlay) + . += "Change Secondary Color
__

" var/tail_display = "Normal" if(pref.tail_style && (pref.tail_style in tail_styles_list)) @@ -176,11 +193,20 @@ else if(href_list["ear_color"]) var/new_earc = input(user, "Choose your character's ear colour:", "Character Preference", - rgb(pref.red_ear, pref.g_ear, pref.b_ear)) as color|null + rgb(pref.r_ears, pref.g_ears, pref.b_ears)) as color|null if(new_earc) - pref.red_ear = hex2num(copytext(new_earc, 2, 4)) - pref.g_ear = hex2num(copytext(new_earc, 4, 6)) - pref.b_ear = hex2num(copytext(new_earc, 6, 8)) + pref.r_ears = hex2num(copytext(new_earc, 2, 4)) + pref.g_ears = hex2num(copytext(new_earc, 4, 6)) + pref.b_ears = hex2num(copytext(new_earc, 6, 8)) + return TOPIC_REFRESH_UPDATE_PREVIEW + + else if(href_list["ear_color2"]) + var/new_earc2 = input(user, "Choose your character's ear colour:", "Character Preference", + rgb(pref.r_ears2, pref.g_ears2, pref.b_ears2)) as color|null + if(new_earc2) + pref.r_ears2 = hex2num(copytext(new_earc2, 2, 4)) + pref.g_ears2 = hex2num(copytext(new_earc2, 4, 6)) + pref.b_ears2 = hex2num(copytext(new_earc2, 6, 8)) return TOPIC_REFRESH_UPDATE_PREVIEW else if(href_list["tail_style"]) diff --git a/code/modules/vore/appearance/preferences_vr.dm b/code/modules/vore/appearance/preferences_vr.dm index 1a5e3129c9..b037be9c2f 100644 --- a/code/modules/vore/appearance/preferences_vr.dm +++ b/code/modules/vore/appearance/preferences_vr.dm @@ -11,9 +11,12 @@ // Horray Furries! var/datum/sprite_accessory/ears/ear_style = null - var/red_ear = 30 - var/g_ear = 30 - var/b_ear = 30 + var/r_ears = 30 + var/g_ears = 30 + var/b_ears = 30 + var/r_ears2 = 30 + var/g_ears2 = 30 + var/b_ears2 = 30 var/datum/sprite_accessory/tail/tail_style = null var/r_tail = 30 var/g_tail = 30 diff --git a/code/modules/vore/appearance/update_icons_vr.dm b/code/modules/vore/appearance/update_icons_vr.dm index 43ace3859b..b17197f1f8 100644 --- a/code/modules/vore/appearance/update_icons_vr.dm +++ b/code/modules/vore/appearance/update_icons_vr.dm @@ -5,10 +5,12 @@ var/global/list/wing_icon_cache = list() if(ear_style && !(head && (head.flags_inv & BLOCKHEADHAIR))) var/icon/ears_s = new/icon("icon" = ear_style.icon, "icon_state" = ear_style.icon_state) if(ear_style.do_colouration) - ears_s.Blend(rgb(src.red_ear, src.g_ear, src.b_ear), ear_style.color_blend_mode) + ears_s.Blend(rgb(src.r_ears, src.g_ears, src.b_ears), ear_style.color_blend_mode) if(ear_style.extra_overlay) var/icon/overlay = new/icon("icon" = ear_style.icon, "icon_state" = ear_style.extra_overlay) + overlay.Blend(rgb(src.r_ears2, src.g_ears2, src.b_ears2), ear_style.color_blend_mode) ears_s.Blend(overlay, ICON_OVERLAY) + qdel(overlay) return ears_s return null