47db337f09
Cooldown events fired on each record insert. 1.12.1 fires them at its flush sites (`0x4b31b0`). Several inserts also took values the reference doesn't. - The insert (`0x6e12c0`) and StartCooldown (`0x6e2c60`) now fire nothing. Each packet and cast site flushes once. - `SMSG_SPELL_COOLDOWN` timers go through op 11, the ranged pad and op 21 (`0x6e9460`). - An item's game-object cooldown uses its block's category, else the spell's. It waits for the item record and inserts nothing for entry 0 (`0x6e8425`). - Initial-spells cooldowns are held and back-dated through StartCooldown. - A NOT_READY with argument 0, and every failed cast, clear the spell's records and flush. - Bag, worn and tooltip queries ask for a missing item record. Its landing flushes (`0x6e2f70`). Tests pin each flush site and insert value. Fixes #2060 Fixes #679 Fixes #2061 Fixes #2063 Fixes #2064 Fixes #2066 Fixes #2076 Fixes #2077 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>