e95a29b868
One live reputation store: the wire, the pane's verbs and the reaction read and write the same slots, as the client's one array does (`0xb73290`). - `FactionToggleAtWar` and the inactive verbs write the store inside their call, so `UnitReaction` and `UnitCanAttack` on the next line answer the new reaction (`0x4d5fd0`, `0x60640c`). - `SMSG_SET_FACTION_ATWAR` copies the at-war bit (`0x4d56b0`). A standing message sets it below Unfriendly and clears it only on a rise (`0x4d5833`, `0x4d583f`). - A rank change refreshes the player's reactions and sweeps the units, once per message (`0x4d5905`, `0x606f20`). - `UPDATE_FACTION` fires per message, as the four handlers do. - Logout zeroes all 64 slots (`0x4d541f`). Tests pin each address. Built on macOS. Fixes #2240 Fixes #77 Fixes #1410 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>