diff options
-rw-r--r-- | src/server/game/AuctionHouse/AuctionHouseMgr.cpp | 2 | ||||
-rw-r--r-- | src/server/game/Guilds/Guild.cpp | 4 | ||||
-rw-r--r-- | src/server/game/Handlers/TradeHandler.cpp | 2 | ||||
-rw-r--r-- | src/server/game/Server/Packets/AuctionHousePackets.cpp | 11 | ||||
-rw-r--r-- | src/server/game/Server/Packets/AuctionHousePackets.h | 13 | ||||
-rw-r--r-- | src/server/game/Server/Packets/GuildPackets.cpp | 2 | ||||
-rw-r--r-- | src/server/game/Server/Packets/GuildPackets.h | 2 | ||||
-rw-r--r-- | src/server/game/Server/Packets/InspectPackets.cpp | 2 | ||||
-rw-r--r-- | src/server/game/Server/Packets/InspectPackets.h | 2 | ||||
-rw-r--r-- | src/server/game/Server/Packets/ItemPackets.cpp | 21 | ||||
-rw-r--r-- | src/server/game/Server/Packets/ItemPackets.h | 16 | ||||
-rw-r--r-- | src/server/game/Server/Packets/MailPackets.cpp | 34 | ||||
-rw-r--r-- | src/server/game/Server/Packets/MailPackets.h | 16 | ||||
-rw-r--r-- | src/server/game/Server/Packets/TradePackets.cpp | 2 | ||||
-rw-r--r-- | src/server/game/Server/Packets/TradePackets.h | 2 |
15 files changed, 60 insertions, 71 deletions
diff --git a/src/server/game/AuctionHouse/AuctionHouseMgr.cpp b/src/server/game/AuctionHouse/AuctionHouseMgr.cpp index bc764a33659..feb2a26a73c 100644 --- a/src/server/game/AuctionHouse/AuctionHouseMgr.cpp +++ b/src/server/game/AuctionHouse/AuctionHouseMgr.cpp @@ -850,7 +850,7 @@ void AuctionEntry::BuildAuctionInfo(std::vector<WorldPackets::AuctionHouse::Auct { if (gemData.ItemId) { - WorldPackets::Item::ItemGemInstanceData gem; + WorldPackets::Item::ItemGemData gem; gem.Slot = i; gem.Item.Initialize(&gemData); auctionItem.Gems.push_back(gem); diff --git a/src/server/game/Guilds/Guild.cpp b/src/server/game/Guilds/Guild.cpp index 003e46ba796..aedccd5ab56 100644 --- a/src/server/game/Guilds/Guild.cpp +++ b/src/server/game/Guilds/Guild.cpp @@ -3219,7 +3219,7 @@ void Guild::_SendBankContentUpdate(uint8 tabId, SlotIds slots) const { if (gemData.ItemId) { - WorldPackets::Item::ItemGemInstanceData gem; + WorldPackets::Item::ItemGemData gem; gem.Slot = i; gem.Item.Initialize(&gemData); itemInfo.SocketEnchant.push_back(gem); @@ -3301,7 +3301,7 @@ void Guild::SendBankList(WorldSession* session, uint8 tabId, bool fullUpdate) co { if (gemData.ItemId) { - WorldPackets::Item::ItemGemInstanceData gem; + WorldPackets::Item::ItemGemData gem; gem.Slot = i; gem.Item.Initialize(&gemData); itemInfo.SocketEnchant.push_back(gem); diff --git a/src/server/game/Handlers/TradeHandler.cpp b/src/server/game/Handlers/TradeHandler.cpp index ae263301fc9..6987c1bbaad 100644 --- a/src/server/game/Handlers/TradeHandler.cpp +++ b/src/server/game/Handlers/TradeHandler.cpp @@ -84,7 +84,7 @@ void WorldSession::SendUpdateTrade(bool trader_data /*= true*/) { if (gemData.ItemId) { - WorldPackets::Item::ItemGemInstanceData gem; + WorldPackets::Item::ItemGemData gem; gem.Slot = i; gem.Item.Initialize(&gemData); tradeItem.Unwrapped->Gems.push_back(gem); diff --git a/src/server/game/Server/Packets/AuctionHousePackets.cpp b/src/server/game/Server/Packets/AuctionHousePackets.cpp index 6bff90b10ae..429d5537734 100644 --- a/src/server/game/Server/Packets/AuctionHousePackets.cpp +++ b/src/server/game/Server/Packets/AuctionHousePackets.cpp @@ -38,16 +38,11 @@ ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::AuctionHouse::AuctionItem data.WriteBit(auctionItem.CensorBidInfo); data.FlushBits(); - for (auto const& gem : auctionItem.Gems) + for (WorldPackets::Item::ItemGemData const& gem : auctionItem.Gems) data << gem; - for (WorldPackets::AuctionHouse::AuctionItem::AuctionItemEnchant const& enchant : auctionItem.Enchantments) - { - data << int32(enchant.ID); - data << uint32(enchant.Expiration); - data << int32(enchant.Charges); - data << uint8(enchant.Slot); - } + for (WorldPackets::Item::ItemEnchantData const& enchant : auctionItem.Enchantments) + data << enchant; if (!auctionItem.CensorServerSideInfo) { diff --git a/src/server/game/Server/Packets/AuctionHousePackets.h b/src/server/game/Server/Packets/AuctionHousePackets.h index 31c24cdb046..2775173fc3d 100644 --- a/src/server/game/Server/Packets/AuctionHousePackets.h +++ b/src/server/game/Server/Packets/AuctionHousePackets.h @@ -31,19 +31,10 @@ namespace WorldPackets { struct AuctionItem { - struct AuctionItemEnchant - { - AuctionItemEnchant(int32 id, uint32 expiration, int32 charges, uint8 slot) : ID(id), Expiration(expiration), Charges(charges), Slot(slot) { } - int32 ID = 0; - uint32 Expiration = 0; - int32 Charges = 0; - uint8 Slot = 0; - }; - Item::ItemInstance Item; int32 Count = 0; int32 Charges = 0; - std::vector<AuctionItemEnchant> Enchantments; + std::vector<Item::ItemEnchantData> Enchantments; int32 Flags = 0; int32 AuctionItemID = 0; ObjectGuid Owner; @@ -59,7 +50,7 @@ namespace WorldPackets uint32 EndTime = 0; ObjectGuid Bidder; uint64 BidAmount = 0; - std::vector<Item::ItemGemInstanceData> Gems; + std::vector<Item::ItemGemData> Gems; }; struct AuctionOwnerNotification diff --git a/src/server/game/Server/Packets/GuildPackets.cpp b/src/server/game/Server/Packets/GuildPackets.cpp index a5a897c3eac..90b2664a07c 100644 --- a/src/server/game/Server/Packets/GuildPackets.cpp +++ b/src/server/game/Server/Packets/GuildPackets.cpp @@ -624,7 +624,7 @@ WorldPacket const* WorldPackets::Guild::GuildBankQueryResults::Write() _worldPacket.WriteBit(item.Locked); _worldPacket.FlushBits(); - for (Item::ItemGemInstanceData const& socketEnchant : item.SocketEnchant) + for (Item::ItemGemData const& socketEnchant : item.SocketEnchant) _worldPacket << socketEnchant; } diff --git a/src/server/game/Server/Packets/GuildPackets.h b/src/server/game/Server/Packets/GuildPackets.h index 2e1d60578d1..17de2081dda 100644 --- a/src/server/game/Server/Packets/GuildPackets.h +++ b/src/server/game/Server/Packets/GuildPackets.h @@ -788,7 +788,7 @@ namespace WorldPackets int32 OnUseEnchantmentID = 0; int32 Flags = 0; bool Locked = false; - std::vector<Item::ItemGemInstanceData> SocketEnchant; + std::vector<Item::ItemGemData> SocketEnchant; }; struct GuildBankTabInfo diff --git a/src/server/game/Server/Packets/InspectPackets.cpp b/src/server/game/Server/Packets/InspectPackets.cpp index 666f653d69e..4a2d068dc68 100644 --- a/src/server/game/Server/Packets/InspectPackets.cpp +++ b/src/server/game/Server/Packets/InspectPackets.cpp @@ -76,7 +76,7 @@ WorldPackets::Inspect::InspectItemData::InspectItemData(::Item const* item, uint { if (gemData.ItemId) { - WorldPackets::Item::ItemGemInstanceData gem; + WorldPackets::Item::ItemGemData gem; gem.Slot = i; gem.Item.Initialize(&gemData); Gems.push_back(gem); diff --git a/src/server/game/Server/Packets/InspectPackets.h b/src/server/game/Server/Packets/InspectPackets.h index e02e59b5e28..8a828014ce3 100644 --- a/src/server/game/Server/Packets/InspectPackets.h +++ b/src/server/game/Server/Packets/InspectPackets.h @@ -54,7 +54,7 @@ namespace WorldPackets uint8 Index = 0; bool Usable = false; std::vector<InspectEnchantData> Enchants; - std::vector<Item::ItemGemInstanceData> Gems; + std::vector<Item::ItemGemData> Gems; }; struct InspectGuildData diff --git a/src/server/game/Server/Packets/ItemPackets.cpp b/src/server/game/Server/Packets/ItemPackets.cpp index 73225ae8e02..1311a32a460 100644 --- a/src/server/game/Server/Packets/ItemPackets.cpp +++ b/src/server/game/Server/Packets/ItemPackets.cpp @@ -232,17 +232,26 @@ ByteBuffer& operator>>(ByteBuffer& data, WorldPackets::Item::ItemInstance& itemI return data; } -ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::Item::ItemGemInstanceData const& itemGemInstanceData) +ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::Item::ItemEnchantData const& itemEnchantData) { - data << uint8(itemGemInstanceData.Slot); - data << itemGemInstanceData.Item; + data << int32(itemEnchantData.ID); + data << uint32(itemEnchantData.Expiration); + data << int32(itemEnchantData.Charges); + data << uint8(itemEnchantData.Slot); return data; } -ByteBuffer& operator>>(ByteBuffer& data, WorldPackets::Item::ItemGemInstanceData& itemGemInstanceData) +ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::Item::ItemGemData const& itemGemData) { - data >> itemGemInstanceData.Slot; - data >> itemGemInstanceData.Item; + data << uint8(itemGemData.Slot); + data << itemGemData.Item; + return data; +} + +ByteBuffer& operator>>(ByteBuffer& data, WorldPackets::Item::ItemGemData& itemGemData) +{ + data >> itemGemData.Slot; + data >> itemGemData.Item; return data; } diff --git a/src/server/game/Server/Packets/ItemPackets.h b/src/server/game/Server/Packets/ItemPackets.h index feb4f8f1120..5d65bd03289 100644 --- a/src/server/game/Server/Packets/ItemPackets.h +++ b/src/server/game/Server/Packets/ItemPackets.h @@ -54,7 +54,16 @@ namespace WorldPackets bool operator!=(ItemInstance const& r) const { return !(*this == r); } }; - struct ItemGemInstanceData + struct ItemEnchantData + { + ItemEnchantData(int32 id, uint32 expiration, int32 charges, uint8 slot) : ID(id), Expiration(expiration), Charges(charges), Slot(slot) { } + int32 ID = 0; + uint32 Expiration = 0; + int32 Charges = 0; + uint8 Slot = 0; + }; + + struct ItemGemData { uint8 Slot; ItemInstance Item; @@ -538,7 +547,8 @@ ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::Item::ItemBonusInstanceDa ByteBuffer& operator>>(ByteBuffer& data, WorldPackets::Item::ItemBonusInstanceData& itemBonusInstanceData); ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::Item::ItemInstance const& itemInstance); ByteBuffer& operator>>(ByteBuffer& data, WorldPackets::Item::ItemInstance& itemInstance); -ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::Item::ItemGemInstanceData const& itemGemInstanceData); -ByteBuffer& operator>>(ByteBuffer& data, WorldPackets::Item::ItemGemInstanceData& itemGemInstanceData); +ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::Item::ItemEnchantData const& itemEnchantData); +ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::Item::ItemGemData const& itemGemInstanceData); +ByteBuffer& operator>>(ByteBuffer& data, WorldPackets::Item::ItemGemData& itemGemInstanceData); #endif // ItemPackets_h__ diff --git a/src/server/game/Server/Packets/MailPackets.cpp b/src/server/game/Server/Packets/MailPackets.cpp index f9bfaad578b..f8922d5bbaf 100644 --- a/src/server/game/Server/Packets/MailPackets.cpp +++ b/src/server/game/Server/Packets/MailPackets.cpp @@ -29,19 +29,15 @@ WorldPackets::Mail::MailAttachedItem::MailAttachedItem(::Item const* item, uint8 Charges = item->GetSpellCharges(); MaxDurability = item->GetUInt32Value(ITEM_FIELD_MAXDURABILITY); Durability = item->GetUInt32Value(ITEM_FIELD_DURABILITY); - Unlocked = !item->IsLocked(); //TODO: Check + Unlocked = !item->IsLocked(); for (uint8 j = 0; j < MAX_INSPECTED_ENCHANTMENT_SLOT; j++) { - if (!item->GetEnchantmentId((EnchantmentSlot)j)) + EnchantmentSlot slot = EnchantmentSlot(j); + if (!item->GetEnchantmentId(slot)) continue; - MailAttachedItemEnchant enchant; - enchant.Enchant = item->GetEnchantmentId((EnchantmentSlot)j); - enchant.Duration = item->GetEnchantmentDuration((EnchantmentSlot)j); - enchant.Charges = item->GetEnchantmentCharges((EnchantmentSlot)j); - enchant.Slot = j; - Enchants.push_back(enchant); + Enchants.emplace_back(item->GetEnchantmentId(slot), item->GetEnchantmentDuration(slot), item->GetEnchantmentCharges(slot), j); } uint8 i = 0; @@ -49,7 +45,7 @@ WorldPackets::Mail::MailAttachedItem::MailAttachedItem(::Item const* item, uint8 { if (gemData.ItemId) { - WorldPackets::Item::ItemGemInstanceData gem; + WorldPackets::Item::ItemGemData gem; gem.Slot = i; gem.Item.Initialize(&gemData); Gems.push_back(gem); @@ -72,15 +68,11 @@ ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::Mail::MailAttachedItem co data.WriteBit(att.Unlocked); data.FlushBits(); - for (auto const& gem : att.Gems) + for (WorldPackets::Item::ItemGemData const& gem : att.Gems) data << gem; - for (auto const& en : att.Enchants) - { - data << int32(en.Enchant); - data << uint32(en.Duration); - data << int32(en.Charges); - } + for (WorldPackets::Item::ItemEnchantData const& en : att.Enchants) + data << en; return data; } @@ -122,14 +114,14 @@ WorldPackets::Mail::MailListEntry::MailListEntry(::Mail const* mail, ::Player* p ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::Mail::MailListEntry const& entry) { data << int32(entry.MailID); - data << int8(entry.SenderType); - data << int64(entry.Cod); + data << uint8(entry.SenderType); + data << uint64(entry.Cod); data << int32(entry.StationeryID); - data << int64(entry.SentMoney); + data << uint64(entry.SentMoney); data << int32(entry.Flags); data << float(entry.DaysLeft); data << int32(entry.MailTemplateID); - data << int32(entry.Attachments.size()); + data << uint32(entry.Attachments.size()); data.WriteBit(entry.SenderCharacter.is_initialized()); data.WriteBit(entry.AltSenderID.is_initialized()); data.WriteBits(entry.Subject.size(), 8); @@ -162,7 +154,7 @@ void WorldPackets::Mail::MailGetList::Read() WorldPacket const* WorldPackets::Mail::MailListResult::Write() { - _worldPacket << int32(Mails.size()); + _worldPacket << uint32(Mails.size()); _worldPacket << int32(TotalNumRecords); for (auto const& mail : Mails) diff --git a/src/server/game/Server/Packets/MailPackets.h b/src/server/game/Server/Packets/MailPackets.h index 6a2928bb9a5..9a2a91656b7 100644 --- a/src/server/game/Server/Packets/MailPackets.h +++ b/src/server/game/Server/Packets/MailPackets.h @@ -29,14 +29,6 @@ namespace WorldPackets { namespace Mail { - struct MailAttachedItemEnchant - { - int32 Enchant = 0; - uint32 Duration = 0; - int32 Charges = 0; - uint8 Slot = 0; - }; - struct MailAttachedItem { MailAttachedItem(::Item const* item, uint8 pos); @@ -49,8 +41,8 @@ namespace WorldPackets uint32 MaxDurability = 0; int32 Durability = 0; bool Unlocked = false; - std::vector<MailAttachedItemEnchant> Enchants; - std::vector<Item::ItemGemInstanceData> Gems; + std::vector<Item::ItemEnchantData> Enchants; + std::vector<Item::ItemGemData> Gems; }; struct MailListEntry @@ -61,9 +53,9 @@ namespace WorldPackets uint8 SenderType = 0; Optional<ObjectGuid> SenderCharacter; Optional<uint32> AltSenderID; - int64 Cod = 0; + uint64 Cod = 0; int32 StationeryID = 0; - int64 SentMoney = 0; + uint64 SentMoney = 0; int32 Flags = 0; float DaysLeft = 0.0f; int32 MailTemplateID = 0; diff --git a/src/server/game/Server/Packets/TradePackets.cpp b/src/server/game/Server/Packets/TradePackets.cpp index 2eadb4796ae..a6b69342983 100644 --- a/src/server/game/Server/Packets/TradePackets.cpp +++ b/src/server/game/Server/Packets/TradePackets.cpp @@ -94,7 +94,7 @@ ByteBuffer& operator<<(ByteBuffer& buffer, WorldPackets::Trade::TradeUpdated::Un buffer.WriteBit(unwrappedTradeItem.Lock); buffer.FlushBits(); - for (WorldPackets::Item::ItemGemInstanceData const& gem : unwrappedTradeItem.Gems) + for (WorldPackets::Item::ItemGemData const& gem : unwrappedTradeItem.Gems) buffer << gem; return buffer; diff --git a/src/server/game/Server/Packets/TradePackets.h b/src/server/game/Server/Packets/TradePackets.h index df3b62165dd..32e8ea43d5a 100644 --- a/src/server/game/Server/Packets/TradePackets.h +++ b/src/server/game/Server/Packets/TradePackets.h @@ -160,7 +160,7 @@ namespace WorldPackets bool Lock = false; uint32 MaxDurability = 0; uint32 Durability = 0; - std::vector<Item::ItemGemInstanceData> Gems; + std::vector<Item::ItemGemData> Gems; }; struct TradeItem |