diff options
| author | Shauren <shauren.trinity@gmail.com> | 2016-06-19 23:56:40 +0200 |
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2016-06-19 23:56:40 +0200 |
| commit | 42f6bb4d37ae3a28cecddc6e82e5b4455aa29a16 (patch) | |
| tree | f8e6ecc2248b7b95d7314fc07e01b6fc22e71840 /src/server/game/Guilds/Guild.cpp | |
| parent | 0de1adf2812a4fa896dc5cd21314e596b44457b9 (diff) | |
Core/PacketIO: Updated garrison, guild and inspect packets
Diffstat (limited to 'src/server/game/Guilds/Guild.cpp')
| -rw-r--r-- | src/server/game/Guilds/Guild.cpp | 46 |
1 files changed, 18 insertions, 28 deletions
diff --git a/src/server/game/Guilds/Guild.cpp b/src/server/game/Guilds/Guild.cpp index 9c217ea6888..b09b75be882 100644 --- a/src/server/game/Guilds/Guild.cpp +++ b/src/server/game/Guilds/Guild.cpp @@ -3214,21 +3214,16 @@ void Guild::_SendBankContentUpdate(uint8 tabId, SlotIds slots) const if (tabItem) { - uint32 enchants = 0; - for (uint32 ench = 0; ench < MAX_ENCHANTMENT_SLOT; ++ench) - if (tabItem->GetEnchantmentId(EnchantmentSlot(ench))) - ++enchants; - - itemInfo.SocketEnchant.reserve(enchants); - for (uint32 ench = 0; ench < MAX_ENCHANTMENT_SLOT; ++ench) + for (std::size_t i = 0; i < tabItem->GetDynamicValues(ITEM_DYNAMIC_FIELD_GEMS).size(); ++i) { - if (uint32 enchantId = tabItem->GetEnchantmentId(EnchantmentSlot(ench))) - { - WorldPackets::Guild::GuildBankItemInfo::GuildBankSocketEnchant socketEnchant; - socketEnchant.SocketEnchantID = int32(enchantId); - socketEnchant.SocketIndex = int32(ench); - itemInfo.SocketEnchant.push_back(socketEnchant); - } + uint32 gemItemId = tabItem->GetDynamicValue(ITEM_DYNAMIC_FIELD_GEMS, i); + if (!gemItemId) + continue; + + WorldPackets::Item::ItemGemInstanceData gem; + gem.Slot = i; + gem.Item.ItemID = gemItemId; + itemInfo.SocketEnchant.push_back(gem); } } @@ -3302,21 +3297,16 @@ void Guild::SendBankList(WorldSession* session, uint8 tabId, bool fullUpdate) co itemInfo.OnUseEnchantmentID = 0/*int32(tabItem->GetItemSuffixFactor())*/; itemInfo.Flags = 0; - uint32 enchants = 0; - for (uint32 ench = 0; ench < MAX_ENCHANTMENT_SLOT; ++ench) - if (tabItem->GetEnchantmentId(EnchantmentSlot(ench))) - ++enchants; - - itemInfo.SocketEnchant.reserve(enchants); - for (uint32 ench = 0; ench < MAX_ENCHANTMENT_SLOT; ++ench) + for (std::size_t i = 0; i < tabItem->GetDynamicValues(ITEM_DYNAMIC_FIELD_GEMS).size(); ++i) { - if (uint32 enchantId = tabItem->GetEnchantmentId(EnchantmentSlot(ench))) - { - WorldPackets::Guild::GuildBankItemInfo::GuildBankSocketEnchant socketEnchant; - socketEnchant.SocketEnchantID = int32(enchantId); - socketEnchant.SocketIndex = int32(ench); - itemInfo.SocketEnchant.push_back(socketEnchant); - } + uint32 gemItemId = tabItem->GetDynamicValue(ITEM_DYNAMIC_FIELD_GEMS, i); + if (!gemItemId) + continue; + + WorldPackets::Item::ItemGemInstanceData gem; + gem.Slot = i; + gem.Item.ItemID = gemItemId; + itemInfo.SocketEnchant.push_back(gem); } itemInfo.Locked = false; |
