From 2d31bfa01d6a00b252d00c8420b7e6f414c325c8 Mon Sep 17 00:00:00 2001 From: ZomgPonies Date: Wed, 16 Jul 2014 02:00:32 -0400 Subject: [PATCH] Removing disease1/virus1 from repo --- code/datums/diseases/addiction.dm | 137 ------ code/datums/diseases/advance/advance.dm | 423 ------------------ code/datums/diseases/advance/presets.dm | 43 -- .../datums/diseases/advance/symptoms/beard.dm | 45 -- .../diseases/advance/symptoms/choking.dm | 44 -- .../diseases/advance/symptoms/confusion.dm | 39 -- .../datums/diseases/advance/symptoms/cough.dm | 39 -- .../advance/symptoms/damage_converter.dm | 43 -- .../diseases/advance/symptoms/deafness.dm | 39 -- .../datums/diseases/advance/symptoms/dizzy.dm | 37 -- .../datums/diseases/advance/symptoms/fever.dm | 35 -- .../diseases/advance/symptoms/flesh_eating.dm | 35 -- .../diseases/advance/symptoms/hallucigen.dm | 37 -- .../diseases/advance/symptoms/headache.dm | 33 -- code/datums/diseases/advance/symptoms/heal.dm | 40 -- .../diseases/advance/symptoms/itching.dm | 33 -- .../diseases/advance/symptoms/oxygen.dm | 37 -- code/datums/diseases/advance/symptoms/poop.dm | 52 --- .../diseases/advance/symptoms/shedding.dm | 47 -- .../diseases/advance/symptoms/shivering.dm | 35 -- .../diseases/advance/symptoms/sneeze.dm | 38 -- .../diseases/advance/symptoms/stimulant.dm | 37 -- .../diseases/advance/symptoms/symptoms.dm | 38 -- .../diseases/advance/symptoms/visionloss.dm | 47 -- .../diseases/advance/symptoms/vitiligo.dm | 41 -- .../diseases/advance/symptoms/voice_change.dm | 54 --- .../datums/diseases/advance/symptoms/vomit.dm | 94 ---- .../diseases/advance/symptoms/weight.dm | 119 ----- .../datums/diseases/advance/symptoms/youth.dm | 55 --- code/datums/diseases/alien_embryo.dm | 153 ------- code/datums/diseases/appendicitis.dm | 56 --- code/datums/diseases/beesease.dm | 31 -- code/datums/diseases/brainrot.dm | 67 --- code/datums/diseases/cold.dm | 66 --- code/datums/diseases/cold9.dm | 39 -- code/datums/diseases/dna_spread.dm | 69 --- code/datums/diseases/fake_gbs.dm | 32 -- code/datums/diseases/flu.dm | 66 --- code/datums/diseases/fluspanish.dm | 36 -- code/datums/diseases/gbs.dm | 40 -- code/datums/diseases/jungle_fever.dm | 12 - code/datums/diseases/magnitis.dm | 93 ---- code/datums/diseases/pierrot_throat.dm | 26 -- code/datums/diseases/plasmatoid.dm | 5 - code/datums/diseases/retrovirus.dm | 108 ----- code/datums/diseases/rhumba_beat.dm | 51 --- .../datums/diseases/robotic_transformation.dm | 65 --- code/datums/diseases/wizarditis.dm | 122 ----- code/datums/diseases/xeno_transformation.dm | 61 --- code/datums/diseases/zombie_transformation.dm | 119 ----- 50 files changed, 3113 deletions(-) delete mode 100644 code/datums/diseases/addiction.dm delete mode 100644 code/datums/diseases/advance/advance.dm delete mode 100644 code/datums/diseases/advance/presets.dm delete mode 100644 code/datums/diseases/advance/symptoms/beard.dm delete mode 100644 code/datums/diseases/advance/symptoms/choking.dm delete mode 100644 code/datums/diseases/advance/symptoms/confusion.dm delete mode 100644 code/datums/diseases/advance/symptoms/cough.dm delete mode 100644 code/datums/diseases/advance/symptoms/damage_converter.dm delete mode 100644 code/datums/diseases/advance/symptoms/deafness.dm delete mode 100644 code/datums/diseases/advance/symptoms/dizzy.dm delete mode 100644 code/datums/diseases/advance/symptoms/fever.dm delete mode 100644 code/datums/diseases/advance/symptoms/flesh_eating.dm delete mode 100644 code/datums/diseases/advance/symptoms/hallucigen.dm delete mode 100644 code/datums/diseases/advance/symptoms/headache.dm delete mode 100644 code/datums/diseases/advance/symptoms/heal.dm delete mode 100644 code/datums/diseases/advance/symptoms/itching.dm delete mode 100644 code/datums/diseases/advance/symptoms/oxygen.dm delete mode 100644 code/datums/diseases/advance/symptoms/poop.dm delete mode 100644 code/datums/diseases/advance/symptoms/shedding.dm delete mode 100644 code/datums/diseases/advance/symptoms/shivering.dm delete mode 100644 code/datums/diseases/advance/symptoms/sneeze.dm delete mode 100644 code/datums/diseases/advance/symptoms/stimulant.dm delete mode 100644 code/datums/diseases/advance/symptoms/symptoms.dm delete mode 100644 code/datums/diseases/advance/symptoms/visionloss.dm delete mode 100644 code/datums/diseases/advance/symptoms/vitiligo.dm delete mode 100644 code/datums/diseases/advance/symptoms/voice_change.dm delete mode 100644 code/datums/diseases/advance/symptoms/vomit.dm delete mode 100644 code/datums/diseases/advance/symptoms/weight.dm delete mode 100644 code/datums/diseases/advance/symptoms/youth.dm delete mode 100644 code/datums/diseases/alien_embryo.dm delete mode 100644 code/datums/diseases/appendicitis.dm delete mode 100644 code/datums/diseases/beesease.dm delete mode 100644 code/datums/diseases/brainrot.dm delete mode 100644 code/datums/diseases/cold.dm delete mode 100644 code/datums/diseases/cold9.dm delete mode 100644 code/datums/diseases/dna_spread.dm delete mode 100644 code/datums/diseases/fake_gbs.dm delete mode 100644 code/datums/diseases/flu.dm delete mode 100644 code/datums/diseases/fluspanish.dm delete mode 100644 code/datums/diseases/gbs.dm delete mode 100644 code/datums/diseases/jungle_fever.dm delete mode 100644 code/datums/diseases/magnitis.dm delete mode 100644 code/datums/diseases/pierrot_throat.dm delete mode 100644 code/datums/diseases/plasmatoid.dm delete mode 100644 code/datums/diseases/retrovirus.dm delete mode 100644 code/datums/diseases/rhumba_beat.dm delete mode 100644 code/datums/diseases/robotic_transformation.dm delete mode 100644 code/datums/diseases/wizarditis.dm delete mode 100644 code/datums/diseases/xeno_transformation.dm delete mode 100644 code/datums/diseases/zombie_transformation.dm diff --git a/code/datums/diseases/addiction.dm b/code/datums/diseases/addiction.dm deleted file mode 100644 index dcdff989c27..00000000000 --- a/code/datums/diseases/addiction.dm +++ /dev/null @@ -1,137 +0,0 @@ -/datum/disease/addiction - name = "Chemical Addiction" - max_stages = 5 - spread = "None" - spread_type = SPECIAL - cure = "Unknown" - cure_id = list("fixer", "water") - cure_chance = 3 - affected_species = list("Human", "Monkey", "Skrell", "Unathi", "Tajaran", "Kidan", "Grey") - var/datum/reagent/addicted_to - var/addiction - var/addiction_countdown = 1800 // Three minutes - -/datum/disease/addiction/New() - if(addicted_to) - src.name = "[addicted_to.name] Addiction" - src.addiction ="[addicted_to.name]" - src.cure = addicted_to.id - //affected_mob.addictions += addicted_to - ..() - -/datum/disease/addiction/proc/has_addict_reagent() - var/result = 0 - if(affected_mob.reagents.has_reagent(addicted_to)) - result = 1 - return result - -/datum/disease/addiction/process() - if(!holder) return - var/addict_reagent_present = has_addict_reagent() - var/tickcount = 0 - - if(affected_mob) - for(var/datum/disease/D in affected_mob.viruses) - if(D != src) - if(istype(src, D.type)) - if(istype(src.addicted_to, D:addicted_to)) // Allow for multiple addictions as long as each addiction is for a different reagent - del(src) // if there are somehow two viruses of the same kind in the system, delete the other one - - if(holder == affected_mob) - if(affected_mob.stat < 2) //he's alive - if(addict_reagent_present) //he's taken the reagent to which he's addicted - stage = 1 - tickcount++ - if(prob(20)) - affected_mob << "\blue You feel a wave of euphoria as [addiction] surges through your bloodstream..." - if(tickcount >= 900) - stage_act() - tickcount = 0 - else //he's ignored his addiction or hasn't taken the reagent - stage_act() - else //he's dead. - if(spread_type!=SPECIAL) - spread_type = CONTACT_GENERAL - affected_mob = null - if(!affected_mob) //the virus is in inanimate obj - if(prob(70)) - if(--longevity<=0) - cure(0) - return - -/datum/disease/addiction/stage_act() - var/cure_present = has_cure() - var/addict_reagent_present = has_addict_reagent() - - if(carrier&&!cure_present) - return - - spread = (cure_present?"Remissive":initial(spread)) - - if(stage > max_stages) - stage = max_stages - if(stage_prob != 0 && prob(stage_prob) && stage != max_stages && !cure_present && !addict_reagent_present) //now the disease shouldn't get back up to stage 4 in no time - stage++ - if(stage != 1 && (prob(1) || (cure_present && prob(cure_chance)))) - stage-- - else if(stage <= 1 && ((prob(1) && curable) || (cure_present && prob(cure_chance)))) - cure() - return - - switch(stage) - if(2) - if(prob(5)) - affected_mob << "\red You can't stop thinking about [addiction]!" - if(affected_mob.sleeping && prob(1)) - affected_mob << "\blue You feel better." - stage-- - if(prob(1)) - if(prob(1)) - stage-- - if(3) - if(prob(5)) - affected_mob << "\red You gotta have some [addiction]!" - if(affected_mob.sleeping && prob(1)) - affected_mob << "\blue You feel better." - stage-- - if(prob(1)) - if(prob(1)) - stage-- - if(4) - if(prob(7)) - affected_mob << "\red Gotta have some [addiction]!" - if(prob(10)) - affected_mob.take_organ_damage(1) - if(prob(2)) - affected_mob << "\red Your stomach hurts." - if(prob(5)) - affected_mob.emote("blink") - if(prob(10)) - affected_mob.toxloss += 1 - affected_mob.updatehealth() - if(affected_mob.sleeping && prob(1)) - affected_mob << "\blue You feel better." - stage-- - if(prob(1)) - if(prob(1)) - stage-- - if(5) - if(prob(5)) - affected_mob << "\red \bold You can't stand not having [addiction]!" - if(prob(20)) - affected_mob.toxloss += 2 - affected_mob.updatehealth() - if(prob(2)) - affected_mob << "\red \bold [addiction] calls out to your mind!" - for(var/mob/O in viewers(affected_mob, null)) - O.show_message(text("\red [] rakes at their eyes!", affected_mob), 1) - affected_mob.eye_blind = 2 - affected_mob.eye_blurry = 3 - if(prob(1)) - affected_mob.emote("twitch") - if(affected_mob.sleeping && prob(1)) - affected_mob << "\blue You feel better." - stage-- - if(prob(1)) - if(prob(1)) - stage-- \ No newline at end of file diff --git a/code/datums/diseases/advance/advance.dm b/code/datums/diseases/advance/advance.dm deleted file mode 100644 index 376df936782..00000000000 --- a/code/datums/diseases/advance/advance.dm +++ /dev/null @@ -1,423 +0,0 @@ -/* - - Advance Disease is a system for Virologist to Engineer their own disease with symptoms that have effects and properties - which add onto the overall disease. - - If you need help with creating new symptoms or expanding the advance disease, ask for Giacom on #coderbus. - -*/ - -#define RANDOM_STARTING_LEVEL 2 - -var/list/archive_diseases = list() - -// The order goes from easy to cure to hard to cure. -var/list/advance_cures = list( - "nutriment", "sugar", "orangejuice", - "spaceacillin", "kelotane", "ethanol", - "leporazine", "synaptizine", "lipozine", - "silver", "gold", "plasma" - ) - -/* - - PROPERTIES - - */ - -/datum/disease/advance - - name = "Unknown" // We will always let our Virologist name our disease. - desc = "An engineered disease which can contain a multitude of symptoms." - form = "Advance Disease" // Will let med-scanners know that this disease was engineered. - agent = "advance microbes" - max_stages = 5 - spread = "Unknown" - affected_species = list("Human","Monkey") - - // NEW VARS - - var/list/symptoms = list() // The symptoms of the disease. - var/id = "" - var/processing = 0 - -/* - - OLD PROCS - - */ - -/datum/disease/advance/New(var/process = 1, var/datum/disease/advance/D) - - // Setup our dictionary if it hasn't already. - if(!dictionary_symptoms.len) - for(var/symp in list_symptoms) - var/datum/symptom/S = new symp - dictionary_symptoms[S.id] = symp - - if(!istype(D)) - D = null - // Generate symptoms if we weren't given any. - - if(!symptoms || !symptoms.len) - - if(!D || !D.symptoms || !D.symptoms.len) - symptoms = GenerateSymptoms() - else - for(var/datum/symptom/S in D.symptoms) - symptoms += new S.type - - Refresh() - ..(process, D) - return - -/datum/disease/advance/Del() - if(processing) - for(var/datum/symptom/S in symptoms) - S.End(src) - ..() - -// Randomly pick a symptom to activate. -/datum/disease/advance/stage_act() - ..() - if(symptoms && symptoms.len) - - if(!processing) - processing = 1 - for(var/datum/symptom/S in symptoms) - S.Start(src) - - for(var/datum/symptom/S in symptoms) - S.Activate(src) - else - CRASH("We do not have any symptoms during stage_act()!") - -// Compares type then ID. -/datum/disease/advance/IsSame(var/datum/disease/advance/D) - - if(!(istype(D, /datum/disease/advance))) - return 0 - - if(src.GetDiseaseID() != D.GetDiseaseID()) - return 0 - return 1 - -// To add special resistances. -/datum/disease/advance/cure(var/resistance=1) - if(affected_mob) - var/id = "[GetDiseaseID()]" - if(resistance && !(id in affected_mob.resistances)) - affected_mob.resistances[id] = id - affected_mob.viruses -= src //remove the datum from the list - del(src) //delete the datum to stop it processing - return - -// Returns the advance disease with a different reference memory. -/datum/disease/advance/Copy(var/process = 0) - return new /datum/disease/advance(process, src, 1) - -/* - - NEW PROCS - - */ - -// Mix the symptoms of two diseases (the src and the argument) -/datum/disease/advance/proc/Mix(var/datum/disease/advance/D) - if(!(src.IsSame(D))) - var/list/possible_symptoms = shuffle(D.symptoms) - for(var/datum/symptom/S in possible_symptoms) - AddSymptom(new S.type) - -/datum/disease/advance/proc/HasSymptom(var/datum/symptom/S) - for(var/datum/symptom/symp in symptoms) - if(symp.id == S.id) - return 1 - return 0 - -// Will generate new unique symptoms, use this if there are none. Returns a list of symptoms that were generated. -/datum/disease/advance/proc/GenerateSymptoms(var/type_level_limit = RANDOM_STARTING_LEVEL, var/amount_get = 0) - - var/list/generated = list() // Symptoms we generated. - - // Generate symptoms. By default, we only choose non-deadly symptoms. - var/list/possible_symptoms = list() - for(var/symp in list_symptoms) - var/datum/symptom/S = new symp - if(S.level <= type_level_limit) - if(!HasSymptom(S)) - possible_symptoms += S - - if(!possible_symptoms.len) - return - //error("Advance Disease - We weren't able to get any possible symptoms in GenerateSymptoms([type_level_limit], [amount_get])") - - // Random chance to get more than one symptom - var/number_of = amount_get - if(!amount_get) - number_of = 1 - while(prob(20)) - number_of += 1 - - for(var/i = 1; number_of >= i; i++) - var/datum/symptom/S = pick(possible_symptoms) - generated += S - possible_symptoms -= S - - return generated - -/datum/disease/advance/proc/Refresh(var/new_name = 0) - //world << "[src.name] \ref[src] - REFRESH!" - var/list/properties = GenerateProperties() - AssignProperties(properties) - - if(!archive_diseases[GetDiseaseID()]) - if(new_name) - AssignName() - archive_diseases[GetDiseaseID()] = src // So we don't infinite loop - archive_diseases[GetDiseaseID()] = new /datum/disease/advance(0, src, 1) - - var/datum/disease/advance/A = archive_diseases[GetDiseaseID()] - AssignName(A.name) - -//Generate disease properties based on the effects. Returns an associated list. -/datum/disease/advance/proc/GenerateProperties() - - if(!symptoms || !symptoms.len) - CRASH("We did not have any symptoms before generating properties.") - return - - var/list/properties = list("resistance" = 1, "stealth" = 1, "stage_rate" = 1, "transmittable" = 1, "severity" = 1) - - for(var/datum/symptom/S in symptoms) - - properties["resistance"] += S.resistance - properties["stealth"] += S.stealth - properties["stage_rate"] += S.stage_speed - properties["transmittable"] += S.transmittable - properties["severity"] = max(properties["severity"], S.level) // severity is based on the highest level symptom - - return properties - -// Assign the properties that are in the list. -/datum/disease/advance/proc/AssignProperties(var/list/properties = list()) - - if(properties && properties.len) - - hidden = list( (properties["stealth"] > 2), (properties["stealth"] > 3) ) - // The more symptoms we have, the less transmittable it is but some symptoms can make up for it. - SetSpread(Clamp(properties["transmittable"] - symptoms.len, BLOOD, AIRBORNE)) - permeability_mod = max(Ceiling(0.4 * properties["transmittable"]), 1) - cure_chance = 15 - Clamp(properties["resistance"], -5, 5) // can be between 10 and 20 - stage_prob = max(properties["stage_rate"], 2) - SetSeverity(properties["severity"]) - GenerateCure(properties) - else - CRASH("Our properties were empty or null!") - - -// Assign the spread type and give it the correct description. -/datum/disease/advance/proc/SetSpread(var/spread_id) - switch(spread_id) - - if(NON_CONTAGIOUS) - spread = "None" - if(SPECIAL) - spread = "None" - if(CONTACT_GENERAL, CONTACT_HANDS, CONTACT_FEET) - spread = "On contact" - if(AIRBORNE) - spread = "Airborne" - if(BLOOD) - spread = "Blood" - - spread_type = spread_id - //world << "Setting spread type to [spread_id]/[spread]" - -/datum/disease/advance/proc/SetSeverity(var/level_sev) - - switch(level_sev) - - if(-INFINITY to 0) - severity = "Non-Threat" - if(1) - severity = "Minor" - if(2) - severity = "Medium" - if(3) - severity = "Harmful" - if(4) - severity = "Dangerous!" - if(5 to INFINITY) - severity = "BIOHAZARD THREAT!" - else - severity = "Unknown" - - -// Will generate a random cure, the less resistance the symptoms have, the harder the cure. -/datum/disease/advance/proc/GenerateCure(var/list/properties = list()) - if(properties && properties.len) - var/res = Clamp(properties["resistance"] - (symptoms.len / 2), 1, advance_cures.len) - //world << "Res = [res]" - cure_id = advance_cures[res] - - // Get the cure name from the cure_id - var/datum/reagent/D = chemical_reagents_list[cure_id] - cure = D.name - - - return - -// Randomly generate a symptom, has a chance to lose or gain a symptom. -/datum/disease/advance/proc/Evolve(var/level = 2) - var/s = safepick(GenerateSymptoms(level, 1)) - if(s) - AddSymptom(s) - Refresh(1) - return - -// Randomly remove a symptom. -/datum/disease/advance/proc/Devolve() - if(symptoms.len > 1) - var/s = safepick(symptoms) - if(s) - RemoveSymptom(s) - Refresh(1) - return - -// Name the disease. -/datum/disease/advance/proc/AssignName(var/name = "Unknown") - src.name = name - return - -// Return a unique ID of the disease. -/datum/disease/advance/proc/GetDiseaseID() - - var/list/L = list() - for(var/datum/symptom/S in symptoms) - L += S.id - L = sortList(L) // Sort the list so it doesn't matter which order the symptoms are in. - var/result = list2text(L, ":") - id = result - return result - - -// Add a symptom, if it is over the limit (with a small chance to be able to go over) -// we take a random symptom away and add the new one. -/datum/disease/advance/proc/AddSymptom(var/datum/symptom/S) - - if(HasSymptom(S)) - return - - if(symptoms.len < 5 + rand(-1, 1)) - symptoms += S - else - RemoveSymptom(pick(symptoms)) - symptoms += S - return - -// Simply removes the symptom. -/datum/disease/advance/proc/RemoveSymptom(var/datum/symptom/S) - symptoms -= S - return - -/* - - Static Procs - -*/ - -// Mix a list of advance diseases and return the mixed result. -/proc/Advance_Mix(var/list/D_list) - - //world << "Mixing!!!!" - - var/list/diseases = list() - - for(var/datum/disease/advance/A in D_list) - diseases += A.Copy() - - if(!diseases.len) - return null - if(diseases.len <= 1) - return pick(diseases) // Just return the only entry. - - var/i = 0 - // Mix our diseases until we are left with only one result. - while(i < 20 && diseases.len > 1) - - i++ - - var/datum/disease/advance/D1 = pick(diseases) - diseases -= D1 - - var/datum/disease/advance/D2 = pick(diseases) - D2.Mix(D1) - - // Should be only 1 entry left, but if not let's only return a single entry - //world << "END MIXING!!!!!" - var/datum/disease/advance/to_return = pick(diseases) - to_return.Refresh(1) - return to_return - -/proc/SetViruses(var/datum/reagent/R, var/list/data) - if(data) - var/list/preserve = list() - if(istype(data) && data["viruses"]) - for(var/datum/disease/A in data["viruses"]) - preserve += A.Copy() - R.data = data.Copy() - else - R.data = data - if(preserve.len) - R.data["viruses"] = preserve - -/proc/AdminCreateVirus(var/mob/user) - var/i = 5 - - var/datum/disease/advance/D = new(0, null) - D.symptoms = list() - - var/list/symptoms = list() - symptoms += "Done" - symptoms += list_symptoms.Copy() - do - var/symptom = input(user, "Choose a symptom to add ([i] remaining)", "Choose a Symptom") in symptoms - if(istext(symptom)) - i = 0 - else if(ispath(symptom)) - var/datum/symptom/S = new symptom - if(!D.HasSymptom(S)) - D.symptoms += S - i -= 1 - while(i > 0) - - if(D.symptoms.len > 0) - - var/new_name = input(user, "Name your new disease.", "New Name") - D.AssignName(new_name) - D.Refresh() - - for(var/datum/disease/advance/AD in active_diseases) - AD.Refresh() - - for(var/mob/living/carbon/human/H in shuffle(living_mob_list)) - if(H.z != 1) - continue - if(!H.has_disease(D)) - H.contract_disease(D, 1) - break - - var/list/name_symptoms = list() - for(var/datum/symptom/S in D.symptoms) - name_symptoms += S.name - message_admins("[key_name_admin(user)] has triggered a custom virus outbreak of [D.name]! It has these symptoms: [english_list(name_symptoms)]") - -/* -/mob/verb/test() - - for(var/datum/disease/D in active_diseases) - src << "[D.name] - [D.holder]" -*/ - -#undef RANDOM_STARTING_LEVEL \ No newline at end of file diff --git a/code/datums/diseases/advance/presets.dm b/code/datums/diseases/advance/presets.dm deleted file mode 100644 index b62b18e306c..00000000000 --- a/code/datums/diseases/advance/presets.dm +++ /dev/null @@ -1,43 +0,0 @@ -// Cold - -/datum/disease/advance/cold/New(var/process = 1, var/datum/disease/advance/D, var/copy = 0) - if(!D) - name = "Cold" - symptoms = list(new/datum/symptom/sneeze) - ..(process, D, copy) - - -// Flu - -/datum/disease/advance/flu/New(var/process = 1, var/datum/disease/advance/D, var/copy = 0) - if(!D) - name = "Flu" - symptoms = list(new/datum/symptom/cough) - ..(process, D, copy) - - -// Voice Changing - -/datum/disease/advance/voice_change/New(var/process = 1, var/datum/disease/advance/D, var/copy = 0) - if(!D) - name = "Epiglottis Mutation" - symptoms = list(new/datum/symptom/voice_change) - ..(process, D, copy) - - -// Toxin Filter - -/datum/disease/advance/heal/New(var/process = 1, var/datum/disease/advance/D, var/copy = 0) - if(!D) - name = "Liver Enhancer" - symptoms = list(new/datum/symptom/heal) - ..(process, D, copy) - - -// Hullucigen - -/datum/disease/advance/hullucigen/New(var/process = 1, var/datum/disease/advance/D, var/copy = 0) - if(!D) - name = "Reality Impairment" - symptoms = list(new/datum/symptom/hallucigen) - ..(process, D, copy) \ No newline at end of file diff --git a/code/datums/diseases/advance/symptoms/beard.dm b/code/datums/diseases/advance/symptoms/beard.dm deleted file mode 100644 index 8e008121321..00000000000 --- a/code/datums/diseases/advance/symptoms/beard.dm +++ /dev/null @@ -1,45 +0,0 @@ -/* -////////////////////////////////////// -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 deleted file mode 100644 index 040716fd48b..00000000000 --- a/code/datums/diseases/advance/symptoms/choking.dm +++ /dev/null @@ -1,44 +0,0 @@ -/* -////////////////////////////////////// - -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/confusion.dm b/code/datums/diseases/advance/symptoms/confusion.dm deleted file mode 100644 index 9bc2b6769c2..00000000000 --- a/code/datums/diseases/advance/symptoms/confusion.dm +++ /dev/null @@ -1,39 +0,0 @@ -/* -////////////////////////////////////// - -Confusion - - Little bit hidden. - Lowers resistance. - Decreases stage speed. - Not very transmittable. - Intense Level. - -Bonus - Makes the affected mob be confused for short periods of time. - -////////////////////////////////////// -*/ - -/datum/symptom/confusion - - name = "Confusion" - stealth = 1 - resistance = -1 - stage_speed = -3 - transmittable = 0 - level = 4 - - -/datum/symptom/confusion/Activate(var/datum/disease/advance/A) - ..() - if(prob(SYMPTOM_ACTIVATION_PROB)) - var/mob/living/carbon/M = A.affected_mob - switch(A.stage) - if(1, 2, 3, 4) - M << "[pick("You feel confused.", "You forgot what you were thinking about.")]" - else - M << "You are unable to think straight!" - M.confused = min(100, M.confused + 2) - - return diff --git a/code/datums/diseases/advance/symptoms/cough.dm b/code/datums/diseases/advance/symptoms/cough.dm deleted file mode 100644 index ad36d3300e5..00000000000 --- a/code/datums/diseases/advance/symptoms/cough.dm +++ /dev/null @@ -1,39 +0,0 @@ -/* -////////////////////////////////////// - -Coughing - - Noticable. - Little Resistance. - Doesn't increase stage speed much. - Transmittable. - Low Level. - -BONUS - Will force the affected mob to drop small items! - -////////////////////////////////////// -*/ - -/datum/symptom/cough - - name = "Cough" - stealth = -1 - resistance = 3 - stage_speed = 1 - transmittable = 2 - level = 1 - -/datum/symptom/cough/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) - M << "[pick("You swallow excess mucus.", "You lightly cough.")]" - else - M.emote("cough") - var/obj/item/I = M.get_active_hand() - if(I && I.w_class < 3) - M.drop_item() - return \ No newline at end of file diff --git a/code/datums/diseases/advance/symptoms/damage_converter.dm b/code/datums/diseases/advance/symptoms/damage_converter.dm deleted file mode 100644 index 6e31e363c8a..00000000000 --- a/code/datums/diseases/advance/symptoms/damage_converter.dm +++ /dev/null @@ -1,43 +0,0 @@ -/* -////////////////////////////////////// - -Damage Converter - - Little bit hidden. - Lowers resistance tremendously. - Decreases stage speed tremendously. - Reduced transmittablity - Intense Level. - -Bonus - Slowly converts brute/fire damage to toxin. - -////////////////////////////////////// -*/ - -/datum/symptom/damage_converter - - name = "Toxic Compensation" - stealth = 1 - resistance = -4 - stage_speed = -4 - transmittable = -2 - level = 4 - -/datum/symptom/damage_converter/Activate(var/datum/disease/advance/A) - ..() - if(prob(SYMPTOM_ACTIVATION_PROB)) - var/mob/living/M = A.affected_mob - switch(A.stage) - if(4, 5) - Convert(M) - return - -/datum/symptom/damage_converter/proc/Convert(var/mob/living/M) - - if(M.getFireLoss() < M.getMaxHealth() || M.getBruteLoss() < M.getMaxHealth()) - var/get_damage = rand(1, 2) - M.adjustFireLoss(-get_damage) - M.adjustBruteLoss(-get_damage) - M.adjustToxLoss(get_damage) - return 1 \ No newline at end of file diff --git a/code/datums/diseases/advance/symptoms/deafness.dm b/code/datums/diseases/advance/symptoms/deafness.dm deleted file mode 100644 index a170e740596..00000000000 --- a/code/datums/diseases/advance/symptoms/deafness.dm +++ /dev/null @@ -1,39 +0,0 @@ -/* -////////////////////////////////////// - -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/dizzy.dm b/code/datums/diseases/advance/symptoms/dizzy.dm deleted file mode 100644 index 14a01866ff4..00000000000 --- a/code/datums/diseases/advance/symptoms/dizzy.dm +++ /dev/null @@ -1,37 +0,0 @@ -/* -////////////////////////////////////// - -Dizziness - - Hidden. - Lowers resistance considerably. - Decreases stage speed. - Reduced transmittability - Intense Level. - -Bonus - Shakes the affected mob's screen for short periods. - -////////////////////////////////////// -*/ - -/datum/symptom/dizzy // Not the egg - - name = "Dizziness" - stealth = 2 - resistance = -2 - stage_speed = -3 - transmittable = -1 - level = 4 - -/datum/symptom/dizzy/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 dizzy.", "Your head starts spinning.")]" - else - M << "You are unable to look straight!" - M.Dizzy(5) - return \ No newline at end of file diff --git a/code/datums/diseases/advance/symptoms/fever.dm b/code/datums/diseases/advance/symptoms/fever.dm deleted file mode 100644 index f24e789810f..00000000000 --- a/code/datums/diseases/advance/symptoms/fever.dm +++ /dev/null @@ -1,35 +0,0 @@ -/* -////////////////////////////////////// - -Fever - - No change to hidden. - Increases resistance. - Increases stage speed. - Little transmittable. - Low level. - -Bonus - Heats up your body. - -////////////////////////////////////// -*/ - -/datum/symptom/fever - - name = "Fever" - stealth = 0 - resistance = 3 - stage_speed = 3 - transmittable = 2 - level = 2 - -/datum/symptom/fever/Activate(var/datum/disease/advance/A) - ..() - if(prob(SYMPTOM_ACTIVATION_PROB)) - var/mob/living/carbon/M = A.affected_mob - M << "[pick("You feel hot.", "You feel like you're burning.")]" - if(M.bodytemperature < BODYTEMP_HEAT_DAMAGE_LIMIT) - M.bodytemperature = min(M.bodytemperature + (20 * A.stage), BODYTEMP_HEAT_DAMAGE_LIMIT - 1) - - return diff --git a/code/datums/diseases/advance/symptoms/flesh_eating.dm b/code/datums/diseases/advance/symptoms/flesh_eating.dm deleted file mode 100644 index bc134b2c411..00000000000 --- a/code/datums/diseases/advance/symptoms/flesh_eating.dm +++ /dev/null @@ -1,35 +0,0 @@ -/* -////////////////////////////////////// - -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/hallucigen.dm b/code/datums/diseases/advance/symptoms/hallucigen.dm deleted file mode 100644 index 5e0f0aa4731..00000000000 --- a/code/datums/diseases/advance/symptoms/hallucigen.dm +++ /dev/null @@ -1,37 +0,0 @@ -/* -////////////////////////////////////// - -Hallucigen - - Very noticable. - Lowers resistance considerably. - Decreases stage speed. - Reduced transmittable. - Critical Level. - -Bonus - Makes the affected mob be hallucinated for short periods of time. - -////////////////////////////////////// -*/ - -/datum/symptom/hallucigen - - name = "Hallucigen" - stealth = -2 - resistance = -3 - stage_speed = -3 - transmittable = -1 - level = 5 - -/datum/symptom/hallucigen/Activate(var/datum/disease/advance/A) - ..() - if(prob(SYMPTOM_ACTIVATION_PROB)) - var/mob/living/carbon/M = A.affected_mob - switch(A.stage) - if(1, 2, 3, 4) - M << "[pick("You notice someone in the corner of your eye.", "Is that footsteps?.")]" - else - M.hallucination += 5 - - return diff --git a/code/datums/diseases/advance/symptoms/headache.dm b/code/datums/diseases/advance/symptoms/headache.dm deleted file mode 100644 index 691b7bf3122..00000000000 --- a/code/datums/diseases/advance/symptoms/headache.dm +++ /dev/null @@ -1,33 +0,0 @@ -/* -////////////////////////////////////// - -Headache - - Noticable. - Highly resistant. - Increases stage speed. - Not transmittable. - Low Level. - -BONUS - Displays an annoying message! - Should be used for buffing your disease. - -////////////////////////////////////// -*/ - -/datum/symptom/headache - - name = "Headache" - stealth = -1 - resistance = 4 - stage_speed = 2 - transmittable = 0 - level = 1 - -/datum/symptom/headache/Activate(var/datum/disease/advance/A) - ..() - if(prob(SYMPTOM_ACTIVATION_PROB)) - var/mob/living/M = A.affected_mob - M << "[pick("Your head hurts.", "Your head starts pounding.")]" - return \ No newline at end of file diff --git a/code/datums/diseases/advance/symptoms/heal.dm b/code/datums/diseases/advance/symptoms/heal.dm deleted file mode 100644 index 0584dc76110..00000000000 --- a/code/datums/diseases/advance/symptoms/heal.dm +++ /dev/null @@ -1,40 +0,0 @@ -/* -////////////////////////////////////// - -Healing - - 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 - - name = "Toxic Filter" - stealth = 1 - resistance = -4 - stage_speed = -4 - transmittable = -4 - level = 6 - -/datum/symptom/heal/Activate(var/datum/disease/advance/A) - ..() - if(prob(SYMPTOM_ACTIVATION_PROB)) - var/mob/living/M = A.affected_mob - switch(A.stage) - if(4, 5) - Heal(M) - return - -/datum/symptom/heal/proc/Heal(var/mob/living/M) - - var/get_damage = rand(1, 2) - M.adjustToxLoss(-get_damage) - return 1 \ No newline at end of file diff --git a/code/datums/diseases/advance/symptoms/itching.dm b/code/datums/diseases/advance/symptoms/itching.dm deleted file mode 100644 index f4b69c364ab..00000000000 --- a/code/datums/diseases/advance/symptoms/itching.dm +++ /dev/null @@ -1,33 +0,0 @@ -/* -////////////////////////////////////// - -Itching - - Not noticable or unnoticable. - Resistant. - Increases stage speed. - Little transmittable. - Low Level. - -BONUS - Displays an annoying message! - Should be used for buffing your disease. - -////////////////////////////////////// -*/ - -/datum/symptom/itching - - name = "Itching" - stealth = 0 - resistance = 3 - stage_speed = 3 - transmittable = 1 - level = 1 - -/datum/symptom/itching/Activate(var/datum/disease/advance/A) - ..() - if(prob(SYMPTOM_ACTIVATION_PROB)) - var/mob/living/M = A.affected_mob - M << "Your [pick("back", "arm", "leg", "elbow", "head")] itches." - 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 deleted file mode 100644 index 646b0810241..00000000000 --- a/code/datums/diseases/advance/symptoms/oxygen.dm +++ /dev/null @@ -1,37 +0,0 @@ -/* -////////////////////////////////////// - -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/poop.dm b/code/datums/diseases/advance/symptoms/poop.dm deleted file mode 100644 index d1a73ccc076..00000000000 --- a/code/datums/diseases/advance/symptoms/poop.dm +++ /dev/null @@ -1,52 +0,0 @@ -/* -////////////////////////////////////// - -Diarrhea - - Very Very Noticable. - Decreases resistance. - Doesn't increase stage speed. - Little transmittable. - Intense Level. - -Bonus - Forces the affected mob to shit their pants! - Meaning your disease can spread via - people walking on the poop. - Makes the affected mob lose nutrition and - heal toxin damage. - -////////////////////////////////////// -*/ - -/datum/symptom/poop - - name = "Diarrhea" - stealth = -2 - resistance = -1 - stage_speed = 0 - transmittable = 1 - level = 3 - -/datum/symptom/poop/Activate(var/datum/disease/advance/A) - ..() - if(prob(SYMPTOM_ACTIVATION_PROB / 2)) - var/mob/living/M = A.affected_mob - switch(A.stage) - if(1, 2, 3, 4) - M << "[pick("Your stomach rumbles strangely.", "You feel like you're going shit your pants any second now!")]" - else - Poop(M) - - return - -/datum/symptom/poop/proc/Poop(var/mob/living/M) - - M.visible_message("[M] has explosive diarrhea all over the floor!") - - M.nutrition -= 20 - M.adjustToxLoss(-3) - - var/turf/pos = get_turf(M) - pos.add_poop_floor(M) - playsound(pos, 'sound/effects/splat.ogg', 50, 1) \ No newline at end of file diff --git a/code/datums/diseases/advance/symptoms/shedding.dm b/code/datums/diseases/advance/symptoms/shedding.dm deleted file mode 100644 index d353c8a4239..00000000000 --- a/code/datums/diseases/advance/symptoms/shedding.dm +++ /dev/null @@ -1,47 +0,0 @@ -/* -////////////////////////////////////// -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/shivering.dm b/code/datums/diseases/advance/symptoms/shivering.dm deleted file mode 100644 index e87b395b13a..00000000000 --- a/code/datums/diseases/advance/symptoms/shivering.dm +++ /dev/null @@ -1,35 +0,0 @@ -/* -////////////////////////////////////// - -Shivering - - No change to hidden. - Increases resistance. - Increases stage speed. - Little transmittable. - Low level. - -Bonus - Cools down your body. - -////////////////////////////////////// -*/ - -/datum/symptom/shivering - - name = "Shivering" - stealth = 0 - resistance = 2 - stage_speed = 2 - transmittable = 2 - level = 2 - -/datum/symptom/shivering/Activate(var/datum/disease/advance/A) - ..() - if(prob(SYMPTOM_ACTIVATION_PROB)) - var/mob/living/carbon/M = A.affected_mob - M << "[pick("You feel cold.", "You start shaking from the cold.")]" - if(M.bodytemperature < BODYTEMP_COLD_DAMAGE_LIMIT) - M.bodytemperature = min(M.bodytemperature - (20 * A.stage), BODYTEMP_COLD_DAMAGE_LIMIT + 1) - - return diff --git a/code/datums/diseases/advance/symptoms/sneeze.dm b/code/datums/diseases/advance/symptoms/sneeze.dm deleted file mode 100644 index 155e71839a4..00000000000 --- a/code/datums/diseases/advance/symptoms/sneeze.dm +++ /dev/null @@ -1,38 +0,0 @@ -/* -////////////////////////////////////// - -Sneezing - - Very Noticable. - Increases resistance. - Doesn't increase stage speed. - Very transmittable. - Low Level. - -Bonus - Forces a spread type of AIRBORNE - with extra range! - -////////////////////////////////////// -*/ - -/datum/symptom/sneeze - - name = "Sneezing" - stealth = -2 - resistance = 3 - stage_speed = 0 - transmittable = 4 - level = 1 - -/datum/symptom/sneeze/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) - M.emote("sniff") - else - M.emote("sneeze") - A.spread(A.holder, 5, AIRBORNE) - 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 deleted file mode 100644 index af62abd248d..00000000000 --- a/code/datums/diseases/advance/symptoms/stimulant.dm +++ /dev/null @@ -1,37 +0,0 @@ -/* -////////////////////////////////////// - -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/symptoms.dm b/code/datums/diseases/advance/symptoms/symptoms.dm deleted file mode 100644 index 349809b973e..00000000000 --- a/code/datums/diseases/advance/symptoms/symptoms.dm +++ /dev/null @@ -1,38 +0,0 @@ -// Symptoms are the effects that engineered advanced diseases do. - -var/list/list_symptoms = typesof(/datum/symptom) - /datum/symptom -var/list/dictionary_symptoms = list() - -var/global/const/SYMPTOM_ACTIVATION_PROB = 3 - -/datum/symptom - // Buffs/Debuffs the symptom has to the overall engineered disease. - var/name = "" - var/stealth = 0 - var/resistance = 0 - var/stage_speed = 0 - var/transmittable = 0 - // The type level of the symptom. Higher is more lethal and harder to generate. - var/level = 0 - // The hash tag for our diseases, we will add it up with our other symptoms to get a unique id! ID MUST BE UNIQUE!!! - var/id = "" - -/datum/symptom/New() - var/list/S = list_symptoms - for(var/i = 1; i <= S.len; i++) - if(src.type == S[i]) - id = "[i]" - return - CRASH("We couldn't assign an ID!") - -// Called when processing of the advance disease, which holds this symptom, starts. -/datum/symptom/proc/Start(var/datum/disease/advance/A) - return - -// Called when the advance disease is going to be deleted or when the advance disease stops processing. -/datum/symptom/proc/End(var/datum/disease/advance/A) - return - -/datum/symptom/proc/Activate(var/datum/disease/advance/A) - return - diff --git a/code/datums/diseases/advance/symptoms/visionloss.dm b/code/datums/diseases/advance/symptoms/visionloss.dm deleted file mode 100644 index 0c7bff4fe5d..00000000000 --- a/code/datums/diseases/advance/symptoms/visionloss.dm +++ /dev/null @@ -1,47 +0,0 @@ -/* -////////////////////////////////////// - -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 deleted file mode 100644 index 509c560e446..00000000000 --- a/code/datums/diseases/advance/symptoms/vitiligo.dm +++ /dev/null @@ -1,41 +0,0 @@ -/* -////////////////////////////////////// -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/voice_change.dm b/code/datums/diseases/advance/symptoms/voice_change.dm deleted file mode 100644 index 655cbc65c10..00000000000 --- a/code/datums/diseases/advance/symptoms/voice_change.dm +++ /dev/null @@ -1,54 +0,0 @@ -/* -////////////////////////////////////// - -Voice Change - - Very Very noticable. - Lowers resistance considerably. - Decreases stage speed. - Reduced transmittable. - Fatal Level. - -Bonus - Changes the voice of the affected mob. Causing confusion in communication. - -////////////////////////////////////// -*/ - -/datum/symptom/voice_change - - name = "Voice Change" - stealth = -2 - resistance = -3 - stage_speed = -3 - transmittable = -1 - level = 6 - -/datum/symptom/voice_change/Activate(var/datum/disease/advance/A) - ..() - if(prob(SYMPTOM_ACTIVATION_PROB)) - - var/mob/living/carbon/M = A.affected_mob - switch(A.stage) - if(1, 2, 3, 4) - M << "[pick("Your throat hurts.", "You clear your throat.")]" - else - if(ishuman(M)) - var/mob/living/carbon/human/H = M - var/random_name = "" - switch(H.gender) - if(MALE) - random_name = pick(first_names_male) - else - random_name = pick(first_names_female) - random_name += " [pick(last_names)]" - H.SetSpecialVoice(random_name) - - return - -/datum/symptom/voice_change/End(var/datum/disease/advance/A) - ..() - if(ishuman(A.affected_mob)) - var/mob/living/carbon/human/H = A.affected_mob - H.UnsetSpecialVoice() - return diff --git a/code/datums/diseases/advance/symptoms/vomit.dm b/code/datums/diseases/advance/symptoms/vomit.dm deleted file mode 100644 index 1f62065ef99..00000000000 --- a/code/datums/diseases/advance/symptoms/vomit.dm +++ /dev/null @@ -1,94 +0,0 @@ -/* -////////////////////////////////////// - -Vomiting - - Very Very Noticable. - Decreases resistance. - Doesn't increase stage speed. - Little transmittable. - Medium Level. - -Bonus - Forces the affected mob to vomit! - Meaning your disease can spread via - people walking on vomit. - Makes the affected mob lose nutrition and - heal toxin damage. - -////////////////////////////////////// -*/ - -/datum/symptom/vomit - - name = "Vomiting" - stealth = -2 - resistance = -1 - stage_speed = 0 - transmittable = 1 - level = 3 - -/datum/symptom/vomit/Activate(var/datum/disease/advance/A) - ..() - if(prob(SYMPTOM_ACTIVATION_PROB / 2)) - var/mob/living/M = A.affected_mob - switch(A.stage) - if(1, 2, 3, 4) - M << "[pick("You feel nauseous.", "You feel like you're going to throw up!")]" - else - Vomit(M) - - return - -/datum/symptom/vomit/proc/Vomit(var/mob/living/M) - - M.visible_message("[M] vomits on the floor!") - - M.nutrition -= 20 - M.adjustToxLoss(-3) - - var/turf/pos = get_turf(M) - pos.add_vomit_floor(M) - playsound(pos, 'sound/effects/splat.ogg', 50, 1) -/* -////////////////////////////////////// - -Vomiting Blood - - Very Very Noticable. - Decreases resistance. - Decreases stage speed. - Little transmittable. - Intense level. - -Bonus - Forces the affected mob to vomit blood! - Meaning your disease can spread via - people walking on the blood. - Makes the affected mob lose health. - -////////////////////////////////////// -*/ - -/datum/symptom/vomit/blood - - name = "Blood Vomiting" - stealth = -2 - resistance = -1 - stage_speed = -1 - transmittable = 1 - level = 4 - -/datum/symptom/vomit/blood/Vomit(var/mob/living/M) - - M.Stun(1) - M.visible_message("[M] vomits on the floor!") - - // They lose blood and health. - var/brute_dam = M.getBruteLoss() - if(brute_dam < 50) - M.adjustBruteLoss(3) - - var/turf/simulated/pos = get_turf(M) - pos.add_blood_floor(M) - playsound(pos, 'sound/effects/splat.ogg', 50, 1) \ No newline at end of file diff --git a/code/datums/diseases/advance/symptoms/weight.dm b/code/datums/diseases/advance/symptoms/weight.dm deleted file mode 100644 index 4abf89240b5..00000000000 --- a/code/datums/diseases/advance/symptoms/weight.dm +++ /dev/null @@ -1,119 +0,0 @@ -/* -////////////////////////////////////// - -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" - stealth = -3 - resistance = -3 - stage_speed = -2 - transmittable = -2 - level = 4 - -/datum/symptom/weight_gain/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 blubbery.", "You feel full.")]" - else - M.overeatduration = min(M.overeatduration + 100, 600) - M.nutrition = min(M.nutrition + 100, 500) - - return - - -/* -////////////////////////////////////// - -Weight Loss - - Very Very Noticable. - Decreases resistance. - Decreases stage speed. - Reduced Transmittable. - High level. - -Bonus - Decreases the weight of the mob, - forcing it to be skinny. - -////////////////////////////////////// -*/ - -/datum/symptom/weight_loss - - name = "Weight Loss" - stealth = -3 - resistance = -2 - stage_speed = -2 - transmittable = -2 - level = 3 - -/datum/symptom/weight_loss/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 hungry.", "You crave for food.")]" - else - M << "Your stomach rumbles." - M.overeatduration = max(M.overeatduration - 100, 0) - M.nutrition = max(M.nutrition - 100, 0) - - return - -/* -////////////////////////////////////// - -Weight Even - - Very Noticable. - Decreases resistance. - Decreases stage speed. - Reduced transmittable. - High level. - -Bonus - Causes the weight of the mob to - be even, meaning eating isn't - required anymore. - -////////////////////////////////////// -*/ - -/datum/symptom/weight_even - - name = "Weight Even" - stealth = -3 - resistance = -2 - stage_speed = -2 - transmittable = -2 - level = 4 - -/datum/symptom/weight_loss/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.overeatduration = 0 - M.nutrition = 400 - - 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 deleted file mode 100644 index 88294e6e058..00000000000 --- a/code/datums/diseases/advance/symptoms/youth.dm +++ /dev/null @@ -1,55 +0,0 @@ -/* -////////////////////////////////////// -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 diff --git a/code/datums/diseases/alien_embryo.dm b/code/datums/diseases/alien_embryo.dm deleted file mode 100644 index 631c93b26c4..00000000000 --- a/code/datums/diseases/alien_embryo.dm +++ /dev/null @@ -1,153 +0,0 @@ -//affected_mob.contract_disease(new /datum/disease/alien_embryo) - -//cael - retained this file for legacy reference, see code\modules\mob\living\carbon\alien\special\alien_embryo.dm for replacement - -//Our own special process so that dead hosts still chestburst -/datum/disease/alien_embryo/process() - if(!holder) return - if(holder == affected_mob) - stage_act() - if(affected_mob) - if(affected_mob.stat == DEAD) - if(prob(50)) - if(--longevity<=0) - cure(0) - else //the virus is in inanimate obj - cure(0) - return - -/datum/disease/alien_embryo/New() - ..() - /* Special Hud for xenos */ - spawn(0) - if (affected_mob) - AddInfectionImages(affected_mob) - -/datum/disease/alien_embryo/cure(var/resistance=1) - ..() - spawn(0) - if (affected_mob) - RemoveInfectionImages(affected_mob) - -/datum/disease/alien_embryo - name = "Unidentified Foreign Body" - max_stages = 5 - spread = "None" - spread_type = SPECIAL - cure = "Unknown" - cure_id = list("lexorin","toxin","gargleblaster") - cure_chance = 50 - affected_species = list("Human", "Monkey") - permeability_mod = 15//likely to infect - can_carry = 0 - stage_prob = 3 - var/gibbed = 0 - stage_minimum_age = 300 - -/datum/disease/alien_embryo/stage_act() - ..() - switch(stage) - if(2, 3) - if(prob(1)) - affected_mob.emote("sneeze") - if(prob(1)) - affected_mob.emote("cough") - if(prob(1)) - affected_mob << "\red Your throat feels sore." - if(prob(1)) - affected_mob << "\red Mucous runs down the back of your throat." - if(4) - if(prob(1)) - affected_mob.emote("sneeze") - if(prob(1)) - affected_mob.emote("cough") - if(prob(2)) - affected_mob << "\red Your muscles ache." - if(prob(20)) - affected_mob.take_organ_damage(1) - if(prob(2)) - affected_mob << "\red Your stomach hurts." - if(prob(20)) - affected_mob.adjustToxLoss(1) - affected_mob.updatehealth() - if(5) - affected_mob << "\red You feel something tearing its way out of your stomach..." - affected_mob.adjustToxLoss(10) - affected_mob.updatehealth() - if(prob(50)) - if(gibbed != 0) return 0 - var/list/candidates = get_alien_candidates() - var/picked = null - - // To stop clientless larva, we will check that our host has a client - // if we find no ghosts to become the alien. If the host has a client - // he will become the alien but if he doesn't then we will set the stage - // to 2, so we don't do a process heavy check everytime. - - if(candidates.len) - picked = pick(candidates) - else if(affected_mob.client) - picked = affected_mob.key - else - stage = 2 // Let's try again later. - return - - var/mob/living/carbon/alien/larva/new_xeno = new(affected_mob.loc) - new_xeno.key = picked - new_xeno << sound('sound/voice/hiss5.ogg',0,0,0,100) //To get the player's attention - affected_mob.gib() - src.cure(0) - gibbed = 1 - return - -/datum/disease/alien_embryo/stage_change(var/old_stage) - RefreshInfectionImage() - -/*---------------------------------------- -Proc: RefreshInfectionImage() -Des: Removes all infection images from aliens and places an infection image on all infected mobs for aliens. -----------------------------------------*/ -/datum/disease/alien_embryo/proc/RefreshInfectionImage() - spawn(0) - for (var/mob/living/carbon/alien/alien in player_list) - if (alien.client) - for(var/image/I in alien.client.images) - if(dd_hasprefix_case(I.icon_state, "infected")) - del(I) - - for (var/mob/living/carbon/alien/alien in player_list) - if (alien.client) - for (var/mob/living/carbon/C in mob_list) - if(C) - if (C.status_flags & XENO_HOST) - var/I = image('icons/mob/alien.dmi', loc = C, icon_state = "infected[stage]") - alien.client.images += I - return - -/*---------------------------------------- -Proc: AddInfectionImages(C) -Des: Checks if the passed mob (C) is infected with the alien egg, then gives each alien client an infected image at C. -----------------------------------------*/ -/datum/disease/alien_embryo/proc/AddInfectionImages(var/mob/living/carbon/C) - if (C) - for (var/mob/living/carbon/alien/alien in player_list) - if (alien.client) - if (C.status_flags & XENO_HOST) - var/I = image('icons/mob/alien.dmi', loc = C, icon_state = "infected[stage]") - alien.client.images += I - return - -/*---------------------------------------- -Proc: RemoveInfectionImage(C) -Des: Removes the alien infection image from all aliens in the world located in passed mob (C). -----------------------------------------*/ - -/datum/disease/alien_embryo/proc/RemoveInfectionImages(var/mob/living/carbon/C) - if (C) - for (var/mob/living/carbon/alien/alien in player_list) - if (alien.client) - for(var/image/I in alien.client.images) - if(I.loc == C) - if(dd_hasprefix_case(I.icon_state, "infected")) - del(I) - return diff --git a/code/datums/diseases/appendicitis.dm b/code/datums/diseases/appendicitis.dm deleted file mode 100644 index d6bb8c1086d..00000000000 --- a/code/datums/diseases/appendicitis.dm +++ /dev/null @@ -1,56 +0,0 @@ -/datum/disease/appendicitis - form = "Condition" - name = "Appendicitis" - max_stages = 4 - spread = "Acute" - cure = "Surgery" - agent = "Appendix" - affected_species = list("Human") - permeability_mod = 1 - contagious_period = 9001 //slightly hacky, but hey! whatever works, right? - desc = "If left untreated the subject will become very weak, and may vomit often." - severity = "Medium" - longevity = 1000 - hidden = list(0, 1) - stage_minimum_age = 160 // at least 200 life ticks per stage - -/datum/disease/appendicitis/stage_act() - ..() - - if(istype(affected_mob,/mob/living/carbon/human)) - var/mob/living/carbon/human/H = affected_mob - if(H.species.name == "Diona" || H.species.name == "Machine" || H.species.name == "Vox") src.cure() - - if(stage == 1) - if(affected_mob.op_stage.appendix == 2.0) - // appendix is removed, can't get infected again - src.cure() - if(prob(5)) - affected_mob << "\red You feel a stinging pain in your abdomen!" - affected_mob.emote("me",1,"winces slightly.") - if(stage > 1) - if(prob(3)) - affected_mob << "\red You feel a stabbing pain in your abdomen!" - affected_mob.emote("me",1,"winces painfully.") - affected_mob.adjustToxLoss(1) - if(stage > 2) - if(prob(1)) - if (affected_mob.nutrition > 100) - var/mob/living/carbon/human/H = affected_mob - H.vomit() - else - affected_mob << "\red You gag as you want to throw up, but there's nothing in your stomach!" - affected_mob.Weaken(10) - affected_mob.adjustToxLoss(3) - if(stage > 3) - if(prob(1) && ishuman(affected_mob)) - var/mob/living/carbon/human/H = affected_mob - H << "\red Your abdomen is a world of pain!" - H.Weaken(10) - H.op_stage.appendix = 2.0 - - var/datum/organ/external/groin = H.get_organ("groin") - var/datum/wound/W = new /datum/wound/internal_bleeding(25) - H.adjustToxLoss(25) - groin.wounds += W - src.cure() diff --git a/code/datums/diseases/beesease.dm b/code/datums/diseases/beesease.dm deleted file mode 100644 index ec863a441eb..00000000000 --- a/code/datums/diseases/beesease.dm +++ /dev/null @@ -1,31 +0,0 @@ -/* -/datum/disease/beesease - name = "Beesease" - max_stages = 5 - spread = "Contact" //ie shot bees - cure = "???" - cure_id = "???" - agent = "Bees" - affected_species = list("Human","Monkey") - curable = 0 - -/datum/disease/beesease/stage_act() - ..() - switch(stage) - if(1) - if(prob(2)) - affected_mob << "\red You feel like something is moving inside of you" - if(2) //also changes say, see say.dm - if(prob(2)) - affected_mob << "\red You feel like something is moving inside of you" - if(prob(2)) - affected_mob << "\red BZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ" - if(3) - //Should give the bee spit verb - if(4) - //Plus bees now spit randomly - if(5) - //Plus if you die, you explode into bees - return -*/ -//Started working on it, but am too lazy to finish it today -- Urist \ No newline at end of file diff --git a/code/datums/diseases/brainrot.dm b/code/datums/diseases/brainrot.dm deleted file mode 100644 index 55e5db82d6b..00000000000 --- a/code/datums/diseases/brainrot.dm +++ /dev/null @@ -1,67 +0,0 @@ -/datum/disease/brainrot - name = "Brainrot" - max_stages = 4 - spread = "On contact" - spread_type = CONTACT_GENERAL - cure = "Alkysine" - cure_id = list("alkysine") - agent = "Cryptococcus Cosmosis" - affected_species = list("Human") - curable = 0 - cure_chance = 15//higher chance to cure, since two reagents are required - desc = "This disease destroys the braincells, causing brain fever, brain necrosis and general intoxication." - severity = "Major" - -/datum/disease/brainrot/stage_act() //Removed toxloss because damaging diseases are pretty horrible. Last round it killed the entire station because the cure didn't work -- Urist - ..() - switch(stage) - if(2) - if(prob(2)) - affected_mob.emote("blink") - if(prob(2)) - affected_mob.emote("yawn") - if(prob(2)) - affected_mob << "\red Your don't feel like yourself." - if(prob(5)) - affected_mob.adjustBrainLoss(1) - affected_mob.updatehealth() - if(3) - if(prob(2)) - affected_mob.emote("stare") - if(prob(2)) - affected_mob.emote("drool") - if(prob(10) && affected_mob.getBrainLoss()<=98)//shouldn't retard you to death now - affected_mob.adjustBrainLoss(2) - affected_mob.updatehealth() - if(prob(2)) - affected_mob << "\red Your try to remember something important...but can't." -/* if(prob(10)) - affected_mob.adjustToxLoss(3) - affected_mob.updatehealth() - if(prob(2)) - affected_mob << "\red Your head hurts." */ - if(4) - if(prob(2)) - affected_mob.emote("stare") - if(prob(2)) - affected_mob.emote("drool") -/* if(prob(15)) - affected_mob.adjustToxLoss(4) - affected_mob.updatehealth() - if(prob(2)) - affected_mob << "\red Your head hurts." */ - if(prob(15) && affected_mob.getBrainLoss()<=98) //shouldn't retard you to death now - affected_mob.adjustBrainLoss(3) - affected_mob.updatehealth() - if(prob(2)) - affected_mob << "\red Strange buzzing fills your head, removing all thoughts." - if(prob(3)) - affected_mob << "\red You lose consciousness..." - for(var/mob/O in viewers(affected_mob, null)) - O.show_message("[affected_mob] suddenly collapses", 1) - affected_mob.Paralyse(rand(5,10)) - if(prob(1)) - affected_mob.emote("snore") - if(prob(15)) - affected_mob.stuttering += 3 - return \ No newline at end of file diff --git a/code/datums/diseases/cold.dm b/code/datums/diseases/cold.dm deleted file mode 100644 index 9317fa12ef6..00000000000 --- a/code/datums/diseases/cold.dm +++ /dev/null @@ -1,66 +0,0 @@ -/datum/disease/cold - name = "The Cold" - max_stages = 3 - spread = "Airborne" - cure = "Rest & Spaceacillin" - cure_id = "spaceacillin" - agent = "XY-rhinovirus" - affected_species = list("Human", "Monkey") - permeability_mod = 0.5 - desc = "If left untreated the subject will contract the flu." - severity = "Minor" - -/datum/disease/cold/stage_act() - ..() - switch(stage) - if(2) -/* - if(affected_mob.sleeping && prob(40)) //removed until sleeping is fixed - affected_mob << "\blue You feel better." - cure() - return -*/ - if(affected_mob.lying && prob(40)) //changed FROM prob(10) until sleeping is fixed - affected_mob << "\blue You feel better." - cure() - return - if(prob(1) && prob(5)) - affected_mob << "\blue You feel better." - cure() - return - if(prob(1)) - affected_mob.emote("sneeze") - if(prob(1)) - affected_mob.emote("cough") - if(prob(1)) - affected_mob << "\red Your throat feels sore." - if(prob(1)) - affected_mob << "\red Mucous runs down the back of your throat." - if(3) -/* - if(affected_mob.sleeping && prob(25)) //removed until sleeping is fixed - affected_mob << "\blue You feel better." - cure() - return -*/ - if(affected_mob.lying && prob(25)) //changed FROM prob(5) until sleeping is fixed - affected_mob << "\blue You feel better." - cure() - return - if(prob(1) && prob(1)) - affected_mob << "\blue You feel better." - cure() - return - if(prob(1)) - affected_mob.emote("sneeze") - if(prob(1)) - affected_mob.emote("cough") - if(prob(1)) - affected_mob << "\red Your throat feels sore." - if(prob(1)) - affected_mob << "\red Mucous runs down the back of your throat." - if(prob(1) && prob(50)) - if(!affected_mob.resistances.Find(/datum/disease/flu)) - var/datum/disease/Flu = new /datum/disease/flu(0) - affected_mob.contract_disease(Flu,1) - cure() \ No newline at end of file diff --git a/code/datums/diseases/cold9.dm b/code/datums/diseases/cold9.dm deleted file mode 100644 index bea72ec36e7..00000000000 --- a/code/datums/diseases/cold9.dm +++ /dev/null @@ -1,39 +0,0 @@ -/datum/disease/cold9 - name = "The Cold" - max_stages = 3 - spread = "On contact" - spread_type = CONTACT_GENERAL - cure = "Common Cold Anti-bodies & Spaceacillin" - cure_id = "spaceacillin" - agent = "ICE9-rhinovirus" - affected_species = list("Human") - desc = "If left untreated the subject will slow, as if partly frozen." - severity = "Moderate" - -/datum/disease/cold9/stage_act() - ..() - switch(stage) - if(2) - affected_mob.bodytemperature -= 10 - if(prob(1) && prob(10)) - affected_mob << "\blue You feel better." - cure() - return - if(prob(1)) - affected_mob.emote("sneeze") - if(prob(1)) - affected_mob.emote("cough") - if(prob(1)) - affected_mob << "\red Your throat feels sore." - if(prob(5)) - affected_mob << "\red You feel stiff." - if(3) - affected_mob.bodytemperature -= 20 - if(prob(1)) - affected_mob.emote("sneeze") - if(prob(1)) - affected_mob.emote("cough") - if(prob(1)) - affected_mob << "\red Your throat feels sore." - if(prob(10)) - affected_mob << "\red You feel stiff." \ No newline at end of file diff --git a/code/datums/diseases/dna_spread.dm b/code/datums/diseases/dna_spread.dm deleted file mode 100644 index a4d85a56407..00000000000 --- a/code/datums/diseases/dna_spread.dm +++ /dev/null @@ -1,69 +0,0 @@ -/datum/disease/dnaspread - name = "Space Retrovirus" - max_stages = 4 - spread = "On contact" - spread_type = CONTACT_GENERAL - cure = "Ryetalyn" - cure_id = "ryetalyn" - curable = 1 - agent = "S4E1 retrovirus" - affected_species = list("Human") - var/list/original_dna = list() - var/transformed = 0 - desc = "This disease transplants the genetic code of the intial vector into new hosts." - severity = "Medium" - - -/datum/disease/dnaspread/stage_act() - ..() - switch(stage) - if(2 || 3) //Pretend to be a cold and give time to spread. - if(prob(8)) - affected_mob.emote("sneeze") - if(prob(8)) - affected_mob.emote("cough") - if(prob(1)) - affected_mob << "\red Your muscles ache." - if(prob(20)) - affected_mob.take_organ_damage(1) - if(prob(1)) - affected_mob << "\red Your stomach hurts." - if(prob(20)) - affected_mob.adjustToxLoss(2) - affected_mob.updatehealth() - if(4) - if(!src.transformed) - if ((!strain_data["name"]) || (!strain_data["UI"]) || (!strain_data["SE"])) - del(affected_mob.virus) - return - - //Save original dna for when the disease is cured. - src.original_dna["name"] = affected_mob.real_name - src.original_dna["UI"] = affected_mob.dna.UI.Copy() - src.original_dna["SE"] = affected_mob.dna.SE.Copy() - - affected_mob << "\red You don't feel like yourself.." - var/list/newUI=strain_data["UI"] - var/list/newSE=strain_data["SE"] - affected_mob.UpdateAppearance(newUI.Copy()) - affected_mob.dna.SE = newSE.Copy() - affected_mob.dna.UpdateSE() - affected_mob.real_name = strain_data["name"] - domutcheck(affected_mob) - - src.transformed = 1 - src.carrier = 1 //Just chill out at stage 4 - - return - -/datum/disease/dnaspread/Del() - if ((original_dna["name"]) && (original_dna["UI"]) && (original_dna["SE"])) - var/list/newUI=original_dna["UI"] - var/list/newSE=original_dna["SE"] - affected_mob.UpdateAppearance(newUI.Copy()) - affected_mob.dna.SE = newSE.Copy() - affected_mob.dna.UpdateSE() - affected_mob.real_name = original_dna["name"] - - affected_mob << "\blue You feel more like yourself." - ..() \ No newline at end of file diff --git a/code/datums/diseases/fake_gbs.dm b/code/datums/diseases/fake_gbs.dm deleted file mode 100644 index 2ef958bc04a..00000000000 --- a/code/datums/diseases/fake_gbs.dm +++ /dev/null @@ -1,32 +0,0 @@ -/datum/disease/fake_gbs - name = "GBS" - max_stages = 5 - spread = "On contact" - spread_type = CONTACT_GENERAL - cure = "Synaptizine & Sulfur" - cure_id = list("synaptizine","sulfur") - agent = "Gravitokinetic Bipotential SADS-" - affected_species = list("Human", "Monkey") - desc = "If left untreated death will occur." - severity = "Major" - -/datum/disease/fake_gbs/stage_act() - ..() - switch(stage) - if(2) - if(prob(1)) - affected_mob.emote("sneeze") - if(3) - if(prob(5)) - affected_mob.emote("cough") - else if(prob(5)) - affected_mob.emote("gasp") - if(prob(10)) - affected_mob << "\red You're starting to feel very weak..." - if(4) - if(prob(10)) - affected_mob.emote("cough") - - if(5) - if(prob(10)) - affected_mob.emote("cough") diff --git a/code/datums/diseases/flu.dm b/code/datums/diseases/flu.dm deleted file mode 100644 index bb32b44e5b8..00000000000 --- a/code/datums/diseases/flu.dm +++ /dev/null @@ -1,66 +0,0 @@ -/datum/disease/flu - name = "The Flu" - max_stages = 3 - spread = "Airborne" - cure = "Spaceacillin" - cure_id = "spaceacillin" - cure_chance = 10 - agent = "H13N1 flu virion" - affected_species = list("Human", "Monkey") - permeability_mod = 0.75 - desc = "If left untreated the subject will feel quite unwell." - severity = "Medium" - -/datum/disease/flu/stage_act() - ..() - switch(stage) - if(2) -/* - if(affected_mob.sleeping && prob(20)) //removed until sleeping is fixed --Blaank - affected_mob << "\blue You feel better." - stage-- - return -*/ - if(affected_mob.lying && prob(20)) //added until sleeping is fixed --Blaank - affected_mob << "\blue You feel better." - stage-- - return - if(prob(1)) - affected_mob.emote("sneeze") - if(prob(1)) - affected_mob.emote("cough") - if(prob(1)) - affected_mob << "\red Your muscles ache." - if(prob(20)) - affected_mob.take_organ_damage(1) - if(prob(1)) - affected_mob << "\red Your stomach hurts." - if(prob(20)) - affected_mob.adjustToxLoss(1) - affected_mob.updatehealth() - - if(3) -/* - if(affected_mob.sleeping && prob(15)) //removed until sleeping is fixed - affected_mob << "\blue You feel better." - stage-- - return -*/ - if(affected_mob.lying && prob(15)) //added until sleeping is fixed - affected_mob << "\blue You feel better." - stage-- - return - if(prob(1)) - affected_mob.emote("sneeze") - if(prob(1)) - affected_mob.emote("cough") - if(prob(1)) - affected_mob << "\red Your muscles ache." - if(prob(20)) - affected_mob.take_organ_damage(1) - if(prob(1)) - affected_mob << "\red Your stomach hurts." - if(prob(20)) - affected_mob.adjustToxLoss(1) - affected_mob.updatehealth() - return diff --git a/code/datums/diseases/fluspanish.dm b/code/datums/diseases/fluspanish.dm deleted file mode 100644 index 8400d196b67..00000000000 --- a/code/datums/diseases/fluspanish.dm +++ /dev/null @@ -1,36 +0,0 @@ -/datum/disease/fluspanish - name = "Spanish inquisition Flu" - max_stages = 3 - spread = "Airborne" - cure = "Spaceacillin & Anti-bodies to the common flu" - cure_id = "spaceacillin" - cure_chance = 10 - agent = "1nqu1s1t10n flu virion" - affected_species = list("Human") - permeability_mod = 0.75 - desc = "If left untreated the subject will burn to death for being a heretic." - severity = "Serious" - -/datum/disease/inquisition/stage_act() - ..() - switch(stage) - if(2) - affected_mob.bodytemperature += 10 - if(prob(5)) - affected_mob.emote("sneeze") - if(prob(5)) - affected_mob.emote("cough") - if(prob(1)) - affected_mob << "\red You're burning in your own skin!" - affected_mob.take_organ_damage(0,5) - - if(3) - affected_mob.bodytemperature += 20 - if(prob(5)) - affected_mob.emote("sneeze") - if(prob(5)) - affected_mob.emote("cough") - if(prob(5)) - affected_mob << "\red You're burning in your own skin!" - affected_mob.take_organ_damage(0,5) - return diff --git a/code/datums/diseases/gbs.dm b/code/datums/diseases/gbs.dm deleted file mode 100644 index ceddf45117f..00000000000 --- a/code/datums/diseases/gbs.dm +++ /dev/null @@ -1,40 +0,0 @@ -/datum/disease/gbs - name = "GBS" - max_stages = 5 - spread = "On contact" - spread_type = CONTACT_GENERAL - cure = "Synaptizine & Sulfur" - cure_id = list("synaptizine","sulfur") - cure_chance = 15//higher chance to cure, since two reagents are required - agent = "Gravitokinetic Bipotential SADS+" - affected_species = list("Human") - curable = 0 - permeability_mod = 1 - -/datum/disease/gbs/stage_act() - ..() - switch(stage) - if(2) - if(prob(45)) - affected_mob.adjustToxLoss(5) - affected_mob.updatehealth() - if(prob(1)) - affected_mob.emote("sneeze") - if(3) - if(prob(5)) - affected_mob.emote("cough") - else if(prob(5)) - affected_mob.emote("gasp") - if(prob(10)) - affected_mob << "\red You're starting to feel very weak..." - if(4) - if(prob(10)) - affected_mob.emote("cough") - affected_mob.adjustToxLoss(5) - affected_mob.updatehealth() - if(5) - affected_mob << "\red Your body feels as if it's trying to rip itself open..." - if(prob(50)) - affected_mob.gib() - else - return \ No newline at end of file diff --git a/code/datums/diseases/jungle_fever.dm b/code/datums/diseases/jungle_fever.dm deleted file mode 100644 index dba0c5f4a4f..00000000000 --- a/code/datums/diseases/jungle_fever.dm +++ /dev/null @@ -1,12 +0,0 @@ -/datum/disease/jungle_fever - name = "Jungle Fever" - max_stages = 1 - cure = "None" - spread = "Bites" - spread_type = SPECIAL - affected_species = list("Monkey", "Human") - curable = 0 - desc = "monkeys with this disease will bite humans, causing humans to spontaneously mutate into a monkey." - severity = "Medium" - //stage_prob = 100 - agent = "Kongey Vibrion M-909" diff --git a/code/datums/diseases/magnitis.dm b/code/datums/diseases/magnitis.dm deleted file mode 100644 index fb9fe042b83..00000000000 --- a/code/datums/diseases/magnitis.dm +++ /dev/null @@ -1,93 +0,0 @@ -/datum/disease/magnitis - name = "Magnitis" - max_stages = 4 - spread = "Airborne" - cure = "Iron" - cure_id = "iron" - agent = "Fukkos Miracos" - affected_species = list("Human") - curable = 0 - permeability_mod = 0.75 - desc = "This disease disrupts the magnetic field of your body, making it act as if a powerful magnet. Injections of iron help stabilize the field." - severity = "Medium" - -/datum/disease/magnitis/stage_act() - ..() - switch(stage) - if(2) - if(prob(2)) - affected_mob << "\red You feel a slight shock course through your body." - if(prob(2)) - for(var/obj/M in orange(2,affected_mob)) - if(!M.anchored && (M.flags & CONDUCT)) - step_towards(M,affected_mob) - for(var/mob/living/silicon/S in orange(2,affected_mob)) - if(istype(S, /mob/living/silicon/ai)) continue - step_towards(S,affected_mob) - /* - if(M.x > affected_mob.x) - M.x-- - else if(M.x < affected_mob.x) - M.x++ - if(M.y > affected_mob.y) - M.y-- - else if(M.y < affected_mob.y) - M.y++ - */ - if(3) - if(prob(2)) - affected_mob << "\red You feel a strong shock course through your body." - if(prob(2)) - affected_mob << "\red You feel like clowning around." - if(prob(4)) - for(var/obj/M in orange(4,affected_mob)) - if(!M.anchored && (M.flags & CONDUCT)) - var/i - var/iter = rand(1,2) - for(i=0,i affected_mob.x) - M.x-=rand(1,min(3,M.x-affected_mob.x)) - else if(M.x < affected_mob.x) - M.x+=rand(1,min(3,affected_mob.x-M.x)) - if(M.y > affected_mob.y) - M.y-=rand(1,min(3,M.y-affected_mob.y)) - else if(M.y < affected_mob.y) - M.y+=rand(1,min(3,affected_mob.y-M.y)) - */ - if(4) - if(prob(2)) - affected_mob << "\red You feel a powerful shock course through your body." - if(prob(2)) - affected_mob << "\red You query upon the nature of miracles." - if(prob(8)) - for(var/obj/M in orange(6,affected_mob)) - if(!M.anchored && (M.flags & CONDUCT)) - var/i - var/iter = rand(1,3) - for(i=0,i affected_mob.x) - M.x-=rand(1,min(5,M.x-affected_mob.x)) - else if(M.x < affected_mob.x) - M.x+=rand(1,min(5,affected_mob.x-M.x)) - if(M.y > affected_mob.y) - M.y-=rand(1,min(5,M.y-affected_mob.y)) - else if(M.y < affected_mob.y) - M.y+=rand(1,min(5,affected_mob.y-M.y)) - */ - return \ No newline at end of file diff --git a/code/datums/diseases/pierrot_throat.dm b/code/datums/diseases/pierrot_throat.dm deleted file mode 100644 index c7fe52ed43e..00000000000 --- a/code/datums/diseases/pierrot_throat.dm +++ /dev/null @@ -1,26 +0,0 @@ -/datum/disease/pierrot_throat - name = "Pierrot's Throat" - max_stages = 4 - spread = "Airborne" - cure = "A whole banana." - cure_id = "banana" - curable=1 - cure_chance = 75 - agent = "H0NI<42 Virus" - affected_species = list("Human") - permeability_mod = 0.75 - desc = "If left untreated the subject will probably drive others to insanity." - severity = "Medium" - longevity = 400 - -/datum/disease/pierrot_throat/stage_act() - ..() - switch(stage) - if(1) - if(prob(10)) affected_mob << "\red You feel a little silly." - if(2) - if(prob(10)) affected_mob << "\red You start seeing rainbows." - if(3) - if(prob(10)) affected_mob << "\red Your thoughts are interrupted by a loud HONK!" - if(4) - if(prob(5)) affected_mob.say( pick( list("HONK!", "Honk!", "Honk.", "Honk?", "Honk!!", "Honk?!", "Honk...") ) ) \ No newline at end of file diff --git a/code/datums/diseases/plasmatoid.dm b/code/datums/diseases/plasmatoid.dm deleted file mode 100644 index 232371cd3b2..00000000000 --- a/code/datums/diseases/plasmatoid.dm +++ /dev/null @@ -1,5 +0,0 @@ -/datum/disease/plasmatoid - name = "Plasmatoid" - max_stages = 4 - cure = "None" - affected_species = list("Monkey", "Human") \ No newline at end of file diff --git a/code/datums/diseases/retrovirus.dm b/code/datums/diseases/retrovirus.dm deleted file mode 100644 index 9ab69e217a8..00000000000 --- a/code/datums/diseases/retrovirus.dm +++ /dev/null @@ -1,108 +0,0 @@ -/datum/disease/dna_retrovirus - name = "Retrovirus" - max_stages = 4 - spread = "Contact" - spread_type = CONTACT_GENERAL - cure = "Rest or an injection of ryetalyn" - cure_chance = 6 - agent = "" - affected_species = list("Human") - desc = "A DNA-altering retrovirus that scrambles the structural and unique enzymes of a host constantly." - severity = "Severe" - permeability_mod = 0.4 - stage_prob = 2 - var/SE - var/UI - var/restcure = 0 - New() - ..() - agent = "Virus class [pick("A","B","C","D","E","F")][pick("A","B","C","D","E","F")]-[rand(50,300)]" - if(prob(40)) - cure_id = list("ryetalyn") - cure_list = list("ryetalyn") - else - restcure = 1 - - - - -/datum/disease/dna_retrovirus/stage_act() - ..() - switch(stage) - if(1) - if(restcure) -/* - if(affected_mob.sleeping && prob(30)) //removed until sleeping is fixed - affected_mob << "\blue You feel better." - cure() - return -*/ - if(affected_mob.lying && prob(30)) //changed FROM prob(20) until sleeping is fixed - affected_mob << "\blue You feel better." - cure() - return - if (prob(8)) - affected_mob << "\red Your head hurts." - if (prob(9)) - affected_mob << "You feel a tingling sensation in your chest." - if (prob(9)) - affected_mob << "\red You feel angry." - if(2) - if(restcure) -/* - if(affected_mob.sleeping && prob(20)) //removed until sleeping is fixed - affected_mob << "\blue You feel better." - cure() - return -*/ - if(affected_mob.lying && prob(20)) //changed FROM prob(10) until sleeping is fixed - affected_mob << "\blue You feel better." - cure() - return - if (prob(8)) - affected_mob << "\red Your skin feels loose." - if (prob(10)) - affected_mob << "You feel very strange." - if (prob(4)) - affected_mob << "\red You feel a stabbing pain in your head!" - affected_mob.Paralyse(2) - if (prob(4)) - affected_mob << "\red Your stomach churns." - if(3) - if(restcure) -/* - if(affected_mob.sleeping && prob(20)) //removed until sleeping is fixed - affected_mob << "\blue You feel better." - cure() - return -*/ - if(affected_mob.lying && prob(20)) //changed FROM prob(10) until sleeping is fixed - affected_mob << "\blue You feel better." - cure() - return - if (prob(10)) - affected_mob << "\red Your entire body vibrates." - - if (prob(35)) - if(prob(50)) - scramble(1, affected_mob, rand(15,45)) - else - scramble(0, affected_mob, rand(15,45)) - - if(4) - if(restcure) -/* - if(affected_mob.sleeping && prob(10)) //removed until sleeping is fixed - affected_mob << "\blue You feel better." - cure() - return -*/ - if(affected_mob.lying && prob(5)) //changed FROM prob(5) until sleeping is fixed - affected_mob << "\blue You feel better." - cure() - return - if (prob(60)) - if(prob(50)) - scramble(1, affected_mob, rand(50,75)) - else - scramble(0, affected_mob, rand(50,75)) \ No newline at end of file diff --git a/code/datums/diseases/rhumba_beat.dm b/code/datums/diseases/rhumba_beat.dm deleted file mode 100644 index 8e70770a4a4..00000000000 --- a/code/datums/diseases/rhumba_beat.dm +++ /dev/null @@ -1,51 +0,0 @@ -/datum/disease/rhumba_beat - name = "The Rhumba Beat" - max_stages = 5 - spread = "On contact" - spread_type = CONTACT_GENERAL - cure = "Chick Chicky Boom!" - cure_id = list("plasma") - agent = "Unknown" - affected_species = list("Human") - permeability_mod = 1 - -/datum/disease/rhumba_beat/stage_act() - ..() - switch(stage) - if(1) - if(affected_mob.ckey == "rosham") - src.cure() - if(2) - if(affected_mob.ckey == "rosham") - src.cure() - if(prob(45)) - affected_mob.adjustToxLoss(5) - affected_mob.updatehealth() - if(prob(1)) - affected_mob << "\red You feel strange..." - if(3) - if(affected_mob.ckey == "rosham") - src.cure() - if(prob(5)) - affected_mob << "\red You feel the urge to dance..." - else if(prob(5)) - affected_mob.emote("gasp") - else if(prob(10)) - affected_mob << "\red You feel the need to chick chicky boom..." - if(4) - if(affected_mob.ckey == "rosham") - src.cure() - if(prob(10)) - affected_mob.emote("gasp") - affected_mob << "\red You feel a burning beat inside..." - if(prob(20)) - affected_mob.adjustToxLoss(5) - affected_mob.updatehealth() - if(5) - if(affected_mob.ckey == "rosham") - src.cure() - affected_mob << "\red Your body is unable to contain the Rhumba Beat..." - if(prob(50)) - affected_mob.gib() - else - return \ No newline at end of file diff --git a/code/datums/diseases/robotic_transformation.dm b/code/datums/diseases/robotic_transformation.dm deleted file mode 100644 index ee96de3c608..00000000000 --- a/code/datums/diseases/robotic_transformation.dm +++ /dev/null @@ -1,65 +0,0 @@ -//Nanomachines! - -/datum/disease/robotic_transformation - name = "Robotic Transformation" - max_stages = 5 - spread = "Syringe" - spread_type = SPECIAL - cure = "An injection of copper." - cure_id = list("copper") - cure_chance = 5 - agent = "R2D2 Nanomachines" - affected_species = list("Human") - desc = "This disease, actually acute nanomachine infection, converts the victim into a cyborg." - severity = "Major" - var/gibbed = 0 - -/datum/disease/robotic_transformation/stage_act() - ..() - switch(stage) - if(2) - if (prob(8)) - affected_mob << "Your joints feel stiff." - affected_mob.take_organ_damage(1) - if (prob(9)) - affected_mob << "\red Beep...boop.." - if (prob(9)) - affected_mob << "\red Bop...beeep..." - if(3) - if (prob(8)) - affected_mob << "\red Your joints feel very stiff." - affected_mob.take_organ_damage(1) - if (prob(8)) - affected_mob.say(pick("Beep, boop", "beep, beep!", "Boop...bop")) - if (prob(10)) - affected_mob << "Your skin feels loose." - affected_mob.take_organ_damage(5) - if (prob(4)) - affected_mob << "\red You feel a stabbing pain in your head." - affected_mob.Paralyse(2) - if (prob(4)) - affected_mob << "\red You can feel something move...inside." - if(4) - if (prob(10)) - affected_mob << "\red Your skin feels very loose." - affected_mob.take_organ_damage(8) - if (prob(20)) - affected_mob.say(pick("beep, beep!", "Boop bop boop beep.", "kkkiiiill mmme", "I wwwaaannntt tttoo dddiiieeee...")) - if (prob(8)) - affected_mob << "\red You can feel... something...inside you." - if(5) - affected_mob <<"\red Your skin feels as if it's about to burst off..." - affected_mob.adjustToxLoss(10) - affected_mob.updatehealth() - if(prob(40)) //So everyone can feel like robot Seth Brundle - if(src.gibbed != 0) return 0 - var/turf/T = find_loc(affected_mob) - gibs(T) - gibbed = 1 - var/mob/living/carbon/human/H = affected_mob - if(istype(H) && !jobban_isbanned(affected_mob, "Cyborg")) - H.Robotize() - else - src.cure(0) - affected_mob.death(1) - diff --git a/code/datums/diseases/wizarditis.dm b/code/datums/diseases/wizarditis.dm deleted file mode 100644 index ebba6f645f4..00000000000 --- a/code/datums/diseases/wizarditis.dm +++ /dev/null @@ -1,122 +0,0 @@ -/datum/disease/wizarditis - name = "Wizarditis" - max_stages = 4 - spread = "Airborne" - cure = "The Manly Dorf" - cure_id = "manlydorf" - cure_chance = 100 - agent = "Rincewindus Vulgaris" - affected_species = list("Human") - curable = 1 - permeability_mod = 0.75 - desc = "Some speculate, that this virus is the cause of Wizard Federation existance. Subjects affected show the signs of mental retardation, yelling obscure sentences or total gibberish. On late stages subjects sometime express the feelings of inner power, and, cite, 'the ability to control the forces of cosmos themselves!' A gulp of strong, manly spirits usually reverts them to normal, humanlike, condition." - severity = "Major" - - -/* -BIRUZ BENNAR -SCYAR NILA - teleport -NEC CANTIO - dis techno -EI NATH - shocking grasp -AULIE OXIN FIERA - knock -TARCOL MINTI ZHERI - forcewall -STI KALY - blind -*/ - -/datum/disease/wizarditis/stage_act() - ..() - - switch(stage) - if(2) - if(prob(1)&&prob(50)) - affected_mob.say(pick("You shall not pass!", "Expeliarmus!", "By Merlins beard!", "Feel the power of the Dark Side!")) - if(prob(1)&&prob(50)) - affected_mob << "\red 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(1)&&prob(50)) - affected_mob.say(pick("NEC CANTIO!","AULIE OXIN FIERA!", "STI KALY!", "TARCOL MINTI ZHERI!")) - if(prob(1)&&prob(50)) - affected_mob << "\red 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(1)) - affected_mob.say(pick("NEC CANTIO!","AULIE OXIN FIERA!","STI KALY!","EI NATH!")) - return - if(prob(1)&&prob(50)) - affected_mob << "\red 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) - if(prob(1)&&prob(1)) - teleport() - return - - - -/datum/disease/wizarditis/proc/spawn_wizard_clothes(var/chance = 0) - if(istype(affected_mob, /mob/living/carbon/human)) - var/mob/living/carbon/human/H = affected_mob - if(prob(chance)) - if(!istype(H.head, /obj/item/clothing/head/wizard)) - if(H.head) - H.drop_from_inventory(H.head) - H.head = new /obj/item/clothing/head/wizard(H) - H.head.layer = 20 - return - if(prob(chance)) - if(!istype(H.wear_suit, /obj/item/clothing/suit/wizrobe)) - if(H.wear_suit) - H.drop_from_inventory(H.wear_suit) - H.wear_suit = new /obj/item/clothing/suit/wizrobe(H) - H.wear_suit.layer = 20 - return - if(prob(chance)) - if(!istype(H.shoes, /obj/item/clothing/shoes/sandal)) - if(H.shoes) - H.drop_from_inventory(H.shoes) - H.shoes = new /obj/item/clothing/shoes/sandal(H) - H.shoes.layer = 20 - return - else - var/mob/living/carbon/H = affected_mob - if(prob(chance)) - if(!istype(H.r_hand, /obj/item/weapon/staff)) - H.drop_r_hand() - H.put_in_r_hand( new /obj/item/weapon/staff(H) ) - return - return - - - -/datum/disease/wizarditis/proc/teleport() - var/list/theareas = new/list() - for(var/area/AR in orange(80, affected_mob)) - if(theareas.Find(AR) || AR.name == "Space") continue - theareas += AR - - if(!theareas) - return - - var/area/thearea = pick(theareas) - - var/list/L = list() - for(var/turf/T in get_area_turfs(thearea.type)) - if(T.z != affected_mob.z) continue - if(T.name == "space") continue - if(!T.density) - var/clear = 1 - for(var/obj/O in T) - if(O.density) - clear = 0 - break - if(clear) - L+=T - - if(!L) - return - - affected_mob.say("SCYAR NILA [uppertext(thearea.name)]!") - affected_mob.loc = pick(L) - - return diff --git a/code/datums/diseases/xeno_transformation.dm b/code/datums/diseases/xeno_transformation.dm deleted file mode 100644 index f6156ff8f2c..00000000000 --- a/code/datums/diseases/xeno_transformation.dm +++ /dev/null @@ -1,61 +0,0 @@ -//Xenomicrobes - -/datum/disease/xeno_transformation - name = "Xenomorph Transformation" - max_stages = 5 - spread = "Syringe" - spread_type = SPECIAL - cure = "Spaceacillin & Glycerol" - cure_id = list("spaceacillin", "glycerol") - cure_chance = 5 - agent = "Rip-LEY Alien Microbes" - affected_species = list("Human") - var/gibbed = 0 - -/datum/disease/xeno_transformation/stage_act() - ..() - switch(stage) - if(2) - if (prob(8)) - affected_mob << "Your throat feels scratchy." - affected_mob.take_organ_damage(1) - if (prob(9)) - affected_mob << "\red Kill..." - if (prob(9)) - affected_mob << "\red Kill..." - if(3) - if (prob(8)) - affected_mob << "\red Your throat feels very scratchy." - affected_mob.take_organ_damage(1) - /* - if (prob(8)) - affected_mob.say(pick("Beep, boop", "beep, beep!", "Boop...bop")) - */ - if (prob(10)) - affected_mob << "Your skin feels tight." - affected_mob.take_organ_damage(5) - if (prob(4)) - affected_mob << "\red You feel a stabbing pain in your head." - affected_mob.Paralyse(2) - if (prob(4)) - affected_mob << "\red You can feel something move...inside." - if(4) - if (prob(10)) - affected_mob << pick("\red Your skin feels very tight.", "\red Your blood boils!") - affected_mob.take_organ_damage(8) - if (prob(20)) - affected_mob.say(pick("You look delicious.", "Going to... devour you...", "Hsssshhhhh!")) - if (prob(8)) - affected_mob << "\red You can feel... something...inside you." - if(5) - affected_mob <<"\red Your skin feels impossibly calloused..." - affected_mob.adjustToxLoss(10) - affected_mob.updatehealth() - if(prob(40)) - if(gibbed != 0) return 0 - var/turf/T = find_loc(affected_mob) - gibs(T) - gibbed = 1 - affected_mob:Alienize() - src.cure(0) - diff --git a/code/datums/diseases/zombie_transformation.dm b/code/datums/diseases/zombie_transformation.dm deleted file mode 100644 index 110dd4c7a54..00000000000 --- a/code/datums/diseases/zombie_transformation.dm +++ /dev/null @@ -1,119 +0,0 @@ -/datum/disease/zombie_transformation //Labeling the class as an effect type - name = "zombie virus" - max_stages = 5 - spread_type = CONTACT_GENERAL //Maybe switch back to hands? - hidden = list(1, 0) - cure = "Spaceacillin" - cure_id ="necrocure" - cure_list = list("necrocure", "zmeat") - cure_chance = 5 - holder = /mob/living/simple_animal/hostile/zombie - agent = "Necrophobes T" - affected_species = list("Human", "Monkey") //Monkeys can carry the virus but are not directly affected by it - desc = null - severity = "DANGEROUS" - permeability_mod = 0.8 - contagious_period = 0 - var/gibbed = 0 - var/faction = "undead" - stage_minimum_age = 110 - stage_prob = 10 - longevity = 600 - -/datum/disease/zombie_transformation/stage_act() - if(istype(affected_mob, /mob/living/simple_animal/hostile/zombie)) //Double check first, suppose to stop zombie from curing itself... - return //Do nothing - ..() //There is still a chance that the dead body will "cure" itself, anybody killed by zeds will probably either cure or turn - if(affected_mob.stat == 2 && !istype(affected_mob, /mob/living/carbon/monkey)) - sleep(rand(10,3000)) - affected_mob:Turnundead() //Doesn't support turning monkies undead - return //add turn zombie - if(istype(affected_mob, /mob/living/carbon/human)) //Percents might be a little high - switch(stage) - if(2) - if(prob(4)) - affected_mob << "\blue You feel hot." - affected_mob.bodytemperature += 10 - if(prob(4)) - affected_mob.say("*cough") - return - if(prob(1)) - affected_mob << "\red You smell meat." - if(3) - if(prob(8)) - affected_mob << "\red Your skin itches." - var/vatk_target = pick("head", "chest", "l_hand", "r_hand", "l_leg", "r_leg") - affected_mob.apply_damage(2, BRUTE, vatk_target) - if(prob(5)) - affected_mob << "\red Your stomache hurts." - affected_mob.nutrition -= 20 - return - if(prob(5)) - affected_mob << "\red You are feeling tired." - affected_mob.drowsyness += 5 - if(4) - if(prob(3)) - affected_mob.say("*choke") - var/vatk_target = pick("head", "chest") - affected_mob.apply_damage(5, BRUTE, vatk_target) - var/turf/simulated/pos = get_turf(affected_mob) - pos.add_blood_floor(affected_mob) - playsound(pos, 'sound/effects/splat.ogg', 50, 1) - //add blood effect - if(prob(15)) - affected_mob.hallucination += 5 - if(prob(8)) - affected_mob << pick("\red Kill them.", "\red You are not going to escape", "\red They won't miss their legs.") - affected_mob.hallucination += 25 - return - if(prob(2)) - affected_mob << "\blue Through sheer will you're holding your sanity together." - affected_mob.hallucination = 0 - return - if(prob(7)) - affected_mob.custom_emote(1, "is having trouble keeping their eyes open.") - affected_mob.drowsyness += 2 - return - if(prob(1)) - affected_mob << pick("\red You come to the realization that you're infected and possibly about to turn.") - affected_mob.nutrition -= 50 - affected_mob.drowsyness += 30 - affected_mob.hallucination = 0 - var/vatk_target = pick("head", "chest", "l_hand", "r_hand", "l_leg", "r_leg") - affected_mob.apply_damage(20, BRUTE, vatk_target) - if(5) - if(!istype(affected_mob, /mob/living/carbon/monkey)) - affected_mob:Turnundead() - -/datum/disease/zombie_transformation/process() //Almost the same thing, a few tweaks needed for dead people. - if(!affected_mob) return - if(!holder) - active_diseases -= src - return - if(prob(65)) - spread(holder) - - if(affected_mob.faction == null) - cure(0) - return - - if(affected_mob) - for(var/datum/disease/D in affected_mob.viruses) - if(D != src) - if(IsSame(D)) - //error("Deleting [D.name] because it's the same as [src.name].") - del(D) // if there are somehow two viruses of the same kind in the system, delete the other one - - if(holder == affected_mob) - if(affected_mob.stat != DEAD) //he's alive - stage_act() - else //he's dead. - if(spread_type!=SPECIAL) - spread_type = CONTACT_GENERAL - stage_act() //Dead and not a zombie, should act - - if(affected_mob.faction == "undead" || istype(affected_mob, /mob/living/carbon/monkey) && affected_mob.stat == 2) //the virus is in inanimate obj, dead zed, or monkey - if(prob(70)) - if(--longevity<=0) - cure(0) - return