- Disease fixes

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@354 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
panurgomatic
2010-10-26 14:07:08 +00:00
parent 8371d8bfa4
commit 4a130fb878
10 changed files with 87 additions and 62 deletions
+1 -1
View File
@@ -247,7 +247,7 @@
target.alien_egg_flag = 1
var/mob/trg = target
src.death()
trg.contract_disease(new /datum/disease/alien_embryo)
trg.contract_disease(new /datum/disease/alien_embryo(0))
return
else
sleep(50)
+32 -7
View File
@@ -1,47 +1,72 @@
/proc/gibs(atom/location, var/datum/disease/virus)
var/obj/decal/cleanable/blood/gibs/gib = null
if(virus && virus.spread_type == SPECIAL)
virus = null
// NORTH
gib = new /obj/decal/cleanable/blood/gibs(location)
if (prob(30))
gib.icon_state = "gibup1"
gib.virus = virus
if(virus && prob(20))
gib.virus = new virus.type
gib.virus.holder = gib
gib.virus.spread_type = CONTACT_FEET
gib.streak(list(NORTH, NORTHEAST, NORTHWEST))
// SOUTH
gib = new /obj/decal/cleanable/blood/gibs(location)
if (prob(30))
gib.icon_state = "gibdown1"
gib.virus = virus
if(virus && prob(20))
gib.virus = new virus.type
gib.virus.holder = gib
gib.virus.spread_type = CONTACT_FEET
gib.streak(list(SOUTH, SOUTHEAST, SOUTHWEST))
// WEST
gib = new /obj/decal/cleanable/blood/gibs(location)
gib.virus = virus
if(virus && prob(20))
gib.virus = new virus.type
gib.virus.holder = gib
gib.virus.spread_type = CONTACT_FEET
gib.streak(list(WEST, NORTHWEST, SOUTHWEST))
// EAST
gib = new /obj/decal/cleanable/blood/gibs(location)
gib.virus = virus
if(virus)
gib.virus = new virus.type
gib.virus.holder = gib
gib.virus.spread_type = CONTACT_FEET
gib.streak(list(EAST, NORTHEAST, SOUTHEAST))
// RANDOM BODY
gib = new /obj/decal/cleanable/blood/gibs/body(location)
gib.virus = virus
if(virus && prob(20))
gib.virus = new virus.type
gib.virus.holder = gib
gib.virus.spread_type = CONTACT_FEET
gib.streak(alldirs)
// RANDOM LIMBS
for (var/i = 0, i < pick(0, 1, 2), i++)
gib = new /obj/decal/cleanable/blood/gibs/limb(location)
gib.virus = virus
if(virus && prob(20))
gib.virus = new virus.type
gib.virus.holder = gib
gib.virus.spread_type = CONTACT_FEET
gib.streak(alldirs)
// CORE
gib = new /obj/decal/cleanable/blood/gibs/core(location)
gib.virus = virus
if(virus && prob(20))
gib.virus = new virus.type
gib.virus.holder = gib
gib.virus.spread_type = CONTACT_FEET
/proc/robogibs(atom/location, var/datum/disease/virus)
var/obj/decal/cleanable/robot_debris/gib = null
if(virus && virus.spread_type == SPECIAL)
virus = null
// RUH ROH
var/datum/effects/system/spark_spread/s = new /datum/effects/system/spark_spread