44e4032a1f
Combat-log lines read wrong in nine ways: - Your split damage and extra attacks were damage-typed. - The XP line ignored the group float. - An item-name wait dropped its line after 120 frames. - Game objects and items printed "Unknown". - An XP kill also printed a death line. - Templates with unused or positional arguments were refused. - Open-lock effects wrote nothing. Reference: split form 2 (`0x62df92`) and the extra-attack line (`0x62b190`) type through the buff table unless the spell is hostile. The XP line compares `ftol(xp / float)` with `xp` (`0x637cd0`). The wait list never expires (`0xc4e208`). `0x6264e0` names by type mask. The XP packet marks the victim (`0x60a0e6`). `vsnoprintf` binds `%N$` and skips unused arguments (`0x669888`). `0x62dc10` writes the open-lock line. Changed: each follows its formatter; one `fill_exact` serves both fills. Tests pin each. Fixes #2067 Fixes #2073 Fixes #2068 Fixes #2071 Fixes #2039 Fixes #2041 Fixes #2044 Fixes #2043 Fixes #2046 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>