aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/server/game/AuctionHouse/AuctionHouseMgr.cpp2
-rw-r--r--src/server/game/Guilds/Guild.cpp4
-rw-r--r--src/server/game/Handlers/TradeHandler.cpp2
-rw-r--r--src/server/game/Server/Packets/AuctionHousePackets.cpp11
-rw-r--r--src/server/game/Server/Packets/AuctionHousePackets.h13
-rw-r--r--src/server/game/Server/Packets/GuildPackets.cpp2
-rw-r--r--src/server/game/Server/Packets/GuildPackets.h2
-rw-r--r--src/server/game/Server/Packets/InspectPackets.cpp2
-rw-r--r--src/server/game/Server/Packets/InspectPackets.h2
-rw-r--r--src/server/game/Server/Packets/ItemPackets.cpp21
-rw-r--r--src/server/game/Server/Packets/ItemPackets.h16
-rw-r--r--src/server/game/Server/Packets/MailPackets.cpp34
-rw-r--r--src/server/game/Server/Packets/MailPackets.h16
-rw-r--r--src/server/game/Server/Packets/TradePackets.cpp2
-rw-r--r--src/server/game/Server/Packets/TradePackets.h2
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