Enum TradeRefusalReason
Why the server refused a change to the table.
public enum TradeRefusalReason : byte
Fields
That slot is already on the table.
The quantity does not fit the stack.
You cannot act right now (dead, stunned, teleporting).
You do not hold that much currency.
No such inventory slot, or nothing in it.
The item is reserved by something else (a consumable activating, a pending write).
The item has not been written to the database yet and cannot be traded until it is.
Currency cannot be traded on this server.
You do not have enough free bag slots for what they are offering.
Nothing to accept yet: both sides must confirm their offers first.
Nothing from that slot is on the table.
The session is not open for changes (committing, or already closed).
They do not have enough free bag slots for what you are offering.
The table changed before your accept arrived; look again.
Your side of the table is full.
Both sides have confirmed, so the offers are frozen. Revoke to change yours.
Remarks
Every refusal is answered, never swallowed: a request that changes nothing and says nothing reads to the player as a window that does not work. The refusal travels with the current table so the client is corrected and told why in one step.