diff --git a/code/datums/diseases/advance/symptoms/choking.dm b/code/datums/diseases/advance/symptoms/choking.dm
index f7f998f2b1..4829920d4f 100644
--- a/code/datums/diseases/advance/symptoms/choking.dm
+++ b/code/datums/diseases/advance/symptoms/choking.dm
@@ -1,38 +1,39 @@
-/*
-//////////////////////////////////////
-
-Choking
-
- Very very noticable.
- Lowers resistance.
- Decreases stage speed.
- Decreases transmittablity tremendously.
- Moderate Level.
-
-Bonus
- Inflicts spikes of oxyloss
-
-//////////////////////////////////////
-*/
-
-/datum/symptom/choking
-
- name = "Choking"
+/*
+//////////////////////////////////////
+
+Choking
+
+ Very very noticable.
+ Lowers resistance.
+ Decreases stage speed.
+ Decreases transmittablity tremendously.
+ Moderate Level.
+
+Bonus
+ Inflicts spikes of oxyloss
+
+//////////////////////////////////////
+*/
+
+/datum/symptom/choking
+
+ name = "Choking"
desc = "The virus causes inflammation of the host's air conduits, leading to intermittent choking."
- stealth = -3
- resistance = -2
- stage_speed = -2
- transmittable = -4
- level = 3
- severity = 3
+ stealth = -3
+ resistance = -2
+ stage_speed = -2
+ transmittable = -4
+ level = 3
+ severity = 3
base_message_chance = 15
symptom_delay_min = 10
symptom_delay_max = 30
threshold_desc = "Stage Speed 8: Causes choking more frequently.
\
Stealth 4: The symptom remains hidden until active."
-
+
/datum/symptom/choking/Start(datum/disease/advance/A)
- ..()
+ if(!..())
+ return
if(A.properties["stage_rate"] >= 8)
symptom_delay_min = 7
symptom_delay_max = 24
@@ -46,11 +47,11 @@ Bonus
switch(A.stage)
if(1, 2)
if(prob(base_message_chance) && !suppress_warning)
- to_chat(M, "[pick("You're having difficulty breathing.", "Your breathing becomes heavy.")]")
+ to_chat(M, "[pick("You're having difficulty breathing.", "Your breathing becomes heavy.")]")
if(3, 4)
if(!suppress_warning)
to_chat(M, "[pick("Your windpipe feels like a straw.", "Your breathing becomes tremendously difficult.")]")
- else
+ else
to_chat(M, "You feel very [pick("dizzy","woozy","faint")].") //fake bloodloss messages
Choke_stage_3_4(M, A)
M.emote("gasp")
@@ -58,49 +59,50 @@ Bonus
to_chat(M, "[pick("You're choking!", "You can't breathe!")]")
Choke(M, A)
M.emote("gasp")
-
-/datum/symptom/choking/proc/Choke_stage_3_4(mob/living/M, datum/disease/advance/A)
+
+/datum/symptom/choking/proc/Choke_stage_3_4(mob/living/M, datum/disease/advance/A)
M.adjustOxyLoss(rand(6,13))
- return 1
-
-/datum/symptom/choking/proc/Choke(mob/living/M, datum/disease/advance/A)
+ return 1
+
+/datum/symptom/choking/proc/Choke(mob/living/M, datum/disease/advance/A)
M.adjustOxyLoss(rand(10,18))
- return 1
-
-/*
-//////////////////////////////////////
-
-Asphyxiation
-
- Very very noticable.
- Decreases stage speed.
- Decreases transmittablity.
-
-Bonus
- Inflicts large spikes of oxyloss
- Introduces Asphyxiating drugs to the system
- Causes cardiac arrest on dying victims.
-
-//////////////////////////////////////
-*/
-
-/datum/symptom/asphyxiation
-
- name = "Acute respiratory distress syndrome"
+ return 1
+
+/*
+//////////////////////////////////////
+
+Asphyxiation
+
+ Very very noticable.
+ Decreases stage speed.
+ Decreases transmittablity.
+
+Bonus
+ Inflicts large spikes of oxyloss
+ Introduces Asphyxiating drugs to the system
+ Causes cardiac arrest on dying victims.
+
+//////////////////////////////////////
+*/
+
+/datum/symptom/asphyxiation
+
+ name = "Acute respiratory distress syndrome"
desc = "The virus causes shrinking of the host's lungs, causing severe asphyxiation. May also lead to heart attacks."
- stealth = -2
- resistance = -0
- stage_speed = -1
- transmittable = -2
- level = 7
- severity = 3
+ stealth = -2
+ resistance = -0
+ stage_speed = -1
+ transmittable = -2
+ level = 7
+ severity = 3
base_message_chance = 15
symptom_delay_min = 14
symptom_delay_max = 30
var/paralysis = FALSE
-
+
/datum/symptom/asphyxiation/Start(datum/disease/advance/A)
- ..()
+ if(!..())
+ return
if(A.properties["stage_rate"] >= 8)
paralysis = TRUE
if(A.properties["transmission"] >= 8)
@@ -122,22 +124,22 @@ Bonus
if(M.getOxyLoss() >= 120)
M.visible_message("[M] stops breathing, as if their lungs have totally collapsed!")
Asphyxiate_death(M, A)
- return
-
-/datum/symptom/asphyxiation/proc/Asphyxiate_stage_3_4(mob/living/M, datum/disease/advance/A)
+ return
+
+/datum/symptom/asphyxiation/proc/Asphyxiate_stage_3_4(mob/living/M, datum/disease/advance/A)
var/get_damage = rand(10,15) * power
- M.adjustOxyLoss(get_damage)
- return 1
-
-/datum/symptom/asphyxiation/proc/Asphyxiate(mob/living/M, datum/disease/advance/A)
+ M.adjustOxyLoss(get_damage)
+ return 1
+
+/datum/symptom/asphyxiation/proc/Asphyxiate(mob/living/M, datum/disease/advance/A)
var/get_damage = rand(15,21) * power
- M.adjustOxyLoss(get_damage)
+ M.adjustOxyLoss(get_damage)
if(paralysis)
M.reagents.add_reagent_list(list("pancuronium" = 3, "sodium_thiopental" = 3))
- return 1
-
-/datum/symptom/asphyxiation/proc/Asphyxiate_death(mob/living/M, datum/disease/advance/A)
+ return 1
+
+/datum/symptom/asphyxiation/proc/Asphyxiate_death(mob/living/M, datum/disease/advance/A)
var/get_damage = rand(25,35) * power
- M.adjustOxyLoss(get_damage)
- M.adjustBrainLoss(get_damage/2)
- return 1
+ M.adjustOxyLoss(get_damage)
+ M.adjustBrainLoss(get_damage/2)
+ return 1
diff --git a/code/datums/diseases/advance/symptoms/confusion.dm b/code/datums/diseases/advance/symptoms/confusion.dm
index 2e252267c4..04418610e5 100644
--- a/code/datums/diseases/advance/symptoms/confusion.dm
+++ b/code/datums/diseases/advance/symptoms/confusion.dm
@@ -34,7 +34,8 @@ Bonus
Stealth 4: The symptom remains hidden until active."
/datum/symptom/confusion/Start(datum/disease/advance/A)
- ..()
+ if(!..())
+ return
if(A.properties["resistance"] >= 6)
brain_damage = TRUE
if(A.properties["transmittable"] >= 6)
diff --git a/code/datums/diseases/advance/symptoms/cough.dm b/code/datums/diseases/advance/symptoms/cough.dm
index f0178576bf..d3c3ea2da8 100644
--- a/code/datums/diseases/advance/symptoms/cough.dm
+++ b/code/datums/diseases/advance/symptoms/cough.dm
@@ -36,7 +36,8 @@ BONUS
Stealth 4: The symptom remains hidden until active."
/datum/symptom/cough/Start(datum/disease/advance/A)
- ..()
+ if(!..())
+ return
if(A.properties["stealth"] >= 4)
suppress_warning = TRUE
if(A.spread_flags &= AIRBORNE) //infect bystanders
diff --git a/code/datums/diseases/advance/symptoms/deafness.dm b/code/datums/diseases/advance/symptoms/deafness.dm
index c43970563d..3bae01c7a7 100644
--- a/code/datums/diseases/advance/symptoms/deafness.dm
+++ b/code/datums/diseases/advance/symptoms/deafness.dm
@@ -32,7 +32,8 @@ Bonus
Stealth 4: The symptom remains hidden until active."
/datum/symptom/deafness/Start(datum/disease/advance/A)
- ..()
+ if(!..())
+ return
if(A.properties["stealth"] >= 4)
suppress_warning = TRUE
if(A.properties["resistance"] >= 9) //permanent deafness
diff --git a/code/datums/diseases/advance/symptoms/dizzy.dm b/code/datums/diseases/advance/symptoms/dizzy.dm
index cb1bf11e63..bb83582425 100644
--- a/code/datums/diseases/advance/symptoms/dizzy.dm
+++ b/code/datums/diseases/advance/symptoms/dizzy.dm
@@ -1,37 +1,38 @@
-/*
-//////////////////////////////////////
-
-Dizziness
-
- Hidden.
- Lowers resistance considerably.
- Decreases stage speed.
- Reduced transmittability
- Intense Level.
-
-Bonus
- Shakes the affected mob's screen for short periods.
-
-//////////////////////////////////////
-*/
-
-/datum/symptom/dizzy // Not the egg
-
- name = "Dizziness"
+/*
+//////////////////////////////////////
+
+Dizziness
+
+ Hidden.
+ Lowers resistance considerably.
+ Decreases stage speed.
+ Reduced transmittability
+ Intense Level.
+
+Bonus
+ Shakes the affected mob's screen for short periods.
+
+//////////////////////////////////////
+*/
+
+/datum/symptom/dizzy // Not the egg
+
+ name = "Dizziness"
desc = "The virus causes inflammation of the vestibular system, leading to bouts of dizziness."
- resistance = -2
- stage_speed = -3
- transmittable = -1
- level = 4
- severity = 2
+ resistance = -2
+ stage_speed = -3
+ transmittable = -1
+ level = 4
+ severity = 2
base_message_chance = 50
symptom_delay_min = 15
symptom_delay_max = 40
threshold_desc = "Transmission 6: Also causes druggy vision.
\
Stealth 4: The symptom remains hidden until active."
-
+
/datum/symptom/dizzy/Start(datum/disease/advance/A)
- ..()
+ if(!..())
+ return
if(A.properties["stealth"] >= 4)
suppress_warning = TRUE
if(A.properties["transmittable"] >= 6) //druggy
@@ -44,9 +45,9 @@ Bonus
switch(A.stage)
if(1, 2, 3, 4)
if(prob(base_message_chance) && !suppress_warning)
- to_chat(M, "[pick("You feel dizzy.", "Your head spins.")]")
+ to_chat(M, "[pick("You feel dizzy.", "Your head spins.")]")
else
to_chat(M, "A wave of dizziness washes over you!")
M.Dizzy(5)
if(power >= 2)
- M.set_drugginess(5)
\ No newline at end of file
+ M.set_drugginess(5)
diff --git a/code/datums/diseases/advance/symptoms/fever.dm b/code/datums/diseases/advance/symptoms/fever.dm
index 673835b0ed..5b0b851ca0 100644
--- a/code/datums/diseases/advance/symptoms/fever.dm
+++ b/code/datums/diseases/advance/symptoms/fever.dm
@@ -1,44 +1,45 @@
-/*
-//////////////////////////////////////
-
-Fever
-
- No change to hidden.
- Increases resistance.
- Increases stage speed.
- Little transmittable.
- Low level.
-
-Bonus
- Heats up your body.
-
-//////////////////////////////////////
-*/
-
-/datum/symptom/fever
- name = "Fever"
+/*
+//////////////////////////////////////
+
+Fever
+
+ No change to hidden.
+ Increases resistance.
+ Increases stage speed.
+ Little transmittable.
+ Low level.
+
+Bonus
+ Heats up your body.
+
+//////////////////////////////////////
+*/
+
+/datum/symptom/fever
+ name = "Fever"
desc = "The virus causes a febrile response from the host, raising its body temperature."
- stealth = 0
- resistance = 3
- stage_speed = 3
- transmittable = 2
- level = 2
- severity = 2
+ stealth = 0
+ resistance = 3
+ stage_speed = 3
+ transmittable = 2
+ level = 2
+ severity = 2
base_message_chance = 20
symptom_delay_min = 10
symptom_delay_max = 30
var/unsafe = FALSE //over the heat threshold
threshold_desc = "Resistance 5: Increases fever intensity, fever can overheat and harm the host.
\
Resistance 10: Further increases fever intensity."
-
+
/datum/symptom/fever/Start(datum/disease/advance/A)
- ..()
+ if(!..())
+ return
if(A.properties["resistance"] >= 5) //dangerous fever
power = 1.5
unsafe = TRUE
if(A.properties["resistance"] >= 10)
power = 2.5
-
+
/datum/symptom/fever/Activate(datum/disease/advance/A)
if(!..())
return
@@ -49,11 +50,11 @@ Bonus
to_chat(M, "[pick("You feel too hot.", "You feel like your blood is boiling.")]")
if(M.bodytemperature < BODYTEMP_HEAT_DAMAGE_LIMIT || unsafe)
Heat(M, A)
-
-/datum/symptom/fever/proc/Heat(mob/living/M, datum/disease/advance/A)
+
+/datum/symptom/fever/proc/Heat(mob/living/M, datum/disease/advance/A)
var/get_heat = 6 * power
if(!unsafe)
M.bodytemperature = min(M.bodytemperature + (get_heat * A.stage), BODYTEMP_HEAT_DAMAGE_LIMIT - 1)
else
M.bodytemperature += (get_heat * A.stage)
- return 1
+ return 1
diff --git a/code/datums/diseases/advance/symptoms/fire.dm b/code/datums/diseases/advance/symptoms/fire.dm
index e12e705350..781cd6de4d 100644
--- a/code/datums/diseases/advance/symptoms/fire.dm
+++ b/code/datums/diseases/advance/symptoms/fire.dm
@@ -35,7 +35,8 @@ Bonus
Stealth 4: The symptom remains hidden until active."
/datum/symptom/fire/Start(datum/disease/advance/A)
- ..()
+ if(!..())
+ return
if(A.properties["stage_rate"] >= 4)
power = 1.5
if(A.properties["stage_rate"] >= 8)
@@ -116,7 +117,8 @@ Bonus
Transmission 8: Additionally synthesizes chlorine trifluoride and napalm inside the host."
/datum/symptom/alkali/Start(datum/disease/advance/A)
- ..()
+ if(!..())
+ return
if(A.properties["resistance"] >= 9) //intense but sporadic effect
power = 2
symptom_delay_min = 50
diff --git a/code/datums/diseases/advance/symptoms/flesh_eating.dm b/code/datums/diseases/advance/symptoms/flesh_eating.dm
index 16e2b5c065..2d5d22a63a 100644
--- a/code/datums/diseases/advance/symptoms/flesh_eating.dm
+++ b/code/datums/diseases/advance/symptoms/flesh_eating.dm
@@ -1,30 +1,30 @@
-/*
-//////////////////////////////////////
-
-Necrotizing Fasciitis (AKA Flesh-Eating Disease)
-
- Very very noticable.
- Lowers resistance tremendously.
- No changes to stage speed.
- Decreases transmittablity temrendously.
- Fatal Level.
-
-Bonus
- Deals brute damage over time.
-
-//////////////////////////////////////
-*/
-
-/datum/symptom/flesh_eating
-
- name = "Necrotizing Fasciitis"
+/*
+//////////////////////////////////////
+
+Necrotizing Fasciitis (AKA Flesh-Eating Disease)
+
+ Very very noticable.
+ Lowers resistance tremendously.
+ No changes to stage speed.
+ Decreases transmittablity temrendously.
+ Fatal Level.
+
+Bonus
+ Deals brute damage over time.
+
+//////////////////////////////////////
+*/
+
+/datum/symptom/flesh_eating
+
+ name = "Necrotizing Fasciitis"
desc = "The virus aggressively attacks body cells, necrotizing tissues and organs."
- stealth = -3
- resistance = -4
- stage_speed = 0
- transmittable = -4
- level = 6
- severity = 5
+ stealth = -3
+ resistance = -4
+ stage_speed = 0
+ transmittable = -4
+ level = 6
+ severity = 5
base_message_chance = 50
symptom_delay_min = 15
symptom_delay_max = 60
@@ -32,9 +32,10 @@ Bonus
var/pain = FALSE
threshold_desc = "Resistance 7: Host will bleed profusely during necrosis.
\
Transmission 8: Causes extreme pain to the host, weakening it."
-
+
/datum/symptom/flesh_eating/Start(datum/disease/advance/A)
- ..()
+ if(!..())
+ return
if(A.properties["resistance"] >= 7) //extra bleeding
bleed = TRUE
if(A.properties["transmittable"] >= 8) //extra stamina damage
@@ -47,49 +48,49 @@ Bonus
switch(A.stage)
if(2,3)
if(prob(base_message_chance))
- to_chat(M, "[pick("You feel a sudden pain across your body.", "Drops of blood appear suddenly on your skin.")]")
+ to_chat(M, "[pick("You feel a sudden pain across your body.", "Drops of blood appear suddenly on your skin.")]")
if(4,5)
to_chat(M, "[pick("You cringe as a violent pain takes over your body.", "It feels like your body is eating itself inside out.", "IT HURTS.")]")
Flesheat(M, A)
-
-/datum/symptom/flesh_eating/proc/Flesheat(mob/living/M, datum/disease/advance/A)
+
+/datum/symptom/flesh_eating/proc/Flesheat(mob/living/M, datum/disease/advance/A)
var/get_damage = rand(15,25) * power
- M.adjustBruteLoss(get_damage)
+ M.adjustBruteLoss(get_damage)
if(pain)
M.adjustStaminaLoss(get_damage)
if(bleed)
if(ishuman(M))
var/mob/living/carbon/human/H = M
H.bleed_rate += 5 * power
- return 1
-
-/*
-//////////////////////////////////////
-
-Autophagocytosis (AKA Programmed mass cell death)
-
- Very noticable.
- Lowers resistance.
- Fast stage speed.
- Decreases transmittablity.
- Fatal Level.
-
-Bonus
- Deals brute damage over time.
-
-//////////////////////////////////////
-*/
-
-/datum/symptom/flesh_death
-
- name = "Autophagocytosis Necrosis"
+ return 1
+
+/*
+//////////////////////////////////////
+
+Autophagocytosis (AKA Programmed mass cell death)
+
+ Very noticable.
+ Lowers resistance.
+ Fast stage speed.
+ Decreases transmittablity.
+ Fatal Level.
+
+Bonus
+ Deals brute damage over time.
+
+//////////////////////////////////////
+*/
+
+/datum/symptom/flesh_death
+
+ name = "Autophagocytosis Necrosis"
desc = "The virus rapidly consumes infected cells, leading to heavy and widespread damage."
- stealth = -2
- resistance = -2
- stage_speed = 1
- transmittable = -2
- level = 7
- severity = 6
+ stealth = -2
+ resistance = -2
+ stage_speed = 1
+ transmittable = -2
+ level = 7
+ severity = 6
base_message_chance = 50
symptom_delay_min = 3
symptom_delay_max = 6
@@ -97,9 +98,10 @@ Bonus
var/zombie = FALSE
threshold_desc = "Stage Speed 7: Synthesizes Heparin and Lipolicide inside the host, causing increased bleeding and hunger.
\
Stealth 5: The symptom remains hidden until active."
-
+
/datum/symptom/flesh_death/Start(datum/disease/advance/A)
- ..()
+ if(!..())
+ return
if(A.properties["stealth"] >= 5)
suppress_warning = TRUE
if(A.properties["stage_rate"] >= 7) //bleeding and hunger
@@ -112,17 +114,17 @@ Bonus
switch(A.stage)
if(2,3)
if(prob(base_message_chance) && !suppress_warning)
- to_chat(M, "[pick("You feel your body break apart.", "Your skin rubs off like dust.")]")
+ to_chat(M, "[pick("You feel your body break apart.", "Your skin rubs off like dust.")]")
if(4,5)
if(prob(base_message_chance / 2)) //reduce spam
to_chat(M, "[pick("You feel your muscles weakening.", "Some of your skin detaches itself.", "You feel sandy.")]")
Flesh_death(M, A)
-
-/datum/symptom/flesh_death/proc/Flesh_death(mob/living/M, datum/disease/advance/A)
+
+/datum/symptom/flesh_death/proc/Flesh_death(mob/living/M, datum/disease/advance/A)
var/get_damage = rand(6,10)
- M.adjustBruteLoss(get_damage)
+ M.adjustBruteLoss(get_damage)
if(chems)
M.reagents.add_reagent_list(list("heparin" = 2, "lipolicide" = 2))
if(zombie)
M.reagents.add_reagent("romerol", 1)
- return 1
\ No newline at end of file
+ return 1
diff --git a/code/datums/diseases/advance/symptoms/genetics.dm b/code/datums/diseases/advance/symptoms/genetics.dm
index 1f654f2e97..836b4a4719 100644
--- a/code/datums/diseases/advance/symptoms/genetics.dm
+++ b/code/datums/diseases/advance/symptoms/genetics.dm
@@ -1,31 +1,31 @@
-/*
-//////////////////////////////////////
-
-DNA Saboteur
-
- Very noticable.
- Lowers resistance tremendously.
- No changes to stage speed.
- Decreases transmittablity tremendously.
- Fatal Level.
-
-Bonus
- Cleans the DNA of a person and then randomly gives them a disability.
-
-//////////////////////////////////////
-*/
-
-/datum/symptom/genetic_mutation
- name = "Deoxyribonucleic Acid Saboteur"
+/*
+//////////////////////////////////////
+
+DNA Saboteur
+
+ Very noticable.
+ Lowers resistance tremendously.
+ No changes to stage speed.
+ Decreases transmittablity tremendously.
+ Fatal Level.
+
+Bonus
+ Cleans the DNA of a person and then randomly gives them a disability.
+
+//////////////////////////////////////
+*/
+
+/datum/symptom/genetic_mutation
+ name = "Deoxyribonucleic Acid Saboteur"
desc = "The virus bonds with the DNA of the host, causing damaging mutations until removed."
- stealth = -2
- resistance = -3
- stage_speed = 0
- transmittable = -3
- level = 6
- severity = 3
- var/list/possible_mutations
- var/archived_dna = null
+ stealth = -2
+ resistance = -3
+ stage_speed = 0
+ transmittable = -3
+ level = 6
+ severity = 3
+ var/list/possible_mutations
+ var/archived_dna = null
base_message_chance = 50
symptom_delay_min = 60
symptom_delay_max = 120
@@ -33,8 +33,8 @@ Bonus
threshold_desc = "Resistance 8: Causes two harmful mutations at once.
\
Stage Speed 10: Increases mutation frequency.
\
Stealth 5: The mutations persist even if the virus is cured."
-
-/datum/symptom/genetic_mutation/Activate(datum/disease/advance/A)
+
+/datum/symptom/genetic_mutation/Activate(datum/disease/advance/A)
if(!..())
return
var/mob/living/carbon/C = A.affected_mob
@@ -45,11 +45,12 @@ Bonus
to_chat(C, "[pick("Your skin feels itchy.", "You feel light headed.")]")
C.dna.remove_mutation_group(possible_mutations)
for(var/i in 1 to power)
- C.randmut(possible_mutations)
-
-// Archive their DNA before they were infected.
-/datum/symptom/genetic_mutation/Start(datum/disease/advance/A)
- ..()
+ C.randmut(possible_mutations)
+
+// Archive their DNA before they were infected.
+/datum/symptom/genetic_mutation/Start(datum/disease/advance/A)
+ if(!..())
+ return
if(A.properties["stealth"] >= 5) //don't restore dna after curing
no_reset = TRUE
if(A.properties["stage_rate"] >= 10) //mutate more often
@@ -57,15 +58,17 @@ Bonus
symptom_delay_max = 60
if(A.properties["resistance"] >= 8) //mutate twice
power = 2
- possible_mutations = (GLOB.bad_mutations | GLOB.not_good_mutations) - GLOB.mutations_list[RACEMUT]
- var/mob/living/carbon/M = A.affected_mob
- if(M)
- if(!M.has_dna())
- return
- archived_dna = M.dna.struc_enzymes
-
-// Give them back their old DNA when cured.
-/datum/symptom/genetic_mutation/End(datum/disease/advance/A)
+ possible_mutations = (GLOB.bad_mutations | GLOB.not_good_mutations) - GLOB.mutations_list[RACEMUT]
+ var/mob/living/carbon/M = A.affected_mob
+ if(M)
+ if(!M.has_dna())
+ return
+ archived_dna = M.dna.struc_enzymes
+
+// Give them back their old DNA when cured.
+/datum/symptom/genetic_mutation/End(datum/disease/advance/A)
+ if(!..())
+ return
if(!no_reset)
var/mob/living/carbon/M = A.affected_mob
if(M && archived_dna)
diff --git a/code/datums/diseases/advance/symptoms/hallucigen.dm b/code/datums/diseases/advance/symptoms/hallucigen.dm
index d4cda525ad..76b92159d8 100644
--- a/code/datums/diseases/advance/symptoms/hallucigen.dm
+++ b/code/datums/diseases/advance/symptoms/hallucigen.dm
@@ -1,44 +1,45 @@
-/*
-//////////////////////////////////////
-
-Hallucigen
-
- Very noticable.
- Lowers resistance considerably.
- Decreases stage speed.
- Reduced transmittable.
- Critical Level.
-
-Bonus
- Makes the affected mob be hallucinated for short periods of time.
-
-//////////////////////////////////////
-*/
-
-/datum/symptom/hallucigen
- name = "Hallucigen"
+/*
+//////////////////////////////////////
+
+Hallucigen
+
+ Very noticable.
+ Lowers resistance considerably.
+ Decreases stage speed.
+ Reduced transmittable.
+ Critical Level.
+
+Bonus
+ Makes the affected mob be hallucinated for short periods of time.
+
+//////////////////////////////////////
+*/
+
+/datum/symptom/hallucigen
+ name = "Hallucigen"
desc = "The virus stimulates the brain, causing occasional hallucinations."
- stealth = -2
- resistance = -3
- stage_speed = -3
- transmittable = -1
- level = 5
- severity = 3
+ stealth = -2
+ resistance = -3
+ stage_speed = -3
+ transmittable = -1
+ level = 5
+ severity = 3
base_message_chance = 25
symptom_delay_min = 25
symptom_delay_max = 90
var/fake_healthy = FALSE
threshold_desc = "Stage Speed 7: Increases the amount of hallucinations.
\
Stealth 4: The virus mimics positive symptoms.."
-
+
/datum/symptom/hallucigen/Start(datum/disease/advance/A)
- ..()
+ if(!..())
+ return
if(A.properties["stealth"] >= 4) //fake good symptom messages
fake_healthy = TRUE
base_message_chance = 50
if(A.properties["stage_rate"] >= 7) //stronger hallucinations
power = 2
-
+
/datum/symptom/hallucigen/Activate(datum/disease/advance/A)
if(!..())
return
diff --git a/code/datums/diseases/advance/symptoms/headache.dm b/code/datums/diseases/advance/symptoms/headache.dm
index b0665e0870..3a8c82beed 100644
--- a/code/datums/diseases/advance/symptoms/headache.dm
+++ b/code/datums/diseases/advance/symptoms/headache.dm
@@ -1,40 +1,41 @@
-/*
-//////////////////////////////////////
-
-Headache
-
- Noticable.
- Highly resistant.
- Increases stage speed.
- Not transmittable.
- Low Level.
-
-BONUS
- Displays an annoying message!
- Should be used for buffing your disease.
-
-//////////////////////////////////////
-*/
-
-/datum/symptom/headache
-
- name = "Headache"
+/*
+//////////////////////////////////////
+
+Headache
+
+ Noticable.
+ Highly resistant.
+ Increases stage speed.
+ Not transmittable.
+ Low Level.
+
+BONUS
+ Displays an annoying message!
+ Should be used for buffing your disease.
+
+//////////////////////////////////////
+*/
+
+/datum/symptom/headache
+
+ name = "Headache"
desc = "The virus causes inflammation inside the brain, causing constant headaches."
- stealth = -1
- resistance = 4
- stage_speed = 2
- transmittable = 0
- level = 1
- severity = 1
+ stealth = -1
+ resistance = 4
+ stage_speed = 2
+ transmittable = 0
+ level = 1
+ severity = 1
base_message_chance = 100
symptom_delay_min = 15
symptom_delay_max = 30
threshold_desc = "Stage Speed 6: Headaches will cause severe pain, that weakens the host.
\
Stage Speed 9: Headaches become less frequent but far more intense, preventing any action from the host.
\
Stealth 4: Reduces headache frequency until later stages."
-
+
/datum/symptom/headache/Start(datum/disease/advance/A)
- ..()
+ if(!..())
+ return
if(A.properties["stealth"] >= 4)
base_message_chance = 50
if(A.properties["stage_rate"] >= 6) //severe pain
@@ -56,4 +57,4 @@ BONUS
M.adjustStaminaLoss(25)
if(power >= 3 && A.stage >= 5)
to_chat(M, "[pick("Your head hurts!", "You feel a burning knife inside your brain!", "A wave of pain fills your head!")]")
- M.Stun(35)
\ No newline at end of file
+ M.Stun(35)
diff --git a/code/datums/diseases/advance/symptoms/heal.dm b/code/datums/diseases/advance/symptoms/heal.dm
index 869cea19da..4fba54121f 100644
--- a/code/datums/diseases/advance/symptoms/heal.dm
+++ b/code/datums/diseases/advance/symptoms/heal.dm
@@ -15,7 +15,8 @@
Stealth 4: Healing will no longer be visible to onlookers."
/datum/symptom/heal/Start(datum/disease/advance/A)
- ..()
+ if(!..())
+ return
if(A.properties["stealth"] >= 4) //invisible healing
hide_healing = TRUE
if(A.properties["stage_rate"] >= 6) //stronger healing
diff --git a/code/datums/diseases/advance/symptoms/itching.dm b/code/datums/diseases/advance/symptoms/itching.dm
index ea9156bfbd..1c356247ee 100644
--- a/code/datums/diseases/advance/symptoms/itching.dm
+++ b/code/datums/diseases/advance/symptoms/itching.dm
@@ -1,39 +1,40 @@
-/*
-//////////////////////////////////////
-
-Itching
-
- Not noticable or unnoticable.
- Resistant.
- Increases stage speed.
- Little transmittable.
- Low Level.
-
-BONUS
- Displays an annoying message!
- Should be used for buffing your disease.
-
-//////////////////////////////////////
-*/
-
-/datum/symptom/itching
-
- name = "Itching"
+/*
+//////////////////////////////////////
+
+Itching
+
+ Not noticable or unnoticable.
+ Resistant.
+ Increases stage speed.
+ Little transmittable.
+ Low Level.
+
+BONUS
+ Displays an annoying message!
+ Should be used for buffing your disease.
+
+//////////////////////////////////////
+*/
+
+/datum/symptom/itching
+
+ name = "Itching"
desc = "The virus irritates the skin, causing itching."
- stealth = 0
- resistance = 3
- stage_speed = 3
- transmittable = 1
- level = 1
- severity = 1
+ stealth = 0
+ resistance = 3
+ stage_speed = 3
+ transmittable = 1
+ level = 1
+ severity = 1
symptom_delay_min = 5
symptom_delay_max = 25
var/scratch = FALSE
threshold_desc = "Transmission 6: Increases frequency of itching.
\
Stage Speed 7: The host will scrath itself when itching, causing superficial damage."
-
+
/datum/symptom/itching/Start(datum/disease/advance/A)
- ..()
+ if(!..())
+ return
if(A.properties["transmittable"] >= 6) //itch more often
symptom_delay_min = 1
symptom_delay_max = 4
@@ -50,4 +51,4 @@ BONUS
var/can_scratch = scratch && !M.incapacitated() && get_location_accessible(M, picked_bodypart)
M.visible_message("[can_scratch ? "[M] scratches [M.p_their()] [bodypart.name]." : ""]", "Your [bodypart.name] itches. [can_scratch ? " You scratch it." : ""]")
if(can_scratch)
- bodypart.receive_damage(0.5)
\ No newline at end of file
+ bodypart.receive_damage(0.5)
diff --git a/code/datums/diseases/advance/symptoms/narcolepsy.dm b/code/datums/diseases/advance/symptoms/narcolepsy.dm
index d850d257cb..cc13d99406 100644
--- a/code/datums/diseases/advance/symptoms/narcolepsy.dm
+++ b/code/datums/diseases/advance/symptoms/narcolepsy.dm
@@ -30,7 +30,8 @@ Bonus
Resistance 10: Causes narcolepsy more often, increasing the chance of the host falling asleep."
/datum/symptom/narcolepsy/Start(datum/disease/advance/A)
- ..()
+ if(!..())
+ return
if(A.properties["transmittable"] >= 7) //stamina damage
stamina = TRUE
if(A.properties["resistance"] >= 10) //act more often
diff --git a/code/datums/diseases/advance/symptoms/oxygen.dm b/code/datums/diseases/advance/symptoms/oxygen.dm
index da085ab153..7bb6934707 100644
--- a/code/datums/diseases/advance/symptoms/oxygen.dm
+++ b/code/datums/diseases/advance/symptoms/oxygen.dm
@@ -1,37 +1,38 @@
-/*
-//////////////////////////////////////
-
-Self-Respiration
-
- Slightly hidden.
- Lowers resistance significantly.
- Decreases stage speed significantly.
- Decreases transmittablity tremendously.
- Fatal Level.
-
-Bonus
- The body generates salbutamol.
-
-//////////////////////////////////////
-*/
-
-/datum/symptom/oxygen
-
- name = "Self-Respiration"
+/*
+//////////////////////////////////////
+
+Self-Respiration
+
+ Slightly hidden.
+ Lowers resistance significantly.
+ Decreases stage speed significantly.
+ Decreases transmittablity tremendously.
+ Fatal Level.
+
+Bonus
+ The body generates salbutamol.
+
+//////////////////////////////////////
+*/
+
+/datum/symptom/oxygen
+
+ name = "Self-Respiration"
desc = "The virus rapidly synthesizes oxygen, effectively removing the need for breathing."
- stealth = 1
- resistance = -3
- stage_speed = -3
- transmittable = -4
- level = 6
+ stealth = 1
+ resistance = -3
+ stage_speed = -3
+ transmittable = -4
+ level = 6
base_message_chance = 5
symptom_delay_min = 1
symptom_delay_max = 1
var/regenerate_blood = FALSE
threshold_desc = "Resistance 8:Additionally regenerates lost blood.
"
-
+
/datum/symptom/oxygen/Start(datum/disease/advance/A)
- ..()
+ if(!..())
+ return
if(A.properties["resistance"] >= 8) //blood regeneration
regenerate_blood = TRUE
@@ -39,13 +40,13 @@ Bonus
if(!..())
return
var/mob/living/carbon/M = A.affected_mob
- switch(A.stage)
- if(4, 5)
+ switch(A.stage)
+ if(4, 5)
M.adjustOxyLoss(-7, 0)
M.losebreath = max(0, M.losebreath - 4)
if(regenerate_blood && M.blood_volume < BLOOD_VOLUME_NORMAL)
M.blood_volume += 1
- else
+ else
if(prob(base_message_chance))
- to_chat(M, "[pick("Your lungs feel great.", "You realize you haven't been breathing.", "You don't feel the need to breathe.")]")
- return
+ to_chat(M, "[pick("Your lungs feel great.", "You realize you haven't been breathing.", "You don't feel the need to breathe.")]")
+ return
diff --git a/code/datums/diseases/advance/symptoms/sensory.dm b/code/datums/diseases/advance/symptoms/sensory.dm
index dd417e50ed..e7edcff703 100644
--- a/code/datums/diseases/advance/symptoms/sensory.dm
+++ b/code/datums/diseases/advance/symptoms/sensory.dm
@@ -32,7 +32,8 @@ Bonus
Transmission 8: Purges alcohol in the bloodstream."
/datum/symptom/mind_restoration/Start(datum/disease/advance/A)
- ..()
+ if(!..())
+ return
if(A.properties["resistance"] >= 6) //heal brain damage
brain_heal = TRUE
if(A.properties["transmittable"] >= 8) //purge alcohol
diff --git a/code/datums/diseases/advance/symptoms/shivering.dm b/code/datums/diseases/advance/symptoms/shivering.dm
index f40fd151d9..bad9062eb5 100644
--- a/code/datums/diseases/advance/symptoms/shivering.dm
+++ b/code/datums/diseases/advance/symptoms/shivering.dm
@@ -1,37 +1,38 @@
-/*
-//////////////////////////////////////
-
-Shivering
-
- No change to hidden.
- Increases resistance.
- Increases stage speed.
- Little transmittable.
- Low level.
-
-Bonus
- Cools down your body.
-
-//////////////////////////////////////
-*/
-
-/datum/symptom/shivering
- name = "Shivering"
+/*
+//////////////////////////////////////
+
+Shivering
+
+ No change to hidden.
+ Increases resistance.
+ Increases stage speed.
+ Little transmittable.
+ Low level.
+
+Bonus
+ Cools down your body.
+
+//////////////////////////////////////
+*/
+
+/datum/symptom/shivering
+ name = "Shivering"
desc = "The virus inhibits the body's thermoregulation, cooling the body down."
- stealth = 0
- resistance = 2
- stage_speed = 2
- transmittable = 2
- level = 2
- severity = 2
+ stealth = 0
+ resistance = 2
+ stage_speed = 2
+ transmittable = 2
+ level = 2
+ severity = 2
symptom_delay_min = 10
symptom_delay_max = 30
var/unsafe = FALSE //over the cold threshold
threshold_desc = "Stage Speed 5: Increases cooling speed; the host can fall below safe temperature levels.
\
Stage Speed 10: Further increases cooling speed."
-
+
/datum/symptom/fever/Start(datum/disease/advance/A)
- ..()
+ if(!..())
+ return
if(A.properties["stage_speed"] >= 5) //dangerous cold
power = 1.5
unsafe = TRUE
@@ -48,11 +49,11 @@ Bonus
to_chat(M, "[pick("You feel your blood run cold.", "You feel ice in your veins.", "You feel like you can't heat up.", "You shiver violently." )]")
if(M.bodytemperature < BODYTEMP_COLD_DAMAGE_LIMIT || unsafe)
Chill(M, A)
-
-/datum/symptom/shivering/proc/Chill(mob/living/M, datum/disease/advance/A)
+
+/datum/symptom/shivering/proc/Chill(mob/living/M, datum/disease/advance/A)
var/get_cold = 6 * power
if(!unsafe)
M.bodytemperature = min(M.bodytemperature - (get_cold * A.stage), BODYTEMP_COLD_DAMAGE_LIMIT + 1)
else
M.bodytemperature -= (get_cold * A.stage)
- return 1
\ No newline at end of file
+ return 1
diff --git a/code/datums/diseases/advance/symptoms/sneeze.dm b/code/datums/diseases/advance/symptoms/sneeze.dm
index 085b5ff592..8b5b59f71a 100644
--- a/code/datums/diseases/advance/symptoms/sneeze.dm
+++ b/code/datums/diseases/advance/symptoms/sneeze.dm
@@ -31,7 +31,8 @@ Bonus
Stealth 4: The symptom remains hidden until active."
/datum/symptom/sneeze/Start(datum/disease/advance/A)
- ..()
+ if(!..())
+ return
if(A.properties["transmittable"] >= 9) //longer spread range
power = 2
if(A.properties["stealth"] >= 4)
diff --git a/code/datums/diseases/advance/symptoms/symptoms.dm b/code/datums/diseases/advance/symptoms/symptoms.dm
index 8557375dbd..84e5884ffb 100644
--- a/code/datums/diseases/advance/symptoms/symptoms.dm
+++ b/code/datums/diseases/advance/symptoms/symptoms.dm
@@ -1,20 +1,20 @@
-// Symptoms are the effects that engineered advanced diseases do.
-
-/datum/symptom
- // Buffs/Debuffs the symptom has to the overall engineered disease.
- var/name = ""
+// Symptoms are the effects that engineered advanced diseases do.
+
+/datum/symptom
+ // Buffs/Debuffs the symptom has to the overall engineered disease.
+ var/name = ""
var/desc = "If you see this something went very wrong." //Basic symptom description
var/threshold_desc = "" //Description of threshold effects
- var/stealth = 0
- var/resistance = 0
- var/stage_speed = 0
- var/transmittable = 0
- // The type level of the symptom. Higher is harder to generate.
- var/level = 0
- // The severity level of the symptom. Higher is more dangerous.
- var/severity = 0
- // The hash tag for our diseases, we will add it up with our other symptoms to get a unique id! ID MUST BE UNIQUE!!!
- var/id = ""
+ var/stealth = 0
+ var/resistance = 0
+ var/stage_speed = 0
+ var/transmittable = 0
+ // The type level of the symptom. Higher is harder to generate.
+ var/level = 0
+ // The severity level of the symptom. Higher is more dangerous.
+ var/severity = 0
+ // The hash tag for our diseases, we will add it up with our other symptoms to get a unique id! ID MUST BE UNIQUE!!!
+ var/id = ""
//Base chance of sending warning messages, so it can be modified
var/base_message_chance = 10
//If the early warnings are suppressed or not
@@ -28,24 +28,29 @@
//A neutered symptom has no effect, and only affects statistics.
var/neutered = FALSE
var/list/thresholds
-
-/datum/symptom/New()
- var/list/S = SSdisease.list_symptoms
- for(var/i = 1; i <= S.len; i++)
+
+/datum/symptom/New()
+ var/list/S = SSdisease.list_symptoms
+ for(var/i = 1; i <= S.len; i++)
if(type == S[i])
- id = "[i]"
- return
- CRASH("We couldn't assign an ID!")
-
-// Called when processing of the advance disease, which holds this symptom, starts.
-/datum/symptom/proc/Start(datum/disease/advance/A)
+ id = "[i]"
+ return
+ CRASH("We couldn't assign an ID!")
+
+// Called when processing of the advance disease, which holds this symptom, starts.
+/datum/symptom/proc/Start(datum/disease/advance/A)
+ if(neutered)
+ return FALSE
next_activation = world.time + rand(symptom_delay_min * 10, symptom_delay_max * 10) //so it doesn't instantly activate on infection
-
-// Called when the advance disease is going to be deleted or when the advance disease stops processing.
-/datum/symptom/proc/End(datum/disease/advance/A)
- return
-
-/datum/symptom/proc/Activate(datum/disease/advance/A)
+ return TRUE
+
+// Called when the advance disease is going to be deleted or when the advance disease stops processing.
+/datum/symptom/proc/End(datum/disease/advance/A)
+ if(neutered)
+ return FALSE
+ return TRUE
+
+/datum/symptom/proc/Activate(datum/disease/advance/A)
if(neutered)
return FALSE
if(world.time < next_activation)
@@ -53,7 +58,7 @@
else
next_activation = world.time + rand(symptom_delay_min * 10, symptom_delay_max * 10)
return TRUE
-
+
/datum/symptom/proc/Copy()
var/datum/symptom/new_symp = new type
new_symp.name = name
diff --git a/code/datums/diseases/advance/symptoms/viral.dm b/code/datums/diseases/advance/symptoms/viral.dm
index ef8822470e..960ccd8096 100644
--- a/code/datums/diseases/advance/symptoms/viral.dm
+++ b/code/datums/diseases/advance/symptoms/viral.dm
@@ -97,7 +97,8 @@ Bonus
A.cure()
/datum/symptom/viralreverse/Start(datum/disease/advance/A)
- ..()
+ if(!..())
+ return
A.stage = 5
if(A.properties["stealth"] >= 4) //more time before it's cured
power = 2
diff --git a/code/datums/diseases/advance/symptoms/vision.dm b/code/datums/diseases/advance/symptoms/vision.dm
index 04f5d72ba6..2f29091071 100644
--- a/code/datums/diseases/advance/symptoms/vision.dm
+++ b/code/datums/diseases/advance/symptoms/vision.dm
@@ -33,7 +33,8 @@ Bonus
Stealth 4: The symptom remains hidden until active."
/datum/symptom/visionloss/Start(datum/disease/advance/A)
- ..()
+ if(!..())
+ return
if(A.properties["stealth"] >= 4)
suppress_warning = TRUE
if(A.properties["resistance"] >= 12) //goodbye eyes
diff --git a/code/datums/diseases/advance/symptoms/voice_change.dm b/code/datums/diseases/advance/symptoms/voice_change.dm
index bdeb6321bc..5f0b83e5c8 100644
--- a/code/datums/diseases/advance/symptoms/voice_change.dm
+++ b/code/datums/diseases/advance/symptoms/voice_change.dm
@@ -1,30 +1,30 @@
-/*
-//////////////////////////////////////
-
-Voice Change
-
+/*
+//////////////////////////////////////
+
+Voice Change
+
Noticeable.
Lowers resistance.
- Decreases stage speed.
+ Decreases stage speed.
Increased transmittable.
- Fatal Level.
-
-Bonus
- Changes the voice of the affected mob. Causing confusion in communication.
-
-//////////////////////////////////////
-*/
-
-/datum/symptom/voice_change
-
- name = "Voice Change"
+ Fatal Level.
+
+Bonus
+ Changes the voice of the affected mob. Causing confusion in communication.
+
+//////////////////////////////////////
+*/
+
+/datum/symptom/voice_change
+
+ name = "Voice Change"
desc = "The virus alters the pitch and tone of the host's vocal cords, changing how their voice sounds."
stealth = -1
resistance = -2
stage_speed = -2
transmittable = 2
- level = 6
- severity = 2
+ level = 6
+ severity = 2
base_message_chance = 100
symptom_delay_min = 60
symptom_delay_max = 120
@@ -34,9 +34,10 @@ Bonus
threshold_desc = "Transmission 14: The host's language center of the brain is damaged, leading to complete inability to speak or understand any language.
\
Stage Speed 7: Changes voice more often.
\
Stealth 3: The symptom remains hidden until active."
-
+
/datum/symptom/voice_change/Start(datum/disease/advance/A)
- ..()
+ if(!..())
+ return
if(A.properties["stealth"] >= 3)
suppress_warning = TRUE
if(A.properties["stage_rate"] >= 7) //faster change of voice
@@ -48,7 +49,7 @@ Bonus
var/mob/living/M = A.affected_mob
var/datum/language_holder/mob_language = M.get_language_holder()
original_language = mob_language.copy()
-
+
/datum/symptom/voice_change/Activate(datum/disease/advance/A)
if(!..())
return
@@ -56,7 +57,7 @@ Bonus
switch(A.stage)
if(1, 2, 3, 4)
if(prob(base_message_chance) && !suppress_warning)
- to_chat(M, "[pick("Your throat hurts.", "You clear your throat.")]")
+ to_chat(M, "[pick("Your throat hurts.", "You clear your throat.")]")
else
if(ishuman(M))
var/mob/living/carbon/human/H = M
@@ -67,12 +68,12 @@ Bonus
H.grant_language(current_language)
var/datum/language_holder/mob_language = H.get_language_holder()
mob_language.only_speaks_language = current_language
-
-/datum/symptom/voice_change/End(datum/disease/advance/A)
- ..()
- if(ishuman(A.affected_mob))
- var/mob/living/carbon/human/H = A.affected_mob
- H.UnsetSpecialVoice()
+
+/datum/symptom/voice_change/End(datum/disease/advance/A)
+ ..()
+ if(ishuman(A.affected_mob))
+ var/mob/living/carbon/human/H = A.affected_mob
+ H.UnsetSpecialVoice()
if(scramble_language)
var/mob/living/M = A.affected_mob
M.copy_known_languages_from(original_language, TRUE)
diff --git a/code/datums/diseases/advance/symptoms/vomit.dm b/code/datums/diseases/advance/symptoms/vomit.dm
index 983d20a66d..e271bce5ed 100644
--- a/code/datums/diseases/advance/symptoms/vomit.dm
+++ b/code/datums/diseases/advance/symptoms/vomit.dm
@@ -39,7 +39,8 @@ Bonus
Stealth 4: The symptom remains hidden until active."
/datum/symptom/vomit/Start(datum/disease/advance/A)
- ..()
+ if(!..())
+ return
if(A.properties["stealth"] >= 4)
suppress_warning = TRUE
if(A.properties["resistance"] >= 7) //blood vomit
diff --git a/code/datums/diseases/advance/symptoms/weight.dm b/code/datums/diseases/advance/symptoms/weight.dm
index ea2577b800..c9e610aa3b 100644
--- a/code/datums/diseases/advance/symptoms/weight.dm
+++ b/code/datums/diseases/advance/symptoms/weight.dm
@@ -1,40 +1,41 @@
-/*
-//////////////////////////////////////
-
-Weight Gain
-
- Very Very Noticable.
- Decreases resistance.
- Decreases stage speed.
- Reduced transmittable.
- Intense Level.
-
-Bonus
- Increases the weight gain of the mob,
- forcing it to eventually turn fat.
-//////////////////////////////////////
-*/
-
-/datum/symptom/weight_gain
-
- name = "Weight Gain"
+/*
+//////////////////////////////////////
+
+Weight Gain
+
+ Very Very Noticable.
+ Decreases resistance.
+ Decreases stage speed.
+ Reduced transmittable.
+ Intense Level.
+
+Bonus
+ Increases the weight gain of the mob,
+ forcing it to eventually turn fat.
+//////////////////////////////////////
+*/
+
+/datum/symptom/weight_gain
+
+ name = "Weight Gain"
desc = "The virus mutates the host's metabolism, making it gain weight much faster than normal."
- stealth = -3
- resistance = -3
- stage_speed = -2
- transmittable = -2
- level = 4
- severity = 1
+ stealth = -3
+ resistance = -3
+ stage_speed = -2
+ transmittable = -2
+ level = 4
+ severity = 1
base_message_chance = 100
symptom_delay_min = 15
symptom_delay_max = 45
threshold_desc = "Stealth 4: The symptom is less noticeable."
-
+
/datum/symptom/weight_gain/Start(datum/disease/advance/A)
- ..()
+ if(!..())
+ return
if(A.properties["stealth"] >= 4) //warn less often
base_message_chance = 25
-
+
/datum/symptom/weight_gain/Activate(datum/disease/advance/A)
if(!..())
return
@@ -46,45 +47,46 @@ Bonus
else
M.overeatduration = min(M.overeatduration + 100, 600)
M.nutrition = min(M.nutrition + 100, NUTRITION_LEVEL_FULL)
-
-/*
-//////////////////////////////////////
-
-Weight Loss
-
- Very Very Noticable.
- Decreases resistance.
- Decreases stage speed.
- Reduced Transmittable.
- High level.
-
-Bonus
- Decreases the weight of the mob,
- forcing it to be skinny.
-
-//////////////////////////////////////
-*/
-
-/datum/symptom/weight_loss
-
- name = "Weight Loss"
+
+/*
+//////////////////////////////////////
+
+Weight Loss
+
+ Very Very Noticable.
+ Decreases resistance.
+ Decreases stage speed.
+ Reduced Transmittable.
+ High level.
+
+Bonus
+ Decreases the weight of the mob,
+ forcing it to be skinny.
+
+//////////////////////////////////////
+*/
+
+/datum/symptom/weight_loss
+
+ name = "Weight Loss"
desc = "The virus mutates the host's metabolism, making it almost unable to gain nutrition from food."
- stealth = -3
- resistance = -2
- stage_speed = -2
- transmittable = -2
- level = 3
- severity = 1
+ stealth = -3
+ resistance = -2
+ stage_speed = -2
+ transmittable = -2
+ level = 3
+ severity = 1
base_message_chance = 100
symptom_delay_min = 15
symptom_delay_max = 45
threshold_desc = "Stealth 4: The symptom is less noticeable."
-
+
/datum/symptom/weight_loss/Start(datum/disease/advance/A)
- ..()
+ if(!..())
+ return
if(A.properties["stealth"] >= 4) //warn less often
base_message_chance = 25
-
+
/datum/symptom/weight_loss/Activate(datum/disease/advance/A)
if(!..())
return
@@ -97,43 +99,43 @@ Bonus
to_chat(M, "[pick("So hungry...", "You'd kill someone for a bite of food...", "Hunger cramps seize you...")]")
M.overeatduration = max(M.overeatduration - 100, 0)
M.nutrition = max(M.nutrition - 100, 0)
-
-/*
-//////////////////////////////////////
-
-Weight Even
-
- Very Noticable.
- Decreases resistance.
- Decreases stage speed.
- Reduced transmittable.
- High level.
-
-Bonus
- Causes the weight of the mob to
- be even, meaning eating isn't
- required anymore.
-
-//////////////////////////////////////
-*/
-
-/datum/symptom/weight_even
-
- name = "Weight Even"
+
+/*
+//////////////////////////////////////
+
+Weight Even
+
+ Very Noticable.
+ Decreases resistance.
+ Decreases stage speed.
+ Reduced transmittable.
+ High level.
+
+Bonus
+ Causes the weight of the mob to
+ be even, meaning eating isn't
+ required anymore.
+
+//////////////////////////////////////
+*/
+
+/datum/symptom/weight_even
+
+ name = "Weight Even"
desc = "The virus alters the host's metabolism, making it far more efficient then normal, and synthesizing nutrients from normally unedible sources."
- stealth = -3
- resistance = -2
- stage_speed = -2
- transmittable = -2
- level = 4
+ stealth = -3
+ resistance = -2
+ stage_speed = -2
+ transmittable = -2
+ level = 4
symptom_delay_min = 5
symptom_delay_max = 5
-
-/datum/symptom/weight_even/Activate(datum/disease/advance/A)
+
+/datum/symptom/weight_even/Activate(datum/disease/advance/A)
if(!..())
return
var/mob/living/M = A.affected_mob
switch(A.stage)
if(4, 5)
M.overeatduration = 0
- M.nutrition = NUTRITION_LEVEL_WELL_FED + 50
\ No newline at end of file
+ M.nutrition = NUTRITION_LEVEL_WELL_FED + 50