diff --git a/code/modules/mob/living/carbon/species.dm b/code/modules/mob/living/carbon/species.dm index 4204810e051d..23cbb97b0db5 100644 --- a/code/modules/mob/living/carbon/species.dm +++ b/code/modules/mob/living/carbon/species.dm @@ -158,6 +158,8 @@ var/global/list/playable_species = list("Human") var/datum/speech_filter/speech_filter + var/list/damage_overlays = list("brute", "burn") //What damage overlays will be rendered on the species when harmed + /datum/species/New() ..() if(all_species[name]) @@ -457,6 +459,7 @@ var/global/list/playable_species = list("Human") You have no skin, no blood, no lips, and only just enough brain to function.
\ You can not eat normally, as your necrotic state only permits you to only eat raw flesh. As you lack skin, you can not be injected via syringe.
\ You are also incredibly weak to brute damage, but you're fast and don't need to breathe, so that's going for you." + damage_overlays = list() /datum/species/skellington/conditional_playable() var/MM = text2num(time2text(world.timeofday, "MM")) @@ -1272,6 +1275,7 @@ var/list/has_died_as_golem = list() A more refined version of the skellington, you're not as brittle, but not quite as fast.
\ You have no skin, no blood, and only a brain to guide you.
\ You can not eat normally, as your necrotic state permits you to only eat raw flesh. As you lack skin, you can not be injected via syringe." + damage_overlays = list() /datum/species/lich/gib(mob/living/carbon/human/H) ..() diff --git a/code/modules/organs/organ_external.dm b/code/modules/organs/organ_external.dm index c72089c8a74e..b77e33523cd9 100644 --- a/code/modules/organs/organ_external.dm +++ b/code/modules/organs/organ_external.dm @@ -721,7 +721,11 @@ Note that amputating the affected organ does in fact remove the infection from t var/tburn = 0 var/tbrute = 0 - if(burn_dam == 0) + var/datum/species/species = src.species || owner.species + + if(species && !species.damage_overlays.Find("burn")) //Species has disabled burn damaged overlays + tburn = 0 + else if((burn_dam == 0)) tburn = 0 else if(burn_dam < (max_damage * 0.25 / 2)) tburn = 1 @@ -730,7 +734,9 @@ Note that amputating the affected organ does in fact remove the infection from t else tburn = 3 - if(brute_dam == 0) + if(species && !species.damage_overlays.Find("brute")) //Species has disabled brute damage overlays + tbrute = 0 + else if(brute_dam == 0) tbrute = 0 else if(brute_dam < (max_damage * 0.25 / 2)) tbrute = 1