fix(movement): invalidate burden on enchantment changes

This commit is contained in:
Erik 2026-07-31 10:16:27 +02:00
parent 2b9dfec9d7
commit d6e8b60303
13 changed files with 231 additions and 25 deletions

View file

@ -99,3 +99,12 @@ InputDispatcher / PlayerMovementController
5 skips. The user accepted repeated uphill stair-side runs on 2026-07-31.
See
`docs/research/2026-07-31-271-stair-side-slide-capture.md`.
- 2026-07-31: #272 burden invalidation. Retail `InqLoad @ 0x0058F130`
obtains Strength through `InqAttribute @ 0x00591A00`, so carry capacity
always uses the enchantment-adjusted value. Runtime movement, the indicator
bar, and the inventory meter must all consume
`LocalPlayerState.GetEffectiveAttribute(Strength)` and react to the same
`Spellbook.EnchantmentsChanged` event. That one event covers spell add,
remove, expiration, dispel, and death purge. Never refresh this through a
UI-only workaround or wait for a base-attribute packet. The connected
buff/death gate was user-accepted on 2026-07-31.