|
|
|
|
@@ -58,8 +58,10 @@
|
|
|
|
|
/datum/disease2/effect/invisible
|
|
|
|
|
name = "Waiting Syndrome"
|
|
|
|
|
stage = 1
|
|
|
|
|
activate(var/mob/living/carbon/mob,var/multiplier)
|
|
|
|
|
return
|
|
|
|
|
badness = 3
|
|
|
|
|
|
|
|
|
|
/datum/disease2/effect/invisible/activate(var/mob/living/carbon/mob,var/multiplier)
|
|
|
|
|
return
|
|
|
|
|
|
|
|
|
|
////////////////////////STAGE 4/////////////////////////////////
|
|
|
|
|
|
|
|
|
|
@@ -70,142 +72,183 @@
|
|
|
|
|
chance_maxm = 0
|
|
|
|
|
|
|
|
|
|
/datum/disease2/effect/gibbingtons
|
|
|
|
|
name = "Gibbingtons Syndrome"
|
|
|
|
|
name = "Gibbington's Syndrome"
|
|
|
|
|
stage = 4
|
|
|
|
|
badness = 3
|
|
|
|
|
activate(var/mob/living/carbon/mob,var/multiplier)
|
|
|
|
|
// Probabilities have been tweaked to kill in ~2-3 minutes, giving 5-10 messages.
|
|
|
|
|
// Probably needs more balancing, but it's better than LOL U GIBBED NOW, especially now that viruses can potentially have no signs up until Gibbingtons.
|
|
|
|
|
mob.adjustBruteLoss(10*multiplier)
|
|
|
|
|
if(istype(mob, /mob/living/carbon/human))
|
|
|
|
|
var/mob/living/carbon/human/H = mob
|
|
|
|
|
var/obj/item/organ/external/O = pick(H.organs)
|
|
|
|
|
if(prob(25))
|
|
|
|
|
mob << "<span class='warning'>Your [O.name] feels as if it might burst!</span>"
|
|
|
|
|
if(prob(10))
|
|
|
|
|
spawn(50)
|
|
|
|
|
if(O)
|
|
|
|
|
O.droplimb(0,DROPLIMB_BLUNT)
|
|
|
|
|
else
|
|
|
|
|
if(prob(75))
|
|
|
|
|
mob << "<span class='warning'>Your whole body feels like it might fall apart!</span>"
|
|
|
|
|
if(prob(10))
|
|
|
|
|
mob.adjustBruteLoss(25*multiplier)
|
|
|
|
|
|
|
|
|
|
/datum/disease2/effect/gibbingtons/activate(var/mob/living/carbon/mob,var/multiplier)
|
|
|
|
|
// Probabilities have been tweaked to kill in ~2-3 minutes, giving 5-10 messages.
|
|
|
|
|
// Probably needs more balancing, but it's better than LOL U GIBBED NOW, especially now that viruses can potentially have no signs up until Gibbingtons.
|
|
|
|
|
mob.adjustBruteLoss(10*multiplier)
|
|
|
|
|
if(istype(mob, /mob/living/carbon/human))
|
|
|
|
|
var/mob/living/carbon/human/H = mob
|
|
|
|
|
var/obj/item/organ/external/O = pick(H.organs)
|
|
|
|
|
if(prob(25))
|
|
|
|
|
mob << "<span class='warning'>Your [O.name] feels as if it might burst!</span>"
|
|
|
|
|
if(prob(10))
|
|
|
|
|
spawn(50)
|
|
|
|
|
if(O)
|
|
|
|
|
O.droplimb(0,DROPLIMB_BLUNT)
|
|
|
|
|
else
|
|
|
|
|
if(prob(75))
|
|
|
|
|
mob << "<span class='warning'>Your whole body feels like it might fall apart!</span>"
|
|
|
|
|
if(prob(10))
|
|
|
|
|
mob.adjustBruteLoss(25*multiplier)
|
|
|
|
|
|
|
|
|
|
/datum/disease2/effect/radian
|
|
|
|
|
name = "Radian's Syndrome"
|
|
|
|
|
stage = 4
|
|
|
|
|
maxm = 3
|
|
|
|
|
badness = 2
|
|
|
|
|
activate(var/mob/living/carbon/mob,var/multiplier)
|
|
|
|
|
mob.apply_effect(2*multiplier, IRRADIATE, check_protection = 0)
|
|
|
|
|
|
|
|
|
|
/datum/disease2/effect/radian/activate(var/mob/living/carbon/mob,var/multiplier)
|
|
|
|
|
mob.apply_effect(2*multiplier, IRRADIATE, check_protection = 0)
|
|
|
|
|
|
|
|
|
|
/datum/disease2/effect/deaf
|
|
|
|
|
name = "Dead Ear Syndrome"
|
|
|
|
|
name = "Deafness"
|
|
|
|
|
stage = 4
|
|
|
|
|
badness = 2
|
|
|
|
|
activate(var/mob/living/carbon/mob,var/multiplier)
|
|
|
|
|
mob.ear_deaf += 20
|
|
|
|
|
|
|
|
|
|
/datum/disease2/effect/deaf/activate(var/mob/living/carbon/mob,var/multiplier)
|
|
|
|
|
mob.ear_deaf += 20
|
|
|
|
|
|
|
|
|
|
/datum/disease2/effect/monkey
|
|
|
|
|
name = "Monkism Syndrome"
|
|
|
|
|
name = "Genome Regression"
|
|
|
|
|
stage = 4
|
|
|
|
|
badness = 3
|
|
|
|
|
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/monkey/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"
|
|
|
|
|
name = "Windpipe Contraction"
|
|
|
|
|
stage = 4
|
|
|
|
|
badness = 3
|
|
|
|
|
activate(var/mob/living/carbon/mob,var/multiplier)
|
|
|
|
|
var/datum/gender/TM = gender_datums[mob.get_visible_gender()]
|
|
|
|
|
mob.suiciding = 30
|
|
|
|
|
//instead of killing them instantly, just put them at -175 health and let 'em gasp for a while
|
|
|
|
|
viewers(mob) << "<font color='red'><b>[mob.name] is holding [TM.his] breath. It looks like [TM.he] [TM.is] trying to commit suicide.</b></font>"
|
|
|
|
|
mob.adjustOxyLoss(175 - mob.getToxLoss() - mob.getFireLoss() - mob.getBruteLoss() - mob.getOxyLoss())
|
|
|
|
|
mob.updatehealth()
|
|
|
|
|
|
|
|
|
|
/datum/disease2/effect/suicide/activate(var/mob/living/carbon/mob,var/multiplier)
|
|
|
|
|
var/datum/gender/TM = gender_datums[mob.get_visible_gender()]
|
|
|
|
|
mob.suiciding = 30
|
|
|
|
|
//instead of killing them instantly, just put them at -175 health and let 'em gasp for a while
|
|
|
|
|
viewers(mob) << "<font color='red'><b>[mob.name] is holding [TM.his] breath. It looks like [TM.he] [TM.is] trying to commit suicide.</b></font>"
|
|
|
|
|
mob.adjustOxyLoss(175 - mob.getToxLoss() - mob.getFireLoss() - mob.getBruteLoss() - mob.getOxyLoss())
|
|
|
|
|
mob.updatehealth()
|
|
|
|
|
|
|
|
|
|
/datum/disease2/effect/killertoxins
|
|
|
|
|
name = "Toxification Syndrome"
|
|
|
|
|
name = "Autoimmune Reponse"
|
|
|
|
|
stage = 4
|
|
|
|
|
badness = 2
|
|
|
|
|
activate(var/mob/living/carbon/mob,var/multiplier)
|
|
|
|
|
mob.adjustToxLoss(15*multiplier)
|
|
|
|
|
|
|
|
|
|
/datum/disease2/effect/killertoxins/activate(var/mob/living/carbon/mob,var/multiplier)
|
|
|
|
|
mob.adjustToxLoss(15*multiplier)
|
|
|
|
|
|
|
|
|
|
/datum/disease2/effect/dna
|
|
|
|
|
name = "Reverse Pattern Syndrome"
|
|
|
|
|
name = "Catastrophic DNA Degeneration"
|
|
|
|
|
stage = 4
|
|
|
|
|
badness = 2
|
|
|
|
|
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/dna/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/organs
|
|
|
|
|
name = "Shutdown Syndrome"
|
|
|
|
|
name = "Limb Paralysis"
|
|
|
|
|
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
|
|
|
|
|
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_DEAD
|
|
|
|
|
H << "<span class='notice'>You can't feel your [E.name] anymore...</span>"
|
|
|
|
|
for (var/obj/item/organ/external/C in E.children)
|
|
|
|
|
C.status |= ORGAN_DEAD
|
|
|
|
|
H.update_icons_body()
|
|
|
|
|
mob.adjustToxLoss(15*multiplier)
|
|
|
|
|
|
|
|
|
|
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)
|
|
|
|
|
E.status &= ~ORGAN_DEAD
|
|
|
|
|
for (var/obj/item/organ/external/C in E.children)
|
|
|
|
|
C.status &= ~ORGAN_DEAD
|
|
|
|
|
H.update_icons_body()
|
|
|
|
|
/datum/disease2/effect/organs/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","l_leg"))
|
|
|
|
|
var/obj/item/organ/external/E = H.organs_by_name[organ]
|
|
|
|
|
if (!(E.status & ORGAN_DEAD))
|
|
|
|
|
E.status |= ORGAN_DEAD
|
|
|
|
|
H << "<span class='notice'>You can't feel your [E.name] anymore...</span>"
|
|
|
|
|
for (var/obj/item/organ/external/C in E.children)
|
|
|
|
|
C.status |= ORGAN_DEAD
|
|
|
|
|
H.update_icons_body()
|
|
|
|
|
mob.adjustToxLoss(15*multiplier)
|
|
|
|
|
|
|
|
|
|
/datum/disease2/effect/organs/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)
|
|
|
|
|
E.status &= ~ORGAN_DEAD
|
|
|
|
|
for (var/obj/item/organ/external/C in E.children)
|
|
|
|
|
C.status &= ~ORGAN_DEAD
|
|
|
|
|
H.update_icons_body()
|
|
|
|
|
|
|
|
|
|
/datum/disease2/effect/internalorgan
|
|
|
|
|
name = "Organ Shutdown"
|
|
|
|
|
stage = 4
|
|
|
|
|
badness = 2
|
|
|
|
|
|
|
|
|
|
/datum/disease2/effect/internalorgan/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("heart","kidney","liver", "lungs"))
|
|
|
|
|
var/obj/item/organ/internal/O = H.organs_by_name[organ]
|
|
|
|
|
if (!(O.robotic = ORGAN_ROBOT))
|
|
|
|
|
O.damage += (5*multiplier)
|
|
|
|
|
H << "<span class='notice'>You feel a cramp in your guts.</span>"
|
|
|
|
|
|
|
|
|
|
/datum/disease2/effect/immortal
|
|
|
|
|
name = "Longevity Syndrome"
|
|
|
|
|
name = "Hyperaccelerated Aging"
|
|
|
|
|
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
|
|
|
|
|
for (var/obj/item/organ/external/E in H.organs)
|
|
|
|
|
if (E.status & ORGAN_BROKEN && prob(30))
|
|
|
|
|
E.status ^= ORGAN_BROKEN
|
|
|
|
|
var/heal_amt = -5*multiplier
|
|
|
|
|
mob.apply_damages(heal_amt,heal_amt,heal_amt,heal_amt)
|
|
|
|
|
|
|
|
|
|
deactivate(var/mob/living/carbon/mob,var/multiplier)
|
|
|
|
|
if(istype(mob, /mob/living/carbon/human))
|
|
|
|
|
var/mob/living/carbon/human/H = mob
|
|
|
|
|
H << "<span class='notice'>You suddenly feel hurt and old...</span>"
|
|
|
|
|
H.age += 8
|
|
|
|
|
var/backlash_amt = 5*multiplier
|
|
|
|
|
mob.apply_damages(backlash_amt,backlash_amt,backlash_amt,backlash_amt)
|
|
|
|
|
/datum/disease2/effect/immortal/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_BROKEN
|
|
|
|
|
var/heal_amt = -5*multiplier
|
|
|
|
|
mob.apply_damages(heal_amt,heal_amt,heal_amt,heal_amt)
|
|
|
|
|
|
|
|
|
|
/datum/disease2/effect/immortal/deactivate(var/mob/living/carbon/mob,var/multiplier)
|
|
|
|
|
if(istype(mob, /mob/living/carbon/human))
|
|
|
|
|
var/mob/living/carbon/human/H = mob
|
|
|
|
|
H << "<span class='notice'>You suddenly feel hurt and old...</span>"
|
|
|
|
|
H.age += 8
|
|
|
|
|
var/backlash_amt = 5*multiplier
|
|
|
|
|
mob.apply_damages(backlash_amt,backlash_amt,backlash_amt,backlash_amt)
|
|
|
|
|
|
|
|
|
|
/datum/disease2/effect/bones
|
|
|
|
|
name = "Fragile Bones Syndrome"
|
|
|
|
|
name = "Brittle Bones"
|
|
|
|
|
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
|
|
|
|
|
for (var/obj/item/organ/external/E in H.organs)
|
|
|
|
|
E.min_broken_damage = max(5, E.min_broken_damage - 30)
|
|
|
|
|
/datum/disease2/effect/bones/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)
|
|
|
|
|
E.min_broken_damage = max(5, E.min_broken_damage - 30)
|
|
|
|
|
|
|
|
|
|
/datum/disease2/effect/bones/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)
|
|
|
|
|
E.min_broken_damage = initial(E.min_broken_damage)
|
|
|
|
|
|
|
|
|
|
/datum/disease2/effect/combustion
|
|
|
|
|
name = "Organic Ignition"
|
|
|
|
|
stage = 4
|
|
|
|
|
badness = 3
|
|
|
|
|
|
|
|
|
|
/datum/disease2/effect/combustion/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/external/O = pick(H.organs)
|
|
|
|
|
if(prob(25))
|
|
|
|
|
mob << "<span class='warning'>It feels like your [O.name] is on fire and your blood is boiling!</span>"
|
|
|
|
|
H.adjust_fire_stacks(1)
|
|
|
|
|
if(prob(10))
|
|
|
|
|
mob << "<span class='warning'>Flames erupt from your skin, your entire body is burning!</span>"
|
|
|
|
|
H.adjust_fire_stacks(2)
|
|
|
|
|
H.IgniteMob()
|
|
|
|
|
|
|
|
|
|
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)
|
|
|
|
|
E.min_broken_damage = initial(E.min_broken_damage)
|
|
|
|
|
|
|
|
|
|
////////////////////////STAGE 3/////////////////////////////////
|
|
|
|
|
|
|
|
|
|
@@ -213,201 +256,262 @@
|
|
|
|
|
name = "Hyperacidity"
|
|
|
|
|
stage = 3
|
|
|
|
|
maxm = 3
|
|
|
|
|
activate(var/mob/living/carbon/mob,var/multiplier)
|
|
|
|
|
mob.adjustToxLoss((2*multiplier))
|
|
|
|
|
|
|
|
|
|
/datum/disease2/effect/toxins/activate(var/mob/living/carbon/mob,var/multiplier)
|
|
|
|
|
mob.adjustToxLoss((2*multiplier))
|
|
|
|
|
|
|
|
|
|
/datum/disease2/effect/shakey
|
|
|
|
|
name = "World Shaking Syndrome"
|
|
|
|
|
name = "Nervous Motor Instability"
|
|
|
|
|
stage = 3
|
|
|
|
|
maxm = 3
|
|
|
|
|
activate(var/mob/living/carbon/mob,var/multiplier)
|
|
|
|
|
shake_camera(mob,5*multiplier)
|
|
|
|
|
|
|
|
|
|
/datum/disease2/effect/shakey/activate(var/mob/living/carbon/mob,var/multiplier)
|
|
|
|
|
shake_camera(mob,5*multiplier)
|
|
|
|
|
|
|
|
|
|
/datum/disease2/effect/telepathic
|
|
|
|
|
name = "Telepathy Syndrome"
|
|
|
|
|
name = "Pineal Gland Decalcification"
|
|
|
|
|
stage = 3
|
|
|
|
|
activate(var/mob/living/carbon/mob,var/multiplier)
|
|
|
|
|
|
|
|
|
|
/datum/disease2/effect/telepathic/activate(var/mob/living/carbon/mob,var/multiplier)
|
|
|
|
|
mob.dna.SetSEState(REMOTETALKBLOCK,1)
|
|
|
|
|
domutcheck(mob, null, MUTCHK_FORCED)
|
|
|
|
|
|
|
|
|
|
/datum/disease2/effect/mind
|
|
|
|
|
name = "Lazy Mind Syndrome"
|
|
|
|
|
name = "Neurodegeneration"
|
|
|
|
|
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/internal/brain/B = H.internal_organs_by_name["brain"]
|
|
|
|
|
if (B && B.damage < B.min_broken_damage)
|
|
|
|
|
B.take_damage(5)
|
|
|
|
|
else
|
|
|
|
|
mob.setBrainLoss(10)
|
|
|
|
|
|
|
|
|
|
/datum/disease2/effect/mind/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/internal/brain/B = H.internal_organs_by_name["brain"]
|
|
|
|
|
if (B && B.damage < B.min_broken_damage)
|
|
|
|
|
B.take_damage(5)
|
|
|
|
|
else
|
|
|
|
|
mob.setBrainLoss(10)
|
|
|
|
|
|
|
|
|
|
/datum/disease2/effect/hallucinations
|
|
|
|
|
name = "Hallucinational Syndrome"
|
|
|
|
|
name = "Hallucination"
|
|
|
|
|
stage = 3
|
|
|
|
|
activate(var/mob/living/carbon/mob,var/multiplier)
|
|
|
|
|
mob.hallucination += 25
|
|
|
|
|
|
|
|
|
|
/datum/disease2/effect/deaf
|
|
|
|
|
name = "Hard of Hearing Syndrome"
|
|
|
|
|
/datum/disease2/effect/hallucinations/activate(var/mob/living/carbon/mob,var/multiplier)
|
|
|
|
|
mob.hallucination += 25
|
|
|
|
|
|
|
|
|
|
/datum/disease2/effect/minordeaf
|
|
|
|
|
name = "Hearing Loss"
|
|
|
|
|
stage = 3
|
|
|
|
|
activate(var/mob/living/carbon/mob,var/multiplier)
|
|
|
|
|
mob.ear_deaf = 5
|
|
|
|
|
|
|
|
|
|
/datum/disease2/effect/minordeaf/activate(var/mob/living/carbon/mob,var/multiplier)
|
|
|
|
|
mob.ear_deaf = 5
|
|
|
|
|
|
|
|
|
|
/datum/disease2/effect/giggle
|
|
|
|
|
name = "Uncontrolled Laughter Effect"
|
|
|
|
|
name = "Uncontrolled Laughter"
|
|
|
|
|
stage = 3
|
|
|
|
|
activate(var/mob/living/carbon/mob,var/multiplier)
|
|
|
|
|
mob.say("*giggle")
|
|
|
|
|
|
|
|
|
|
/datum/disease2/effect/giggle/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 << "<span class='notice'>You have trouble telling right and left apart all of a sudden.</span>"
|
|
|
|
|
mob.Confuse(10)
|
|
|
|
|
|
|
|
|
|
/datum/disease2/effect/confusion/activate(var/mob/living/carbon/mob,var/multiplier)
|
|
|
|
|
mob << "<span class='notice'>You have trouble telling right and left apart all of a sudden.</span>"
|
|
|
|
|
mob.Confuse(10)
|
|
|
|
|
|
|
|
|
|
/datum/disease2/effect/mutation
|
|
|
|
|
name = "DNA Degradation"
|
|
|
|
|
stage = 3
|
|
|
|
|
activate(var/mob/living/carbon/mob,var/multiplier)
|
|
|
|
|
mob.apply_damage(2, CLONE)
|
|
|
|
|
|
|
|
|
|
/datum/disease2/effect/mutation/activate(var/mob/living/carbon/mob,var/multiplier)
|
|
|
|
|
mob.apply_damage(2, CLONE)
|
|
|
|
|
|
|
|
|
|
/datum/disease2/effect/groan
|
|
|
|
|
name = "Groaning Syndrome"
|
|
|
|
|
name = "Phantom Aches"
|
|
|
|
|
stage = 3
|
|
|
|
|
chance_maxm = 25
|
|
|
|
|
activate(var/mob/living/carbon/mob,var/multiplier)
|
|
|
|
|
mob.say("*groan")
|
|
|
|
|
|
|
|
|
|
/datum/disease2/effect/groan/activate(var/mob/living/carbon/mob,var/multiplier)
|
|
|
|
|
mob.say("*groan")
|
|
|
|
|
|
|
|
|
|
/datum/disease2/effect/chem_synthesis
|
|
|
|
|
name = "Chemical Synthesis"
|
|
|
|
|
stage = 3
|
|
|
|
|
chance_maxm = 25
|
|
|
|
|
|
|
|
|
|
generate(c_data)
|
|
|
|
|
if(c_data)
|
|
|
|
|
data = c_data
|
|
|
|
|
else
|
|
|
|
|
data = pick("bicaridine", "kelotane", "anti_toxin", "inaprovaline", "space_drugs", "sugar",
|
|
|
|
|
"tramadol", "dexalin", "cryptobiolin", "impedrezene", "hyperzine", "ethylredoxrazine",
|
|
|
|
|
"mindbreaker", "glucose")
|
|
|
|
|
var/datum/reagent/R = chemical_reagents_list[data]
|
|
|
|
|
name = "[initial(name)] ([initial(R.name)])"
|
|
|
|
|
/datum/disease2/effect/chem_synthesis/generate(c_data)
|
|
|
|
|
if(c_data)
|
|
|
|
|
data = c_data
|
|
|
|
|
else
|
|
|
|
|
data = pick("bicaridine", "kelotane", "anti_toxin", "inaprovaline", "space_drugs", "sugar",
|
|
|
|
|
"tramadol", "dexalin", "cryptobiolin", "impedrezene", "hyperzine", "ethylredoxrazine",
|
|
|
|
|
"mindbreaker", "glucose")
|
|
|
|
|
var/datum/reagent/R = chemical_reagents_list[data]
|
|
|
|
|
name = "[initial(name)] ([initial(R.name)])"
|
|
|
|
|
|
|
|
|
|
/datum/disease2/effect/chem_synthesis/activate(var/mob/living/carbon/mob,var/multiplier)
|
|
|
|
|
if (mob.reagents.get_reagent_amount(data) < 5)
|
|
|
|
|
mob.reagents.add_reagent(data, 2)
|
|
|
|
|
|
|
|
|
|
/datum/disease2/effect/nonrejection
|
|
|
|
|
name = "Genetic Chameleonism"
|
|
|
|
|
stage = 3
|
|
|
|
|
|
|
|
|
|
/datum/disease2/effect/nonrejection/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/internal/O = H.organs_by_name
|
|
|
|
|
for (var/organ in H.organs_by_name)
|
|
|
|
|
if (!(O.robotic = ORGAN_ROBOT))
|
|
|
|
|
O.rejecting = 0
|
|
|
|
|
|
|
|
|
|
activate(var/mob/living/carbon/mob,var/multiplier)
|
|
|
|
|
if (mob.reagents.get_reagent_amount(data) < 5)
|
|
|
|
|
mob.reagents.add_reagent(data, 2)
|
|
|
|
|
|
|
|
|
|
////////////////////////STAGE 2/////////////////////////////////
|
|
|
|
|
|
|
|
|
|
/datum/disease2/effect/scream
|
|
|
|
|
name = "Loudness Syndrome"
|
|
|
|
|
name = "Involuntary Vocalization"
|
|
|
|
|
stage = 2
|
|
|
|
|
chance_maxm = 25
|
|
|
|
|
activate(var/mob/living/carbon/mob,var/multiplier)
|
|
|
|
|
|
|
|
|
|
/datum/disease2/effect/scream/activate(var/mob/living/carbon/mob,var/multiplier)
|
|
|
|
|
mob.say("*scream")
|
|
|
|
|
|
|
|
|
|
/datum/disease2/effect/drowsness
|
|
|
|
|
name = "Automated Sleeping Syndrome"
|
|
|
|
|
name = "Excessive Sleepiness"
|
|
|
|
|
stage = 2
|
|
|
|
|
activate(var/mob/living/carbon/mob,var/multiplier)
|
|
|
|
|
mob.drowsyness += 10
|
|
|
|
|
|
|
|
|
|
/datum/disease2/effect/drowsness/activate(var/mob/living/carbon/mob,var/multiplier)
|
|
|
|
|
mob.drowsyness += 10
|
|
|
|
|
|
|
|
|
|
/datum/disease2/effect/sleepy
|
|
|
|
|
name = "Resting Syndrome"
|
|
|
|
|
name = "Narcolepsy"
|
|
|
|
|
stage = 2
|
|
|
|
|
chance_maxm = 15
|
|
|
|
|
activate(var/mob/living/carbon/mob,var/multiplier)
|
|
|
|
|
mob.say("*collapse")
|
|
|
|
|
|
|
|
|
|
/datum/disease2/effect/sleepy/activate(var/mob/living/carbon/mob,var/multiplier)
|
|
|
|
|
mob.say("*collapse")
|
|
|
|
|
|
|
|
|
|
/datum/disease2/effect/blind
|
|
|
|
|
name = "Blackout Syndrome"
|
|
|
|
|
name = "Vision Loss"
|
|
|
|
|
stage = 2
|
|
|
|
|
activate(var/mob/living/carbon/mob,var/multiplier)
|
|
|
|
|
mob.eye_blind = max(mob.eye_blind, 4)
|
|
|
|
|
|
|
|
|
|
/datum/disease2/effect/blind/activate(var/mob/living/carbon/mob,var/multiplier)
|
|
|
|
|
mob.eye_blind = max(mob.eye_blind, 4)
|
|
|
|
|
|
|
|
|
|
/datum/disease2/effect/cough
|
|
|
|
|
name = "Anima Syndrome"
|
|
|
|
|
name = "Severe Cough"
|
|
|
|
|
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/cough/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"
|
|
|
|
|
name = "Digestive Inefficiency"
|
|
|
|
|
stage = 2
|
|
|
|
|
activate(var/mob/living/carbon/mob,var/multiplier)
|
|
|
|
|
mob.nutrition = max(0, mob.nutrition - 200)
|
|
|
|
|
|
|
|
|
|
/datum/disease2/effect/hungry/activate(var/mob/living/carbon/mob,var/multiplier)
|
|
|
|
|
mob.nutrition = max(0, mob.nutrition - 200)
|
|
|
|
|
|
|
|
|
|
/datum/disease2/effect/fridge
|
|
|
|
|
name = "Refridgerator Syndrome"
|
|
|
|
|
name = "Reduced Circulation"
|
|
|
|
|
stage = 2
|
|
|
|
|
chance_maxm = 25
|
|
|
|
|
activate(var/mob/living/carbon/mob,var/multiplier)
|
|
|
|
|
mob.say("*shiver")
|
|
|
|
|
|
|
|
|
|
/datum/disease2/effect/fridge/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 << "<span class='danger'>Your hair starts to fall out in clumps...</span>"
|
|
|
|
|
spawn(50)
|
|
|
|
|
H.h_style = "Balding Hair"
|
|
|
|
|
H.update_hair()
|
|
|
|
|
|
|
|
|
|
/datum/disease2/effect/hair/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 << "<span class='danger'>Your hair starts to fall out in clumps...</span>"
|
|
|
|
|
spawn(50)
|
|
|
|
|
H.h_style = "Balding Hair"
|
|
|
|
|
H.update_hair()
|
|
|
|
|
|
|
|
|
|
/datum/disease2/effect/stimulant
|
|
|
|
|
name = "Adrenaline Extra"
|
|
|
|
|
name = "Overactive Adrenal Gland"
|
|
|
|
|
stage = 2
|
|
|
|
|
activate(var/mob/living/carbon/mob,var/multiplier)
|
|
|
|
|
mob << "<span class='notice'>You feel a rush of energy inside you!</span>"
|
|
|
|
|
if (mob.reagents.get_reagent_amount("hyperzine") < 10)
|
|
|
|
|
mob.reagents.add_reagent("hyperzine", 4)
|
|
|
|
|
if (prob(30))
|
|
|
|
|
mob.jitteriness += 10
|
|
|
|
|
|
|
|
|
|
/datum/disease2/effect/stimulant/activate(var/mob/living/carbon/mob,var/multiplier)
|
|
|
|
|
mob << "<span class='notice'>You feel a rush of energy inside you!</span>"
|
|
|
|
|
if (mob.reagents.get_reagent_amount("hyperzine") < 10)
|
|
|
|
|
mob.reagents.add_reagent("hyperzine", 4)
|
|
|
|
|
if (prob(30))
|
|
|
|
|
mob.jitteriness += 10
|
|
|
|
|
|
|
|
|
|
/datum/disease2/effect/ringing
|
|
|
|
|
name = "Tinnitus"
|
|
|
|
|
stage = 2
|
|
|
|
|
chance_maxm = 25
|
|
|
|
|
|
|
|
|
|
/datum/disease2/effect/ringing/activate(var/mob/living/carbon/mob,var/multiplier)
|
|
|
|
|
if(istype(mob, /mob/living/carbon/human))
|
|
|
|
|
var/mob/living/carbon/human/H = mob
|
|
|
|
|
H << "<span class='notice'>You hear an awful ringing in your ears.</span>"
|
|
|
|
|
H << 'sound/weapons/flash.ogg'
|
|
|
|
|
|
|
|
|
|
/datum/disease2/effect/vomiting
|
|
|
|
|
name = "Vomiting"
|
|
|
|
|
stage = 2
|
|
|
|
|
chance_maxm = 20
|
|
|
|
|
|
|
|
|
|
/datum/disease2/effect/vomiting/activate(var/mob/living/carbon/mob,var/multiplier)
|
|
|
|
|
mob << "<span class='notice'>Your stomach churns!</span>"
|
|
|
|
|
if (prob(50))
|
|
|
|
|
mob.say("*vomit")
|
|
|
|
|
|
|
|
|
|
////////////////////////STAGE 1/////////////////////////////////
|
|
|
|
|
|
|
|
|
|
/datum/disease2/effect/sneeze
|
|
|
|
|
name = "Coldingtons Effect"
|
|
|
|
|
name = "Sneezing"
|
|
|
|
|
stage = 1
|
|
|
|
|
activate(var/mob/living/carbon/mob,var/multiplier)
|
|
|
|
|
if (prob(30))
|
|
|
|
|
mob << "<span class='warning'>You feel like you are about to sneeze!</span>"
|
|
|
|
|
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 = new(get_turf(mob))
|
|
|
|
|
M.virus2 = virus_copylist(mob.virus2)
|
|
|
|
|
|
|
|
|
|
/datum/disease2/effect/sneeze/activate(var/mob/living/carbon/mob,var/multiplier)
|
|
|
|
|
if (prob(30))
|
|
|
|
|
mob << "<span class='warning'>You feel like you are about to sneeze!</span>"
|
|
|
|
|
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 = new(get_turf(mob))
|
|
|
|
|
M.virus2 = virus_copylist(mob.virus2)
|
|
|
|
|
|
|
|
|
|
/datum/disease2/effect/gunck
|
|
|
|
|
name = "Flemmingtons"
|
|
|
|
|
name = "Mucus Buildup"
|
|
|
|
|
stage = 1
|
|
|
|
|
activate(var/mob/living/carbon/mob,var/multiplier)
|
|
|
|
|
mob << "<span class='warning'>Mucous runs down the back of your throat.</span>"
|
|
|
|
|
|
|
|
|
|
/datum/disease2/effect/gunck/activate(var/mob/living/carbon/mob,var/multiplier)
|
|
|
|
|
mob << "<span class='warning'>Mucous runs down the back of your throat.</span>"
|
|
|
|
|
|
|
|
|
|
/datum/disease2/effect/drool
|
|
|
|
|
name = "Saliva Effect"
|
|
|
|
|
name = "Salivary Gland Stimulation"
|
|
|
|
|
stage = 1
|
|
|
|
|
chance_maxm = 25
|
|
|
|
|
activate(var/mob/living/carbon/mob,var/multiplier)
|
|
|
|
|
mob.say("*drool")
|
|
|
|
|
|
|
|
|
|
/datum/disease2/effect/drool/activate(var/mob/living/carbon/mob,var/multiplier)
|
|
|
|
|
mob.say("*drool")
|
|
|
|
|
if (prob(30))
|
|
|
|
|
var/obj/effect/decal/cleanable/mucus/M = new(get_turf(mob))
|
|
|
|
|
M.virus2 = virus_copylist(mob.virus2)
|
|
|
|
|
|
|
|
|
|
/datum/disease2/effect/twitch
|
|
|
|
|
name = "Twitcher"
|
|
|
|
|
name = "Involuntary Twitching"
|
|
|
|
|
stage = 1
|
|
|
|
|
chance_maxm = 25
|
|
|
|
|
activate(var/mob/living/carbon/mob,var/multiplier)
|
|
|
|
|
|
|
|
|
|
/datum/disease2/effect/twitch/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)
|
|
|
|
|
|
|
|
|
|
/datum/disease2/effect/headache/activate(var/mob/living/carbon/mob,var/multiplier)
|
|
|
|
|
mob << "<span class='warning'>Your head hurts a bit.</span>"
|
|
|
|
|
|