diff --git a/code/game/dna/dna2.dm b/code/game/dna/dna2.dm
index de2ea0f536..1ffaab1793 100644
--- a/code/game/dna/dna2.dm
+++ b/code/game/dna/dna2.dm
@@ -42,20 +42,29 @@
#define DNA_UI_TAIL2_R 23
#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
-#define DNA_UI_WING2_R 36
-#define DNA_UI_WING2_G 37
-#define DNA_UI_WING2_B 38 // VOREStation snippet end.
-#define DNA_UI_LENGTH 38 // VOREStation Edit - Needs to match the highest number above.
+#define DNA_UI_TAIL3_R 26
+#define DNA_UI_TAIL3_G 27
+#define DNA_UI_TAIL3_B 28
+#define DNA_UI_EARS_R 29
+#define DNA_UI_EARS_G 30
+#define DNA_UI_EARS_B 31
+#define DNA_UI_EARS2_R 32
+#define DNA_UI_EARS2_G 33
+#define DNA_UI_EARS2_B 34
+#define DNA_UI_EARS3_R 35
+#define DNA_UI_EARS3_G 36
+#define DNA_UI_EARS3_B 37
+#define DNA_UI_WING_STYLE 38
+#define DNA_UI_WING_R 39
+#define DNA_UI_WING_G 40
+#define DNA_UI_WING_B 41
+#define DNA_UI_WING2_R 42
+#define DNA_UI_WING2_G 43
+#define DNA_UI_WING2_B 44
+#define DNA_UI_WING3_R 45
+#define DNA_UI_WING3_G 46
+#define DNA_UI_WING3_B 47 // VOREStation snippet end.
+#define DNA_UI_LENGTH 47 // VOREStation Edit - Needs to match the highest number above.
#define DNA_SE_LENGTH 49 // VOREStation Edit (original was UI+11)
// For later:
@@ -229,6 +238,10 @@ var/global/list/datum/dna/gene/dna_genes[0]
SetUIValueRange(DNA_UI_TAIL2_G, character.g_tail2, 255, 1)
SetUIValueRange(DNA_UI_TAIL2_B, character.b_tail2, 255, 1)
+ SetUIValueRange(DNA_UI_TAIL3_R, character.r_tail3, 255, 1)
+ SetUIValueRange(DNA_UI_TAIL3_G, character.g_tail3, 255, 1)
+ SetUIValueRange(DNA_UI_TAIL3_B, character.b_tail3, 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)
@@ -237,6 +250,10 @@ var/global/list/datum/dna/gene/dna_genes[0]
SetUIValueRange(DNA_UI_WING2_G, character.g_wing2, 255, 1)
SetUIValueRange(DNA_UI_WING2_B, character.b_wing2, 255, 1)
+ SetUIValueRange(DNA_UI_WING3_R, character.r_wing3, 255, 1)
+ SetUIValueRange(DNA_UI_WING3_G, character.g_wing3, 255, 1)
+ SetUIValueRange(DNA_UI_WING3_B, character.b_wing3, 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)
@@ -245,6 +262,10 @@ var/global/list/datum/dna/gene/dna_genes[0]
SetUIValueRange(DNA_UI_EARS2_G, character.g_ears2, 255, 1)
SetUIValueRange(DNA_UI_EARS2_B, character.b_ears2, 255, 1)
+ SetUIValueRange(DNA_UI_EARS3_R, character.r_ears3, 255, 1)
+ SetUIValueRange(DNA_UI_EARS3_G, character.g_ears3, 255, 1)
+ SetUIValueRange(DNA_UI_EARS3_B, character.b_ears3, 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 cd3ec6a44d..0edc6bb636 100644
--- a/code/game/dna/dna2_helpers.dm
+++ b/code/game/dna/dna2_helpers.dm
@@ -189,6 +189,10 @@
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)
+ H.r_ears3 = dna.GetUIValueRange(DNA_UI_EARS3_R, 255)
+ H.g_ears3 = dna.GetUIValueRange(DNA_UI_EARS3_G, 255)
+ H.b_ears3 = dna.GetUIValueRange(DNA_UI_EARS3_B, 255)
+
//Tail
var/tail = dna.GetUIValueRange(DNA_UI_TAIL_STYLE, tail_styles_list.len + 1) - 1
@@ -208,6 +212,12 @@
H.r_wing = dna.GetUIValueRange(DNA_UI_WING_R, 255)
H.g_wing = dna.GetUIValueRange(DNA_UI_WING_G, 255)
H.b_wing = dna.GetUIValueRange(DNA_UI_WING_B, 255)
+ H.r_wing2 = dna.GetUIValueRange(DNA_UI_WING2_R, 255)
+ H.g_wing2 = dna.GetUIValueRange(DNA_UI_WING2_G, 255)
+ H.b_wing2 = dna.GetUIValueRange(DNA_UI_WING2_B, 255)
+ H.r_wing3 = dna.GetUIValueRange(DNA_UI_WING3_R, 255)
+ H.g_wing3 = dna.GetUIValueRange(DNA_UI_WING3_G, 255)
+ H.b_wing3 = dna.GetUIValueRange(DNA_UI_WING3_B, 255)
// Playerscale
var/size = dna.GetUIValueRange(DNA_UI_PLAYERSCALE, player_sizes_list.len)
@@ -221,6 +231,9 @@
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)
+ H.r_tail3 = dna.GetUIValueRange(DNA_UI_TAIL3_R, 255)
+ H.g_tail3 = dna.GetUIValueRange(DNA_UI_TAIL3_G, 255)
+ H.b_tail3 = dna.GetUIValueRange(DNA_UI_TAIL3_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 c36ccd4bca..dea5be0479 100644
--- a/code/modules/client/preference_setup/vore/01_ears.dm
+++ b/code/modules/client/preference_setup/vore/01_ears.dm
@@ -13,6 +13,9 @@
var/r_ears2 = 30 // Ear extra color.
var/g_ears2 = 30 // Ear extra color
var/b_ears2 = 30 // Ear extra color
+ var/r_ears3 = 30 // Ear tertiary color.
+ var/g_ears3 = 30 // Ear tertiary color
+ var/b_ears3 = 30 // Ear tertiary color
var/tail_style // Type of selected tail style
var/r_tail = 30 // Tail/Taur color
var/g_tail = 30 // Tail/Taur color
@@ -20,6 +23,9 @@
var/r_tail2 = 30 // For extra overlay.
var/g_tail2 = 30 // For extra overlay.
var/b_tail2 = 30 // For extra overlay.
+ var/r_tail3 = 30 // For tertiary overlay.
+ var/g_tail3 = 30 // For tertiary overlay.
+ var/b_tail3 = 30 // For tertiary overlay.
var/wing_style // Type of selected wing style
var/r_wing = 30 // Wing color
var/g_wing = 30 // Wing color
@@ -27,6 +33,9 @@
var/r_wing2 = 30 // Wing extra color
var/g_wing2 = 30 // Wing extra color
var/b_wing2 = 30 // Wing extra color
+ var/r_wing3 = 30 // Wing tertiary color
+ var/g_wing3 = 30 // Wing tertiary color
+ var/b_wing3 = 30 // Wing tertiary color
// Definition of the stuff for Ears
/datum/category_item/player_setup_item/vore/ears
@@ -41,6 +50,9 @@
S["r_ears2"] >> pref.r_ears2
S["g_ears2"] >> pref.g_ears2
S["b_ears2"] >> pref.b_ears2
+ S["r_ears3"] >> pref.r_ears3
+ S["g_ears3"] >> pref.g_ears3
+ S["b_ears3"] >> pref.b_ears3
S["tail_style"] >> pref.tail_style
S["r_tail"] >> pref.r_tail
S["g_tail"] >> pref.g_tail
@@ -48,6 +60,9 @@
S["r_tail2"] >> pref.r_tail2
S["g_tail2"] >> pref.g_tail2
S["b_tail2"] >> pref.b_tail2
+ S["r_tail3"] >> pref.r_tail3
+ S["g_tail3"] >> pref.g_tail3
+ S["b_tail3"] >> pref.b_tail3
S["wing_style"] >> pref.wing_style
S["r_wing"] >> pref.r_wing
S["g_wing"] >> pref.g_wing
@@ -55,6 +70,9 @@
S["r_wing2"] >> pref.r_wing2
S["g_wing2"] >> pref.g_wing2
S["b_wing2"] >> pref.b_wing2
+ S["r_wing3"] >> pref.r_wing3
+ S["g_wing3"] >> pref.g_wing3
+ S["b_wing3"] >> pref.b_wing3
/datum/category_item/player_setup_item/vore/ears/save_character(var/savefile/S)
S["ear_style"] << pref.ear_style
@@ -64,6 +82,9 @@
S["r_ears2"] << pref.r_ears2
S["g_ears2"] << pref.g_ears2
S["b_ears2"] << pref.b_ears2
+ S["r_ears3"] << pref.r_ears3
+ S["g_ears3"] << pref.g_ears3
+ S["b_ears3"] << pref.b_ears3
S["tail_style"] << pref.tail_style
S["r_tail"] << pref.r_tail
S["g_tail"] << pref.g_tail
@@ -71,6 +92,9 @@
S["r_tail2"] << pref.r_tail2
S["g_tail2"] << pref.g_tail2
S["b_tail2"] << pref.b_tail2
+ S["r_tail3"] << pref.r_tail3
+ S["g_tail3"] << pref.g_tail3
+ S["b_tail3"] << pref.b_tail3
S["wing_style"] << pref.wing_style
S["r_wing"] << pref.r_wing
S["g_wing"] << pref.g_wing
@@ -78,6 +102,9 @@
S["r_wing2"] << pref.r_wing2
S["g_wing2"] << pref.g_wing2
S["b_wing2"] << pref.b_wing2
+ S["r_wing3"] << pref.r_wing3
+ S["g_wing3"] << pref.g_wing3
+ S["b_wing3"] << pref.b_wing3
/datum/category_item/player_setup_item/vore/ears/sanitize_character()
pref.r_ears = sanitize_integer(pref.r_ears, 0, 255, initial(pref.r_ears))
@@ -86,18 +113,28 @@
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_ears3 = sanitize_integer(pref.r_ears3, 0, 255, initial(pref.r_ears3))
+ pref.g_ears3 = sanitize_integer(pref.g_ears3, 0, 255, initial(pref.g_ears3))
+ pref.b_ears3 = sanitize_integer(pref.b_ears3, 0, 255, initial(pref.b_ears3))
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))
pref.r_tail2 = sanitize_integer(pref.r_tail2, 0, 255, initial(pref.r_tail2))
pref.g_tail2 = sanitize_integer(pref.g_tail2, 0, 255, initial(pref.g_tail2))
pref.b_tail2 = sanitize_integer(pref.b_tail2, 0, 255, initial(pref.b_tail2))
+ pref.r_tail3 = sanitize_integer(pref.r_tail3, 0, 255, initial(pref.r_tail3))
+ pref.g_tail3 = sanitize_integer(pref.g_tail3, 0, 255, initial(pref.g_tail3))
+ pref.b_tail3 = sanitize_integer(pref.b_tail3, 0, 255, initial(pref.b_tail3))
pref.r_wing = sanitize_integer(pref.r_wing, 0, 255, initial(pref.r_wing))
pref.g_wing = sanitize_integer(pref.g_wing, 0, 255, initial(pref.g_wing))
pref.b_wing = sanitize_integer(pref.b_wing, 0, 255, initial(pref.b_wing))
pref.r_wing2 = sanitize_integer(pref.r_wing2, 0, 255, initial(pref.r_wing2))
pref.g_wing2 = sanitize_integer(pref.g_wing2, 0, 255, initial(pref.g_wing2))
pref.b_wing2 = sanitize_integer(pref.b_wing2, 0, 255, initial(pref.b_wing2))
+ pref.r_wing3 = sanitize_integer(pref.r_wing3, 0, 255, initial(pref.r_wing3))
+ pref.g_wing3 = sanitize_integer(pref.g_wing3, 0, 255, initial(pref.g_wing3))
+ pref.b_wing3 = sanitize_integer(pref.b_wing3, 0, 255, initial(pref.b_wing3))
+
if(pref.ear_style)
pref.ear_style = sanitize_inlist(pref.ear_style, ear_styles_list, initial(pref.ear_style))
var/datum/sprite_accessory/temp_ear_style = ear_styles_list[pref.ear_style]
@@ -122,6 +159,9 @@
character.r_ears2 = pref.r_ears2
character.b_ears2 = pref.b_ears2
character.g_ears2 = pref.g_ears2
+ character.r_ears3 = pref.r_ears3
+ character.b_ears3 = pref.b_ears3
+ character.g_ears3 = pref.g_ears3
character.tail_style = tail_styles_list[pref.tail_style]
character.r_tail = pref.r_tail
character.b_tail = pref.b_tail
@@ -129,6 +169,9 @@
character.r_tail2 = pref.r_tail2
character.b_tail2 = pref.b_tail2
character.g_tail2 = pref.g_tail2
+ character.r_tail3 = pref.r_tail3
+ character.b_tail3 = pref.b_tail3
+ character.g_tail3 = pref.g_tail3
character.wing_style = wing_styles_list[pref.wing_style]
character.r_wing = pref.r_wing
character.b_wing = pref.b_wing
@@ -136,6 +179,9 @@
character.r_wing2 = pref.r_wing2
character.b_wing2 = pref.b_wing2
character.g_wing2 = pref.g_wing2
+ character.r_wing3 = pref.r_wing3
+ character.b_wing3 = pref.b_wing3
+ character.g_wing3 = pref.g_wing3
@@ -153,10 +199,12 @@
. += " Style: [ear_display]
"
if(ear_styles_list[pref.ear_style])
var/datum/sprite_accessory/ears/ear = ear_styles_list[pref.ear_style]
- if (ear.do_colouration)
+ if(ear.do_colouration)
. += "Change Color [color_square(pref.r_ears, pref.g_ears, pref.b_ears)]
"
- if (ear.extra_overlay)
+ if(ear.extra_overlay)
. += "Change Secondary Color [color_square(pref.r_ears2, pref.g_ears2, pref.b_ears2)]
"
+ if(ear.extra_overlay2)
+ . += "Change Tertiary Color [color_square(pref.r_ears3, pref.g_ears3, pref.b_ears3)]
"
var/tail_display = "Normal"
if(pref.tail_style && (pref.tail_style in tail_styles_list))
@@ -169,10 +217,12 @@
if(tail_styles_list[pref.tail_style])
var/datum/sprite_accessory/tail/T = tail_styles_list[pref.tail_style]
- if (T.do_colouration)
+ if(T.do_colouration)
. += "Change Color [color_square(pref.r_tail, pref.g_tail, pref.b_tail)]
"
- if (T.extra_overlay)
+ if(T.extra_overlay)
. += "Change Secondary Color [color_square(pref.r_tail2, pref.g_tail2, pref.b_tail2)]
"
+ if(T.extra_overlay2)
+ . += "Change Tertiary Color [color_square(pref.r_tail3, pref.g_tail3, pref.b_tail3)]
"
var/wing_display = "Normal"
if(pref.wing_style && (pref.wing_style in wing_styles_list))
@@ -189,6 +239,8 @@
. += "Change Color [color_square(pref.r_wing, pref.g_wing, pref.b_wing)]
"
if (W.extra_overlay)
. += "Change Secondary Color [color_square(pref.r_wing2, pref.g_wing2, pref.b_wing2)]
"
+ if (W.extra_overlay2)
+ . += "Change Secondary Color [color_square(pref.r_wing3, pref.g_wing3, pref.b_wing3)]
"
/datum/category_item/player_setup_item/vore/ears/OnTopic(var/href,var/list/href_list, var/mob/user)
if(!CanUseTopic(user))
@@ -219,7 +271,7 @@
return TOPIC_REFRESH_UPDATE_PREVIEW
else if(href_list["ear_color2"])
- var/new_earc2 = input(user, "Choose your character's ear colour:", "Character Preference",
+ var/new_earc2 = input(user, "Choose your character's secondary 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))
@@ -227,6 +279,15 @@
pref.b_ears2 = hex2num(copytext(new_earc2, 6, 8))
return TOPIC_REFRESH_UPDATE_PREVIEW
+ else if(href_list["ear_color3"])
+ var/new_earc3 = input(user, "Choose your character's tertiary ear colour:", "Character Preference",
+ rgb(pref.r_ears3, pref.g_ears3, pref.b_ears3)) as color|null
+ if(new_earc3)
+ pref.r_ears3 = hex2num(copytext(new_earc3, 2, 4))
+ pref.g_ears3 = hex2num(copytext(new_earc3, 4, 6))
+ pref.b_ears3 = hex2num(copytext(new_earc3, 6, 8))
+ return TOPIC_REFRESH_UPDATE_PREVIEW
+
else if(href_list["tail_style"])
// Construct the list of names allowed for this user.
var/list/pretty_tail_styles = list("Normal" = null)
@@ -260,6 +321,15 @@
pref.b_tail2 = hex2num(copytext(new_tailc2, 6, 8))
return TOPIC_REFRESH_UPDATE_PREVIEW
+ else if(href_list["tail_color3"])
+ var/new_tailc3 = input(user, "Choose your character's tertiary tail/taur colour:", "Character Preference",
+ rgb(pref.r_tail3, pref.g_tail3, pref.b_tail3)) as color|null
+ if(new_tailc3)
+ pref.r_tail3 = hex2num(copytext(new_tailc3, 2, 4))
+ pref.g_tail3 = hex2num(copytext(new_tailc3, 4, 6))
+ pref.b_tail3 = hex2num(copytext(new_tailc3, 6, 8))
+ return TOPIC_REFRESH_UPDATE_PREVIEW
+
else if(href_list["wing_style"])
// Construct the list of names allowed for this user.
var/list/pretty_wing_styles = list("Normal" = null)
@@ -293,4 +363,13 @@
pref.b_wing2 = hex2num(copytext(new_wingc2, 6, 8))
return TOPIC_REFRESH_UPDATE_PREVIEW
+ else if(href_list["wing_color3"])
+ var/new_wingc3 = input(user, "Choose your character's tertiary wing colour:", "Character Preference",
+ rgb(pref.r_wing3, pref.g_wing3, pref.b_wing3)) as color|null
+ if(new_wingc3)
+ pref.r_wing3 = hex2num(copytext(new_wingc3, 2, 4))
+ pref.g_wing3 = hex2num(copytext(new_wingc3, 4, 6))
+ pref.b_wing3 = hex2num(copytext(new_wingc3, 6, 8))
+ return TOPIC_REFRESH_UPDATE_PREVIEW
+
return ..()
diff --git a/code/modules/mob/living/carbon/human/human_powers_vr.dm b/code/modules/mob/living/carbon/human/human_powers_vr.dm
index 1d1954ac33..d21fbfeb05 100644
--- a/code/modules/mob/living/carbon/human/human_powers_vr.dm
+++ b/code/modules/mob/living/carbon/human/human_powers_vr.dm
@@ -13,4 +13,25 @@
to_chat(src, "Reagents purged!")
return TRUE
-
+
+/mob/living/carbon/human/verb/toggle_eyes_layer()
+ set name = "Switch Eyes/Monitor Layer"
+ set desc = "Toggle rendering of eyes/monitor above markings."
+ set category = "IC"
+
+ if(stat)
+ to_chat(src, "You must be awake and standing to perform this action!")
+ return
+ var/obj/item/organ/external/head/vr/H = organs_by_name[BP_HEAD]
+ if(!H)
+ to_chat(src, "You don't seem to have a head!")
+ return
+
+ H.eyes_over_markings = !H.eyes_over_markings
+ update_icons_body()
+
+ var/datum/robolimb/robohead = all_robolimbs[H.model]
+ if(robohead.monitor_styles && robohead.monitor_icon)
+ to_chat(src, "You reconfigure the rendering order of your facial display.")
+
+ return TRUE
diff --git a/code/modules/mob/living/carbon/human/species/species_shapeshift_vr.dm b/code/modules/mob/living/carbon/human/species/species_shapeshift_vr.dm
index be37e03c47..c5d2d72fff 100644
--- a/code/modules/mob/living/carbon/human/species/species_shapeshift_vr.dm
+++ b/code/modules/mob/living/carbon/human/species/species_shapeshift_vr.dm
@@ -41,6 +41,15 @@
g_ears2 = new_color_rgb_list[2]
b_ears2 = new_color_rgb_list[3]
+ var/current_ter_color = rgb(r_ears3,g_ears3,b_ears3)
+
+ var/new_ter_color = input("Pick tertiary ear color (only applies to some ears):","Ear Color (sec)", current_ter_color) as null|color
+ if(new_ter_color)
+ new_color_rgb_list = hex2rgb(new_sec_color)
+ r_ears3 = new_color_rgb_list[1]
+ g_ears3 = new_color_rgb_list[2]
+ b_ears3 = new_color_rgb_list[3]
+
update_hair() //Includes Virgo ears
/mob/living/carbon/human/proc/shapeshifter_select_tail()
@@ -86,6 +95,15 @@
g_tail2 = new_color_rgb_list[2]
b_tail2 = new_color_rgb_list[3]
+ var/current_ter_color = rgb(r_tail3,g_tail3,b_tail3)
+
+ var/new_ter_color = input("Pick tertiary tail color (only applies to some tails):","Tail Color (sec)", current_ter_color) as null|color
+ if(new_ter_color)
+ new_color_rgb_list = hex2rgb(new_ter_color)
+ r_tail3 = new_color_rgb_list[1]
+ g_tail3 = new_color_rgb_list[2]
+ b_tail3 = new_color_rgb_list[3]
+
update_tail_showing()
/mob/living/carbon/human/proc/shapeshifter_select_wings()
@@ -131,6 +149,16 @@
g_wing2 = new_color_rgb_list[2]
b_wing2 = new_color_rgb_list[3]
+ var/current_ter_color = rgb(r_wing3,g_wing3,b_wing3)
+
+ var/new_ter_color = input("Pick tertiary wing color (only applies to some wings):","Wing Color (sec)", current_ter_color) as null|color
+ if(new_ter_color)
+ new_color_rgb_list = hex2rgb(new_ter_color)
+ r_wing3 = new_color_rgb_list[1]
+ g_wing3 = new_color_rgb_list[2]
+ b_wing3 = new_color_rgb_list[3]
+
+
update_wing_showing()
/mob/living/carbon/human/proc/promethean_select_opaqueness()
diff --git a/code/modules/mob/living/carbon/human/update_icons_vr.dm b/code/modules/mob/living/carbon/human/update_icons_vr.dm
deleted file mode 100644
index d05f8afa22..0000000000
--- a/code/modules/mob/living/carbon/human/update_icons_vr.dm
+++ /dev/null
@@ -1,32 +0,0 @@
-/mob/living/carbon/human/proc/get_wing_image()
- if(QDESTROYING(src))
- return
-
- //If you are FBP with wing style and didn't set a custom one
- if((synthetic && synthetic.includes_wing && !wing_style) && !wings_hidden)
- var/icon/wing_s = new/icon("icon" = synthetic.icon, "icon_state" = "wing") //I dunno. If synths have some custom wing?
- wing_s.Blend(rgb(src.r_skin, src.g_skin, src.b_skin), species.color_mult ? ICON_MULTIPLY : ICON_ADD)
- return image(wing_s)
-
- //If you have custom wings selected
- if((wing_style && !(wear_suit && wear_suit.flags_inv & HIDETAIL)) && !wings_hidden)
- var/icon/wing_s = new/icon("icon" = wing_style.icon, "icon_state" = flapping && wing_style.ani_state ? wing_style.ani_state : wing_style.icon_state)
- if(wing_style.do_colouration)
- wing_s.Blend(rgb(src.r_wing, src.g_wing, src.b_wing), wing_style.color_blend_mode)
- if(wing_style.extra_overlay)
- var/icon/overlay = new/icon("icon" = wing_style.icon, "icon_state" = wing_style.extra_overlay)
- overlay.Blend(rgb(src.r_wing2, src.g_wing2, src.b_wing2), wing_style.color_blend_mode)
- wing_s.Blend(overlay, ICON_OVERLAY)
- qdel(overlay)
- return image(wing_s)
-
-// TODO - Move this to where it should go ~Leshana
-/mob/proc/stop_flying()
- if(QDESTROYING(src))
- return
- flying = FALSE
- return 1
-
-/mob/living/carbon/human/stop_flying()
- if((. = ..()))
- update_wing_showing()
diff --git a/code/modules/mob/new_player/sprite_accessories_vr.dm b/code/modules/mob/new_player/sprite_accessories_vr.dm
index 26d620982c..6baf801552 100644
--- a/code/modules/mob/new_player/sprite_accessories_vr.dm
+++ b/code/modules/mob/new_player/sprite_accessories_vr.dm
@@ -1275,3 +1275,69 @@
body_parts = list(BP_L_LEG,BP_R_LEG,BP_L_HAND,BP_R_HAND,BP_TORSO,BP_GROIN,BP_HEAD)
species_allowed = list(SPECIES_TESHARI)
body_parts = list(BP_L_FOOT,BP_R_FOOT)
+
+ voxscales
+ name = "Vox Scales"
+ icon_state = "Voxscales"
+ color_blend_mode = ICON_MULTIPLY
+ body_parts = list(BP_L_FOOT,BP_R_FOOT,BP_L_LEG,BP_R_LEG,BP_L_ARM,BP_R_ARM,BP_L_HAND,BP_R_HAND,BP_HEAD)
+
+ voxclaws
+ name = "Vox Claws"
+ icon_state = "Voxclaws"
+ color_blend_mode = ICON_MULTIPLY
+ body_parts = list(BP_L_FOOT,BP_R_FOOT,BP_L_HAND,BP_R_HAND)
+
+ voxbeak
+ name = "Vox Beak"
+ icon_state = "Voxscales"
+ color_blend_mode = ICON_MULTIPLY
+ body_parts = list(BP_HEAD)
+
+ unathihood
+ name = "Cobra Hood"
+ icon_state = "unathihood"
+ color_blend_mode = ICON_MULTIPLY
+ body_parts = list(BP_HEAD)
+
+ unathidoublehorns
+ name = "Double Unathi Horns"
+ icon_state = "unathidoublehorns"
+ color_blend_mode = ICON_MULTIPLY
+ body_parts = list(BP_HEAD)
+
+ unathihorns
+ name = "Unathi Horns"
+ icon_state = "unathihorns"
+ color_blend_mode = ICON_MULTIPLY
+ body_parts = list(BP_HEAD)
+
+ unathiramhorns
+ name = "Unathi Ram Horns"
+ icon_state = "unathiramhorns"
+ color_blend_mode = ICON_MULTIPLY
+ body_parts = list(BP_HEAD)
+
+ unathishortspines
+ name = "Unathi Short Spines"
+ icon_state = "unathishortspines"
+ color_blend_mode = ICON_MULTIPLY
+ body_parts = list(BP_HEAD)
+
+ unathilongspines
+ name = "Unathi Long Spines"
+ icon_state = "unathilongspines"
+ color_blend_mode = ICON_MULTIPLY
+ body_parts = list(BP_HEAD)
+
+ unathishortfrills
+ name = "Unathi Short Frills"
+ icon_state = "unathishortfrills"
+ color_blend_mode = ICON_MULTIPLY
+ body_parts = list(BP_HEAD)
+
+ unathilongfrills
+ name = "Unathi Long Frills"
+ icon_state = "unathilongfrills"
+ color_blend_mode = ICON_MULTIPLY
+ body_parts = list(BP_HEAD)
diff --git a/code/modules/organs/organ_icon.dm b/code/modules/organs/organ_icon.dm
index 1fda536c93..86e71c4fc2 100644
--- a/code/modules/organs/organ_icon.dm
+++ b/code/modules/organs/organ_icon.dm
@@ -61,6 +61,8 @@ var/global/list/limb_icon_cache = list()
if(!iscarbon(owner) || !owner.species)
return
+ var/icon/eyecon //VOREStation Edit -- holds eye icon to render over markings later.
+
//Eye color/icon
var/should_have_eyes = owner.should_have_organ(O_EYES)
var/has_eye_color = owner.species.appearance_flags & HAS_EYE_COLOR
@@ -79,8 +81,14 @@ var/global/list/limb_icon_cache = list()
//We have weird other-sorts of eyes (as we're not supposed to have eye organ, but we have HAS_EYE_COLOR species)
else
eyes_icon.Blend(rgb(owner.r_eyes, owner.g_eyes, owner.b_eyes), ICON_ADD)
- add_overlay(eyes_icon)
- mob_icon.Blend(eyes_icon, ICON_OVERLAY)
+
+ //VOREStation edit -- allow rendering of eyes over markings.
+ if(eyes_over_markings)
+ eyecon = eyes_icon
+ else
+ add_overlay(eyes_icon)
+ mob_icon.Blend(eyes_icon, ICON_OVERLAY)
+ icon_cache_key += "[eye_icon]"
//Lip color/icon
if(owner.lip_style && (species && (species.appearance_flags & HAS_LIPS)))
@@ -97,6 +105,11 @@ var/global/list/limb_icon_cache = list()
mob_icon.Blend(mark_s, ICON_OVERLAY) //So when it's on your body, it has icons
icon_cache_key += "[M][markings[M]["color"]]"
+ if(eyes_over_markings && eyecon) //VOREStation edit -- toggle to render eyes above markings.
+ add_overlay(eyecon)
+ mob_icon.Blend(eyecon, ICON_OVERLAY)
+ icon_cache_key += "[eye_icon]"
+
add_overlay(get_hair_icon())
return mob_icon
diff --git a/code/modules/organs/robolimbs_vr.dm b/code/modules/organs/robolimbs_vr.dm
index 9a30771936..44953be646 100644
--- a/code/modules/organs/robolimbs_vr.dm
+++ b/code/modules/organs/robolimbs_vr.dm
@@ -6,6 +6,7 @@
//CitRP Port
var/const/cyberbeast_monitor_styles = "blank=cyber_blank;\
default=cyber_default;\
+ eyes=eyes;\
static=cyber_static;\
alert=cyber_alert;\
happy=cyber_happ;\
@@ -64,7 +65,6 @@ var/const/cyberbeast_monitor_styles = "blank=cyber_blank;\
icon = 'icons/obj/items_vr.dmi'
icon_state = "verkdisk"
-
// tucker0666 : Frost
/datum/robolimb/zenghu_frost
company = "Zeng-Hu (Custom)"
diff --git a/code/modules/organs/subtypes/standard.dm b/code/modules/organs/subtypes/standard.dm
index 1ebd92106c..1c4fb5ee27 100644
--- a/code/modules/organs/subtypes/standard.dm
+++ b/code/modules/organs/subtypes/standard.dm
@@ -269,6 +269,7 @@
var/eye_icon = "eyes_s"
force = 3
throwforce = 7
+ var/eyes_over_markings = FALSE //VOREStation edit
var/eye_icon_location = 'icons/mob/human_face.dmi'
diff --git a/code/modules/projectiles/guns/energy/laser.dm b/code/modules/projectiles/guns/energy/laser.dm
index 0e0751952b..442c739df9 100644
--- a/code/modules/projectiles/guns/energy/laser.dm
+++ b/code/modules/projectiles/guns/energy/laser.dm
@@ -29,9 +29,16 @@
one_handed_penalty = 0 // Not sure if two-handing gets checked for mounted weapons, but better safe than sorry.
/obj/item/weapon/gun/energy/laser/mounted/augment
+ name = "arm-laser"
+ desc = "A cruel malformation of a Hephaestus Industries G40E rifle, designed to kill with concentrated energy blasts, all while being stowable in the arm. This variant has the ability to \
+ switch between standard fire and a more efficent but weaker 'suppressive' fire."
use_external_power = FALSE
use_organic_power = TRUE
+ wielded_item_state = null
+ item_state = "augment_laser"
canremove = FALSE
+ one_handed_penalty = 5
+ battery_lock = 1
/obj/item/weapon/gun/energy/laser/practice
name = "practice laser carbine"
diff --git a/code/modules/vore/appearance/preferences_vr.dm b/code/modules/vore/appearance/preferences_vr.dm
index 3c86146e11..e362f51b3e 100644
--- a/code/modules/vore/appearance/preferences_vr.dm
+++ b/code/modules/vore/appearance/preferences_vr.dm
@@ -17,6 +17,9 @@
var/r_ears2 = 30
var/g_ears2 = 30
var/b_ears2 = 30
+ var/r_ears3 = 30 //Trust me, we could always use more colour. No japes.
+ var/g_ears3 = 30
+ var/b_ears3 = 30
var/datum/sprite_accessory/tail/tail_style = null
var/r_tail = 30
var/g_tail = 30
@@ -24,6 +27,9 @@
var/r_tail2 = 30
var/g_tail2 = 30
var/b_tail2 = 30
+ var/r_tail3 = 30
+ var/g_tail3 = 30
+ var/b_tail3 = 30
var/datum/sprite_accessory/wing/wing_style = null
var/r_wing = 30
var/g_wing = 30
@@ -31,6 +37,9 @@
var/r_wing2 = 30
var/g_wing2 = 30
var/b_wing2 = 30
+ var/r_wing3 = 30
+ var/g_wing3 = 30
+ var/b_wing3 = 30
// Custom Species Name
var/custom_species
diff --git a/code/modules/vore/appearance/sprite_accessories_vr.dm b/code/modules/vore/appearance/sprite_accessories_vr.dm
index b9b556fb68..885b93fd56 100644
--- a/code/modules/vore/appearance/sprite_accessories_vr.dm
+++ b/code/modules/vore/appearance/sprite_accessories_vr.dm
@@ -1,1814 +1,1983 @@
-/*
- Hello and welcome to VOREStation sprite_accessories: For a more general overview
- please read sprite_accessories.dm. This file is for ears and tails.
- This is intended to be friendly for people with little to no actual coding experience.
- !!WARNING!!: changing existing accessory information can be VERY hazardous to savefiles,
- to the point where you may completely corrupt a server's savefiles. Please refrain
- from doing this unless you absolutely know what you are doing, and have defined a
- conversion in savefile.dm
-*/
-
-// Add Additional variable onto sprite_accessory
-/datum/sprite_accessory
- // Ckey of person allowed to use this, if defined.
- var/list/ckeys_allowed = null
- var/apply_restrictions = FALSE //whether to apply restrictions for specific tails/ears/wings
-
-/*
-////////////////////////////
-/ =--------------------= /
-/ == Ear Definitions == /
-/ =--------------------= /
-////////////////////////////
-*/
-/datum/sprite_accessory/ears
- name = "You should not see this..."
- icon = 'icons/mob/vore/ears_vr.dmi'
- do_colouration = 0 // Set to 1 to blend (ICON_ADD) hair color
-
- var/color_blend_mode = ICON_ADD // Only appliciable if do_coloration = 1
- var/extra_overlay // Icon state of an additional overlay to blend in.
- var/desc = "You should not see this..."
-
-// Species-unique ears
-
-/datum/sprite_accessory/ears/shadekin
- name = "Shadekin Ears, colorable"
- desc = ""
- icon_state = "shadekin"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
-
-// Ears avaliable to anyone
-
-/datum/sprite_accessory/ears/hyena
- name = "hyena ears, dual-color"
- desc = ""
- icon_state = "hyena"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
- extra_overlay = "hyena-inner"
-
-/datum/sprite_accessory/ears/moth
- name = "moth antennae"
- desc = ""
- icon_state = "moth"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
-
-/datum/sprite_accessory/ears/squirrel_orange
- name = "squirel, orange"
- desc = ""
- icon_state = "squirrel-orange"
-
-/datum/sprite_accessory/ears/squirrel_red
- name = "squirrel, red"
- desc = ""
- icon_state = "squirrel-red"
-
-/datum/sprite_accessory/ears/bunny_white
- name = "bunny, white"
- desc = ""
- icon_state = "bunny"
-
-/datum/sprite_accessory/ears/bear_brown
- name = "bear, brown"
- desc = ""
- icon_state = "bear-brown"
-
-/datum/sprite_accessory/ears/bear_panda
- name = "bear, panda"
- desc = ""
- icon_state = "panda"
-
-/datum/sprite_accessory/ears/wolf_grey
- name = "wolf, grey"
- desc = ""
- icon_state = "wolf-grey"
-
-/datum/sprite_accessory/ears/wolf_green
- name = "wolf, green"
- desc = ""
- icon_state = "wolf-green"
-
-/datum/sprite_accessory/ears/wisewolf
- name = "wolf, wise"
- desc = ""
- icon_state = "wolf-wise"
-
-/datum/sprite_accessory/ears/mouse_grey
- name = "mouse, grey"
- desc = ""
- icon_state = "mouse-grey"
-
-/datum/sprite_accessory/ears/bee
- name = "bee antennae"
- desc = ""
- icon_state = "bee"
-
-/datum/sprite_accessory/ears/antennae
- name = "antennae, colorable"
- desc = ""
- icon_state = "antennae"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
-
-/datum/sprite_accessory/ears/curly_bug
- name = "curly antennae, colorable"
- desc = ""
- icon_state = "curly_bug"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
-
-/datum/sprite_accessory/ears/dual_robot
- name = "synth antennae, colorable"
- desc = ""
- icon_state = "dual_robot_antennae"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
-
-/datum/sprite_accessory/ears/right_robot
- name = "right synth, colorable"
- desc = ""
- icon_state = "right_robot_antennae"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
-
-/datum/sprite_accessory/ears/left_robot
- name = "left synth, colorable"
- desc = ""
- icon_state = "left_robot_antennae"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
-
-/datum/sprite_accessory/ears/oni_h1
- name = "oni horns"
- desc = ""
- icon_state = "oni-h1"
-
-/datum/sprite_accessory/ears/oni_h1_c
- name = "oni horns, colorable"
- desc = ""
- icon_state = "oni-h1_c"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
-
-/datum/sprite_accessory/ears/demon_horns1
- name = "demon horns"
- desc = ""
- icon_state = "demon-horns1"
-
-/datum/sprite_accessory/ears/demon_horns1_c
- name = "demon horns, colorable"
- desc = ""
- icon_state = "demon-horns1_c"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
-
-/datum/sprite_accessory/ears/demon_horns2
- name = "demon horns, colorable(outward)"
- desc = ""
- icon_state = "demon-horns2"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
-
-/datum/sprite_accessory/ears/dragon_horns
- name = "dragon horns, colorable"
- desc = ""
- icon_state = "dragon-horns"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
-
-/datum/sprite_accessory/ears/foxears
- name = "highlander zorren ears"
- desc = ""
- icon_state = "foxears"
-
-/datum/sprite_accessory/ears/fenears
- name = "flatland zorren ears"
- desc = ""
- icon_state = "fenears"
-
-/datum/sprite_accessory/ears/sergal //Redundant
- name = "Sergal ears"
- icon_state = "serg_plain_s"
-
-/datum/sprite_accessory/ears/foxearshc
- name = "highlander zorren ears, colorable"
- desc = ""
- icon_state = "foxearshc"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
-
-/datum/sprite_accessory/ears/fenearshc
- name = "flatland zorren ears, colorable"
- desc = ""
- icon_state = "fenearshc"
- extra_overlay = "fenears-inner"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
-
-/datum/sprite_accessory/ears/sergalhc
- name = "Sergal ears, colorable"
- icon_state = "serg_plain_s"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
-
-/datum/sprite_accessory/ears/mousehc
- name = "mouse, colorable"
- desc = ""
- icon_state = "mouse"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
- extra_overlay = "mouseinner"
-
-/datum/sprite_accessory/ears/mousehcno
- name = "mouse, colorable, no inner"
- desc = ""
- icon_state = "mouse"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
-
-/datum/sprite_accessory/ears/wolfhc
- name = "wolf, colorable"
- desc = ""
- icon_state = "wolf"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
- extra_overlay = "wolfinner"
-
-/datum/sprite_accessory/ears/bearhc
- name = "bear, colorable"
- desc = ""
- icon_state = "bear"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
-
-/datum/sprite_accessory/ears/smallbear
- name = "small bear"
- desc = ""
- icon_state = "smallbear"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
-
-/datum/sprite_accessory/ears/squirrelhc
- name = "squirrel, colorable"
- desc = ""
- icon_state = "squirrel"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
-
-/datum/sprite_accessory/ears/kittyhc
- name = "kitty, colorable"
- desc = ""
- icon_state = "kitty"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
- extra_overlay = "kittyinner"
-
-/datum/sprite_accessory/ears/bunnyhc
- name = "bunny, colorable"
- desc = ""
- icon_state = "bunny"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
-
-/datum/sprite_accessory/ears/antlers
- name = "antlers"
- desc = ""
- icon_state = "antlers"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
-
-/datum/sprite_accessory/ears/antlers_e
- name = "antlers with ears"
- desc = ""
- icon_state = "cow-nohorns"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
- extra_overlay = "antlers_mark"
-
-/datum/sprite_accessory/ears/smallantlers
- name = "small antlers"
- desc = ""
- icon_state = "smallantlers"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
-
-/datum/sprite_accessory/ears/smallantlers_e
- name = "small antlers with ears"
- desc = ""
- icon_state = "smallantlers"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
- extra_overlay = "deer"
-
-/datum/sprite_accessory/ears/deer
- name = "deer ears"
- desc = ""
- icon_state = "deer"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
-
-/datum/sprite_accessory/ears/cow
- name = "cow, horns"
- desc = ""
- icon_state = "cow"
-
-/datum/sprite_accessory/ears/cowc
- name = "cow, horns, colorable"
- desc = ""
- icon_state = "cow-c"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
-
-/datum/sprite_accessory/ears/cow_nohorns
- name = "cow, no horns"
- desc = ""
- icon_state = "cow-nohorns"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
-
-/datum/sprite_accessory/ears/caprahorns
- name = "caprine horns"
- desc = ""
- icon_state = "caprahorns"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
-
-/datum/sprite_accessory/ears/otie
- name = "otie, colorable"
- desc = ""
- icon_state = "otie"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
- extra_overlay = "otie-inner"
-
-/datum/sprite_accessory/ears/donkey
- name = "donkey, colorable"
- desc = ""
- icon_state = "donkey"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
- extra_overlay = "otie-inner"
-
-/datum/sprite_accessory/ears/zears
- name = "jagged ears"
- desc = ""
- icon_state = "zears"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
-
-/datum/sprite_accessory/ears/elfs
- name = "elven ears"
- desc = ""
- icon_state = "elfs"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
-
-/datum/sprite_accessory/ears/sleek
- name = "sleek ears"
- desc = ""
- icon_state = "sleek"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
-
-/datum/sprite_accessory/ears/drake
- name = "drake frills"
- desc = ""
- icon_state = "drake"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
-
-/datum/sprite_accessory/ears/vulp
- name = "vulpkanin, dual-color"
- desc = ""
- icon_state = "vulp"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
- extra_overlay = "vulp-inner"
-
-/datum/sprite_accessory/ears/vulp_short
- name = "vulpkanin short"
- desc = ""
- icon_state = "vulp_terrier"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
-
-/datum/sprite_accessory/ears/vulp_short_dc
- name = "vulpkanin short, dual-color"
- desc = ""
- icon_state = "vulp_terrier"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
- extra_overlay = "vulp_terrier-inner"
-
-/datum/sprite_accessory/ears/vulp_jackal
- name = "vulpkanin thin, dual-color"
- desc = ""
- icon_state = "vulp_jackal"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
- extra_overlay = "vulp_jackal-inner"
-
-/datum/sprite_accessory/ears/bunny_floppy
- name = "floopy bunny ears (colorable)"
- desc = ""
- icon_state = "floppy_bun"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
-
-/datum/sprite_accessory/ears/teshari
- name = "Teshari (colorable)"
- desc = ""
- icon_state = "teshari"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
- extra_overlay = "teshariinner"
-
-/datum/sprite_accessory/ears/tesharihigh
- name = "Teshari upper ears (colorable)"
- desc = ""
- icon_state = "tesharihigh"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
- extra_overlay = "tesharihighinner"
-
-/datum/sprite_accessory/ears/tesharilow
- name = "Teshari lower ears (colorable)"
- desc = ""
- icon_state = "tesharilow"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
- extra_overlay = "tesharilowinner"
-
-/datum/sprite_accessory/ears/tesh_pattern_ear_male
- name = "Teshari male ear pattern (colorable)"
- desc = ""
- icon_state = "teshari"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
- extra_overlay = "teshari_male_pattern"
-
-/datum/sprite_accessory/ears/tesh_pattern_ear_female
- name = "Teshari female ear pattern (colorable)"
- desc = ""
- icon_state = "teshari"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
- extra_overlay = "teshari_female_pattern"
-
-/datum/sprite_accessory/ears/inkling
- name = "colorable mature inkling hair"
- desc = ""
- icon = 'icons/mob/human_face_vr.dmi'
- icon_state = "inkling-colorable"
- color_blend_mode = ICON_MULTIPLY
- do_colouration = 1
-
-/datum/sprite_accessory/ears/large_dragon
- name = "Large dragon horns"
- desc = ""
- icon_state = "big_liz"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
-
-// Special snowflake ears go below here.
-
-/datum/sprite_accessory/ears/molenar_kitsune
- name = "quintail kitsune ears (Molenar)"
- desc = ""
- icon_state = "molenar-kitsune"
-
-/datum/sprite_accessory/ears/lilimoth_antennae
- name = "citheronia antennae (Kira72)"
- desc = ""
- icon_state = "lilimoth_antennae"
-
-/datum/sprite_accessory/ears/molenar_deathclaw
- name = "deathclaw ears (Molenar)"
- desc = ""
- icon_state = "molenar-deathclaw"
-
-/datum/sprite_accessory/ears/miria_fluffdragon
- name = "fluffdragon ears (Miria Masters)"
- desc = ""
- icon_state = "miria-fluffdragonears"
-
-/datum/sprite_accessory/ears/miria_kitsune
- name = "kitsune ears (Miria Masters)"
- desc = ""
- icon_state = "miria-kitsuneears"
-
-/datum/sprite_accessory/ears/runac
- name = "fennecsune ears (Runac)"
- desc = ""
- icon_state = "runac"
-
-/datum/sprite_accessory/ears/kerena
- name = "wingwolf ears (Kerena)"
- desc = ""
- icon_state = "kerena"
-
-/datum/sprite_accessory/ears/rosey
- name = "tritail kitsune ears (Rosey)"
- desc = ""
- icon_state = "rosey"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
-
-/datum/sprite_accessory/ears/aronai
- name = "aronai ears/head (Aronai)"
- desc = ""
- icon_state = "aronai"
-
-/datum/sprite_accessory/ears/holly
- name = "tigress ears (Holly Sharp)"
- desc = ""
- icon_state = "tigressears"
-
-/datum/sprite_accessory/ears/molenar_inkling
- name = "teal mature inkling hair (Kari Akiren)"
- desc = ""
- icon_state = "molenar-tentacle"
-
-/datum/sprite_accessory/ears/shock
- name = "pharoah hound ears (Shock Diamond)"
- desc = ""
- icon_state = "shock"
-
-/datum/sprite_accessory/ears/alurane
- name = "alurane ears/hair (Pumila)"
- desc = ""
- icon_state = "alurane-ears"
-
-/datum/sprite_accessory/ears/frost
- name = "Frost antenna"
- desc = ""
- icon_state = "frosted_tips"
-
-/datum/sprite_accessory/ears/sylv_pip
- name = "sylveon ears and ribbons (Pip Shyner)"
- desc = ""
- icon_state = "pipears"
-
-/datum/sprite_accessory/ears/elf_caprine_colorable
- name = "Caprine horns with pointy ears, colorable"
- desc = ""
- icon_state = "elfs"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
- extra_overlay = "caprahorns"
-
-/datum/sprite_accessory/ears/elf_oni_colorable
- name = "oni horns with pointy ears, colorable"
- desc = ""
- icon_state = "elfs"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
- extra_overlay = "oni-h1_c"
-
-/datum/sprite_accessory/ears/elf_demon_colorable
- name = "Demon horns with pointy ears, colorable"
- desc = ""
- icon_state = "elfs"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
- extra_overlay = "demon-horns1_c"
-
-/datum/sprite_accessory/ears/elf_demon_outwards_colorable
- name = "Demon horns with pointy ears, outwards, colourable"
- desc = ""
- icon_state = "elfs"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
- extra_overlay = "demon-horns2"
-
-/datum/sprite_accessory/ears/elf_dragon_colorable
- name = "Dragon horns with pointy ears, colourable"
- desc = ""
- icon_state = "elfs"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
- extra_overlay = "dragon-horns"
-
-/datum/sprite_accessory/ears/synthhorns_plain
- name = "Synth horns, plain"
- desc = ""
- icon_state = "synthhorns_plain"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
- extra_overlay = "synthhorns_plain_light"
-
-/datum/sprite_accessory/ears/synthhorns_thick
- name = "Synth horns, thick"
- desc = ""
- icon_state = "synthhorns_thick"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
- extra_overlay = "synthhorns_thick_light"
-
-/datum/sprite_accessory/ears/synthhorns_curly
- name = "Synth horns, curly"
- desc = ""
- icon_state = "synthhorns_curled"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
-
-
-/datum/sprite_accessory/ears/forward_curled_demon_horns_bony
- name = "Succubus horns, colourable"
- desc = ""
- icon_state = "succu-horns_b"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
-
-/datum/sprite_accessory/ears/forward_curled_demon_horns_bony_with_colorable_ears
- name = "Succubus horns with pointy ears, colourable"
- desc = ""
- icon_state = "elfs"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
- extra_overlay = "succu-horns_b"
-
-
-
-/*
-////////////////////////////
-/ =--------------------= /
-/ == Wing Definitions == /
-/ =--------------------= /
-////////////////////////////
-*/
-/datum/sprite_accessory/wing
- name = "You should not see this..."
- icon = 'icons/mob/vore/wings_vr.dmi'
- do_colouration = 0 //Set to 1 to enable coloration using the tail color.
-
- var/color_blend_mode = ICON_ADD // Only appliciable if do_coloration = 1
- var/extra_overlay // Icon state of an additional overlay to blend in.
- var/clothing_can_hide = 1 // If true, clothing with HIDETAIL hides it. If the clothing is bulky enough to hide a tail, it should also hide wings.
- // var/show_species_tail = 1 // Just so // TODO - Seems not needed ~Leshana
- var/desc = "You should not see this..."
- var/ani_state // State when flapping/animated
- var/extra_overlay_w // Flapping state for extra overlay
-
-/datum/sprite_accessory/wing/shock //Unable to split the tail from the wings in the sprite, so let's just classify it as wings.
- name = "pharoah hound tail (Shock Diamond)"
- desc = ""
- icon_state = "shock"
-
-/datum/sprite_accessory/wing/featheredlarge //Made by Natje!
- name = "large feathered wings (colorable)"
- desc = ""
- icon_state = "feathered2"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
-
-/datum/sprite_accessory/wing/spider_legs //Not really /WINGS/ but they protrude from the back, kinda. Might as well have them here.
- name = "spider legs"
- desc = ""
- icon_state = "spider-legs"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
-
-/datum/sprite_accessory/wing/moth
- name = "moth wings"
- desc = ""
- icon_state = "moth"
-
-/datum/sprite_accessory/wing/mothc
- name = "moth wings, colorable"
- desc = ""
- icon_state = "moth"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
-
-/datum/sprite_accessory/wing/dragonfly
- name = "dragonfly"
- desc = ""
- icon_state = "dragonfly"
- color_blend_mode = ICON_MULTIPLY
-
-/datum/sprite_accessory/wing/citheroniamoth
- name = "citheronia wings"
- desc = ""
- icon_state = "citheronia_wings"
-
-/datum/sprite_accessory/wing/feathered
- name = "feathered wings, colorable"
- desc = ""
- icon_state = "feathered"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
-
-/datum/sprite_accessory/wing/feathered_medium
- name = "medium feathered wings, colorable" // Keekenox made these feathery things with a little bit more shape to them than the other wings. They are medium sized wing boys.
- desc = ""
- icon_state = "feathered3"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
-
-/datum/sprite_accessory/wing/bat_black
- name = "bat wings, black"
- desc = ""
- icon_state = "bat-black"
-
-/datum/sprite_accessory/wing/bat_color
- name = "bat wings, colorable"
- desc = ""
- icon_state = "bat-color"
- do_colouration = 1
-
-/datum/sprite_accessory/wing/bat_red
- name = "bat wings, red"
- desc = ""
- icon_state = "bat-red"
-
-/datum/sprite_accessory/wing/harpywings
- name = "harpy wings, colorable"
- desc = ""
- icon_state = "harpywings"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
-
-/datum/sprite_accessory/wing/feathered
- name = "feathered wings, colorable"
- desc = ""
- icon_state = "feathered"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
-
-/datum/sprite_accessory/wing/beewings
- name = "bee wings"
- desc = ""
- icon_state = "beewings"
-
-/datum/sprite_accessory/wing/sepulchre
- name = "demon wings (Sepulchre)"
- desc = ""
- icon_state = "sepulchre_wings"
-
-/datum/sprite_accessory/wing/miria_fluffdragon
- name = "fluffdragon wings (Miria Masters)"
- desc = ""
- icon_state = "miria-fluffdragontail"
-
-/datum/sprite_accessory/wing/scree
- name = "green taj wings (Scree)"
- desc = ""
- icon_state = "scree-wings"
-
-/datum/sprite_accessory/wing/liquidfirefly_gazer //I g-guess this could be considered wings?
- name = "gazer eyestalks"
- desc = ""
- icon_state = "liquidfirefly-eyestalks"
-
-/datum/sprite_accessory/wing/moth_full
- name = "moth antenna and wings"
- desc = ""
- icon_state = "moth_full"
-
-/datum/sprite_accessory/wing/moth_full_gray
- name = "moth antenna and wings, colorable"
- desc = ""
- icon_state = "moth_full_gray"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
-
-/datum/sprite_accessory/wing/kerena
- name = "wingwolf wings (Kerena)"
- desc = ""
- icon_state = "kerena-wings"
-
-/datum/sprite_accessory/wing/snag
- name = "xenomorph backplate"
- desc = ""
- icon_state = "snag-backplate"
-
-/datum/sprite_accessory/wing/sepulchre_c_yw
- name = "demon wings (colorable)"
- desc = ""
- icon_state = "sepulchre_wingsc"
- do_colouration = 1
-
-/datum/sprite_accessory/wing/cyberdragon
- name = "Cyber dragon wing (colorable)"
- desc = ""
- icon_state = "cyberdragon_s"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
-
-/datum/sprite_accessory/wing/cyberdragon_red
- name = "Cyber dragon wing (red)"
- desc = ""
- icon_state = "cyberdragon_red_s"
- do_colouration = 0
-
-/datum/sprite_accessory/wing/cyberdoe
- name = "Cyber doe wing"
- desc = ""
- icon_state = "cyberdoe_s"
- do_colouration = 0
-
-/*
-////////////////////////////
-/ =--------------------= /
-/ == Tail Definitions == /
-/ =--------------------= /
-////////////////////////////
-*/
-/datum/sprite_accessory/tail
- name = "You should not see this..."
- icon = 'icons/mob/vore/tails_vr.dmi'
- do_colouration = 0 //Set to 1 to enable coloration using the tail color.
-
- var/color_blend_mode = ICON_ADD // Only appliciable if do_coloration = 1
- var/extra_overlay // Icon state of an additional overlay to blend in.
- var/show_species_tail = 0 // If false, do not render species' tail.
- var/clothing_can_hide = 1 // If true, clothing with HIDETAIL hides it
- var/desc = "You should not see this..."
- var/ani_state // State when wagging/animated
- var/extra_overlay_w // Wagging state for extra overlay
- var/list/hide_body_parts = list() //Uses organ tag defines. Bodyparts in this list do not have their icons rendered, allowing for more spriter freedom when doing taur/digitigrade stuff.
- var/icon/clip_mask_icon = null //Icon file used for clip mask.
- var/clip_mask_state = null //Icon state to generate clip mask. Clip mask is used to 'clip' off the lower part of clothing such as jumpsuits & full suits.
- var/icon/clip_mask = null //Instantiated clip mask of given icon and state
-
-/datum/sprite_accessory/tail/New()
- . = ..()
- if(clip_mask_icon && clip_mask_state)
- clip_mask = icon(icon = clip_mask_icon, icon_state = clip_mask_state)
-
-// Species-unique tails
-
-// Everyone tails
-
-/datum/sprite_accessory/tail/invisible
- name = "hide species-sprite tail"
- icon = null
- icon_state = null
-
-/datum/sprite_accessory/tail/squirrel_orange
- name = "squirel, orange"
- desc = ""
- icon_state = "squirrel-orange"
-
-/datum/sprite_accessory/tail/squirrel_red
- name = "squirrel, red"
- desc = ""
- icon_state = "squirrel-red"
-
-/datum/sprite_accessory/tail/squirrel
- name = "squirrel, colorable"
- desc = ""
- icon_state = "squirrel"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
-
-/datum/sprite_accessory/tail/kitty
- name = "kitty, colorable, downwards"
- desc = ""
- icon_state = "kittydown"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
-
-/datum/sprite_accessory/tail/kittyup
- name = "kitty, colorable, upwards"
- desc = ""
- icon_state = "kittyup"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
-
-/datum/sprite_accessory/tail/tiger_white
- name = "tiger, colorable"
- desc = ""
- icon_state = "tiger"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
- extra_overlay = "tigerinnerwhite"
-
-/datum/sprite_accessory/tail/stripey
- name = "stripey taj, colorable"
- desc = ""
- icon_state = "stripeytail"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
- extra_overlay = "stripeytail_mark"
-
-/datum/sprite_accessory/tail/stripeytail_brown
- name = "stripey taj, brown"
- desc = ""
- icon_state = "stripeytail-brown"
-
-/datum/sprite_accessory/tail/chameleon
- name = "Chameleon, colorable"
- desc = ""
- icon_state = "chameleon"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
-
-/datum/sprite_accessory/tail/bunny
- name = "bunny, colorable"
- desc = ""
- icon_state = "bunny"
- do_colouration = 1
-
-/datum/sprite_accessory/tail/bear_brown
- name = "bear, brown"
- desc = ""
- icon_state = "bear-brown"
-
-/datum/sprite_accessory/tail/bear
- name = "bear, colorable"
- desc = ""
- icon_state = "bear"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
-
-/datum/sprite_accessory/tail/dragon
- name = "dragon, colorable"
- desc = ""
- icon_state = "dragon"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
-
-/datum/sprite_accessory/tail/wolf_grey
- name = "wolf, grey"
- desc = ""
- icon_state = "wolf-grey"
-
-/datum/sprite_accessory/tail/wolf_green
- name = "wolf, green"
- desc = ""
- icon_state = "wolf-green"
-
-/datum/sprite_accessory/tail/wisewolf
- name = "wolf, wise"
- desc = ""
- icon_state = "wolf-wise"
-
-/datum/sprite_accessory/tail/blackwolf
- name = "wolf, black"
- desc = ""
- icon_state = "wolf"
-
-/datum/sprite_accessory/tail/wolf
- name = "wolf, colorable"
- desc = ""
- icon_state = "wolf"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
- extra_overlay = "wolfinner"
-
-/datum/sprite_accessory/tail/mouse_pink
- name = "mouse, pink"
- desc = ""
- icon_state = "mouse-pink"
-
-/datum/sprite_accessory/tail/mouse
- name = "mouse, colorable"
- desc = ""
- icon_state = "mouse"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
-
-/datum/sprite_accessory/tail/horse
- name = "horse tail, colorable"
- desc = ""
- icon_state = "horse"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
-
-/datum/sprite_accessory/tail/cow
- name = "cow tail, colorable"
- desc = ""
- icon_state = "cow"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
-
-/datum/sprite_accessory/tail/fantail
- name = "avian fantail, colorable"
- desc = ""
- icon_state = "fantail"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
-
-/datum/sprite_accessory/tail/wagtail
- name = "avian wagtail, colorable"
- desc = ""
- icon_state = "wagtail"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
-
-/datum/sprite_accessory/tail/nevreandc
- name = "nevrean tail, dual-color"
- desc = ""
- icon_state = "nevreantail_dc"
- extra_overlay = "nevreantail_dc_tail"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
-
-/datum/sprite_accessory/tail/nevreanwagdc
- name = "nevrean wagtail, dual-color"
- desc = ""
- icon_state = "wagtail"
- extra_overlay = "wagtail_dc_tail"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
-
-/datum/sprite_accessory/tail/nevreanwagdc_alt
- name = "nevrean wagtail, marked, dual-color"
- desc = ""
- icon_state = "wagtail2_dc"
- extra_overlay = "wagtail2_dc_mark"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
-
-/datum/sprite_accessory/tail/crossfox
- name = "cross fox"
- desc = ""
- icon_state = "crossfox"
-
-/datum/sprite_accessory/tail/beethorax
- name = "bee thorax"
- desc = ""
- icon_state = "beethorax"
-
-/datum/sprite_accessory/tail/doublekitsune
- name = "double kitsune tail, colorable"
- desc = ""
- icon_state = "doublekitsune"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
-
-/datum/sprite_accessory/tail/spade_color
- name = "spade-tail (colorable)"
- desc = ""
- icon_state = "spadetail-black"
- do_colouration = 1
-
-/datum/sprite_accessory/tail/snag
- name = "xenomorph tail 1"
- desc = ""
- icon_state = "snag"
-
-/datum/sprite_accessory/tail/xenotail
- name = "xenomorph tail 2"
- desc = ""
- icon_state = "xenotail"
-
-/datum/sprite_accessory/tail/eboop
- name = "EGN mech tail (dual color)"
- desc = ""
- icon_state = "eboop"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
- extra_overlay = "eboop_mark"
-
-/datum/sprite_accessory/tail/molenar_kitsune
- name = "quintail kitsune tails (Molenar)"
- desc = ""
- icon_state = "molenar-kitsune"
-
-/datum/sprite_accessory/tail/miria_fluffdragon
- name = "fluffdragon tail (Miria Masters)"
- desc = ""
- icon_state = "miria-fluffdragontail"
-
-/datum/sprite_accessory/tail/miria_kitsune
- name = "Black kitsune tails (Miria Masters)"
- desc = ""
- icon_state = "miria-kitsunetail"
-
-/datum/sprite_accessory/tail/molenar_deathclaw
- name = "deathclaw bits (Molenar)"
- desc = ""
- icon_state = "molenar-deathclaw"
-
-/datum/sprite_accessory/tail/runac
- name = "fennecsune tails (Runac)"
- desc = ""
- icon_state = "runac"
-
-/datum/sprite_accessory/tail/reika //Leaving this since it was too hard to split the wings from the tail.
- name = "fox tail (+ beewings) (Reika)"
- desc = ""
- icon_state = "reika"
-
-/datum/sprite_accessory/tail/rosey
- name = "tritail kitsune tails (Rosey)"
- desc = ""
- icon_state = "rosey_three"
-
-/datum/sprite_accessory/tail/rosey2
- name = "pentatail kitsune tails (Rosey)" //I predict seven tails next. ~CK
- desc = ""
- icon_state = "rosey_five"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
-
-/datum/sprite_accessory/tail/scree
- name = "green taj tail (Scree)"
- desc = ""
- icon_state = "scree"
-
-/datum/sprite_accessory/tail/aronai
- name = "aronai tail (Aronai)"
- desc = ""
- icon_state = "aronai"
-
-/datum/sprite_accessory/tail/cabletail
- name = "cabletail"
- desc = "cabletail"
- icon_state = "cabletail"
-
-/datum/sprite_accessory/tail/featherfluff_tail
- name = "featherfluff_tail"
- desc = ""
- icon_state = "featherfluff_tail"
-
-/datum/sprite_accessory/tail/ketrai_wag
- name = "fennix tail (vwag)"
- desc = ""
- icon_state = "ketraitail"
- ani_state = "ketraitail_w"
-
-/datum/sprite_accessory/tail/ketrainew_wag
- name = "new fennix tail (vwag)"
- desc = ""
- icon_state = "ketraitailnew"
- ani_state = "ketraitailnew_w"
-
-/datum/sprite_accessory/tail/redpanda
- name = "red panda"
- desc = ""
- icon_state = "redpanda"
-
-/datum/sprite_accessory/tail/ringtail
- name = "ringtail, colorable"
- desc = ""
- icon_state = "ringtail"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
- extra_overlay = "ringtail_mark"
-
-/datum/sprite_accessory/tail/holly
- name = "tigress tail (Holly)"
- desc = ""
- icon_state = "tigresstail"
-
-/datum/sprite_accessory/tail/satyr
- name = "goat legs, colorable"
- desc = ""
- icon_state = "satyr"
- color_blend_mode = ICON_MULTIPLY
- do_colouration = 1
- hide_body_parts = list(BP_L_LEG, BP_L_FOOT, BP_R_LEG, BP_R_FOOT) //Exclude pelvis just in case.
- clip_mask_icon = 'icons/mob/vore/taurs_vr.dmi'
- clip_mask_state = "taur_clip_mask_def" //Used to clip off the lower part of suits & uniforms.
-
-/datum/sprite_accessory/tail/tailmaw
- name = "tailmaw, colorable"
- desc = ""
- icon_state = "tailmaw"
- color_blend_mode = ICON_MULTIPLY
- do_colouration = 1
-
-/datum/sprite_accessory/tail/curltail
- name = "curltail (vwag)"
- desc = ""
- icon_state = "curltail"
- ani_state = "curltail_w"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
- extra_overlay = "curltail_mark"
- extra_overlay_w = "curltail_mark_w"
-
-/datum/sprite_accessory/tail/shorttail
- name = "shorttail (vwag)"
- desc = ""
- icon_state = "straighttail"
- ani_state = "straighttail_w"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
-
-/datum/sprite_accessory/tail/sneptail
- name = "Snep/Furry Tail (vwag)"
- desc = ""
- icon_state = "sneptail"
- ani_state = "sneptail_w"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
- extra_overlay = "sneptail_mark"
- extra_overlay_w = "sneptail_mark_w"
-
-
-/datum/sprite_accessory/tail/tiger_new
- name = "tiger tail (vwag)"
- desc = ""
- icon_state = "tigertail"
- ani_state = "tigertail_w"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
- extra_overlay = "tigertail_mark"
- extra_overlay_w = "tigertail_mark_w"
-
-/datum/sprite_accessory/tail/vulp_new
- name = "new vulp tail (vwag)"
- desc = ""
- icon_state = "vulptail"
- ani_state = "vulptail_w"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
- extra_overlay = "vulptail_mark"
- extra_overlay_w = "vulptail_mark_w"
-
-/datum/sprite_accessory/tail/otietail
- name = "otie tail (vwag)"
- desc = ""
- icon_state = "otie"
- ani_state = "otie_w"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
-
-/datum/sprite_accessory/tail/newtailmaw
- name = "new tailmaw (vwag)"
- desc = ""
- icon_state = "newtailmaw"
- ani_state = "newtailmaw_w"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
-
-/datum/sprite_accessory/tail/ztail
- name = "jagged flufftail"
- desc = ""
- icon_state = "ztail"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
-
-/datum/sprite_accessory/tail/snaketail
- name = "snake tail, colorable"
- desc = ""
- icon_state = "snaketail"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
-
-/datum/sprite_accessory/tail/vulpan_alt
- name = "vulpkanin alt style, colorable"
- desc = ""
- icon_state = "vulptail_alt"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
-
-/datum/sprite_accessory/tail/sergaltaildc
- name = "sergal, dual-color"
- desc = ""
- icon_state = "sergal"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
- extra_overlay = "sergal_mark"
-
-/datum/sprite_accessory/tail/skunktail
- name = "skunk, dual-color"
- desc = ""
- icon_state = "skunktail"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
- extra_overlay = "skunktail_mark"
-
-/datum/sprite_accessory/tail/deertail
- name = "deer, dual-color"
- desc = ""
- icon_state = "deertail"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
- extra_overlay = "deertail_mark"
-
-/datum/sprite_accessory/tail/tesh_feathered
- name = "Teshari tail"
- desc = ""
- icon_state = "teshtail_s"
- do_colouration = 1
- extra_overlay = "teshtail_feathers_s"
- color_blend_mode = ICON_MULTIPLY
-
-/datum/sprite_accessory/tail/teshari_fluffytail
- name = "Teshari alternative, colorable"
- desc = ""
- icon_state = "teshari_fluffytail"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
- extra_overlay = "teshari_fluffytail_mark"
-
-/datum/sprite_accessory/tail/tesh_pattern_male
- name = "Teshari male tail pattern"
- desc = ""
- icon_state = "teshtail_s"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
- extra_overlay = "teshpattern_male_tail"
-
-/datum/sprite_accessory/tail/tesh_pattern_male_alt
- name = "Teshari male tail alt. pattern"
- desc = ""
- icon_state = "teshtail_s"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
- extra_overlay = "teshpattern_male_alt"
-
-/datum/sprite_accessory/tail/tesh_pattern_fem
- name = "Teshari female tail pattern"
- desc = ""
- icon_state = "teshtail_s"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
- extra_overlay = "teshpattern_fem_tail"
-
-/datum/sprite_accessory/tail/tesh_pattern_fem_alt
- name = "Teshari male tail alt. pattern"
- desc = ""
- icon_state = "teshtail_s"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
- extra_overlay = "teshpattern_fem_alt"
-
-/datum/sprite_accessory/tail/nightstalker
- name = "Nightstalker, colorable"
- desc = ""
- icon_state = "nightstalker"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
-
-//For all species tails. Includes haircolored tails.
-/datum/sprite_accessory/tail/special
- name = "Blank tail. Do not select."
- icon = 'icons/effects/species_tails_vr.dmi'
-
-/datum/sprite_accessory/tail/special/unathi
- name = "unathi tail"
- desc = ""
- icon_state = "sogtail_s"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
-
-/datum/sprite_accessory/tail/special/tajaran
- name = "tajaran tail"
- desc = ""
- icon_state = "tajtail_s"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
-
-/datum/sprite_accessory/tail/special/sergal
- name = "sergal tail"
- desc = ""
- icon_state = "sergtail_s"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
-
-/datum/sprite_accessory/tail/special/akula
- name = "akula tail"
- desc = ""
- icon_state = "sharktail_s"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
-
-/datum/sprite_accessory/tail/special/nevrean
- name = "nevrean tail"
- desc = ""
- icon_state = "nevreantail_s"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
-
-/datum/sprite_accessory/tail/special/armalis
- name = "armalis tail"
- desc = ""
- icon_state = "armalis_tail_humanoid_s"
-
-/datum/sprite_accessory/tail/special/xenodrone
- name = "xenomorph drone tail"
- desc = ""
- icon_state = "xenos_drone_tail_s"
-
-/datum/sprite_accessory/tail/special/xenosentinel
- name = "xenomorph sentinel tail"
- desc = ""
- icon_state = "xenos_sentinel_tail_s"
-
-/datum/sprite_accessory/tail/special/xenohunter
- name = "xenomorph hunter tail"
- desc = ""
- icon_state = "xenos_hunter_tail_s"
-
-/datum/sprite_accessory/tail/special/xenoqueen
- name = "xenomorph queen tail"
- desc = ""
- icon_state = "xenos_queen_tail_s"
-
-/datum/sprite_accessory/tail/special/monkey
- name = "monkey tail"
- desc = ""
- icon_state = "chimptail_s"
-
-/datum/sprite_accessory/tail/special/unathihc
- name = "unathi tail, colorable"
- desc = ""
- icon_state = "sogtail_hc_s"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
-
-/datum/sprite_accessory/tail/special/tajaranhc
- name = "tajaran tail, colorable"
- desc = ""
- icon_state = "tajtail_hc_s"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
-
-/datum/sprite_accessory/tail/special/sergalhc
- name = "sergal tail, colorable"
- desc = ""
- icon_state = "sergtail_hc_s"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
-
-/datum/sprite_accessory/tail/special/akulahc
- name = "akula tail, colorable"
- desc = ""
- icon_state = "sharktail_hc_s"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
-
-/datum/sprite_accessory/tail/special/nevreanhc
- name = "nevrean tail, colorable"
- desc = ""
- icon_state = "nevreantail_hc_s"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
-
-/datum/sprite_accessory/tail/special/foxhc
- name = "highlander zorren tail, colorable"
- desc = ""
- icon_state = "foxtail_hc_s"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
-
-/datum/sprite_accessory/tail/special/fennechc
- name = "flatland zorren tail, colorable"
- desc = ""
- icon_state = "fentail_hc_s"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
-
-/datum/sprite_accessory/tail/special/armalishc
- name = "armalis tail, colorable"
- desc = ""
- icon_state = "armalis_tail_humanoid_hc_s"
- do_colouration = 1
-
-/datum/sprite_accessory/tail/special/xenodronehc
- name = "xenomorph drone tail, colorable"
- desc = ""
- icon_state = "xenos_drone_tail_hc_s"
- do_colouration = 1
-
-/datum/sprite_accessory/tail/special/xenosentinelhc
- name = "xenomorph sentinel tail, colorable"
- desc = ""
- icon_state = "xenos_sentinel_tail_hc_s"
- do_colouration = 1
-
-/datum/sprite_accessory/tail/special/xenohunterhc
- name = "xenomorph hunter tail, colorable"
- desc = ""
- icon_state = "xenos_hunter_tail_hc_s"
- do_colouration = 1
-
-/datum/sprite_accessory/tail/special/xenoqueenhc
- name = "xenomorph queen tail, colorable"
- desc = ""
- icon_state = "xenos_queen_tail_hc_s"
- do_colouration = 1
-
-/datum/sprite_accessory/tail/special/monkeyhc
- name = "monkey tail, colorable"
- desc = ""
- icon_state = "chimptail_hc_s"
- do_colouration = 1
-
-/datum/sprite_accessory/tail/special/vulpan
- name = "vulpkanin, colorable"
- desc = ""
- icon_state = "vulptail_s"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
-
-
-/datum/sprite_accessory/tail/zenghu_taj
- name = "Zeng-Hu Tajaran Synth tail"
- desc = ""
- icon_state = "zenghu_taj"
-
-//Taurs moved to a separate file due to extra code around them
-
-//Buggo Abdomens!
-
-/datum/sprite_accessory/tail/buggo
- name = "Bug abdomen, colorable"
- desc = ""
- icon_state = "buggo_s"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
-
-/datum/sprite_accessory/tail/buggobee
- name = "Bug abdomen, bee top, dual-colorable"
- desc = ""
- icon_state = "buggo_s"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
- extra_overlay = "buggobee_markings"
-
-/datum/sprite_accessory/tail/buggobeefull
- name = "Bug abdomen, bee full, dual-colorable"
- desc = ""
- icon_state = "buggo_s"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
- extra_overlay = "buggobeefull_markings"
-
-/datum/sprite_accessory/tail/buggounder
- name = "Bug abdomen, underside, dual-colorable"
- desc = ""
- icon_state = "buggo_s"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
- extra_overlay = "buggounder_markings"
-
-/datum/sprite_accessory/tail/buggofirefly
- name = "Bug abdomen, firefly, dual-colorable"
- desc = ""
- icon_state = "buggo_s"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
- extra_overlay = "buggofirefly_markings"
-
-/datum/sprite_accessory/tail/buggofat
- name = "Fat bug abdomen, colorable"
- desc = ""
- icon_state = "buggofat_s"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
-
-/datum/sprite_accessory/tail/buggofatbee
- name = "Fat bug abdomen, bee top, dual-colorable"
- desc = ""
- icon_state = "buggofat_s"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
- extra_overlay = "buggofatbee_markings"
-
-/datum/sprite_accessory/tail/buggofatbeefull
- name = "Fat bug abdomen, bee full, dual-colorable"
- desc = ""
- icon_state = "buggofat_s"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
- extra_overlay = "buggofatbeefull_markings"
-
-/datum/sprite_accessory/tail/buggofatunder
- name = "Fat bug abdomen, underside, dual-colorable"
- desc = ""
- icon_state = "buggofat_s"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
- extra_overlay = "buggofatunder_markings"
-
-/datum/sprite_accessory/tail/buggofatfirefly
- name = "Fat bug abdomen, firefly, dual-colorable"
- desc = ""
- icon_state = "buggofat_s"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
- extra_overlay = "buggofatfirefly_markings"
-
-/datum/sprite_accessory/tail/buggowag
- name = "Bug abdomen, colorable, vwag change"
- desc = ""
- icon_state = "buggo_s"
- ani_state = "buggofat_s"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
-
-/datum/sprite_accessory/tail/buggobeewag
- name = "Bug abdomen, bee top, dual color, vwag"
- desc = ""
- icon_state = "buggo_s"
- ani_state = "buggofat_s"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
- extra_overlay = "buggobee_markings"
- extra_overlay_w = "buggofatbee_markings"
-
-/datum/sprite_accessory/tail/buggobeefullwag
- name = "Bug abdomen, bee full, dual color, vwag"
- desc = ""
- icon_state = "buggo_s"
- ani_state = "buggofat_s"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
- extra_overlay = "buggobeefull_markings"
- extra_overlay_w = "buggofatbeefull_markings"
-
-/datum/sprite_accessory/tail/buggounderwag
- name = "Bug abdomen, underside, dual color, vwag"
- desc = ""
- icon_state = "buggo_s"
- ani_state = "buggofat_s"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
- extra_overlay = "buggounder_markings"
- extra_overlay_w = "buggofatunder_markings"
-
-/datum/sprite_accessory/tail/buggofireflywag
- name = "Bug abdomen, firefly, dual color, vwag"
- desc = ""
- icon_state = "buggo_s"
- ani_state = "buggofat_s"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
- extra_overlay = "buggofirefly_markings"
- extra_overlay_w = "buggofatfirefly_markings"
-
-//Vass buggo variants!
-
-/datum/sprite_accessory/tail/buggovass
- name = "Bug abdomen, vass, colorable"
- desc = ""
- icon_state = "buggo_vass_s"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
-
-/datum/sprite_accessory/tail/buggovassbee
- name = "Bug abdomen, bee top, dc, vass"
- desc = ""
- icon_state = "buggo_vass_s"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
- extra_overlay = "buggobee_vass_markings"
-
-/datum/sprite_accessory/tail/buggovassbeefull
- name = "Bug abdomen, bee full, dc, vass"
- desc = ""
- icon_state = "buggo_vass_s"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
- extra_overlay = "buggobeefull_vass_markings"
-
-/datum/sprite_accessory/tail/buggovassunder
- name = "Bug abdomen, underside, dc, vass"
- desc = ""
- icon_state = "buggo_vass_s"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
- extra_overlay = "buggounder_vass_markings"
-
-/datum/sprite_accessory/tail/buggovassfirefly
- name = "Bug abdomen, firefly, dc, vass"
- desc = ""
- icon_state = "buggo_vass_s"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
- extra_overlay = "buggofirefly_vass_markings"
-
-/datum/sprite_accessory/tail/buggovassfat
- name = "Fat bug abdomen, vass, colorable"
- desc = ""
- icon_state = "buggofat_vass_s"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
-
-/datum/sprite_accessory/tail/buggovassfatbee
- name = "Fat bug abdomen, bee top, dc, vass"
- desc = ""
- icon_state = "buggofat_vass_s"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
- extra_overlay = "buggofatbee_vass_markings"
-
-/datum/sprite_accessory/tail/buggovassfatbeefull
- name = "Fat bug abdomen, bee full, dc, vass"
- desc = ""
- icon_state = "buggofat_vass_s"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
- extra_overlay = "buggofatbeefull_vass_markings"
-
-/datum/sprite_accessory/tail/buggovassfatunder
- name = "Fat bug abdomen, underside, dc, vass"
- desc = ""
- icon_state = "buggofat_vass_s"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
- extra_overlay = "buggofatunder_vass_markings"
-
-/datum/sprite_accessory/tail/buggovassfatfirefly
- name = "Fat bug abdomen, firefly, dc, vass"
- desc = ""
- icon_state = "buggofat_vass_s"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
- extra_overlay = "buggofatfirefly_vass_markings"
-
-/datum/sprite_accessory/tail/buggovasswag
- name = "Bug abdomen, vass, colorable, vwag change"
- desc = ""
- icon_state = "buggo_vass_s"
- ani_state = "buggofat_vass_s"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
-
-/datum/sprite_accessory/tail/buggovassbeewag
- name = "Bug abdomen, bee top, dc, vass, vwag"
- desc = ""
- icon_state = "buggo_vass_s"
- ani_state = "buggofat_vass_s"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
- extra_overlay = "buggobee_vass_markings"
- extra_overlay_w = "buggofatbee_vass_markings"
-
-/datum/sprite_accessory/tail/buggovassbeefullwag
- name = "Bug abdomen, bee full, dc, vass, vwag"
- desc = ""
- icon_state = "buggo_vass_s"
- ani_state = "buggofat_vass_s"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
- extra_overlay = "buggobeefull_vass_markings"
- extra_overlay_w = "buggofatbeefull_vass_markings"
-
-/datum/sprite_accessory/tail/buggovassunderwag
- name = "Bug abdomen, underside, dc, vass, vwag"
- desc = ""
- icon_state = "buggo_vass_s"
- ani_state = "buggofat_vass_s"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
- extra_overlay = "buggounder_vass_markings"
- extra_overlay_w = "buggofatunder_vass_markings"
-
-/datum/sprite_accessory/tail/buggovassfireflywag
- name = "Bug abdomen, firefly, dc, vass, vwag"
- desc = ""
- icon_state = "buggo_vass_s"
- ani_state = "buggofat_vass_s"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
- extra_overlay = "buggofirefly_vass_markings"
- extra_overlay_w = "buggofatfirefly_vass_markings"
-
-/datum/sprite_accessory/tail/tail_smooth
- name = "Smooth Lizard Tail, colorable"
- desc = ""
- icon_state = "tail_smooth"
- ani_state = "tail_smooth_w"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
-
-/datum/sprite_accessory/tail/triplekitsune_colorable
- name = "Kitsune 3 tails, colorable"
- desc = ""
- icon_state = "triplekitsune"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
- extra_overlay = "triplekitsune_tips"
-
-/datum/sprite_accessory/tail/ninekitsune_colorable
- name = "Kitsune 9 tails, colorable"
- desc = ""
- icon_state = "ninekitsune"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
- extra_overlay = "ninekitsune-tips"
-
-/datum/sprite_accessory/tail/shadekin_short
- name = "Shadekin Short Tail, colorable"
- desc = ""
- icon_state = "shadekin-short"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
-
-/datum/sprite_accessory/tail/wartacosushi_tail //brightened +20RGB from matching roboparts
- name = "Ward-Takahashi Tail"
- desc = ""
- icon_state = "wardtakahashi_vulp"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
-
-/datum/sprite_accessory/tail/wartacosushi_tail_dc
- name = "Ward-Takahashi Tail, dual-color"
- desc = ""
- icon_state = "wardtakahashi_vulp_dc"
- do_colouration = 1
- color_blend_mode = ICON_MULTIPLY
- extra_overlay = "wardtakahashi_vulp_dc_mark"
-
+/*
+ Hello and welcome to VOREStation sprite_accessories: For a more general overview
+ please read sprite_accessories.dm. This file is for ears and tails.
+ This is intended to be friendly for people with little to no actual coding experience.
+ !!WARNING!!: changing existing accessory information can be VERY hazardous to savefiles,
+ to the point where you may completely corrupt a server's savefiles. Please refrain
+ from doing this unless you absolutely know what you are doing, and have defined a
+ conversion in savefile.dm
+*/
+
+// Add Additional variable onto sprite_accessory
+/datum/sprite_accessory
+ // Ckey of person allowed to use this, if defined.
+ var/list/ckeys_allowed = null
+ var/apply_restrictions = FALSE //whether to apply restrictions for specific tails/ears/wings
+
+/*
+////////////////////////////
+/ =--------------------= /
+/ == Ear Definitions == /
+/ =--------------------= /
+////////////////////////////
+*/
+/datum/sprite_accessory/ears
+ name = "You should not see this..."
+ icon = 'icons/mob/vore/ears_vr.dmi'
+ do_colouration = 0 // Set to 1 to blend (ICON_ADD) hair color
+
+ var/color_blend_mode = ICON_ADD // Only appliciable if do_coloration = 1
+ var/extra_overlay // Icon state of an additional overlay to blend in.
+ var/extra_overlay2
+ var/desc = "You should not see this..."
+
+// Species-unique ears
+
+/datum/sprite_accessory/ears/shadekin
+ name = "Shadekin Ears, colorable"
+ desc = ""
+ icon_state = "shadekin"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+
+// Ears avaliable to anyone
+
+/datum/sprite_accessory/ears/hyena
+ name = "hyena ears, dual-color"
+ desc = ""
+ icon_state = "hyena"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+ extra_overlay = "hyena-inner"
+
+/datum/sprite_accessory/ears/moth
+ name = "moth antennae"
+ desc = ""
+ icon_state = "moth"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+
+/datum/sprite_accessory/ears/squirrel_orange
+ name = "squirel, orange"
+ desc = ""
+ icon_state = "squirrel-orange"
+
+/datum/sprite_accessory/ears/squirrel_red
+ name = "squirrel, red"
+ desc = ""
+ icon_state = "squirrel-red"
+
+/datum/sprite_accessory/ears/bunny_white
+ name = "bunny, white"
+ desc = ""
+ icon_state = "bunny"
+
+/datum/sprite_accessory/ears/bear_brown
+ name = "bear, brown"
+ desc = ""
+ icon_state = "bear-brown"
+
+/datum/sprite_accessory/ears/bear_panda
+ name = "bear, panda"
+ desc = ""
+ icon_state = "panda"
+
+/datum/sprite_accessory/ears/wolf_grey
+ name = "wolf, grey"
+ desc = ""
+ icon_state = "wolf-grey"
+
+/datum/sprite_accessory/ears/wolf_green
+ name = "wolf, green"
+ desc = ""
+ icon_state = "wolf-green"
+
+/datum/sprite_accessory/ears/wisewolf
+ name = "wolf, wise"
+ desc = ""
+ icon_state = "wolf-wise"
+
+/datum/sprite_accessory/ears/mouse_grey
+ name = "mouse, grey"
+ desc = ""
+ icon_state = "mouse-grey"
+
+/datum/sprite_accessory/ears/bee
+ name = "bee antennae"
+ desc = ""
+ icon_state = "bee"
+
+/datum/sprite_accessory/ears/antennae
+ name = "antennae, colorable"
+ desc = ""
+ icon_state = "antennae"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+
+/datum/sprite_accessory/ears/curly_bug
+ name = "curly antennae, colorable"
+ desc = ""
+ icon_state = "curly_bug"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+
+/datum/sprite_accessory/ears/dual_robot
+ name = "synth antennae, colorable"
+ desc = ""
+ icon_state = "dual_robot_antennae"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+
+/datum/sprite_accessory/ears/right_robot
+ name = "right synth, colorable"
+ desc = ""
+ icon_state = "right_robot_antennae"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+
+/datum/sprite_accessory/ears/left_robot
+ name = "left synth, colorable"
+ desc = ""
+ icon_state = "left_robot_antennae"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+
+/datum/sprite_accessory/ears/oni_h1
+ name = "oni horns"
+ desc = ""
+ icon_state = "oni-h1"
+
+/datum/sprite_accessory/ears/oni_h1_c
+ name = "oni horns, colorable"
+ desc = ""
+ icon_state = "oni-h1_c"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+
+/datum/sprite_accessory/ears/demon_horns1
+ name = "demon horns"
+ desc = ""
+ icon_state = "demon-horns1"
+
+/datum/sprite_accessory/ears/demon_horns1_c
+ name = "demon horns, colorable"
+ desc = ""
+ icon_state = "demon-horns1_c"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+
+/datum/sprite_accessory/ears/demon_horns2
+ name = "demon horns, colorable(outward)"
+ desc = ""
+ icon_state = "demon-horns2"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+
+/datum/sprite_accessory/ears/dragon_horns
+ name = "dragon horns, colorable"
+ desc = ""
+ icon_state = "dragon-horns"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+
+/datum/sprite_accessory/ears/foxears
+ name = "highlander zorren ears"
+ desc = ""
+ icon_state = "foxears"
+
+/datum/sprite_accessory/ears/fenears
+ name = "flatland zorren ears"
+ desc = ""
+ icon_state = "fenears"
+
+/datum/sprite_accessory/ears/sergal //Redundant
+ name = "Sergal ears"
+ icon_state = "serg_plain_s"
+
+/datum/sprite_accessory/ears/foxearshc
+ name = "highlander zorren ears, colorable"
+ desc = ""
+ icon_state = "foxearshc"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+
+/datum/sprite_accessory/ears/fenearshc
+ name = "flatland zorren ears, colorable"
+ desc = ""
+ icon_state = "fenearshc"
+ extra_overlay = "fenears-inner"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+
+/datum/sprite_accessory/ears/sergalhc
+ name = "Sergal ears, colorable"
+ icon_state = "serg_plain_s"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+
+/datum/sprite_accessory/ears/mousehc
+ name = "mouse, colorable"
+ desc = ""
+ icon_state = "mouse"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+ extra_overlay = "mouseinner"
+
+/datum/sprite_accessory/ears/mousehcno
+ name = "mouse, colorable, no inner"
+ desc = ""
+ icon_state = "mouse"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+
+/datum/sprite_accessory/ears/wolfhc
+ name = "wolf, colorable"
+ desc = ""
+ icon_state = "wolf"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+ extra_overlay = "wolfinner"
+
+/datum/sprite_accessory/ears/bearhc
+ name = "bear, colorable"
+ desc = ""
+ icon_state = "bear"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+
+/datum/sprite_accessory/ears/smallbear
+ name = "small bear"
+ desc = ""
+ icon_state = "smallbear"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+
+/datum/sprite_accessory/ears/squirrelhc
+ name = "squirrel, colorable"
+ desc = ""
+ icon_state = "squirrel"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+
+/datum/sprite_accessory/ears/kittyhc
+ name = "kitty, colorable"
+ desc = ""
+ icon_state = "kitty"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+ extra_overlay = "kittyinner"
+
+/datum/sprite_accessory/ears/bunnyhc
+ name = "bunny, colorable"
+ desc = ""
+ icon_state = "bunny"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+
+/datum/sprite_accessory/ears/antlers
+ name = "antlers"
+ desc = ""
+ icon_state = "antlers"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+
+/datum/sprite_accessory/ears/antlers_e
+ name = "antlers with ears"
+ desc = ""
+ icon_state = "cow-nohorns"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+ extra_overlay = "antlers_mark"
+
+/datum/sprite_accessory/ears/smallantlers
+ name = "small antlers"
+ desc = ""
+ icon_state = "smallantlers"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+
+/datum/sprite_accessory/ears/smallantlers_e
+ name = "small antlers with ears"
+ desc = ""
+ icon_state = "smallantlers"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+ extra_overlay = "deer"
+
+/datum/sprite_accessory/ears/deer
+ name = "deer ears"
+ desc = ""
+ icon_state = "deer"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+
+/datum/sprite_accessory/ears/cow
+ name = "cow, horns"
+ desc = ""
+ icon_state = "cow"
+
+/datum/sprite_accessory/ears/cowc
+ name = "cow, horns, colorable"
+ desc = ""
+ icon_state = "cow-c"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+
+/datum/sprite_accessory/ears/cow_nohorns
+ name = "cow, no horns"
+ desc = ""
+ icon_state = "cow-nohorns"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+
+/datum/sprite_accessory/ears/caprahorns
+ name = "caprine horns"
+ desc = ""
+ icon_state = "caprahorns"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+
+/datum/sprite_accessory/ears/otie
+ name = "otie, colorable"
+ desc = ""
+ icon_state = "otie"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+ extra_overlay = "otie-inner"
+
+/datum/sprite_accessory/ears/donkey
+ name = "donkey, colorable"
+ desc = ""
+ icon_state = "donkey"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+ extra_overlay = "otie-inner"
+
+/datum/sprite_accessory/ears/zears
+ name = "jagged ears"
+ desc = ""
+ icon_state = "zears"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+
+/datum/sprite_accessory/ears/elfs
+ name = "elven ears"
+ desc = ""
+ icon_state = "elfs"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+
+/datum/sprite_accessory/ears/sleek
+ name = "sleek ears"
+ desc = ""
+ icon_state = "sleek"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+
+/datum/sprite_accessory/ears/drake
+ name = "drake frills"
+ desc = ""
+ icon_state = "drake"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+
+/datum/sprite_accessory/ears/vulp
+ name = "vulpkanin, dual-color"
+ desc = ""
+ icon_state = "vulp"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+ extra_overlay = "vulp-inner"
+
+/datum/sprite_accessory/ears/vulp_short
+ name = "vulpkanin short"
+ desc = ""
+ icon_state = "vulp_terrier"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+
+/datum/sprite_accessory/ears/vulp_short_dc
+ name = "vulpkanin short, dual-color"
+ desc = ""
+ icon_state = "vulp_terrier"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+ extra_overlay = "vulp_terrier-inner"
+
+/datum/sprite_accessory/ears/vulp_jackal
+ name = "vulpkanin thin, dual-color"
+ desc = ""
+ icon_state = "vulp_jackal"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+ extra_overlay = "vulp_jackal-inner"
+
+/datum/sprite_accessory/ears/bunny_floppy
+ name = "floopy bunny ears (colorable)"
+ desc = ""
+ icon_state = "floppy_bun"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+
+/datum/sprite_accessory/ears/teshari
+ name = "Teshari (colorable)"
+ desc = ""
+ icon_state = "teshari"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+ extra_overlay = "teshariinner"
+
+/datum/sprite_accessory/ears/tesharihigh
+ name = "Teshari upper ears (colorable)"
+ desc = ""
+ icon_state = "tesharihigh"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+ extra_overlay = "tesharihighinner"
+
+/datum/sprite_accessory/ears/tesharilow
+ name = "Teshari lower ears (colorable)"
+ desc = ""
+ icon_state = "tesharilow"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+ extra_overlay = "tesharilowinner"
+
+/datum/sprite_accessory/ears/tesh_pattern_ear_male
+ name = "Teshari male ear pattern (colorable)"
+ desc = ""
+ icon_state = "teshari"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+ extra_overlay = "teshari_male_pattern"
+
+/datum/sprite_accessory/ears/tesh_pattern_ear_female
+ name = "Teshari female ear pattern (colorable)"
+ desc = ""
+ icon_state = "teshari"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+ extra_overlay = "teshari_female_pattern"
+
+/datum/sprite_accessory/ears/inkling
+ name = "colorable mature inkling hair"
+ desc = ""
+ icon = 'icons/mob/human_face_vr.dmi'
+ icon_state = "inkling-colorable"
+ color_blend_mode = ICON_MULTIPLY
+ do_colouration = 1
+
+/datum/sprite_accessory/ears/large_dragon
+ name = "Large dragon horns"
+ desc = ""
+ icon_state = "big_liz"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+
+// Special snowflake ears go below here.
+
+/datum/sprite_accessory/ears/molenar_kitsune
+ name = "quintail kitsune ears (Molenar)"
+ desc = ""
+ icon_state = "molenar-kitsune"
+
+/datum/sprite_accessory/ears/lilimoth_antennae
+ name = "citheronia antennae (Kira72)"
+ desc = ""
+ icon_state = "lilimoth_antennae"
+
+/datum/sprite_accessory/ears/molenar_deathclaw
+ name = "deathclaw ears (Molenar)"
+ desc = ""
+ icon_state = "molenar-deathclaw"
+
+/datum/sprite_accessory/ears/miria_fluffdragon
+ name = "fluffdragon ears (Miria Masters)"
+ desc = ""
+ icon_state = "miria-fluffdragonears"
+
+/datum/sprite_accessory/ears/miria_kitsune
+ name = "kitsune ears (Miria Masters)"
+ desc = ""
+ icon_state = "miria-kitsuneears"
+
+/datum/sprite_accessory/ears/runac
+ name = "fennecsune ears (Runac)"
+ desc = ""
+ icon_state = "runac"
+
+/datum/sprite_accessory/ears/kerena
+ name = "wingwolf ears (Kerena)"
+ desc = ""
+ icon_state = "kerena"
+
+/datum/sprite_accessory/ears/rosey
+ name = "tritail kitsune ears (Rosey)"
+ desc = ""
+ icon_state = "rosey"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+
+/datum/sprite_accessory/ears/aronai
+ name = "aronai ears/head (Aronai)"
+ desc = ""
+ icon_state = "aronai"
+
+/datum/sprite_accessory/ears/holly
+ name = "tigress ears (Holly Sharp)"
+ desc = ""
+ icon_state = "tigressears"
+
+/datum/sprite_accessory/ears/molenar_inkling
+ name = "teal mature inkling hair (Kari Akiren)"
+ desc = ""
+ icon_state = "molenar-tentacle"
+
+/datum/sprite_accessory/ears/shock
+ name = "pharoah hound ears (Shock Diamond)"
+ desc = ""
+ icon_state = "shock"
+
+/datum/sprite_accessory/ears/alurane
+ name = "alurane ears/hair (Pumila)"
+ desc = ""
+ icon_state = "alurane-ears"
+
+/datum/sprite_accessory/ears/frost
+ name = "Frost antenna"
+ desc = ""
+ icon_state = "frosted_tips"
+
+/datum/sprite_accessory/ears/sylv_pip
+ name = "sylveon ears and ribbons (Pip Shyner)"
+ desc = ""
+ icon_state = "pipears"
+
+/datum/sprite_accessory/ears/elf_caprine_colorable
+ name = "Caprine horns with pointy ears, colorable"
+ desc = ""
+ icon_state = "elfs"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+ extra_overlay = "caprahorns"
+
+/datum/sprite_accessory/ears/elf_oni_colorable
+ name = "oni horns with pointy ears, colorable"
+ desc = ""
+ icon_state = "elfs"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+ extra_overlay = "oni-h1_c"
+
+/datum/sprite_accessory/ears/elf_demon_colorable
+ name = "Demon horns with pointy ears, colorable"
+ desc = ""
+ icon_state = "elfs"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+ extra_overlay = "demon-horns1_c"
+
+/datum/sprite_accessory/ears/elf_demon_outwards_colorable
+ name = "Demon horns with pointy ears, outwards, colourable"
+ desc = ""
+ icon_state = "elfs"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+ extra_overlay = "demon-horns2"
+
+/datum/sprite_accessory/ears/elf_dragon_colorable
+ name = "Dragon horns with pointy ears, colourable"
+ desc = ""
+ icon_state = "elfs"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+ extra_overlay = "dragon-horns"
+
+/datum/sprite_accessory/ears/synthhorns_plain
+ name = "Synth horns, plain"
+ desc = ""
+ icon_state = "synthhorns_plain"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+ extra_overlay = "synthhorns_plain_light"
+
+/datum/sprite_accessory/ears/synthhorns_thick
+ name = "Synth horns, thick"
+ desc = ""
+ icon_state = "synthhorns_thick"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+ extra_overlay = "synthhorns_thick_light"
+
+/datum/sprite_accessory/ears/synthhorns_curly
+ name = "Synth horns, curly"
+ desc = ""
+ icon_state = "synthhorns_curled"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+
+/datum/sprite_accessory/ears/forward_curled_demon_horns_bony
+ name = "Succubus horns, colourable"
+ desc = ""
+ icon_state = "succu-horns_b"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+
+/datum/sprite_accessory/ears/forward_curled_demon_horns_bony_with_colorable_ears
+ name = "Succubus horns with pointy ears, colourable"
+ desc = ""
+ icon_state = "elfs"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+ extra_overlay = "succu-horns_b"
+
+
+
+/*
+////////////////////////////
+/ =--------------------= /
+/ == Wing Definitions == /
+/ =--------------------= /
+////////////////////////////
+*/
+/datum/sprite_accessory/wing
+ name = "You should not see this..."
+ icon = 'icons/mob/vore/wings_vr.dmi'
+ do_colouration = 0 //Set to 1 to enable coloration using the tail color.
+
+ var/color_blend_mode = ICON_ADD // Only appliciable if do_coloration = 1
+ var/extra_overlay // Icon state of an additional overlay to blend in.
+ var/extra_overlay2 //Tertiary.
+ var/clothing_can_hide = 1 // If true, clothing with HIDETAIL hides it. If the clothing is bulky enough to hide a tail, it should also hide wings.
+ // var/show_species_tail = 1 // Just so // TODO - Seems not needed ~Leshana
+ var/desc = "You should not see this..."
+ var/ani_state // State when flapping/animated
+ var/extra_overlay_w // Flapping state for extra overlay
+ var/extra_overlay2_w
+
+/datum/sprite_accessory/wing/shock //Unable to split the tail from the wings in the sprite, so let's just classify it as wings.
+ name = "pharoah hound tail (Shock Diamond)"
+ desc = ""
+ icon_state = "shock"
+
+/datum/sprite_accessory/wing/featheredlarge //Made by Natje!
+ name = "large feathered wings (colorable)"
+ desc = ""
+ icon_state = "feathered2"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+
+/datum/sprite_accessory/wing/spider_legs //Not really /WINGS/ but they protrude from the back, kinda. Might as well have them here.
+ name = "spider legs"
+ desc = ""
+ icon_state = "spider-legs"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+
+/datum/sprite_accessory/wing/moth
+ name = "moth wings"
+ desc = ""
+ icon_state = "moth"
+
+/datum/sprite_accessory/wing/mothc
+ name = "moth wings, colorable"
+ desc = ""
+ icon_state = "moth"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+
+/datum/sprite_accessory/wing/dragonfly
+ name = "dragonfly"
+ desc = ""
+ icon_state = "dragonfly"
+ color_blend_mode = ICON_MULTIPLY
+
+/datum/sprite_accessory/wing/citheroniamoth
+ name = "citheronia wings"
+ desc = ""
+ icon_state = "citheronia_wings"
+
+/datum/sprite_accessory/wing/feathered
+ name = "feathered wings, colorable"
+ desc = ""
+ icon_state = "feathered"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+
+/datum/sprite_accessory/wing/feathered_medium
+ name = "medium feathered wings, colorable" // Keekenox made these feathery things with a little bit more shape to them than the other wings. They are medium sized wing boys.
+ desc = ""
+ icon_state = "feathered3"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+
+/datum/sprite_accessory/wing/bat_black
+ name = "bat wings, black"
+ desc = ""
+ icon_state = "bat-black"
+
+/datum/sprite_accessory/wing/bat_color
+ name = "bat wings, colorable"
+ desc = ""
+ icon_state = "bat-color"
+ do_colouration = 1
+
+/datum/sprite_accessory/wing/bat_red
+ name = "bat wings, red"
+ desc = ""
+ icon_state = "bat-red"
+
+/datum/sprite_accessory/wing/harpywings
+ name = "harpy wings, colorable"
+ desc = ""
+ icon_state = "harpywings"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+
+/datum/sprite_accessory/wing/harpywings_alt
+ name = "harpy wings alt, archeopteryx"
+ desc = ""
+ icon_state = "harpywings_alt"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+ extra_overlay = "harpywings_altmarkings"
+
+/datum/sprite_accessory/wing/harpywings_alt_neckfur
+ name = "harpy wings alt, archeopteryx & neckfur"
+ desc = ""
+ icon_state = "harpywings_alt"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+ extra_overlay = "harpywings_altmarkings"
+ extra_overlay2 = "neckfur"
+
+/datum/sprite_accessory/wing/harpywings_bat
+ name = "harpy wings, bat"
+ desc = ""
+ icon_state = "harpywings_bat"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+ extra_overlay = "harpywings_batmarkings"
+
+/datum/sprite_accessory/wing/harpywings_bat_neckfur
+ name = "harpy wings, bat & neckfur"
+ desc = ""
+ icon_state = "harpywings_bat"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+ extra_overlay = "harpywings_batmarkings"
+ extra_overlay2 = "neckfur"
+
+/datum/sprite_accessory/wing/neckfur
+ name = "neck fur"
+ desc = ""
+ icon_state = "neckfur"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+
+/datum/sprite_accessory/wing/feathered
+ name = "feathered wings, colorable"
+ desc = ""
+ icon_state = "feathered"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+
+/datum/sprite_accessory/wing/beewings
+ name = "bee wings"
+ desc = ""
+ icon_state = "beewings"
+
+/datum/sprite_accessory/wing/sepulchre
+ name = "demon wings (Sepulchre)"
+ desc = ""
+ icon_state = "sepulchre_wings"
+
+/datum/sprite_accessory/wing/miria_fluffdragon
+ name = "fluffdragon wings (Miria Masters)"
+ desc = ""
+ icon_state = "miria-fluffdragontail"
+
+/datum/sprite_accessory/wing/scree
+ name = "green taj wings (Scree)"
+ desc = ""
+ icon_state = "scree-wings"
+
+/datum/sprite_accessory/wing/liquidfirefly_gazer //I g-guess this could be considered wings?
+ name = "gazer eyestalks"
+ desc = ""
+ icon_state = "liquidfirefly-eyestalks"
+
+/datum/sprite_accessory/wing/moth_full
+ name = "moth antenna and wings"
+ desc = ""
+ icon_state = "moth_full"
+
+/datum/sprite_accessory/wing/moth_full_gray
+ name = "moth antenna and wings, colorable"
+ desc = ""
+ icon_state = "moth_full_gray"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+
+/datum/sprite_accessory/wing/kerena
+ name = "wingwolf wings (Kerena)"
+ desc = ""
+ icon_state = "kerena-wings"
+
+/datum/sprite_accessory/wing/snag
+ name = "xenomorph backplate"
+ desc = ""
+ icon_state = "snag-backplate"
+
+/datum/sprite_accessory/wing/sepulchre_c_yw
+ name = "demon wings (colorable)"
+ desc = ""
+ icon_state = "sepulchre_wingsc"
+ do_colouration = 1
+
+/datum/sprite_accessory/wing/cyberdragon
+ name = "Cyber dragon wing (colorable)"
+ desc = ""
+ icon_state = "cyberdragon_s"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+
+/datum/sprite_accessory/wing/cyberdragon_red
+ name = "Cyber dragon wing (red)"
+ desc = ""
+ icon_state = "cyberdragon_red_s"
+ do_colouration = 0
+
+/datum/sprite_accessory/wing/cyberdoe
+ name = "Cyber doe wing"
+ desc = ""
+ icon_state = "cyberdoe_s"
+ do_colouration = 0
+
+/datum/sprite_accessory/wing/drago_wing
+ name = "Cybernetic Dragon wings"
+ desc = ""
+ icon_state = "drago_wing"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+ extra_overlay = "drago_wing_2"
+
+/*
+////////////////////////////
+/ =--------------------= /
+/ == Tail Definitions == /
+/ =--------------------= /
+////////////////////////////
+*/
+/datum/sprite_accessory/tail
+ name = "You should not see this..."
+ icon = 'icons/mob/vore/tails_vr.dmi'
+ do_colouration = 0 //Set to 1 to enable coloration using the tail color.
+
+ var/color_blend_mode = ICON_ADD // Only appliciable if do_coloration = 1
+ var/extra_overlay // Icon state of an additional overlay to blend in.
+ var/extra_overlay2 //Tertiary.
+ var/show_species_tail = 0 // If false, do not render species' tail.
+ var/clothing_can_hide = 1 // If true, clothing with HIDETAIL hides it
+ var/desc = "You should not see this..."
+ var/ani_state // State when wagging/animated
+ var/extra_overlay_w // Wagging state for extra overlay
+ var/extra_overlay2_w // Tertiary wagging.
+ var/list/hide_body_parts = list() //Uses organ tag defines. Bodyparts in this list do not have their icons rendered, allowing for more spriter freedom when doing taur/digitigrade stuff.
+ var/icon/clip_mask_icon = null //Icon file used for clip mask.
+ var/clip_mask_state = null //Icon state to generate clip mask. Clip mask is used to 'clip' off the lower part of clothing such as jumpsuits & full suits.
+ var/icon/clip_mask = null //Instantiated clip mask of given icon and state
+
+/datum/sprite_accessory/tail/New()
+ . = ..()
+ if(clip_mask_icon && clip_mask_state)
+ clip_mask = icon(icon = clip_mask_icon, icon_state = clip_mask_state)
+
+// Species-unique tails
+
+// Everyone tails
+
+/datum/sprite_accessory/tail/invisible
+ name = "hide species-sprite tail"
+ icon = null
+ icon_state = null
+
+/datum/sprite_accessory/tail/squirrel_orange
+ name = "squirel, orange"
+ desc = ""
+ icon_state = "squirrel-orange"
+
+/datum/sprite_accessory/tail/squirrel_red
+ name = "squirrel, red"
+ desc = ""
+ icon_state = "squirrel-red"
+
+/datum/sprite_accessory/tail/squirrel
+ name = "squirrel, colorable"
+ desc = ""
+ icon_state = "squirrel"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+
+/datum/sprite_accessory/tail/kitty
+ name = "kitty, colorable, downwards"
+ desc = ""
+ icon_state = "kittydown"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+
+/datum/sprite_accessory/tail/kittyup
+ name = "kitty, colorable, upwards"
+ desc = ""
+ icon_state = "kittyup"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+
+/datum/sprite_accessory/tail/tiger_white
+ name = "tiger, colorable"
+ desc = ""
+ icon_state = "tiger"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+ extra_overlay = "tigerinnerwhite"
+
+/datum/sprite_accessory/tail/stripey
+ name = "stripey taj, colorable"
+ desc = ""
+ icon_state = "stripeytail"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+ extra_overlay = "stripeytail_mark"
+
+/datum/sprite_accessory/tail/stripeytail_brown
+ name = "stripey taj, brown"
+ desc = ""
+ icon_state = "stripeytail-brown"
+
+/datum/sprite_accessory/tail/chameleon
+ name = "Chameleon, colorable"
+ desc = ""
+ icon_state = "chameleon"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+
+/datum/sprite_accessory/tail/bunny
+ name = "bunny, colorable"
+ desc = ""
+ icon_state = "bunny"
+ do_colouration = 1
+
+/datum/sprite_accessory/tail/bear_brown
+ name = "bear, brown"
+ desc = ""
+ icon_state = "bear-brown"
+
+/datum/sprite_accessory/tail/bear
+ name = "bear, colorable"
+ desc = ""
+ icon_state = "bear"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+
+/datum/sprite_accessory/tail/dragon
+ name = "dragon, colorable"
+ desc = ""
+ icon_state = "dragon"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+
+/datum/sprite_accessory/tail/wolf_grey
+ name = "wolf, grey"
+ desc = ""
+ icon_state = "wolf-grey"
+
+/datum/sprite_accessory/tail/wolf_green
+ name = "wolf, green"
+ desc = ""
+ icon_state = "wolf-green"
+
+/datum/sprite_accessory/tail/wisewolf
+ name = "wolf, wise"
+ desc = ""
+ icon_state = "wolf-wise"
+
+/datum/sprite_accessory/tail/blackwolf
+ name = "wolf, black"
+ desc = ""
+ icon_state = "wolf"
+
+/datum/sprite_accessory/tail/wolf
+ name = "wolf, colorable"
+ desc = ""
+ icon_state = "wolf"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+ extra_overlay = "wolfinner"
+
+/datum/sprite_accessory/tail/mouse_pink
+ name = "mouse, pink"
+ desc = ""
+ icon_state = "mouse-pink"
+
+/datum/sprite_accessory/tail/mouse
+ name = "mouse, colorable"
+ desc = ""
+ icon_state = "mouse"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+
+/datum/sprite_accessory/tail/horse
+ name = "horse tail, colorable"
+ desc = ""
+ icon_state = "horse"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+
+/datum/sprite_accessory/tail/cow
+ name = "cow tail, colorable"
+ desc = ""
+ icon_state = "cow"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+
+/datum/sprite_accessory/tail/fantail
+ name = "avian fantail, colorable"
+ desc = ""
+ icon_state = "fantail"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+
+/datum/sprite_accessory/tail/wagtail
+ name = "avian wagtail, colorable"
+ desc = ""
+ icon_state = "wagtail"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+
+/datum/sprite_accessory/tail/nevreandc
+ name = "nevrean tail, dual-color"
+ desc = ""
+ icon_state = "nevreantail_dc"
+ extra_overlay = "nevreantail_dc_tail"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+
+/datum/sprite_accessory/tail/nevreanwagdc
+ name = "nevrean wagtail, dual-color"
+ desc = ""
+ icon_state = "wagtail"
+ extra_overlay = "wagtail_dc_tail"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+
+/datum/sprite_accessory/tail/nevreanwagdc_alt
+ name = "nevrean wagtail, marked, dual-color"
+ desc = ""
+ icon_state = "wagtail2_dc"
+ extra_overlay = "wagtail2_dc_mark"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+
+/datum/sprite_accessory/tail/crossfox
+ name = "cross fox"
+ desc = ""
+ icon_state = "crossfox"
+
+/datum/sprite_accessory/tail/beethorax
+ name = "bee thorax"
+ desc = ""
+ icon_state = "beethorax"
+
+/datum/sprite_accessory/tail/doublekitsune
+ name = "double kitsune tail, colorable"
+ desc = ""
+ icon_state = "doublekitsune"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+
+/datum/sprite_accessory/tail/spade_color
+ name = "spade-tail (colorable)"
+ desc = ""
+ icon_state = "spadetail-black"
+ do_colouration = 1
+
+/datum/sprite_accessory/tail/snag
+ name = "xenomorph tail 1"
+ desc = ""
+ icon_state = "snag"
+
+/datum/sprite_accessory/tail/xenotail
+ name = "xenomorph tail 2"
+ desc = ""
+ icon_state = "xenotail"
+
+/datum/sprite_accessory/tail/eboop
+ name = "EGN mech tail (dual color)"
+ desc = ""
+ icon_state = "eboop"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+ extra_overlay = "eboop_mark"
+
+/datum/sprite_accessory/tail/molenar_kitsune
+ name = "quintail kitsune tails (Molenar)"
+ desc = ""
+ icon_state = "molenar-kitsune"
+
+/datum/sprite_accessory/tail/miria_fluffdragon
+ name = "fluffdragon tail (Miria Masters)"
+ desc = ""
+ icon_state = "miria-fluffdragontail"
+
+/datum/sprite_accessory/tail/miria_kitsune
+ name = "Black kitsune tails (Miria Masters)"
+ desc = ""
+ icon_state = "miria-kitsunetail"
+
+/datum/sprite_accessory/tail/molenar_deathclaw
+ name = "deathclaw bits (Molenar)"
+ desc = ""
+ icon_state = "molenar-deathclaw"
+
+/datum/sprite_accessory/tail/runac
+ name = "fennecsune tails (Runac)"
+ desc = ""
+ icon_state = "runac"
+
+/datum/sprite_accessory/tail/reika //Leaving this since it was too hard to split the wings from the tail.
+ name = "fox tail (+ beewings) (Reika)"
+ desc = ""
+ icon_state = "reika"
+
+/datum/sprite_accessory/tail/rosey
+ name = "tritail kitsune tails (Rosey)"
+ desc = ""
+ icon_state = "rosey_three"
+
+/datum/sprite_accessory/tail/rosey2
+ name = "pentatail kitsune tails (Rosey)" //I predict seven tails next. ~CK
+ desc = ""
+ icon_state = "rosey_five"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+
+/datum/sprite_accessory/tail/scree
+ name = "green taj tail (Scree)"
+ desc = ""
+ icon_state = "scree"
+
+/datum/sprite_accessory/tail/aronai
+ name = "aronai tail (Aronai)"
+ desc = ""
+ icon_state = "aronai"
+
+/datum/sprite_accessory/tail/cabletail
+ name = "cabletail"
+ desc = "cabletail"
+ icon_state = "cabletail"
+
+/datum/sprite_accessory/tail/featherfluff_tail
+ name = "featherfluff_tail"
+ desc = ""
+ icon_state = "featherfluff_tail"
+
+/datum/sprite_accessory/tail/ketrai_wag
+ name = "fennix tail (vwag)"
+ desc = ""
+ icon_state = "ketraitail"
+ ani_state = "ketraitail_w"
+
+/datum/sprite_accessory/tail/ketrainew_wag
+ name = "new fennix tail (vwag)"
+ desc = ""
+ icon_state = "ketraitailnew"
+ ani_state = "ketraitailnew_w"
+
+/datum/sprite_accessory/tail/redpanda
+ name = "red panda"
+ desc = ""
+ icon_state = "redpanda"
+
+/datum/sprite_accessory/tail/ringtail
+ name = "ringtail, colorable"
+ desc = ""
+ icon_state = "ringtail"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+ extra_overlay = "ringtail_mark"
+
+/datum/sprite_accessory/tail/holly
+ name = "tigress tail (Holly)"
+ desc = ""
+ icon_state = "tigresstail"
+
+/datum/sprite_accessory/tail/satyr
+ name = "goat legs, colorable"
+ desc = ""
+ icon_state = "satyr"
+ color_blend_mode = ICON_MULTIPLY
+ do_colouration = 1
+ hide_body_parts = list(BP_L_LEG, BP_L_FOOT, BP_R_LEG, BP_R_FOOT) //Exclude pelvis just in case.
+ clip_mask_icon = 'icons/mob/vore/taurs_vr.dmi'
+ clip_mask_state = "taur_clip_mask_def" //Used to clip off the lower part of suits & uniforms.
+
+/datum/sprite_accessory/tail/tailmaw
+ name = "tailmaw, colorable"
+ desc = ""
+ icon_state = "tailmaw"
+ color_blend_mode = ICON_MULTIPLY
+ do_colouration = 1
+
+/datum/sprite_accessory/tail/curltail
+ name = "curltail (vwag)"
+ desc = ""
+ icon_state = "curltail"
+ ani_state = "curltail_w"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+ extra_overlay = "curltail_mark"
+ extra_overlay_w = "curltail_mark_w"
+
+/datum/sprite_accessory/tail/shorttail
+ name = "shorttail (vwag)"
+ desc = ""
+ icon_state = "straighttail"
+ ani_state = "straighttail_w"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+
+/datum/sprite_accessory/tail/sneptail
+ name = "Snep/Furry Tail (vwag)"
+ desc = ""
+ icon_state = "sneptail"
+ ani_state = "sneptail_w"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+ extra_overlay = "sneptail_mark"
+ extra_overlay_w = "sneptail_mark_w"
+
+
+/datum/sprite_accessory/tail/tiger_new
+ name = "tiger tail (vwag)"
+ desc = ""
+ icon_state = "tigertail"
+ ani_state = "tigertail_w"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+ extra_overlay = "tigertail_mark"
+ extra_overlay_w = "tigertail_mark_w"
+
+/datum/sprite_accessory/tail/vulp_new
+ name = "new vulp tail (vwag)"
+ desc = ""
+ icon_state = "vulptail"
+ ani_state = "vulptail_w"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+ extra_overlay = "vulptail_mark"
+ extra_overlay_w = "vulptail_mark_w"
+
+/datum/sprite_accessory/tail/otietail
+ name = "otie tail (vwag)"
+ desc = ""
+ icon_state = "otie"
+ ani_state = "otie_w"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+
+/datum/sprite_accessory/tail/newtailmaw
+ name = "new tailmaw (vwag)"
+ desc = ""
+ icon_state = "newtailmaw"
+ ani_state = "newtailmaw_w"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+
+/datum/sprite_accessory/tail/ztail
+ name = "jagged flufftail"
+ desc = ""
+ icon_state = "ztail"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+
+/datum/sprite_accessory/tail/snaketail
+ name = "snake tail, colorable"
+ desc = ""
+ icon_state = "snaketail"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+
+/datum/sprite_accessory/tail/vulpan_alt
+ name = "vulpkanin alt style, colorable"
+ desc = ""
+ icon_state = "vulptail_alt"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+
+/datum/sprite_accessory/tail/sergaltaildc
+ name = "sergal, dual-color"
+ desc = ""
+ icon_state = "sergal"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+ extra_overlay = "sergal_mark"
+
+/datum/sprite_accessory/tail/skunktail
+ name = "skunk, dual-color"
+ desc = ""
+ icon_state = "skunktail"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+ extra_overlay = "skunktail_mark"
+
+/datum/sprite_accessory/tail/deertail
+ name = "deer, dual-color"
+ desc = ""
+ icon_state = "deertail"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+ extra_overlay = "deertail_mark"
+
+/datum/sprite_accessory/tail/tesh_feathered
+ name = "Teshari tail"
+ desc = ""
+ icon_state = "teshtail_s"
+ do_colouration = 1
+ extra_overlay = "teshtail_feathers_s"
+ color_blend_mode = ICON_MULTIPLY
+
+/datum/sprite_accessory/tail/teshari_fluffytail
+ name = "Teshari alternative, colorable"
+ desc = ""
+ icon_state = "teshari_fluffytail"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+ extra_overlay = "teshari_fluffytail_mark"
+
+/datum/sprite_accessory/tail/tesh_pattern_male
+ name = "Teshari male tail pattern"
+ desc = ""
+ icon_state = "teshtail_s"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+ extra_overlay = "teshpattern_male_tail"
+
+/datum/sprite_accessory/tail/tesh_pattern_male_alt
+ name = "Teshari male tail alt. pattern"
+ desc = ""
+ icon_state = "teshtail_s"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+ extra_overlay = "teshpattern_male_alt"
+
+/datum/sprite_accessory/tail/tesh_pattern_fem
+ name = "Teshari female tail pattern"
+ desc = ""
+ icon_state = "teshtail_s"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+ extra_overlay = "teshpattern_fem_tail"
+
+/datum/sprite_accessory/tail/tesh_pattern_fem_alt
+ name = "Teshari male tail alt. pattern"
+ desc = ""
+ icon_state = "teshtail_s"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+ extra_overlay = "teshpattern_fem_alt"
+
+/datum/sprite_accessory/tail/nightstalker
+ name = "Nightstalker, colorable"
+ desc = ""
+ icon_state = "nightstalker"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+
+//For all species tails. Includes haircolored tails.
+/datum/sprite_accessory/tail/special
+ name = "Blank tail. Do not select."
+ icon = 'icons/effects/species_tails_vr.dmi'
+
+/datum/sprite_accessory/tail/special/unathi
+ name = "unathi tail"
+ desc = ""
+ icon_state = "sogtail_s"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+
+/datum/sprite_accessory/tail/special/tajaran
+ name = "tajaran tail"
+ desc = ""
+ icon_state = "tajtail_s"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+
+/datum/sprite_accessory/tail/special/sergal
+ name = "sergal tail"
+ desc = ""
+ icon_state = "sergtail_s"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+
+/datum/sprite_accessory/tail/special/akula
+ name = "akula tail"
+ desc = ""
+ icon_state = "sharktail_s"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+
+/datum/sprite_accessory/tail/special/nevrean
+ name = "nevrean tail"
+ desc = ""
+ icon_state = "nevreantail_s"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+
+/datum/sprite_accessory/tail/special/armalis
+ name = "armalis tail"
+ desc = ""
+ icon_state = "armalis_tail_humanoid_s"
+
+/datum/sprite_accessory/tail/special/xenodrone
+ name = "xenomorph drone tail"
+ desc = ""
+ icon_state = "xenos_drone_tail_s"
+
+/datum/sprite_accessory/tail/special/xenosentinel
+ name = "xenomorph sentinel tail"
+ desc = ""
+ icon_state = "xenos_sentinel_tail_s"
+
+/datum/sprite_accessory/tail/special/xenohunter
+ name = "xenomorph hunter tail"
+ desc = ""
+ icon_state = "xenos_hunter_tail_s"
+
+/datum/sprite_accessory/tail/special/xenoqueen
+ name = "xenomorph queen tail"
+ desc = ""
+ icon_state = "xenos_queen_tail_s"
+
+/datum/sprite_accessory/tail/special/monkey
+ name = "monkey tail"
+ desc = ""
+ icon_state = "chimptail_s"
+
+/datum/sprite_accessory/tail/special/unathihc
+ name = "unathi tail, colorable"
+ desc = ""
+ icon_state = "sogtail_hc_s"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+
+/datum/sprite_accessory/tail/special/tajaranhc
+ name = "tajaran tail, colorable"
+ desc = ""
+ icon_state = "tajtail_hc_s"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+
+/datum/sprite_accessory/tail/special/sergalhc
+ name = "sergal tail, colorable"
+ desc = ""
+ icon_state = "sergtail_hc_s"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+
+/datum/sprite_accessory/tail/special/akulahc
+ name = "akula tail, colorable"
+ desc = ""
+ icon_state = "sharktail_hc_s"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+
+/datum/sprite_accessory/tail/special/nevreanhc
+ name = "nevrean tail, colorable"
+ desc = ""
+ icon_state = "nevreantail_hc_s"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+
+/datum/sprite_accessory/tail/special/foxhc
+ name = "highlander zorren tail, colorable"
+ desc = ""
+ icon_state = "foxtail_hc_s"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+
+/datum/sprite_accessory/tail/special/fennechc
+ name = "flatland zorren tail, colorable"
+ desc = ""
+ icon_state = "fentail_hc_s"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+
+/datum/sprite_accessory/tail/special/armalishc
+ name = "armalis tail, colorable"
+ desc = ""
+ icon_state = "armalis_tail_humanoid_hc_s"
+ do_colouration = 1
+
+/datum/sprite_accessory/tail/special/xenodronehc
+ name = "xenomorph drone tail, colorable"
+ desc = ""
+ icon_state = "xenos_drone_tail_hc_s"
+ do_colouration = 1
+
+/datum/sprite_accessory/tail/special/xenosentinelhc
+ name = "xenomorph sentinel tail, colorable"
+ desc = ""
+ icon_state = "xenos_sentinel_tail_hc_s"
+ do_colouration = 1
+
+/datum/sprite_accessory/tail/special/xenohunterhc
+ name = "xenomorph hunter tail, colorable"
+ desc = ""
+ icon_state = "xenos_hunter_tail_hc_s"
+ do_colouration = 1
+
+/datum/sprite_accessory/tail/special/xenoqueenhc
+ name = "xenomorph queen tail, colorable"
+ desc = ""
+ icon_state = "xenos_queen_tail_hc_s"
+ do_colouration = 1
+
+/datum/sprite_accessory/tail/special/monkeyhc
+ name = "monkey tail, colorable"
+ desc = ""
+ icon_state = "chimptail_hc_s"
+ do_colouration = 1
+
+/datum/sprite_accessory/tail/special/vulpan
+ name = "vulpkanin, colorable"
+ desc = ""
+ icon_state = "vulptail_s"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+
+
+/datum/sprite_accessory/tail/zenghu_taj
+ name = "Zeng-Hu Tajaran Synth tail"
+ desc = ""
+ icon_state = "zenghu_taj"
+
+//Taurs moved to a separate file due to extra code around them
+
+//Buggo Abdomens!
+
+/datum/sprite_accessory/tail/buggo
+ name = "Bug abdomen, colorable"
+ desc = ""
+ icon_state = "buggo_s"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+
+/datum/sprite_accessory/tail/buggobee
+ name = "Bug abdomen, bee top, dual-colorable"
+ desc = ""
+ icon_state = "buggo_s"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+ extra_overlay = "buggobee_markings"
+
+/datum/sprite_accessory/tail/buggobeefull
+ name = "Bug abdomen, bee full, dual-colorable"
+ desc = ""
+ icon_state = "buggo_s"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+ extra_overlay = "buggobeefull_markings"
+
+/datum/sprite_accessory/tail/buggounder
+ name = "Bug abdomen, underside, dual-colorable"
+ desc = ""
+ icon_state = "buggo_s"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+ extra_overlay = "buggounder_markings"
+
+/datum/sprite_accessory/tail/buggofirefly
+ name = "Bug abdomen, firefly, dual-colorable"
+ desc = ""
+ icon_state = "buggo_s"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+ extra_overlay = "buggofirefly_markings"
+
+/datum/sprite_accessory/tail/buggofat
+ name = "Fat bug abdomen, colorable"
+ desc = ""
+ icon_state = "buggofat_s"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+
+/datum/sprite_accessory/tail/buggofatbee
+ name = "Fat bug abdomen, bee top, dual-colorable"
+ desc = ""
+ icon_state = "buggofat_s"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+ extra_overlay = "buggofatbee_markings"
+
+/datum/sprite_accessory/tail/buggofatbeefull
+ name = "Fat bug abdomen, bee full, dual-colorable"
+ desc = ""
+ icon_state = "buggofat_s"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+ extra_overlay = "buggofatbeefull_markings"
+
+/datum/sprite_accessory/tail/buggofatunder
+ name = "Fat bug abdomen, underside, dual-colorable"
+ desc = ""
+ icon_state = "buggofat_s"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+ extra_overlay = "buggofatunder_markings"
+
+/datum/sprite_accessory/tail/buggofatfirefly
+ name = "Fat bug abdomen, firefly, dual-colorable"
+ desc = ""
+ icon_state = "buggofat_s"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+ extra_overlay = "buggofatfirefly_markings"
+
+/datum/sprite_accessory/tail/buggowag
+ name = "Bug abdomen, colorable, vwag change"
+ desc = ""
+ icon_state = "buggo_s"
+ ani_state = "buggofat_s"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+
+/datum/sprite_accessory/tail/buggobeewag
+ name = "Bug abdomen, bee top, dual color, vwag"
+ desc = ""
+ icon_state = "buggo_s"
+ ani_state = "buggofat_s"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+ extra_overlay = "buggobee_markings"
+ extra_overlay_w = "buggofatbee_markings"
+
+/datum/sprite_accessory/tail/buggobeefullwag
+ name = "Bug abdomen, bee full, dual color, vwag"
+ desc = ""
+ icon_state = "buggo_s"
+ ani_state = "buggofat_s"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+ extra_overlay = "buggobeefull_markings"
+ extra_overlay_w = "buggofatbeefull_markings"
+
+/datum/sprite_accessory/tail/buggounderwag
+ name = "Bug abdomen, underside, dual color, vwag"
+ desc = ""
+ icon_state = "buggo_s"
+ ani_state = "buggofat_s"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+ extra_overlay = "buggounder_markings"
+ extra_overlay_w = "buggofatunder_markings"
+
+/datum/sprite_accessory/tail/buggofireflywag
+ name = "Bug abdomen, firefly, dual color, vwag"
+ desc = ""
+ icon_state = "buggo_s"
+ ani_state = "buggofat_s"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+ extra_overlay = "buggofirefly_markings"
+ extra_overlay_w = "buggofatfirefly_markings"
+
+//Vass buggo variants!
+
+/datum/sprite_accessory/tail/buggovass
+ name = "Bug abdomen, vass, colorable"
+ desc = ""
+ icon_state = "buggo_vass_s"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+
+/datum/sprite_accessory/tail/buggovassbee
+ name = "Bug abdomen, bee top, dc, vass"
+ desc = ""
+ icon_state = "buggo_vass_s"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+ extra_overlay = "buggobee_vass_markings"
+
+/datum/sprite_accessory/tail/buggovassbeefull
+ name = "Bug abdomen, bee full, dc, vass"
+ desc = ""
+ icon_state = "buggo_vass_s"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+ extra_overlay = "buggobeefull_vass_markings"
+
+/datum/sprite_accessory/tail/buggovassunder
+ name = "Bug abdomen, underside, dc, vass"
+ desc = ""
+ icon_state = "buggo_vass_s"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+ extra_overlay = "buggounder_vass_markings"
+
+/datum/sprite_accessory/tail/buggovassfirefly
+ name = "Bug abdomen, firefly, dc, vass"
+ desc = ""
+ icon_state = "buggo_vass_s"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+ extra_overlay = "buggofirefly_vass_markings"
+
+/datum/sprite_accessory/tail/buggovassfat
+ name = "Fat bug abdomen, vass, colorable"
+ desc = ""
+ icon_state = "buggofat_vass_s"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+
+/datum/sprite_accessory/tail/buggovassfatbee
+ name = "Fat bug abdomen, bee top, dc, vass"
+ desc = ""
+ icon_state = "buggofat_vass_s"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+ extra_overlay = "buggofatbee_vass_markings"
+
+/datum/sprite_accessory/tail/buggovassfatbeefull
+ name = "Fat bug abdomen, bee full, dc, vass"
+ desc = ""
+ icon_state = "buggofat_vass_s"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+ extra_overlay = "buggofatbeefull_vass_markings"
+
+/datum/sprite_accessory/tail/buggovassfatunder
+ name = "Fat bug abdomen, underside, dc, vass"
+ desc = ""
+ icon_state = "buggofat_vass_s"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+ extra_overlay = "buggofatunder_vass_markings"
+
+/datum/sprite_accessory/tail/buggovassfatfirefly
+ name = "Fat bug abdomen, firefly, dc, vass"
+ desc = ""
+ icon_state = "buggofat_vass_s"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+ extra_overlay = "buggofatfirefly_vass_markings"
+
+/datum/sprite_accessory/tail/buggovasswag
+ name = "Bug abdomen, vass, colorable, vwag change"
+ desc = ""
+ icon_state = "buggo_vass_s"
+ ani_state = "buggofat_vass_s"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+
+/datum/sprite_accessory/tail/buggovassbeewag
+ name = "Bug abdomen, bee top, dc, vass, vwag"
+ desc = ""
+ icon_state = "buggo_vass_s"
+ ani_state = "buggofat_vass_s"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+ extra_overlay = "buggobee_vass_markings"
+ extra_overlay_w = "buggofatbee_vass_markings"
+
+/datum/sprite_accessory/tail/buggovassbeefullwag
+ name = "Bug abdomen, bee full, dc, vass, vwag"
+ desc = ""
+ icon_state = "buggo_vass_s"
+ ani_state = "buggofat_vass_s"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+ extra_overlay = "buggobeefull_vass_markings"
+ extra_overlay_w = "buggofatbeefull_vass_markings"
+
+/datum/sprite_accessory/tail/buggovassunderwag
+ name = "Bug abdomen, underside, dc, vass, vwag"
+ desc = ""
+ icon_state = "buggo_vass_s"
+ ani_state = "buggofat_vass_s"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+ extra_overlay = "buggounder_vass_markings"
+ extra_overlay_w = "buggofatunder_vass_markings"
+
+/datum/sprite_accessory/tail/buggovassfireflywag
+ name = "Bug abdomen, firefly, dc, vass, vwag"
+ desc = ""
+ icon_state = "buggo_vass_s"
+ ani_state = "buggofat_vass_s"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+ extra_overlay = "buggofirefly_vass_markings"
+ extra_overlay_w = "buggofatfirefly_vass_markings"
+
+/datum/sprite_accessory/tail/tail_smooth
+ name = "Smooth Lizard Tail, colorable"
+ desc = ""
+ icon_state = "tail_smooth"
+ ani_state = "tail_smooth_w"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+
+/datum/sprite_accessory/tail/triplekitsune_colorable
+ name = "Kitsune 3 tails, colorable"
+ desc = ""
+ icon_state = "triplekitsune"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+ extra_overlay = "triplekitsune_tips"
+
+/datum/sprite_accessory/tail/ninekitsune_colorable
+ name = "Kitsune 9 tails, colorable"
+ desc = ""
+ icon_state = "ninekitsune"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+ extra_overlay = "ninekitsune-tips"
+
+/datum/sprite_accessory/tail/shadekin_short
+ name = "Shadekin Short Tail, colorable"
+ desc = ""
+ icon_state = "shadekin-short"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+
+/datum/sprite_accessory/tail/wartacosushi_tail //brightened +20RGB from matching roboparts
+ name = "Ward-Takahashi Tail"
+ desc = ""
+ icon_state = "wardtakahashi_vulp"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+
+/datum/sprite_accessory/tail/wartacosushi_tail_dc
+ name = "Ward-Takahashi Tail, dual-color"
+ desc = ""
+ icon_state = "wardtakahashi_vulp_dc"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+ extra_overlay = "wardtakahashi_vulp_dc_mark"
+
+/datum/sprite_accessory/tail/Easterntail
+ name = "Eastern Dragon (Animated)"
+ desc = ""
+ icon_state = "Easterntail"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+ extra_overlay = "EasterntailColorTip"
+ ani_state = "Easterntail_w"
+ extra_overlay_w = "EasterntailColorTip_w"
+
+/datum/sprite_accessory/tail/synthtail_static
+ name = "Synthetic lizard tail"
+ desc = ""
+ icon_state = "synthtail"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+
+/datum/sprite_accessory/tail/synthtail_vwag
+ name = "Synthetic lizard tail (vwag)"
+ desc = ""
+ icon_state = "synthtail"
+ ani_state = "synthtail_w"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+
+/datum/sprite_accessory/tail/Plugtail
+ name = "Synthetic plug tail"
+ desc = ""
+ icon_state = "Plugtail"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+ extra_overlay = "PlugtailMarking"
+ extra_overlay2 = "PlugtailMarking2"
+
+/datum/sprite_accessory/tail/Segmentedtail
+ name = "Segmented tail, animated"
+ desc = ""
+ icon_state = "Segmentedtail"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+ extra_overlay = "Segmentedtailmarking"
+ ani_state = "Segmentedtail_w"
+ extra_overlay_w = "Segmentedtailmarking_w"
+
+/datum/sprite_accessory/tail/Segmentedlights
+ name = "Segmented tail, animated synth"
+ desc = ""
+ icon_state = "Segmentedtail"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+ extra_overlay = "Segmentedlights"
+ ani_state = "Segmentedtail_w"
+ extra_overlay_w = "Segmentedlights_w"
+
+/datum/sprite_accessory/tail/fox_tail
+ name = "Fox tail"
+ desc = ""
+ icon_state = "fox_tail_s"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+
+/datum/sprite_accessory/tail/fox_tail_plain
+ name = "Fox tail"
+ desc = ""
+ icon_state = "fox_tail_plain_s"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+
+/datum/sprite_accessory/tail/fennec_tail
+ name = "Fennec tail"
+ desc = ""
+ icon_state = "fennec_tail_s"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+
+/datum/sprite_accessory/tail/lizard_tail_smooth
+ name = "Lizard Tail (Smooth)"
+ desc = ""
+ icon_state = "lizard_tail_smooth"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+
+/datum/sprite_accessory/tail/lizard_tail_dark_tiger
+ name = "Lizard Tail (Dark Tiger)"
+ desc = ""
+ icon_state = "lizard_tail_dark_tiger"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+
+/datum/sprite_accessory/tail/lizard_tail_light_tiger
+ name = "Lizard Tail (Light Tiger)"
+ desc = ""
+ icon_state = "lizard_tail_light_tiger"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+
+/datum/sprite_accessory/tail/lizard_tail_spiked
+ name = "Lizard Tail (Spiked)"
+ desc = ""
+ icon_state = "lizard_tail_spiked"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+
+/datum/sprite_accessory/tail/xenotail_fullcolour
+ name = "xenomorph tail (fully colourable)"
+ desc = ""
+ icon_state = "xenotail_fullcolour"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+
+/datum/sprite_accessory/tail/xenotailalt_fullcolour
+ name = "xenomorph tail alt. (fully colourable)"
+ desc = ""
+ icon_state = "xenotailalt_fullcolour"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
diff --git a/code/modules/vore/appearance/update_icons_vr.dm b/code/modules/vore/appearance/update_icons_vr.dm
index ee39d02d2d..ab470c6af6 100644
--- a/code/modules/vore/appearance/update_icons_vr.dm
+++ b/code/modules/vore/appearance/update_icons_vr.dm
@@ -5,15 +5,21 @@ var/global/list/wing_icon_cache = list()
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.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)
+
+ if(ear_style.extra_overlay2) //MORE COLOURS IS BETTERER
+ var/icon/overlay = new/icon("icon" = ear_style.icon, "icon_state" = ear_style.extra_overlay2)
+ overlay.Blend(rgb(src.r_ears3, src.g_ears3, src.b_ears3), ear_style.color_blend_mode)
+ ears_s.Blend(overlay, ICON_OVERLAY)
+ qdel(overlay)
return ears_s
return null
-
/mob/living/carbon/human/proc/get_tail_image()
//If you are FBP with tail style and didn't set a custom one
var/datum/robolimb/model = isSynthetic()
@@ -39,6 +45,18 @@ var/global/list/wing_icon_cache = list()
tail_s.Blend(overlay, ICON_OVERLAY)
qdel(overlay)
+ if(tail_style.extra_overlay2)
+ var/icon/overlay = new/icon("icon" = tail_style.icon, "icon_state" = tail_style.extra_overlay2)
+ if(wagging && tail_style.ani_state)
+ overlay = new/icon("icon" = tail_style.icon, "icon_state" = tail_style.extra_overlay2_w)
+ overlay.Blend(rgb(src.r_tail3, src.g_tail3, src.b_tail3), tail_style.color_blend_mode)
+ tail_s.Blend(overlay, ICON_OVERLAY)
+ qdel(overlay)
+ else
+ overlay.Blend(rgb(src.r_tail3, src.g_tail3, src.b_tail3), tail_style.color_blend_mode)
+ tail_s.Blend(overlay, ICON_OVERLAY)
+ qdel(overlay)
+
if(isTaurTail(tail_style))
var/datum/sprite_accessory/tail/taur/taurtype = tail_style
if(taurtype.can_ride && !riding_datum)
@@ -49,3 +67,49 @@ var/global/list/wing_icon_cache = list()
else
return image(tail_s)
return null
+
+/mob/living/carbon/human/proc/get_wing_image()
+ if(QDESTROYING(src))
+ return
+
+ //If you are FBP with wing style and didn't set a custom one
+ if((synthetic && synthetic.includes_wing && !wing_style) && !wings_hidden)
+ var/icon/wing_s = new/icon("icon" = synthetic.icon, "icon_state" = "wing") //I dunno. If synths have some custom wing?
+ wing_s.Blend(rgb(src.r_skin, src.g_skin, src.b_skin), species.color_mult ? ICON_MULTIPLY : ICON_ADD)
+ return image(wing_s)
+
+ //If you have custom wings selected
+ if((wing_style && !(wear_suit && wear_suit.flags_inv & HIDETAIL)) && !wings_hidden)
+ var/icon/wing_s = new/icon("icon" = wing_style.icon, "icon_state" = flapping && wing_style.ani_state ? wing_style.ani_state : wing_style.icon_state)
+ if(wing_style.do_colouration)
+ wing_s.Blend(rgb(src.r_wing, src.g_wing, src.b_wing), wing_style.color_blend_mode)
+ if(wing_style.extra_overlay)
+ var/icon/overlay = new/icon("icon" = wing_style.icon, "icon_state" = wing_style.extra_overlay)
+ overlay.Blend(rgb(src.r_wing2, src.g_wing2, src.b_wing2), wing_style.color_blend_mode)
+ wing_s.Blend(overlay, ICON_OVERLAY)
+ qdel(overlay)
+
+ if(wing_style.extra_overlay2)
+ var/icon/overlay = new/icon("icon" = wing_style.icon, "icon_state" = wing_style.extra_overlay2)
+ if(wing_style.ani_state)
+ overlay = new/icon("icon" = wing_style.icon, "icon_state" = wing_style.extra_overlay2_w)
+ overlay.Blend(rgb(src.r_wing3, src.g_wing3, src.b_wing3), wing_style.color_blend_mode)
+ wing_s.Blend(overlay, ICON_OVERLAY)
+ qdel(overlay)
+ else
+ overlay.Blend(rgb(src.r_wing3, src.g_wing3, src.b_wing3), wing_style.color_blend_mode)
+ wing_s.Blend(overlay, ICON_OVERLAY)
+ qdel(overlay)
+
+ return image(wing_s)
+
+// TODO - Move this to where it should go ~Leshana
+/mob/proc/stop_flying()
+ if(QDESTROYING(src))
+ return
+ flying = FALSE
+ return 1
+
+/mob/living/carbon/human/stop_flying()
+ if((. = ..()))
+ update_wing_showing()
\ No newline at end of file
diff --git a/icons/mob/human_races/markings_vr.dmi b/icons/mob/human_races/markings_vr.dmi
index bf9d7578b5..175e5387c6 100644
Binary files a/icons/mob/human_races/markings_vr.dmi and b/icons/mob/human_races/markings_vr.dmi differ
diff --git a/icons/mob/items/lefthand_guns.dmi b/icons/mob/items/lefthand_guns.dmi
index e6f7078032..82d77e8106 100644
Binary files a/icons/mob/items/lefthand_guns.dmi and b/icons/mob/items/lefthand_guns.dmi differ
diff --git a/icons/mob/items/righthand_guns.dmi b/icons/mob/items/righthand_guns.dmi
index 54dba4f49e..c7fad146ac 100644
Binary files a/icons/mob/items/righthand_guns.dmi and b/icons/mob/items/righthand_guns.dmi differ
diff --git a/icons/mob/monitor_icons_vr.dmi b/icons/mob/monitor_icons_vr.dmi
index 9e48c64a4a..7b291cbcff 100644
Binary files a/icons/mob/monitor_icons_vr.dmi and b/icons/mob/monitor_icons_vr.dmi differ
diff --git a/icons/mob/vore/ears_vr.dmi b/icons/mob/vore/ears_vr.dmi
index 602b3ac809..344da6e557 100644
Binary files a/icons/mob/vore/ears_vr.dmi and b/icons/mob/vore/ears_vr.dmi differ
diff --git a/icons/mob/vore/tails_vr.dmi b/icons/mob/vore/tails_vr.dmi
index 79c188a2d2..eab6611c9c 100644
Binary files a/icons/mob/vore/tails_vr.dmi and b/icons/mob/vore/tails_vr.dmi differ
diff --git a/icons/mob/vore/wings_vr.dmi b/icons/mob/vore/wings_vr.dmi
index 41b6dcf607..40f5f02d92 100644
Binary files a/icons/mob/vore/wings_vr.dmi and b/icons/mob/vore/wings_vr.dmi differ
diff --git a/vorestation.dme b/vorestation.dme
index b82fdfa34b..f606dd2f26 100644
--- a/vorestation.dme
+++ b/vorestation.dme
@@ -2732,7 +2732,6 @@
#include "code\modules\mob\living\carbon\human\stripping.dm"
#include "code\modules\mob\living\carbon\human\unarmed_attack.dm"
#include "code\modules\mob\living\carbon\human\update_icons.dm"
-#include "code\modules\mob\living\carbon\human\update_icons_vr.dm"
#include "code\modules\mob\living\carbon\human\ai_controlled\ai_controlled.dm"
#include "code\modules\mob\living\carbon\human\descriptors\_descriptors.dm"
#include "code\modules\mob\living\carbon\human\descriptors\descriptors_generic.dm"