TrinityCore
Loading...
Searching...
No Matches
MailDraft Class Reference

#include <Mail.h>

Public Member Functions

 MailDraft (uint16 mailTemplateId, bool need_items=true)
 
 MailDraft (std::string const &subject, std::string const &body)
 
uint16 GetMailTemplateId () const
 
std::string const & GetSubject () const
 
uint64 GetMoney () const
 
uint64 GetCOD () const
 
std::string const & GetBody () const
 
MailDraft & AddItem (Item *item)
 
MailDraft & AddMoney (uint64 money)
 
MailDraft & AddCOD (uint64 COD)
 
void SendReturnToSender (uint32 sender_acc, ObjectGuid::LowType sender_guid, ObjectGuid::LowType receiver_guid, CharacterDatabaseTransaction trans)
 
void SendMailTo (CharacterDatabaseTransaction trans, MailReceiver const &receiver, MailSender const &sender, MailCheckMask checked=MAIL_CHECK_MASK_NONE, uint32 deliver_delay=0)
 

Private Types

typedef std::map< ObjectGuid::LowType, Item * > MailItemMap
 

Private Member Functions

void deleteIncludedItems (CharacterDatabaseTransaction trans, bool inDB=false)
 
void prepareItems (Player *receiver, CharacterDatabaseTransaction trans)
 

Private Attributes

uint16 m_mailTemplateId
 
bool m_mailTemplateItemsNeed
 
std::string m_subject
 
std::string m_body
 
MailItemMap m_items
 
uint64 m_money
 
uint64 m_COD
 

Detailed Description

Definition at line 132 of file Mail.h.

Member Typedef Documentation

◆ MailItemMap

typedef std::map<ObjectGuid::LowType, Item*> MailDraft::MailItemMap
private

Definition at line 134 of file Mail.h.

Constructor & Destructor Documentation

◆ MailDraft() [1/2]

MailDraft::MailDraft ( uint16  mailTemplateId,
bool  need_items = true 
)
inlineexplicit

Definition at line 137 of file Mail.h.

◆ MailDraft() [2/2]

MailDraft::MailDraft ( std::string const &  subject,
std::string const &  body 
)
inline

Definition at line 140 of file Mail.h.

Member Function Documentation

◆ AddCOD()

MailDraft & MailDraft::AddCOD ( uint64  COD)
inline

Definition at line 152 of file Mail.h.

Referenced by WorldSession::HandleSendMail().

◆ AddItem()

◆ AddMoney()

◆ deleteIncludedItems()

void MailDraft::deleteIncludedItems ( CharacterDatabaseTransaction  trans,
bool  inDB = false 
)
private

Definition at line 137 of file Mail.cpp.

References Item::DeleteFromDB(), and m_items.

Referenced by SendMailTo(), and SendReturnToSender().

◆ GetBody()

std::string const & MailDraft::GetBody ( ) const
inline

Definition at line 147 of file Mail.h.

Referenced by SendMailTo().

◆ GetCOD()

uint64 MailDraft::GetCOD ( ) const
inline

Definition at line 146 of file Mail.h.

Referenced by SendMailTo().

◆ GetMailTemplateId()

uint16 MailDraft::GetMailTemplateId ( ) const
inline

Definition at line 143 of file Mail.h.

Referenced by SendMailTo().

◆ GetMoney()

uint64 MailDraft::GetMoney ( ) const
inline

Definition at line 145 of file Mail.h.

Referenced by SendMailTo().

◆ GetSubject()

std::string const & MailDraft::GetSubject ( ) const
inline

Definition at line 144 of file Mail.h.

Referenced by SendMailTo().

◆ prepareItems()

◆ SendMailTo()

void MailDraft::SendMailTo ( CharacterDatabaseTransaction  trans,
MailReceiver const &  receiver,
MailSender const &  sender,
MailCheckMask  checked = MAIL_CHECK_MASK_NONE,
uint32  deliver_delay = 0 
)

Definition at line 195 of file Mail.cpp.

References Mail::AddItem(), Player::AddMail(), Player::AddMItem(), Player::AddNewMailDeliverTime(), Mail::body, CHAR_INS_MAIL, CHAR_INS_MAIL_ITEM, CharacterDatabase, Mail::checked, Mail::COD, CONFIG_MAIL_DELIVERY_DELAY, DAY, deleteIncludedItems(), Mail::deliver_time, Mail::expire_time, ObjectAccessor::FindPlayer(), GetBody(), GetCOD(), ObjectGuid::GetCounter(), Object::GetEntry(), GameTime::GetGameTime(), BaseEntity::GetGUID(), MailSender::GetMailMessageType(), GetMailTemplateId(), GetMoney(), MailReceiver::GetPlayer(), MailReceiver::GetPlayerGUIDLow(), MailSender::GetSenderId(), MailSender::GetStationery(), GetSubject(), Player::IsGameMaster(), m_COD, m_items, m_money, MAIL_AUCTION, MAIL_NORMAL, MAIL_STATE_UNCHANGED, Mail::mailTemplateId, Mail::messageID, Mail::messageType, Mail::money, prepareItems(), Mail::receiver, Mail::sender, PreparedStatementBase::setBool(), PreparedStatementBase::setInt64(), PreparedStatementBase::setInt8(), PreparedStatementBase::setString(), PreparedStatementBase::setUInt16(), PreparedStatementBase::setUInt32(), PreparedStatementBase::setUInt64(), PreparedStatementBase::setUInt8(), sObjectMgr, Mail::state, Mail::stationery, Mail::subject, and sWorld.

Referenced by Player::_LoadInventory(), Player::AutoUnequipOffhandIfNeed(), AuctionHouseObject::BuyCommodity(), PlayerAchievementMgr::CompletedAchievement(), Player::GiveLevel(), WorldSession::HandleMailTakeItem(), WorldSession::HandleSendMail(), send_commandscript::HandleSendMailCommand(), send_commandscript::HandleSendMoneyCommand(), CalendarMgr::RemoveEvent(), Player::RewardQuest(), AuctionHouseObject::SendAuctionCancelledToBidder(), AuctionHouseObject::SendAuctionExpired(), AuctionHouseObject::SendAuctionInvoice(), AuctionHouseObject::SendAuctionOutbid(), BlackMarketMgr::SendAuctionOutbidMail(), AuctionHouseObject::SendAuctionRemoved(), AuctionHouseObject::SendAuctionSold(), AuctionHouseObject::SendAuctionWon(), BlackMarketMgr::SendAuctionWonMail(), Player::SendItemRetrievalMail(), npc_minigob_manabonk::SendMailToPlayer(), SendReturnToSender(), and Player::SetInventorySlotCount().

◆ SendReturnToSender()

Member Data Documentation

◆ m_body

std::string MailDraft::m_body
private

Definition at line 165 of file Mail.h.

◆ m_COD

uint64 MailDraft::m_COD
private

Definition at line 170 of file Mail.h.

Referenced by SendMailTo().

◆ m_items

MailItemMap MailDraft::m_items
private

Definition at line 167 of file Mail.h.

Referenced by AddItem(), deleteIncludedItems(), prepareItems(), SendMailTo(), and SendReturnToSender().

◆ m_mailTemplateId

uint16 MailDraft::m_mailTemplateId
private

Definition at line 162 of file Mail.h.

Referenced by prepareItems().

◆ m_mailTemplateItemsNeed

bool MailDraft::m_mailTemplateItemsNeed
private

Definition at line 163 of file Mail.h.

Referenced by prepareItems().

◆ m_money

uint64 MailDraft::m_money
private

Definition at line 169 of file Mail.h.

Referenced by prepareItems(), and SendMailTo().

◆ m_subject

std::string MailDraft::m_subject
private

Definition at line 164 of file Mail.h.


The documentation for this class was generated from the following files: