-Added advance diseases! Virology can create and mutate advance with different symptoms and effects. Read my comments if you're interested in each symptom.

This isn't done, I still need to add more symptoms and a way for virology to identify and name them.

-Metroids will die in space again.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4987 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
giacomand@gmail.com
2012-10-31 18:04:04 +00:00
parent 59acea8efb
commit 2cefee1282
25 changed files with 1075 additions and 70 deletions
+12 -10
View File
@@ -349,17 +349,19 @@ datum
// mix dem viruses
if(R.id == "blood" && reagent == "blood")
if(R.data && data)
if(R.data && R.data["viruses"] || data && data["viruses"])
var/list/this = R.data["viruses"]
var/list/that = data["viruses"]
this += that // combine the two
if((R.data && R.data["viruses"]) || (data && data["viruses"]))
R.data["viruses"] |= data["viruses"]
var/datum/disease/advance/AD = Advance_Mix(R.data["viruses"])
if(AD)
for(var/datum/disease/advance/D in R.data["viruses"])
R.data["viruses"] -= D
R.data["viruses"] |= new/datum/disease/advance(0, AD)
/* -- Turns out this code was buggy and unnecessary ---- Doohl
for(var/datum/disease/D in this) // makes sure no two viruses are in the reagent at the same time
for(var/datum/disease/d in this)//Something in here can cause an inf loop and I am tired so someone else will have to fix it.
if(d != D)
D.cure(0)
*/
handle_reactions()
return 0
+4 -4
View File
@@ -100,7 +100,7 @@ datum
var/datum/reagent/blood/self = src
src = null
for(var/datum/disease/D in self.data["viruses"])
var/datum/disease/virus = new D.type
var/datum/disease/virus = new D.type(D)
// We don't spread.
if(virus.spread_type == SPECIAL || virus.spread_type == NON_CONTAGIOUS) continue
@@ -135,7 +135,7 @@ datum
blood_prop.blood_DNA[self.data["blood_DNA"]] = self.data["blood_type"]
for(var/datum/disease/D in self.data["viruses"])
var/datum/disease/newVirus = new D.type
var/datum/disease/newVirus = new D.type(D)
blood_prop.viruses += newVirus
newVirus.holder = blood_prop
@@ -146,7 +146,7 @@ datum
blood_prop = new(T)
blood_prop.blood_DNA["Non-Human DNA"] = "A+"
for(var/datum/disease/D in self.data["viruses"])
var/datum/disease/newVirus = new D.type
var/datum/disease/newVirus = new D.type(D)
blood_prop.viruses += newVirus
newVirus.holder = blood_prop
@@ -163,7 +163,7 @@ datum
blood_prop = new(T)
blood_prop.blood_DNA["UNKNOWN DNA STRUCTURE"] = "X*"
for(var/datum/disease/D in self.data["viruses"])
var/datum/disease/newVirus = new D.type
var/datum/disease/newVirus = new D.type(D)
blood_prop.viruses += newVirus
newVirus.holder = blood_prop
/*
@@ -448,6 +448,36 @@ datum
new /obj/item/stack/sheet/plasma(location)
return
virus_food
name = "Virus Food"
id = "virusfood"
result = "virusfood"
required_reagents = list("water" = 5, "milk" = 5, "oxygen" = 5)
result_amount = 15
mix_virus
name = "Mix Virus"
id = "mixvirus"
result = "blood"
required_reagents = list("blood" = 5, "virusfood" = 5)
result_amount = 5
var/level = 2
on_reaction(var/datum/reagents/holder, var/created_volume)
var/datum/reagent/blood/B = locate(/datum/reagent/blood) in holder.reagent_list
if(B && B.data)
var/datum/disease/advance/D = locate(/datum/disease/advance) in B.data["viruses"]
if(D)
D.Evolve(level - rand(0, 1))
holder.del_reagent(id)
mix_virus_2
required_reagents = list("blood" = 5, "mutagen" = 5)
level = 4
///////////////////////////////////////////////////////////////////////////////////
// foam and foam precursor
@@ -104,7 +104,7 @@
icon_state = "bottle3"
New()
..()
var/datum/disease/F = new /datum/disease/flu(0)
var/datum/disease/F = new /datum/disease/advance/flu(0)
var/list/data = list("viruses"= list(F))
reagents.add_reagent("blood", 20, data)
@@ -126,7 +126,18 @@
icon_state = "bottle3"
New()
..()
var/datum/disease/F = new /datum/disease/cold(0)
var/datum/disease/advance/F = new /datum/disease/advance/cold(0)
var/list/data = list("viruses"= list(F))
reagents.add_reagent("blood", 20, data)
/obj/item/weapon/reagent_containers/glass/bottle/random
name = "Random culture bottle"
desc = "A small bottle. Contains a random disease."
icon = 'icons/obj/chemical.dmi'
icon_state = "bottle3"
New()
..()
var/datum/disease/advance/F = new(0)
var/list/data = list("viruses"= list(F))
reagents.add_reagent("blood", 20, data)
@@ -91,7 +91,7 @@
B.data["viruses"] = list()
B.data["viruses"] += new D.type
B.data["viruses"] += new D.type(D)
B.data["blood_DNA"] = copytext(T.dna.unique_enzymes,1,0)