Add footstep sounds to almost every single tile.

Shuttle tiles, default floors are still "regular".
Lava, sand, water, grass, beach, mining turfs all have sounds playing now for each footstep. <3

Massive credit to @Arokha for helping me figure out the floor system and sitting through getting it put together. <3 <3 <3
This commit is contained in:
Rykka
2020-05-09 17:40:14 -04:00
parent a89eeff3db
commit 3d5bb56f8f
31 changed files with 131 additions and 24 deletions
+93 -4
View File
@@ -26,9 +26,10 @@ var/list/flooring_types
var/name = "floor"
var/desc
var/icon
var/icon_base
var/icon_base // initial base icon_state without edges or corners.
var/has_base_range
var/has_base_range // This will pick between a range of 0 - x. Number icon_states accordingly.
// Note that this will append a 0 - x number automatically to icon_base, but NOT the dmi. Do icon_base = "grass", but name grass0 inside the dmi. etc etc.
var/has_damage_range
var/has_burn_range
var/damage_temperature
@@ -42,17 +43,69 @@ var/list/flooring_types
var/descriptor = "tiles"
var/flags
var/can_paint
var/list/footstep_sounds = list() // key=species name, value = list of soundss
var/list/footstep_sounds = list() // key=species name, value = list of sounds,
// For instance, footstep_sounds = list("key" = list(sound.ogg))
/decl/flooring/grass
name = "grass"
desc = "Do they smoke grass out in space, Bowie? Or do they smoke AstroTurf?"
icon = 'icons/turf/flooring/grass.dmi'
icon_base = "grass"
has_base_range = 3
has_base_range = 1
damage_temperature = T0C+80
flags = TURF_HAS_EDGES | TURF_REMOVE_SHOVEL
build_type = /obj/item/stack/tile/grass
footstep_sounds = list("human" = list(
'sound/effects/footstep/grass1.ogg',
'sound/effects/footstep/grass2.ogg',
'sound/effects/footstep/grass3.ogg',
'sound/effects/footstep/grass4.ogg'))
/decl/flooring/grass/sif // Subtype for Sif's grass.
name = "growth"
desc = "A natural moss that has adapted to the sheer cold climate."
icon = 'icons/turf/outdoors.dmi'
icon_base = "grass_sif"
has_base_range = 1
/decl/flooring/water
name = "water"
desc = "Water is wet, gosh, who knew!"
icon = 'icons/turf/outdoors.dmi'
icon_base = "seashallow"
footstep_sounds = list("human" = list(
'sound/effects/footstep/water1.ogg',
'sound/effects/footstep/water2.ogg',
'sound/effects/footstep/water3.ogg',
'sound/effects/footstep/water4.ogg'))
/decl/flooring/sand
name = "sand"
desc = "I don't like sand. It's coarse and rough and irritating and it gets everywhere."
icon = 'icons/misc/beach.dmi'
icon_base = "sand"
footstep_sounds = list("human" = list(
'sound/effects/footstep/HeavySand1.ogg',
'sound/effects/footstep/HeavySand2.ogg',
'sound/effects/footstep/HeavySand3.ogg',
'sound/effects/footstep/HeavySand4.ogg'))
/decl/flooring/sand/desert // Subtype of sand, desert.
name = "desert"
desc = "I don't like sand. It's coarse and rough and irritating and it gets everywhere."
icon = 'icons/turf/desert.dmi'
icon_base = "desert"
/decl/flooring/mud
name = "mud"
desc = "STICKY AND WET!"
icon = 'icons/turf/outdoors.dmi'
icon_base = "mud_dark"
footstep_sounds = list("human" = list(
'sound/effects/footstep/mud1.ogg',
'sound/effects/footstep/mud2.ogg',
'sound/effects/footstep/mud3.ogg',
'sound/effects/footstep/mud4.ogg'))
/decl/flooring/asteroid
name = "coarse sand"
@@ -61,6 +114,26 @@ var/list/flooring_types
icon_base = "asteroid"
flags = TURF_HAS_EDGES | TURF_REMOVE_SHOVEL
build_type = null
footstep_sounds = list("human" = list(
'sound/effects/footstep/asteroid1.ogg',
'sound/effects/footstep/asteroid2.ogg',
'sound/effects/footstep/asteroid3.ogg',
'sound/effects/footstep/asteroid4.ogg',
'sound/effects/footstep/asteroid5.ogg'))
/decl/flooring/dirt
name = "dirt"
desc = "Gritty and unpleasant, just like dirt."
icon = 'icons/turf/outdoors.dmi'
icon_base = "dirt-dark"
flags = TURF_HAS_EDGES | TURF_REMOVE_SHOVEL
build_type = null
footstep_sounds = list("human" = list(
'sound/effects/footstep/asteroid1.ogg',
'sound/effects/footstep/asteroid2.ogg',
'sound/effects/footstep/asteroid3.ogg',
'sound/effects/footstep/asteroid4.ogg',
'sound/effects/footstep/asteroid5.ogg'))
/decl/flooring/snow
name = "snow"
@@ -315,6 +388,12 @@ var/list/flooring_types
apply_thermal_conductivity = 0.025
apply_heat_capacity = 325000
can_paint = 1
footstep_sounds = list("human" = list(
'sound/effects/footstep/hull1.ogg',
'sound/effects/footstep/hull2.ogg',
'sound/effects/footstep/hull3.ogg',
'sound/effects/footstep/hull4.ogg',
'sound/effects/footstep/hull5.ogg'))
/decl/flooring/reinforced/circuit
name = "processing strata"
@@ -337,3 +416,13 @@ var/list/flooring_types
has_damage_range = 6
flags = TURF_ACID_IMMUNE | TURF_CAN_BREAK
can_paint = null
/decl/flooring/lava // Defining this in case someone DOES step on lava and survive. Somehow.
name = "lava"
desc = "Lava. Y'know. Sets you on fire. AAAAAAAAAAA"
icon = 'icons/turf/outdoors.dmi'
icon_base = "lava"
footstep_sounds = list("human" = list(
'sound/effects/footstep/lava1.ogg',
'sound/effects/footstep/lava2.ogg',
'sound/effects/footstep/lava3.ogg'))
@@ -386,6 +386,7 @@
name = "snow"
icon = 'icons/turf/snow_new.dmi'
icon_state = "snow"
initial_flooring = /decl/flooring/snow
var/list/crossed_dirs = list()
/turf/simulated/floor/snow/snow2
+1
View File
@@ -13,6 +13,7 @@
movement_cost = 2
can_build_into_floor = TRUE
can_dirty = FALSE
initial_flooring = /decl/flooring/lava // Defining this in case someone DOES step on lava and survive. Somehow.
/turf/simulated/floor/lava/outdoors
outdoors = TRUE
+7 -6
View File
@@ -1,6 +1,7 @@
/turf/simulated/floor/outdoors/dirt
name = "dirt"
desc = "Quite dirty!"
icon_state = "dirt-dark"
edge_blending_priority = 2
turf_layers = list(/turf/simulated/floor/outdoors/rocks)
/turf/simulated/floor/outdoors/dirt
name = "dirt"
desc = "Quite dirty!"
icon_state = "dirt-dark"
edge_blending_priority = 2
turf_layers = list(/turf/simulated/floor/outdoors/rocks)
initial_flooring = /decl/flooring/asteroid
+6 -8
View File
@@ -4,8 +4,9 @@ var/list/grass_types = list(
/turf/simulated/floor/outdoors/grass
name = "grass"
icon_state = "grass"
icon_state = "grass0"
edge_blending_priority = 4
initial_flooring = /decl/flooring/grass
turf_layers = list(
/turf/simulated/floor/outdoors/rocks,
/turf/simulated/floor/outdoors/dirt
@@ -34,7 +35,8 @@ var/list/grass_types = list(
/turf/simulated/floor/outdoors/grass/sif
name = "growth"
icon_state = "grass_sif"
icon_state = "grass_sif0"
initial_flooring = /decl/flooring/grass/sif
edge_blending_priority = 4
grass_chance = 5
var/tree_chance = 2
@@ -63,10 +65,6 @@ var/list/grass_types = list(
. = ..()
/turf/simulated/floor/outdoors/grass/Initialize()
if(prob(50))
icon_state = "[initial(icon_state)]2"
//edge_blending_priority++
if(grass_chance && prob(grass_chance) && !check_density())
var/grass_type = pickweight(grass_types)
new grass_type(src)
@@ -79,14 +77,14 @@ var/list/grass_types = list(
/turf/simulated/floor/outdoors/grass/forest
name = "thick grass"
icon_state = "grass-dark"
icon_state = "grass-dark0"
grass_chance = 80
//tree_chance = 20
edge_blending_priority = 5
/turf/simulated/floor/outdoors/grass/sif/forest
name = "thick growth"
icon_state = "grass_sif_dark"
icon_state = "grass_sif_dark0"
edge_blending_priority = 5
tree_chance = 10
grass_chance = 0
@@ -81,6 +81,7 @@ var/list/turf_edge_cache = list()
name = "mud"
icon_state = "mud_dark"
edge_blending_priority = 3
initial_flooring = /decl/flooring/mud
/turf/simulated/floor/outdoors/rocks
name = "rocks"
+2
View File
@@ -20,6 +20,8 @@
/turf/simulated/floor/water/Initialize()
. = ..()
var/decl/flooring/F = get_flooring_data(/decl/flooring/water)
footstep_sounds = F?.footstep_sounds
update_icon()
handle_fish()
+18 -6
View File
@@ -15,6 +15,7 @@
name = "Water"
icon_state = "water"
initialized = FALSE
movement_cost = 4 // Water should slow you down, just like simulated turf.
/turf/unsimulated/beach/water/Initialize()
. = ..()
@@ -23,20 +24,17 @@
/turf/simulated/floor/beach
name = "Beach"
icon = 'icons/misc/beach.dmi'
footstep_sounds = list("human" = list(
'sound/effects/footstep/carpet1.ogg',
'sound/effects/footstep/carpet2.ogg',
'sound/effects/footstep/carpet3.ogg',
'sound/effects/footstep/carpet4.ogg',
'sound/effects/footstep/carpet5.ogg'))
initial_flooring = /decl/flooring/sand
/turf/simulated/floor/beach/sand
name = "Sand"
icon_state = "sand"
initial_flooring = /decl/flooring/sand
/turf/simulated/floor/beach/sand/desert
icon = 'icons/turf/desert.dmi'
icon_state = "desert"
initial_flooring = /decl/flooring/sand/desert
/turf/simulated/floor/beach/sand/desert/Initialize()
. = ..()
@@ -51,10 +49,24 @@
/turf/simulated/floor/beach/water
name = "Water"
icon_state = "water"
movement_cost = 4 // Water should slow you down, just like the original simulated turf.
initial_flooring = /decl/flooring/water
/turf/simulated/floor/beach/water/ocean
icon_state = "seadeep"
movement_cost = 8 // Deep water should be difficult to wade through.
initial_flooring = /decl/flooring/water/beach/deep
/turf/simulated/floor/beach/water/Initialize()
. = ..()
add_overlay(image("icon"='icons/misc/beach.dmi',"icon_state"="water5","layer"=MOB_LAYER+0.1))
/decl/flooring/water/beach/deep // We're custom-defining a 'deep' water turf for the beach.
name = "deep water"
desc = "Deep Ocean Water"
icon = 'icons/misc/beach.dmi'
icon_base = "seadeep"
footstep_sounds = list("human" = list(
'sound/effects/footstep/bubbles3.ogg', // No I don't get why it's named 3/4/5 either. Whatever.
'sound/effects/footstep/bubbles4.ogg',
'sound/effects/footstep/bubbles5.ogg'))
+2
View File
@@ -154,6 +154,8 @@ turf/simulated/mineral/floor/light_corner
if(random_icon)
dir = pick(alldirs)
. = INITIALIZE_HINT_LATELOAD
var/decl/flooring/F = get_flooring_data(/decl/flooring/sand)
footstep_sounds = F?.footstep_sounds
/turf/simulated/mineral/LateInitialize()
if(density && mineral)