mirror of
https://github.com/VOREStation/VOREStation.git
synced 2026-07-20 19:44:46 +01:00
Converts colorable species into the combo blend mode.
-Unathi, Tajaran, Skrell, and Teshari now use mult+add combo blending. -As do their tails, tail anims, and extra tesh feathers. -No issues detected on latest test runs.
This commit is contained in:
@@ -11,6 +11,7 @@
|
||||
|
||||
// Icon/appearance vars.
|
||||
var/icobase = 'icons/mob/human_races/r_human.dmi' // Normal icon set.
|
||||
var/icobase_add // Icon set for highlight blends when applicable.
|
||||
var/deform = 'icons/mob/human_races/r_def_human.dmi' // Mutated icon set.
|
||||
|
||||
var/speech_bubble_appearance = "normal" // Part of icon_state to use for speech bubbles when talking. See talk.dmi for available icons.
|
||||
@@ -28,6 +29,7 @@
|
||||
|
||||
var/tail // Name of tail state in species effects icon file.
|
||||
var/tail_animation // If set, the icon to obtain tail animation states from.
|
||||
var/tail_animation_add // Highlight overlay for tail.
|
||||
var/tail_hair
|
||||
|
||||
var/race_key = 0 // Used for mob icon cache string.
|
||||
|
||||
@@ -10,6 +10,9 @@
|
||||
/datum/species/proc/get_tail_animation(var/mob/living/carbon/human/H)
|
||||
return tail_animation
|
||||
|
||||
/datum/species/proc/get_tail_animation_a(var/mob/living/carbon/human/H)
|
||||
return tail_animation_add
|
||||
|
||||
/datum/species/proc/get_tail_hair(var/mob/living/carbon/human/H)
|
||||
return tail_hair
|
||||
|
||||
@@ -28,6 +31,9 @@
|
||||
/datum/species/proc/get_icobase(var/mob/living/carbon/human/H, var/get_deform)
|
||||
return (get_deform ? deform : icobase)
|
||||
|
||||
/datum/species/proc/get_icobase_a(var/mob/living/carbon/human/H)
|
||||
return icobase_add
|
||||
|
||||
/datum/species/proc/get_station_variant()
|
||||
return name
|
||||
|
||||
|
||||
@@ -26,7 +26,8 @@
|
||||
tail_hair = "feathers"
|
||||
reagent_tag = IS_TESHARI
|
||||
|
||||
icobase = 'icons/mob/human_races/r_seromi.dmi'
|
||||
icobase = 'icons/mob/human_races/r_seromi_m.dmi'
|
||||
icobase_add = 'icons/mob/human_races/r_seromi_a.dmi'
|
||||
deform = 'icons/mob/human_races/r_seromi.dmi'
|
||||
damage_overlays = 'icons/mob/human_races/masks/dam_seromi.dmi'
|
||||
damage_mask = 'icons/mob/human_races/masks/dam_mask_seromi.dmi'
|
||||
|
||||
@@ -25,10 +25,12 @@
|
||||
/datum/species/unathi
|
||||
name = "Unathi"
|
||||
name_plural = "Unathi"
|
||||
icobase = 'icons/mob/human_races/r_lizard.dmi'
|
||||
icobase = 'icons/mob/human_races/r_lizard_m.dmi'
|
||||
icobase_add = 'icons/mob/human_races/r_lizard_a.dmi'
|
||||
deform = 'icons/mob/human_races/r_def_lizard.dmi'
|
||||
tail = "sogtail"
|
||||
tail_animation = 'icons/mob/species/unathi/tail.dmi'
|
||||
tail_animation = 'icons/mob/species/unathi/tail_m.dmi'
|
||||
tail_animation_add = 'icons/mob/species/unathi/tail_a.dmi'
|
||||
unarmed_types = list(/datum/unarmed_attack/stomp, /datum/unarmed_attack/kick, /datum/unarmed_attack/claws, /datum/unarmed_attack/bite/sharp)
|
||||
primitive_form = "Stok"
|
||||
darksight = 3
|
||||
@@ -128,10 +130,12 @@
|
||||
/datum/species/tajaran
|
||||
name = "Tajara"
|
||||
name_plural = "Tajaran"
|
||||
icobase = 'icons/mob/human_races/r_tajaran.dmi'
|
||||
icobase = 'icons/mob/human_races/r_tajaran_m.dmi'
|
||||
icobase_add = 'icons/mob/human_races/r_tajaran_a.dmi'
|
||||
deform = 'icons/mob/human_races/r_def_tajaran.dmi'
|
||||
tail = "tajtail"
|
||||
tail_animation = 'icons/mob/species/tajaran/tail.dmi'
|
||||
tail_animation = 'icons/mob/species/tajaran/tail_m.dmi'
|
||||
tail_animation_add = 'icons/mob/species/tajaran/tail_a.dmi'
|
||||
unarmed_types = list(/datum/unarmed_attack/stomp, /datum/unarmed_attack/kick, /datum/unarmed_attack/claws, /datum/unarmed_attack/bite/sharp)
|
||||
darksight = 8
|
||||
slowdown = -0.5
|
||||
@@ -209,7 +213,8 @@
|
||||
/datum/species/skrell
|
||||
name = "Skrell"
|
||||
name_plural = "Skrell"
|
||||
icobase = 'icons/mob/human_races/r_skrell.dmi'
|
||||
icobase = 'icons/mob/human_races/r_skrell_m.dmi'
|
||||
icobase_add = 'icons/mob/human_races/r_skrell_a.dmi'
|
||||
deform = 'icons/mob/human_races/r_def_skrell.dmi'
|
||||
primitive_form = "Neaera"
|
||||
unarmed_types = list(/datum/unarmed_attack/punch)
|
||||
|
||||
@@ -1041,14 +1041,22 @@ var/global/list/damage_icon_parts = list()
|
||||
if(!tail_icon)
|
||||
//generate a new one
|
||||
var/species_tail_anim = species.get_tail_animation(src)
|
||||
if(!species_tail_anim) species_tail_anim = 'icons/effects/species.dmi'
|
||||
var/species_tail_anim_a = species.get_tail_animation_a(src)
|
||||
if(!species_tail_anim)
|
||||
species_tail_anim = 'icons/effects/species.dmi'
|
||||
if(!species_tail_anim_a)
|
||||
species_tail_anim_a = 'icons/effects/species_a.dmi'
|
||||
tail_icon = new/icon(species_tail_anim)
|
||||
tail_icon.Blend(rgb(r_skin, g_skin, b_skin), ICON_ADD)
|
||||
var/tail_icon_a = new/icon(species_tail_anim_a)
|
||||
tail_icon.Blend(rgb(r_skin, g_skin, b_skin), ICON_MULTIPLY)
|
||||
tail_icon.Blend(tail_icon_a, ICON_ADD)
|
||||
// The following will not work with animated tails.
|
||||
var/use_species_tail = species.get_tail_hair(src)
|
||||
if(use_species_tail)
|
||||
var/icon/hair_icon = icon('icons/effects/species.dmi', "[species.get_tail(src)]_[use_species_tail]")
|
||||
hair_icon.Blend(rgb(r_hair, g_hair, b_hair), ICON_ADD)
|
||||
var/icon/hair_icon_a = icon('icons/effects/species_a.dmi', "[species.get_tail(src)]_[use_species_tail]")
|
||||
hair_icon.Blend(rgb(r_hair, g_hair, b_hair), ICON_MULTIPLY)
|
||||
hair_icon.Blend(hair_icon_a, ICON_ADD)
|
||||
tail_icon.Blend(hair_icon, ICON_OVERLAY)
|
||||
tail_icon_cache[icon_key] = tail_icon
|
||||
|
||||
|
||||
@@ -145,7 +145,9 @@ var/global/list/limb_icon_cache = list()
|
||||
var/cache_key = "[body_hair]-[icon_name]-[h_col[1]][h_col[2]][h_col[3]]"
|
||||
if(!limb_icon_cache[cache_key])
|
||||
var/icon/I = icon(species.get_icobase(owner), "[icon_name]_[body_hair]")
|
||||
I.Blend(rgb(h_col[1],h_col[2],h_col[3]), ICON_ADD)
|
||||
var/icon/IA = icon(species.get_icobase_a(owner), "[icon_name]_[body_hair]")
|
||||
I.Blend(rgb(h_col[1],h_col[2],h_col[3]), ICON_MULTIPLY)
|
||||
I.Blend(IA, ICON_ADD)
|
||||
limb_icon_cache[cache_key] = I
|
||||
mob_icon.Blend(limb_icon_cache[cache_key], ICON_OVERLAY)
|
||||
|
||||
@@ -161,10 +163,7 @@ var/global/list/limb_icon_cache = list()
|
||||
|
||||
if(nonsolid)
|
||||
applying.MapColors("#4D4D4D","#969696","#1C1C1C", "#000000")
|
||||
if(species && species.get_bodytype(owner) != "Human")
|
||||
applying.SetIntensity(1.5) // Unathi, Taj and Skrell have -very- dark base icons.
|
||||
else
|
||||
applying.SetIntensity(0.7)
|
||||
applying.SetIntensity(0.7)
|
||||
|
||||
else if(status & ORGAN_DEAD)
|
||||
icon_cache_key += "_dead"
|
||||
@@ -178,7 +177,12 @@ var/global/list/limb_icon_cache = list()
|
||||
applying.Blend(rgb(-s_tone, -s_tone, -s_tone), ICON_SUBTRACT)
|
||||
icon_cache_key += "_tone_[s_tone]"
|
||||
else if(s_col && s_col.len >= 3)
|
||||
applying.Blend(rgb(s_col[1], s_col[2], s_col[3]), ICON_ADD)
|
||||
applying.Blend(rgb(s_col[1], s_col[2], s_col[3]), ICON_MULTIPLY)
|
||||
var/gender = "f"
|
||||
if(owner && owner.gender == MALE)
|
||||
gender = "m"
|
||||
var/icon_a = new /icon(species.get_icobase_a(owner), "[icon_name][gendered_icon ? "_[gender]" : ""]")
|
||||
applying.Blend(icon_a, ICON_ADD)
|
||||
icon_cache_key += "_color_[s_col[1]]_[s_col[2]]_[s_col[3]]"
|
||||
|
||||
// Translucency.
|
||||
|
||||
Reference in New Issue
Block a user