![]() |
TrinityCore
|
#include <AuctionHouseMgr.h>
Classes | |
| struct | PendingAuctionInfo |
| struct | PlayerPendingAuctions |
| struct | PlayerThrottleObject |
Public Member Functions | |
| AuctionHouseMgr (AuctionHouseMgr const &)=delete | |
| AuctionHouseMgr (AuctionHouseMgr &&)=delete | |
| AuctionHouseMgr & | operator= (AuctionHouseMgr const &)=delete |
| AuctionHouseMgr & | operator= (AuctionHouseMgr &&)=delete |
| AuctionHouseObject * | GetAuctionsMap (uint32 factionTemplateId) |
| AuctionHouseObject * | GetAuctionsById (uint32 auctionHouseId) |
| Item * | GetAItem (ObjectGuid itemGuid) |
| void | LoadAuctions () |
| void | AddAItem (Item *item) |
| bool | RemoveAItem (ObjectGuid itemGuid, bool deleteItem=false, CharacterDatabaseTransaction *trans=nullptr) |
| bool | PendingAuctionAdd (Player const *player, uint32 auctionHouseId, uint32 auctionId, uint64 deposit) |
| std::size_t | PendingAuctionCount (Player const *player) const |
| void | PendingAuctionProcess (Player *player) |
| void | UpdatePendingAuctions () |
| void | Update () |
| uint32 | GenerateReplicationId () |
| AuctionThrottleResult | CheckThrottle (Player const *player, bool addonTainted, AuctionCommand command=AuctionCommand::SellItem) |
Static Public Member Functions | |
| static AuctionHouseMgr * | instance () |
| static std::string | BuildItemAuctionMailSubject (AuctionMailType type, AuctionPosting const *auction) |
| static std::string | BuildCommodityAuctionMailSubject (AuctionMailType type, uint32 itemId, uint32 itemCount) |
| static std::string | BuildAuctionMailSubject (uint32 itemId, AuctionMailType type, uint32 auctionId, uint32 itemCount, uint32 battlePetSpeciesId, ItemContext context, std::vector< int32 > const &bonusListIds) |
| static std::string | BuildAuctionWonMailBody (ObjectGuid guid, uint64 bid, uint64 buyout) |
| static std::string | BuildAuctionSoldMailBody (ObjectGuid guid, uint64 bid, uint64 buyout, uint32 deposit, uint64 consignment) |
| static std::string | BuildAuctionInvoiceMailBody (ObjectGuid guid, uint64 bid, uint64 buyout, uint32 deposit, uint64 consignment, uint32 moneyDelay, uint32 eta) |
| static uint64 | GetCommodityAuctionDeposit (ItemTemplate const *item, Minutes time, uint32 quantity) |
| static uint64 | GetItemAuctionDeposit (Player const *player, Item const *item, Minutes time) |
| static AuctionHouseEntry const * | GetAuctionHouseEntry (uint32 factionTemplateId, uint32 *houseId) |
Private Member Functions | |
| AuctionHouseMgr () | |
| ~AuctionHouseMgr () | |
Private Attributes | |
| AuctionHouseObject | mHordeAuctions |
| AuctionHouseObject | mAllianceAuctions |
| AuctionHouseObject | mNeutralAuctions |
| AuctionHouseObject | mGoblinAuctions |
| std::unordered_map< ObjectGuid, PlayerPendingAuctions > | _pendingAuctionsByPlayer |
| std::unordered_map< ObjectGuid, Item * > | _itemsByGuid |
| uint32 | _replicateIdGenerator |
| std::unordered_map< ObjectGuid, PlayerThrottleObject > | _playerThrottleObjects |
| TimePoint | _playerThrottleObjectsCleanupTime |
Definition at line 348 of file AuctionHouseMgr.h.
|
private |
Definition at line 387 of file AuctionHouseMgr.cpp.
References _playerThrottleObjectsCleanupTime, and GameTime::Now().
|
private |
Definition at line 392 of file AuctionHouseMgr.cpp.
References _itemsByGuid.
|
delete |
|
delete |
| void AuctionHouseMgr::AddAItem | ( | Item * | item | ) |
Definition at line 617 of file AuctionHouseMgr.cpp.
References _itemsByGuid, ASSERT, ASSERT_WITH_SIDE_EFFECTS, and BaseEntity::GetGUID().
|
static |
Definition at line 484 of file AuctionHouseMgr.cpp.
References Trinity::StringFormat(), and ObjectGuid::ToString().
Referenced by AuctionHouseObject::SendAuctionInvoice().
|
static |
Definition at line 467 of file AuctionHouseMgr.cpp.
References AsUnderlyingType(), and Trinity::StringFormat().
Referenced by BuildCommodityAuctionMailSubject(), and BuildItemAuctionMailSubject().
|
static |
Definition at line 479 of file AuctionHouseMgr.cpp.
References Trinity::StringFormat(), and ObjectGuid::ToString().
Referenced by AuctionHouseObject::BuyCommodity(), and AuctionHouseObject::SendAuctionSold().
|
static |
Definition at line 474 of file AuctionHouseMgr.cpp.
References Trinity::StringFormat(), and ObjectGuid::ToString().
Referenced by AuctionHouseObject::BuyCommodity(), and AuctionHouseObject::SendAuctionWon().
|
static |
Definition at line 462 of file AuctionHouseMgr.cpp.
References BuildAuctionMailSubject(), and NONE.
Referenced by AuctionHouseObject::BuyCommodity().
|
static |
Definition at line 456 of file AuctionHouseMgr.cpp.
References BuildAuctionMailSubject(), AuctionPosting::GetTotalItemCount(), AuctionPosting::Id, ITEM_MODIFIER_BATTLE_PET_SPECIES_ID, and AuctionPosting::Items.
Referenced by AuctionHouseObject::SendAuctionCancelledToBidder(), AuctionHouseObject::SendAuctionExpired(), AuctionHouseObject::SendAuctionInvoice(), AuctionHouseObject::SendAuctionOutbid(), AuctionHouseObject::SendAuctionRemoved(), AuctionHouseObject::SendAuctionSold(), and AuctionHouseObject::SendAuctionWon().
| AuctionThrottleResult AuctionHouseMgr::CheckThrottle | ( | Player const * | player, |
| bool | addonTainted, | ||
| AuctionCommand | command = AuctionCommand::SellItem |
||
| ) |
Definition at line 780 of file AuctionHouseMgr.cpp.
References _playerThrottleObjects, AuctionHouseBusy, CONFIG_AUCTION_SEARCH_DELAY, CONFIG_AUCTION_TAINTED_SEARCH_DELAY, BaseEntity::GetGUID(), Player::GetSession(), GameTime::Now(), WorldSession::SendAuctionCommandResult(), and sWorld.
| uint32 AuctionHouseMgr::GenerateReplicationId | ( | ) |
Definition at line 775 of file AuctionHouseMgr.cpp.
References _replicateIdGenerator.
| Item * AuctionHouseMgr::GetAItem | ( | ObjectGuid | itemGuid | ) |
Definition at line 439 of file AuctionHouseMgr.cpp.
References _itemsByGuid, and Trinity::Containers::MapGetValuePtr().
|
static |
Definition at line 802 of file AuctionHouseMgr.cpp.
References CONFIG_ALLOW_TWO_SIDE_INTERACTION_AUCTION, FACTION_MASK_ALLIANCE, FACTION_MASK_HORDE, FactionTemplateEntry::FactionGroup, sAuctionHouseStore, sFactionTemplateStore, and sWorld.
Referenced by WorldSession::HandleAuctionSellCommodity(), WorldSession::HandleAuctionSellItem(), and WorldSession::SendAuctionHello().
| AuctionHouseObject * AuctionHouseMgr::GetAuctionsById | ( | uint32 | auctionHouseId | ) |
Definition at line 421 of file AuctionHouseMgr.cpp.
References mAllianceAuctions, mGoblinAuctions, mHordeAuctions, and mNeutralAuctions.
Referenced by LoadAuctions(), PendingAuctionProcess(), and UpdatePendingAuctions().
| AuctionHouseObject * AuctionHouseMgr::GetAuctionsMap | ( | uint32 | factionTemplateId | ) |
Definition at line 404 of file AuctionHouseMgr.cpp.
References CONFIG_ALLOW_TWO_SIDE_INTERACTION_AUCTION, FACTION_MASK_ALLIANCE, FACTION_MASK_HORDE, FactionTemplateEntry::FactionGroup, mAllianceAuctions, mHordeAuctions, mNeutralAuctions, sFactionTemplateStore, and sWorld.
|
static |
Definition at line 444 of file AuctionHouseMgr.cpp.
References ItemTemplate::GetSellPrice(), MIN_AUCTION_TIME, MINUTE, and SILVER.
Referenced by AuctionHouseObject::BuyCommodity(), and WorldSession::HandleAuctionSellCommodity().
|
static |
Definition at line 450 of file AuctionHouseMgr.cpp.
References Item::GetSellPrice(), MIN_AUCTION_TIME, MINUTE, and SILVER.
Referenced by WorldSession::HandleAuctionSellItem().
|
static |
Definition at line 398 of file AuctionHouseMgr.cpp.
References instance().
Referenced by instance().
| void AuctionHouseMgr::LoadAuctions | ( | ) |
Definition at line 489 of file AuctionHouseMgr.cpp.
References _itemsByGuid, AuctionHouseObject::AddAuction(), AuctionPosting::BidAmount, AuctionPosting::Bidder, AuctionPosting::BidderHistory, AuctionPosting::BuyoutOrUnitPrice, CHAR_DEL_AUCTION, CHAR_SEL_AUCTION_BIDDERS, CHAR_SEL_AUCTION_ITEMS, CHAR_SEL_AUCTIONS, CharacterDatabase, AuctionPosting::Deposit, AuctionPosting::EndTime, GetAuctionsById(), getMSTime(), GetMSTimeDiffToNow(), Field::GetUInt32(), Field::GetUInt64(), Field::GetUInt8(), AuctionPosting::Id, AuctionPosting::Items, Item::LoadFromDB(), AuctionPosting::MinBid, NewItemOrBag(), AuctionPosting::Owner, AuctionPosting::OwnerAccount, sCharacterCache, AuctionPosting::ServerFlags, PreparedStatementBase::setUInt32(), sObjectMgr, AuctionPosting::StartTime, TC_LOG_ERROR, and TC_LOG_INFO.
|
delete |
|
delete |
| bool AuctionHouseMgr::PendingAuctionAdd | ( | Player const * | player, |
| uint32 | auctionHouseId, | ||
| uint32 | auctionId, | ||
| uint64 | deposit | ||
| ) |
Definition at line 640 of file AuctionHouseMgr.cpp.
References _pendingAuctionsByPlayer, BaseEntity::GetGUID(), and Player::HasEnoughMoney().
| std::size_t AuctionHouseMgr::PendingAuctionCount | ( | Player const * | player | ) | const |
Definition at line 663 of file AuctionHouseMgr.cpp.
References _pendingAuctionsByPlayer, and BaseEntity::GetGUID().
Referenced by UpdatePendingAuctions().
| void AuctionHouseMgr::PendingAuctionProcess | ( | Player * | player | ) |
Definition at line 672 of file AuctionHouseMgr.cpp.
References _pendingAuctionsByPlayer, AuctionHouseMgr::PendingAuctionInfo::AuctionHouseId, AuctionHouseMgr::PendingAuctionInfo::AuctionId, CHAR_UPD_AUCTION_EXPIRATION, CharacterDatabase, AuctionHouseObject::GetAuction(), GetAuctionsById(), GameTime::GetGameTime(), BaseEntity::GetGUID(), GameTime::GetSystemTime(), Player::HasEnoughMoney(), Player::ModifyMoney(), and PreparedStatementBase::setUInt32().
Referenced by UpdatePendingAuctions().
| bool AuctionHouseMgr::RemoveAItem | ( | ObjectGuid | itemGuid, |
| bool | deleteItem = false, |
||
| CharacterDatabaseTransaction * | trans = nullptr |
||
| ) |
Definition at line 623 of file AuctionHouseMgr.cpp.
References _itemsByGuid, ASSERT, and ITEM_REMOVED.
| void AuctionHouseMgr::Update | ( | ) |
Definition at line 753 of file AuctionHouseMgr.cpp.
References _playerThrottleObjects, _playerThrottleObjectsCleanupTime, mAllianceAuctions, mGoblinAuctions, mHordeAuctions, mNeutralAuctions, GameTime::Now(), and AuctionHouseObject::Update().
| void AuctionHouseMgr::UpdatePendingAuctions | ( | ) |
Definition at line 712 of file AuctionHouseMgr.cpp.
References _pendingAuctionsByPlayer, CHAR_UPD_AUCTION_EXPIRATION, CharacterDatabase, ObjectAccessor::FindConnectedPlayer(), AuctionHouseObject::GetAuction(), GetAuctionsById(), GameTime::GetGameTime(), GameTime::GetSystemTime(), PendingAuctionCount(), PendingAuctionProcess(), PreparedStatementBase::setUInt32(), TC_LOG_WARN, and ObjectGuid::ToString().
|
private |
Definition at line 423 of file AuctionHouseMgr.h.
Referenced by AddAItem(), GetAItem(), LoadAuctions(), RemoveAItem(), and ~AuctionHouseMgr().
|
private |
Definition at line 421 of file AuctionHouseMgr.h.
Referenced by PendingAuctionAdd(), PendingAuctionCount(), PendingAuctionProcess(), and UpdatePendingAuctions().
|
private |
Definition at line 427 of file AuctionHouseMgr.h.
Referenced by CheckThrottle(), and Update().
|
private |
Definition at line 428 of file AuctionHouseMgr.h.
Referenced by AuctionHouseMgr(), and Update().
|
private |
Definition at line 425 of file AuctionHouseMgr.h.
Referenced by GenerateReplicationId().
|
private |
Definition at line 398 of file AuctionHouseMgr.h.
Referenced by GetAuctionsById(), GetAuctionsMap(), and Update().
|
private |
Definition at line 400 of file AuctionHouseMgr.h.
Referenced by GetAuctionsById(), and Update().
|
private |
Definition at line 397 of file AuctionHouseMgr.h.
Referenced by GetAuctionsById(), GetAuctionsMap(), and Update().
|
private |
Definition at line 399 of file AuctionHouseMgr.h.
Referenced by GetAuctionsById(), GetAuctionsMap(), and Update().