diff options
author | Shocker <shocker@freakz.ro> | 2011-12-13 00:05:48 +0200 |
---|---|---|
committer | Shocker <shocker@freakz.ro> | 2011-12-13 00:05:48 +0200 |
commit | a045015bf2cf2abf8fc83ec06f91c0d70194e5bb (patch) | |
tree | 4d9661d77eeeb1885fa2385ea0de028ce574642b | |
parent | 17771b20c170ea4fd673dc221269aa95b35fd80f (diff) |
Core/Mail: Mails sent by game masters should last 90 days
-rwxr-xr-x | src/server/game/Mails/Mail.cpp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/server/game/Mails/Mail.cpp b/src/server/game/Mails/Mail.cpp index 6d54aacb311..e5de3e35956 100755 --- a/src/server/game/Mails/Mail.cpp +++ b/src/server/game/Mails/Mail.cpp @@ -171,6 +171,7 @@ void MailDraft::SendReturnToSender(uint32 sender_acc, uint32 sender_guid, uint32 void MailDraft::SendMailTo(SQLTransaction& trans, MailReceiver const& receiver, MailSender const& sender, MailCheckMask checked, uint32 deliver_delay) { Player* pReceiver = receiver.GetPlayer(); // can be NULL + Player* pSender = sObjectMgr->GetPlayerByLowGUID(sender.GetSenderId()); if (pReceiver) prepareItems(pReceiver, trans); // generate mail template items @@ -188,9 +189,12 @@ void MailDraft::SendMailTo(SQLTransaction& trans, MailReceiver const& receiver, // mail from battlemaster (rewardmarks) should last only one day else if (sender.GetMailMessageType() == MAIL_CREATURE && sBattlegroundMgr->GetBattleMasterBG(sender.GetSenderId()) != BATTLEGROUND_TYPE_NONE) expire_delay = DAY; - // default case: expire time if COD 3 days, if no COD 30 days + // default case: expire time if COD 3 days, if no COD 30 days (or 90 days if sender is a game master) else - expire_delay = (m_COD > 0) ? 3 * DAY : 30 * DAY; + if (m_COD) + expire_delay = 3 * DAY; + else + expire_delay = pSender && pSender->isGameMaster() ? 90 * DAY : 30 * DAY; time_t expire_time = deliver_time + expire_delay; |