mirror of
https://github.com/Kelsidavis/WoWee.git
synced 2026-03-23 07:40:14 +00:00
Exclude death and wound animations from fidget discovery
Horse was playing death animation on idle. Added explicit filtering to exclude death (5-6), wounds (7-9), combat (16-21), and specials (2-3). Changes: - Check animation ID ranges before adding to fidget list - Prevents death/wound animations from being selected as idle fidgets - Keeps metadata-based discovery but adds safety exclusions
This commit is contained in:
parent
3c58492c8f
commit
2e2ca24f8d
1 changed files with 8 additions and 2 deletions
|
|
@ -735,9 +735,15 @@ void Renderer::setMounted(uint32_t mountInstId, uint32_t mountDisplayId, float h
|
|||
" speed=", seq.movingSpeed);
|
||||
}
|
||||
|
||||
// Select fidgets: non-looping + (frequency OR replay) + stationary
|
||||
// Exclude known problematic animations: death (5,6), combat (16-21), wounds (7-9)
|
||||
bool isDeathOrWound = (seq.id >= 5 && seq.id <= 9);
|
||||
bool isCombat = (seq.id >= 16 && seq.id <= 21);
|
||||
bool isSpecial = (seq.id == 2 || seq.id == 3); // Often aggressive specials
|
||||
|
||||
// Select fidgets: non-looping + (frequency OR replay) + stationary + not death/combat
|
||||
// Relaxed: some mounts may only have one of the markers
|
||||
if (!isLoop && (hasFrequency || hasReplay) && isStationary && reasonableDuration) {
|
||||
if (!isLoop && (hasFrequency || hasReplay) && isStationary && reasonableDuration &&
|
||||
!isDeathOrWound && !isCombat && !isSpecial) {
|
||||
// Bonus: chains back to stand (indicates idle behavior)
|
||||
bool chainsToStand = (seq.nextAnimation == (int16_t)mountAnims_.stand) ||
|
||||
(seq.aliasNext == mountAnims_.stand) ||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue