Core/Mail: Load mails at login instead of on demand when queried by packets (logging in always sends one of the packets that cause mail loading anyway)

(cherry picked from commit 57eaab80d9)
This commit is contained in:
Shauren
2020-07-30 20:38:04 +02:00
parent 54a6e603ff
commit a9b4f9aca0
8 changed files with 88 additions and 132 deletions

View File

@@ -572,10 +572,6 @@ void WorldSession::HandleGetMailList(WorldPackets::Mail::MailGetList& packet)
Player* player = _player;
//load players mails, and mailed items
if (!player->m_mailsLoaded)
player->_LoadMail();
WorldPackets::Mail::MailListResult response;
time_t curTime = GameTime::GetGameTime();
@@ -655,14 +651,10 @@ void WorldSession::HandleMailCreateTextItem(WorldPackets::Mail::MailCreateTextIt
}
}
/// @todo Fix me! ... this void has probably bad condition, but good data are sent
void WorldSession::HandleQueryNextMailTime(WorldPackets::Mail::MailQueryNextMailTime& /*packet*/)
{
WorldPackets::Mail::MailQueryNextTimeResult result;
if (!_player->m_mailsLoaded)
_player->_LoadMail();
if (_player->unReadMails > 0)
{
result.NextMailTime = 0.0f;