diff options
| -rw-r--r-- | src/game/Scripting/ScriptMgr.cpp | 4 | ||||
| -rw-r--r-- | src/game/Scripting/ScriptMgr.h | 9 |
2 files changed, 8 insertions, 5 deletions
diff --git a/src/game/Scripting/ScriptMgr.cpp b/src/game/Scripting/ScriptMgr.cpp index 1be672520b..67caf6aedf 100644 --- a/src/game/Scripting/ScriptMgr.cpp +++ b/src/game/Scripting/ScriptMgr.cpp @@ -1571,9 +1571,9 @@ void ScriptMgr::OnBeforeInitTalentForLevel(Player* player, uint8& level, uint32& FOREACH_SCRIPT(PlayerScript)->OnBeforeInitTalentForLevel(player, level, talentPointsForLevel); } -void ScriptMgr::OnAfterArenaRatingCalculation(Battleground *const bg, int32 &winnerMatchmakerChange, int32 &loserMatchmakerChange) +void ScriptMgr::OnAfterArenaRatingCalculation(Battleground *const bg, int32 &winnerMatchmakerChange, int32 &loserMatchmakerChange, int32 &winnerChange, int32 &loserChange) { - FOREACH_SCRIPT(BattlegroundScript)->OnAfterArenaRatingCalculation(bg, winnerMatchmakerChange, loserMatchmakerChange); + FOREACH_SCRIPT(FormulaScript)->OnAfterArenaRatingCalculation(bg, winnerMatchmakerChange, loserMatchmakerChange, winnerChange, loserChange); } AllMapScript::AllMapScript(const char* name) diff --git a/src/game/Scripting/ScriptMgr.h b/src/game/Scripting/ScriptMgr.h index b8f798cf62..ee717b3e63 100644 --- a/src/game/Scripting/ScriptMgr.h +++ b/src/game/Scripting/ScriptMgr.h @@ -287,6 +287,9 @@ class FormulaScript : public ScriptObject // Called when calculating the experience rate for group experience. virtual void OnGroupRateCalculation(float& /*rate*/, uint32 /*count*/, bool /*isRaid*/) { } + + // Called after calculating arena rating changes + virtual void OnAfterArenaRatingCalculation(Battleground *const bg, int32 &winnerMatchmakerChange, int32 &loserMatchmakerChange, int32 &winnerChange, int32 &loserChange) { }; }; template<class TMap> class MapScript : public UpdatableScript<TMap> @@ -599,7 +602,6 @@ class BattlegroundScript : public ScriptObject // Should return a fully valid Battleground object for the type ID. virtual Battleground* GetBattleground() const = 0; - virtual void OnAfterArenaRatingCalculation(Battleground *const bg, int32 &winnerMatchmakerChange, int32 &loserMatchmakerChange) { }; }; class OutdoorPvPScript : public ScriptObject @@ -899,6 +901,7 @@ class PlayerScript : public ScriptObject virtual void OnBeforeUpdateAttackPowerAndDamage(Player* /*player*/, float& /*level*/, float& /*val2*/, bool /*ranged*/) { } virtual void OnAfterUpdateAttackPowerAndDamage(Player* /*player*/, float& /*level*/, float& /*base_attPower*/, float& /*attPowerMod*/, float& /*attPowerMultiplier*/, bool /*ranged*/) { } + virtual void OnBeforeInitTalentForLevel(Player* /*player*/, uint8& /*level*/, uint32& /*talentPointsForLevel*/) { } }; class GuildScript : public ScriptObject @@ -1053,6 +1056,7 @@ class ScriptMgr void OnBaseGainCalculation(uint32& gain, uint8 playerLevel, uint8 mobLevel, ContentLevels content); void OnGainCalculation(uint32& gain, Player* player, Unit* unit); void OnGroupRateCalculation(float& rate, uint32 count, bool isRaid); + void OnAfterArenaRatingCalculation(Battleground *const bg, int32 &winnerMatchmakerChange, int32 &loserMatchmakerChange, int32 &winnerChange, int32 &loserChange); public: /* MapScript */ @@ -1113,8 +1117,6 @@ class ScriptMgr Battleground* CreateBattleground(BattlegroundTypeId typeId); - void OnAfterArenaRatingCalculation(Battleground *const bg, int32 &winnerMatchmakerChange, int32 &loserMatchmakerChange); - public: /* OutdoorPvPScript */ OutdoorPvP* CreateOutdoorPvP(OutdoorPvPData const* data); @@ -1216,6 +1218,7 @@ class ScriptMgr void OnAfterUpdateMaxHealth(Player* player, float& value); void OnBeforeUpdateAttackPowerAndDamage(Player* player, float& level, float& val2, bool ranged); void OnAfterUpdateAttackPowerAndDamage(Player* player, float& level, float& base_attPower, float& attPowerMod, float& attPowerMultiplier, bool ranged); + void OnBeforeInitTalentForLevel(Player* player, uint8& level, uint32& talentPointsForLevel); public: /* GuildScript */ |
