From 42f6bb4d37ae3a28cecddc6e82e5b4455aa29a16 Mon Sep 17 00:00:00 2001 From: Shauren Date: Sun, 19 Jun 2016 23:56:40 +0200 Subject: Core/PacketIO: Updated garrison, guild and inspect packets --- src/server/game/Guilds/Guild.cpp | 46 ++++++++++++++++------------------------ 1 file changed, 18 insertions(+), 28 deletions(-) (limited to 'src/server/game/Guilds/Guild.cpp') 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; -- cgit v1.2.3