diff --git a/code/__defines/footsteps.dm b/code/__defines/footsteps.dm
index 81a56cc6d05..cce88b8bd1a 100644
--- a/code/__defines/footsteps.dm
+++ b/code/__defines/footsteps.dm
@@ -28,7 +28,6 @@
#define FOOTSTEP_MOB_SHOE "footstep_shoe"
#define FOOTSTEP_MOB_HUMAN "footstep_human" //Warning: Only works on /mob/living/carbon/human
#define FOOTSTEP_MOB_SLIME "footstep_slime"
-#define FOOTSTEP_MOB_SLITHER "foostep_slither"
#define FOOTSTEP_OBJ_MACHINE "footstep_machine"
#define FOOTSTEP_OBJ_ROBOT "footstep_robot"
diff --git a/code/_helpers/global_lists.dm b/code/_helpers/global_lists.dm
index a0c910a089a..a687776f884 100644
--- a/code/_helpers/global_lists.dm
+++ b/code/_helpers/global_lists.dm
@@ -358,10 +358,3 @@ GLOBAL_LIST_EMPTY(legacy_globals)
GLOB.legacy_globals["cameranet"] = cameranet
GLOB.legacy_globals["cultnet"] = cultnet
GLOB.legacy_globals["existing_solargrubs"] = existing_solargrubs
-
-var/global/list/selectable_footstep = list(
- "Default" = FOOTSTEP_MOB_HUMAN,
- "Claw" = FOOTSTEP_MOB_CLAW,
- "Light Claw" = FOOTSTEP_MOB_TESHARI,
- "Slither" = FOOTSTEP_MOB_SLITHER,
-)
diff --git a/code/datums/elements/footstep.dm b/code/datums/elements/footstep.dm
index eab5965d2d4..012ac16abf6 100644
--- a/code/datums/elements/footstep.dm
+++ b/code/datums/elements/footstep.dm
@@ -17,7 +17,7 @@
///Whether or not to add variation to the sounds played
var/sound_vary = FALSE
-/datum/element/footstep/Attach(datum/target, footstep_type = FOOTSTEP_MOB_BAREFOOT, volume = 0.1, e_range = -8, sound_vary = FALSE)
+/datum/element/footstep/Attach(datum/target, footstep_type = FOOTSTEP_MOB_BAREFOOT, volume = 0.5, e_range = -8, sound_vary = FALSE)
. = ..()
if(!ismovable(target))
return ELEMENT_INCOMPATIBLE
@@ -43,16 +43,14 @@
footstep_ret = GLOB.lightclawfootstep
if(FOOTSTEP_MOB_CLAW)
footstep_ret = GLOB.clawfootstep
+ if(FOOTSTEP_MOB_BAREFOOT)
+ footstep_ret = GLOB.barefootstep
if(FOOTSTEP_MOB_HEAVY)
footstep_ret = GLOB.heavyfootstep
if(FOOTSTEP_MOB_SHOE)
footstep_ret = GLOB.footstep
if(FOOTSTEP_MOB_SLIME)
footstep_ret = 'sound/effects/footstep/slime1.ogg'
- if(FOOTSTEP_MOB_SLITHER)
- footstep_ret = 'sound/effects/footstep/crawl1.ogg'
- else
- footstep_ret = GLOB.barefootstep
return footstep_ret
/datum/element/footstep/Detach(atom/movable/source)
@@ -81,7 +79,7 @@
var/mob/living/carbon/carbon_source = source
if(!carbon_source.get_organ(BP_L_LEG) && !carbon_source.get_organ(BP_R_LEG))
return
- if(carbon_source.m_intent == I_WALK)
+ if(carbon_source.m_intent == "walk")
return// stealth
steps_for_living[source] += 1
var/steps = steps_for_living[source]
@@ -96,14 +94,7 @@
if(steps != 0 && !get_gravity(source)) // don't need to step as often when you hop around
return
- . = list(
- FOOTSTEP_MOB_SHOE = turf.footstep,
- FOOTSTEP_MOB_BAREFOOT = turf.barefootstep,
- FOOTSTEP_MOB_HEAVY = turf.heavyfootstep,
- FOOTSTEP_MOB_CLAW = turf.clawfootstep,
- STEP_SOUND_PRIORITY = STEP_SOUND_NO_PRIORITY
- )
-
+ . = list(FOOTSTEP_MOB_SHOE = turf.footstep, FOOTSTEP_MOB_BAREFOOT = turf.barefootstep, FOOTSTEP_MOB_HEAVY = turf.heavyfootstep, FOOTSTEP_MOB_CLAW = turf.clawfootstep, STEP_SOUND_PRIORITY = STEP_SOUND_NO_PRIORITY)
var/overriden = SEND_SIGNAL(turf, COMSIG_TURF_PREPARE_STEP_SOUND, .) & FOOTSTEP_OVERRIDEN
//The turf has no footstep sound (e.g. open space) and none of the objects on that turf (e.g. catwalks) overrides it
if(!overriden && isnull(turf.footstep))
@@ -113,17 +104,12 @@
/datum/element/footstep/proc/play_simplestep(mob/living/source, atom/oldloc, direction, forced, list/old_locs, momentum_change)
SIGNAL_HANDLER
- var/volume_multiplier = 0.3
-
- if(!isturf(source.loc))
- return
-
var/list/prepared_steps = prepare_step(source)
if(isnull(prepared_steps))
return
if(isfile(footstep_sounds) || istext(footstep_sounds))
- playsound(source.loc, footstep_sounds, volume * volume_multiplier, falloff = 1, vary = sound_vary)
+ playsound(source.loc, footstep_sounds, volume, falloff = 1, vary = sound_vary)
return
var/turf_footstep = prepared_steps[footstep_type]
@@ -134,7 +120,7 @@
/datum/element/footstep/proc/play_humanstep(mob/living/carbon/human/source, atom/oldloc, direction, forced, list/old_locs, momentum_change)
SIGNAL_HANDLER
- var/volume_multiplier = 0.3
+ var/volume_multiplier = 1
var/range_adjustment = 0
var/list/prepared_steps = prepare_step(source)
@@ -157,16 +143,14 @@
// we are barefoot
if(source.species.special_step_sounds)
- playsound(source.loc, pick(source.species.special_step_sounds), volume, TRUE, falloff = 1, vary = sound_vary)
+ playsound(source.loc, pick(source.species.special_step_sounds), 50, TRUE, falloff = 1, vary = sound_vary)
else if (istype(source.species, /datum/species/shapeshifter/promethean))
- playsound(source.loc, 'sound/effects/footstep/slime1.ogg', volume, TRUE, falloff = 1)
- else if (source.custom_footstep == FOOTSTEP_MOB_SLITHER)
- playsound(source.loc, 'sound/effects/footstep/crawl1.ogg', 15 * volume, falloff = 1, vary = sound_vary)
+ playsound(source.loc, 'sound/effects/footstep/slime1.ogg', 25, TRUE, falloff = 1)
else
var/barefoot_type = prepared_steps[FOOTSTEP_MOB_BAREFOOT]
var/bare_footstep_sounds
- if(source.custom_footstep != FOOTSTEP_MOB_HUMAN)
- bare_footstep_sounds = check_footstep_type(source.custom_footstep)
+ if(source.species.footstep != FOOTSTEP_MOB_HUMAN)
+ bare_footstep_sounds = check_footstep_type(source.species.footstep)
else
bare_footstep_sounds = GLOB.barefootstep
if(!isnull(barefoot_type) && bare_footstep_sounds[barefoot_type]) // barefoot_type can be null
diff --git a/code/datums/elements/slosh.dm b/code/datums/elements/slosh.dm
index 8e58536f025..06f12eed890 100644
--- a/code/datums/elements/slosh.dm
+++ b/code/datums/elements/slosh.dm
@@ -10,7 +10,7 @@
if(!isliving(target))
return ELEMENT_INCOMPATIBLE
- RegisterSignal(target, COMSIG_MOVABLE_MOVED, PROC_REF(handle_sloshstep), override = TRUE)
+ RegisterSignal(target, COMSIG_MOVABLE_MOVED, PROC_REF(handle_footstep))
step_count = 0
vore_organs_reagents = list()
vore_footstep_volume = 0
@@ -22,7 +22,7 @@
step_count -= source
return ..()
-/datum/element/slosh/proc/handle_sloshstep(mob/living/source)
+/datum/element/slosh/proc/handle_footstep(mob/living/source)
SIGNAL_HANDLER
if(ishuman(source))
diff --git a/code/modules/client/preference_setup/vore/02_size.dm b/code/modules/client/preference_setup/vore/02_size.dm
index 7ced4dc2fcd..a0d10caedd6 100644
--- a/code/modules/client/preference_setup/vore/02_size.dm
+++ b/code/modules/client/preference_setup/vore/02_size.dm
@@ -16,7 +16,6 @@
var/voice_freq = 0
var/voice_sound = "beep-boop"
var/custom_speech_bubble = "default"
- var/custom_footstep = FOOTSTEP_MOB_HUMAN
// Definition of the stuff for Sizing
/datum/category_item/player_setup_item/vore/size
@@ -33,7 +32,6 @@
pref.voice_freq = save_data["voice_freq"]
pref.voice_sound = save_data["voice_sound"]
pref.custom_speech_bubble = save_data["custom_speech_bubble"]
- pref.custom_footstep = save_data["custom_footstep"]
/datum/category_item/player_setup_item/vore/size/save_character(list/save_data)
save_data["size_multiplier"] = pref.size_multiplier
@@ -45,7 +43,6 @@
save_data["voice_freq"] = pref.voice_freq
save_data["voice_sound"] = pref.voice_sound
save_data["custom_speech_bubble"] = pref.custom_speech_bubble
- save_data["custom_footstep"] = pref.custom_footstep
/datum/category_item/player_setup_item/vore/size/sanitize_character()
pref.weight_vr = sanitize_integer(pref.weight_vr, WEIGHT_MIN, WEIGHT_MAX, initial(pref.weight_vr))
@@ -59,8 +56,6 @@
pref.size_multiplier = initial(pref.size_multiplier)
if(!(pref.custom_speech_bubble in selectable_speech_bubbles))
pref.custom_speech_bubble = "default"
- if(!(pref.custom_footstep))
- pref.custom_footstep = "Default"
/datum/category_item/player_setup_item/vore/size/copy_to_mob(var/mob/living/carbon/human/character)
character.weight = pref.weight_vr
@@ -75,7 +70,6 @@
else
character.voice_sounds_list = get_talk_sound(pref.voice_sound)
character.custom_speech_bubble = pref.custom_speech_bubble
- character.custom_footstep = pref.custom_footstep
/datum/category_item/player_setup_item/vore/size/content(var/mob/user)
. += "
"
@@ -86,7 +80,6 @@
. += span_bold("Voice Sounds:") + " [pref.voice_sound]
"
. += "Test Selected Voice
"
. += span_bold("Custom Speech Bubble:") + " [pref.custom_speech_bubble]
"
- . += "Custom Footstep Sounds:[pref.custom_footstep]
"
. += "
"
. += span_bold("Relative Weight:") + " [pref.weight_vr]
"
. += span_bold("Weight Gain Rate:") + " [pref.weight_gain]
"
@@ -194,13 +187,6 @@
pref.custom_speech_bubble = choice
return TOPIC_REFRESH
- else if(href_list["customize_footsteps"])
- var/list/footstep_choice = selectable_footstep
- var/choice = tgui_input_list(user, "What footstep sounds would your character make?", "Custom Foostep Sounds", footstep_choice)
- if(choice)
- pref.custom_footstep = footstep_choice[choice]
- return TOPIC_REFRESH
-
else if(href_list["voice_test"])
var/sound/S
switch(pref.voice_sound)
diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm
index df339a9b424..9f900ccb9ff 100644
--- a/code/modules/mob/living/carbon/carbon.dm
+++ b/code/modules/mob/living/carbon/carbon.dm
@@ -8,8 +8,6 @@
if (!default_language && species_language)
default_language = GLOB.all_languages[species_language]
- AddElement(/datum/element/footstep, custom_footstep, -1, -6)
-
/mob/living/carbon/Life()
..()
diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm
index ad75a072b97..bdcabc2f37c 100644
--- a/code/modules/mob/living/living.dm
+++ b/code/modules/mob/living/living.dm
@@ -710,6 +710,12 @@
failed_last_breath = 0 //So mobs that died of oxyloss don't revive and have perpetual out of breath.
reload_fullscreen()
+ RemoveElement(/datum/element/footstep)
+
+ if(ishuman(src))
+ var/mob/living/carbon/human/H = src
+ H.set_footsteps(H.species.footstep)
+
return
/mob/living/proc/UpdateDamageIcon()
@@ -1352,3 +1358,11 @@
to_chat(src, span_notice("You are [toggled_sleeping ? "now sleeping. Use the Sleep verb again to wake up" : "no longer sleeping"]."))
if(toggled_sleeping)
Sleeping(1)
+
+/mob/living/proc/set_footsteps(footstep_sounds = FOOTSTEP_MOB_HUMAN)
+ AddElement(/datum/element/footstep, footstep_sounds, 1, -6)
+
+/*
+/mob/living/proc/set_slosh()
+ AddElement(/datum/element/slosh)
+*/
diff --git a/code/modules/mob/living/silicon/silicon.dm b/code/modules/mob/living/silicon/silicon.dm
index cb80e2af888..011b3ba2170 100644
--- a/code/modules/mob/living/silicon/silicon.dm
+++ b/code/modules/mob/living/silicon/silicon.dm
@@ -37,8 +37,6 @@
init_id()
init_subsystems()
- AddElement(/datum/element/footstep, FOOTSTEP_MOB_SHOE, 0.75, -6)
-
/mob/living/silicon/Destroy()
silicon_mob_list -= src
for(var/datum/alarm_handler/AH in SSalarm.all_handlers)
diff --git a/code/modules/mob/living/simple_mob/simple_mob.dm b/code/modules/mob/living/simple_mob/simple_mob.dm
index b096d1b0620..55923db0b5f 100644
--- a/code/modules/mob/living/simple_mob/simple_mob.dm
+++ b/code/modules/mob/living/simple_mob/simple_mob.dm
@@ -205,7 +205,6 @@
if(CONFIG_GET(flag/allow_simple_mob_recolor))
add_verb(src, /mob/living/simple_mob/proc/ColorMate)
- AddElement(/datum/element/footstep, FOOTSTEP_MOB_SHOE, 0.5, -6) // Need to go through all of the mobs to give them proper footsteps...
return ..()
diff --git a/code/modules/mob/mob_defines.dm b/code/modules/mob/mob_defines.dm
index 6d47f60731b..8bd7700d14d 100644
--- a/code/modules/mob/mob_defines.dm
+++ b/code/modules/mob/mob_defines.dm
@@ -241,5 +241,3 @@
var/list/viruses
var/list/resistances
-
- var/custom_footstep = FOOTSTEP_MOB_SHOE
diff --git a/code/modules/mob/new_player/new_player.dm b/code/modules/mob/new_player/new_player.dm
index 0ee5d8b7adb..d70d223bfc9 100644
--- a/code/modules/mob/new_player/new_player.dm
+++ b/code/modules/mob/new_player/new_player.dm
@@ -593,6 +593,9 @@
new_character.update_icons_body()
new_character.update_transform() //VOREStation Edit
+ new_character.set_footsteps(chosen_species.footstep)
+ // new_character.set_slosh()
+
new_character.key = key //Manually transfer the key to log them in
return new_character