mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-22 19:47:22 +01:00
-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:
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user