diff options
author | Shauren <shauren.trinity@gmail.com> | 2016-06-13 21:00:25 +0200 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2016-06-13 21:00:25 +0200 |
commit | d2733eb6f1f9a550ec6511b5fa696b67b11044b3 (patch) | |
tree | 92e101dba7e48661de4a02c93bfba5700a6f1bdf /src/server/game/Handlers/CharacterHandler.cpp | |
parent | 3903482eb810625fce64c616a4edca3f06975e94 (diff) | |
parent | 2fe6fc63d79655a96ee2135a6b380ce353729088 (diff) |
Merge branch '6.x' of https://github.com/TrinityCore/TrinityCore into legion
Diffstat (limited to 'src/server/game/Handlers/CharacterHandler.cpp')
-rw-r--r-- | src/server/game/Handlers/CharacterHandler.cpp | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/src/server/game/Handlers/CharacterHandler.cpp b/src/server/game/Handlers/CharacterHandler.cpp index 63431e7e4ad..b8c6072f60e 100644 --- a/src/server/game/Handlers/CharacterHandler.cpp +++ b/src/server/game/Handlers/CharacterHandler.cpp @@ -54,6 +54,7 @@ #include "World.h" #include "WorldPacket.h" #include "WorldSession.h" +#include "Metric.h" class LoginQueryHolder : public SQLQueryHolder { @@ -1079,7 +1080,17 @@ void WorldSession::HandlePlayerLogin(LoginQueryHolder* holder) // reset for all pets before pet loading if (pCurrChar->HasAtLoginFlag(AT_LOGIN_RESET_PET_TALENTS)) - Pet::resetTalentsForAllPetsOf(pCurrChar); + { + // Delete all of the player's pet spells + PreparedStatement* stmtSpells = CharacterDatabase.GetPreparedStatement(CHAR_DEL_ALL_PET_SPELLS_BY_OWNER); + stmtSpells->setUInt64(0, pCurrChar->GetGUID().GetCounter()); + CharacterDatabase.Execute(stmtSpells); + + // Then reset all of the player's pet specualizations + PreparedStatement* stmtSpec = CharacterDatabase.GetPreparedStatement(CHAR_UPD_PET_SPECS_BY_OWNER); + stmtSpec->setUInt64(0, pCurrChar->GetGUID().GetCounter()); + CharacterDatabase.Execute(stmtSpec); + } // Load pet if any (if player not alive and in taxi flight or another then pet will remember as temporary unsummoned) pCurrChar->LoadPet(); @@ -1139,6 +1150,8 @@ void WorldSession::HandlePlayerLogin(LoginQueryHolder* holder) sScriptMgr->OnPlayerLogin(pCurrChar, firstLogin); + TC_METRIC_EVENT("player_events", "Login", pCurrChar->GetName()); + delete holder; } @@ -2166,8 +2179,8 @@ void WorldSession::HandleCharRaceOrFactionChangeCallback(PreparedQueryResult res uint32 title_alliance = it->first; uint32 title_horde = it->second; - CharTitlesEntry const* atitleInfo = sCharTitlesStore.LookupEntry(title_alliance); - CharTitlesEntry const* htitleInfo = sCharTitlesStore.LookupEntry(title_horde); + CharTitlesEntry const* atitleInfo = sCharTitlesStore.AssertEntry(title_alliance); + CharTitlesEntry const* htitleInfo = sCharTitlesStore.AssertEntry(title_horde); // new team if (newTeamId == TEAM_ALLIANCE) { |