- summary: One item of the open storage (such as the bank) was added or changed. Store it under its uid, replacing what you had: the quantity is the new total.
- area: Game.Inventory
One item of the open storage (such as the bank) was added or changed. Store it under its uid, replacing what you had: the quantity is the new total.
Kind event · Area Game.Inventory
One item of the storage you have open changed: it was put in, or part of its stack was taken out.
WHAT TO DO WHEN YOU RECEIVE IT
1. FIND THE ITEM BY UID in the storage content you loaded from
StorageInventoryContentEvent: the key is the uid inside
StorageObjectUpdateEvent.object (ObjectItem.uid).
2. ADD OR REPLACE IT. If the uid is unknown, add the item; if it is known,
replace the whole entry with this one. The quantity in it is the NEW
TOTAL of that stack in the storage, not the amount that moved. The client
does exactly this (copy over the known item, or add a new one).
3. SEND NOTHING BACK.
THE STORAGE UID IS ITS OWN. An item put into the storage can get a uid that differs
from the one it had in your inventory; to take it back out, send
ExchangeObjectMoveRequest with THIS uid and a negative quantity.
NOT YOUR INVENTORY. ObjectAddedEvent and ObjectQuantityEvent describe the
carried inventory; they arrive beside this one when an item moves between the two.
OBSERVED (one capture, a trash bin): putting 2 of a stack in produced this event
with a new uid and quantity 2; taking 1 back produced it again, same uid, quantity
1. Taking the last one out produces StorageObjectRemovedEvent instead.
When you may send it
- Requires
exchange_openinferred
Related messages
- Arrives after
ExchangeObjectMoveRequest
Fields
| # | Field | Type | Meaning | You set it |
|---|---|---|---|---|
| 1 | object | ObjectItemInventory | The storage item as it is now: its uid, its template, its effects and its new total quantity in the storage. Replace the whole entry with the same uid; the quantity is a total, not a delta. | never |