diff options
Diffstat (limited to 'src/server/game/Handlers/MailHandler.cpp')
-rw-r--r-- | src/server/game/Handlers/MailHandler.cpp | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/src/server/game/Handlers/MailHandler.cpp b/src/server/game/Handlers/MailHandler.cpp index 840f3528a89..f6122bcd30a 100644 --- a/src/server/game/Handlers/MailHandler.cpp +++ b/src/server/game/Handlers/MailHandler.cpp @@ -22,6 +22,7 @@ #include "DatabaseEnv.h" #include "DB2Stores.h" #include "GossipDef.h" +#include "GameTime.h" #include "Guild.h" #include "GuildMgr.h" #include "Item.h" @@ -384,7 +385,7 @@ void WorldSession::HandleMailReturnToSender(WorldPackets::Mail::MailReturnToSend Player* player = _player; Mail* m = player->GetMail(packet.MailID); - if (!m || m->state == MAIL_STATE_DELETED || m->deliver_time > time(nullptr) || m->sender != packet.SenderGUID.GetCounter()) + if (!m || m->state == MAIL_STATE_DELETED || m->deliver_time > GameTime::GetGameTime() || m->sender != packet.SenderGUID.GetCounter()) { player->SendMailResult(packet.MailID, MAIL_RETURNED_TO_SENDER, MAIL_ERR_INTERNAL_ERROR); return; @@ -438,7 +439,7 @@ void WorldSession::HandleMailTakeItem(WorldPackets::Mail::MailTakeItem& packet) Player* player = _player; Mail* m = player->GetMail(packet.MailID); - if (!m || m->state == MAIL_STATE_DELETED || m->deliver_time > time(nullptr)) + if (!m || m->state == MAIL_STATE_DELETED || m->deliver_time > GameTime::GetGameTime()) { player->SendMailResult(packet.MailID, MAIL_ITEM_TAKEN, MAIL_ERR_INTERNAL_ERROR); return; @@ -534,7 +535,7 @@ void WorldSession::HandleMailTakeMoney(WorldPackets::Mail::MailTakeMoney& packet Player* player = _player; Mail* m = player->GetMail(packet.MailID); - if ((!m || m->state == MAIL_STATE_DELETED || m->deliver_time > time(nullptr)) || + if ((!m || m->state == MAIL_STATE_DELETED || m->deliver_time > GameTime::GetGameTime()) || (packet.Money > 0 && m->money != uint64(packet.Money))) { player->SendMailResult(packet.MailID, MAIL_MONEY_TAKEN, MAIL_ERR_INTERNAL_ERROR); @@ -573,7 +574,7 @@ void WorldSession::HandleGetMailList(WorldPackets::Mail::MailGetList& packet) player->_LoadMail(); WorldPackets::Mail::MailListResult response; - time_t curTime = time(nullptr); + time_t curTime = GameTime::GetGameTime(); for (Mail* m : player->GetMails()) { @@ -605,7 +606,7 @@ void WorldSession::HandleMailCreateTextItem(WorldPackets::Mail::MailCreateTextIt Player* player = _player; Mail* m = player->GetMail(packet.MailID); - if (!m || (m->body.empty() && !m->mailTemplateId) || m->state == MAIL_STATE_DELETED || m->deliver_time > time(nullptr) || (m->checked & MAIL_CHECK_MASK_COPIED)) + if (!m || (m->body.empty() && !m->mailTemplateId) || m->state == MAIL_STATE_DELETED || m->deliver_time > GameTime::GetGameTime() || (m->checked & MAIL_CHECK_MASK_COPIED)) { player->SendMailResult(packet.MailID, MAIL_MADE_PERMANENT, MAIL_ERR_INTERNAL_ERROR); return; @@ -663,7 +664,7 @@ void WorldSession::HandleQueryNextMailTime(WorldPackets::Mail::MailQueryNextMail { result.NextMailTime = 0.0f; - time_t now = time(nullptr); + time_t now = GameTime::GetGameTime(); std::set<ObjectGuid::LowType> sentSenders; for (Mail* mail : _player->GetMails()) |