Flesh to stone no longer makes you immune to bleeding, refactors bleedsuppress into a trait (#56078)

Being hit by the Flesh to Stone makes you bleed immune to prevent you from getting petrified while bleeding, and bleeding out while turned into stone. However, it doesn't make you vulnerable when you get unpetrified. This is a bug. This also makes bleedsuppress into a trait, as both is broken and should be a trait.
This commit is contained in:
Coffee
2021-01-11 14:59:48 -03:00
committed by GitHub
parent 7a0611c61d
commit 653d75e429
10 changed files with 13 additions and 11 deletions
+1 -1
View File
@@ -7,7 +7,7 @@
// Takes care blood loss and regeneration
/mob/living/carbon/human/handle_blood()
if(NOBLOOD in dna.species.species_traits || bleedsuppress || (HAS_TRAIT(src, TRAIT_FAKEDEATH)))
if(NOBLOOD in dna.species.species_traits || HAS_TRAIT(src, TRAIT_NOBLEED) || (HAS_TRAIT(src, TRAIT_FAKEDEATH)))
return
if(bodytemperature >= TCRYO && !(HAS_TRAIT(src, TRAIT_HUSK))) //cryosleep or husked people do not pump the blood.
@@ -245,9 +245,7 @@
if(-INFINITY to BLOOD_VOLUME_BAD)
msg += "<span class='deadsay'><b>[t_He] resemble[p_s()] a crushed, empty juice pouch.</b></span>\n"
if(bleedsuppress)
msg += "[t_He] [t_is] embued with a power that defies bleeding.\n" // only statues and highlander sword can cause this so whatever
else if(is_bleeding())
if(is_bleeding())
var/list/obj/item/bodypart/bleeding_limbs = list()
var/list/obj/item/bodypart/grasped_limbs = list()
@@ -1138,7 +1138,7 @@
return ..()
/mob/living/carbon/human/is_bleeding()
if(NOBLOOD in dna.species.species_traits || bleedsuppress)
if(NOBLOOD in dna.species.species_traits)
return FALSE
return ..()
@@ -51,8 +51,6 @@
var/special_voice = "" // For changing our voice. Used by a symptom.
var/bleedsuppress = 0 //for stopping bloodloss, eventually this will be limb-based like bleeding
var/name_override //For temporary visible name changes
var/datum/physiology/physiology
+1 -1
View File
@@ -800,7 +800,7 @@
TH.transfer_mob_blood_dna(src)
/mob/living/carbon/human/makeTrail(turf/T)
if((NOBLOOD in dna.species.species_traits) || !is_bleeding() || bleedsuppress)
if((NOBLOOD in dna.species.species_traits) || !is_bleeding() || HAS_TRAIT(src, TRAIT_NOBLEED))
return
..()