mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-28 21:02:14 +01:00
Core/Spells: Implemented SPELL_AURA_MOD_FIXATE (#29488)
(cherry picked from commit 8b9eaf0bdf)
This commit is contained in:
@@ -195,7 +195,7 @@ NonDefaultConstructible<pAuraEffectHandler> AuraEffectHandler[TOTAL_AURAS]=
|
||||
&AuraEffect::HandleNoImmediateEffect, //125 SPELL_AURA_MOD_MELEE_DAMAGE_TAKEN implemented in Unit::MeleeDamageBonus
|
||||
&AuraEffect::HandleNoImmediateEffect, //126 SPELL_AURA_MOD_MELEE_DAMAGE_TAKEN_PCT implemented in Unit::MeleeDamageBonus
|
||||
&AuraEffect::HandleNoImmediateEffect, //127 SPELL_AURA_RANGED_ATTACK_POWER_ATTACKER_BONUS implemented in Unit::MeleeDamageBonus
|
||||
&AuraEffect::HandleNULL, //128 SPELL_AURA_MOD_FIXATE
|
||||
&AuraEffect::HandleAuraModFixate, //128 SPELL_AURA_MOD_FIXATE
|
||||
&AuraEffect::HandleAuraModIncreaseSpeed, //129 SPELL_AURA_MOD_SPEED_ALWAYS
|
||||
&AuraEffect::HandleAuraModIncreaseMountedSpeed, //130 SPELL_AURA_MOD_MOUNTED_SPEED_ALWAYS
|
||||
&AuraEffect::HandleNoImmediateEffect, //131 SPELL_AURA_MOD_RANGED_ATTACK_POWER_VERSUS implemented in Unit::MeleeDamageBonus
|
||||
@@ -2877,6 +2877,23 @@ void AuraEffect::HandleModDetaunt(AuraApplication const* aurApp, uint8 mode, boo
|
||||
caster->GetThreatManager().TauntUpdate();
|
||||
}
|
||||
|
||||
void AuraEffect::HandleAuraModFixate(AuraApplication const* aurApp, uint8 mode, bool apply) const
|
||||
{
|
||||
if (!(mode & AURA_EFFECT_HANDLE_REAL))
|
||||
return;
|
||||
|
||||
Unit* caster = GetCaster();
|
||||
Unit* target = aurApp->GetTarget();
|
||||
|
||||
if (!caster || !caster->IsAlive() || !target->IsAlive() || !caster->CanHaveThreatList())
|
||||
return;
|
||||
|
||||
if (apply)
|
||||
caster->GetThreatManager().FixateTarget(target);
|
||||
else
|
||||
caster->GetThreatManager().ClearFixate();
|
||||
}
|
||||
|
||||
/*****************************/
|
||||
/*** CONTROL ***/
|
||||
/*****************************/
|
||||
|
||||
@@ -193,6 +193,7 @@ class TC_GAME_API AuraEffect
|
||||
void HandleAuraModTotalThreat(AuraApplication const* aurApp, uint8 mode, bool apply) const;
|
||||
void HandleModTaunt(AuraApplication const* aurApp, uint8 mode, bool apply) const;
|
||||
void HandleModDetaunt(AuraApplication const* aurApp, uint8 mode, bool apply) const;
|
||||
void HandleAuraModFixate(AuraApplication const* aurApp, uint8 mode, bool apply) const;
|
||||
// control
|
||||
void HandleModConfuse(AuraApplication const* aurApp, uint8 mode, bool apply) const;
|
||||
void HandleModFear(AuraApplication const* aurApp, uint8 mode, bool apply) const;
|
||||
|
||||
Reference in New Issue
Block a user