mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-15 23:20:36 +01:00
Scripts/Spells: Implement hunter talent Penetrating Shots (#30784)
This commit is contained in:
@@ -693,6 +693,31 @@ class spell_hun_multi_shot : public SpellScript
|
||||
}
|
||||
};
|
||||
|
||||
// 459783 - Penetrating Shots
|
||||
class spell_hun_penetrating_shots : public AuraScript
|
||||
{
|
||||
void CalcAmount(AuraEffect const* /*aurEff*/, int32& amount, bool const& /*canBeRecalculated*/) const
|
||||
{
|
||||
if (AuraEffect const* amountHolder = GetEffect(EFFECT_1))
|
||||
{
|
||||
float critChanceDone = GetUnitOwner()->GetUnitCriticalChanceDone(BASE_ATTACK);
|
||||
amount = CalculatePct(critChanceDone, amountHolder->GetAmount());
|
||||
}
|
||||
}
|
||||
|
||||
void UpdatePeriodic(AuraEffect const* aurEff) const
|
||||
{
|
||||
if (AuraEffect* bonus = GetEffect(EFFECT_0))
|
||||
bonus->RecalculateAmount(aurEff);
|
||||
}
|
||||
|
||||
void Register() override
|
||||
{
|
||||
DoEffectCalcAmount += AuraEffectCalcAmountFn(spell_hun_penetrating_shots::CalcAmount, EFFECT_0, SPELL_AURA_MOD_CRIT_DAMAGE_BONUS);
|
||||
OnEffectPeriodic += AuraEffectPeriodicFn(spell_hun_penetrating_shots::UpdatePeriodic, EFFECT_1, SPELL_AURA_PERIODIC_DUMMY);
|
||||
}
|
||||
};
|
||||
|
||||
// 55709 - Pet Heart of the Phoenix
|
||||
class spell_hun_pet_heart_of_the_phoenix : public SpellScript
|
||||
{
|
||||
@@ -1270,6 +1295,7 @@ void AddSC_hunter_spell_scripts()
|
||||
RegisterSpellScript(spell_hun_misdirection);
|
||||
RegisterSpellScript(spell_hun_misdirection_proc);
|
||||
RegisterSpellScript(spell_hun_multi_shot);
|
||||
RegisterSpellScript(spell_hun_penetrating_shots);
|
||||
RegisterSpellScript(spell_hun_pet_heart_of_the_phoenix);
|
||||
RegisterSpellScript(spell_hun_posthaste);
|
||||
RegisterSpellScript(spell_hun_precise_shots);
|
||||
|
||||
Reference in New Issue
Block a user