diff --git a/.gitignore b/.gitignore index 434309e31..2564b65dc 100644 --- a/.gitignore +++ b/.gitignore @@ -22,6 +22,9 @@ comparer-config.toml # Extra files in the source distribution (see make_src_dist.py) /dist/ +# Local release staging +/_release_tmp/ + *.appimage *.AppImage diff --git a/Source/utils/proximity_audio.cpp b/Source/utils/proximity_audio.cpp index 3a80afb16..905c49f24 100644 --- a/Source/utils/proximity_audio.cpp +++ b/Source/utils/proximity_audio.cpp @@ -548,13 +548,16 @@ std::optional FindInteractTargetInRange(const Player &player, Po if (monster.hitPoints <= 0) continue; - const Point monsterPosition { monster.position.tile }; - const int distance = playerPosition.ApproxDistance(monsterPosition); + // Use the future position for distance/tempo so cues react immediately when a monster starts moving + // towards or away from the player (tile position updates later). + const Point monsterSoundPosition { monster.position.tile }; + const Point monsterDistancePosition { monster.position.future }; + const int distance = playerPosition.ApproxDistance(monsterDistancePosition); if (distance > MaxCueDistanceTiles) continue; if (!nearest || distance < nearest->first) { - nearest = { distance, monsterPosition }; + nearest = { distance, monsterSoundPosition }; } }