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
+4 -3
View File
@@ -124,14 +124,15 @@
for(var/i = 0, i < lethal_amount, i++)
var/mob/living/carbon/human/H = pick(crew)
if(lethal in H.virus2)
if(lethal.uniqueID in H.virus2)
i--
continue
H.virus2 += lethal.getcopy()
H.virus2["[lethal.uniqueID]"] += lethal.getcopy()
infectees += H
var/mob/living/carbon/human/patient_zero = pick(infectees)
patient_zero.virus2.stage = 3
var/datum/disease2/disease/V = patient_zero.virus2["[lethal.uniqueID]"]
V.stage = 3
cruiser_arrival = world.time + (10 * 90 * 60)
stage = 1
@@ -144,4 +144,4 @@
icon = 'blood.dmi'
icon_state = "mucus"
random_icon_states = list("mucus")
var/list/datum/disease2/disease/virus2 = null
var/list/datum/disease2/disease/virus2 = list()
+3 -3
View File
@@ -108,14 +108,14 @@
if(!B.blood_DNA[M.dna.unique_enzymes])
B.blood_DNA[M.dna.unique_enzymes] = M.dna.b_type
if (M.virus2.len)
B.virus2 |= M.virus2
B.virus2 |= virus_copylist(M.virus2)
return 1 //we bloodied the floor
//if there isn't a blood decal already, make one.
var/obj/effect/decal/cleanable/blood/newblood = new /obj/effect/decal/cleanable/blood(src)
newblood.blood_DNA[M.dna.unique_enzymes] = M.dna.b_type
if (M.virus2.len)
newblood.virus2 = M.virus2.Copy()
newblood.virus2 |= virus_copylist(M.virus2)
return 1 //we bloodied the floor
@@ -125,7 +125,7 @@
var/obj/effect/decal/cleanable/blood/this = new /obj/effect/decal/cleanable/blood(src)
this.blood_DNA[M.dna.unique_enzymes] = M.dna.b_type
if (M.virus2.len)
this.virus2 = M.virus2.Copy()
this.virus2 = virus_copylist(M.virus2)
else if( istype(M, /mob/living/carbon/alien ))
var/obj/effect/decal/cleanable/xenoblood/this = new /obj/effect/decal/cleanable/xenoblood(src)