Found by the `StableSlotPrices.dbc` golden: the table has four rows where 1.12
had two, and `NUM_STABLE_SLOTS` was 3 (the current pet plus two). Three
independent sources in the install agree on four, so this is not a guess:
- `StableSlotPrices.dbc` ships 4 rows — 500c, 5g, 250g, and a fourth at one
copper — against 1.12's two.
- the realm's own `PetStable.lua` (patch-4) declares `NUM_PET_STABLE_SLOTS = 4`.
- the realm's `WoW.exe` caps the purchase at four, and `0x4cb0bf` reads straight
across: `cmp $0x4,%eax; je refuse` on the bought count, then `inc %eax` and
`cmp 0xc0d728,%eax; jg refuse` against the price table's max id — which is
exactly `num_stable_slots != NUM_STABLE_SLOTS - 1 && next_slot_cost != 0`.
So the window drew two slots the server would happily sell, and
`GetStablePetInfo(3)`/`(4)` answered nothing: the last two buttons were dead.
`NUM_STABLE_SLOTS` is 5 now, the gate's comment cites the realm's binary rather
than 1.12's 2, and the test fixture helper takes however many leading slots a
case cares about so the existing three-slot fixtures still read.
Also five goldens re-recorded, two of them findings:
- **The spam filter is one line now.** patch-4 ships a 93-byte
`SpamMessages.dbc` of one row where `patch.MPQ`'s 2161 bytes held 28, and the
chain takes the whole winning file rather than merging ids — so Blizzard's 28
gold-seller patterns are gone and what is left matches a rival server's
address, whitespace-tolerant between every letter.
- **`md5translate.trs` stopped hashing.** 9794 rows against 8401, and an Azeroth
tile now resolves to the readable path `Azeroth\map32_48.blp` rather than
`ea283abc0bf9637c3fad5e840a65b38b.blp`. The realm ships the tile at that path
in patch-4; 1.12's hashed copy is still in `texture.MPQ` at the same 33940
bytes, so only the table moved and the lookup still has one job.
- ItemSet 172 -> 363 rows, and Defias Leather (161) gained a sixth item, 81007,
one of the realm's own. Every one of 1.12's 172 sets also gained a name in
five more locales — the same five-locale fill the realm gave `EmotesText`.
- NPCSounds 156 -> 247, purely additive; the one pre-existing row patch-4
touched is 90, which gained two kits.
benilla-formats: 21 -> 16 failures. `cargo fmt` and
`clippy -p benilla-formats -p benilla-ui -p benilla-app --all-targets` clean.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SgstFWtn1RxEJ5kVrpgYwn