mirror of
https://github.com/DarkflameUniverse/DarkflameServer.git
synced 2026-11-15 00:07:13 +00:00
fix(inventory): an inventory group holds at most 1000 LOTs, as the client
LWOInventoryComponent_Common::msgUpdateInventoryGroupContents (0x00ce1f50) ignores an ADD to an unlocked group that already holds 1000 LOTs. The server had no cap, so a modified client could grow the charxml without limit. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -2021,6 +2021,8 @@ void InventoryComponent::UpdateGroup(const GroupUpdate& groupUpdate) {
|
||||
break;
|
||||
}
|
||||
case GroupUpdateCommand::ADD_LOT: {
|
||||
// msgUpdateInventoryGroupContents (0x00ce1f50): a group holds at most 1000 LOTs
|
||||
if (groupItr->lots.size() >= MaximumGroupLotCount) break;
|
||||
groupItr->lots.insert(groupUpdate.lot);
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -101,6 +101,7 @@ public:
|
||||
|
||||
static constexpr uint32_t MaximumGroupCount = 50;
|
||||
static constexpr size_t MaximumGroupNameLength = 64; // UTF-16 characters
|
||||
static constexpr size_t MaximumGroupLotCount = 1000;
|
||||
|
||||
static constexpr eReplicaComponentType ComponentType = eReplicaComponentType::INVENTORY;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user