aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2024-11-06 12:17:49 +0100
committerOvahlord <dreadkiller@gmx.de>2025-04-06 18:33:36 +0200
commitc460d2e76d27bbd9d911948bceee388341e2a046 (patch)
tree1439fa07d36bc0035ed5f288765abedb55621c69 /src
parentce6f800fb9f2b545381a32ddb99cb675acb1e87c (diff)
Core/PacketIO: Named a bunch of unknown/unused fields
(cherry picked from commit 806611075659ddde60f3003763e442a46d70f993) # Conflicts: # src/server/game/Achievements/CriteriaHandler.cpp # src/server/game/Conditions/ConditionMgr.cpp # src/server/game/DungeonFinding/LFGMgr.cpp # src/server/game/Entities/AreaTrigger/AreaTrigger.cpp # src/server/game/Entities/GameObject/GameObject.cpp # src/server/game/Entities/Item/Item.cpp # src/server/game/Entities/Item/ItemBonusMgr.cpp # src/server/game/Entities/Object/Updates/UpdateFields.cpp # src/server/game/Entities/Object/Updates/UpdateFields.h # src/server/game/Entities/Player/Player.cpp # src/server/game/Handlers/CharacterHandler.cpp # src/server/game/Handlers/LFGHandler.cpp # src/server/game/Server/Packets/BattlegroundPackets.cpp # src/server/game/Server/Packets/BattlegroundPackets.h # src/server/game/Server/Packets/CharacterPackets.cpp # src/server/game/Server/Packets/CharacterPackets.h # src/server/game/Server/Packets/ItemPackets.cpp # src/server/game/Server/Packets/ItemPackets.h # src/server/game/Server/Packets/LFGPackets.cpp # src/server/game/Server/Packets/LFGPackets.h # src/server/game/Server/Packets/PartyPackets.cpp # src/server/game/Server/Packets/PartyPackets.h # src/server/game/Server/Packets/QueryPackets.cpp # src/server/game/Server/Packets/QueryPackets.h # src/server/game/Server/Packets/SystemPackets.cpp # src/server/game/Server/Packets/SystemPackets.h # src/server/scripts/Commands/cs_lookup.cpp
Diffstat (limited to 'src')
-rw-r--r--src/server/game/AuctionHouse/AuctionHouseMgr.cpp16
-rw-r--r--src/server/game/Server/Packets/AuctionHousePackets.cpp20
-rw-r--r--src/server/game/Server/Packets/AuctionHousePackets.h4
3 files changed, 20 insertions, 20 deletions
diff --git a/src/server/game/AuctionHouse/AuctionHouseMgr.cpp b/src/server/game/AuctionHouse/AuctionHouseMgr.cpp
index 616d71c2877..74308cd6b1e 100644
--- a/src/server/game/AuctionHouse/AuctionHouseMgr.cpp
+++ b/src/server/game/AuctionHouse/AuctionHouseMgr.cpp
@@ -50,7 +50,7 @@ enum eAuctionHouse
AuctionsBucketKey::AuctionsBucketKey(WorldPackets::AuctionHouse::AuctionBucketKey const& key) :
ItemId(key.ItemID), ItemLevel(key.ItemLevel), BattlePetSpeciesId(key.BattlePetSpeciesID.value_or(0)),
- SuffixItemNameDescriptionId(key.SuffixItemNameDescriptionID.value_or(0))
+ SuffixItemNameDescriptionId(key.ItemSuffix.value_or(0))
{
}
@@ -109,6 +109,10 @@ void AuctionsBucketData::BuildBucketInfo(WorldPackets::AuctionHouse::BucketInfo*
bucketInfo->MaxBattlePetQuality = bucketInfo->MaxBattlePetQuality ? std::max(*bucketInfo->MaxBattlePetQuality, quality) : quality;
bucketInfo->MaxBattlePetLevel = bucketInfo->MaxBattlePetLevel ? std::max(*bucketInfo->MaxBattlePetLevel, level) : level;
bucketInfo->BattlePetBreedID = breedId;
+ if (!bucketInfo->BattlePetLevelMask)
+ bucketInfo->BattlePetLevelMask = 0;
+
+ *bucketInfo->BattlePetLevelMask |= 1 << (level - 1);
}
}
@@ -847,13 +851,11 @@ AuctionPosting* AuctionHouseObject::GetAuction(uint32 auctionId)
void AuctionHouseObject::AddAuction(CharacterDatabaseTransaction trans, AuctionPosting auction)
{
AuctionsBucketKey key = AuctionsBucketKey::ForItem(auction.Items[0]);
- AuctionsBucketData* bucket;
- auto bucketItr = _buckets.find(key);
- if (bucketItr == _buckets.end())
+ auto [bucketItr, isNew] = _buckets.try_emplace(key);
+ AuctionsBucketData* bucket = &bucketItr->second;
+ if (isNew)
{
// we don't have any item for this key yet, create new bucket
- bucketItr = _buckets.emplace(std::piecewise_construct, std::forward_as_tuple(key), std::forward_as_tuple()).first;
- bucket = &bucketItr->second;
bucket->Key = key;
ItemTemplate const* itemTemplate = auction.Items[0]->GetTemplate();
@@ -900,8 +902,6 @@ void AuctionHouseObject::AddAuction(CharacterDatabaseTransaction trans, AuctionP
bucket->FullName[locale] = wstrCaseAccentInsensitiveParse(utf16name, locale);
}
}
- else
- bucket = &bucketItr->second;
// update cache fields
uint64 priceToDisplay = auction.BuyoutOrUnitPrice ? auction.BuyoutOrUnitPrice : auction.BidAmount;
diff --git a/src/server/game/Server/Packets/AuctionHousePackets.cpp b/src/server/game/Server/Packets/AuctionHousePackets.cpp
index 9b5bc832e84..7eec7ad4077 100644
--- a/src/server/game/Server/Packets/AuctionHousePackets.cpp
+++ b/src/server/game/Server/Packets/AuctionHousePackets.cpp
@@ -34,7 +34,7 @@ AuctionBucketKey& AuctionBucketKey::operator=(AuctionsBucketKey const& key)
BattlePetSpeciesID = key.BattlePetSpeciesId;
if (key.SuffixItemNameDescriptionId)
- SuffixItemNameDescriptionID = key.SuffixItemNameDescriptionId;
+ ItemSuffix = key.SuffixItemNameDescriptionId;
return *this;
}
@@ -50,13 +50,13 @@ ByteBuffer& operator>>(ByteBuffer& data, AuctionBucketKey& itemKey)
itemKey.ItemLevel = data.ReadBits(11);
if (data.ReadBit())
- itemKey.SuffixItemNameDescriptionID.emplace();
+ itemKey.ItemSuffix.emplace();
if (itemKey.BattlePetSpeciesID)
data >> *itemKey.BattlePetSpeciesID;
- if (itemKey.SuffixItemNameDescriptionID)
- data >> *itemKey.SuffixItemNameDescriptionID;
+ if (itemKey.ItemSuffix)
+ data >> *itemKey.ItemSuffix;
return data;
}
@@ -66,14 +66,14 @@ ByteBuffer& operator<<(ByteBuffer& data, AuctionBucketKey const& itemKey)
data.WriteBits(itemKey.ItemID, 20);
data.WriteBit(itemKey.BattlePetSpeciesID.has_value());
data.WriteBits(itemKey.ItemLevel, 11);
- data.WriteBit(itemKey.SuffixItemNameDescriptionID.has_value());
+ data.WriteBit(itemKey.ItemSuffix.has_value());
data.FlushBits();
if (itemKey.BattlePetSpeciesID)
data << uint16(*itemKey.BattlePetSpeciesID);
- if (itemKey.SuffixItemNameDescriptionID)
- data << uint16(*itemKey.SuffixItemNameDescriptionID);
+ if (itemKey.ItemSuffix)
+ data << uint16(*itemKey.ItemSuffix);
return data;
}
@@ -164,7 +164,7 @@ ByteBuffer& operator<<(ByteBuffer& data, BucketInfo const& bucketInfo)
data.WriteBit(bucketInfo.MaxBattlePetQuality.has_value());
data.WriteBit(bucketInfo.MaxBattlePetLevel.has_value());
data.WriteBit(bucketInfo.BattlePetBreedID.has_value());
- data.WriteBit(bucketInfo.Unk901_1.has_value());
+ data.WriteBit(bucketInfo.BattlePetLevelMask.has_value());
data.WriteBit(bucketInfo.ContainsOwnerItem);
data.WriteBit(bucketInfo.ContainsOnlyCollectedAppearances);
data.FlushBits();
@@ -178,8 +178,8 @@ ByteBuffer& operator<<(ByteBuffer& data, BucketInfo const& bucketInfo)
if (bucketInfo.BattlePetBreedID)
data << uint8(*bucketInfo.BattlePetBreedID);
- if (bucketInfo.Unk901_1)
- data << uint32(*bucketInfo.Unk901_1);
+ if (bucketInfo.BattlePetLevelMask)
+ data << uint32(*bucketInfo.BattlePetLevelMask);
return data;
}
diff --git a/src/server/game/Server/Packets/AuctionHousePackets.h b/src/server/game/Server/Packets/AuctionHousePackets.h
index e132ca777b5..d44111291ca 100644
--- a/src/server/game/Server/Packets/AuctionHousePackets.h
+++ b/src/server/game/Server/Packets/AuctionHousePackets.h
@@ -45,7 +45,7 @@ namespace WorldPackets
uint32 ItemID = 0;
uint16 ItemLevel = 0;
Optional<uint16> BattlePetSpeciesID;
- Optional<uint16> SuffixItemNameDescriptionID;
+ Optional<uint16> ItemSuffix;
};
struct AuctionListFilterSubClass
@@ -100,7 +100,7 @@ namespace WorldPackets
Optional<uint8> MaxBattlePetQuality;
Optional<uint8> MaxBattlePetLevel;
Optional<uint8> BattlePetBreedID;
- Optional<uint32> Unk901_1;
+ Optional<uint32> BattlePetLevelMask;
bool ContainsOwnerItem = false;
bool ContainsOnlyCollectedAppearances = false;
};