diff options
Diffstat (limited to 'src')
| -rwxr-xr-x | src/server/game/Mails/Mail.cpp | 7 | ||||
| -rwxr-xr-x | src/server/game/Mails/Mail.h | 1 | ||||
| -rwxr-xr-x | src/server/game/Server/Protocol/Handlers/MailHandler.cpp | 4 |
3 files changed, 11 insertions, 1 deletions
diff --git a/src/server/game/Mails/Mail.cpp b/src/server/game/Mails/Mail.cpp index 287767723bd..ef36fe430c5 100755 --- a/src/server/game/Mails/Mail.cpp +++ b/src/server/game/Mails/Mail.cpp @@ -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()) { diff --git a/src/server/game/Mails/Mail.h b/src/server/game/Mails/Mail.h index 4308d53676d..c729566b398 100755 --- a/src/server/game/Mails/Mail.h +++ b/src/server/game/Mails/Mail.h @@ -95,6 +95,7 @@ class MailSender } MailSender(Object* sender, MailStationery stationery = MAIL_STATIONERY_DEFAULT); MailSender(AuctionEntry* sender); + MailSender(Player* sender); public: // Accessors MailMessageType GetMailMessageType() const { return m_messageType; } uint32 GetSenderId() const { return m_senderId; } diff --git a/src/server/game/Server/Protocol/Handlers/MailHandler.cpp b/src/server/game/Server/Protocol/Handlers/MailHandler.cpp index 986de94dd98..fc841f9f3c8 100755 --- a/src/server/game/Server/Protocol/Handlers/MailHandler.cpp +++ b/src/server/game/Server/Protocol/Handlers/MailHandler.cpp @@ -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. 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 draft .AddMoney(money) .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); CharacterDatabase.CommitTransaction(trans); |
