Skip to content

Commit

Permalink
Removes the ability for viruses to stage act in dead people (BeeStati…
Browse files Browse the repository at this point in the history
  • Loading branch information
PowerfulBacon authored Nov 7, 2023
1 parent 33d80d4 commit 0d05072
Show file tree
Hide file tree
Showing 3 changed files with 8 additions and 4 deletions.
4 changes: 4 additions & 0 deletions code/datums/diseases/_disease.dm
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@
var/list/strain_data = list() //dna_spread special bullshit
var/list/infectable_biotypes = list(MOB_ORGANIC) //if the disease can spread on organics, synthetics, or undead
var/process_dead = FALSE //if this ticks while the host is dead
var/spread_dead = FALSE
var/copy_type = null //if this is null, copies will use the type of the instance being copied
var/initial = TRUE //used in advance diseases to check if a virus has already infected a mob- the first infection never mutates

Expand Down Expand Up @@ -108,6 +109,9 @@
if(!(spread_flags & DISEASE_SPREAD_AIRBORNE) && !force_spread)
return

if (affected_mob.stat == DEAD && !spread_dead && !force_spread)
return

if(affected_mob.reagents.has_reagent(/datum/reagent/medicine/spaceacillin) || (affected_mob.satiety > 0 && prob(affected_mob.satiety/10)))
return

Expand Down
4 changes: 2 additions & 2 deletions code/datums/diseases/advance/symptoms/heal.dm
Original file line number Diff line number Diff line change
Expand Up @@ -599,7 +599,7 @@ im not even gonna bother with these for the following symptoms. typed em out, co
. = ..()
if(A.transmission >= 4)
severity -= 1
if((A.stealth >= 2) && (A.transmission >= 6) && A.process_dead)
if((A.stealth >= 2) && (A.transmission >= 6) && (MOB_UNDEAD in A.infectable_biotypes))
severity -= 1
bodies = list("Vampir", "Blood")

Expand All @@ -613,7 +613,7 @@ im not even gonna bother with these for the following symptoms. typed em out, co
maxbloodpoints += 50
if(A.stage_rate >= 7)
power += 1
if((A.stealth >= 2) && (A.transmission >= 6) && A.process_dead) //this is low transmission for 2 reasons: transmission is hard to raise, especially with stealth, and i dont want this to be obligated to be transmittable
if((A.stealth >= 2) && (A.transmission >= 6) && (MOB_UNDEAD in A.infectable_biotypes)) //this is low transmission for 2 reasons: transmission is hard to raise, especially with stealth, and i dont want this to be obligated to be transmittable
vampire = TRUE
maxbloodpoints += 50
power += 1
Expand Down
4 changes: 2 additions & 2 deletions code/datums/diseases/advance/symptoms/species.dm
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,12 @@
prefixes = list("Zombie ")

/datum/symptom/undead_adaptation/OnAdd(datum/disease/advance/A)
A.process_dead = TRUE
A.infectable_biotypes |= MOB_UNDEAD
A.spread_dead = TRUE

/datum/symptom/undead_adaptation/OnRemove(datum/disease/advance/A)
A.process_dead = FALSE
A.infectable_biotypes -= MOB_UNDEAD
A.spread_dead = FALSE

/datum/symptom/inorganic_adaptation
name = "Inorganic Biology"
Expand Down

0 comments on commit 0d05072

Please sign in to comment.