Browse Source

Fix monster proximity cue tempo

Use monster future position for distance/tempo and ignore local _release_tmp staging dir.
access
mojsior 2 months ago
parent
commit
5585352f53
  1. 3
      .gitignore
  2. 9
      Source/utils/proximity_audio.cpp

3
.gitignore vendored

@ -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

9
Source/utils/proximity_audio.cpp

@ -548,13 +548,16 @@ std::optional<InteractTarget> 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 };
}
}

Loading…
Cancel
Save