From ff70e253aecaf9bd333433349825af42004c1843 Mon Sep 17 00:00:00 2001 From: ZomgPonies Date: Tue, 20 Aug 2013 19:13:42 -0400 Subject: [PATCH] Added back a bunch of new symptoms from /tg/ --- baystation12.dme | 10 ++++ .../datums/diseases/advance/symptoms/beard.dm | 45 +++++++++++++++ .../diseases/advance/symptoms/choking.dm | 44 +++++++++++++++ .../diseases/advance/symptoms/deafness.dm | 39 +++++++++++++ .../diseases/advance/symptoms/flesh_eating.dm | 35 ++++++++++++ .../diseases/advance/symptoms/oxygen.dm | 37 +++++++++++++ .../diseases/advance/symptoms/shedding.dm | 47 ++++++++++++++++ .../diseases/advance/symptoms/stimulant.dm | 37 +++++++++++++ .../diseases/advance/symptoms/visionloss.dm | 47 ++++++++++++++++ .../diseases/advance/symptoms/vitiligo.dm | 41 ++++++++++++++ .../datums/diseases/advance/symptoms/youth.dm | 55 +++++++++++++++++++ 11 files changed, 437 insertions(+) create mode 100644 code/datums/diseases/advance/symptoms/beard.dm create mode 100644 code/datums/diseases/advance/symptoms/choking.dm create mode 100644 code/datums/diseases/advance/symptoms/deafness.dm create mode 100644 code/datums/diseases/advance/symptoms/flesh_eating.dm create mode 100644 code/datums/diseases/advance/symptoms/oxygen.dm create mode 100644 code/datums/diseases/advance/symptoms/shedding.dm create mode 100644 code/datums/diseases/advance/symptoms/stimulant.dm create mode 100644 code/datums/diseases/advance/symptoms/visionloss.dm create mode 100644 code/datums/diseases/advance/symptoms/vitiligo.dm create mode 100644 code/datums/diseases/advance/symptoms/youth.dm diff --git a/baystation12.dme b/baystation12.dme index aca79006982..bf7440b086b 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -147,21 +147,31 @@ #include "code\datums\diseases\xeno_transformation.dm" #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\choking.dm" #include "code\datums\diseases\advance\symptoms\confusion.dm" #include "code\datums\diseases\advance\symptoms\cough.dm" #include "code\datums\diseases\advance\symptoms\damage_converter.dm" +#include "code\datums\diseases\advance\symptoms\deafness.dm" #include "code\datums\diseases\advance\symptoms\dizzy.dm" #include "code\datums\diseases\advance\symptoms\fever.dm" +#include "code\datums\diseases\advance\symptoms\flesh_eating.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\itching.dm" +#include "code\datums\diseases\advance\symptoms\oxygen.dm" +#include "code\datums\diseases\advance\symptoms\shedding.dm" #include "code\datums\diseases\advance\symptoms\shivering.dm" #include "code\datums\diseases\advance\symptoms\sneeze.dm" +#include "code\datums\diseases\advance\symptoms\stimulant.dm" #include "code\datums\diseases\advance\symptoms\symptoms.dm" +#include "code\datums\diseases\advance\symptoms\visionloss.dm" +#include "code\datums\diseases\advance\symptoms\vitiligo.dm" #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\youth.dm" #include "code\datums\helper_datums\construction_datum.dm" #include "code\datums\helper_datums\events.dm" #include "code\datums\helper_datums\getrev.dm" diff --git a/code/datums/diseases/advance/symptoms/beard.dm b/code/datums/diseases/advance/symptoms/beard.dm new file mode 100644 index 00000000000..8e008121321 --- /dev/null +++ b/code/datums/diseases/advance/symptoms/beard.dm @@ -0,0 +1,45 @@ +/* +////////////////////////////////////// +Facial Hypertrichosis + + Very very Noticable. + Decreases resistance slightly. + Decreases stage speed. + Reduced transmittability + Intense Level. + +BONUS + Makes the mob grow a massive beard, regardless of gender. + +////////////////////////////////////// +*/ + +/datum/symptom/beard + + name = "Facial Hypertrichosis" + stealth = -3 + resistance = -1 + stage_speed = -3 + transmittable = -1 + level = 4 + +/datum/symptom/beard/Activate(var/datum/disease/advance/A) + ..() + if(prob(SYMPTOM_ACTIVATION_PROB)) + var/mob/living/M = A.affected_mob + if(istype(M, /mob/living/carbon/human)) + var/mob/living/carbon/human/H = M + switch(A.stage) + if(1, 2) + if(H.f_style == "Shaved") + H.f_style = "Adam Jensen Beard" + H.update_hair() + if(3, 4) + if(!(H.f_style == "Dwarf Beard") && !(H.f_style == "Very Long Beard") && !(H.f_style == "Full Beard")) + H.f_style = "Full Beard" + H.update_hair() + else + if(!(H.f_style == "Dwarf Beard") && !(H.f_style == "Very Long Beard")) + H.f_style = pick("Dwarf Beard", "Very Long Beard") + H.update_hair() + return \ No newline at end of file diff --git a/code/datums/diseases/advance/symptoms/choking.dm b/code/datums/diseases/advance/symptoms/choking.dm new file mode 100644 index 00000000000..040716fd48b --- /dev/null +++ b/code/datums/diseases/advance/symptoms/choking.dm @@ -0,0 +1,44 @@ +/* +////////////////////////////////////// + +Choking + + Very very noticable. + Lowers resistance. + Decreases stage speed. + Decreases transmittablity tremendously. + Moderate Level. + +Bonus + Inflicts spikes of oxyloss + +////////////////////////////////////// +*/ + +/datum/symptom/choking + + name = "Choking" + stealth = -3 + resistance = -2 + stage_speed = -2 + transmittable = -4 + level = 3 + +/datum/symptom/choking/Activate(var/datum/disease/advance/A) + ..() + if(prob(SYMPTOM_ACTIVATION_PROB)) + var/mob/living/M = A.affected_mob + switch(A.stage) + if(1, 2) + M << "[pick("You're having difficulty breathing.", "Your breathing becomes heavy.")]" + if(3, 4) + M.adjustOxyLoss(5) + M.emote("gasp") + else + M << "[pick("You're choking!", "You can't breathe!")]" + M.adjustOxyLoss(20) + M.emote("gasp") +// if(istype(M, /mob/living/carbon/human)) +// var/mob/living/carbon/human/H = M +// H.silent += 15 + return \ No newline at end of file diff --git a/code/datums/diseases/advance/symptoms/deafness.dm b/code/datums/diseases/advance/symptoms/deafness.dm new file mode 100644 index 00000000000..a170e740596 --- /dev/null +++ b/code/datums/diseases/advance/symptoms/deafness.dm @@ -0,0 +1,39 @@ +/* +////////////////////////////////////// + +Deafness + + Slightly noticable. + Lowers resistance. + Decreases stage speed slightly. + Decreases transmittablity. + Intense Level. + +Bonus + Causes intermittent loss of hearing. + +////////////////////////////////////// +*/ + +/datum/symptom/deafness + + name = "Deafness" + stealth = -1 + resistance = -2 + stage_speed = -1 + transmittable = -3 + level = 4 + +/datum/symptom/deafness/Activate(var/datum/disease/advance/A) + ..() + if(prob(SYMPTOM_ACTIVATION_PROB)) + var/mob/living/M = A.affected_mob + switch(A.stage) + if(3, 4) + M << "[pick("You hear a ringing in your ear.", "Your ears pop.")]" + if(5) + if(!(M.sdisabilities & DEAF)) + M << "Your ears pop and begin ringing loudly!" + M.sdisabilities |= DEAF + spawn(200) M.sdisabilities &= ~DEAF + return \ No newline at end of file diff --git a/code/datums/diseases/advance/symptoms/flesh_eating.dm b/code/datums/diseases/advance/symptoms/flesh_eating.dm new file mode 100644 index 00000000000..bc134b2c411 --- /dev/null +++ b/code/datums/diseases/advance/symptoms/flesh_eating.dm @@ -0,0 +1,35 @@ +/* +////////////////////////////////////// + +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" + stealth = -3 + resistance = -4 + stage_speed = 0 + transmittable = -4 + level = 6 + +/datum/symptom/flesh_eating/Activate(var/datum/disease/advance/A) + ..() + if(prob(SYMPTOM_ACTIVATION_PROB)) + var/mob/living/M = A.affected_mob + switch(A.stage) + if(4, 5) + M << "[pick("You cringe as a violent pain takes over your body.", "It feels like your body is eating itself inside out.", "IT HURTS.")]" + M.adjustBruteLoss(5) + return \ No newline at end of file diff --git a/code/datums/diseases/advance/symptoms/oxygen.dm b/code/datums/diseases/advance/symptoms/oxygen.dm new file mode 100644 index 00000000000..646b0810241 --- /dev/null +++ b/code/datums/diseases/advance/symptoms/oxygen.dm @@ -0,0 +1,37 @@ +/* +////////////////////////////////////// + +Self-Respiration + + Slightly hidden. + Lowers resistance significantly. + Decreases stage speed significantly. + Decreases transmittablity tremendously. + Fatal Level. + +Bonus + The body generates Inaprovaline. + +////////////////////////////////////// +*/ + +/datum/symptom/oxygen + + name = "Self-Respiration" + stealth = 1 + resistance = -3 + stage_speed = -3 + transmittable = -4 + level = 6 + +/datum/symptom/oxygen/Activate(var/datum/disease/advance/A) + ..() + if(prob(SYMPTOM_ACTIVATION_PROB)) + var/mob/living/M = A.affected_mob + switch(A.stage) + if(1, 2, 3, 4) + M << "[pick("Your lungs feel sore.", "You are now breathing manually.")]" + else + if (M.reagents.get_reagent_amount("inaprovaline") < 30) + M.reagents.add_reagent("inaprovaline", 10) + return \ No newline at end of file diff --git a/code/datums/diseases/advance/symptoms/shedding.dm b/code/datums/diseases/advance/symptoms/shedding.dm new file mode 100644 index 00000000000..d353c8a4239 --- /dev/null +++ b/code/datums/diseases/advance/symptoms/shedding.dm @@ -0,0 +1,47 @@ +/* +////////////////////////////////////// +Alopecia + + Noticable. + Decreases resistance slightly. + Reduces stage speed slightly. + Transmittable. + Intense Level. + +BONUS + Makes the mob lose hair. + +////////////////////////////////////// +*/ + +/datum/symptom/shedding + + name = "Alopecia" + stealth = -1 + resistance = -1 + stage_speed = -1 + transmittable = 2 + level = 4 + +/datum/symptom/shedding/Activate(var/datum/disease/advance/A) + ..() + if(prob(SYMPTOM_ACTIVATION_PROB)) + var/mob/living/M = A.affected_mob + M << "[pick("Your scalp itches.", "Your skin feels flakey.")]" + if(istype(M, /mob/living/carbon/human)) + var/mob/living/carbon/human/H = M + switch(A.stage) + if(3, 4) + if(!(H.h_style == "Bald") && !(H.h_style == "Balding Hair")) + H << "Your hair starts to fall out in clumps..." + spawn(50) + H.h_style = "Balding Hair" + H.update_hair() + if(5) + if(!(H.f_style == "Shaved") || !(H.h_style == "Bald")) + H << "Your hair starts to fall out in clumps..." + spawn(50) + H.f_style = "Shaved" + H.h_style = "Bald" + H.update_hair() + return \ No newline at end of file diff --git a/code/datums/diseases/advance/symptoms/stimulant.dm b/code/datums/diseases/advance/symptoms/stimulant.dm new file mode 100644 index 00000000000..af62abd248d --- /dev/null +++ b/code/datums/diseases/advance/symptoms/stimulant.dm @@ -0,0 +1,37 @@ +/* +////////////////////////////////////// + +Stimulant + + Noticable. + Lowers resistance significantly. + Decreases stage speed moderately.. + Decreases transmittablity tremendously. + Moderate Level. + +Bonus + The body generates Hyperzine. + +////////////////////////////////////// +*/ + +/datum/symptom/stimulant + + name = "Stimulant" + stealth = -1 + resistance = -3 + stage_speed = -2 + transmittable = -4 + level = 3 + +/datum/symptom/stimulant/Activate(var/datum/disease/advance/A) + ..() + if(prob(SYMPTOM_ACTIVATION_PROB)) + var/mob/living/M = A.affected_mob + switch(A.stage) + if(1, 2, 3, 4) + M << "[pick("You feel restless.", "You feel like running laps around the station.")]" + else + if (M.reagents.get_reagent_amount("hyperzine") < 30) + M.reagents.add_reagent("hyperzine", 10) + return \ No newline at end of file diff --git a/code/datums/diseases/advance/symptoms/visionloss.dm b/code/datums/diseases/advance/symptoms/visionloss.dm new file mode 100644 index 00000000000..0c7bff4fe5d --- /dev/null +++ b/code/datums/diseases/advance/symptoms/visionloss.dm @@ -0,0 +1,47 @@ +/* +////////////////////////////////////// + +Hyphema (Eye bleeding) + + Slightly noticable. + Lowers resistance tremendously. + Decreases stage speed tremendously. + Decreases transmittablity. + Critical Level. + +Bonus + Causes blindness. + +////////////////////////////////////// +*/ + +/datum/symptom/visionloss + + name = "Hyphema" + stealth = -1 + resistance = -4 + stage_speed = -4 + transmittable = -3 + level = 5 + +/datum/symptom/visionloss/Activate(var/datum/disease/advance/A) + ..() + if(prob(SYMPTOM_ACTIVATION_PROB)) + var/mob/living/M = A.affected_mob + switch(A.stage) + if(1, 2) + M << "Your eyes itch." + if(3, 4) + M << "Your eyes ache." + M.eye_blurry = 10 + M.eye_stat += 1 + else + M << "Your eyes burn horrificly!" + M.eye_blurry = 20 + M.eye_stat += 5 + if (M.eye_stat >= 10) + M.disabilities |= NEARSIGHTED + if (prob(M.eye_stat - 10 + 1) && !(M.sdisabilities & BLIND)) + M << "You go blind!" + M.sdisabilities |= BLIND + return \ No newline at end of file diff --git a/code/datums/diseases/advance/symptoms/vitiligo.dm b/code/datums/diseases/advance/symptoms/vitiligo.dm new file mode 100644 index 00000000000..509c560e446 --- /dev/null +++ b/code/datums/diseases/advance/symptoms/vitiligo.dm @@ -0,0 +1,41 @@ +/* +////////////////////////////////////// +Vitiligo + + Extremely Noticable. + Decreases resistance slightly. + Reduces stage speed slightly. + Reduces transmission. + Critical Level. + +BONUS + Makes the mob lose skin pigmentation. + +////////////////////////////////////// +*/ + +/datum/symptom/vitiligo + + name = "Vitiligo" + stealth = -3 + resistance = -1 + stage_speed = -1 + transmittable = -2 + level = 5 + +/datum/symptom/vitiligo/Activate(var/datum/disease/advance/A) + ..() + if(prob(SYMPTOM_ACTIVATION_PROB)) + var/mob/living/M = A.affected_mob + if(istype(M, /mob/living/carbon/human)) + var/mob/living/carbon/human/H = M + if(H.s_tone == "albino") + return + switch(A.stage) + if(5) + H.s_tone = "albino" + H.update_body(0) + else + H.visible_message("[H] looks a bit pale...", "You look a bit pale...") + + return \ No newline at end of file diff --git a/code/datums/diseases/advance/symptoms/youth.dm b/code/datums/diseases/advance/symptoms/youth.dm new file mode 100644 index 00000000000..88294e6e058 --- /dev/null +++ b/code/datums/diseases/advance/symptoms/youth.dm @@ -0,0 +1,55 @@ +/* +////////////////////////////////////// +Eternal Youth + + Moderate stealth boost. + Increases resistance tremendously. + Increases stage speed tremendously. + Reduces transmission tremendously. + Critical Level. + +BONUS + Gives you immortality and eternal youth!!! + Can be used to buff your virus + +////////////////////////////////////// +*/ + +/datum/symptom/youth + + name = "Eternal Youth" + stealth = 3 + resistance = 4 + stage_speed = 4 + transmittable = -4 + level = 5 + +/datum/symptom/youth/Activate(var/datum/disease/advance/A) + ..() + if(prob(SYMPTOM_ACTIVATION_PROB * 2)) + var/mob/living/M = A.affected_mob + if(istype(M, /mob/living/carbon/human)) + var/mob/living/carbon/human/H = M + switch(A.stage) + if(1) + if(H.age > 41) + H.age = 41 + H << "You haven't had this much energy in years!" + if(2) + if(H.age > 36) + H.age = 36 + H << "You're suddenly in a good mood." + if(3) + if(H.age > 31) + H.age = 31 + H << "You begin to feel more lithe." + if(4) + if(H.age > 26) + H.age = 26 + H << "You feel reinvigorated." + if(5) + if(H.age > 21) + H.age = 21 + H << "You feel like you can take on the world!" + + return \ No newline at end of file