Table of Contents

Struct ItemOperationFailedBroadcast

Namespace
FishMMO.Shared
Assembly
FishMMO.Shared.dll

Sent to a client when an item operation it requested did not happen.

public struct ItemOperationFailedBroadcast : IBroadcast
Implements
IBroadcast
Inherited Members

Remarks

WHY THIS EXISTS: every item handler on the server was written to return silently when it declined a request — roughly two dozen such returns across inventory, bank and equipment. The client had already moved its own view of the slot, or was holding a drag, and nothing ever arrived to tell it otherwise, so the UI showed a stale slot until the panel was rebuilt or the player relogged. Combined with the persistence bugs that meant a player could watch an item sit in a slot that the server did not believe existed.

A failure message carries no item identity, only slot indices the client already sent. It is a "resync these slots" instruction, not a data source: the client must re-read the affected slots from its authoritative container state rather than infer anything from this message.

Fields

Container

The container the operation started from, as the client named it in its request.

public InventoryType Container

Field Value

InventoryType

Operation

The operation the client requested.

public ItemOperationType Operation

Field Value

ItemOperationType

Reason

Why it was refused.

public ItemOperationFailureReason Reason

Field Value

ItemOperationFailureReason

SecondarySlot

Destination slot index for swap and equip operations, or -1 when not applicable.

public int SecondarySlot

Field Value

int

Slot

Primary slot index involved, or -1 when the operation names no single slot.

public int Slot

Field Value

int