6#ifndef SF_AUCTION_HOUSE_MGR_H
7#define SF_AUCTION_HOUSE_MGR_H
18#define MIN_AUCTION_TIME (12*HOUR)
19#define MAX_AUCTION_ITEMS 32
20#define AUCTION_SEARCH_DELAY 300
103 AuctionEntryMap::const_iterator itr =
AuctionsMap.find(
id);
104 return itr !=
AuctionsMap.end() ? itr->second : NULL;
140 ItemMap::const_iterator itr =
mAitems.find(
id);
179#define sAuctionMgr Skyfire::Singleton<AuctionHouseMgr, Skyfire::NullMutex>::instance()
@ AUCTION_CANCELLED_TO_BIDDER
@ ERR_AUCTION_NOT_ENOUGHT_MONEY
@ ERR_AUCTION_RESTRICTED_ACCOUNT
@ ERR_AUCTION_ITEM_NOT_FOUND
@ ERR_AUCTION_BID_INCREMENT
@ ERR_AUCTION_DATABASE_ERROR
Skyfire::AutoPtr< Transaction, Skyfire::Mutex > SQLTransaction
void SendAuctionSalePendingMail(AuctionEntry *auction, SQLTransaction &trans)
static AuctionHouseEntry const * GetAuctionHouseEntry(uint32 factionTemplateId)
void SendAuctionSuccessfulMail(AuctionEntry *auction, SQLTransaction &trans)
void DeleteExpiredAuctionsAtStartup()
UNORDERED_MAP< uint32, Item * > ItemMap
void SendAuctionCancelledToBidderMail(AuctionEntry *auction, SQLTransaction &trans, Item *item)
void SendAuctionWonMail(AuctionEntry *auction, SQLTransaction &trans)
Item * GetAItem(uint32 id)
AuctionHouseObject * GetBidsMap(uint32 factionTemplateId)
AuctionHouseObject * GetAuctionsMap(uint32 factionTemplateId)
AuctionHouseObject mNeutralAuctions
void SendAuctionExpiredMail(AuctionEntry *auction, SQLTransaction &trans)
AuctionHouseObject mHordeAuctions
bool RemoveAItem(uint32 id)
AuctionHouseObject mAllianceAuctions
void SendAuctionOutbiddedMail(AuctionEntry *auction, uint32 newPrice, Player *newBidder, SQLTransaction &trans)
static uint64 GetAuctionDeposit(AuctionHouseEntry const *entry, uint32 time, Item *pItem, uint32 count)
void BuildListBidderItems(WorldPacket &data, Player *player, uint32 &count, uint32 &totalcount)
void BuildListAuctionItems(WorldPacket &data, Player *player, std::wstring const &searchedname, uint32 listfrom, uint8 levelmin, uint8 levelmax, uint8 usable, uint32 inventoryType, uint32 itemClass, uint32 itemSubClass, uint32 quality, uint32 &count, uint32 &totalcount)
AuctionEntryMap AuctionsMap
AuctionEntry * GetAuction(uint32 id) const
AuctionEntryMap::iterator GetAuctionsEnd()
void AddAuction(AuctionEntry *auction)
std::map< uint32, AuctionEntry * > AuctionEntryMap
void BuildListOwnerItems(WorldPacket &data, Player *player, uint32 &count, uint32 &totalcount)
bool RemoveAuction(AuctionEntry *auction, uint32 itemEntry)
AuctionEntryMap::iterator GetAuctionsBegin()
bool BuildAuctionInfo(WorldPacket &data) const
bool LoadFromFieldList(Field *fields)
AuctionHouseEntry const * auctionHouseEntry
uint32 GetHouseId() const
static std::string BuildAuctionMailBody(uint32 lowGuid, uint64 bid, uint64 buyout, uint64 deposit, uint64 cut)
uint64 GetAuctionCut() const
uint32 GetHouseFaction() const
std::string BuildAuctionMailSubject(MailAuctionAnswer response) const
bool LoadFromDB(Field *fields)
void SaveToDB(SQLTransaction &trans) const
uint64 GetAuctionOutBid() const
the sum of outbid is (1% from current bid)*5, if bid is very small, it is 1c
void DeleteFromDB(SQLTransaction &trans) const