diff --git a/code/__DEFINES/misc_defines.dm b/code/__DEFINES/misc_defines.dm index 27c6936d320..981e32ca4b5 100644 --- a/code/__DEFINES/misc_defines.dm +++ b/code/__DEFINES/misc_defines.dm @@ -182,22 +182,26 @@ #define FOAM_REACT_BEFORE_SPREAD (1<<3) //Human Overlays Indexes///////// -#define EYES_OVERLAY_LAYER 44 -#define WING_LAYER 43 -#define WING_UNDERLIMBS_LAYER 42 -#define MUTANTRACE_LAYER 41 -#define TAIL_UNDERLIMBS_LAYER 40 //Tail split-rendering. -#define LIMBS_LAYER 39 -#define MARKINGS_LAYER 38 -#define INTORGAN_LAYER 37 -#define UNDERWEAR_LAYER 36 -#define MUTATIONS_LAYER 35 -#define H_DAMAGE_LAYER 34 -#define UNIFORM_LAYER 33 -#define ID_LAYER 32 -#define HANDS_LAYER 31 //Exists to overlay hands over jumpsuits -#define SHOES_LAYER 30 -#define GLOVES_LAYER 29 +#define EYES_OVERLAY_LAYER 47 +#define WING_LAYER 46 +#define WING_UNDERLIMBS_LAYER 45 +#define MUTANTRACE_LAYER 44 +#define TAIL_UNDERLIMBS_LAYER 43 //Tail split-rendering. +#define LIMBS_LAYER 42 +#define MARKINGS_LAYER 41 +#define INTORGAN_LAYER 40 +#define UNDERWEAR_LAYER 39 +#define MUTATIONS_LAYER 38 +#define H_DAMAGE_LAYER 37 +#define UNIFORM_LAYER 36 +#define ID_LAYER 35 +#define HANDS_LAYER 34 //Exists to overlay hands over jumpsuits +#define SHOES_LAYER 33 +#define L_FOOT_BLOOD_LAYER 33 // Blood overlay separation Left-Foot +#define R_FOOT_BLOOD_LAYER 32 // Blood overlay separation Right-Foot +#define GLOVES_LAYER 31 +#define L_HAND_BLOOD_LAYER 30 // Blood overlay separation Left-Hand +#define R_HAND_BLOOD_LAYER 29 // Blood overlay separation Right-Hand #define LEFT_EAR_LAYER 28 #define RIGHT_EAR_LAYER 27 #define BELT_LAYER 26 //Possible make this an overlay of something required to wear a belt? @@ -226,7 +230,7 @@ #define FIRE_LAYER 3 //If you're on fire #define MISC_LAYER 2 #define FROZEN_LAYER 1 -#define TOTAL_LAYERS 44 +#define TOTAL_LAYERS 47 ///Access Region Codes/// #define REGION_ALL 0 diff --git a/code/modules/mob/living/carbon/human/human_update_icons.dm b/code/modules/mob/living/carbon/human/human_update_icons.dm index 0cddc0d7a2d..223db9d026e 100644 --- a/code/modules/mob/living/carbon/human/human_update_icons.dm +++ b/code/modules/mob/living/carbon/human/human_update_icons.dm @@ -658,6 +658,8 @@ GLOBAL_LIST_EMPTY(damage_icon_parts) /mob/living/carbon/human/update_inv_gloves() remove_overlay(GLOVES_LAYER) + remove_overlay(L_HAND_BLOOD_LAYER) + remove_overlay(R_HAND_BLOOD_LAYER) if(client && hud_used) var/atom/movable/screen/inventory/inv = hud_used.inv_slots[SLOT_HUD_GLOVES] if(inv) @@ -677,17 +679,24 @@ GLOBAL_LIST_EMPTY(damage_icon_parts) else standing = mutable_appearance('icons/mob/clothing/hands.dmi', "[t_state]", layer = -GLOVES_LAYER) - if(gloves.blood_DNA) + if(gloves.blood_DNA) // No need to check for hands here because we won't have gloves on. var/image/bloodsies = image("icon" = dna.species.blood_mask, "icon_state" = "bloodyhands") bloodsies.color = gloves.blood_color standing.overlays += bloodsies overlays_standing[GLOVES_LAYER] = standing else - if(blood_DNA) - var/mutable_appearance/bloodsies = mutable_appearance(dna.species.blood_mask, "bloodyhands", layer = -GLOVES_LAYER) - bloodsies.color = hand_blood_color - overlays_standing[GLOVES_LAYER] = bloodsies + if(blood_DNA) // Checks for hands to make sure we don't get mysterious floating blood. + if(get_organ("l_hand")) + var/mutable_appearance/bloodsies_left = mutable_appearance(dna.species.blood_mask, "bloodyhand_left", layer = -L_HAND_BLOOD_LAYER) + bloodsies_left.color = feet_blood_color + overlays_standing[L_HAND_BLOOD_LAYER] = bloodsies_left + if(get_organ("r_hand")) + var/mutable_appearance/bloodsies_right = mutable_appearance(dna.species.blood_mask, "bloodyhand_right", layer = -R_HAND_BLOOD_LAYER) + bloodsies_right.color = feet_blood_color + overlays_standing[R_HAND_BLOOD_LAYER] = bloodsies_right apply_overlay(GLOVES_LAYER) + apply_overlay(L_HAND_BLOOD_LAYER) + apply_overlay(R_HAND_BLOOD_LAYER) /mob/living/carbon/human/update_inv_glasses() @@ -771,6 +780,8 @@ GLOBAL_LIST_EMPTY(damage_icon_parts) /mob/living/carbon/human/update_inv_shoes() remove_overlay(SHOES_LAYER) + remove_overlay(L_FOOT_BLOOD_LAYER) + remove_overlay(R_FOOT_BLOOD_LAYER) if(client && hud_used) var/atom/movable/screen/inventory/inv = hud_used.inv_slots[SLOT_HUD_SHOES] if(inv) @@ -788,7 +799,7 @@ GLOBAL_LIST_EMPTY(damage_icon_parts) else standing = mutable_appearance('icons/mob/clothing/feet.dmi', "[shoes.icon_state]", layer = -SHOES_LAYER) - if(shoes.blood_DNA) + if(shoes.blood_DNA) // No need to check for feet here since you need feet to wear shoes. var/image/bloodsies = image("icon" = dna.species.blood_mask, "icon_state" = "shoeblood") bloodsies.color = shoes.blood_color standing.overlays += bloodsies @@ -796,11 +807,18 @@ GLOBAL_LIST_EMPTY(damage_icon_parts) standing.color = shoes.color overlays_standing[SHOES_LAYER] = standing else - if(feet_blood_DNA) - var/mutable_appearance/bloodsies = mutable_appearance(dna.species.blood_mask, "shoeblood", layer = -SHOES_LAYER) - bloodsies.color = feet_blood_color - overlays_standing[SHOES_LAYER] = bloodsies + if(feet_blood_DNA) // Checks for feet to make sure we don't have mysterious floating blood. + if(get_organ("l_foot")) + var/mutable_appearance/bloodsies_left = mutable_appearance(dna.species.blood_mask, "shoeblood_left", layer = -L_FOOT_BLOOD_LAYER) + bloodsies_left.color = feet_blood_color + overlays_standing[L_FOOT_BLOOD_LAYER] = bloodsies_left + if(get_organ("r_foot")) + var/mutable_appearance/bloodsies_right = mutable_appearance(dna.species.blood_mask, "shoeblood_right", layer = -R_FOOT_BLOOD_LAYER) + bloodsies_right.color = feet_blood_color + overlays_standing[R_FOOT_BLOOD_LAYER] = bloodsies_right apply_overlay(SHOES_LAYER) + apply_overlay(L_FOOT_BLOOD_LAYER) + apply_overlay(R_FOOT_BLOOD_LAYER) /mob/living/carbon/human/update_inv_s_store() remove_overlay(SUIT_STORE_LAYER) diff --git a/icons/mob/human_races/masks/blood_human.dmi b/icons/mob/human_races/masks/blood_human.dmi index 11581736e09..56482b57051 100644 Binary files a/icons/mob/human_races/masks/blood_human.dmi and b/icons/mob/human_races/masks/blood_human.dmi differ diff --git a/icons/mob/human_races/masks/blood_monkey.dmi b/icons/mob/human_races/masks/blood_monkey.dmi index 6ff841a658a..400bb1ddd3f 100644 Binary files a/icons/mob/human_races/masks/blood_monkey.dmi and b/icons/mob/human_races/masks/blood_monkey.dmi differ diff --git a/paradise.dme b/paradise.dme index 16bb90769c3..9551d1dcd26 100644 --- a/paradise.dme +++ b/paradise.dme @@ -436,9 +436,9 @@ #include "code\datums\components\swarming.dm" #include "code\datums\components\tilted.dm" #include "code\datums\components\two_handed.dm" +#include "code\datums\components\zombie_regen.dm" #include "code\datums\components\riding\riding.dm" #include "code\datums\components\riding\riding_vehicle.dm" -#include "code\datums\components\zombie_regen.dm" #include "code\datums\discord\discord_manager.dm" #include "code\datums\discord\discord_webhook.dm" #include "code\datums\diseases\_disease.dm" @@ -2320,12 +2320,12 @@ #include "code\modules\mob\living\simple_animal\friendly\friendly_emote.dm" #include "code\modules\mob\living\simple_animal\friendly\lizard.dm" #include "code\modules\mob\living\simple_animal\friendly\mouse.dm" +#include "code\modules\mob\living\simple_animal\friendly\nian_caterpillar.dm" #include "code\modules\mob\living\simple_animal\friendly\penguin.dm" #include "code\modules\mob\living\simple_animal\friendly\pet.dm" #include "code\modules\mob\living\simple_animal\friendly\sloth.dm" #include "code\modules\mob\living\simple_animal\friendly\snake.dm" #include "code\modules\mob\living\simple_animal\friendly\spiderbot.dm" -#include "code\modules\mob\living\simple_animal\friendly\nian_caterpillar.dm" #include "code\modules\mob\living\simple_animal\hostile\alien_types.dm" #include "code\modules\mob\living\simple_animal\hostile\angel_statue.dm" #include "code\modules\mob\living\simple_animal\hostile\bat.dm"