aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/AuctionHouse/AuctionHouseMgr.h
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2020-03-14 00:14:55 +0100
committerShauren <shauren.trinity@gmail.com>2020-03-14 00:14:55 +0100
commit569f1c9f2a4806948521f4c6eab36d406ba45593 (patch)
tree65000fda0ecc79ad2f71ccfcae286ee69c35baca /src/server/game/AuctionHouse/AuctionHouseMgr.h
parent79099fb95ded51a59999386a154986127c0f052a (diff)
Core/PacketIO: Add new auction house packet structures (not used yet)
Diffstat (limited to 'src/server/game/AuctionHouse/AuctionHouseMgr.h')
-rw-r--r--src/server/game/AuctionHouse/AuctionHouseMgr.h69
1 files changed, 56 insertions, 13 deletions
diff --git a/src/server/game/AuctionHouse/AuctionHouseMgr.h b/src/server/game/AuctionHouse/AuctionHouseMgr.h
index a53568bce5e..49d8dbebef8 100644
--- a/src/server/game/AuctionHouse/AuctionHouseMgr.h
+++ b/src/server/game/AuctionHouse/AuctionHouseMgr.h
@@ -20,6 +20,7 @@
#include "Define.h"
#include "DatabaseEnvFwd.h"
+#include "EnumClassFlag.h"
#include "ItemTemplate.h"
#include "ObjectGuid.h"
#include "Optional.h"
@@ -47,15 +48,20 @@ namespace WorldPackets
enum AuctionError
{
- ERR_AUCTION_OK = 0,
- ERR_AUCTION_INVENTORY = 1,
- ERR_AUCTION_DATABASE_ERROR = 2,
- ERR_AUCTION_NOT_ENOUGHT_MONEY = 3,
- ERR_AUCTION_ITEM_NOT_FOUND = 4,
- ERR_AUCTION_HIGHER_BID = 5,
- ERR_AUCTION_BID_INCREMENT = 7,
- ERR_AUCTION_BID_OWN = 10,
- ERR_AUCTION_RESTRICTED_ACCOUNT = 13
+ ERR_AUCTION_OK = 0,
+ ERR_AUCTION_INVENTORY = 1,
+ ERR_AUCTION_DATABASE_ERROR = 2,
+ ERR_AUCTION_NOT_ENOUGH_MONEY = 3,
+ ERR_AUCTION_ITEM_NOT_FOUND = 4,
+ ERR_AUCTION_HIGHER_BID = 5,
+ ERR_AUCTION_BID_INCREMENT = 7,
+ ERR_AUCTION_BID_OWN = 10,
+ ERR_AUCTION_RESTRICTED_ACCOUNT_TRIAL = 13,
+ ERR_AUCTION_HAS_RESTRICTION = 17,
+ ERR_AUCTION_HOUSE_BUSY = 18,
+ ERR_AUCTION_HOUSE_UNAVAILABLE = 19,
+ ERR_AUCTION_COMMODITY_PURCHASE_FAILED = 21,
+ ERR_AUCTION_ITEM_HAS_QUOTE = 23
};
enum AuctionAction
@@ -76,6 +82,42 @@ enum MailAuctionAnswers
AUCTION_SALE_PENDING = 6
};
+enum class AuctionHouseFilterMask : uint32
+{
+ UncollectedOnly = 0x1,
+ UsableOnly = 0x2,
+ UpgradesOnly = 0x4,
+ ExactMatch = 0x8,
+ PoorQuality = 0x10,
+ CommonQuality = 0x20,
+ UncommonQuality = 0x40,
+ RareQuality = 0x80,
+ EpicQuality = 0x100,
+ LegendaryQuality = 0x200,
+ ArtifactQuality = 0x400,
+};
+
+enum class AuctionHouseSortOrder : uint8
+{
+ Price = 0,
+ Name = 1,
+ Level = 2,
+ Bid = 3,
+ Buyout = 4
+};
+
+enum class AuctionHouseBrowseMode : uint8
+{
+ Search = 0,
+ SpecificKeys = 1
+};
+
+enum class AuctionHouseListType : uint8
+{
+ Commodities = 1,
+ Items = 2
+};
+
struct TC_GAME_API AuctionEntry
{
uint32 Id;
@@ -109,7 +151,7 @@ struct TC_GAME_API AuctionEntry
};
-struct AuctionSearchFilters
+struct AuctionSearchClassFilters
{
enum FilterType : uint32
{
@@ -168,10 +210,11 @@ class TC_GAME_API AuctionHouseObject
void Update();
- void BuildListBidderItems(WorldPackets::AuctionHouse::AuctionListBidderItemsResult& packet, Player* player, uint32& totalcount);
- void BuildListOwnerItems(WorldPackets::AuctionHouse::AuctionListOwnerItemsResult& packet, Player* player, uint32& totalcount);
+ void BuildListBidderItems(WorldPackets::AuctionHouse::AuctionListBidderItemsResult& packet, Player* player);
+ void BuildListOwnerItems(WorldPackets::AuctionHouse::AuctionListOwnerItemsResult& packet, Player* player);
void BuildListAuctionItems(WorldPackets::AuctionHouse::AuctionListItemsResult& packet, Player* player,
- std::wstring const& searchedname, uint32 listfrom, uint8 levelmin, uint8 levelmax, bool usable, Optional<AuctionSearchFilters> const& filters, uint32 quality);
+ std::wstring const& searchedname, uint32 listfrom, uint8 levelmin, uint8 levelmax, EnumClassFlag<AuctionHouseFilterMask> filters,
+ Optional<AuctionSearchClassFilters> const& classFilters);
void BuildReplicate(WorldPackets::AuctionHouse::AuctionReplicateResponse& auctionReplicateResult, Player* player,
uint32 global, uint32 cursor, uint32 tombstone, uint32 count);