/datum/disease2/effectholder var/name = "Holder" var/datum/disease2/effect/effect var/chance = 0 //Chance in percentage each tick var/cure = "" //Type of cure it requires var/happensonce = 0 var/multiplier = 1 //The chance the effects are WORSE var/stage = 0 /datum/disease2/effectholder/proc/runeffect(var/mob/living/carbon/human/mob,var/stage) if(happensonce > -1 && effect.stage <= stage && prob(chance)) effect.activate(mob,multiplier) if(happensonce == 1) happensonce = -1 /datum/disease2/effectholder/proc/getrandomeffect(var/badness = 1) var/list/datum/disease2/effect/list = list() for(var/e in subtypesof(/datum/disease2/effect) - /datum/disease2/effect/organs/vampire) var/datum/disease2/effect/f = new e if (f.badness > badness) //we don't want such strong effects continue if(f.stage == src.stage) list += f effect = pick(list) chance = rand(0,effect.chance_maxm) multiplier = rand(1,effect.maxm) /datum/disease2/effectholder/proc/minormutate() switch(pick(1,2,3,4,5)) if(1) chance = rand(0,effect.chance_maxm) if(2) multiplier = rand(1,effect.maxm) /datum/disease2/effectholder/proc/majormutate() getrandomeffect(2) //////////////////////////////////////////////////////////////// ////////////////////////EFFECTS///////////////////////////////// //////////////////////////////////////////////////////////////// // Badness : 1 means can be a minor viral outbreak event symptom // it can also be a major mutation // 2 means can be a major or minor viral outbreak event symptom // it can also be a major mutation // 3 means it cannot be in a viral outbreak event // it cannot be a major mutation /datum/disease2/effect var/chance_maxm = 50 var/name = "Blanking effect" var/stage = 4 var/maxm = 1 var/badness = 1 proc/activate(var/mob/living/carbon/mob,var/multiplier) proc/deactivate(var/mob/living/carbon/mob) ////////////////////////SPECIAL///////////////////////////////// /datum/disease2/effect/alien name = "Unidentified Foreign Body" stage = 4 badness = 3 activate(var/mob/living/carbon/mob,var/multiplier) mob << "\red You feel something tearing its way out of your stomach..." mob.adjustToxLoss(10) mob.updatehealth() if(prob(40)) if(mob.client) mob.client.mob = new/mob/living/carbon/alien/larva(mob.loc) else new/mob/living/carbon/alien/larva(mob.loc) var/datum/disease2/disease/D = mob:virus2 mob:gib() qdel(D) /datum/disease2/effect/invisible name = "Waiting Syndrome" stage = 1 activate(var/mob/living/carbon/mob,var/multiplier) return // Bone White - Empty sypmtoms. There is a better way of handling this but this is much faster. /datum/disease2/effect/invisible_stage_two name = "Patience Syndrome" stage = 2 activate(var/mob/living/carbon/mob,var/multiplier) return /datum/disease2/effect/invisible_stage_three name = "Delayed Syndrome" stage = 3 activate(var/mob/living/carbon/mob,var/multiplier) return /datum/disease2/effect/invisible_stage_four name = "Anticipation Syndrome" stage = 4 activate(var/mob/living/carbon/mob,var/multiplier) return ////////////////////////STAGE 4///////////////////////////////// /datum/disease2/effect/borg name = "Borgification Disorder" stage = 4 badness = 2 activate(var/mob/living/carbon/mob,var/multiplier) mob << "You feel like beeping and booping..." mob.adjustBruteLoss(10) mob.updatehealth() if(prob(40)) if(mob.client) if(!jobban_isbanned(mob, "Cyborg") && !jobban_isbanned(mob,"nonhumandept")) var/mob/living/silicon/robot/O = new /mob/living/silicon/robot(get_turf(mob.loc)) mob.mind.transfer_to(O) else new/mob/living/silicon/robot(get_turf(mob.loc)) var/datum/disease2/disease/D = mob.virus2 mob.gib() qdel(D) /datum/disease2/effect/omnizine name = "Panacea Effect" stage = 4 activate(var/mob/living/carbon/mob,var/multiplier) if (mob.reagents.get_reagent_amount("omnizine") < 2) mob.reagents.add_reagent("omnizine", 2) /datum/disease2/effect/viralsputum_major name = "Hemoptysis" stage = 4 activate(var/mob/living/carbon/mob,var/multiplier) if (prob(60)) mob.say("*cough") var/obj/effect/decal/cleanable/blood/viralsputum/D= locate(/obj/effect/decal/cleanable/blood/viralsputum) in get_turf(mob) if(D==null) D = new(get_turf(mob)) D.virus2 |= virus_copylist(mob.virus2) mob.reagents.remove_reagent("blood", 20) // Bone White - Blood loss when coughing up blood, experimental, may need adjusting. else /datum/disease2/effect/gibbingtons name = "Gibbingtons Syndrome" stage = 4 badness = 2 activate(var/mob/living/carbon/mob,var/multiplier) mob.gib() /datum/disease2/effect/radian name = "Radian's Syndrome" stage = 4 maxm = 3 activate(var/mob/living/carbon/mob,var/multiplier) mob.apply_effect(2*multiplier,IRRADIATE,0) /datum/disease2/effect/deaf name = "Dead Ear Syndrome" stage = 4 activate(var/mob/living/carbon/mob,var/multiplier) mob.ear_deaf += 20 /datum/disease2/effect/monkey name = "Monkism Syndrome" stage = 4 badness = 2 activate(var/mob/living/carbon/mob,var/multiplier) if(istype(mob,/mob/living/carbon/human)) var/mob/living/carbon/human/h = mob h.monkeyize() /datum/disease2/effect/suicide name = "Suicidal Syndrome" stage = 4 badness = 2 activate(var/mob/living/carbon/mob,var/multiplier) if (mob.suiciding == 0) mob.suiciding = 1 //instead of killing them instantly, just put them at -175 health and let 'em gasp for a while viewers(mob) << "\red [mob.name] is holding \his breath. It looks like \he's trying to commit suicide." mob.adjustOxyLoss(175 - mob.getToxLoss() - mob.getFireLoss() - mob.getBruteLoss() - mob.getOxyLoss()) mob.updatehealth() spawn(200) //in case they get revived by cryo chamber or something stupid like that, let them suicide again in 20 seconds mob.suiciding = 0 // === burn brute toxin clone brain damage symptoms - Bone White === /datum/disease2/effect/burn_major name = "Blood Plasma Pyroclastia" stage = 4 activate(var/mob/living/carbon/mob,var/multiplier) mob.take_overall_damage(0,15) /datum/disease2/effect/brute_major name = "Exploding Cell Phenomenon" stage = 4 activate(var/mob/living/carbon/mob,var/multiplier) mob.take_overall_damage(15,0) /datum/disease2/effect/toxin_major name = "Acute Kidney Failure" stage = 4 activate(var/mob/living/carbon/mob,var/multiplier) mob.adjustToxLoss(15*multiplier) /datum/disease2/effect/clone_major name = "Reverse Pattern Syndrome" stage = 4 activate(var/mob/living/carbon/mob,var/multiplier) mob.bodytemperature = max(mob.bodytemperature, 350) scramble(0,mob,10) mob.apply_damage(10, CLONE) /datum/disease2/effect/brain_major name = "Cortical Liquification" stage = 4 activate(var/mob/living/carbon/mob,var/multiplier) if(istype(mob, /mob/living/carbon/human)) var/mob/living/carbon/human/H = mob var/obj/item/organ/brain/B = H.internal_organs_by_name["brain"] if (B.damage < B.min_broken_damage) B.take_damage(5, 1) else mob.setBrainLoss(50) /datum/disease2/effect/organs name = "Shutdown Syndrome" stage = 4 activate(var/mob/living/carbon/mob,var/multiplier) if(istype(mob, /mob/living/carbon/human)) var/mob/living/carbon/human/H = mob var/organ = pick(list("r_arm","l_arm","r_leg","r_leg")) var/obj/item/organ/external/E = H.organs_by_name[organ] if (!(E.status & ORGAN_DEAD) && !(E.status & ORGAN_ROBOT)) E.status |= ORGAN_DEAD H << "You can't feel your [E.name] anymore..." for (var/obj/item/organ/external/C in E.children) C.status |= ORGAN_DEAD H.update_body(1) if(multiplier < 1) multiplier = 1 H.adjustToxLoss(10*multiplier) vampire stage = 3 deactivate(var/mob/living/carbon/mob,var/multiplier) if(istype(mob, /mob/living/carbon/human)) var/mob/living/carbon/human/H = mob for (var/obj/item/organ/external/E in H.organs) if(!(E.status & ORGAN_ROBOT)) E.status &= ~ORGAN_DEAD for (var/obj/item/organ/external/C in E.children) C.status &= ~ORGAN_DEAD /datum/disease2/effect/immortal name = "Longevity Syndrome" stage = 4 activate(var/mob/living/carbon/mob,var/multiplier) if(istype(mob, /mob/living/carbon/human)) var/mob/living/carbon/human/H = mob for (var/obj/item/organ/external/E in H.organs) if (E.status & ORGAN_BROKEN && prob(30) && !(E.status & ORGAN_ROBOT)) E.status ^= ORGAN_BROKEN var/heal_amt = -5*multiplier mob.apply_damages(heal_amt,heal_amt,heal_amt,heal_amt) /datum/disease2/effect/gmagnitis name = "Greater Magnitis" stage = 4 activate(var/mob/living/carbon/mob,var/multiplier) for(var/obj/M in orange(6,mob)) if(!M.anchored && (M.flags & CONDUCT)) var/i var/iter = rand(1,3) for(i=0,i Your body burns as your cells break down." shake_camera(mob,5*multiplier) /datum/disease2/effect/necrosis name = "Necrosis" stage = 4 activate(var/mob/living/carbon/mob,var/multiplier) // var/mob/living/carbon/human/H = mob // var/inst = pick(1,2,3) switch(inst) if(1) mob << "A chunk of meat falls off you!" var/totalslabs = 1 var/obj/item/weapon/reagent_containers/food/snacks/meat/allmeat[totalslabs] if( istype(mob, /mob/living/carbon/human/) ) // var/sourcename = mob.real_name var/sourcejob = mob.job var/sourcenutriment = mob.nutrition / 15 //var/sourcetotalreagents = mob.reagents.total_volume for(var/i=1 to totalslabs) var/obj/item/weapon/reagent_containers/food/snacks/meat/human/newmeat = new newmeat.name = sourcename + newmeat.name newmeat.subjectname = sourcename newmeat.subjectjob = sourcejob newmeat.reagents.add_reagent("nutriment", sourcenutriment / totalslabs) // Thehehe. Fat guys go first //src.occupant.reagents.trans_to(newmeat, round (sourcetotalreagents / totalslabs, 1)) // Transfer all the reagents from the allmeat[i] = newmeat var/obj/item/meatslab = allmeat[i] var/turf/Tx = locate(mob.x, mob.y, mob.z) meatslab.loc = mob.loc meatslab.throw_at(Tx,i,3) if (!Tx.density) new /obj/effect/decal/cleanable/blood/gibs(Tx,i) if(2) if(ishuman(mob)) for (var/obj/item/organ/external/E in H.organs) if(pick(1,0) && !(E.status & ORGAN_ROBOT)) E.droplimb(0,DROPLIMB_EDGE) if(3) if(ishuman(mob)) if(H.species.name != "Skeleton") mob << " Your necrotic skin ruptures!" for (var/obj/item/organ/external/E in H.organs) if(pick(1,0) && !(E.status & ORGAN_ROBOT)) E.createwound(CUT, pick(2,4)) if(prob(30)) if(H.species.name != "Skeleton") if(H.set_species("Skeleton")) mob << " A massive amount of flesh sloughs off your bones!" H.regenerate_icons() else return /datum/disease2/effect/plasma name = "Toxin Sublimation" stage = 4 activate(var/mob/living/carbon/mob,var/multiplier) //var/src = mob var/hack = mob.loc var/turf/simulated/T = get_turf(hack) if(!T) return var/datum/gas_mixture/GM = new if(prob(10)) GM.toxins += 100 //GM.temperature = 1500+T0C //should be enough to start a fire mob << "\red You exhale a large plume of toxic gas!" else GM.toxins += 10 GM.temperature = istype(T) ? T.air.temperature : T20C mob << " A toxic gas emanates from your pores!" T.assume_air(GM) return ////////////////////////STAGE 3///////////////////////////////// /datum/disease2/effect/brain_regen name = "Regenerative Synapse Effect" stage = 3 activate(var/mob/living/carbon/mob,var/multiplier) if (mob.reagents.get_reagent_amount("mannitol") < 10) mob.reagents.add_reagent("mannitol", 10) /datum/disease2/effect/haloperidol name = "Psyche Collapse Syndrome" stage = 3 activate(var/mob/living/carbon/mob,var/multiplier) if (mob.reagents.get_reagent_amount("haloperidol") < 10) mob.reagents.add_reagent("haloperidol", 1) /datum/disease2/effect/pain_major name = "Phantom Pain Syndrome" stage = 3 activate(var/mob/living/carbon/mob,var/multiplier) if (mob.halloss < 100) mob << " You feel like your body is on fire. Make the pain stop!" mob.apply_effect(20,AGONY,0) // === burn brute toxin clone brain damage symptoms - Bone White === /datum/disease2/effect/burn name = "Flammable inflammation" stage = 3 activate(var/mob/living/carbon/mob,var/multiplier) mob.take_overall_damage(0,5) /datum/disease2/effect/brute name = "Continuous Contusions" stage = 3 activate(var/mob/living/carbon/mob,var/multiplier) mob.take_overall_damage(5,0) /datum/disease2/effect/toxin name = "Hyperacidity" stage = 3 activate(var/mob/living/carbon/mob,var/multiplier) mob.adjustToxLoss(15*multiplier) /datum/disease2/effect/clone name = "DNA Breakdown Effect" stage = 3 activate(var/mob/living/carbon/mob,var/multiplier) mob.bodytemperature = max(mob.bodytemperature, 350) scramble(0,mob,5) mob.apply_damage(5, CLONE) /datum/disease2/effect/brain name = "Synapse Distancing" stage = 3 activate(var/mob/living/carbon/mob,var/multiplier) if(istype(mob, /mob/living/carbon/human)) var/mob/living/carbon/human/H = mob var/obj/item/organ/brain/B = H.internal_organs_by_name["brain"] if (B.damage < B.min_broken_damage) B.take_damage(1, 1) else mob.setBrainLoss(10) /datum/disease2/effect/lantern_major name = "Lantern Syndrome" stage = 3 activate(var/mob/living/carbon/mob,var/multiplier) mob.set_light(5) mob << "You are glowing brightly!" /datum/disease2/effect/cough_major name = "Acute Tussis" stage = 3 activate(var/mob/living/carbon/mob,var/multiplier) mob.say("*cough") for(var/mob/living/carbon/M in oview(3,mob)) mob.spread_disease_to(M) /datum/disease2/effect/bones name = "Fragile Bones Syndrome" stage = 3 activate(var/mob/living/carbon/mob,var/multiplier) if(istype(mob, /mob/living/carbon/human)) var/mob/living/carbon/human/H = mob for (var/obj/item/organ/external/E in H.organs) if(!(E.status & ORGAN_ROBOT)) E.min_broken_damage = max(5, E.min_broken_damage - 30) deactivate(var/mob/living/carbon/mob,var/multiplier) if(istype(mob, /mob/living/carbon/human)) var/mob/living/carbon/human/H = mob for (var/obj/item/organ/external/E in H.organs) if(!(E.status & ORGAN_ROBOT)) E.min_broken_damage = initial(E.min_broken_damage) /datum/disease2/effect/shakey name = "World Shaking Syndrome" stage = 3 maxm = 3 activate(var/mob/living/carbon/mob,var/multiplier) shake_camera(mob,5*multiplier) /datum/disease2/effect/telepathic name = "Telepathy Syndrome" stage = 3 activate(var/mob/living/carbon/mob,var/multiplier) mob.dna.check_integrity() mob.dna.SetSEState(REMOTETALKBLOCK,1) domutcheck(mob, null) /datum/disease2/effect/hallucinations name = "Hallucinational Syndrome" stage = 3 activate(var/mob/living/carbon/mob,var/multiplier) mob.hallucination += 25 /datum/disease2/effect/deaf name = "Hard of Hearing Syndrome" stage = 3 activate(var/mob/living/carbon/mob,var/multiplier) mob.ear_deaf = 5 /datum/disease2/effect/giggle name = "Uncontrolled Laughter Effect" stage = 3 activate(var/mob/living/carbon/mob,var/multiplier) mob.say("*giggle") /datum/disease2/effect/confusion name = "Topographical Cretinism" stage = 3 activate(var/mob/living/carbon/mob,var/multiplier) mob << "You have trouble telling right and left apart all of a sudden." mob.confused += 10 /datum/disease2/effect/groan name = "Groaning Syndrome" stage = 3 activate(var/mob/living/carbon/mob,var/multiplier) mob.say("*groan") /datum/disease2/effect/lmagnitis name = "Lesser Magnitis" stage = 3 activate(var/mob/living/carbon/mob,var/multiplier) for(var/obj/M in orange(4,mob)) if(!M.anchored && (M.flags & CONDUCT)) var/i var/iter = rand(1,2) for(i=0,iYou feel a little horse!" /obj/item/clothing/mask/horsehead/magic //flags_inv = null //so you can still see their face... no. How can you recognize someone when their face is completely different? voicechange = 1 //NEEEEIIGHH dropped(mob/user as mob) flags &= ~NODROP ..() equipped(var/mob/user, var/slot) if (slot == slot_wear_mask) flags |= NODROP //curses! ..() ////////////////////////STAGE 2///////////////////////////////// /datum/disease2/effect/pain name = "Acute Muscle Ache" stage = 2 activate(var/mob/living/carbon/mob,var/multiplier) if (mob.halloss < 50) mob << "You ache all over!" mob.apply_effect(10,AGONY,0) // === burn brute toxin clone brain damage symptoms - Bone White === /datum/disease2/effect/burn name = "Prickly Heat Syndrome" stage = 2 activate(var/mob/living/carbon/mob,var/multiplier) mob.take_overall_damage(0,2) /datum/disease2/effect/brute name = "Continuous Contusions" stage = 2 activate(var/mob/living/carbon/mob,var/multiplier) mob.take_overall_damage(2,0) /datum/disease2/effect/toxin name = "White Blood Cell Putrification" stage = 2 activate(var/mob/living/carbon/mob,var/multiplier) mob.adjustToxLoss(5*multiplier) /datum/disease2/effect/clone name = "RNA Compound Corruption" stage = 2 activate(var/mob/living/carbon/mob,var/multiplier) mob.bodytemperature = max(mob.bodytemperature, 350) scramble(0,mob,5) mob.apply_damage(5, CLONE) /datum/disease2/effect/brain name = "Synapse Distancing" stage = 2 activate(var/mob/living/carbon/mob,var/multiplier) if(istype(mob, /mob/living/carbon/human)) var/mob/living/carbon/human/H = mob var/obj/item/organ/brain/B = H.internal_organs_by_name["brain"] if (B.damage < B.min_broken_damage) B.take_damage(0.5, 1) else mob.setBrainLoss(5) /datum/disease2/effect/scream name = "Loudness Syndrome" stage = 2 activate(var/mob/living/carbon/mob,var/multiplier) mob.say("*scream") /datum/disease2/effect/drowsness name = "Automated Sleeping Syndrome" stage = 2 activate(var/mob/living/carbon/mob,var/multiplier) mob.drowsyness += 10 /datum/disease2/effect/sleepy name = "Resting Syndrome" stage = 2 activate(var/mob/living/carbon/mob,var/multiplier) mob.say("*collapse") /datum/disease2/effect/blind name = "Blackout Syndrome" stage = 2 activate(var/mob/living/carbon/mob,var/multiplier) mob.eye_blind = max(mob.eye_blind, 4) /datum/disease2/effect/cough name = "Anima Syndrome" stage = 2 activate(var/mob/living/carbon/mob,var/multiplier) mob.say("*cough") for(var/mob/living/carbon/M in oview(2,mob)) mob.spread_disease_to(M) /datum/disease2/effect/hungry name = "Appetiser Effect" stage = 2 activate(var/mob/living/carbon/mob,var/multiplier) mob.nutrition = max(0, mob.nutrition - 200) /datum/disease2/effect/fridge name = "Refridgerator Syndrome" stage = 2 activate(var/mob/living/carbon/mob,var/multiplier) mob.say("*shiver") /datum/disease2/effect/hair name = "Hair Loss" stage = 2 activate(var/mob/living/carbon/mob,var/multiplier) if(istype(mob, /mob/living/carbon/human)) var/mob/living/carbon/human/H = mob if(H.species.name == "Human" && !(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() /datum/disease2/effect/stimulant_major name = "Adrenal Overload" stage = 2 activate(var/mob/living/carbon/mob,var/multiplier) if (mob.reagents.get_reagent_amount("methamphetamine") < 5) mob.reagents.add_reagent("methamphetamine", 4) if (prob(30)) mob << "You feel a rush of energy inside you!" mob.jitteriness += 10 /datum/disease2/effect/drunk name = "Glasgow Syndrome" stage = 2 activate(var/mob/living/carbon/mob,var/multiplier) mob << "You feel like you had one hell of a party!" if (mob.reagents.get_reagent_amount("ethanol") < 325) mob.reagents.add_reagent("ethanol", 5*multiplier) /datum/disease2/effect/gaben name = "Gaben Syndrome" stage = 2 activate(var/mob/living/carbon/mob,var/multiplier) mob << "Your clothing fits a little tighter!!" if (prob(10)) mob.reagents.add_reagent("nutriment", 1000) mob.overeatduration = 1000 /datum/disease2/effect/beard name = "Bearding" stage = 2 activate(var/mob/living/carbon/mob,var/multiplier) if(istype(mob, /mob/living/carbon/human)) var/mob/living/carbon/human/H = mob if(H.species.name == "Human" && !(H.f_style == "Full Beard")) H << "Your chin and neck itch!." spawn(50) H.f_style = "Full Beard" H.update_fhair() /datum/disease2/effect/bloodynose name = "Intranasal Hemorrhage" stage = 2 activate(var/mob/living/carbon/mob,var/multiplier) if (prob(30)) var/obj/effect/decal/cleanable/blood/D= locate(/obj/effect/decal/cleanable/blood) in get_turf(mob) if(D==null) D = new(get_turf(mob)) D.virus2 |= virus_copylist(mob.virus2) mob.reagents.remove_reagent("blood", 5) // Bone White - Blood loss when coughing up blood, experimental, may need adjusting. /datum/disease2/effect/lantern name = "Lantern Syndrome" stage = 2 activate(var/mob/living/carbon/mob,var/multiplier) mob.set_light(4) mob << "You are glowing!" /datum/disease2/effect/optimistic name = "Full Glass Syndrome" stage = 2 activate(var/mob/living/carbon/mob,var/multiplier) mob << " You feel optimistic!" if (mob.reagents.get_reagent_amount("salglu_solution") < 1) mob.reagents.add_reagent("salglu_solution", 1) ////////////////////////STAGE 1///////////////////////////////// /datum/disease2/effect/poop name = "Uncontrollable Bowel Syndrome" stage = 1 activate(var/mob/living/carbon/mob,var/multiplier) mob.fakepoop() /datum/disease2/effect/vomit name = "Projectile Vomit Syndrome" stage = 1 activate(var/mob/living/carbon/mob,var/multiplier) mob.fakevomit() /datum/disease2/effect/pain_minor name = "Heightened Sensitivity" stage = 1 activate(var/mob/living/carbon/mob,var/multiplier) if (mob.halloss < 20) mob << "Your body aches." mob.apply_effect(5,AGONY,0) /datum/disease2/effect/stimulant name = "Adrenaline Extra" stage = 1 activate(var/mob/living/carbon/mob,var/multiplier) if (mob.reagents.get_reagent_amount("ephedrine") < 10) mob.reagents.add_reagent("ephedrine", 4) if (prob(30)) mob << "You feel a rush of energy inside you!" mob.jitteriness += 10 /datum/disease2/effect/cough_minor name = "Trachea Sensitivity" stage = 1 activate(var/mob/living/carbon/mob,var/multiplier) mob.say("*cough") for(var/mob/living/carbon/M in oview(1,mob)) mob.spread_disease_to(M) /datum/disease2/effect/sneeze name = "Coldingtons Effect" stage = 1 activate(var/mob/living/carbon/mob,var/multiplier) if (prob(30)) mob << "You feel like you are about to sneeze!" sleep(5) mob.say("*sneeze") for(var/mob/living/carbon/M in get_step(mob,mob.dir)) mob.spread_disease_to(M) if (prob(50)) var/obj/effect/decal/cleanable/mucus/M= locate(/obj/effect/decal/cleanable/mucus) in get_turf(mob) if(M==null) M = new(get_turf(mob)) else if(M.dry) M.dry=0 M.virus2 |= virus_copylist(mob.virus2) /datum/disease2/effect/gunck name = "Flemmingtons" stage = 1 activate(var/mob/living/carbon/mob,var/multiplier) mob << " Mucous runs down the back of your throat." /datum/disease2/effect/drool name = "Saliva Effect" stage = 1 activate(var/mob/living/carbon/mob,var/multiplier) mob.say("*drool") /datum/disease2/effect/twitch name = "Twitcher" stage = 1 activate(var/mob/living/carbon/mob,var/multiplier) mob.say("*twitch") /datum/disease2/effect/headache name = "Headache" stage = 1 activate(var/mob/living/carbon/mob,var/multiplier) mob << " Your head hurts a bit" /datum/disease2/effect/itching name = "Itching" stage = 1 activate(var/mob/living/carbon/mob,var/multiplier) mob << "Your skin itches!" /datum/disease2/effect/drained name = "Drained Feeling" stage = 1 activate(var/mob/living/carbon/mob,var/multiplier) mob << "You feel drained." /datum/disease2/effect/eyewater name = "Watery Eyes" stage = 1 activate(var/mob/living/carbon/human/mob,var/multiplier) var/obj/item/organ/eyes/E = mob.internal_organs_by_name["eyes"] if(!istype(E) || (E.status & ORGAN_ROBOT)) // No eyes or robotic eyes? No problem! return mob << "Your eyes sting and water!" /datum/disease2/effect/wheeze name = "Wheezing" stage = 1 activate(var/mob/living/carbon/mob,var/multiplier) mob.custom_emote(1,"wheezes.") /datum/disease2/effect/optimistic_minor name = "Glass Half Full Syndrome" stage = 1 activate(var/mob/living/carbon/mob,var/multiplier) mob << " You feel optimistic!" /datum/disease2/effect/anxiety name = "Severe Anxiety" stage = 2 activate(var/mob/living/carbon/mob,var/multiplier) if(prob(20)) mob << "You feel anxious." if(prob(15)) mob << "You feel butterflies in your stomach." if(prob(11)) mob.visible_message("[mob] stumbles around in a panic.", \ "You have a panic attack!") mob.confused += (rand(6,8)) mob.jitteriness += (rand(6,8)) if(prob(10)) mob.visible_message("[mob] coughs up butterflies!", \ "You cough up butterflies!") new /mob/living/simple_animal/butterfly(mob.loc) new /mob/living/simple_animal/butterfly(mob.loc) /datum/disease2/effect/lycan name = "Lycancoughy" stage = 3 activate(var/mob/living/carbon/mob,var/multiplier) if(prob(20)) mob << "You feel itchy." if(prob(15)) mob << "You have the sudden urge for bacon.." if(prob(11)) mob.say(pick("WOOF!", "BARK!", "Bark.", "Woof?", "AUUUUUUUUUUUUU!!")) if(prob(10)) mob.visible_message("[mob] coughs up a dog!!", \ "You cough up a DOG!!!") //yes i KNOW foxes technically are not normal dogs...hush.... var/randompup = pick(/mob/living/simple_animal/pet/corgi/puppy,/mob/living/simple_animal/pet/pug,/mob/living/simple_animal/pet/fox) new randompup(mob.loc) mob.adjustBruteLoss(rand(1,5))//you just coughed up a CANINIE, you are taking brute loss...