Mucus and a few fixes to vira.

Added mucus that is added to the map sometimes when sneezing or coughing. Blood now carries the spiller's virus2. Fixed a problem with virus spreading.
This commit is contained in:
cib
2012-01-01 20:50:46 -08:00
parent bc18887dc7
commit 40fb4bb628
5 changed files with 36 additions and 3 deletions

View File

@@ -38,7 +38,7 @@ proc/airborne_can_reach(turf/source, turf/target)
for(var/i=0, i<5, i++) if(!step_towards(dummy, target)) break for(var/i=0, i<5, i++) if(!step_towards(dummy, target)) break
var/rval = (dummy.loc == target) var/rval = (dummy.loc in range(1,target))
del dummy del dummy
return rval return rval
@@ -396,6 +396,12 @@ proc/airborne_can_reach(turf/source, turf/target)
mob.say("*sneeze") mob.say("*sneeze")
if(mob.virus2) mob.virus2.spread_airborne(mob) if(mob.virus2) mob.virus2.spread_airborne(mob)
if(mob.virus2) mob.virus2.spread_airborne(mob) if(mob.virus2) mob.virus2.spread_airborne(mob)
if(prob(5))
var/obj/effect/decal/cleanable/mucus/this = new(mob.loc)
this.anchored = 0
step(this, mob.dir)
this.anchored = 1
this.virus2 = mob.virus2
/datum/disease2/effect/greater/cough /datum/disease2/effect/greater/cough
@@ -405,6 +411,9 @@ proc/airborne_can_reach(turf/source, turf/target)
mob.say("*cough") mob.say("*cough")
if(mob.virus2) mob.virus2.spread_airborne(mob) if(mob.virus2) mob.virus2.spread_airborne(mob)
if(mob.virus2) mob.virus2.spread_airborne(mob) if(mob.virus2) mob.virus2.spread_airborne(mob)
if(prob(2))
var/obj/effect/decal/cleanable/mucus/this = new(mob.loc)
this.virus2 = mob.virus2
/datum/disease2/effect/greater/gunck /datum/disease2/effect/greater/gunck
name = "Flemmingtons" name = "Flemmingtons"
@@ -481,6 +490,12 @@ proc/airborne_can_reach(turf/source, turf/target)
mob.say("*sneeze") mob.say("*sneeze")
if(mob.virus2) mob.virus2.spread_airborne(mob) if(mob.virus2) mob.virus2.spread_airborne(mob)
if(mob.virus2) mob.virus2.spread_airborne(mob) if(mob.virus2) mob.virus2.spread_airborne(mob)
if(prob(10))
var/obj/effect/decal/cleanable/mucus/this = new(mob.loc)
this.anchored = 0
step(this, mob.dir)
this.anchored = 1
this.virus2 = mob.virus2
/datum/disease2/effect/lesser/cough /datum/disease2/effect/lesser/cough
name = "Anima Syndrome" name = "Anima Syndrome"
@@ -489,6 +504,9 @@ proc/airborne_can_reach(turf/source, turf/target)
mob.say("*cough") mob.say("*cough")
if(mob.virus2) mob.virus2.spread_airborne(mob) if(mob.virus2) mob.virus2.spread_airborne(mob)
if(mob.virus2) mob.virus2.spread_airborne(mob) if(mob.virus2) mob.virus2.spread_airborne(mob)
if(prob(10))
var/obj/effect/decal/cleanable/mucus/this = new(mob.loc)
this.virus2 = mob.virus2
/*/datum/disease2/effect/lesser/hallucinations /*/datum/disease2/effect/lesser/hallucinations
name = "Hallucinational Syndrome" name = "Hallucinational Syndrome"

View File

@@ -58,6 +58,17 @@
D.cure(0) D.cure(0)
..() ..()
/obj/effect/decal/cleanable/mucus
name = "Mucus"
desc = "Icky mucus!"
density = 0
anchored = 1
layer = 2
icon = 'blood.dmi'
icon_state = "mucus"
random_icon_states = list("mucus")
var/datum/disease2/disease/virus2 = null
/obj/effect/decal/cleanable/blood/splatter /obj/effect/decal/cleanable/blood/splatter
random_icon_states = list("gibbl1", "gibbl2", "gibbl3", "gibbl4", "gibbl5") random_icon_states = list("gibbl1", "gibbl2", "gibbl3", "gibbl4", "gibbl5")

View File

@@ -142,6 +142,7 @@
var/obj/effect/decal/cleanable/blood/this = new /obj/effect/decal/cleanable/blood(source2) var/obj/effect/decal/cleanable/blood/this = new /obj/effect/decal/cleanable/blood(source2)
this.blood_DNA = M.dna.unique_enzymes this.blood_DNA = M.dna.unique_enzymes
this.blood_type = M.b_type this.blood_type = M.b_type
this.virus2 = M.virus2
for(var/datum/disease/D in M.viruses) for(var/datum/disease/D in M.viruses)
var/datum/disease/newDisease = new D.type var/datum/disease/newDisease = new D.type
this.viruses += newDisease this.viruses += newDisease

View File

@@ -998,9 +998,12 @@
D.cure() D.cure()
if(!virus2) if(!virus2)
for(var/obj/effect/decal/cleanable/blood/B in src.loc) for(var/obj/effect/decal/cleanable/blood/B in view(1,src))
if(B.virus2) if(B.virus2 && get_infection_chance())
infect_virus2(src,B.virus2) infect_virus2(src,B.virus2)
for(var/obj/effect/decal/cleanable/mucus/M in view(1,src))
if(M.virus2 && get_infection_chance())
infect_virus2(src,M.virus2)
else else
virus2.activate(src) virus2.activate(src)

Binary file not shown.

Before

Width:  |  Height:  |  Size: 59 KiB

After

Width:  |  Height:  |  Size: 59 KiB