Files
Paradise/code/datums/diseases/retrovirus.dm
Nathan Winters dad3774e7b Buffs the Virus Outbreak event (#23285)
* Spring cleaning

* The great virus reclassification

* Add severity comment to Fake GBS

* Fix Jungle Fever being uncurable

* Fix Shock causing fainting slightly too often

* Makes Brainrot kill more reliably (yes, it already did)

* Make Wizarditis replace clothes a bit less eagerly, cleanup

* Buff Wizarditis effects' probabilities

* Add a bit of variety to Wizarditis flavor messages

* Clean up, nerf, and add some variety to Lycancoughy

* Refactor Spanish Inquisition Flu

* Refactor and slightly rebalance ICE9 Cold

* Fix DROPDEL items not GCing properly sometimes

* Lightly overhaul Pierrot's Throat

* Remove unnecessary `null` declaration assignment

* Deduplicate Critical disease properties

* Spring cleaning 2: Electric Boogaloo

* whoops

* Fixes DROPDEL items not GCing properly someothertimes

* Make Wizarditis clothes DROPDEL too

* Lewcc review

* Deduplicate Pierrot's Throat symptoms

* Spread out Cold9 and Spanish Flu's damage

* Clean up Adv. Kingstons

* Fix Adv. Kingstons *healing* brute damage
2023-12-31 10:21:45 +00:00

85 lines
2.4 KiB
Plaintext

/datum/disease/dna_retrovirus
name = "Retrovirus"
max_stages = 4
spread_text = "Contact"
spread_flags = CONTACT_GENERAL
cure_text = "Rest or an injection of mutadone"
cure_chance = 6
agent = ""
viable_mobtypes = list(/mob/living/carbon/human)
desc = "A DNA-altering retrovirus that scrambles the structural and unique enzymes of a host constantly."
severity = BIOHAZARD
permeability_mod = 0.4
stage_prob = 2
var/SE
var/UI
var/restcure = 0
/datum/disease/dna_retrovirus/New()
..()
agent = "Virus class [pick("A","B","C","D","E","F")][pick("A","B","C","D","E","F")]-[rand(50,300)]"
if(prob(40))
cures = list("mutadone")
else
restcure = 1
/datum/disease/dna_retrovirus/stage_act()
if(!..())
return FALSE
switch(stage)
if(1)
if(restcure)
if(IS_HORIZONTAL(affected_mob) && prob(30))
to_chat(affected_mob, "<span class='notice'>You feel better.</span>")
cure()
return
if(prob(8))
to_chat(affected_mob, "<span class='danger'>Your head hurts.</span>")
if(prob(9))
to_chat(affected_mob, "You feel a tingling sensation in your chest.")
if(prob(9))
to_chat(affected_mob, "<span class='danger'>You feel angry.</span>")
if(2)
if(restcure)
if(IS_HORIZONTAL(affected_mob) && prob(20))
to_chat(affected_mob, "<span class='notice'>You feel better.</span>")
cure()
return
if(prob(8))
to_chat(affected_mob, "<span class='danger'>Your skin feels loose.</span>")
if(prob(10))
to_chat(affected_mob, "You feel very strange.")
if(prob(4))
to_chat(affected_mob, "<span class='danger'>You feel a stabbing pain in your head!</span>")
affected_mob.Paralyse(4 SECONDS)
if(prob(4))
to_chat(affected_mob, "<span class='danger'>Your stomach churns.</span>")
if(3)
if(restcure)
if(IS_HORIZONTAL(affected_mob) && prob(20))
to_chat(affected_mob, "<span class='notice'>You feel better.</span>")
cure()
return
if(prob(10))
to_chat(affected_mob, "<span class='danger'>Your entire body vibrates.</span>")
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(IS_HORIZONTAL(affected_mob) && prob(5))
to_chat(affected_mob, "<span class='notice'>You feel better.</span>")
cure()
return
if(prob(60))
if(prob(50))
scramble(1, affected_mob, rand(15, 45))
else
scramble(0, affected_mob, rand(15, 45))