summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatteo Emili <matteo.emili14@gmail.com>2017-01-26 15:17:22 +0100
committerYehonal <yehonal.azeroth@gmail.com>2017-03-26 01:09:35 +0100
commit0cf5a7cc1a098d09c181ee1177c36e8e751c34ec (patch)
tree466d4ad1dff1ddd987d1f0a54a62ef60331d9e98
parent5eb789d4dc9397fb34fd50ca0f0f8d581ccf2283 (diff)
Created new hook for AttackPower
-rw-r--r--src/game/Entities/Unit/StatSystem.cpp2
-rw-r--r--src/game/Scripting/ScriptMgr.cpp5
-rw-r--r--src/game/Scripting/ScriptMgr.h2
3 files changed, 9 insertions, 0 deletions
diff --git a/src/game/Entities/Unit/StatSystem.cpp b/src/game/Entities/Unit/StatSystem.cpp
index e43cab614a..6800d0cc4e 100644
--- a/src/game/Entities/Unit/StatSystem.cpp
+++ b/src/game/Entities/Unit/StatSystem.cpp
@@ -312,6 +312,8 @@ void Player::UpdateAttackPowerAndDamage(bool ranged)
{
float val2 = 0.0f;
float level = float(getLevel());
+
+ sScriptMgr->OnBeforeUpdateAttackPowerAndDamage(this, level, val2, ranged);
UnitMods unitMod = ranged ? UNIT_MOD_ATTACK_POWER_RANGED : UNIT_MOD_ATTACK_POWER;
diff --git a/src/game/Scripting/ScriptMgr.cpp b/src/game/Scripting/ScriptMgr.cpp
index 0265d4d5c6..453e56ea3e 100644
--- a/src/game/Scripting/ScriptMgr.cpp
+++ b/src/game/Scripting/ScriptMgr.cpp
@@ -1555,6 +1555,11 @@ void ScriptMgr::OnAfterUpdateMaxHealth(Player* player, float& value)
FOREACH_SCRIPT(PlayerScript)->OnAfterUpdateMaxHealth(player, value);
}
+void ScriptMgr::OnBeforeUpdateAttackPowerAndDamage(Player* player, float& level, float& val2, bool ranged)
+{
+ FOREACH_SCRIPT(PlayerScript)->OnBeforeUpdateAttackPowerAndDamage(player, level, val2, ranged);
+}
+
void ScriptMgr::OnAfterUpdateAttackPowerAndDamage(Player* player, float& level, float& base_attPower, float& attPowerMod, float& attPowerMultiplier, bool ranged)
{
FOREACH_SCRIPT(PlayerScript)->OnAfterUpdateAttackPowerAndDamage(player, level, base_attPower, attPowerMod, attPowerMultiplier, ranged);
diff --git a/src/game/Scripting/ScriptMgr.h b/src/game/Scripting/ScriptMgr.h
index 83c24a8cc3..c75a1dbe7d 100644
--- a/src/game/Scripting/ScriptMgr.h
+++ b/src/game/Scripting/ScriptMgr.h
@@ -894,6 +894,7 @@ class PlayerScript : public ScriptObject
virtual void OnAfterUpdateMaxHealth(Player* /*player*/, float& /*value*/) { }
+ 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*/) { }
};
@@ -1209,6 +1210,7 @@ class ScriptMgr
void OnAfterStoreOrEquipNewItem(Player* player, uint32 vendorslot, uint32 &item, uint8 count, uint8 bag, uint8 slot, ItemTemplate const* pProto, Creature* pVendor, VendorItem const* crItem, bool bStore);
void OnAfterUpdateMaxPower(Player* player, Powers& power, float& value);
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);
public: /* GuildScript */