mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-16 07:30:42 +01:00
Scripts/Spells: Implement hunter talent Master Marksman (#31054)
This commit is contained in:
@@ -62,6 +62,7 @@ enum HunterSpells
|
||||
SPELL_HUNTER_LATENT_POISON_INJECTORS_DAMAGE = 336904,
|
||||
SPELL_HUNTER_LONE_WOLF = 155228,
|
||||
SPELL_HUNTER_MARKSMANSHIP_HUNTER_AURA = 137016,
|
||||
SPELL_HUNTER_MASTER_MARKSMAN = 269576,
|
||||
SPELL_HUNTER_MASTERS_CALL_TRIGGERED = 62305,
|
||||
SPELL_HUNTER_MISDIRECTION = 34477,
|
||||
SPELL_HUNTER_MISDIRECTION_PROC = 35079,
|
||||
@@ -557,6 +558,34 @@ class spell_hun_manhunter : public AuraScript
|
||||
}
|
||||
};
|
||||
|
||||
// 260309 - Master Marksman
|
||||
class spell_hun_master_marksman : public AuraScript
|
||||
{
|
||||
bool Validate(SpellInfo const* /*spellInfo*/) override
|
||||
{
|
||||
return ValidateSpellInfo({ SPELL_HUNTER_MASTER_MARKSMAN });
|
||||
}
|
||||
|
||||
static void HandleProc(AuraScript const&, AuraEffect const* aurEff, ProcEventInfo const& eventInfo)
|
||||
{
|
||||
uint32 ticks = sSpellMgr->AssertSpellInfo(SPELL_HUNTER_MASTER_MARKSMAN, DIFFICULTY_NONE)->GetMaxTicks();
|
||||
if (!ticks)
|
||||
return;
|
||||
|
||||
int32 damage = CalculatePct(eventInfo.GetDamageInfo()->GetDamage(), aurEff->GetAmount()) / ticks;
|
||||
|
||||
eventInfo.GetActor()->CastSpell(eventInfo.GetActionTarget(), SPELL_HUNTER_MASTER_MARKSMAN, CastSpellExtraArgsInit{
|
||||
.TriggerFlags = TRIGGERED_IGNORE_CAST_IN_PROGRESS | TRIGGERED_DONT_REPORT_CAST_ERROR,
|
||||
.SpellValueOverrides = { { SPELLVALUE_BASE_POINT0, damage } }
|
||||
});
|
||||
}
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectProc += AuraEffectProcFn(spell_hun_master_marksman::HandleProc, EFFECT_0, SPELL_AURA_DUMMY);
|
||||
}
|
||||
};
|
||||
|
||||
// 53271 - Masters Call
|
||||
class spell_hun_masters_call : public SpellScript
|
||||
{
|
||||
@@ -1291,6 +1320,7 @@ void AddSC_hunter_spell_scripts()
|
||||
RegisterSpellScript(spell_hun_latent_poison_injectors_damage);
|
||||
RegisterSpellScript(spell_hun_latent_poison_injectors_trigger);
|
||||
RegisterSpellScript(spell_hun_manhunter);
|
||||
RegisterSpellScript(spell_hun_master_marksman);
|
||||
RegisterSpellScript(spell_hun_masters_call);
|
||||
RegisterSpellScript(spell_hun_misdirection);
|
||||
RegisterSpellScript(spell_hun_misdirection_proc);
|
||||
|
||||
Reference in New Issue
Block a user