diff --git a/code/__DEFINES/wounds.dm b/code/__DEFINES/wounds.dm index eb59c337e7..a5f0aff489 100644 --- a/code/__DEFINES/wounds.dm +++ b/code/__DEFINES/wounds.dm @@ -126,6 +126,8 @@ GLOBAL_LIST_INIT(global_all_wound_types, list(/datum/wound/blunt/critical, /datu #define ACCEPTS_GAUZE (1<<4) /// If this wound marks the limb as being allowed to have splints applied #define ACCEPTS_SPLINT (1<<5) +/// PENTEST ADDITION: If this wound requires humanoids to NOT have the NOBLOOD species trait +#define BLEED_WOUND (1<<6) /// When a wound is staining the gauze with blood #define GAUZE_STAIN_BLOOD 1 diff --git a/code/datums/wounds/_wounds.dm b/code/datums/wounds/_wounds.dm index 9a3f37015c..78c6ffd731 100644 --- a/code/datums/wounds/_wounds.dm +++ b/code/datums/wounds/_wounds.dm @@ -115,7 +115,7 @@ if(ishuman(L.owner)) var/mob/living/carbon/human/H = L.owner - if(((wound_flags & BONE_WOUND) && !(HAS_BONE in H.dna.species.species_traits)) || ((wound_flags & FLESH_WOUND) && !(HAS_FLESH in H.dna.species.species_traits))) + if(((wound_flags & BONE_WOUND) && !(HAS_BONE in H.dna.species.species_traits)) || ((wound_flags & FLESH_WOUND) && !(HAS_FLESH in H.dna.species.species_traits)) || ((wound_flags & BLEED_WOUND) && (NOBLOOD in H.dna.species.species_traits))) // PENTEST ADDITION: add check for BLEED_WOUND flag qdel(src) return diff --git a/code/datums/wounds/pierce.dm b/code/datums/wounds/pierce.dm index cc607e3a6c..437e50fe03 100644 --- a/code/datums/wounds/pierce.dm +++ b/code/datums/wounds/pierce.dm @@ -10,7 +10,7 @@ treatable_by = list(/obj/item/stack/medical/suture) treatable_tool = TOOL_CAUTERY base_treat_time = 3 SECONDS - wound_flags = (FLESH_WOUND | ACCEPTS_GAUZE | ACCEPTS_SPLINT) + wound_flags = (FLESH_WOUND | ACCEPTS_GAUZE | ACCEPTS_SPLINT | BLEED_WOUND) // PENTEST ADDITION: BLEED_WOUND flag /// How much blood we start losing when this wound is first applied var/initial_flow @@ -212,4 +212,4 @@ threshold_minimum = 115 threshold_penalty = 50 status_effect_type = /datum/status_effect/wound/pierce/critical - wound_flags = (FLESH_WOUND | ACCEPTS_GAUZE | ACCEPTS_SPLINT | MANGLES_FLESH) + wound_flags = (FLESH_WOUND | ACCEPTS_GAUZE | ACCEPTS_SPLINT | MANGLES_FLESH | BLEED_WOUND) // PENTEST ADDITION: BLEED_WOUND flag diff --git a/code/datums/wounds/slash.dm b/code/datums/wounds/slash.dm index 7648ff0788..e8a11351b1 100644 --- a/code/datums/wounds/slash.dm +++ b/code/datums/wounds/slash.dm @@ -11,7 +11,7 @@ treatable_by_grabbed = list(/obj/item/gun/energy/laser) treatable_tool = TOOL_CAUTERY base_treat_time = 3 SECONDS - wound_flags = (FLESH_WOUND | ACCEPTS_GAUZE) + wound_flags = (FLESH_WOUND | ACCEPTS_GAUZE | BLEED_WOUND) // PENTEST ADDITION: BLEED_WOUND flag /// How much blood we start losing when this wound is first applied var/initial_flow @@ -268,4 +268,4 @@ threshold_penalty = 50 demotes_to = /datum/wound/slash/severe status_effect_type = /datum/status_effect/wound/slash/critical - wound_flags = (FLESH_WOUND | ACCEPTS_GAUZE | MANGLES_FLESH) + wound_flags = (FLESH_WOUND | ACCEPTS_GAUZE | MANGLES_FLESH | BLEED_WOUND) // PENTEST ADDITION: BLEED_WOUND flag