Project SkyFire Core
SkyFire 5.4.8 server core API documentation
Loading...
Searching...
No Matches
MailDraft Class Reference

#include <Mail.h>

Public Member Functions

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

Private Types

typedef std::map< uint32, Item * > MailItemMap

Private Member Functions

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

Private Attributes

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

Detailed Description

Definition at line 107 of file Mail.h.

Member Typedef Documentation

◆ MailItemMap

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

Definition at line 109 of file Mail.h.

Constructor & Destructor Documentation

◆ MailDraft() [1/2]

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

Definition at line 112 of file Mail.h.

References m_COD, m_mailTemplateId, m_mailTemplateItemsNeed, and m_money.

Referenced by AddCOD(), AddItem(), and AddMoney().

◆ MailDraft() [2/2]

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

Definition at line 115 of file Mail.h.

References m_body, m_COD, m_mailTemplateId, m_mailTemplateItemsNeed, m_money, and m_subject.

Member Function Documentation

◆ AddCOD()

MailDraft & MailDraft::AddCOD ( uint32 COD)
inline

Definition at line 127 of file Mail.h.

References m_COD, and MailDraft().

Referenced by WorldSession::HandleSendMail().

◆ AddItem()

◆ AddMoney()

◆ deleteIncludedItems()

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

◆ GetBody()

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

Definition at line 122 of file Mail.h.

References m_body.

Referenced by SendMailTo().

◆ GetCOD()

uint64 MailDraft::GetCOD ( ) const
inline

Definition at line 121 of file Mail.h.

References m_COD.

Referenced by SendMailTo().

◆ GetMailTemplateId()

uint16 MailDraft::GetMailTemplateId ( ) const
inline

Definition at line 118 of file Mail.h.

References m_mailTemplateId.

Referenced by SendMailTo().

◆ GetMoney()

uint64 MailDraft::GetMoney ( ) const
inline

Definition at line 120 of file Mail.h.

References m_money.

Referenced by SendMailTo().

◆ GetSubject()

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

Definition at line 119 of file Mail.h.

References m_subject.

Referenced by SendMailTo().

◆ prepareItems()

void MailDraft::prepareItems ( Player * receiver,
SQLTransaction & trans )
private

◆ SendMailTo()

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

Definition at line 162 of file Mail.cpp.

References Mail::AddItem(), Player::AddMail(), Player::AddMItem(), Player::AddNewMailDeliverTime(), BATTLEGROUND_TYPE_NONE, 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, GetBody(), GetCOD(), Object::GetEntry(), Object::GetGUIDLow(), MailSender::GetMailMessageType(), GetMailTemplateId(), GetMoney(), MailReceiver::GetPlayer(), MailReceiver::GetPlayerGUIDLow(), MailSender::GetSenderId(), MailSender::GetStationery(), GetSubject(), Player::IsGameMaster(), Player::IsMailsLoaded(), m_COD, m_items, m_money, MAIL_AUCTION, MAIL_CREATURE, MAIL_STATE_UNCHANGED, Mail::mailTemplateId, Mail::messageID, Mail::messageType, Mail::money, prepareItems(), Mail::receiver, sBattlegroundMgr, Mail::sender, PreparedStatement::setBool(), PreparedStatement::setInt8(), PreparedStatement::setString(), PreparedStatement::setUInt16(), PreparedStatement::setUInt32(), PreparedStatement::setUInt64(), PreparedStatement::setUInt8(), sObjectMgr, Mail::state, Mail::stationery, Mail::subject, and sWorld.

Referenced by Player::_LoadInventory(), Player::AutoUnequipOffhandIfNeed(), AchievementMgr< Guild >::CompletedAchievement(), Player::GiveLevel(), WorldSession::HandleAuctionRemoveItem(), WorldSession::HandleMailTakeItem(), send_commandscript::HandleSendItemsCommand(), WorldSession::HandleSendMail(), send_commandscript::HandleSendMailCommand(), send_commandscript::HandleSendMoneyCommand(), CalendarMgr::RemoveEvent(), Player::RewardQuest(), AuctionHouseMgr::SendAuctionCancelledToBidderMail(), AuctionHouseMgr::SendAuctionExpiredMail(), BlackMarketMgr::SendAuctionOutbidded(), AuctionHouseMgr::SendAuctionOutbiddedMail(), AuctionHouseMgr::SendAuctionSalePendingMail(), AuctionHouseMgr::SendAuctionSuccessfulMail(), BlackMarketMgr::SendAuctionWon(), AuctionHouseMgr::SendAuctionWonMail(), LuaGlobalFunctions::SendMail(), and SendReturnToSender().

◆ SendReturnToSender()

Member Data Documentation

◆ m_body

std::string MailDraft::m_body
private

Definition at line 140 of file Mail.h.

Referenced by GetBody(), and MailDraft().

◆ m_COD

uint64 MailDraft::m_COD
private

Definition at line 145 of file Mail.h.

Referenced by AddCOD(), GetCOD(), MailDraft(), MailDraft(), and SendMailTo().

◆ m_items

MailItemMap MailDraft::m_items
private

Definition at line 142 of file Mail.h.

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

◆ m_mailTemplateId

uint16 MailDraft::m_mailTemplateId
private

Definition at line 137 of file Mail.h.

Referenced by GetMailTemplateId(), MailDraft(), MailDraft(), and prepareItems().

◆ m_mailTemplateItemsNeed

bool MailDraft::m_mailTemplateItemsNeed
private

Definition at line 138 of file Mail.h.

Referenced by MailDraft(), MailDraft(), and prepareItems().

◆ m_money

uint64 MailDraft::m_money
private

Definition at line 144 of file Mail.h.

Referenced by AddMoney(), GetMoney(), MailDraft(), MailDraft(), and SendMailTo().

◆ m_subject

std::string MailDraft::m_subject
private

Definition at line 139 of file Mail.h.

Referenced by GetSubject(), and MailDraft().


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