Changes way viruses are stored in mobs.

Now it's an associative list:
uniqueID - virus datum

Updated most instances to match it.
This commit is contained in:
Chinsky
2013-06-19 02:28:53 +04:00
parent cb7daa77a6
commit 960a22ee43
12 changed files with 65 additions and 34 deletions
+11 -5
View File
@@ -1332,18 +1332,23 @@
if(bodytemperature > 406)
for(var/datum/disease/D in viruses)
D.cure()
for (var/datum/disease2/disease/V in virus2)
for (var/ID in virus2)
var/datum/disease2/disease/V = virus2[ID]
V.cure(src)
for(var/obj/effect/decal/cleanable/blood/B in view(1,src))
if(B.virus2.len && get_infection_chance(src))
for (var/datum/disease2/disease/V in B.virus2)
for (var/ID in B.virus2)
var/datum/disease2/disease/V = virus2[ID]
infect_virus2(src,V)
for(var/obj/effect/decal/cleanable/mucus/M in view(1,src))
if(M.virus2.len && get_infection_chance(src))
for (var/datum/disease2/disease/V in M.virus2)
for (var/ID in M.virus2)
var/datum/disease2/disease/V = virus2[ID]
infect_virus2(src,V)
for (var/datum/disease2/disease/V in virus2)
for (var/ID in virus2)
var/datum/disease2/disease/V = virus2[ID]
if(isnull(V)) // Trying to figure out a runtime error that keeps repeating
CRASH("virus2 nulled before calling activate()")
else
@@ -1352,7 +1357,8 @@
if(!V) continue
// check if we're immune
if(V.antigen & src.antibodies) V.dead = 1
if(V.antigen & src.antibodies)
V.dead = 1
return
+11 -5
View File
@@ -155,18 +155,23 @@
if(bodytemperature > 406)
for(var/datum/disease/D in viruses)
D.cure()
for (var/datum/disease2/disease/V in virus2)
for (var/ID in virus2)
var/datum/disease2/disease/V = virus2[ID]
V.cure(src)
for(var/obj/effect/decal/cleanable/blood/B in view(1,src))
if(B.virus2.len && get_infection_chance(src))
for (var/datum/disease2/disease/V in B.virus2)
for (var/ID in B.virus2)
var/datum/disease2/disease/V = virus2[ID]
infect_virus2(src,V)
for(var/obj/effect/decal/cleanable/mucus/M in view(1,src))
if(M.virus2.len && get_infection_chance(src))
for (var/datum/disease2/disease/V in M.virus2)
for (var/ID in M.virus2)
var/datum/disease2/disease/V = virus2[ID]
infect_virus2(src,V)
for (var/datum/disease2/disease/V in virus2)
for (var/ID in virus2)
var/datum/disease2/disease/V = virus2[ID]
if(isnull(V)) // Trying to figure out a runtime error that keeps repeating
CRASH("virus2 nulled before calling activate()")
else
@@ -175,7 +180,8 @@
if(!V) continue
// check if we're immune
if(V.antigen & src.antibodies) V.dead = 1
if(V.antigen & src.antibodies)
V.dead = 1
return