Fix for bloodying shoes when walking in a puddle of blood.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3241 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
joe.heinemeyer@gmail.com
2012-03-03 03:13:07 +00:00
parent 83b4a6ae3f
commit 43b00f5f89
4 changed files with 13 additions and 5 deletions

View File

@@ -210,6 +210,7 @@
var/list/blood_DNA_temp[1] var/list/blood_DNA_temp[1]
blood_DNA_temp[1] = list(M.dna.unique_enzymes, M.dna.b_type) blood_DNA_temp[1] = list(M.dna.unique_enzymes, M.dna.b_type)
this.blood_DNA = blood_DNA_temp this.blood_DNA = blood_DNA_temp
this.blood_owner = M
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

@@ -725,7 +725,7 @@ obj/effect/decal/cleanable/blood/var
mob/blood_owner mob/blood_owner
turf/Exited(mob/living/carbon/human/M) turf/Exited(mob/living/carbon/human/M)
if(istype(M,/mob/living)) if(istype(M,/mob/living) && !istype(M,/mob/living/carbon/metroid))
if(!istype(src, /turf/space)) // Bloody tracks code starts here if(!istype(src, /turf/space)) // Bloody tracks code starts here
if(M.track_blood > 0) if(M.track_blood > 0)
M.track_blood-- M.track_blood--
@@ -737,7 +737,7 @@ turf/Exited(mob/living/carbon/human/M)
src.add_bloody_footprints(M.shoes.track_blood_mob,1,M.dir,M.shoes.name) // And bloody tracks end here src.add_bloody_footprints(M.shoes.track_blood_mob,1,M.dir,M.shoes.name) // And bloody tracks end here
. = ..() . = ..()
turf/Entered(mob/living/carbon/human/M) turf/Entered(mob/living/carbon/human/M)
if(istype(M,/mob/living)) if(istype(M,/mob/living) && !istype(M,/mob/living/carbon/metroid))
if(M.track_blood > 0) if(M.track_blood > 0)
M.track_blood-- M.track_blood--
src.add_bloody_footprints(M.track_blood_mob,0,M.dir,get_tracks(M)) src.add_bloody_footprints(M.track_blood_mob,0,M.dir,get_tracks(M))
@@ -769,9 +769,14 @@ turf/proc/add_bloody_footprints(mob/living/carbon/human/M,leaving,d,info)
if(T.dir == d) if(T.dir == d)
if((leaving && T.icon_state == "steps2") || (!leaving && T.icon_state == "steps1")) if((leaving && T.icon_state == "steps2") || (!leaving && T.icon_state == "steps1"))
T.desc = "These bloody footprints appear to have been made by [info]." T.desc = "These bloody footprints appear to have been made by [info]."
if(istype(M,/mob/living/carbon/human)) if(T.blood_DNA)
T.blood_DNA.len++ T.blood_DNA.len++
if(istype(M,/mob/living/carbon/human))
T.blood_DNA[T.blood_DNA.len] = list(M.dna.unique_enzymes,M.dna.b_type) T.blood_DNA[T.blood_DNA.len] = list(M.dna.unique_enzymes,M.dna.b_type)
else if(istype(M,/mob/living/carbon/alien))
T.blood_DNA[T.blood_DNA.len] = list("UNKNOWN DNA","X*")
else if(istype(M,/mob/living/carbon/monkey))
T.blood_DNA[T.blood_DNA.len] = list("Non-human DNA","A+")
return return
var/obj/effect/decal/cleanable/blood/tracks/this = new(src) var/obj/effect/decal/cleanable/blood/tracks/this = new(src)
this.icon = 'footprints.dmi' this.icon = 'footprints.dmi'
@@ -796,6 +801,8 @@ proc/get_tracks(mob/M)
. = "monkey paws" . = "monkey paws"
else if(istype(M,/mob/living/silicon/robot)) else if(istype(M,/mob/living/silicon/robot))
. = "robot feet" . = "robot feet"
else if(istype(M,/mob/living/carbon/alien))
. = "alien claws"
else else
. = "an unknown creature" . = "an unknown creature"

View File

@@ -816,7 +816,7 @@
else if (istype(src, /mob/living/carbon/alien)) else if (istype(src, /mob/living/carbon/alien))
xgibs(loc, viruses) xgibs(loc, viruses)
else else
gibs(loc, viruses) gibs(loc, viruses, dna)
/* else if(key) /* else if(key)
if(istype(src, /mob/living/simple_animals)) //Should gib all simple_animals like a monkey if(istype(src, /mob/living/simple_animals)) //Should gib all simple_animals like a monkey
@@ -832,7 +832,7 @@ Currently doesn't work, but should be useful later or at least as a template
else if(istype(src, /mob/living/carbon/alien)) else if(istype(src, /mob/living/carbon/alien))
xgibs(loc, viruses) xgibs(loc, viruses)
else else
gibs(loc, viruses) gibs(loc, viruses, dna)
sleep(15) sleep(15)
del(src) del(src)

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB