diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/game/Entities/Player/Player.cpp | 2 | ||||
-rw-r--r-- | src/game/Scripting/ScriptMgr.cpp | 5 | ||||
-rw-r--r-- | src/game/Scripting/ScriptMgr.h | 4 |
3 files changed, 11 insertions, 0 deletions
diff --git a/src/game/Entities/Player/Player.cpp b/src/game/Entities/Player/Player.cpp index 2c2abb6da0..4f18f20613 100644 --- a/src/game/Entities/Player/Player.cpp +++ b/src/game/Entities/Player/Player.cpp @@ -17796,6 +17796,8 @@ bool Player::LoadFromDB(uint32 guid, SQLQueryHolder *holder) InitTaxiNodesForLevel(); InitRunes(); + sScriptMgr->OnPlayerLoadFromDB(this); + // make sure the unit is considered out of combat for proper loading ClearInCombat(); diff --git a/src/game/Scripting/ScriptMgr.cpp b/src/game/Scripting/ScriptMgr.cpp index 67caf6aedf..95aebda24d 100644 --- a/src/game/Scripting/ScriptMgr.cpp +++ b/src/game/Scripting/ScriptMgr.cpp @@ -1264,6 +1264,11 @@ void ScriptMgr::OnPlayerLogin(Player* player) FOREACH_SCRIPT(PlayerScript)->OnLogin(player); } +void ScriptMgr::OnPlayerLoadFromDB(Player* player) +{ + FOREACH_SCRIPT(PlayerScript)->OnLoadFromDB(player); +} + void ScriptMgr::OnPlayerLogout(Player* player) { FOREACH_SCRIPT(PlayerScript)->OnLogout(player); diff --git a/src/game/Scripting/ScriptMgr.h b/src/game/Scripting/ScriptMgr.h index ee717b3e63..6f8b030db4 100644 --- a/src/game/Scripting/ScriptMgr.h +++ b/src/game/Scripting/ScriptMgr.h @@ -813,6 +813,9 @@ class PlayerScript : public ScriptObject // Called in Spell::Cast. virtual void OnSpellCast(Player* /*player*/, Spell* /*spell*/, bool /*skipCheck*/) { } + // Called during data loading + virtual void OnLoadFromDB(Player* /*player*/) { }; + // Called when a player logs in. virtual void OnLogin(Player* /*player*/) { } @@ -1189,6 +1192,7 @@ class ScriptMgr void OnPlayerTextEmote(Player* player, uint32 textEmote, uint32 emoteNum, uint64 guid); void OnPlayerSpellCast(Player* player, Spell* spell, bool skipCheck); void OnPlayerLogin(Player* player); + void OnPlayerLoadFromDB(Player* player); void OnPlayerLogout(Player* player); void OnPlayerCreate(Player* player); void OnPlayerDelete(uint64 guid); |