feat(Core/Unit): Add SpellSchoolMask info to the DamageDealt() hook (#21411)

This commit is contained in:
Andrew
2025-02-12 08:16:02 -03:00
committed by GitHub
parent 3a41901154
commit b17d69b33c
8 changed files with 11 additions and 11 deletions
+1 -1
View File
@@ -359,7 +359,7 @@ public:
virtual void JustExitedCombat() { } virtual void JustExitedCombat() { }
/// @brief Called at any Damage to any victim (before damage apply) /// @brief Called at any Damage to any victim (before damage apply)
virtual void DamageDealt(Unit* /*victim*/, uint32& /*damage*/, DamageEffectType /*damageType*/) { } virtual void DamageDealt(Unit* /*victim*/, uint32& /*damage*/, DamageEffectType /*damageType*/, SpellSchoolMask /*damageSchoolMask*/) {}
/** @brief Called at any Damage from any attacker (before damage apply) /** @brief Called at any Damage from any attacker (before damage apply)
* *
+1 -1
View File
@@ -893,7 +893,7 @@ void SmartAI::IsSummonedBy(WorldObject* summoner)
GetScript()->ProcessEventsFor(SMART_EVENT_JUST_SUMMONED, summoner->ToUnit(), 0, 0, false, nullptr, summoner->ToGameObject()); GetScript()->ProcessEventsFor(SMART_EVENT_JUST_SUMMONED, summoner->ToUnit(), 0, 0, false, nullptr, summoner->ToGameObject());
} }
void SmartAI::DamageDealt(Unit* doneTo, uint32& damage, DamageEffectType /*damagetype*/) void SmartAI::DamageDealt(Unit* doneTo, uint32& damage, DamageEffectType /*damagetype*/, SpellSchoolMask /*damageSchoolMask*/)
{ {
GetScript()->ProcessEventsFor(SMART_EVENT_DAMAGED_TARGET, doneTo, damage); GetScript()->ProcessEventsFor(SMART_EVENT_DAMAGED_TARGET, doneTo, damage);
} }
+1 -1
View File
@@ -131,7 +131,7 @@ public:
void IsSummonedBy(WorldObject* summoner) override; void IsSummonedBy(WorldObject* summoner) override;
// Called at any Damage to any victim (before damage apply) // Called at any Damage to any victim (before damage apply)
void DamageDealt(Unit* doneTo, uint32& damage, DamageEffectType damagetyp) override; void DamageDealt(Unit* doneTo, uint32& damage, DamageEffectType damagetyp, SpellSchoolMask damageSchoolMask) override;
// Called when a summoned creature dissapears (UnSommoned) // Called when a summoned creature dissapears (UnSommoned)
void SummonedCreatureDespawn(Creature* unit) override; void SummonedCreatureDespawn(Creature* unit) override;
+1 -1
View File
@@ -819,7 +819,7 @@ uint32 Unit::DealDamage(Unit* attacker, Unit* victim, uint32 damage, CleanDamage
victim->GetAI()->DamageTaken(attacker, damage, damagetype, damageSchoolMask); victim->GetAI()->DamageTaken(attacker, damage, damagetype, damageSchoolMask);
if (attacker && attacker->IsAIEnabled) if (attacker && attacker->IsAIEnabled)
attacker->GetAI()->DamageDealt(victim, damage, damagetype); attacker->GetAI()->DamageDealt(victim, damage, damagetype, damageSchoolMask);
} }
// Hook for OnDamage Event // Hook for OnDamage Event
@@ -173,7 +173,7 @@ struct boss_janalai : public BossAI
BossAI::JustSummoned(summon); BossAI::JustSummoned(summon);
} }
void DamageDealt(Unit* target, uint32& damage, DamageEffectType /*damagetype*/) override void DamageDealt(Unit* target, uint32& damage, DamageEffectType /*damagetype*/, SpellSchoolMask /*damageSchoolMask*/) override
{ {
if (_isFlameBreathing) if (_isFlameBreathing)
{ {
@@ -294,7 +294,7 @@ public:
} }
} }
void DamageDealt(Unit* doneTo, uint32& damage, DamageEffectType /*damagetype*/) override void DamageDealt(Unit* doneTo, uint32& damage, DamageEffectType /*damagetype*/, SpellSchoolMask /*damageSchoolMask*/) override
{ {
if (doneTo && doneTo == me->GetVictim()) if (doneTo && doneTo == me->GetVictim())
{ {
@@ -342,7 +342,7 @@ public:
} }
} }
void DamageDealt(Unit* target, uint32& damage, DamageEffectType /*damageType*/) override void DamageDealt(Unit* target, uint32& damage, DamageEffectType /*damageType*/, SpellSchoolMask /*damageSchoolMask*/) override
{ {
if (!target->IsPlayer()) if (!target->IsPlayer())
return; return;
@@ -612,7 +612,7 @@ public:
} }
} }
void DamageDealt(Unit* target, uint32& damage, DamageEffectType /*damageType*/) override void DamageDealt(Unit* target, uint32& damage, DamageEffectType /*damageType*/, SpellSchoolMask /*damageSchoolMask*/) override
{ {
if (!target->IsPlayer()) if (!target->IsPlayer())
return; return;
@@ -906,7 +906,7 @@ public:
} }
} }
void DamageDealt(Unit* target, uint32& damage, DamageEffectType /*damageType*/) override void DamageDealt(Unit* target, uint32& damage, DamageEffectType /*damageType*/, SpellSchoolMask /*damageSchoolMask*/) override
{ {
if (!target->IsPlayer()) if (!target->IsPlayer())
return; return;
@@ -1334,7 +1334,7 @@ public:
me->DespawnOrUnsummon(1); me->DespawnOrUnsummon(1);
} }
void DamageDealt(Unit* target, uint32& damage, DamageEffectType /*damageType*/) override void DamageDealt(Unit* target, uint32& damage, DamageEffectType /*damageType*/, SpellSchoolMask /*damageSchoolMask*/) override
{ {
if (!target->IsPlayer()) if (!target->IsPlayer())
{ {
@@ -630,7 +630,7 @@ public:
uint32 _timer; uint32 _timer;
bool _damaged, justSpawned; bool _damaged, justSpawned;
void DamageDealt(Unit* /*victim*/, uint32& damage, DamageEffectType /*damageType*/) override void DamageDealt(Unit* /*victim*/, uint32& damage, DamageEffectType /*damageType*/, SpellSchoolMask /*damageSchoolMask*/) override
{ {
if (damage > 0 && !_damaged && me->GetInstanceScript()) if (damage > 0 && !_damaged && me->GetInstanceScript())
{ {