fix(inventory): sequence secondary wield blockers

Preserve retail AmmoType from CreateObject and port BlocksUseOfShield so bow, caster, and two-handed switches remove incompatible shields, while mismatched missile ammo is also returned to the pack. Each blocker remains server-confirmed before AutoWield re-enters.

Co-Authored-By: Codex <codex@openai.com>
This commit is contained in:
Erik 2026-07-12 23:12:07 +02:00
parent 17b5712d53
commit 815ce0dec4
14 changed files with 206 additions and 16 deletions

View file

@ -456,8 +456,9 @@ include dungeons.
CreateObject/ParentEvent child attachment and per-frame hand-follow rendering.
- **L.1c inventory weapon switching (implemented 2026-07-12; live gate pending)**
inventory double-click ports retail's two-stage `AutoWield`: return the occupied
primary weapon to the main pack, wait for the server move confirmation, then
wield the requested bow/sword/caster/two-hander. The shared transaction works
primary weapon to the main pack, then any incompatible shield/ammo, waiting
for every server move confirmation before wielding the requested
bow/sword/caster/two-hander. The shared transaction works
in peace and war; ACE owns stance-specific motions and its PropertyInt 40 update
now drives the client `CombatState`.
- **L.1c local attack receive path (implemented 2026-07-11; live gate pending)**