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
This commit is contained in:
KasparoVy
2020-11-21 14:57:44 -05:00
parent 57315d8913
commit b062575363
14 changed files with 494 additions and 53 deletions
@@ -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)