Disable pained sounds and tighten fidget criteria

Removed jump/land sounds (attack/wound sounds had pained growls).
Made fidget discovery much stricter to exclude jerky battle animations.

Changes:
- Disabled playJumpSound for ground mounts (attack sounds too aggressive)
- Disabled playLandSound for ground mounts (wound sounds have growls)
- Fidget criteria now requires BOTH frequency AND replay (not OR)
- Excluded IDs 11-15 (attacks) in addition to 16-21 (combat)
- Only animations with proper idle metadata will be selected
This commit is contained in:
Kelsi 2026-02-10 20:32:43 -08:00
parent a88c5f9bb8
commit fe3c6a6a79
2 changed files with 24 additions and 26 deletions

View file

@ -277,16 +277,16 @@ void MountSoundManager::playJumpSound() {
if (elapsed < 200) return;
lastActionSoundTime_ = now;
// Jump effort sound
if (currentMountType_ == MountType::GROUND && !horseJumpSounds_.empty()) {
// TODO: Select family-specific sounds once organized by family
static std::mt19937 rng(std::random_device{}());
std::uniform_int_distribution<size_t> dist(0, horseJumpSounds_.size() - 1);
const auto& sample = horseJumpSounds_[dist(rng)];
if (!sample.data.empty()) {
AudioEngine::instance().playSound2D(sample.data, 0.5f * volumeScale_, 1.1f);
}
} else if (currentMountType_ == MountType::FLYING && !wingFlapSounds_.empty()) {
// Jump effort sound - DISABLED (attack sounds have pained growls)
// if (currentMountType_ == MountType::GROUND && !horseJumpSounds_.empty()) {
// static std::mt19937 rng(std::random_device{}());
// std::uniform_int_distribution<size_t> dist(0, horseJumpSounds_.size() - 1);
// const auto& sample = horseJumpSounds_[dist(rng)];
// if (!sample.data.empty()) {
// AudioEngine::instance().playSound2D(sample.data, 0.5f * volumeScale_, 1.1f);
// }
// } else
if (currentMountType_ == MountType::FLYING && !wingFlapSounds_.empty()) {
// Flying mounts: wing whoosh
static std::mt19937 rng(std::random_device{}());
std::uniform_int_distribution<size_t> dist(0, wingFlapSounds_.size() - 1);
@ -306,16 +306,15 @@ void MountSoundManager::playLandSound() {
if (elapsed < 200) return;
lastActionSoundTime_ = now;
// Landing thud/hoof sound
if (currentMountType_ == MountType::GROUND && !horseLandSounds_.empty()) {
// Ground mounts: hoof thud / impact
static std::mt19937 rng(std::random_device{}());
std::uniform_int_distribution<size_t> dist(0, horseLandSounds_.size() - 1);
const auto& sample = horseLandSounds_[dist(rng)];
if (!sample.data.empty()) {
AudioEngine::instance().playSound2D(sample.data, 0.6f * volumeScale_, 0.85f); // Lower pitch for thud
}
}
// Landing thud/hoof sound - DISABLED (wound sounds have pained growls)
// if (currentMountType_ == MountType::GROUND && !horseLandSounds_.empty()) {
// static std::mt19937 rng(std::random_device{}());
// std::uniform_int_distribution<size_t> dist(0, horseLandSounds_.size() - 1);
// const auto& sample = horseLandSounds_[dist(rng)];
// if (!sample.data.empty()) {
// AudioEngine::instance().playSound2D(sample.data, 0.6f * volumeScale_, 0.85f);
// }
// }
}
void MountSoundManager::playIdleSound() {