Files
Polaris/code/datums/diseases/dna_spread.dm
rastaf.zero@gmail.com b58e465bbe Shitton of bugfixes related to bryteloss/fireloss.
Note for coders: in order to help with seaching of health-related bugs I have moved many procs from /mob/ under /mob/living/.
Also, done some clean up and rearranging.
Results:
-admin rejuvenating now works again;
-people screams if getting creamated while still alive;
-diseases actually loose your health;
-monkeys wearing masks receive protection from acids as humans did;
-and other minor fixes and improvements.
Bugfix for imbuing a talisman.
RD now spawns with only 2 pens instead of 3.
Audible emotions can be heard by people outside of locker/other container.


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1446 316c924e-a436-60f5-8080-3fe189b3f50e
2011-04-15 07:41:19 +00:00

65 lines
2.1 KiB
Plaintext

/datum/disease/dnaspread
name = "Space Retrovirus"
max_stages = 4
spread = "On contact"
spread_type = CONTACT_GENERAL
cure = "Ryetalin"
cure = "ryetalyn"
curable = 0
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.toxloss += 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.uni_identity
src.original_dna["SE"] = affected_mob.dna.struc_enzymes
affected_mob << "\red You don't feel like yourself.."
affected_mob.dna.uni_identity = strain_data["UI"]
updateappearance(affected_mob, affected_mob.dna.uni_identity)
affected_mob.dna.struc_enzymes = strain_data["SE"]
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"]))
affected_mob.dna.uni_identity = original_dna["UI"]
updateappearance(affected_mob, affected_mob.dna.uni_identity)
affected_mob.dna.struc_enzymes = original_dna["SE"]
affected_mob.real_name = original_dna["name"]
affected_mob << "\blue You feel more like yourself."
..()