diff options
author | Spp <none@none> | 2010-12-23 06:06:21 +0100 |
---|---|---|
committer | Spp <none@none> | 2010-12-23 06:06:21 +0100 |
commit | 0c8b07d3e52e7727b8a47138ff8cdedde486b166 (patch) | |
tree | 234739ca5951d867222bb39743377ffc55d8d64d | |
parent | 1f238d1700b9bb7a094b775df68f92d05f6575f5 (diff) |
Core/ScriptMgr: Add OnBindToInstance Player hook
--HG--
branch : trunk
-rwxr-xr-x | src/server/game/Entities/Player/Player.cpp | 1 | ||||
-rwxr-xr-x | src/server/game/Scripting/ScriptMgr.cpp | 5 | ||||
-rwxr-xr-x | src/server/game/Scripting/ScriptMgr.h | 4 |
3 files changed, 10 insertions, 0 deletions
diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index 7e3831f4b5c..c498c01354b 100755 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -17595,6 +17595,7 @@ InstancePlayerBind* Player::BindToInstance(InstanceSave *save, bool permanent, b bind.perm = permanent; if (!load) sLog.outDebug("Player::BindToInstance: %s(%d) is now bound to map %d, instance %d, difficulty %d", GetName(), GetGUIDLow(), save->GetMapId(), save->GetInstanceId(), save->GetDifficulty()); + sScriptMgr->OnPlayerBindToInstance(this, save->GetDifficulty(), save->GetMapId(), permanent); return &bind; } else diff --git a/src/server/game/Scripting/ScriptMgr.cpp b/src/server/game/Scripting/ScriptMgr.cpp index d1761910e96..3824abdfa72 100755 --- a/src/server/game/Scripting/ScriptMgr.cpp +++ b/src/server/game/Scripting/ScriptMgr.cpp @@ -1191,6 +1191,11 @@ void ScriptMgr::OnPlayerDelete(uint64 guid) FOREACH_SCRIPT(PlayerScript)->OnDelete(guid); } +void ScriptMgr::OnPlayerBindToInstance(Player* player, Difficulty difficulty, uint32 mapid, bool permanent) +{ + FOREACH_SCRIPT(PlayerScript)->OnBindToInstance(player, difficulty, mapid, permanent); +} + // Guild void ScriptMgr::OnGuildAddMember(Guild *guild, Player *player, uint8& plRank) { diff --git a/src/server/game/Scripting/ScriptMgr.h b/src/server/game/Scripting/ScriptMgr.h index ad70afbcf70..bb47304a979 100755 --- a/src/server/game/Scripting/ScriptMgr.h +++ b/src/server/game/Scripting/ScriptMgr.h @@ -709,6 +709,9 @@ class PlayerScript : public ScriptObject // Called when a player is created/deleted virtual void OnCreate(Player* /*player*/) { } virtual void OnDelete(uint64 /*guid*/) { } + + // Called when a player is binded to an instance + virtual void OnBindToInstance(Player* /*player*/, Difficulty /*difficulty*/, uint32 /*mapid*/, bool /*permanent*/) { } }; class GuildScript : public ScriptObject @@ -943,6 +946,7 @@ class ScriptMgr void OnPlayerLogout(Player* player); void OnPlayerCreate(Player* player); void OnPlayerDelete(uint64 guid); + void OnPlayerBindToInstance(Player* player, Difficulty difficulty, uint32 mapid, bool permanent); public: /* GuildScript */ void OnGuildAddMember(Guild *guild, Player *player, uint8& plRank); |