mirror of
https://github.com/EQEmu/Server.git
synced 2026-05-16 22:58:34 +00:00
[Feature] Implement Big Bags (#4606)
* [Feature] Implement "Big Bags" * Update worlddb.cpp * Update shareddb.cpp * Cleanup * Cleanup * Add slot ID conversions * Update shareddb.cpp * Update database_update_manifest.cpp * Update database_update_manifest.cpp * Update database_update_manifest.cpp * Update database_update_manifest.cpp * Update ruletypes.h * Update database_update_manifest.cpp * Inventory load fix * Wrap Handle_OP_MoveItem in a transaction, taking 200+ queries from 200ms+ to 5-20ms * Speed up lazy loading * [Performance] Significantly Improve Client Network Resends * Improve resend algorithm to be exact about when to resend * Manifest merge * Update database_update_manifest.cpp * Post merge * Add forced interactive update --------- Co-authored-by: Akkadius <akkadius1@gmail.com>
This commit is contained in:
+16
-11
@@ -2380,21 +2380,26 @@ bool Client::StoreCharacter(
|
||||
|
||||
auto e = InventoryRepository::NewEntity();
|
||||
|
||||
e.charid = character_id;
|
||||
e.character_id = character_id;
|
||||
|
||||
for (int16 slot_id = EQ::invslot::EQUIPMENT_BEGIN; slot_id <= EQ::invbag::BANK_BAGS_END;) {
|
||||
const auto inst = p_inventory_profile->GetItem(slot_id);
|
||||
if (inst) {
|
||||
e.slotid = slot_id;
|
||||
e.itemid = inst->GetItem()->ID;
|
||||
e.charges = inst->GetCharges();
|
||||
e.color = inst->GetColor();
|
||||
e.augslot1 = inst->GetAugmentItemID(EQ::invaug::SOCKET_BEGIN);
|
||||
e.augslot2 = inst->GetAugmentItemID(EQ::invaug::SOCKET_BEGIN + 1);
|
||||
e.augslot3 = inst->GetAugmentItemID(EQ::invaug::SOCKET_BEGIN + 2);
|
||||
e.augslot4 = inst->GetAugmentItemID(EQ::invaug::SOCKET_BEGIN + 3);
|
||||
e.augslot5 = inst->GetAugmentItemID(EQ::invaug::SOCKET_BEGIN + 4);
|
||||
e.augslot6 = inst->GetAugmentItemID(EQ::invaug::SOCKET_END);
|
||||
e.slot_id = slot_id;
|
||||
e.item_id = inst->GetItem()->ID;
|
||||
e.charges = inst->GetCharges();
|
||||
e.color = inst->GetColor();
|
||||
e.augment_one = inst->GetAugmentItemID(EQ::invaug::SOCKET_BEGIN);
|
||||
e.augment_two = inst->GetAugmentItemID(EQ::invaug::SOCKET_BEGIN + 1);
|
||||
e.augment_three = inst->GetAugmentItemID(EQ::invaug::SOCKET_BEGIN + 2);
|
||||
e.augment_four = inst->GetAugmentItemID(EQ::invaug::SOCKET_BEGIN + 3);
|
||||
e.augment_five = inst->GetAugmentItemID(EQ::invaug::SOCKET_BEGIN + 4);
|
||||
e.augment_six = inst->GetAugmentItemID(EQ::invaug::SOCKET_END);
|
||||
e.instnodrop = inst->IsAttuned() ? 1 : 0;
|
||||
e.ornament_icon = inst->GetOrnamentationIcon();
|
||||
e.ornament_idfile = inst->GetOrnamentationIDFile();
|
||||
e.ornament_hero_model = inst->GetOrnamentHeroModel();
|
||||
e.guid = inst->GetSerialNumber();
|
||||
|
||||
v.emplace_back(e);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user