diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index abca95078..27d5e0b31 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -23362,6 +23362,8 @@ void Player::SendInitialPacketsBeforeAddToMap() // SMSG_POWER_UPDATE SetMover(this); + + sScriptMgr->OnSendInitialPacketsBeforeAddToMap(this, data); } void Player::SendInitialPacketsAfterAddToMap() diff --git a/src/server/game/Scripting/ScriptMgr.cpp b/src/server/game/Scripting/ScriptMgr.cpp index cb346e198..ca2611bdb 100644 --- a/src/server/game/Scripting/ScriptMgr.cpp +++ b/src/server/game/Scripting/ScriptMgr.cpp @@ -1339,6 +1339,11 @@ void ScriptMgr::OnPlayerCompleteQuest(Player* player, Quest const* quest) FOREACH_SCRIPT(PlayerScript)->OnPlayerCompleteQuest(player, quest); } +void ScriptMgr::OnSendInitialPacketsBeforeAddToMap(Player* player, WorldPacket& data) +{ + FOREACH_SCRIPT(PlayerScript)->OnSendInitialPacketsBeforeAddToMap(player, data); +} + void ScriptMgr::OnBattlegroundDesertion(Player* player, BattlegroundDesertionType const desertionType) { FOREACH_SCRIPT(PlayerScript)->OnBattlegroundDesertion(player, desertionType); diff --git a/src/server/game/Scripting/ScriptMgr.h b/src/server/game/Scripting/ScriptMgr.h index cb0a7e983..778686542 100644 --- a/src/server/game/Scripting/ScriptMgr.h +++ b/src/server/game/Scripting/ScriptMgr.h @@ -745,6 +745,9 @@ protected: public: virtual void OnPlayerReleasedGhost(Player* /*player*/) { } + // Called on Send Initial Packets Before Add To Map + virtual void OnSendInitialPacketsBeforeAddToMap(Player* /*player*/, WorldPacket& /*data*/) {} + // Called when a player does a desertion action (see BattlegroundDesertionType) virtual void OnBattlegroundDesertion(Player* /*player*/, BattlegroundDesertionType const /*desertionType*/) { } @@ -1331,6 +1334,7 @@ public: /* AchievementCriteriaScript */ public: /* PlayerScript */ void OnBeforePlayerUpdate(Player* player, uint32 p_time); + void OnSendInitialPacketsBeforeAddToMap(Player* player, WorldPacket& data); void OnPlayerReleasedGhost(Player* player); void OnPVPKill(Player* killer, Player* killed); void OnCreatureKill(Player* killer, Creature* killed);