Merge pull request #7304 from KillianKirilenko/kk-bio

Offload Defibrillatability from NO_SCAN
This commit is contained in:
Atermonera
2020-06-25 12:44:20 -07:00
committed by VirgoBot
parent f4456eaa54
commit 5fbc4f3189
11 changed files with 26 additions and 20 deletions

View File

@@ -1,15 +1,16 @@
// Species flags.
#define NO_MINOR_CUT 0x1 // Can step on broken glass with no ill-effects. Either thick skin (diona), cut resistant (slimes) or incorporeal (shadows)
#define IS_PLANT 0x2 // Is a treeperson.
#define NO_SCAN 0x4 // Cannot be scanned in a DNA machine/genome-stolen.
#define NO_PAIN 0x8 // Cannot suffer halloss/recieves deceptive health indicator.
#define NO_SLIP 0x10 // Cannot fall over.
#define NO_POISON 0x20 // Cannot not suffer toxloss.
#define NO_EMBED 0x40 // Can step on broken glass with no ill-effects and cannot have shrapnel embedded in it.
#define NO_HALLUCINATION 0x80 // Don't hallucinate, ever
#define NO_BLOOD 0x100 // Never bleed, never show blood amount
#define UNDEAD 0x200 // Various things that living things don't do, mostly for skeletons
#define NO_INFECT 0x400 // Don't allow infections in limbs or organs, similar to IS_PLANT, without other strings.
#define NO_MINOR_CUT 0x1 // Can step on broken glass with no ill-effects. Either thick skin (diona), cut resistant (slimes) or incorporeal (shadows)
#define IS_PLANT 0x2 // Is a treeperson.
#define NO_SCAN 0x4 // Cannot be scanned in a DNA machine/genome-stolen.
#define NO_PAIN 0x8 // Cannot suffer halloss/recieves deceptive health indicator.
#define NO_SLIP 0x10 // Cannot fall over.
#define NO_POISON 0x20 // Cannot not suffer toxloss.
#define NO_EMBED 0x40 // Can step on broken glass with no ill-effects and cannot have shrapnel embedded in it.
#define NO_HALLUCINATION 0x80 // Don't hallucinate, ever
#define NO_BLOOD 0x100 // Never bleed, never show blood amount
#define UNDEAD 0x200 // Various things that living things don't do, mostly for skeletons
#define NO_INFECT 0x400 // Don't allow infections in limbs or organs, similar to IS_PLANT, without other strings.
#define NO_DEFIB 0x800 // Don't allow them to be defibbed
// unused: 0x8000 - higher than this will overflow
// Species EMP vuln for carbons

View File

@@ -271,8 +271,8 @@
//Checks for various conditions to see if the mob is revivable
/obj/item/weapon/shockpaddles/proc/can_defib(mob/living/carbon/human/H) //This is checked before doing the defib operation
if((H.species.flags & NO_SCAN))
return "buzzes, \"Unrecogized physiology. Operation aborted.\""
if((H.species.flags & NO_DEFIB))
return "buzzes, \"Incompatible physiology. Operation aborted.\""
else if(H.isSynthetic() && !use_on_synthetic)
return "buzzes, \"Synthetic Body. Operation aborted.\""
else if(!H.isSynthetic() && use_on_synthetic)

View File

@@ -879,6 +879,8 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O
dat += "</br><b>Does not have a respiratory system.</b>"
if(current_species.flags & NO_SCAN)
dat += "</br><b>Does not have DNA.</b>"
if(current_species.flags & NO_DEFIB)
dat += "</br><b>Cannot be defibrillated.</b>"
if(current_species.flags & NO_PAIN)
dat += "</br><b>Does not feel pain.</b>"
if(current_species.flags & NO_SLIP)

View File

@@ -199,6 +199,9 @@ Variables you may want to make use of are:
/datum/species/event1/proc/toggle_cloning()
flags ^= NO_SCAN
/datum/species/event1/proc/toggle_defibbing()
flags ^= NO_DEFIB
/datum/species/event1/proc/toggle_pain()
flags ^= NO_PAIN

View File

@@ -20,7 +20,7 @@
remains_type = /obj/effect/decal/cleanable/ash
death_message = "dissolves into ash..."
flags = NO_SCAN | NO_SLIP | NO_POISON | NO_MINOR_CUT
flags = NO_SCAN | NO_SLIP | NO_POISON | NO_MINOR_CUT | NO_DEFIB
spawn_flags = SPECIES_IS_RESTRICTED
genders = list(NEUTER)

View File

@@ -11,7 +11,7 @@
max_age = 110
health_hud_intensity = 1.5
flags = NO_SCAN | NO_PAIN | NO_SLIP | NO_POISON | NO_MINOR_CUT | NO_BLOOD | UNDEAD
flags = NO_SCAN | NO_PAIN | NO_SLIP | NO_POISON | NO_MINOR_CUT | NO_BLOOD | UNDEAD | NO_DEFIB
spawn_flags = SPECIES_IS_RESTRICTED
appearance_flags = null

View File

@@ -46,7 +46,7 @@
poison_type = "oxygen"
siemens_coefficient = 0.2
flags = NO_SCAN
flags = NO_SCAN | NO_DEFIB
spawn_flags = SPECIES_IS_WHITELISTED
appearance_flags = HAS_EYE_COLOR | HAS_HAIR_COLOR

View File

@@ -7,7 +7,7 @@
language = "Sol Common" //todo?
unarmed_types = list(/datum/unarmed_attack/stomp, /datum/unarmed_attack/kick, /datum/unarmed_attack/punch)
flags = NO_PAIN | NO_SCAN | NO_POISON | NO_MINOR_CUT
flags = NO_PAIN | NO_SCAN | NO_POISON | NO_MINOR_CUT | NO_DEFIB
spawn_flags = SPECIES_IS_RESTRICTED
siemens_coefficient = 0

View File

@@ -25,7 +25,7 @@ var/datum/species/shapeshifter/promethean/prometheans
bump_flag = SLIME
swap_flags = MONKEY|SLIME|SIMPLE_ANIMAL
push_flags = MONKEY|SLIME|SIMPLE_ANIMAL
flags = NO_SCAN | NO_SLIP | NO_MINOR_CUT | NO_HALLUCINATION | NO_INFECT
flags = NO_SCAN | NO_SLIP | NO_MINOR_CUT | NO_HALLUCINATION | NO_INFECT | NO_DEFIB
appearance_flags = HAS_SKIN_COLOR | HAS_EYE_COLOR | HAS_HAIR_COLOR | RADIATION_GLOWS | HAS_UNDERWEAR
spawn_flags = SPECIES_CAN_JOIN | SPECIES_IS_WHITELISTED
health_hud_intensity = 2

View File

@@ -521,7 +521,7 @@
body_temperature = T0C + 15 //make the plant people have a bit lower body temperature, why not
flags = NO_SCAN | IS_PLANT | NO_PAIN | NO_SLIP | NO_MINOR_CUT
flags = NO_SCAN | IS_PLANT | NO_PAIN | NO_SLIP | NO_MINOR_CUT | NO_DEFIB
spawn_flags = SPECIES_CAN_JOIN | SPECIES_IS_WHITELISTED
blood_color = "#004400"

View File

@@ -24,7 +24,7 @@
cold_level_2 = -1
cold_level_3 = -1
flags = NO_SCAN | NO_PAIN | NO_SLIP | NO_POISON | NO_MINOR_CUT | NO_INFECT
flags = NO_SCAN | NO_PAIN | NO_SLIP | NO_POISON | NO_MINOR_CUT | NO_INFECT | NO_DEFIB
spawn_flags = SPECIES_IS_RESTRICTED
reagent_tag = IS_XENOS