diff --git a/code/datums/diseases/advance/symptoms/heal.dm b/code/datums/diseases/advance/symptoms/heal.dm
index 4fba54121f..104a4c00c2 100644
--- a/code/datums/diseases/advance/symptoms/heal.dm
+++ b/code/datums/diseases/advance/symptoms/heal.dm
@@ -9,20 +9,15 @@
base_message_chance = 20 //here used for the overlays
symptom_delay_min = 1
symptom_delay_max = 1
- var/hide_healing = FALSE
+ var/passive_message = "" //random message to infected but not actively healing people
threshold_desc = "Stage Speed 6: Doubles healing speed.
\
- Stage Speed 11: Triples healing speed.
\
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
power = 2
- if(A.properties["stage_rate"] >= 11) //even stronger healing
- power = 3
/datum/symptom/heal/Activate(datum/disease/advance/A)
if(!..())
@@ -31,299 +26,439 @@
var/mob/living/M = A.affected_mob
switch(A.stage)
if(4, 5)
- Heal(M, A)
+ var/effectiveness = CanHeal(A)
+ if(!effectiveness)
+ if(passive_message && prob(2) && passive_message_condition(M))
+ to_chat(M, passive_message)
+ return
+ else
+ Heal(M, A, effectiveness)
return
-/datum/symptom/heal/proc/Heal(mob/living/M, datum/disease/advance/A)
- return 1
+/datum/symptom/heal/proc/CanHeal(datum/disease/advance/A)
+ return power
-/*
-//////////////////////////////////////
+/datum/symptom/heal/proc/Heal(mob/living/M, datum/disease/advance/A, actual_power)
+ return TRUE
-Toxin Filter
+/datum/symptom/heal/proc/passive_message_condition(mob/living/M)
+ return TRUE
- Little bit hidden.
- Lowers resistance tremendously.
- Decreases stage speed tremendously.
- Decreases transmittablity temrendously.
- Fatal Level.
-
-Bonus
- Heals toxins in the affected mob's blood stream.
-
-//////////////////////////////////////
-*/
/datum/symptom/heal/toxin
- name = "Toxic Filter"
- desc = "The virus synthesizes regenerative chemicals in the bloodstream, repairing damage caused by toxins."
+ name = "Starlight Condensation"
+ desc = "The virus reacts to direct starlight, producing regenerative chemicals that can cure toxin damage."
stealth = 1
- resistance = -4
- stage_speed = -4
- transmittable = -4
+ resistance = -3
+ stage_speed = -3
+ transmittable = -3
level = 6
+ passive_message = "You miss the feeling of starlight on your skin."
+ var/nearspace_penalty = 0.3
+ threshold_desc = "Stage Speed 6: Increases healing speed.
\
+ Transmission 6: Removes penalty for only being close to space."
-/datum/symptom/heal/toxin/Heal(mob/living/M, datum/disease/advance/A)
- var/heal_amt = 1 * power
- if(M.toxloss > 0 && prob(base_message_chance) && !hide_healing)
- new /obj/effect/temp_visual/heal(get_turf(M), "#66FF99")
+/datum/symptom/heal/toxin/Start(datum/disease/advance/A)
+ if(!..())
+ return
+ if(A.properties["transmission"] >= 6)
+ nearspace_penalty = 1
+ if(A.properties["stage_rate"] >= 6)
+ power = 2
+
+/datum/symptom/heal/toxin/CanHeal(datum/disease/advance/A)
+ var/mob/living/M = A.affected_mob
+ if(istype(get_turf(M), /turf/open/space))
+ return power
+ else
+ for(var/turf/T in view(M, 2))
+ if(istype(T, /turf/open/space))
+ return power * nearspace_penalty
+
+/datum/symptom/heal/toxin/Heal(mob/living/M, datum/disease/advance/A, actual_power)
+ var/heal_amt = actual_power
+ if(M.getToxLoss() && prob(5))
+ to_chat(M, "Your skin tingles as the starlight purges toxins from your bloodstream.")
M.adjustToxLoss(-heal_amt)
return 1
-/*
-//////////////////////////////////////
+/datum/symptom/heal/toxin/passive_message_condition(mob/living/M)
+ if(M.getToxLoss())
+ return TRUE
+ return FALSE
-Apoptosis
-
- Lowers resistance.
- Decreases stage speed.
- Decreases transmittablity.
-
-Bonus
- Heals toxins in the affected mob's blood stream faster.
-
-//////////////////////////////////////
-*/
-
-/datum/symptom/heal/toxin/plus
-
- name = "Apoptoxin filter"
+/datum/symptom/heal/chem
+ name = "Toxolysis"
stealth = 0
resistance = -2
stage_speed = -2
transmittable = -2
- level = 8
- desc = "The virus stimulates production of special stem cells in the bloodstream, causing rapid reparation of any damage caused by toxins."
+ level = 7
+ var/food_conversion = FALSE
+ desc = "The virus rapidly breaks down any foreign chemicals in the bloodstream."
+ threshold_desc = "Resistance 7: Increases chem removal speed.
\
+ Stage Speed 6: Consumed chemicals nourish the host."
-/datum/symptom/heal/toxin/plus/Heal(mob/living/M, datum/disease/advance/A)
- var/heal_amt = 2 * power
- if(M.toxloss > 0 && prob(base_message_chance) && !hide_healing)
- new /obj/effect/temp_visual/heal(get_turf(M), "#00FF00")
- M.adjustToxLoss(-heal_amt)
+/datum/symptom/heal/chem/Start(datum/disease/advance/A)
+ if(!..())
+ return
+ if(A.properties["stage_rate"] >= 6)
+ food_conversion = TRUE
+ if(A.properties["resistance"] >= 7)
+ power = 2
+
+/datum/symptom/heal/chem/Heal(mob/living/M, datum/disease/advance/A, actual_power)
+ for(var/datum/reagent/R in M.reagents.reagent_list) //Not just toxins!
+ M.reagents.remove_reagent(R.id, actual_power)
+ if(food_conversion)
+ M.nutrition += 0.3
+ if(prob(2))
+ to_chat(M, "You feel a mild warmth as your blood purifies itself.")
return 1
-/*
-//////////////////////////////////////
-Regeneration
- Little bit hidden.
- Lowers resistance tremendously.
- Decreases stage speed tremendously.
- Decreases transmittablity temrendously.
- Fatal Level.
+/datum/symptom/heal/metabolism
+ name = "Metabolic Boost"
+ stealth = -1
+ resistance = -2
+ stage_speed = 2
+ transmittable = 1
+ level = 7
+ var/triple_metabolism = FALSE
+ var/reduced_hunger = FALSE
+ desc = "The virus causes the host's metabolism to accelerate rapidly, making them process chemicals twice as fast,\
+ but also causing increased hunger."
+ threshold_desc = "Stealth 3: Reduces hunger rate.
\
+ Stage Speed 10: Chemical metabolization is tripled instead of doubled."
-Bonus
- Heals brute damage slowly over time.
+/datum/symptom/heal/metabolism/Start(datum/disease/advance/A)
+ if(!..())
+ return
+ if(A.properties["stage_rate"] >= 10)
+ triple_metabolism = TRUE
+ if(A.properties["stealth"] >= 3)
+ reduced_hunger = TRUE
-//////////////////////////////////////
-*/
+/datum/symptom/heal/metabolism/Heal(mob/living/carbon/C, datum/disease/advance/A, actual_power)
+ if(!istype(C))
+ return
+ C.reagents.metabolize(C, can_overdose=TRUE) //this works even without a liver; it's intentional since the virus is metabolizing by itself
+ if(triple_metabolism)
+ C.reagents.metabolize(C, can_overdose=TRUE)
+ C.overeatduration = max(C.overeatduration - 2, 0)
+ var/lost_nutrition = 9 - (reduced_hunger * 5)
+ C.nutrition = max(C.nutrition - (lost_nutrition * HUNGER_FACTOR), 0) //Hunger depletes at 10x the normal speed
+ if(prob(2))
+ to_chat(C, "You feel an odd gurgle in your stomach, as if it was working much faster than normal.")
+ return 1
/datum/symptom/heal/brute
-
- name = "Regeneration"
- desc = "The virus stimulates the regenerative process in the host, causing faster wound healing."
+ name = "Cellular Molding"
+ desc = "The virus is able to shift cells around when in conditions of high heat, repairing existing physical damage."
stealth = 1
- resistance = -4
- stage_speed = -4
- transmittable = -4
+ resistance = -3
+ stage_speed = -3
+ transmittable = -3
level = 6
+ passive_message = "You feel the flesh pulsing under your skin for a moment, but it's too cold to move."
+ threshold_desc = "Stage Speed 8: Doubles healing speed."
-/datum/symptom/heal/brute/Heal(mob/living/carbon/M, datum/disease/advance/A)
- var/heal_amt = 2 * power
+/datum/symptom/heal/brute/Start(datum/disease/advance/A)
+ if(!..())
+ return
+ if(A.properties["stage_rate"] >= 8)
+ power = 2
+
+/datum/symptom/heal/brute/CanHeal(datum/disease/advance/A)
+ var/mob/living/M = A.affected_mob
+ switch(M.bodytemperature)
+ if(0 to 340)
+ return FALSE
+ if(340 to BODYTEMP_HEAT_DAMAGE_LIMIT)
+ . = 0.3 * power
+ if(BODYTEMP_HEAT_DAMAGE_LIMIT to 400)
+ . = 0.75 * power
+ if(400 to 460)
+ . = power
+ else
+ . = 1.5 * power
+
+ if(M.on_fire)
+ . *= 2
+
+/datum/symptom/heal/brute/Heal(mob/living/carbon/M, datum/disease/advance/A, actual_power)
+ var/heal_amt = 2 * actual_power
var/list/parts = M.get_damaged_bodyparts(1,0) //brute only
if(!parts.len)
return
+ if(prob(5))
+ to_chat(M, "You feel your flesh moving beneath your heated skin, mending your wounds.")
+
for(var/obj/item/bodypart/L in parts)
if(L.heal_damage(heal_amt/parts.len, 0))
M.update_damage_overlays()
-
- if(prob(base_message_chance) && !hide_healing)
- new /obj/effect/temp_visual/heal(get_turf(M), "#FF3333")
-
return 1
+/datum/symptom/heal/brute/passive_message_condition(mob/living/M)
+ if(M.getBruteLoss())
+ return TRUE
+ return FALSE
-/*
-//////////////////////////////////////
-
-Flesh Mending
-
- No resistance change.
- Decreases stage speed.
- Decreases transmittablity.
- Fatal Level.
-
-Bonus
- Heals brute damage over time. Turns cloneloss into burn damage.
-
-//////////////////////////////////////
-*/
-
-/datum/symptom/heal/brute/plus
-
- name = "Flesh Mending"
- desc = "The virus rapidly mutates into body cells, effectively allowing it to quickly fix the host's wounds."
+/datum/symptom/heal/coma
+ name = "Regenerative Coma"
+ desc = "The virus causes the host to fall into a death-like coma when severely damaged, then rapidly fixes the damage."
stealth = 0
resistance = 0
stage_speed = -2
transmittable = -2
level = 8
+ passive_message = "The pain from your wounds makes you feel oddly sleepy..."
+ var/deathgasp = FALSE
+ var/active_coma = FALSE //to prevent multiple coma procs
+ threshold_desc = "Stealth 2: Host appears to die when falling into a coma.
\
+ Stage Speed 7: Increases healing speed."
-/datum/symptom/heal/brute/plus/Heal(mob/living/carbon/M, datum/disease/advance/A)
- var/heal_amt = 4 * power
+/datum/symptom/heal/coma/Start(datum/disease/advance/A)
+ if(!..())
+ return
+ if(A.properties["stage_rate"] >= 7)
+ power = 1.5
+ if(A.properties["stealth"] >= 2)
+ deathgasp = TRUE
- var/list/parts = M.get_damaged_bodyparts(1,0) //brute only
+/datum/symptom/heal/coma/CanHeal(datum/disease/advance/A)
+ var/mob/living/M = A.affected_mob
+ if(M.status_flags & FAKEDEATH)
+ return power
+ else if(M.IsUnconscious() || M.stat == UNCONSCIOUS)
+ return power * 0.9
+ else if(M.stat == SOFT_CRIT)
+ return power * 0.5
+ else if(M.IsSleeping())
+ return power * 0.25
+ else if(M.getBruteLoss() + M.getFireLoss() >= 70 && !active_coma)
+ to_chat(M, "You feel yourself slip into a regenerative coma...")
+ active_coma = TRUE
+ addtimer(CALLBACK(src, .proc/coma, M), 60)
- if(M.getCloneLoss() > 0)
- M.adjustCloneLoss(-1)
- M.take_bodypart_damage(0, 1) //Deals BURN damage, which is not cured by this symptom
- if(!hide_healing)
- new /obj/effect/temp_visual/heal(get_turf(M), "#33FFCC")
+/datum/symptom/heal/coma/proc/coma(mob/living/M)
+ if(deathgasp)
+ M.emote("deathgasp")
+ M.status_flags |= FAKEDEATH
+ M.update_stat()
+ M.update_canmove()
+ addtimer(CALLBACK(src, .proc/uncoma, M), 300)
+
+/datum/symptom/heal/coma/proc/uncoma(mob/living/M)
+ if(!active_coma)
+ return
+ active_coma = FALSE
+ M.status_flags &= ~FAKEDEATH
+ M.update_stat()
+ M.update_canmove()
+
+/datum/symptom/heal/coma/Heal(mob/living/carbon/M, datum/disease/advance/A, actual_power)
+ var/heal_amt = 4 * actual_power
+
+ var/list/parts = M.get_damaged_bodyparts(1,1)
if(!parts.len)
return
for(var/obj/item/bodypart/L in parts)
- if(L.heal_damage(heal_amt/parts.len, 0))
+ if(L.heal_damage(heal_amt/parts.len, heal_amt/parts.len))
M.update_damage_overlays()
- if(prob(base_message_chance) && !hide_healing)
- new /obj/effect/temp_visual/heal(get_turf(M), "#CC1100")
+ if(active_coma && M.getBruteLoss() + M.getFireLoss() == 0)
+ uncoma(M)
return 1
-/*
-//////////////////////////////////////
-
-Tissue Regrowth
-
- Little bit hidden.
- Lowers resistance tremendously.
- Decreases stage speed tremendously.
- Decreases transmittablity temrendously.
- Fatal Level.
-
-Bonus
- Heals burn damage slowly over time.
-
-//////////////////////////////////////
-*/
+/datum/symptom/heal/coma/passive_message_condition(mob/living/M)
+ if((M.getBruteLoss() + M.getFireLoss()) > 30)
+ return TRUE
+ return FALSE
/datum/symptom/heal/burn
-
- name = "Tissue Regrowth"
- desc = "The virus recycles dead and burnt tissues, speeding up the healing of damage caused by burns."
+ name = "Tissue Hydration"
+ desc = "The virus uses excess water inside and outside the body to repair burned tisue cells."
stealth = 1
- resistance = -4
- stage_speed = -4
- transmittable = -4
+ resistance = -3
+ stage_speed = -3
+ transmittable = -3
level = 6
+ passive_message = "Your burned skin feels oddly dry..."
+ var/absorption_coeff = 1
+ threshold_desc = "Resistance 5: Water is consumed at a much slower rate.
\
+ Stage Speed 7: Increases healing speed."
-/datum/symptom/heal/burn/Heal(mob/living/carbon/M, datum/disease/advance/A)
- var/heal_amt = 2 * power
+/datum/symptom/heal/burn/Start(datum/disease/advance/A)
+ if(!..())
+ return
+ if(A.properties["stage_rate"] >= 7)
+ power = 2
+ if(A.properties["stealth"] >= 2)
+ absorption_coeff = 0.25
+
+/datum/symptom/heal/burn/CanHeal(datum/disease/advance/A)
+ . = 0
+ var/mob/living/M = A.affected_mob
+ if(M.fire_stacks < 0)
+ M.fire_stacks = min(M.fire_stacks + 1 * absorption_coeff, 0)
+ . += power
+ if(M.reagents.has_reagent("holywater"))
+ M.reagents.remove_reagent("holywater", 0.5 * absorption_coeff)
+ . += power * 0.75
+ else if(M.reagents.has_reagent("water"))
+ M.reagents.remove_reagent("water", 0.5 * absorption_coeff)
+ . += power * 0.5
+
+/datum/symptom/heal/burn/Heal(mob/living/carbon/M, datum/disease/advance/A, actual_power)
+ var/heal_amt = 2 * actual_power
var/list/parts = M.get_damaged_bodyparts(0,1) //burn only
if(!parts.len)
return
+ if(prob(5))
+ to_chat(M, "You feel yourself absorbing the water around you to soothe your burned skin.")
+
for(var/obj/item/bodypart/L in parts)
if(L.heal_damage(0, heal_amt/parts.len))
M.update_damage_overlays()
- if(prob(base_message_chance) && !hide_healing)
- new /obj/effect/temp_visual/heal(get_turf(M), "#FF9933")
return 1
+/datum/symptom/heal/burn/passive_message_condition(mob/living/M)
+ if(M.getFireLoss())
+ return TRUE
+ return FALSE
-/*
-//////////////////////////////////////
-
-Heat Resistance //Needs a better name
-
- No resistance change.
- Decreases stage speed.
- Decreases transmittablity.
- Fatal Level.
-
-Bonus
- Heals burn damage over time, and helps stabilize body temperature.
-
-//////////////////////////////////////
-*/
-
-/datum/symptom/heal/burn/plus
-
- name = "Temperature Adaptation"
- desc = "The virus quickly balances body heat, while also replacing tissues damaged by external sources."
+/datum/symptom/heal/plasma
+ name = "Plasma Fixation"
+ desc = "The virus draws plasma from the atmosphere and from inside the body to stabilize body temperature and heal burns."
stealth = 0
resistance = 0
stage_speed = -2
transmittable = -2
level = 8
+ passive_message = "You feel an odd attraction to plasma."
+ var/temp_rate = 1
+ threshold_desc = "Transmission 6: Increases temperature adjustment rate.
\
+ Stage Speed 7: Increases healing speed."
-/datum/symptom/heal/burn/plus/Heal(mob/living/carbon/M, datum/disease/advance/A)
- var/heal_amt = 4 * power
+/datum/symptom/heal/plasma/Start(datum/disease/advance/A)
+ if(!..())
+ return
+ if(A.properties["stage_rate"] >= 7)
+ power = 2
+ if(A.properties["trasmission"] >= 6)
+ temp_rate = 4
+
+/datum/symptom/heal/plasma/CanHeal(datum/disease/advance/A)
+ var/mob/living/M = A.affected_mob
+ var/datum/gas_mixture/environment
+ var/list/gases
+
+ . = 0
+
+ if(M.loc)
+ environment = M.loc.return_air()
+ if(environment)
+ gases = environment.gases
+ if(gases["plasma"] && gases["plasma"][MOLES] > gases["plasma"][GAS_META][META_GAS_MOLES_VISIBLE]) //if there's enough plasma in the air to see
+ . += power * 0.5
+ if(M.reagents.has_reagent("plasma"))
+ . += power * 0.75
+
+/datum/symptom/heal/plasma/Heal(mob/living/carbon/M, datum/disease/advance/A, actual_power)
+ var/heal_amt = 4 * actual_power
var/list/parts = M.get_damaged_bodyparts(0,1) //burn only
+ if(prob(5))
+ to_chat(M, "You feel yourself absorbing plasma inside and around you...")
+
if(M.bodytemperature > 310)
- M.bodytemperature = max(310, M.bodytemperature - (10 * heal_amt * TEMPERATURE_DAMAGE_COEFFICIENT))
+ M.bodytemperature = max(310, M.bodytemperature - (20 * temp_rate * TEMPERATURE_DAMAGE_COEFFICIENT))
+ if(prob(5))
+ to_chat(M, "You feel less hot.")
else if(M.bodytemperature < 311)
- M.bodytemperature = min(310, M.bodytemperature + (10 * heal_amt * TEMPERATURE_DAMAGE_COEFFICIENT))
+ M.bodytemperature = min(310, M.bodytemperature + (20 * temp_rate * TEMPERATURE_DAMAGE_COEFFICIENT))
+ if(prob(5))
+ to_chat(M, "You feel warmer.")
if(!parts.len)
return
+ if(prob(5))
+ to_chat(M, "The pain from your burns fades rapidly.")
for(var/obj/item/bodypart/L in parts)
if(L.heal_damage(0, heal_amt/parts.len))
M.update_damage_overlays()
-
- if(prob(base_message_chance) && !hide_healing)
- new /obj/effect/temp_visual/heal(get_turf(M), "#CC6600")
return 1
-/*
-//////////////////////////////////////
- DNA Restoration
-
- Not well hidden.
- Lowers resistance minorly.
- Does not affect stage speed.
- Decreases transmittablity greatly.
- Very high level.
-
-Bonus
- Heals brain damage, treats radiation, cleans SE of non-power mutations.
-
-//////////////////////////////////////
-*/
-
-/datum/symptom/heal/dna
-
- name = "Deoxyribonucleic Acid Restoration"
- desc = "The virus repairs the host's genome, purging negative mutations."
+/datum/symptom/heal/radiation
+ name = "Radioactive Resonance"
+ desc = "The virus uses radiation to fix damage through dna mutations."
stealth = -1
- resistance = -1
+ resistance = -2
stage_speed = 0
transmittable = -3
- level = 5
- symptom_delay_min = 3
- symptom_delay_max = 8
- threshold_desc = "Stage Speed 6: Additionally heals brain damage.
\
- Stage Speed 11: Increases brain damage healing."
+ level = 6
+ symptom_delay_min = 1
+ symptom_delay_max = 1
+ passive_message = "Your skin glows faintly for a moment."
+ var/cellular_damage = FALSE
+ threshold_desc = "Transmission 6: Additionally heals cellular damage.
\
+ Resistance 7: Increases healing speed."
-/datum/symptom/heal/dna/Heal(mob/living/carbon/M, datum/disease/advance/A)
- var/amt_healed = 2 * (power - 1)
- M.adjustBrainLoss(-amt_healed)
- //Non-power mutations, excluding race, so the virus does not force monkey -> human transformations.
- var/list/unclean_mutations = (GLOB.not_good_mutations|GLOB.bad_mutations) - GLOB.mutations_list[RACEMUT]
- M.dna.remove_mutation_group(unclean_mutations)
- M.radiation = max(M.radiation - (2 * amt_healed), 0)
+/datum/symptom/heal/radiation/Start(datum/disease/advance/A)
+ if(!..())
+ return
+ if(A.properties["resistance"] >= 7)
+ power = 2
+ if(A.properties["trasmission"] >= 6)
+ cellular_damage = TRUE
+
+/datum/symptom/heal/radiation/CanHeal(datum/disease/advance/A)
+ var/mob/living/M = A.affected_mob
+ switch(M.radiation)
+ if(0)
+ return FALSE
+ if(1 to RAD_MOB_SAFE)
+ return 0.25
+ if(RAD_MOB_SAFE to RAD_BURN_THRESHOLD)
+ return 0.5
+ if(RAD_BURN_THRESHOLD to RAD_MOB_MUTATE)
+ return 0.75
+ if(RAD_MOB_MUTATE to RAD_MOB_KNOCKDOWN)
+ return 1
+ else
+ return 1.5
+
+/datum/symptom/heal/radiation/Heal(mob/living/carbon/M, datum/disease/advance/A, actual_power)
+ var/heal_amt = actual_power
+
+ if(cellular_damage)
+ M.adjustCloneLoss(-heal_amt * 0.5)
+
+ var/list/parts = M.get_damaged_bodyparts(1,1)
+
+ if(!parts.len)
+ return
+
+ if(prob(4))
+ to_chat(M, "Your skin glows faintly, and you feel your wounds mending themselves.")
+
+ for(var/obj/item/bodypart/L in parts)
+ if(L.heal_damage(heal_amt/parts.len, heal_amt/parts.len))
+ M.update_damage_overlays()
return 1
diff --git a/code/datums/diseases/advance/symptoms/weight.dm b/code/datums/diseases/advance/symptoms/weight.dm
index f8f4343649..c502203f70 100644
--- a/code/datums/diseases/advance/symptoms/weight.dm
+++ b/code/datums/diseases/advance/symptoms/weight.dm
@@ -1,56 +1,6 @@
/*
//////////////////////////////////////
-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 = 3
- 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
- var/mob/living/M = A.affected_mob
- switch(A.stage)
- if(1, 2, 3, 4)
- if(prob(base_message_chance))
- to_chat(M, "[pick("You feel blubbery.", "Your stomach hurts.")]")
- else
- M.overeatduration = min(M.overeatduration + 100, 600)
- M.nutrition = min(M.nutrition + 100, NUTRITION_LEVEL_FULL)
-
-/*
-//////////////////////////////////////
-
Weight Loss
Very Very Noticable.
@@ -70,8 +20,8 @@ Bonus
name = "Weight Loss"
desc = "The virus mutates the host's metabolism, making it almost unable to gain nutrition from food."
- stealth = -3
- resistance = -2
+ stealth = -2
+ resistance = 2
stage_speed = -2
transmittable = -2
level = 3
@@ -98,6 +48,7 @@ Bonus
else
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)
+<<<<<<< HEAD
M.nutrition = max(M.nutrition - 100, 0)
/*
@@ -139,3 +90,6 @@ Bonus
if(4, 5)
M.overeatduration = 0
M.nutrition = NUTRITION_LEVEL_WELL_FED + 50
+=======
+ M.nutrition = max(M.nutrition - 100, 0)
+>>>>>>> fbe8889... [Super-Ready for review]Reworks healing symptoms into conditional healing symptoms (#32432)