From 5aafcf95697e0e472aaa87dad0211b838cd57f2c Mon Sep 17 00:00:00 2001
From: zeskorion <49600480+zeskorion@users.noreply.github.com>
Date: Thu, 9 Jan 2020 20:59:51 -0800
Subject: [PATCH 01/25] Update death.dm
---
code/modules/mob/living/death.dm | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/code/modules/mob/living/death.dm b/code/modules/mob/living/death.dm
index ad3c8982..66d895ed 100644
--- a/code/modules/mob/living/death.dm
+++ b/code/modules/mob/living/death.dm
@@ -48,6 +48,10 @@
/mob/living/proc/spawn_dust(just_ash = FALSE)
new /obj/effect/decal/cleanable/ash(loc)
+for(var/datum/disease/advance/D in diseases)
+ for(var/symptom in D.symptoms)
+ var/datum/symptom/S = symptom
+ S.OnDeath(D)
/mob/living/death(gibbed)
stat = DEAD
From 9573acc2cac3186363ce93cd52af7af49d565465 Mon Sep 17 00:00:00 2001
From: zeskorion <49600480+zeskorion@users.noreply.github.com>
Date: Thu, 9 Jan 2020 21:01:10 -0800
Subject: [PATCH 02/25] Add files via upload
---
.../mob/living/simple_animal/hostile/heart.dm | 35 +++++++++++++++++++
1 file changed, 35 insertions(+)
create mode 100644 code/modules/mob/living/simple_animal/hostile/heart.dm
diff --git a/code/modules/mob/living/simple_animal/hostile/heart.dm b/code/modules/mob/living/simple_animal/hostile/heart.dm
new file mode 100644
index 00000000..4e12b01b
--- /dev/null
+++ b/code/modules/mob/living/simple_animal/hostile/heart.dm
@@ -0,0 +1,35 @@
+/mob/living/simple_animal/hostile/heart
+ name = "Heart"
+ desc = "A living heart. It's angry!."
+ icon = 'icons/obj/surgery.dmi'
+ icon_state = "heart-on"
+ icon_living = "heart-on"
+ icon_dead = "heart-on"
+ gender = NEUTER
+ turns_per_move = 5
+ speak_emote = list("beats")
+ emote_see = list("beats")
+ a_intent = INTENT_HARM
+ maxHealth = 24
+ health = 24
+ speed = -1
+ harm_intent_damage = 5
+ melee_damage_lower = 15
+ melee_damage_upper = 15
+ response_help = "touches"
+ response_disarm = "beats"
+ response_harm = "breaks"
+ density = FALSE
+ attacktext = "beats"
+ ventcrawler = VENTCRAWLER_ALWAYS
+ attack_sound = 'sound/effects/singlebeat.ogg'
+ stat_attack = UNCONSCIOUS
+ attack_same = 1
+ gold_core_spawnable = HOSTILE_SPAWN
+ see_in_dark = 8
+ deathmessage = "falls lifeless."
+ del_on_death = 1
+ loot = list(/obj/item/organ/heart)
+ atmos_requirements = list("min_oxy" = 5, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0)
+ minbodytemp = 150
+ maxbodytemp = 500
From 2104ba551b3358ae6551ea23722ed9be0462e80d Mon Sep 17 00:00:00 2001
From: zeskorion <49600480+zeskorion@users.noreply.github.com>
Date: Thu, 9 Jan 2020 21:02:34 -0800
Subject: [PATCH 03/25] Update symptoms.dm
---
code/datums/diseases/advance/symptoms/symptoms.dm | 3 +++
1 file changed, 3 insertions(+)
diff --git a/code/datums/diseases/advance/symptoms/symptoms.dm b/code/datums/diseases/advance/symptoms/symptoms.dm
index 04fbf334..6d976089 100644
--- a/code/datums/diseases/advance/symptoms/symptoms.dm
+++ b/code/datums/diseases/advance/symptoms/symptoms.dm
@@ -66,6 +66,9 @@
new_symp.id = id
new_symp.neutered = neutered
return new_symp
+
+/datum/symptom/proc/OnDeath(datum/disease/advance/A)
+ return !neutered
/datum/symptom/proc/generate_threshold_desc()
return
From 52afe3d2a887a5663b2f652ec5864982b9642cce Mon Sep 17 00:00:00 2001
From: zeskorion <49600480+zeskorion@users.noreply.github.com>
Date: Thu, 9 Jan 2020 21:05:38 -0800
Subject: [PATCH 04/25] Add files via upload
---
.../diseases/advance/symptoms/beesymptom.dm | 69 +++++
.../diseases/advance/symptoms/braindamage.dm | 52 ++++
.../diseases/advance/symptoms/cockroach.dm | 58 ++++
code/datums/diseases/advance/symptoms/fire.dm | 26 +-
.../diseases/advance/symptoms/flesh_eating.dm | 265 +++++++++---------
.../diseases/advance/symptoms/heartattack.dm | 66 +++++
.../diseases/advance/symptoms/lubefeet.dm | 73 +++++
.../diseases/advance/symptoms/pierrot.dm | 79 ++++++
.../diseases/advance/symptoms/radiation.dm | 51 ++++
code/datums/diseases/advance/symptoms/skin.dm | 4 +-
.../datums/diseases/advance/symptoms/viral.dm | 58 ++++
11 files changed, 657 insertions(+), 144 deletions(-)
create mode 100644 code/datums/diseases/advance/symptoms/beesymptom.dm
create mode 100644 code/datums/diseases/advance/symptoms/braindamage.dm
create mode 100644 code/datums/diseases/advance/symptoms/cockroach.dm
create mode 100644 code/datums/diseases/advance/symptoms/heartattack.dm
create mode 100644 code/datums/diseases/advance/symptoms/lubefeet.dm
create mode 100644 code/datums/diseases/advance/symptoms/pierrot.dm
create mode 100644 code/datums/diseases/advance/symptoms/radiation.dm
diff --git a/code/datums/diseases/advance/symptoms/beesymptom.dm b/code/datums/diseases/advance/symptoms/beesymptom.dm
new file mode 100644
index 00000000..b56f2dc8
--- /dev/null
+++ b/code/datums/diseases/advance/symptoms/beesymptom.dm
@@ -0,0 +1,69 @@
+/datum/symptom/beesease
+ name = "Bee Infestation"
+ desc = "Causes the host to cough toxin bees and occasionally synthesize toxin."
+ stealth = -2
+ resistance = 2
+ stage_speed = 1
+ transmittable = 1
+ level = 9
+ severity = 5
+ symptom_delay_min = 5
+ symptom_delay_max = 20
+ var/honey = FALSE
+ var/toxic_bees= FALSE
+ threshold_desc = "Resistance 14: Host synthesizes honey instead of toxins, bees now sting with honey instead of toxin.
\
+ Transmission 10: Bees now contain a completely random toxin, unless resistance exceeds 14"
+
+/datum/symptom/beesease/Start(datum/disease/advance/A)
+ if(!..())
+ return
+ if(A.properties["resistance"] >= 14)
+ honey = TRUE
+ if(A.properties["transmittable"] >= 10)
+ toxic_bees = TRUE
+
+/datum/symptom/beesease/Activate(datum/disease/advance/A)
+ if(!..())
+ return
+ var/mob/living/M = A.affected_mob
+ switch(A.stage)
+ if(2)
+ if(prob(2))
+ to_chat(M, "You taste honey in your mouth.")
+ if(3)
+ if(prob(15))
+ to_chat(M, "Your stomach tingles.")
+ if(prob(15))
+ if(honey)
+ to_chat(M, "You can't get the taste of honey out of your mouth!.")
+ M.reagents.add_reagent(/datum/reagent/consumable/honey, 2)
+ else
+ to_chat(M, "Your stomach stings painfully.")
+ M.adjustToxLoss(5)
+ M.updatehealth()
+ if(4, 5)
+ if(prob(15))
+ to_chat(M, "Your stomach squirms.")
+ if(prob(15))
+ if(honey)
+ to_chat(M, "You can't get the taste of honey out of your mouth!.")
+ M.reagents.add_reagent_list(list(/datum/reagent/consumable/honey = 5, /datum/reagent/medicine/insulin = 15)) //honey rooooughly equivalent to 1.5u omnizine. due to how honey synthesizes 7.5 sugar per unit, the large amounts of insulin are necessary to prevent hyperglycaemic shock due to the bees
+ else
+ to_chat(M, "Your stomach stings painfully.")
+ M.adjustToxLoss(5)
+ M.updatehealth()
+ if(prob(10))
+ M.visible_message("[M] buzzes.", \
+ "Your stomach buzzes violently!")
+ if(prob(15))
+ to_chat(M, "You feel something moving in your throat.")
+ if(prob(10))
+ M.visible_message("[M] coughs up a bee!", \
+ "You cough up a bee!")
+ if(honey)
+ var/mob/living/simple_animal/hostile/poison/bees/B = new(M.loc)
+ B.assign_reagent(GLOB.chemical_reagents_list[/datum/reagent/consumable/honey])
+ else if(toxic_bees)
+ new /mob/living/simple_animal/hostile/poison/bees/toxin(M.loc)
+ else
+ new /mob/living/simple_animal/hostile/poison/bees(M.loc)
diff --git a/code/datums/diseases/advance/symptoms/braindamage.dm b/code/datums/diseases/advance/symptoms/braindamage.dm
new file mode 100644
index 00000000..c8ee596e
--- /dev/null
+++ b/code/datums/diseases/advance/symptoms/braindamage.dm
@@ -0,0 +1,52 @@
+/datum/symptom/braindamage
+ name = "Neural Decay"
+ desc = "Causes the host's brain cells to naturally die off, causing severe brain damage."
+ stealth = 1
+ resistance = -2
+ stage_speed = -3
+ transmittable = -1
+ level = 8
+ severity = 5
+ symptom_delay_min = 15
+ symptom_delay_max = 60
+ var/lethal = FALSE
+ var/moretrauma = FALSE
+ threshold_desc = "transmission 12: The disease's damage reaches lethal levels.
\
+ Speed 9: Host's brain develops even more traumas than normal."
+
+/datum/symptom/braindamage/Start(datum/disease/advance/A)
+ if(!..())
+ return
+ if(A.properties["transmission"] >= 12)
+ lethal = TRUE
+ if(A.properties["speed"] >= 9)
+ moretrauma = TRUE
+
+/datum/symptom/braindamage/Activate(datum/disease/advance/A)
+ if(!..())
+ return
+ var/mob/living/M = A.affected_mob
+ switch(A.stage)
+ if(1)
+ if(prob(10))
+ to_chat(M, "Your head feels strange...")
+ if(2, 3)
+ if(prob(10))
+ to_chat(M, "Your brain begins hurting...")
+ if(4, 5)
+ if(lethal)
+ if(prob(35))
+ M.adjustBrainLoss(rand(5,90), 200)
+ to_chat(M, "Your brain hurts immensely!")
+ else
+ if(prob(35))
+ M.adjustBrainLoss(rand(5,90), 120)
+ to_chat(M, "Your head hurts immensely!")
+ if(moretrauma && A.stage == 5)
+ givetrauma(A, 10)
+
+/datum/symptom/braindamage/proc/givetrauma(datum/disease/advance/A, chance)
+ if(prob(chance))
+ if(ishuman(A.affected_mob))
+ var/mob/living/carbon/human/M = A.affected_mob
+ M?.gain_trauma(BRAIN_TRAUMA_MILD)
diff --git a/code/datums/diseases/advance/symptoms/cockroach.dm b/code/datums/diseases/advance/symptoms/cockroach.dm
new file mode 100644
index 00000000..4a6a8516
--- /dev/null
+++ b/code/datums/diseases/advance/symptoms/cockroach.dm
@@ -0,0 +1,58 @@
+/datum/symptom/cockroach
+
+ name = "SBG Syndrome"
+ desc = "ERROR: BLUESPACE INTERFERENCE RENDERS COMPLETE ANALYSIS IMPOSSIBLE"
+ stealth = 0
+ resistance = 3
+ stage_speed = 3
+ transmittable = 1
+ level = 0
+ severity = 6 //the joke here is that this relatively mundane and harmless symptom, which only spawns cockroaches, seems incredibly frightening
+ symptom_delay_min = 10
+ symptom_delay_max = 30
+ var/death_roaches = FALSE
+ threshold_desc = "Stage Speed 8: CALCULATIONS FORECAST HEIGHTENED ACTIVITY
\
+ Transmission 8: CALCULATIONS FORECAST BRIEFLY ESCALATED ACTIVITY IMMEDIATELY FOLLOWING CESSATION OF HOST LIFESIGNS
"
+
+/datum/symptom/cockroach/Start(datum/disease/advance/A)
+ if(!..())
+ return
+ if(A.properties["stage_speed"] >= 8)
+ symptom_delay_min = 5
+ symptom_delay_max = 15
+ if(A.properties["transmittable"] >= 8)
+ death_roaches = TRUE
+
+/datum/symptom/cockroach/Activate(datum/disease/advance/A)
+ if(!..())
+ return
+ var/mob/living/M = A.affected_mob
+ switch(A.stage)
+ if(2)
+ if(prob(50))
+ to_chat(M, "You feel a tingle under your skin")
+ if(3)
+ if(prob(50))
+ to_chat(M, "Your pores feel drafty.")
+ if(prob(5))
+ to_chat(M, "You feel attuned to the atmosphere")
+ if(4)
+ if(prob(50))
+ to_chat(M, "You feel in tune with the station")
+ if(5)
+ if(prob(30))
+ M.visible_message("[M] squirms as a cockroach crawls from their pores!", \
+ "A cockroach crawls out of your face!!")
+ new /mob/living/simple_animal/cockroach(M.loc)
+ if(prob(50))
+ to_chat(M, "You feel something crawling in your pipes!")
+
+/datum/symptom/cockroach/OnDeath(datum/disease/advance/A)
+ if(!..())
+ return
+ if(death_roaches)
+ var/mob/living/M = A.affected_mob
+ to_chat(M, "Your pores explode into a colony of roaches!")
+ for(var/i in 1 to rand(1,5))
+ new /mob/living/simple_animal/cockroach(M.loc)
+
diff --git a/code/datums/diseases/advance/symptoms/fire.dm b/code/datums/diseases/advance/symptoms/fire.dm
index f85024a7..bb1da9ac 100644
--- a/code/datums/diseases/advance/symptoms/fire.dm
+++ b/code/datums/diseases/advance/symptoms/fire.dm
@@ -67,14 +67,14 @@ Bonus
/datum/symptom/fire/proc/Firestacks_stage_4(mob/living/M, datum/disease/advance/A)
M.adjust_fire_stacks(1 * power)
- M.adjustFireLoss(3 * power)
+ M.take_overall_damage(burn = 3 * power, required_status = BODYPART_ORGANIC)
if(infective)
A.spread(2)
return 1
/datum/symptom/fire/proc/Firestacks_stage_5(mob/living/M, datum/disease/advance/A)
M.adjust_fire_stacks(3 * power)
- M.adjustFireLoss(5 * power)
+ M.take_overall_damage(burn = 5 * power, required_status = BODYPART_ORGANIC)
if(infective)
A.spread(4)
return 1
@@ -105,7 +105,7 @@ Bonus
resistance = -2
stage_speed = -2
transmittable = -2
- level = 7
+ level = 9
severity = 6
base_message_chance = 100
symptom_delay_min = 30
@@ -137,32 +137,34 @@ Bonus
if(prob(base_message_chance))
to_chat(M, "[pick("Your veins boil.", "You feel hot.", "You smell meat cooking.")]")
if(4)
+ if(M.fire_stacks < 0)
+ M.visible_message("[M]'s sweat sizzles and pops on contact with water!")
+ explosion(get_turf(M),-1,(-1 + explosion_power),(2 * explosion_power))
Alkali_fire_stage_4(M, A)
M.IgniteMob()
to_chat(M, "Your sweat bursts into flames!")
M.emote("scream")
if(5)
+ if(M.fire_stacks < 0)
+ M.visible_message("[M]'s sweat sizzles and pops on contact with water!")
+ explosion(get_turf(M),-1,(-1 + explosion_power),(2 * explosion_power))
Alkali_fire_stage_5(M, A)
M.IgniteMob()
to_chat(M, "Your skin erupts into an inferno!")
M.emote("scream")
- if(M.fire_stacks < 0)
- M.visible_message("[M]'s sweat sizzles and pops on contact with water!")
- explosion(get_turf(M),0,0,2 * explosion_power)
- Alkali_fire_stage_5(M, A)
-
+
/datum/symptom/alkali/proc/Alkali_fire_stage_4(mob/living/M, datum/disease/advance/A)
var/get_stacks = 6 * power
M.adjust_fire_stacks(get_stacks)
- M.adjustFireLoss(get_stacks/2)
+ M.take_overall_damage(burn = get_stacks / 2, required_status = BODYPART_ORGANIC)
if(chems)
- M.reagents.add_reagent("clf3", 2 * power)
+ M.reagents.add_reagent(/datum/reagent/clf3, 2 * power)
return 1
/datum/symptom/alkali/proc/Alkali_fire_stage_5(mob/living/M, datum/disease/advance/A)
var/get_stacks = 8 * power
M.adjust_fire_stacks(get_stacks)
- M.adjustFireLoss(get_stacks)
+ M.take_overall_damage(burn = get_stacks, required_status = BODYPART_ORGANIC)
if(chems)
- M.reagents.add_reagent_list(list("napalm" = 4 * power, "clf3" = 4 * power))
+ M.reagents.add_reagent_list(list(/datum/reagent/napalm = 4 * power, /datum/reagent/clf3 = 4 * power))
return 1
diff --git a/code/datums/diseases/advance/symptoms/flesh_eating.dm b/code/datums/diseases/advance/symptoms/flesh_eating.dm
index 14a654c0..4919cd70 100644
--- a/code/datums/diseases/advance/symptoms/flesh_eating.dm
+++ b/code/datums/diseases/advance/symptoms/flesh_eating.dm
@@ -1,130 +1,135 @@
-/*
-//////////////////////////////////////
-
-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
- base_message_chance = 50
- symptom_delay_min = 15
- symptom_delay_max = 60
- var/bleed = FALSE
- 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
- pain = TRUE
-
-/datum/symptom/flesh_eating/Activate(datum/disease/advance/A)
- if(!..())
- return
- var/mob/living/M = A.affected_mob
- 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.")]")
- 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)
- var/get_damage = rand(15,25) * power
- 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"
- 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
- base_message_chance = 50
- symptom_delay_min = 3
- symptom_delay_max = 6
- var/chems = FALSE
- 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
- chems = TRUE
-
-/datum/symptom/flesh_death/Activate(datum/disease/advance/A)
- if(!..())
- return
- var/mob/living/M = A.affected_mob
- 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.")]")
- 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)
- var/get_damage = rand(6,10)
- 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
+/*
+//////////////////////////////////////
+
+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
+ base_message_chance = 50
+ symptom_delay_min = 15
+ symptom_delay_max = 60
+ var/bleed = FALSE
+ 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
+ pain = TRUE
+
+/datum/symptom/flesh_eating/Activate(datum/disease/advance/A)
+ if(!..())
+ return
+ var/mob/living/M = A.affected_mob
+ 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.")]")
+ 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)
+ var/get_damage = rand(15,25) * power
+ M.take_overall_damage(brute = get_damage, required_status = BODYPART_ORGANIC)
+ if(pain)
+ M.adjustStaminaLoss(get_damage * 2)
+ 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"
+ desc = "The virus rapidly consumes infected cells, leading to heavy and widespread damage. Contains dormant prions- expert virologists believe it to be the precursor to Romerol, though the mechanism through which they are activated is largely unknown"
+ stealth = -2
+ resistance = -2
+ stage_speed = 1
+ transmittable = -2
+ level = 9
+ severity = 6
+ base_message_chance = 50
+ symptom_delay_min = 3
+ symptom_delay_max = 6
+ var/chems = FALSE
+ 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
+ chems = TRUE
+ if((A.properties["stealth"] >= 2) && (A.properties["stage_rate"] >= 12))
+ zombie = TRUE
+
+/datum/symptom/flesh_death/Activate(datum/disease/advance/A)
+ if(!..())
+ return
+ var/mob/living/M = A.affected_mob
+ 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.")]")
+ 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)
+ var/get_damage = rand(6,10)
+ M.take_overall_damage(brute = get_damage, required_status = BODYPART_ORGANIC)
+ if(chems)
+ M.reagents.add_reagent_list(list(/datum/reagent/toxin/heparin = 2, /datum/reagent/toxin/lipolicide = 2))
+ if(zombie)
+ if(ishuman(A.affected_mob))
+ if(!A.affected_mob.getorganslot(ORGAN_SLOT_ZOMBIE))
+ var/obj/item/organ/zombie_infection/ZI = new()
+ ZI.Insert(M)
+ return 1
diff --git a/code/datums/diseases/advance/symptoms/heartattack.dm b/code/datums/diseases/advance/symptoms/heartattack.dm
new file mode 100644
index 00000000..1ed93c8a
--- /dev/null
+++ b/code/datums/diseases/advance/symptoms/heartattack.dm
@@ -0,0 +1,66 @@
+/*
+//////////////////////////////////////
+
+Heart Disease
+
+ A bit stealthy
+ Slightly resistant
+ Quite slow
+ small transmission penalty
+ max level
+
+Bonus
+ heart attacks
+
+//////////////////////////////////////
+*/
+
+/datum/symptom/heartattack
+ name = "Heart Disease"
+ desc = "This disease infiltrates the host's heart, causing cardiac arrest after a long incubation period"
+ stealth = 2
+ resistance = 1
+ stage_speed = -6
+ transmittable = -2
+ level = 9
+ severity = 6
+ symptom_delay_min = 1
+ symptom_delay_max = 1
+ var/heartattack = FALSE
+ threshold_desc = "Transmission 10: When the victim has a heart attack, their heart will pop right out of their chest, and attack!.
\
+ Stealth 2: The disease is somewhat less noticable to the host."
+
+/datum/symptom/heartattack/Start(datum/disease/advance/A)
+ if(!..())
+ return
+ if(A.properties["transmission"] >= 10)
+ heartattack = TRUE
+ if(A.properties["stealth"] >= 2)
+ suppress_warning = TRUE
+
+/datum/symptom/heartattack/Activate(datum/disease/advance/A)
+ if(!..())
+ return
+ var/mob/living/carbon/M = A.affected_mob
+ if(suppress_warning && M.can_heartattack())
+ if(prob(2))
+ to_chat(M, "[pick("Your chest aches.", "You need to sit down.", "You feel out of breath.")]")
+ else if(prob(2) && M.can_heartattack())
+ to_chat(M, "[pick("Your chest hurts!.", "You feel like your heart skipped a beat!")]")
+ if(A.stage == 5)
+ if(M.getorgan(/obj/item/organ/heart) && M.can_heartattack())
+ if(prob(1) && prob(50))
+ M.set_heartattack(TRUE)
+ to_chat(M, "Your heart stops!")
+ if(heartattack)
+ heartattack(M, A)
+
+/datum/symptom/heartattack/proc/heartattack(mob/living/M, datum/disease/advance/A)
+ var/obj/item/organ/heart/heart = M.getorganslot(ORGAN_SLOT_HEART)
+ if(M.getorgan(/obj/item/organ/heart))
+ heart.Remove(M)
+ qdel(heart)
+ to_chat(M, "Your heart bursts out of your chest! It looks furious!")
+ new /mob/living/simple_animal/hostile/heart(M.loc)
+
+
diff --git a/code/datums/diseases/advance/symptoms/lubefeet.dm b/code/datums/diseases/advance/symptoms/lubefeet.dm
new file mode 100644
index 00000000..29a44205
--- /dev/null
+++ b/code/datums/diseases/advance/symptoms/lubefeet.dm
@@ -0,0 +1,73 @@
+/datum/symptom/lubefeet
+ name = "Ducatopod"
+ desc = "The host now sweats industrial lubricant from their feet, lubing tiles they walk on. Combine with Pierrot's throat for the penultimate form of torture."
+ stealth = -4
+ resistance = -2
+ stage_speed = 4
+ transmittable = 1
+ level = 9
+ severity = 3
+ symptom_delay_min = 1
+ symptom_delay_max = 3
+ var/morelube = FALSE
+ var/clownshoes = TRUE
+ threshold_desc = "Transmission 10: The host sweats even more profusely, lubing almost every tile they walk over
\
+ Resistance 12: The host's feet turn into a pair of clown shoes."
+
+/datum/symptom/lubefeet/Start(datum/disease/advance/A)
+ if(!..())
+ return
+ if(A.properties["transmission"] >= 10)
+ morelube = TRUE
+ if(A.properties["resistance"] >= 12)
+ clownshoes = TRUE
+
+/datum/symptom/lubefeet/Activate(datum/disease/advance/A)
+ if(!..())
+ return
+ var/mob/living/M = A.affected_mob
+ switch(A.stage)
+ if(1, 2)
+ if(prob(15))
+ to_chat(M, "Your feet begin to sweat profusely...")
+ if(3, 4)
+ to_chat(M, "You slide about inside your shoes!")
+ if(A.stage == 4 || A.stage == 5)
+ if(morelube)
+ makelube(M, 40)
+ else
+ makelube(M, 20)
+ if(5)
+ to_chat(M, "You slide about inside your shoes!")
+ if(A.stage == 4 || A.stage == 5)
+ if(morelube)
+ makelube(M, 99)
+ else
+ makelube(M, 50)
+ if(clownshoes)
+ give_clown_shoes(A)
+
+/datum/symptom/lubefeet/proc/makelube(mob/living/carbon/M, chance)
+ if(prob(chance))
+ var/turf/open/OT = get_turf(M)
+ if(istype(OT))
+ to_chat(M, "The lube pools into a puddle!")
+ OT.MakeSlippery(TURF_WET_LUBE, min_wet_time = 20 SECONDS, wet_time_to_add = 10 SECONDS)
+
+/datum/symptom/lubefeet/End(datum/disease/advance/A)
+ ..()
+ if(ishuman(A.affected_mob))
+ var/mob/living/carbon/human/M = A.affected_mob
+ if(istype(M.shoes, /obj/item/clothing/shoes/clown_shoes))
+ REMOVE_TRAIT(M.shoes, TRAIT_NODROP, DISEASE_TRAIT)
+
+/datum/symptom/lubefeet/proc/give_clown_shoes(datum/disease/advance/A)
+ if(ishuman(A.affected_mob))
+ var/mob/living/carbon/human/M = A.affected_mob
+ if(!istype(M.shoes, /obj/item/clothing/shoes/clown_shoes))
+ if(!M.dropItemToGround(M.shoes))
+ qdel(M.shoes)
+ var/obj/item/clothing/C = new /obj/item/clothing/shoes/clown_shoes(M)
+ ADD_TRAIT(C, TRAIT_NODROP, DISEASE_TRAIT)
+ M.equip_to_slot_or_del(C, SLOT_SHOES)
+ return
diff --git a/code/datums/diseases/advance/symptoms/pierrot.dm b/code/datums/diseases/advance/symptoms/pierrot.dm
new file mode 100644
index 00000000..e58a782d
--- /dev/null
+++ b/code/datums/diseases/advance/symptoms/pierrot.dm
@@ -0,0 +1,79 @@
+/datum/symptom/pierrot
+ name = "Pierrot's Throat"
+ desc = "Causes the host to honk randomly"
+ stealth = -1
+ resistance = 3
+ stage_speed = 1
+ transmittable = 2
+ level = 0
+ severity = 1
+ symptom_delay_min = 2
+ symptom_delay_max = 15
+ var/honkspread = FALSE
+ var/clownmask = FALSE
+ var/clumsy = FALSE
+ threshold_desc = "Transmission 10: There's a rare chance the disease is spread everytime the host honks.
\
+ Resistance 10: The host grows a peculiar clown mask.
\
+ Resistance 15: Host becomes clumsy, similar to a clown."
+
+/datum/symptom/pierrot/Start(datum/disease/advance/A)
+ if(!..())
+ return
+ if(A.properties["transmission"] >= 10)
+ honkspread = TRUE
+ if(A.properties["resistance"] >= 10)
+ clownmask = TRUE
+ if(A.properties["resistance"] >= 15)
+ clumsy = TRUE
+
+/datum/symptom/pierrot/Activate(datum/disease/advance/A)
+ if(!..())
+ return
+ var/mob/living/M = A.affected_mob
+ switch(A.stage)
+ if(1)
+ if(prob(30))
+ to_chat(M, "You feel a little silly.")
+ if(2)
+ if(prob(30))
+ to_chat(M, "You start seeing rainbows.")
+ if(3)
+ if(prob(30))
+ to_chat(M, "Your thoughts are interrupted by a loud HONK!")
+ playsound(M, 'sound/items/bikehorn.ogg', 50, 1)
+ if(4, 5)
+ if(clumsy)
+ if(!HAS_TRAIT(M, TRAIT_CLUMSY))
+ to_chat(M, "You feel dumber.")
+ ADD_TRAIT(M, TRAIT_CLUMSY, DISEASE_TRAIT)
+ if(prob(30))
+ M.say( pick( list("HONK!", "Honk!", "Honk.", "Honk?", "Honk!!", "Honk?!", "Honk...") ))
+ if(A.stage == 5)
+ if(clownmask)
+ give_clown_mask(A)
+ if(prob(5))
+ playsound(M.loc, 'sound/items/bikehorn.ogg', 50, 1)
+ if(honkspread && prob(25))
+ A.spread(1)
+
+/datum/symptom/pierrot/End(datum/disease/advance/A)
+ ..()
+ if(!A.affected_mob.job == "Clown")
+ to_chat(A.affected_mob, "You feel less dumb.")
+ REMOVE_TRAIT(A.affected_mob, TRAIT_CLUMSY, DISEASE_TRAIT)
+ if(ishuman(A.affected_mob))
+ var/mob/living/carbon/human/M = A.affected_mob
+ if(istype(M.wear_mask, /obj/item/clothing/mask/gas/clown_hat))
+ REMOVE_TRAIT(M.wear_mask, TRAIT_NODROP, DISEASE_TRAIT)
+
+
+/datum/symptom/pierrot/proc/give_clown_mask(datum/disease/advance/A)
+ if(ishuman(A.affected_mob))
+ var/mob/living/carbon/human/M = A.affected_mob
+ if(!istype(M.wear_mask, /obj/item/clothing/mask/gas/clown_hat))
+ if(!M.dropItemToGround(M.wear_mask))
+ qdel(M.wear_mask)
+ var/obj/item/clothing/C = new /obj/item/clothing/mask/gas/clown_hat(M)
+ ADD_TRAIT(C, TRAIT_NODROP, DISEASE_TRAIT)
+ M.equip_to_slot_or_del(C, SLOT_WEAR_MASK)
+ return
diff --git a/code/datums/diseases/advance/symptoms/radiation.dm b/code/datums/diseases/advance/symptoms/radiation.dm
new file mode 100644
index 00000000..c52ae6a8
--- /dev/null
+++ b/code/datums/diseases/advance/symptoms/radiation.dm
@@ -0,0 +1,51 @@
+/datum/symptom/radiation
+ name = "Iraddiant Cells"
+ desc = "Causes the cells in the host's body to give off harmful radiation."
+ stealth = -1
+ resistance = 2
+ stage_speed = -1
+ transmittable = 2
+ level = 8
+ severity = 4
+ symptom_delay_min = 1
+ symptom_delay_max = 4
+ var/fastrads = FALSE
+ var/radothers = FALSE
+ threshold_desc = "Transmission 12: Makes the host irradiate others around them as well.
\
+ Speed 8: Host takes radiation damage faster."
+
+/datum/symptom/radiation/Start(datum/disease/advance/A)
+ if(!..())
+ return
+ if(A.properties["transmission"] >= 10)
+ radothers = TRUE
+ if(A.properties["speed"] >= 8)
+ fastrads = TRUE
+
+/datum/symptom/radiation/Activate(datum/disease/advance/A)
+ if(!..())
+ return
+ var/mob/living/M = A.affected_mob
+ switch(A.stage)
+ if(1)
+ if(prob(10))
+ to_chat(M, "You feel off...")
+ if(2, 3)
+ if(prob(50))
+ to_chat(M, "You feel like the atoms inside you are beginning to split...")
+ if(4, 5)
+ if(fastrads)
+ radiate(M, 80)
+ else
+ radiate(M, 40)
+ if(radothers && A.stage == 5)
+ if(prob(40))
+ M.visible_message("[M] glows green for a moment!", \
+ "You feel a massive wave of pain flow through you!")
+ radiation_pulse(M, 20)
+
+
+/datum/symptom/radiation/proc/radiate(mob/living/carbon/M, chance)
+ if(prob(chance))
+ to_chat(M, "You feel a wave of pain throughout your body!")
+ M.radiation += 4
diff --git a/code/datums/diseases/advance/symptoms/skin.dm b/code/datums/diseases/advance/symptoms/skin.dm
index 300eecc8..2d8ec91f 100644
--- a/code/datums/diseases/advance/symptoms/skin.dm
+++ b/code/datums/diseases/advance/symptoms/skin.dm
@@ -63,8 +63,8 @@ BONUS
name = "Revitiligo"
desc = "The virus causes increased production of skin pigment cells, making the host's skin grow darker over time."
- stealth = -1
- resistance = 3
+ stealth = 1
+ resistance = 2
stage_speed = 1
transmittable = 2
level = 5
diff --git a/code/datums/diseases/advance/symptoms/viral.dm b/code/datums/diseases/advance/symptoms/viral.dm
index 55807aed..9fd9d5a0 100644
--- a/code/datums/diseases/advance/symptoms/viral.dm
+++ b/code/datums/diseases/advance/symptoms/viral.dm
@@ -46,3 +46,61 @@ BONUS
stage_speed = 5
transmittable = 3
level = 3
+
+/*
+//////////////////////////////////////
+
+Viral aggressive metabolism
+
+ Somewhat increased stealth.
+ Abysmal resistance.
+ Increased stage speed.
+ Poor transmitability.
+ Medium Level.
+
+Bonus
+ The virus starts at stage 5, but after a certain time will start curing itself.
+ Stages still increase naturally with stage speed.
+
+//////////////////////////////////////
+*/
+
+/datum/symptom/viralreverse
+
+ name = "Viral aggressive metabolism"
+ desc = "The virus sacrifices its long term survivability to nearly instantly fully spread inside a host. \
+ The virus will start at the last stage, but will eventually decay and die off by itself."
+ stealth = 1
+ resistance = -4
+ stage_speed = 3
+ transmittable = -3
+ level = 3
+ symptom_delay_min = 1
+ symptom_delay_max = 1
+ var/time_to_cure
+ threshold_desc = "Resistance/Stage Speed: Highest between these determines the amount of time before self-curing.
\
+ Stealth 4 Doubles the time before the virus self-cures"
+
+
+/datum/symptom/viralreverse/Activate(datum/disease/advance/A)
+ if(!..())
+ return
+ if(time_to_cure > 0)
+ time_to_cure--
+ else
+ var/mob/living/M = A.affected_mob
+ Heal(M, A)
+
+/datum/symptom/viralreverse/proc/Heal(mob/living/M, datum/disease/advance/A)
+ A.stage -= 1
+ if(A.stage < 2)
+ to_chat(M, "You suddenly feel healthy.")
+ 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
+ time_to_cure = max(A.properties["resistance"], A.properties["stage_rate"]) * 10 * power
From 86691eee19dcaef574c84d07917d8d51ac05bb68 Mon Sep 17 00:00:00 2001
From: zeskorion <49600480+zeskorion@users.noreply.github.com>
Date: Thu, 9 Jan 2020 21:17:16 -0800
Subject: [PATCH 05/25] Update tgstation.dme
---
tgstation.dme | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/tgstation.dme b/tgstation.dme
index 59160062..f66370ec 100644
--- a/tgstation.dme
+++ b/tgstation.dme
@@ -420,7 +420,10 @@
#include "code\datums\diseases\advance\advance.dm"
#include "code\datums\diseases\advance\presets.dm"
#include "code\datums\diseases\advance\symptoms\beard.dm"
+#include "code\datums\diseases\advance\symptoms\beesymptom.dm"
+#include "code\datums\diseases\advance\symptoms\braindamage.dm"
#include "code\datums\diseases\advance\symptoms\choking.dm"
+#include "code\datums\diseases\advance\symptoms\cockroach.dm"
#include "code\datums\diseases\advance\symptoms\confusion.dm"
#include "code\datums\diseases\advance\symptoms\cough.dm"
#include "code\datums\diseases\advance\symptoms\deafness.dm"
@@ -428,13 +431,18 @@
#include "code\datums\diseases\advance\symptoms\fever.dm"
#include "code\datums\diseases\advance\symptoms\fire.dm"
#include "code\datums\diseases\advance\symptoms\flesh_eating.dm"
+#include "code\datums\diseases\advance\symptoms\genetics.dm"
#include "code\datums\diseases\advance\symptoms\hallucigen.dm"
#include "code\datums\diseases\advance\symptoms\headache.dm"
#include "code\datums\diseases\advance\symptoms\heal.dm"
+#include "code\datums\diseases\advance\symptoms\heartattack.dm"
#include "code\datums\diseases\advance\symptoms\itching.dm"
+#include "code\datums\diseases\advance\symptoms\lubefeet.dm"
#include "code\datums\diseases\advance\symptoms\nanites.dm"
#include "code\datums\diseases\advance\symptoms\narcolepsy.dm"
#include "code\datums\diseases\advance\symptoms\oxygen.dm"
+#include "code\datums\diseases\advance\symptoms\pierrot.dm"
+#include "code\datums\diseases\advance\symptoms\radiation.dm"
#include "code\datums\diseases\advance\symptoms\sensory.dm"
#include "code\datums\diseases\advance\symptoms\shedding.dm"
#include "code\datums\diseases\advance\symptoms\shivering.dm"
@@ -447,6 +455,7 @@
#include "code\datums\diseases\advance\symptoms\voice_change.dm"
#include "code\datums\diseases\advance\symptoms\vomit.dm"
#include "code\datums\diseases\advance\symptoms\weight.dm"
+#include "code\datums\diseases\advance\symptoms\wizarditis.dm"
#include "code\datums\diseases\advance\symptoms\youth.dm"
#include "code\datums\helper_datums\events.dm"
#include "code\datums\helper_datums\getrev.dm"
@@ -2166,6 +2175,7 @@
#include "code\modules\mob\living\simple_animal\guardian\types\standard.dm"
#include "code\modules\mob\living\simple_animal\guardian\types\support.dm"
#include "code\modules\mob\living\simple_animal\hostile\alien.dm"
+#include "code\modules\mob\living\simple_animal\hostile\heart.dm
#include "code\modules\mob\living\simple_animal\hostile\bear.dm"
#include "code\modules\mob\living\simple_animal\hostile\bees.dm"
#include "code\modules\mob\living\simple_animal\hostile\carp.dm"
From 197a4d870fb651bb524e014b9b1f91f818256752 Mon Sep 17 00:00:00 2001
From: zeskorion <49600480+zeskorion@users.noreply.github.com>
Date: Thu, 9 Jan 2020 21:25:08 -0800
Subject: [PATCH 06/25] Add files via upload
---
.../diseases/advance/symptoms/wizarditis.dm | 110 ++++++++++++++++++
1 file changed, 110 insertions(+)
create mode 100644 code/datums/diseases/advance/symptoms/wizarditis.dm
diff --git a/code/datums/diseases/advance/symptoms/wizarditis.dm b/code/datums/diseases/advance/symptoms/wizarditis.dm
new file mode 100644
index 00000000..aa216bee
--- /dev/null
+++ b/code/datums/diseases/advance/symptoms/wizarditis.dm
@@ -0,0 +1,110 @@
+/datum/symptom/wizarditis
+ name = "Wizarditis"
+ desc = "Causes the host to subconciously believe they are in fact, a wizard."
+ stealth = 1
+ resistance = -2
+ stage_speed = -3
+ transmittable = -1
+ level = 0
+ severity = 3
+ symptom_delay_min = 15
+ symptom_delay_max = 45
+ var/teleport = FALSE
+ var/robes = FALSE
+ threshold_desc = "Transmission 14: The host teleports occasionally.
\
+ Speed 7: The host grows a set of wizard robes."
+
+/datum/symptom/wizarditis/Start(datum/disease/advance/A)
+ if(!..())
+ return
+ if(A.properties["transmission"] >= 14)
+ teleport = TRUE
+ if(A.properties["speed"] >= 7)
+ robes = TRUE
+
+/datum/symptom/wizarditis/Activate(datum/disease/advance/A)
+ if(!..())
+ return
+ var/mob/living/M = A.affected_mob
+ switch(A.stage)
+ if(2)
+ if(prob(30) && prob(50))
+ M.say(pick("You shall not pass!", "Expeliarmus!", "By Merlins beard!", "Feel the power of the Dark Side!"))
+ if(prob(30) && prob(50))
+ to_chat(M, "You feel [pick("that you don't have enough mana", "that the winds of magic are gone", "an urge to summon familiar")].")
+
+
+ if(3)
+ if(prob(30) && prob(50))
+ M.say(pick("NEC CANTIO!","AULIE OXIN FIERA!", "STI KALY!", "TARCOL MINTI ZHERI!"))
+ if(prob(30) && prob(50))
+ to_chat(M, "You feel [pick("the magic bubbling in your veins","that this location gives you a +1 to INT","an urge to summon familiar")].")
+
+ if(4)
+
+ if(prob(50))
+ M.say(pick("NEC CANTIO!","AULIE OXIN FIERA!","STI KALY!","EI NATH!"))
+ return
+ if(robes)
+ to_chat(M, "You feel [pick("the tidal wave of raw power building inside","that this location gives you a +2 to INT and +1 to WIS","an urge to teleport")].")
+ spawn_wizard_clothes(50, A)
+ if(prob(20) && teleport)
+ teleport(A)
+ return
+
+
+
+/datum/symptom/wizarditis/proc/spawn_wizard_clothes(chance = 0, datum/disease/advance/A)
+ if(ishuman(A.affected_mob))
+ var/mob/living/carbon/human/H = A.affected_mob
+ var/obj/item/clothing/C
+ if(prob(chance))
+ if(!istype(H.head, /obj/item/clothing/head/wizard))
+ if(!H.dropItemToGround(H.head))
+ qdel(H.head)
+ C = new /obj/item/clothing/head/wizard(H)
+ ADD_TRAIT(C, TRAIT_NODROP, DISEASE_TRAIT)
+ H.equip_to_slot_or_del(C, SLOT_HEAD)
+ return
+ if(prob(chance))
+ if(!istype(H.wear_suit, /obj/item/clothing/suit/wizrobe))
+ if(!H.dropItemToGround(H.wear_suit))
+ qdel(H.wear_suit)
+ C = new /obj/item/clothing/suit/wizrobe(H)
+ ADD_TRAIT(C, TRAIT_NODROP, DISEASE_TRAIT)
+ H.equip_to_slot_or_del(C, SLOT_WEAR_SUIT)
+ return
+ if(prob(chance))
+ if(!istype(H.shoes, /obj/item/clothing/shoes/sandal/magic))
+ if(!H.dropItemToGround(H.shoes))
+ qdel(H.shoes)
+ C = new /obj/item/clothing/shoes/sandal/magic(H)
+ ADD_TRAIT(C, TRAIT_NODROP, DISEASE_TRAIT)
+ H.equip_to_slot_or_del(C, SLOT_SHOES)
+ return
+ else
+ var/mob/living/carbon/H = A.affected_mob
+ if(prob(chance))
+ var/obj/item/staff/S = new(H)
+ if(!H.put_in_hands(S))
+ qdel(S)
+
+
+/datum/symptom/wizarditis/proc/teleport(datum/disease/advance/A)
+ var/turf/L = get_safe_random_station_turf()
+ A.affected_mob.say("SCYAR NILA!")
+ do_teleport(A.affected_mob, L, forceMove = TRUE, channel = TELEPORT_CHANNEL_MAGIC)
+ playsound(get_turf(A.affected_mob), 'sound/weapons/zapbang.ogg', 50,1)
+
+/datum/symptom/wizarditis/End(datum/disease/advance/A)
+ if(ishuman(A.affected_mob))
+ var/mob/living/carbon/human/H = A.affected_mob
+ if(istype(H.head, /obj/item/clothing/head/wizard))
+ REMOVE_TRAIT(H.head, TRAIT_NODROP, DISEASE_TRAIT)
+ if(istype(H.wear_suit, /obj/item/clothing/suit/wizrobe))
+ REMOVE_TRAIT(H.wear_suit, TRAIT_NODROP, DISEASE_TRAIT)
+ if(istype(H.shoes, /obj/item/clothing/shoes/sandal/magic))
+ REMOVE_TRAIT(H.shoes, TRAIT_NODROP, DISEASE_TRAIT)
+
+
+
From be53f7fcc4894473fe8af6382b9438dbce770f7e Mon Sep 17 00:00:00 2001
From: zeskorion <49600480+zeskorion@users.noreply.github.com>
Date: Thu, 9 Jan 2020 21:29:54 -0800
Subject: [PATCH 07/25] Update tgstation.dme
---
tgstation.dme | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tgstation.dme b/tgstation.dme
index f66370ec..d56f063e 100644
--- a/tgstation.dme
+++ b/tgstation.dme
@@ -2175,7 +2175,7 @@
#include "code\modules\mob\living\simple_animal\guardian\types\standard.dm"
#include "code\modules\mob\living\simple_animal\guardian\types\support.dm"
#include "code\modules\mob\living\simple_animal\hostile\alien.dm"
-#include "code\modules\mob\living\simple_animal\hostile\heart.dm
+#include "code\modules\mob\living\simple_animal\hostile\heart.dm"
#include "code\modules\mob\living\simple_animal\hostile\bear.dm"
#include "code\modules\mob\living\simple_animal\hostile\bees.dm"
#include "code\modules\mob\living\simple_animal\hostile\carp.dm"
From 24b62dd01022bdf2ee762e4592fa853f92da0d39 Mon Sep 17 00:00:00 2001
From: zeskorion <49600480+zeskorion@users.noreply.github.com>
Date: Thu, 9 Jan 2020 21:37:02 -0800
Subject: [PATCH 08/25] Update traits.dm
---
code/__DEFINES/traits.dm | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/code/__DEFINES/traits.dm b/code/__DEFINES/traits.dm
index 4cb885db..01ab0933 100644
--- a/code/__DEFINES/traits.dm
+++ b/code/__DEFINES/traits.dm
@@ -160,6 +160,7 @@
// common trait sources
#define TRAIT_GENERIC "generic"
#define EYE_DAMAGE "eye_damage"
+#define DISEASE_TRAIT "disease"
#define GENETIC_MUTATION "genetic"
#define OBESITY "obesity"
#define MAGIC_TRAIT "magic"
@@ -205,4 +206,4 @@
#define FLIGHTSUIT_TRAIT "flightsuit"
#define LOCKED_HELMET_TRAIT "locked-helmet"
#define NINJA_SUIT_TRAIT "ninja-suit"
-#define ANTI_DROP_IMPLANT_TRAIT "anti-drop-implant"
\ No newline at end of file
+#define ANTI_DROP_IMPLANT_TRAIT "anti-drop-implant"
From 30b6206351d49e98d2c780eafd207202e0b6c0a0 Mon Sep 17 00:00:00 2001
From: zeskorion <49600480+zeskorion@users.noreply.github.com>
Date: Thu, 9 Jan 2020 21:41:36 -0800
Subject: [PATCH 09/25] Update death.dm
---
code/modules/mob/living/death.dm | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/code/modules/mob/living/death.dm b/code/modules/mob/living/death.dm
index 66d895ed..4bdc07a0 100644
--- a/code/modules/mob/living/death.dm
+++ b/code/modules/mob/living/death.dm
@@ -61,6 +61,10 @@ for(var/datum/disease/advance/D in diseases)
var/turf/T = get_turf(src)
for(var/obj/item/I in contents)
I.on_mob_death(src, gibbed)
+ for(var/datum/disease/advance/D in diseases)
+ for(var/symptom in D.symptoms)
+ var/datum/symptom/S = symptom
+ S.OnDeath(D)
if(mind && mind.name && mind.active && !istype(T.loc, /area/ctf))
var/rendered = "[mind.name] has died at [get_area_name(T)]."
deadchat_broadcast(rendered, follow_target = src, turf_target = T, message_type=DEADCHAT_DEATHRATTLE)
From e4cd4072cb3626fe9e91cb01348c9fadf4e3c0af Mon Sep 17 00:00:00 2001
From: zeskorion <49600480+zeskorion@users.noreply.github.com>
Date: Thu, 9 Jan 2020 21:47:02 -0800
Subject: [PATCH 10/25] Update braindamage.dm
---
code/datums/diseases/advance/symptoms/braindamage.dm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/code/datums/diseases/advance/symptoms/braindamage.dm b/code/datums/diseases/advance/symptoms/braindamage.dm
index c8ee596e..9f393b86 100644
--- a/code/datums/diseases/advance/symptoms/braindamage.dm
+++ b/code/datums/diseases/advance/symptoms/braindamage.dm
@@ -36,11 +36,11 @@
if(4, 5)
if(lethal)
if(prob(35))
- M.adjustBrainLoss(rand(5,90), 200)
+ affected_mob.adjustOrganLoss(ORGAN_SLOT_BRAIN, rand(5,90), 200)
to_chat(M, "Your brain hurts immensely!")
else
if(prob(35))
- M.adjustBrainLoss(rand(5,90), 120)
+ affected_mob.adjustOrganLoss(ORGAN_SLOT_BRAIN, rand(5,90), 120)
to_chat(M, "Your head hurts immensely!")
if(moretrauma && A.stage == 5)
givetrauma(A, 10)
From 5086b5dd94bd21833fb9cc392e66c6c7e4ef7a2b Mon Sep 17 00:00:00 2001
From: zeskorion <49600480+zeskorion@users.noreply.github.com>
Date: Thu, 9 Jan 2020 21:49:28 -0800
Subject: [PATCH 11/25] Update unsorted.dm
---
code/__HELPERS/unsorted.dm | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)
diff --git a/code/__HELPERS/unsorted.dm b/code/__HELPERS/unsorted.dm
index 1f8db38f..7173aa73 100644
--- a/code/__HELPERS/unsorted.dm
+++ b/code/__HELPERS/unsorted.dm
@@ -1130,6 +1130,27 @@ B --><-- A
/proc/get_random_station_turf()
return safepick(get_area_turfs(pick(GLOB.the_station_areas)))
+
+/proc/get_safe_random_station_turf()
+ for (var/i in 1 to 5)
+ var/list/L = get_area_turfs(pick(GLOB.the_station_areas))
+ var/turf/target
+ while (L.len && !target)
+ var/I = rand(1, L.len)
+ var/turf/T = L[I]
+ if(!T.density)
+ var/clear = TRUE
+ for(var/obj/O in T)
+ if(O.density)
+ clear = FALSE
+ break
+ if(clear)
+ target = T
+ if (!target)
+ L.Cut(I,I+1)
+ if (target)
+ return target
+
/proc/get_closest_atom(type, list, source)
var/closest_atom
From f7cf9c86bdaa693ab2085ecb4af34222d6864a49 Mon Sep 17 00:00:00 2001
From: zeskorion <49600480+zeskorion@users.noreply.github.com>
Date: Thu, 9 Jan 2020 21:57:37 -0800
Subject: [PATCH 12/25] Update death.dm
---
code/modules/mob/living/death.dm | 5 -----
1 file changed, 5 deletions(-)
diff --git a/code/modules/mob/living/death.dm b/code/modules/mob/living/death.dm
index 4bdc07a0..f99a86c8 100644
--- a/code/modules/mob/living/death.dm
+++ b/code/modules/mob/living/death.dm
@@ -48,11 +48,6 @@
/mob/living/proc/spawn_dust(just_ash = FALSE)
new /obj/effect/decal/cleanable/ash(loc)
-for(var/datum/disease/advance/D in diseases)
- for(var/symptom in D.symptoms)
- var/datum/symptom/S = symptom
- S.OnDeath(D)
-
/mob/living/death(gibbed)
stat = DEAD
unset_machine()
From 36ceb0b7f927ac2c24a6a036c4b6dcb2bf1f3a2e Mon Sep 17 00:00:00 2001
From: zeskorion <49600480+zeskorion@users.noreply.github.com>
Date: Thu, 9 Jan 2020 21:59:57 -0800
Subject: [PATCH 13/25] Update braindamage.dm
---
code/datums/diseases/advance/symptoms/braindamage.dm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/code/datums/diseases/advance/symptoms/braindamage.dm b/code/datums/diseases/advance/symptoms/braindamage.dm
index 9f393b86..65572278 100644
--- a/code/datums/diseases/advance/symptoms/braindamage.dm
+++ b/code/datums/diseases/advance/symptoms/braindamage.dm
@@ -36,11 +36,11 @@
if(4, 5)
if(lethal)
if(prob(35))
- affected_mob.adjustOrganLoss(ORGAN_SLOT_BRAIN, rand(5,90), 200)
+ A.affected_mob.adjustOrganLoss(ORGAN_SLOT_BRAIN, rand(5,90), 200)
to_chat(M, "Your brain hurts immensely!")
else
if(prob(35))
- affected_mob.adjustOrganLoss(ORGAN_SLOT_BRAIN, rand(5,90), 120)
+ A.affected_mob.adjustOrganLoss(ORGAN_SLOT_BRAIN, rand(5,90), 120)
to_chat(M, "Your head hurts immensely!")
if(moretrauma && A.stage == 5)
givetrauma(A, 10)
From 743cd2aafc9bd213226d80e937f3330b410de01e Mon Sep 17 00:00:00 2001
From: zeskorion <49600480+zeskorion@users.noreply.github.com>
Date: Thu, 9 Jan 2020 22:05:00 -0800
Subject: [PATCH 14/25] Update smartfridge.dm
---
code/modules/food_and_drinks/kitchen_machinery/smartfridge.dm | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/code/modules/food_and_drinks/kitchen_machinery/smartfridge.dm b/code/modules/food_and_drinks/kitchen_machinery/smartfridge.dm
index 5790f028..039f6eba 100644
--- a/code/modules/food_and_drinks/kitchen_machinery/smartfridge.dm
+++ b/code/modules/food_and_drinks/kitchen_machinery/smartfridge.dm
@@ -467,7 +467,8 @@
/obj/item/reagent_containers/glass/bottle/mutagen = 1,
/obj/item/reagent_containers/glass/bottle/plasma = 1,
/obj/item/reagent_containers/glass/bottle/synaptizine = 1,
- /obj/item/reagent_containers/glass/bottle/formaldehyde = 1)
+ /obj/item/reagent_containers/glass/bottle/formaldehyde = 1,
+ /obj/item/reagent_containers/glass/bottle/viralbase = 1)
// ----------------------------
// Disk """fridge"""
From aed8b9b4bf58c4bec074702a438fd0c6fa907719 Mon Sep 17 00:00:00 2001
From: zeskorion <49600480+zeskorion@users.noreply.github.com>
Date: Thu, 9 Jan 2020 22:06:13 -0800
Subject: [PATCH 15/25] Update presets.dm
---
code/datums/diseases/advance/presets.dm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/code/datums/diseases/advance/presets.dm b/code/datums/diseases/advance/presets.dm
index 68c3ceff..56a00ae6 100644
--- a/code/datums/diseases/advance/presets.dm
+++ b/code/datums/diseases/advance/presets.dm
@@ -21,7 +21,7 @@
name = "Experimental Disease"
copy_type = /datum/disease/advance
-/datum/disease/advance/random/New(max_symptoms, max_level = 8)
+/datum/disease/advance/random/New(max_symptoms, max_level = 9)
if(!max_symptoms)
max_symptoms = rand(1, VIRUS_SYMPTOM_LIMIT)
var/list/datum/symptom/possible_symptoms = list()
@@ -39,4 +39,4 @@
symptoms += S
Refresh()
- name = "Sample #[rand(1,10000)]"
\ No newline at end of file
+ name = "Sample #[rand(1,10000)]"
From b657074c9689f2ab8b2c62ccc94e1ed0c5045b8c Mon Sep 17 00:00:00 2001
From: zeskorion <49600480+zeskorion@users.noreply.github.com>
Date: Thu, 9 Jan 2020 22:06:54 -0800
Subject: [PATCH 16/25] Update choking.dm
---
code/datums/diseases/advance/symptoms/choking.dm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/code/datums/diseases/advance/symptoms/choking.dm b/code/datums/diseases/advance/symptoms/choking.dm
index 43938500..48f68e69 100644
--- a/code/datums/diseases/advance/symptoms/choking.dm
+++ b/code/datums/diseases/advance/symptoms/choking.dm
@@ -93,7 +93,7 @@ Bonus
resistance = -0
stage_speed = -1
transmittable = -2
- level = 7
+ level = 9
severity = 6
base_message_chance = 15
symptom_delay_min = 14
From 7116e92b6c5c9905c9723fc0ce4ee91e98569843 Mon Sep 17 00:00:00 2001
From: zeskorion <49600480+zeskorion@users.noreply.github.com>
Date: Thu, 9 Jan 2020 22:07:19 -0800
Subject: [PATCH 17/25] Update heal.dm
---
code/datums/diseases/advance/symptoms/heal.dm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/code/datums/diseases/advance/symptoms/heal.dm b/code/datums/diseases/advance/symptoms/heal.dm
index 0efcd240..b8a52e0c 100644
--- a/code/datums/diseases/advance/symptoms/heal.dm
+++ b/code/datums/diseases/advance/symptoms/heal.dm
@@ -5,7 +5,7 @@
resistance = 0
stage_speed = 0
transmittable = 0
- level = 0 //not obtainable
+ level = -1 //not obtainable
base_message_chance = 20 //here used for the overlays
symptom_delay_min = 1
symptom_delay_max = 1
From 67bcbcdfb190f9e61297b93e2b7088ba215711a1 Mon Sep 17 00:00:00 2001
From: zeskorion <49600480+zeskorion@users.noreply.github.com>
Date: Thu, 9 Jan 2020 22:08:29 -0800
Subject: [PATCH 18/25] Update symptoms.dm
---
code/datums/diseases/advance/symptoms/symptoms.dm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/code/datums/diseases/advance/symptoms/symptoms.dm b/code/datums/diseases/advance/symptoms/symptoms.dm
index 6d976089..95831b36 100644
--- a/code/datums/diseases/advance/symptoms/symptoms.dm
+++ b/code/datums/diseases/advance/symptoms/symptoms.dm
@@ -10,7 +10,7 @@
var/stage_speed = 0
var/transmittable = 0
// The type level of the symptom. Higher is harder to generate.
- var/level = 0
+ var/level = -1
// 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!!!
From a6d82f778c457b6005df05610611f86f7d9d7d57 Mon Sep 17 00:00:00 2001
From: zeskorion <49600480+zeskorion@users.noreply.github.com>
Date: Thu, 9 Jan 2020 22:11:07 -0800
Subject: [PATCH 19/25] Update other_reagents.dm
---
.../chemistry/reagents/other_reagents.dm | 18 +++++++++++++++++-
1 file changed, 17 insertions(+), 1 deletion(-)
diff --git a/code/modules/reagents/chemistry/reagents/other_reagents.dm b/code/modules/reagents/chemistry/reagents/other_reagents.dm
index 662793a8..409ba76d 100644
--- a/code/modules/reagents/chemistry/reagents/other_reagents.dm
+++ b/code/modules/reagents/chemistry/reagents/other_reagents.dm
@@ -1582,6 +1582,22 @@
taste_description = "rainbows"
var/no_mob_color = FALSE
+/datum/reagent/consumable/laughter/laughtervirusfood
+ name = "anomolous virus food"
+ color = "#ffa6ff" //rgb: 255,166,255
+ taste_description = "a bad idea"
+
+/datum/reagent/consumable/virus_food/advvirusfood
+ name = "highly unstable virus food"
+ color = "#ffffff" //rgb: 255,255,255 ITS PURE WHITE CMON
+ taste_description = "an EXTREMELY bad idea"
+
+/datum/reagent/consumable/virus_food/viralbase
+ name = "Experimental viral base"
+ description = "Recently discovered by Nanotrasen's top scientists after years of research, this substance can be used as the base for extremely rare and extremely dangerous viruses once exposed to uranium."
+ color = "#fff0da"
+ taste_description = "tears of scientists"
+
/datum/reagent/colorful_reagent/on_mob_life(mob/living/carbon/M)
if(!no_mob_color)
M.add_atom_colour(pick(random_color_list), WASHABLE_COLOUR_PRIORITY)
@@ -2174,4 +2190,4 @@
if(prob(20))
to_chat(M, "[pick("Headpats feel nice.", "The feeling of a hairball...", "Backrubs would be nice.", "Whats behind those doors?")]")
M.adjustArousalLoss(2)
- ..()
\ No newline at end of file
+ ..()
From dda5a9b4260ef2f78ea2cadfcfb3702f823e60c4 Mon Sep 17 00:00:00 2001
From: zeskorion <49600480+zeskorion@users.noreply.github.com>
Date: Thu, 9 Jan 2020 22:15:58 -0800
Subject: [PATCH 20/25] Update others.dm
---
.../reagents/chemistry/recipes/others.dm | 31 ++++++++++++++++++-
1 file changed, 30 insertions(+), 1 deletion(-)
diff --git a/code/modules/reagents/chemistry/recipes/others.dm b/code/modules/reagents/chemistry/recipes/others.dm
index a1e17e51..f2564d48 100644
--- a/code/modules/reagents/chemistry/recipes/others.dm
+++ b/code/modules/reagents/chemistry/recipes/others.dm
@@ -229,7 +229,19 @@
var/datum/disease/advance/D = locate(/datum/disease/advance) in B.data["viruses"]
if(D)
D.Evolve(level_min, level_max)
+
+/datum/chemical_reaction/virus_food_laughter
+ name = "Anomolous virus food"
+ id = "virusfood_laughter"
+ results = list(/datum/reagent/consumable/laughter/laughtervirusfood = 1)
+ required_reagents = list(/datum/reagent/consumable/laughter = 5, /datum/reagent/consumable/virus_food = 1)
+/datum/chemical_reaction/virus_food_admin
+ name = "Highly unstable virus Food"
+ id = "virusfood_admin"
+ results = list(/datum/reagent/consumable/virus_food/advvirusfood = 1)
+ required_reagents = list(/datum/reagent/consumable/virus_food/viralbase = 1, /datum/reagent/uranium = 20)
+ mix_message = "The mixture turns every colour of the rainbow, soon settling on a bright white. There's no way this isn't a good idea."
/datum/chemical_reaction/mix_virus/mix_virus_2
@@ -318,6 +330,23 @@
required_reagents = list("uraniumplasmavirusfood_stable" = 1)
level_min = 8
level_max = 8
+
+/datum/chemical_reaction/mix_virus/mix_virus_13
+
+ name = "Mix Virus 13"
+ id = "mixvirus13"
+ required_reagents = list(/datum/reagent/consumable/laughter/laughtervirusfood = 1)
+ level_min = 0
+ level_max = 0
+
+/datum/chemical_reaction/mix_virus/mix_virus_14
+
+ name = "Mix Virus 14"
+ id = "mixvirus14"
+ required_reagents = list(/datum/reagent/consumable/virus_food/advvirusfood = 1)
+ level_min = 9
+ level_max = 9
+
/datum/chemical_reaction/mix_virus/rem_virus
@@ -702,4 +731,4 @@
name = "liquid royal blue carpet"
id = "royalbluecarpet"
results = list("royalbluecarpet" = 2)
- required_reagents = list("carpet" = 1, "clonexadone" = 1)
\ No newline at end of file
+ required_reagents = list("carpet" = 1, "clonexadone" = 1)
From 29062af74164d89b429f6ce47675dd6b3e585eda Mon Sep 17 00:00:00 2001
From: zeskorion <49600480+zeskorion@users.noreply.github.com>
Date: Thu, 9 Jan 2020 22:16:47 -0800
Subject: [PATCH 21/25] Update glass.dm
---
code/modules/reagents/reagent_containers/glass.dm | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/code/modules/reagents/reagent_containers/glass.dm b/code/modules/reagents/reagent_containers/glass.dm
index 9915e562..8a773709 100644
--- a/code/modules/reagents/reagent_containers/glass.dm
+++ b/code/modules/reagents/reagent_containers/glass.dm
@@ -126,6 +126,11 @@
/obj/item/reagent_containers/glass/beaker/on_reagent_change(changetype)
update_icon()
+
+/obj/item/reagent_containers/glass/bottle/viralbase
+ name = "Highly potent Viral Base Bottle"
+ desc = "A small bottle. Contains a trace amount of a substance found by scientists that can be used to create extremely advanced diseases once exposed to uranium."
+ list_reagents = list(/datum/reagent/consumable/virus_food/viralbase = 1)
/obj/item/reagent_containers/glass/beaker/update_icon()
cut_overlays()
From 258db24b00c42d579a648e91a8b3cb8bdc3ea090 Mon Sep 17 00:00:00 2001
From: zeskorion <49600480+zeskorion@users.noreply.github.com>
Date: Thu, 9 Jan 2020 22:27:47 -0800
Subject: [PATCH 22/25] Add files via upload
---
.../diseases/advance/symptoms/sneeze.dm | 102 +++++++++---------
1 file changed, 51 insertions(+), 51 deletions(-)
diff --git a/code/datums/diseases/advance/symptoms/sneeze.dm b/code/datums/diseases/advance/symptoms/sneeze.dm
index f38bb821..91e7beb4 100644
--- a/code/datums/diseases/advance/symptoms/sneeze.dm
+++ b/code/datums/diseases/advance/symptoms/sneeze.dm
@@ -1,51 +1,51 @@
-/*
-//////////////////////////////////////
-
-Sneezing
-
- Very Noticable.
- Increases resistance.
- Doesn't increase stage speed.
- Very transmissible.
- Low Level.
-
-Bonus
- Forces a spread type of AIRBORNE
- with extra range!
-
-//////////////////////////////////////
-*/
-
-/datum/symptom/sneeze
- name = "Sneezing"
- desc = "The virus causes irritation of the nasal cavity, making the host sneeze occasionally."
- stealth = -2
- resistance = 3
- stage_speed = 0
- transmittable = 4
- level = 1
- severity = 1
- symptom_delay_min = 5
- symptom_delay_max = 35
- threshold_desc = "Transmission 9: Increases sneezing range, spreading the virus over a larger area.
\
- 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)
- suppress_warning = TRUE
-
-/datum/symptom/sneeze/Activate(datum/disease/advance/A)
- if(!..())
- return
- var/mob/living/M = A.affected_mob
- switch(A.stage)
- if(1, 2, 3)
- if(!suppress_warning)
- M.emote("sniff")
- else
- M.emote("sneeze")
- A.spread(4 + power)
\ No newline at end of file
+/*
+//////////////////////////////////////
+
+Sneezing
+
+ Very Noticable.
+ Increases resistance.
+ Doesn't increase stage speed.
+ Very transmissible.
+ Low Level.
+
+Bonus
+ Forces a spread type of AIRBORNE
+ with extra range!
+
+//////////////////////////////////////
+*/
+/datum/symptom/sneeze
+ name = "Sneezing"
+ desc = "The virus causes irritation of the nasal cavity, making the host sneeze occasionally."
+ stealth = -2
+ resistance = 3
+ stage_speed = 0
+ transmittable = 4
+ level = 1
+ severity = 1
+ symptom_delay_min = 5
+ symptom_delay_max = 35
+ threshold_desc = "Transmission 9: The host will sneeze periodically, spreading the disease.
\
+ Stealth 4: The symptom remains hidden until active."
+
+/datum/symptom/sneeze/Start(datum/disease/advance/A)
+ if(!..())
+ return
+ if(A.properties["stealth"] >= 4)
+ suppress_warning = TRUE
+
+/datum/symptom/sneeze/Activate(datum/disease/advance/A)
+ if(!..())
+ return
+ if(!A.properties["transmittable"] >= 9)
+ return
+ var/mob/living/M = A.affected_mob
+ switch(A.stage)
+ if(1, 2, 3)
+ if(!suppress_warning)
+ M.emote("sniff")
+ else
+ M.emote("sneeze")
+ if(M.CanSpreadAirborneDisease()) //don't spread germs if they covered their mouth
+ A.spread(4 + power)
From a5a26da21c95ead27d727f7ac2178af140cd8719 Mon Sep 17 00:00:00 2001
From: zeskorion <49600480+zeskorion@users.noreply.github.com>
Date: Sat, 11 Jan 2020 15:05:55 -0800
Subject: [PATCH 24/25] Update heartattack.dm
---
code/datums/diseases/advance/symptoms/heartattack.dm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/code/datums/diseases/advance/symptoms/heartattack.dm b/code/datums/diseases/advance/symptoms/heartattack.dm
index 1ed93c8a..21d91061 100644
--- a/code/datums/diseases/advance/symptoms/heartattack.dm
+++ b/code/datums/diseases/advance/symptoms/heartattack.dm
@@ -33,7 +33,7 @@ Bonus
/datum/symptom/heartattack/Start(datum/disease/advance/A)
if(!..())
return
- if(A.properties["transmission"] >= 10)
+ if(A.properties["transmittable"] >= 10)
heartattack = TRUE
if(A.properties["stealth"] >= 2)
suppress_warning = TRUE
From 8dcc4d11cfaa5ebfc103da03929047ef6f0776aa Mon Sep 17 00:00:00 2001
From: zeskorion <49600480+zeskorion@users.noreply.github.com>
Date: Tue, 28 Jan 2020 11:17:33 -0800
Subject: [PATCH 25/25] Fix a compile issue
---
code/datums/diseases/advance/symptoms/sneeze.dm | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/code/datums/diseases/advance/symptoms/sneeze.dm b/code/datums/diseases/advance/symptoms/sneeze.dm
index 91e7beb4..4b040786 100644
--- a/code/datums/diseases/advance/symptoms/sneeze.dm
+++ b/code/datums/diseases/advance/symptoms/sneeze.dm
@@ -47,5 +47,4 @@ Bonus
M.emote("sniff")
else
M.emote("sneeze")
- if(M.CanSpreadAirborneDisease()) //don't spread germs if they covered their mouth
- A.spread(4 + power)
+ A.spread(4 + power)