diff options
| -rw-r--r-- | src/server/game/AI/CreatureAI.h | 3 | ||||
| -rw-r--r-- | src/server/game/Entities/Unit/Unit.cpp | 3 | ||||
| -rw-r--r-- | src/server/scripts/EasternKingdoms/ZulAman/boss_janalai.cpp | 2 |
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) { |
