aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Handlers/MailHandler.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/game/Handlers/MailHandler.cpp')
-rw-r--r--src/server/game/Handlers/MailHandler.cpp21
1 files changed, 7 insertions, 14 deletions
diff --git a/src/server/game/Handlers/MailHandler.cpp b/src/server/game/Handlers/MailHandler.cpp
index 7bc0bfdc440..0941074663a 100644
--- a/src/server/game/Handlers/MailHandler.cpp
+++ b/src/server/game/Handlers/MailHandler.cpp
@@ -104,7 +104,7 @@ void WorldSession::HandleSendMail(WorldPacket& recvData)
ObjectGuid receiverGuid;
if (normalizePlayerName(receiverName))
- receiverGuid = sObjectMgr->GetPlayerGUIDByName(receiverName);
+ receiverGuid = sWorld->GetCharacterGuidByName(receiverName);
if (!receiverGuid)
{
@@ -160,7 +160,12 @@ void WorldSession::HandleSendMail(WorldPacket& recvData)
}
else
{
- receiverTeam = sObjectMgr->GetPlayerTeamByGUID(receiverGuid);
+ if (CharacterInfo const* characterInfo = sWorld->GetCharacterInfo(receiverGuid))
+ {
+ receiverTeam = Player::TeamForRace(characterInfo->Race);
+ receiverLevel = characterInfo->Level;
+ receiverAccountId = characterInfo->AccountId;
+ }
PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_SEL_MAIL_COUNT);
stmt->setUInt32(0, receiverGuid.GetCounter());
@@ -171,18 +176,6 @@ void WorldSession::HandleSendMail(WorldPacket& recvData)
Field* fields = result->Fetch();
mailsCount = fields[0].GetUInt64();
}
-
- stmt = CharacterDatabase.GetPreparedStatement(CHAR_SEL_CHAR_LEVEL);
- stmt->setUInt32(0, receiverGuid.GetCounter());
-
- result = CharacterDatabase.Query(stmt);
- if (result)
- {
- Field* fields = result->Fetch();
- receiverLevel = fields[0].GetUInt8();
- }
-
- receiverAccountId = sObjectMgr->GetPlayerAccountIdByGUID(receiverGuid);
}
// do not allow to have more than 100 mails in mailbox.. mails count is in opcode uint8!!! - so max can be 255..