Hook for player data loading from db

This commit is contained in:
Yehonal
2017-03-25 12:42:48 +01:00
parent 945b35f5eb
commit 4fdaa4444e
3 changed files with 11 additions and 0 deletions
+2
View File
@@ -17796,6 +17796,8 @@ bool Player::LoadFromDB(uint32 guid, SQLQueryHolder *holder)
InitTaxiNodesForLevel(); InitTaxiNodesForLevel();
InitRunes(); InitRunes();
sScriptMgr->OnPlayerLoadFromDB(this);
// make sure the unit is considered out of combat for proper loading // make sure the unit is considered out of combat for proper loading
ClearInCombat(); ClearInCombat();
+5
View File
@@ -1264,6 +1264,11 @@ void ScriptMgr::OnPlayerLogin(Player* player)
FOREACH_SCRIPT(PlayerScript)->OnLogin(player); FOREACH_SCRIPT(PlayerScript)->OnLogin(player);
} }
void ScriptMgr::OnPlayerLoadFromDB(Player* player)
{
FOREACH_SCRIPT(PlayerScript)->OnLoadFromDB(player);
}
void ScriptMgr::OnPlayerLogout(Player* player) void ScriptMgr::OnPlayerLogout(Player* player)
{ {
FOREACH_SCRIPT(PlayerScript)->OnLogout(player); FOREACH_SCRIPT(PlayerScript)->OnLogout(player);
+4
View File
@@ -813,6 +813,9 @@ class PlayerScript : public ScriptObject
// Called in Spell::Cast. // Called in Spell::Cast.
virtual void OnSpellCast(Player* /*player*/, Spell* /*spell*/, bool /*skipCheck*/) { } virtual void OnSpellCast(Player* /*player*/, Spell* /*spell*/, bool /*skipCheck*/) { }
// Called during data loading
virtual void OnLoadFromDB(Player* /*player*/) { };
// Called when a player logs in. // Called when a player logs in.
virtual void OnLogin(Player* /*player*/) { } virtual void OnLogin(Player* /*player*/) { }
@@ -1189,6 +1192,7 @@ class ScriptMgr
void OnPlayerTextEmote(Player* player, uint32 textEmote, uint32 emoteNum, uint64 guid); void OnPlayerTextEmote(Player* player, uint32 textEmote, uint32 emoteNum, uint64 guid);
void OnPlayerSpellCast(Player* player, Spell* spell, bool skipCheck); void OnPlayerSpellCast(Player* player, Spell* spell, bool skipCheck);
void OnPlayerLogin(Player* player); void OnPlayerLogin(Player* player);
void OnPlayerLoadFromDB(Player* player);
void OnPlayerLogout(Player* player); void OnPlayerLogout(Player* player);
void OnPlayerCreate(Player* player); void OnPlayerCreate(Player* player);
void OnPlayerDelete(uint64 guid); void OnPlayerDelete(uint64 guid);