Footstep sounds

This adds a system for footstep sounds
 - Only xenomorphs and humans currently use it, could expand to robutts
   and simple_animals easily, but haven't.
 - Only enabled for three turf types currently:
  - Plating (ala Maintnance)
  - Carpets
  - Wooden floors
This commit is contained in:
Tigercat2000
2015-11-01 13:58:28 -08:00
parent 736baf3890
commit bda1572b30
12 changed files with 75 additions and 3 deletions
@@ -295,3 +295,16 @@ Des: Removes all infected images from the alien.
#undef HEAT_DAMAGE_LEVEL_1
#undef HEAT_DAMAGE_LEVEL_2
#undef HEAT_DAMAGE_LEVEL_3
/mob/living/carbon/alien/handle_footstep(turf/T)
if(..())
if(T.footstep_sounds["xeno"])
var/S = pick(T.footstep_sounds["xeno"])
if(S)
if(m_intent == "run")
if(!(step_count % 2)) //every other turf makes a sound
return 0
if(leaping)
return 0
playsound(T, S, 6, 1, -(world.view/2)) //xenos are quiet fuckers
return 0
@@ -81,4 +81,22 @@
if(!has_gravity(loc))
return
var/obj/item/clothing/shoes/S = shoes
S.step_action(src)
S.step_action(src)
/mob/living/carbon/human/handle_footstep(turf/T)
if(..())
if(T.footstep_sounds["human"])
var/S = pick(T.footstep_sounds["human"])
if(S)
if(m_intent == "run")
if(!(step_count % 2)) //every other turf makes a sound
return 0
playsound(T, S, shoes ? 15 : 7, 1, shoes ? 0 : -(world.view/2))
//this looks insane but it actually is quite simple
//play sound at turf T, using sound S
//volume = 15 w/ shoes, volume = 7 w/o shoes
//do use vary
//add negative world.view/2 if not wearing shoes
return 1
return 0
+8
View File
@@ -492,10 +492,18 @@
if (s_active && !( s_active in contents ) && get_turf(s_active) != get_turf(src)) //check !( s_active in contents ) first so we hopefully don't have to call get_turf() so much.
s_active.close(src)
handle_footstep(loc)
step_count++
if(update_slimes)
for(var/mob/living/carbon/slime/M in view(1,src))
M.UpdateFeed(src)
/mob/living/proc/handle_footstep(turf/T)
if(istype(T))
return 1
return 0
/*//////////////////////
START RESIST PROCS
*///////////////////////
+2 -1
View File
@@ -51,4 +51,5 @@
var/list/icon/pipes_shown = list()
var/last_played_vent
var/list/datum/action/actions = list()
var/list/datum/action/actions = list()
var/step_count = 0