The watchdog was right: Velyssa could no longer face her enemy
First useful monitoring alert: “Velyssa no progress for 20 min, fighting Meven Korgal”. The cause: monsters standing inside the character (distance 0), for which the server refuses spells as “target not in front”. A caster now steps back when a monster overlaps it. Log rotation added.
- Commit
- daeced3
- Build
- Build success (1 min) · Target worldserver
The alert
freewill-watch logged at 06:49: *Velyssa no progress for 20 min (combat: Meven Korgal)*. Debug traces showed Smites refused in a loop with code 134, SPELL_FAILED_UNIT_NOT_INFRONT, at a distance of 0 m.
Cause
When a monster stands exactly inside the character, the angle between them is meaningless: however the character turns, the target is never “in front”. A human player steps back.
Fix
Caster in melee range with the target closer than 1 m: 3 m step back (ground height recomputed, path on the navmesh), not cancelled by the next decision, then cast facing the target.
Operations
- Debug traces no longer repeat the same message more than once every 5 s.
/etc/logrotate.d/freewill: daily rotation of the autonomous players' log and the watchdog log, 7 days kept.
Where they stand
Crashtroller 6, Grazhak 5, Velyssa 5, Tarokh 4, Morvane 3 (finally chaining his quests).