Files
Paradise/code/datums/diseases/retrovirus.dm
kyunkyunkyunandGitHub b0463d3c83 Convert most spans to defines (#31080)
* spanish?

* aaaagain

* keep maptext

* Update robot_items.dm

* Update span_defines.dm

* compiles

* Update silicon_mob.dm

* compile
2025-12-13 23:55:48 +00:00

85 lines
2.3 KiB
Plaintext

/datum/disease/dna_retrovirus
name = "Retrovirus"
max_stages = 4
spread_text = "Contact"
spread_flags = SPREAD_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 = VIRUS_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_NOTICE("You feel better."))
cure()
return
if(prob(8))
to_chat(affected_mob, SPAN_DANGER("Your head hurts."))
if(prob(9))
to_chat(affected_mob, "You feel a tingling sensation in your chest.")
if(prob(9))
to_chat(affected_mob, SPAN_DANGER("You feel angry."))
if(2)
if(restcure)
if(IS_HORIZONTAL(affected_mob) && prob(20))
to_chat(affected_mob, SPAN_NOTICE("You feel better."))
cure()
return
if(prob(8))
to_chat(affected_mob, SPAN_DANGER("Your skin feels loose."))
if(prob(10))
to_chat(affected_mob, "You feel very strange.")
if(prob(4))
to_chat(affected_mob, SPAN_DANGER("You feel a stabbing pain in your head!"))
affected_mob.Paralyse(4 SECONDS)
if(prob(4))
to_chat(affected_mob, SPAN_DANGER("Your stomach churns."))
if(3)
if(restcure)
if(IS_HORIZONTAL(affected_mob) && prob(20))
to_chat(affected_mob, SPAN_NOTICE("You feel better."))
cure()
return
if(prob(10))
to_chat(affected_mob, SPAN_DANGER("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(IS_HORIZONTAL(affected_mob) && prob(5))
to_chat(affected_mob, SPAN_NOTICE("You feel better."))
cure()
return
if(prob(60))
if(prob(50))
scramble(1, affected_mob, rand(15, 45))
else
scramble(0, affected_mob, rand(15, 45))