diff --git a/apps/openmw/mwmp/DedicatedActor.cpp b/apps/openmw/mwmp/DedicatedActor.cpp index e0f18b816..6efad4ded 100644 --- a/apps/openmw/mwmp/DedicatedActor.cpp +++ b/apps/openmw/mwmp/DedicatedActor.cpp @@ -168,6 +168,11 @@ void DedicatedActor::setEquipment() for (int slot = 0; slot < MWWorld::InventoryStore::Slots; ++slot) { + int count = equipedItems[slot].count; + + // If we've somehow received a corrupted item with a count lower than 0, ignore it + if (count < 0) continue; + MWWorld::ContainerStoreIterator it = invStore.getSlot(slot); const string &packetRefId = equipedItems[slot].refId; @@ -188,8 +193,6 @@ void DedicatedActor::setEquipment() if (packetRefId.empty() || equal) continue; - int count = equipedItems[slot].count; - if (hasItem(packetRefId, packetCharge)) equipItem(packetRefId, packetCharge); else