mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-18 08:28:32 +01:00
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
This commit is contained in:
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user