Ports Cool Stuff from Bastion of Hestia/Vesta
Fully implements DNA-integrated secondary & tertiary colouration for ears, wings and tails. Adds some new ears, wings, tails and markings from Hestia. Everything working in mint condition EVERYTHING
@@ -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:
|
||||
@@ -225,6 +234,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)
|
||||
@@ -233,6 +246,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)
|
||||
@@ -241,6 +258,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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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: <a href='?src=\ref[src];ear_style=1'>[ear_display]</a><br>"
|
||||
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)
|
||||
. += "<a href='?src=\ref[src];ear_color=1'>Change Color</a> [color_square(pref.r_ears, pref.g_ears, pref.b_ears)]<br>"
|
||||
if (ear.extra_overlay)
|
||||
if(ear.extra_overlay)
|
||||
. += "<a href='?src=\ref[src];ear_color2=1'>Change Secondary Color</a> [color_square(pref.r_ears2, pref.g_ears2, pref.b_ears2)]<br>"
|
||||
if(ear.extra_overlay2)
|
||||
. += "<a href='?src=\ref[src];ear_color3=1'>Change Tertiary Color</a> [color_square(pref.r_ears3, pref.g_ears3, pref.b_ears3)]<br>"
|
||||
|
||||
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)
|
||||
. += "<a href='?src=\ref[src];tail_color=1'>Change Color</a> [color_square(pref.r_tail, pref.g_tail, pref.b_tail)]<br>"
|
||||
if (T.extra_overlay)
|
||||
if(T.extra_overlay)
|
||||
. += "<a href='?src=\ref[src];tail_color2=1'>Change Secondary Color</a> [color_square(pref.r_tail2, pref.g_tail2, pref.b_tail2)]<br>"
|
||||
if(T.extra_overlay2)
|
||||
. += "<a href='?src=\ref[src];tail_color3=1'>Change Tertiary Color</a> [color_square(pref.r_tail3, pref.g_tail3, pref.b_tail3)]<br>"
|
||||
|
||||
var/wing_display = "Normal"
|
||||
if(pref.wing_style && (pref.wing_style in wing_styles_list))
|
||||
@@ -189,6 +239,8 @@
|
||||
. += "<a href='?src=\ref[src];wing_color=1'>Change Color</a> [color_square(pref.r_wing, pref.g_wing, pref.b_wing)]<br>"
|
||||
if (W.extra_overlay)
|
||||
. += "<a href='?src=\ref[src];wing_color2=1'>Change Secondary Color</a> [color_square(pref.r_wing2, pref.g_wing2, pref.b_wing2)]<br>"
|
||||
if (W.extra_overlay2)
|
||||
. += "<a href='?src=\ref[src];wing_color3=1'>Change Secondary Color</a> [color_square(pref.r_wing3, pref.g_wing3, pref.b_wing3)]<br>"
|
||||
|
||||
/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 ..()
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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()
|
||||
@@ -1274,3 +1274,69 @@
|
||||
color_blend_mode = ICON_MULTIPLY
|
||||
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)
|
||||
|
||||
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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -28,6 +28,7 @@
|
||||
|
||||
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
|
||||
@@ -608,6 +609,30 @@
|
||||
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
|
||||
|
||||
/*
|
||||
////////////////////////////
|
||||
/ =--------------------= /
|
||||
@@ -622,11 +647,13 @@
|
||||
|
||||
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)"
|
||||
@@ -709,6 +736,47 @@
|
||||
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 = ""
|
||||
@@ -793,6 +861,14 @@
|
||||
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"
|
||||
|
||||
/*
|
||||
////////////////////////////
|
||||
/ =--------------------= /
|
||||
@@ -807,11 +883,13 @@
|
||||
|
||||
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.
|
||||
@@ -1810,3 +1888,119 @@
|
||||
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/xenotail_fullcolour
|
||||
name = "xenomorph tail alt. (fully colourable)"
|
||||
desc = ""
|
||||
icon_state = "xenotailalt_fullcolour"
|
||||
do_colouration = 1
|
||||
color_blend_mode = ICON_MULTIPLY
|
||||
|
||||
@@ -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()
|
||||
|
Before Width: | Height: | Size: 76 KiB After Width: | Height: | Size: 81 KiB |
|
Before Width: | Height: | Size: 26 KiB After Width: | Height: | Size: 26 KiB |
|
Before Width: | Height: | Size: 106 KiB After Width: | Height: | Size: 140 KiB |
|
Before Width: | Height: | Size: 30 KiB After Width: | Height: | Size: 36 KiB |
@@ -2585,7 +2585,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"
|
||||
|
||||