diff options
author | silinoron <none@none> | 2010-08-11 19:52:58 -0700 |
---|---|---|
committer | silinoron <none@none> | 2010-08-11 19:52:58 -0700 |
commit | 0963cb3aeadf01734ce06c88a0bbf535e78342e8 (patch) | |
tree | 1d068418dbc62d06832c519d663557ee648321c7 /src/server/game/Scripting/ScriptMgr.cpp | |
parent | bd1f9ceaf9a4a5865e6f026dff9f51daf2f382b4 (diff) |
Implement a PlayerScript class with a handful of new hooks:
* OnPVPKill
* OnCreatureKill
* OnPlayerKilledByCreature
* OnPlayerLevelChanged
* OnPlayerFreeTalentPointsChanged
* OnPlayerTalentsReset
* More hooks may be added in the future
--HG--
branch : trunk
Diffstat (limited to 'src/server/game/Scripting/ScriptMgr.cpp')
-rw-r--r-- | src/server/game/Scripting/ScriptMgr.cpp | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/src/server/game/Scripting/ScriptMgr.cpp b/src/server/game/Scripting/ScriptMgr.cpp index 4c64f8251da..1eb54b83b50 100644 --- a/src/server/game/Scripting/ScriptMgr.cpp +++ b/src/server/game/Scripting/ScriptMgr.cpp @@ -1067,6 +1067,36 @@ bool ScriptMgr::OnCriteriaCheck(AchievementCriteriaData const* data, Player* sou return tmpscript->OnCheck(source, target); } +void ScriptMgr::OnPVPKill(Player *killer, Player *killed) +{ + FOREACH_SCRIPT(PlayerScript)->OnPVPKill(killer, killed); +} + +void ScriptMgr::OnCreatureKill(Player *killer, Creature *killed) +{ + FOREACH_SCRIPT(PlayerScript)->OnCreatureKill(killer, killed); +} + +void ScriptMgr::OnPlayerKilledByCreature(Creature *killer, Player *killed) +{ + FOREACH_SCRIPT(PlayerScript)->OnPlayerKilledByCreature(killer, killed); +} + +void ScriptMgr::OnPlayerLevelChanged(Player *player, uint8 newLevel) +{ + FOREACH_SCRIPT(PlayerScript)->OnLevelChanged(player, newLevel); +} + +void ScriptMgr::OnPlayerFreeTalentPointsChanged(Player *player, uint32 points) +{ + FOREACH_SCRIPT(PlayerScript)->OnFreeTalentPointsChanged(player, points); +} + +void ScriptMgr::OnPlayerTalentsReset(Player *player, bool no_cost) +{ + FOREACH_SCRIPT(PlayerScript)->OnTalentsReset(player, no_cost); +} + SpellHandlerScript::SpellHandlerScript(const char* name) : ScriptObject(name) { @@ -1208,6 +1238,12 @@ AchievementCriteriaScript::AchievementCriteriaScript(const char* name) ScriptMgr::ScriptRegistry<AchievementCriteriaScript>::AddScript(this); } +PlayerScript::PlayerScript(const char* name) + : ScriptObject(name) +{ + ScriptMgr::ScriptRegistry<PlayerScript>::AddScript(this); +} + // Instantiate static members of ScriptMgr::ScriptRegistry. template<class TScript> std::map<uint32, TScript*> ScriptMgr::ScriptRegistry<TScript>::ScriptPointerList; template<class TScript> uint32 ScriptMgr::ScriptRegistry<TScript>::_scriptIdCounter = 0; |