Allowing animals to leave footprints.

This commit is contained in:
MistakeNot4892
2022-08-16 18:42:19 +10:00
parent 143078619b
commit d2088cec86
4 changed files with 31 additions and 21 deletions

View File

@@ -92,31 +92,31 @@
// Dirt overlays.
update_dirt()
if(istype(M, /mob/living/carbon/human))
var/mob/living/carbon/human/H = M
// Tracking blood
// Tracking blood
var/track_type = M.leaves_tracks_type()
if(track_type)
var/list/bloodDNA = null
var/bloodcolor=""
if(H.shoes)
var/mob/living/carbon/human/H = M
if(istype(H) && istype(H.shoes, /obj/item/clothing/shoes))
var/obj/item/clothing/shoes/S = H.shoes
if(istype(S))
S.handle_movement(src,(H.m_intent == "run" ? 1 : 0))
if(S.track_blood && S.blood_DNA)
bloodDNA = S.blood_DNA
bloodcolor=S.blood_color
S.track_blood--
else
if(H.track_blood && H.feet_blood_DNA)
bloodDNA = H.feet_blood_DNA
bloodcolor = H.feet_blood_color
H.track_blood--
S.handle_movement(src,(H.m_intent == "run" ? 1 : 0))
if(S.track_blood && S.blood_DNA)
bloodDNA = S.blood_DNA
bloodcolor=S.blood_color
S.track_blood--
else if(M.track_blood && M.feet_blood_DNA)
bloodDNA = M.feet_blood_DNA
bloodcolor = M.feet_blood_color
M.track_blood--
if (bloodDNA)
src.AddTracks(H.species.get_move_trail(H),bloodDNA,H.dir,0,bloodcolor) // Coming
var/turf/simulated/from = get_step(H,reverse_direction(H.dir))
if(bloodDNA)
src.AddTracks(track_type, bloodDNA , M.dir, 0, bloodcolor) // Coming
var/turf/simulated/from = get_step(M, reverse_direction(M.dir))
if(istype(from) && from)
from.AddTracks(H.species.get_move_trail(H),bloodDNA,0,H.dir,bloodcolor) // Going
from.AddTracks(track_type, bloodDNA, 0, M.dir, bloodcolor) // Going
bloodDNA = null
if(src.wet)
@@ -170,4 +170,4 @@
else if( istype(M, /mob/living/silicon/robot ))
new /obj/effect/decal/cleanable/blood/oil(src)
else if(ishuman(M))
add_blood(M)
add_blood(M)

View File

@@ -1662,3 +1662,6 @@
else
take_damage(rand(10, 20))
return organ
/mob/living/carbon/human/leaves_tracks_type()
return species.get_move_trail(src)

View File

@@ -1165,3 +1165,6 @@
. = new .(src)
if(!skip_wounding)
take_damage(rand(10,20))
/mob/living/proc/leaves_tracks_type()
return

View File

@@ -27,10 +27,14 @@
var/scavenger = FALSE // Can eat from corpses.
var/burrower = FALSE // Can dig dens.
var/bitesize = 3 // How many reagents to take per nibble
var/tracks_type = /obj/effect/decal/cleanable/blood/tracks/paw
/decl/mob_organ_names/quadruped //Most subtypes have this basic body layout.
hit_zones = list("head", "torso", "left foreleg", "right foreleg", "left hind leg", "right hind leg", "tail")
/mob/living/simple_mob/animal/leaves_tracks_type()
return tracks_type
/mob/living/simple_mob/animal/proc/has_appetite()
return TRUE