aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/server/game/AI/CreatureAI.h3
-rw-r--r--src/server/game/Entities/Unit/Unit.cpp3
-rw-r--r--src/server/scripts/EasternKingdoms/ZulAman/boss_janalai.cpp2
3 files changed, 7 insertions, 1 deletions
diff --git a/src/server/game/AI/CreatureAI.h b/src/server/game/AI/CreatureAI.h
index c03d3dd09d0..c257af0fbe0 100644
--- a/src/server/game/AI/CreatureAI.h
+++ b/src/server/game/AI/CreatureAI.h
@@ -95,6 +95,9 @@ class CreatureAI : public UnitAI
// Called for reaction at enter to combat if not in combat yet (enemy can be NULL)
virtual void EnterCombat(Unit* /*enemy*/) {}
+ // Called at any Damage to any victim (before damage apply)
+ virtual void DamageDealt(Unit * /*done_to*/, uint32 & /*damage*/) { }
+
// Called at any Damage from any attacker (before damage apply)
// Note: it for recalculation damage or special reaction at damage
// for attack reaction use AttackedBy called for not DOT damage in Unit::DealDamage also
diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp
index 97a97a2afb8..f465b687e1c 100644
--- a/src/server/game/Entities/Unit/Unit.cpp
+++ b/src/server/game/Entities/Unit/Unit.cpp
@@ -567,6 +567,9 @@ uint32 Unit::DealDamage(Unit *pVictim, uint32 damage, CleanDamage const* cleanDa
if (pVictim->GetTypeId() == TYPEID_UNIT && pVictim->ToCreature()->IsAIEnabled)
pVictim->ToCreature()->AI()->DamageTaken(this, damage);
+ if (GetTypeId() == TYPEID_UNIT && this->ToCreature()->IsAIEnabled)
+ this->ToCreature()->AI()->DamageDealt(pVictim, damage);
+
if (damagetype != NODAMAGE)
{
// interrupting auras with AURA_INTERRUPT_FLAG_DAMAGE before checking !damage (absorbed damage breaks that type of auras)
diff --git a/src/server/scripts/EasternKingdoms/ZulAman/boss_janalai.cpp b/src/server/scripts/EasternKingdoms/ZulAman/boss_janalai.cpp
index 073fff60456..fffe1a2eb7f 100644
--- a/src/server/scripts/EasternKingdoms/ZulAman/boss_janalai.cpp
+++ b/src/server/scripts/EasternKingdoms/ZulAman/boss_janalai.cpp
@@ -179,7 +179,7 @@ struct boss_janalaiAI : public ScriptedAI
// DoZoneInCombat();
}
- void DamageDeal(Unit *pTarget, uint32 &damage)
+ void DamageDealt(Unit *pTarget, uint32 &damage)
{
if (isFlameBreathing)
{