mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-25 04:57:12 +01:00
flag split
This commit is contained in:
@@ -36,7 +36,7 @@
|
||||
|
||||
#define NO_BLOOD 1
|
||||
#define NO_BREATHE 2
|
||||
#define NO_DNA_RAD 4
|
||||
#define NO_DNA 4
|
||||
#define RAD_ABSORB 8
|
||||
#define NO_SCAN 16
|
||||
#define NO_PAIN 32
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
// flags: See below, bitfield.
|
||||
#define MUTCHK_FORCED 1
|
||||
/proc/domutcheck(var/mob/living/M, var/connected=null, var/flags=0)
|
||||
|
||||
|
||||
for(var/datum/dna/gene/gene in dna_genes)
|
||||
if(!M || !M.dna)
|
||||
return
|
||||
@@ -52,7 +52,7 @@
|
||||
/proc/genemutcheck(var/mob/living/M, var/block, var/connected=null, var/flags=0)
|
||||
if(ishuman(M)) // Would've done this via species instead of type, but the basic mob doesn't have a species, go figure.
|
||||
var/mob/living/carbon/human/H = M
|
||||
if(H.species.flags & NO_DNA_RAD)
|
||||
if(H.species.flags & NO_DNA)
|
||||
return
|
||||
if(!M)
|
||||
return
|
||||
@@ -76,12 +76,12 @@
|
||||
var/gene_active = (gene.flags & GENE_ALWAYS_ACTIVATE)
|
||||
if(!gene_active)
|
||||
gene_active = M.dna.GetSEState(gene.block)
|
||||
|
||||
|
||||
var/defaultgenes // Do not mutate inherent species abilities
|
||||
if(ishuman(M))
|
||||
var/mob/living/carbon/human/H = M
|
||||
defaultgenes = H.species.default_genes
|
||||
|
||||
|
||||
if((gene in defaultgenes) && gene_active)
|
||||
return
|
||||
|
||||
|
||||
@@ -326,7 +326,7 @@
|
||||
|
||||
if(ishuman(occupant))
|
||||
var/mob/living/carbon/human/H = occupant
|
||||
if((H.species.flags & NO_DNA_RAD))
|
||||
if((H.species.flags & NO_DNA))
|
||||
return 1
|
||||
|
||||
var/radiation_protection = occupant.run_armor_check(null, "rad", "Your clothes feel warm.", "Your clothes feel warm.")
|
||||
|
||||
@@ -316,7 +316,7 @@ var/list/possible_changeling_IDs = list("Alpha","Beta","Gamma","Delta","Epsilon"
|
||||
user << "<span class='warning'>DNA of [target] is ruined beyond usability!</span>"
|
||||
return
|
||||
|
||||
if(T.species.flags & NO_DNA_RAD)
|
||||
if(T.species.flags & NO_DNA)
|
||||
user << "<span class='warning'>This creature does not have DNA!</span>"
|
||||
return
|
||||
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
if((NOCLONE || SKELETON || HUSK) in target.mutations)
|
||||
user << "<span class='warning'>DNA of [target] is ruined beyond usability!</span>"
|
||||
return
|
||||
if(!istype(target) || issmall(target) || target.species.flags & NO_DNA_RAD || target.species.flags & NO_SCAN || target.species.flags & NO_BLOOD)
|
||||
if(!istype(target) || issmall(target) || target.species.flags & NO_DNA || target.species.flags & NO_SCAN || target.species.flags & NO_BLOOD)
|
||||
user << "<span class='warning'>[target] is not compatible with this ability.</span>"
|
||||
return
|
||||
return 1
|
||||
|
||||
@@ -99,7 +99,7 @@
|
||||
|
||||
if(ishuman(M)) // Would've done this via species instead of type, but the basic mob doesn't have a species, go figure.
|
||||
var/mob/living/carbon/human/H = M
|
||||
if(H.species.flags & NO_DNA_RAD)
|
||||
if(H.species.flags & NO_DNA)
|
||||
return 0
|
||||
|
||||
if (!user.IsAdvancedToolUser())
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
/datum/event/mass_hallucination/start()
|
||||
for(var/mob/living/carbon/human/H in living_mob_list)
|
||||
var/armor = H.getarmor(type = "rad")
|
||||
if((H.species.flags & NO_DNA_RAD) || armor >= 75) // Leave DNA-less species/rad armored players completely unaffected
|
||||
if((H.species.flags & RADIMMUNE) || armor >= 75) // Leave radiation-immune species/rad armored players completely unaffected
|
||||
continue
|
||||
H.hallucination += rand(50, 100)
|
||||
|
||||
|
||||
@@ -37,7 +37,7 @@
|
||||
for(var/i = 0, i < 10, i++)
|
||||
for(var/mob/living/carbon/human/H in living_mob_list)
|
||||
var/armor = H.getarmor(type = "rad")
|
||||
if((H.species.flags & NO_DNA_RAD) || armor >= 100) // Leave DNA-less species/fully rad armored players completely unaffected
|
||||
if((H.species.flags & RADIMMUNE) || armor >= 100) // Leave radiation-immune species/fully rad armored players completely unaffected
|
||||
continue
|
||||
var/turf/T = get_turf(H)
|
||||
if(!T)
|
||||
|
||||
@@ -142,7 +142,7 @@
|
||||
/mob/living/carbon/human/adjustCloneLoss(var/amount)
|
||||
..()
|
||||
|
||||
if(species.flags & (NO_DNA_RAD))
|
||||
if(species.flags & (NO_DNA))
|
||||
cloneloss = 0
|
||||
return
|
||||
|
||||
|
||||
@@ -845,7 +845,7 @@ var/global/list/brutefireloss_overlays = list("1" = image("icon" = 'icons/mob/sc
|
||||
//the analgesic effect wears off slowly
|
||||
analgesic = max(0, analgesic - 1)
|
||||
|
||||
if(hallucination && !(species.flags & NO_DNA_RAD))
|
||||
if(hallucination)
|
||||
spawn()
|
||||
handle_hallucinations()
|
||||
|
||||
|
||||
@@ -496,7 +496,7 @@
|
||||
|
||||
passive_temp_gain = 10 //this should cause IPCs to stabilize at ~80 C in a 20 C environment.
|
||||
|
||||
flags = IS_WHITELISTED | NO_BREATHE | NO_SCAN | NO_BLOOD | NO_PAIN | NO_DNA_RAD | NO_POISON
|
||||
flags = IS_WHITELISTED | NO_BREATHE | NO_SCAN | NO_BLOOD | NO_PAIN | NO_DNA | NO_POISON | RADIMMUNE
|
||||
clothing_flags = HAS_SOCKS
|
||||
bodyflags = HAS_SKIN_COLOR
|
||||
dietflags = 0 //IPCs can't eat, so no diet
|
||||
|
||||
@@ -78,7 +78,7 @@
|
||||
return 1
|
||||
|
||||
/mob/living/carbon/human/apply_effect(var/effect = 0, var/effecttype = STUN, var/blocked = 0, var/negate_armor = 0)
|
||||
if((effecttype == IRRADIATE) && (species.flags & NO_DNA_RAD))
|
||||
if((effecttype == IRRADIATE) && (species.flags & RADIMMUNE))
|
||||
return 0
|
||||
return ..()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user