fix(world): restore portal and distant use lifecycles
This commit is contained in:
parent
c730632075
commit
1a14812c44
18 changed files with 401 additions and 196 deletions
|
|
@ -55,11 +55,11 @@ both pass `IsUseable`.
|
|||
|
||||
For a direct-use item, `ItemHolder::UseObject` then sends
|
||||
`CM_Inventory::Event_UseEvent`, increments the UI busy count, and calls
|
||||
`CPlayerSystem::UsingItem`. That latter presentation function handles local
|
||||
pickup/wield/container state; it does not require a carried source to have a
|
||||
world position. Therefore an owned inventory object must cross the wire
|
||||
directly. Only world objects participate in acdream's registered AD-27 local
|
||||
approach compatibility seam.
|
||||
`CPlayerSystem::UsingItem`. `Event_UseEvent` itself is the network send
|
||||
(`0xF7B1/0x36`); the latter function handles local pickup/wield/container
|
||||
presentation. Therefore neither an owned item nor a world object may be held
|
||||
behind a client-side movement completion. ACE owns the authoritative approach
|
||||
chain.
|
||||
|
||||
```text
|
||||
AutoWearIsLegal(itemId, out alreadyWorn, silent):
|
||||
|
|
@ -113,9 +113,10 @@ AutoWear(itemId, out alreadyWorn, silent):
|
|||
ordinary Use request directly from its inventory identity; it is never sent
|
||||
through the world-approach query. ACE remains authoritative for its spell
|
||||
and consumption outcome.
|
||||
- `SelectionInteractionController` keeps the AD-27 turn/approach seam only for
|
||||
non-owned spatial objects. Owned self, equipped, and nested-container sources
|
||||
have no live world pose and send immediately.
|
||||
- `SelectionInteractionController` sends accepted ordinary Use immediately for
|
||||
both owned and spatial objects. It does not install speculative local
|
||||
TurnToObject/MoveToObject movement; ACE's authoritative movement packets use
|
||||
the shared retail `MoveToManager`.
|
||||
- `AutoWieldController` remains the shared inventory/paperdoll equip owner. It
|
||||
resolves AutoWear blockers from `ClientObjectTable`'s retail-ordered
|
||||
equipment projection and emits the retail literal through system chat.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue