Blushing matches blood color (#95074)

## About The Pull Request

Blushing's color is generated from blood color, so lizards have green
blushing and whatnot.

<img width="102" height="90" alt="image"
src="https://github.com/user-attachments/assets/b206b29c-f8a8-4dc4-b091-8d7e8f080fc3"
/>

## Why It's Good For The Game

Blushing is when you get more blood in yo face so it wouldn't make sense
to be red(pink) for people without red blood.

## Changelog

🆑 Melbert
qol: Blushing matches blood color, so lizards blush greeeen.
/🆑
This commit is contained in:
MrMelbert
2026-02-03 22:16:42 -05:00
committed by GitHub
parent 7b94767029
commit eac6fe56a2
4 changed files with 14 additions and 3 deletions
@@ -63,6 +63,19 @@
offset_key = OFFSET_FACE
attached_body_zone = BODY_ZONE_HEAD
/datum/bodypart_overlay/simple/emote/blush/color_image(image/overlay, layer, obj/item/bodypart/limb)
var/base_color = limb.owner?.get_bloodtype()?.get_damage_color()
if(!base_color)
return ..()
var/list/blood_hsl = rgb2num(base_color, COLORSPACE_HSL)
// take blood color then just make it a lot brighter and desaturate it a bit
blood_hsl[2] = max(0, blood_hsl[2] - 20)
blood_hsl[3] = min(100, blood_hsl[3] + 30)
overlay.color = rgb(blood_hsl[1], blood_hsl[2], blood_hsl[3], space = COLORSPACE_HSL)
overlay.alpha = 200
/datum/bodypart_overlay/simple/emote/cry
icon_state = "tears"
draw_color = COLOR_DARK_CYAN
+1
View File
@@ -349,6 +349,7 @@
// Ensures that lighter slimefolk look half-decent when wounded and bleeding
/datum/blood_type/slime/get_wound_color(mob/living/carbon/victim)
return victim.dna?.features?[FEATURE_MUTANT_COLOR] || get_color()
/datum/blood_type/slime/get_damage_color(mob/living/carbon/victim)
return victim.dna?.features?[FEATURE_MUTANT_COLOR] || get_color()
@@ -295,7 +295,6 @@
continue
if(isnull(damage_overlay) && (iter_part.brutestate || iter_part.burnstate))
damage_overlay = mutable_appearance('icons/mob/effects/dam_mob.dmi', "blank", -DAMAGE_LAYER, appearance_flags = KEEP_TOGETHER)
damage_overlay.color = iter_part.damage_overlay_color
if(iter_part.brutestate)
var/mutable_appearance/blood_damage_overlay = mutable_appearance('icons/mob/effects/dam_mob.dmi', "[iter_part.dmg_overlay_type]_[iter_part.body_zone]_[iter_part.brutestate]0", appearance_flags = RESET_COLOR) //we're adding icon_states of the base image as overlays
blood_damage_overlay.color = get_bloodtype()?.get_damage_color(src)
@@ -116,8 +116,6 @@
///the type of damage overlay (if any) to use when this bodypart is bruised/burned.
var/dmg_overlay_type = "human"
///a color (optionally matrix) for the damage overlays to give the limb
var/damage_overlay_color
/// If we're bleeding, which icon are we displaying on this part
var/bleed_overlay_icon