Core/Handlers: Allow gamemasters to send mails with customer support badge depending on gm mode (.gm off/on)
This commit is contained in:
@@ -60,6 +60,13 @@ MailSender::MailSender(AuctionEntry* sender)
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
MailSender::MailSender(Player* sender)
|
||||||
|
{
|
||||||
|
m_messageType = MAIL_NORMAL;
|
||||||
|
m_stationery = sender->isGameMaster() ? MAIL_STATIONERY_GM : MAIL_STATIONERY_DEFAULT;
|
||||||
|
m_senderId = sender->GetGUIDLow();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
MailReceiver::MailReceiver(Player* receiver) : m_receiver(receiver), m_receiver_lowguid(receiver->GetGUIDLow())
|
MailReceiver::MailReceiver(Player* receiver) : m_receiver(receiver), m_receiver_lowguid(receiver->GetGUIDLow())
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -95,6 +95,7 @@ class MailSender
|
|||||||
}
|
}
|
||||||
MailSender(Object* sender, MailStationery stationery = MAIL_STATIONERY_DEFAULT);
|
MailSender(Object* sender, MailStationery stationery = MAIL_STATIONERY_DEFAULT);
|
||||||
MailSender(AuctionEntry* sender);
|
MailSender(AuctionEntry* sender);
|
||||||
|
MailSender(Player* sender);
|
||||||
public: // Accessors
|
public: // Accessors
|
||||||
MailMessageType GetMailMessageType() const { return m_messageType; }
|
MailMessageType GetMailMessageType() const { return m_messageType; }
|
||||||
uint32 GetSenderId() const { return m_senderId; }
|
uint32 GetSenderId() const { return m_senderId; }
|
||||||
|
|||||||
@@ -280,11 +280,13 @@ void WorldSession::HandleSendMail(WorldPacket & recv_data)
|
|||||||
// If theres is an item, there is a one hour delivery delay if sent to another account's character.
|
// If theres is an item, there is a one hour delivery delay if sent to another account's character.
|
||||||
uint32 deliver_delay = needItemDelay ? sWorld->getIntConfig(CONFIG_MAIL_DELIVERY_DELAY) : 0;
|
uint32 deliver_delay = needItemDelay ? sWorld->getIntConfig(CONFIG_MAIL_DELIVERY_DELAY) : 0;
|
||||||
|
|
||||||
|
uint32 stationary = pl->isGameMaster() ? MAIL_STATIONERY_GM : MAIL_STATIONERY_DEFAULT;
|
||||||
|
|
||||||
// will delete item or place to receiver mail list
|
// will delete item or place to receiver mail list
|
||||||
draft
|
draft
|
||||||
.AddMoney(money)
|
.AddMoney(money)
|
||||||
.AddCOD(COD)
|
.AddCOD(COD)
|
||||||
.SendMailTo(trans, MailReceiver(receive, GUID_LOPART(rc)), pl, body.empty() ? MAIL_CHECK_MASK_COPIED : MAIL_CHECK_MASK_HAS_BODY, deliver_delay);
|
.SendMailTo(trans, MailReceiver(receive, GUID_LOPART(rc)), MailSender(pl), body.empty() ? MAIL_CHECK_MASK_COPIED : MAIL_CHECK_MASK_HAS_BODY, deliver_delay);
|
||||||
|
|
||||||
pl->SaveInventoryAndGoldToDB(trans);
|
pl->SaveInventoryAndGoldToDB(trans);
|
||||||
CharacterDatabase.CommitTransaction(trans);
|
CharacterDatabase.CommitTransaction(trans);
|
||||||
|
|||||||
Reference in New Issue
Block a user