fix(Scripts/Commands): Fix level up achievements not being granted (#19969)
This commit is contained in:
parent
04c8e85434
commit
ee6e74eb3c
2 changed files with 9 additions and 2 deletions
|
|
@ -987,8 +987,12 @@ void WorldSession::HandlePlayerLoginFromDB(LoginQueryHolder const& holder)
|
|||
|
||||
if (pCurrChar->HasAtLoginFlag(AT_LOGIN_CHECK_ACHIEVS))
|
||||
{
|
||||
pCurrChar->RemoveAtLoginFlag(AT_LOGIN_CHECK_ACHIEVS, true);
|
||||
pCurrChar->CheckAllAchievementCriteria();
|
||||
// If we process the check while players are loading they won't be notified of the changes.
|
||||
pCurrChar->m_Events.AddEventAtOffset([pCurrChar]
|
||||
{
|
||||
pCurrChar->RemoveAtLoginFlag(AT_LOGIN_CHECK_ACHIEVS, true);
|
||||
pCurrChar->CheckAllAchievementCriteria();
|
||||
}, 1s);
|
||||
}
|
||||
|
||||
bool firstLogin = pCurrChar->HasAtLoginFlag(AT_LOGIN_FIRST);
|
||||
|
|
|
|||
|
|
@ -23,6 +23,7 @@ Category: commandscripts
|
|||
EndScriptData */
|
||||
|
||||
#include "AccountMgr.h"
|
||||
#include "AchievementMgr.h"
|
||||
#include "Chat.h"
|
||||
#include "CommandScript.h"
|
||||
#include "DBCStores.h"
|
||||
|
|
@ -272,6 +273,8 @@ public:
|
|||
stmt->SetData(1, playerGuid.GetCounter());
|
||||
CharacterDatabase.Execute(stmt);
|
||||
|
||||
sAchievementMgr->UpdateAchievementCriteriaForOfflinePlayer(playerGuid.GetCounter(), ACHIEVEMENT_CRITERIA_TYPE_REACH_LEVEL);
|
||||
|
||||
sCharacterCache->UpdateCharacterLevel(playerGuid, newLevel);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue