refactor(Scripts/Spells): convert spell_hunter into new system (#9047)
This commit is contained in:
@@ -43,15 +43,9 @@ enum RogueSpells
|
||||
SPELL_ROGUE_TRICKS_OF_THE_TRADE_PROC = 59628,
|
||||
};
|
||||
|
||||
// Ours
|
||||
class spell_rog_savage_combat : public SpellScriptLoader
|
||||
class spell_rog_savage_combat : public AuraScript
|
||||
{
|
||||
public:
|
||||
spell_rog_savage_combat() : SpellScriptLoader("spell_rog_savage_combat") { }
|
||||
|
||||
class spell_rog_savage_combat_AuraScript : public AuraScript
|
||||
{
|
||||
PrepareAuraScript(spell_rog_savage_combat_AuraScript);
|
||||
PrepareAuraScript(spell_rog_savage_combat);
|
||||
|
||||
void CalcPeriodic(AuraEffect const* /*effect*/, bool& isPeriodic, int32& amplitude)
|
||||
{
|
||||
@@ -71,25 +65,14 @@ public:
|
||||
|
||||
void Register() override
|
||||
{
|
||||
DoEffectCalcPeriodic += AuraEffectCalcPeriodicFn(spell_rog_savage_combat_AuraScript::CalcPeriodic, EFFECT_0, SPELL_AURA_MOD_DAMAGE_PERCENT_TAKEN);
|
||||
OnEffectUpdatePeriodic += AuraEffectUpdatePeriodicFn(spell_rog_savage_combat_AuraScript::Update, EFFECT_0, SPELL_AURA_MOD_DAMAGE_PERCENT_TAKEN);
|
||||
}
|
||||
};
|
||||
|
||||
AuraScript* GetAuraScript() const override
|
||||
{
|
||||
return new spell_rog_savage_combat_AuraScript();
|
||||
DoEffectCalcPeriodic += AuraEffectCalcPeriodicFn(spell_rog_savage_combat::CalcPeriodic, EFFECT_0, SPELL_AURA_MOD_DAMAGE_PERCENT_TAKEN);
|
||||
OnEffectUpdatePeriodic += AuraEffectUpdatePeriodicFn(spell_rog_savage_combat::Update, EFFECT_0, SPELL_AURA_MOD_DAMAGE_PERCENT_TAKEN);
|
||||
}
|
||||
};
|
||||
|
||||
class spell_rog_combat_potency : public SpellScriptLoader
|
||||
class spell_rog_combat_potency : public AuraScript
|
||||
{
|
||||
public:
|
||||
spell_rog_combat_potency() : SpellScriptLoader("spell_rog_combat_potency") { }
|
||||
|
||||
class spell_rog_combat_potency_AuraScript : public AuraScript
|
||||
{
|
||||
PrepareAuraScript(spell_rog_combat_potency_AuraScript);
|
||||
PrepareAuraScript(spell_rog_combat_potency);
|
||||
|
||||
bool CheckProc(ProcEventInfo& eventInfo)
|
||||
{
|
||||
@@ -98,26 +81,14 @@ public:
|
||||
|
||||
void Register() override
|
||||
{
|
||||
DoCheckProc += AuraCheckProcFn(spell_rog_combat_potency_AuraScript::CheckProc);
|
||||
}
|
||||
};
|
||||
|
||||
AuraScript* GetAuraScript() const override
|
||||
{
|
||||
return new spell_rog_combat_potency_AuraScript();
|
||||
DoCheckProc += AuraCheckProcFn(spell_rog_combat_potency::CheckProc);
|
||||
}
|
||||
};
|
||||
|
||||
// Theirs
|
||||
// 13877, 33735, (check 51211, 65956) - Blade Flurry
|
||||
class spell_rog_blade_flurry : public SpellScriptLoader
|
||||
class spell_rog_blade_flurry : public AuraScript
|
||||
{
|
||||
public:
|
||||
spell_rog_blade_flurry() : SpellScriptLoader("spell_rog_blade_flurry") { }
|
||||
|
||||
class spell_rog_blade_flurry_AuraScript : public AuraScript
|
||||
{
|
||||
PrepareAuraScript(spell_rog_blade_flurry_AuraScript);
|
||||
PrepareAuraScript(spell_rog_blade_flurry);
|
||||
|
||||
bool Validate(SpellInfo const* /*spellInfo*/) override
|
||||
{
|
||||
@@ -158,29 +129,18 @@ public:
|
||||
|
||||
void Register() override
|
||||
{
|
||||
DoCheckProc += AuraCheckProcFn(spell_rog_blade_flurry_AuraScript::CheckProc);
|
||||
OnEffectProc += AuraEffectProcFn(spell_rog_blade_flurry_AuraScript::HandleProc, EFFECT_0, SPELL_AURA_MOD_MELEE_HASTE);
|
||||
DoCheckProc += AuraCheckProcFn(spell_rog_blade_flurry::CheckProc);
|
||||
OnEffectProc += AuraEffectProcFn(spell_rog_blade_flurry::HandleProc, EFFECT_0, SPELL_AURA_MOD_MELEE_HASTE);
|
||||
}
|
||||
|
||||
private:
|
||||
private:
|
||||
ObjectGuid _procTargetGUID;
|
||||
};
|
||||
|
||||
AuraScript* GetAuraScript() const override
|
||||
{
|
||||
return new spell_rog_blade_flurry_AuraScript();
|
||||
}
|
||||
};
|
||||
|
||||
// -31228 - Cheat Death
|
||||
class spell_rog_cheat_death : public SpellScriptLoader
|
||||
class spell_rog_cheat_death : public AuraScript
|
||||
{
|
||||
public:
|
||||
spell_rog_cheat_death() : SpellScriptLoader("spell_rog_cheat_death") { }
|
||||
|
||||
class spell_rog_cheat_death_AuraScript : public AuraScript
|
||||
{
|
||||
PrepareAuraScript(spell_rog_cheat_death_AuraScript);
|
||||
PrepareAuraScript(spell_rog_cheat_death);
|
||||
|
||||
uint32 absorbChance;
|
||||
|
||||
@@ -223,26 +183,15 @@ public:
|
||||
|
||||
void Register() override
|
||||
{
|
||||
DoEffectCalcAmount += AuraEffectCalcAmountFn(spell_rog_cheat_death_AuraScript::CalculateAmount, EFFECT_0, SPELL_AURA_SCHOOL_ABSORB);
|
||||
OnEffectAbsorb += AuraEffectAbsorbFn(spell_rog_cheat_death_AuraScript::Absorb, EFFECT_0);
|
||||
}
|
||||
};
|
||||
|
||||
AuraScript* GetAuraScript() const override
|
||||
{
|
||||
return new spell_rog_cheat_death_AuraScript();
|
||||
DoEffectCalcAmount += AuraEffectCalcAmountFn(spell_rog_cheat_death::CalculateAmount, EFFECT_0, SPELL_AURA_SCHOOL_ABSORB);
|
||||
OnEffectAbsorb += AuraEffectAbsorbFn(spell_rog_cheat_death::Absorb, EFFECT_0);
|
||||
}
|
||||
};
|
||||
|
||||
// -2818 - Deadly Poison
|
||||
class spell_rog_deadly_poison : public SpellScriptLoader
|
||||
class spell_rog_deadly_poison : public SpellScript
|
||||
{
|
||||
public:
|
||||
spell_rog_deadly_poison() : SpellScriptLoader("spell_rog_deadly_poison") { }
|
||||
|
||||
class spell_rog_deadly_poison_SpellScript : public SpellScript
|
||||
{
|
||||
PrepareSpellScript(spell_rog_deadly_poison_SpellScript);
|
||||
PrepareSpellScript(spell_rog_deadly_poison);
|
||||
|
||||
bool Load() override
|
||||
{
|
||||
@@ -320,17 +269,11 @@ public:
|
||||
|
||||
void Register() override
|
||||
{
|
||||
BeforeHit += BeforeSpellHitFn(spell_rog_deadly_poison_SpellScript::HandleBeforeHit);
|
||||
AfterHit += SpellHitFn(spell_rog_deadly_poison_SpellScript::HandleAfterHit);
|
||||
BeforeHit += BeforeSpellHitFn(spell_rog_deadly_poison::HandleBeforeHit);
|
||||
AfterHit += SpellHitFn(spell_rog_deadly_poison::HandleAfterHit);
|
||||
}
|
||||
|
||||
uint8 _stackAmount;
|
||||
};
|
||||
|
||||
SpellScript* GetSpellScript() const override
|
||||
{
|
||||
return new spell_rog_deadly_poison_SpellScript();
|
||||
}
|
||||
};
|
||||
|
||||
// 51690 - Killing Spree
|
||||
@@ -462,14 +405,9 @@ public:
|
||||
};
|
||||
|
||||
// -31130 - Nerves of Steel
|
||||
class spell_rog_nerves_of_steel : public SpellScriptLoader
|
||||
class spell_rog_nerves_of_steel : public AuraScript
|
||||
{
|
||||
public:
|
||||
spell_rog_nerves_of_steel() : SpellScriptLoader("spell_rog_nerves_of_steel") { }
|
||||
|
||||
class spell_rog_nerves_of_steel_AuraScript : public AuraScript
|
||||
{
|
||||
PrepareAuraScript(spell_rog_nerves_of_steel_AuraScript);
|
||||
PrepareAuraScript(spell_rog_nerves_of_steel);
|
||||
|
||||
uint32 absorbPct;
|
||||
|
||||
@@ -494,26 +432,15 @@ public:
|
||||
|
||||
void Register() override
|
||||
{
|
||||
DoEffectCalcAmount += AuraEffectCalcAmountFn(spell_rog_nerves_of_steel_AuraScript::CalculateAmount, EFFECT_0, SPELL_AURA_SCHOOL_ABSORB);
|
||||
OnEffectAbsorb += AuraEffectAbsorbFn(spell_rog_nerves_of_steel_AuraScript::Absorb, EFFECT_0);
|
||||
}
|
||||
};
|
||||
|
||||
AuraScript* GetAuraScript() const override
|
||||
{
|
||||
return new spell_rog_nerves_of_steel_AuraScript();
|
||||
DoEffectCalcAmount += AuraEffectCalcAmountFn(spell_rog_nerves_of_steel::CalculateAmount, EFFECT_0, SPELL_AURA_SCHOOL_ABSORB);
|
||||
OnEffectAbsorb += AuraEffectAbsorbFn(spell_rog_nerves_of_steel::Absorb, EFFECT_0);
|
||||
}
|
||||
};
|
||||
|
||||
// 14185 - Preparation
|
||||
class spell_rog_preparation : public SpellScriptLoader
|
||||
class spell_rog_preparation : public SpellScript
|
||||
{
|
||||
public:
|
||||
spell_rog_preparation() : SpellScriptLoader("spell_rog_preparation") { }
|
||||
|
||||
class spell_rog_preparation_SpellScript : public SpellScript
|
||||
{
|
||||
PrepareSpellScript(spell_rog_preparation_SpellScript);
|
||||
PrepareSpellScript(spell_rog_preparation);
|
||||
|
||||
bool Load() override
|
||||
{
|
||||
@@ -566,25 +493,14 @@ public:
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectHitTarget += SpellEffectFn(spell_rog_preparation_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
|
||||
}
|
||||
};
|
||||
|
||||
SpellScript* GetSpellScript() const override
|
||||
{
|
||||
return new spell_rog_preparation_SpellScript();
|
||||
OnEffectHitTarget += SpellEffectFn(spell_rog_preparation::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
|
||||
}
|
||||
};
|
||||
|
||||
// -51685 - Prey on the Weak
|
||||
class spell_rog_prey_on_the_weak : public SpellScriptLoader
|
||||
class spell_rog_prey_on_the_weak : public AuraScript
|
||||
{
|
||||
public:
|
||||
spell_rog_prey_on_the_weak() : SpellScriptLoader("spell_rog_prey_on_the_weak") { }
|
||||
|
||||
class spell_rog_prey_on_the_weak_AuraScript : public AuraScript
|
||||
{
|
||||
PrepareAuraScript(spell_rog_prey_on_the_weak_AuraScript);
|
||||
PrepareAuraScript(spell_rog_prey_on_the_weak);
|
||||
|
||||
bool Validate(SpellInfo const* /*spellInfo*/) override
|
||||
{
|
||||
@@ -612,25 +528,14 @@ public:
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectPeriodic += AuraEffectPeriodicFn(spell_rog_prey_on_the_weak_AuraScript::HandleEffectPeriodic, EFFECT_0, SPELL_AURA_PERIODIC_DUMMY);
|
||||
}
|
||||
};
|
||||
|
||||
AuraScript* GetAuraScript() const override
|
||||
{
|
||||
return new spell_rog_prey_on_the_weak_AuraScript();
|
||||
OnEffectPeriodic += AuraEffectPeriodicFn(spell_rog_prey_on_the_weak::HandleEffectPeriodic, EFFECT_0, SPELL_AURA_PERIODIC_DUMMY);
|
||||
}
|
||||
};
|
||||
|
||||
// -1943 - Rupture
|
||||
class spell_rog_rupture : public SpellScriptLoader
|
||||
class spell_rog_rupture : public AuraScript
|
||||
{
|
||||
public:
|
||||
spell_rog_rupture() : SpellScriptLoader("spell_rog_rupture") { }
|
||||
|
||||
class spell_rog_rupture_AuraScript : public AuraScript
|
||||
{
|
||||
PrepareAuraScript(spell_rog_rupture_AuraScript);
|
||||
PrepareAuraScript(spell_rog_rupture);
|
||||
|
||||
bool Load() override
|
||||
{
|
||||
@@ -664,25 +569,14 @@ public:
|
||||
|
||||
void Register() override
|
||||
{
|
||||
DoEffectCalcAmount += AuraEffectCalcAmountFn(spell_rog_rupture_AuraScript::CalculateAmount, EFFECT_0, SPELL_AURA_PERIODIC_DAMAGE);
|
||||
}
|
||||
};
|
||||
|
||||
AuraScript* GetAuraScript() const override
|
||||
{
|
||||
return new spell_rog_rupture_AuraScript();
|
||||
DoEffectCalcAmount += AuraEffectCalcAmountFn(spell_rog_rupture::CalculateAmount, EFFECT_0, SPELL_AURA_PERIODIC_DAMAGE);
|
||||
}
|
||||
};
|
||||
|
||||
// 5938 - Shiv
|
||||
class spell_rog_shiv : public SpellScriptLoader
|
||||
class spell_rog_shiv : public SpellScript
|
||||
{
|
||||
public:
|
||||
spell_rog_shiv() : SpellScriptLoader("spell_rog_shiv") { }
|
||||
|
||||
class spell_rog_shiv_SpellScript : public SpellScript
|
||||
{
|
||||
PrepareSpellScript(spell_rog_shiv_SpellScript);
|
||||
PrepareSpellScript(spell_rog_shiv);
|
||||
|
||||
bool Load() override
|
||||
{
|
||||
@@ -703,25 +597,14 @@ public:
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectHitTarget += SpellEffectFn(spell_rog_shiv_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
|
||||
}
|
||||
};
|
||||
|
||||
SpellScript* GetSpellScript() const override
|
||||
{
|
||||
return new spell_rog_shiv_SpellScript();
|
||||
OnEffectHitTarget += SpellEffectFn(spell_rog_shiv::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
|
||||
}
|
||||
};
|
||||
|
||||
// 57934 - Tricks of the Trade
|
||||
class spell_rog_tricks_of_the_trade : public SpellScriptLoader
|
||||
class spell_rog_tricks_of_the_trade : public AuraScript
|
||||
{
|
||||
public:
|
||||
spell_rog_tricks_of_the_trade() : SpellScriptLoader("spell_rog_tricks_of_the_trade") { }
|
||||
|
||||
class spell_rog_tricks_of_the_trade_AuraScript : public AuraScript
|
||||
{
|
||||
PrepareAuraScript(spell_rog_tricks_of_the_trade_AuraScript);
|
||||
PrepareAuraScript(spell_rog_tricks_of_the_trade);
|
||||
|
||||
bool Validate(SpellInfo const* /*spellInfo*/) override
|
||||
{
|
||||
@@ -758,30 +641,19 @@ public:
|
||||
|
||||
void Register() override
|
||||
{
|
||||
AfterEffectRemove += AuraEffectRemoveFn(spell_rog_tricks_of_the_trade_AuraScript::OnRemove, EFFECT_1, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL);
|
||||
DoCheckProc += AuraCheckProcFn(spell_rog_tricks_of_the_trade_AuraScript::CheckProc);
|
||||
OnEffectProc += AuraEffectProcFn(spell_rog_tricks_of_the_trade_AuraScript::HandleProc, EFFECT_1, SPELL_AURA_DUMMY);
|
||||
AfterEffectRemove += AuraEffectRemoveFn(spell_rog_tricks_of_the_trade::OnRemove, EFFECT_1, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL);
|
||||
DoCheckProc += AuraCheckProcFn(spell_rog_tricks_of_the_trade::CheckProc);
|
||||
OnEffectProc += AuraEffectProcFn(spell_rog_tricks_of_the_trade::HandleProc, EFFECT_1, SPELL_AURA_DUMMY);
|
||||
}
|
||||
|
||||
private:
|
||||
private:
|
||||
Unit* _redirectTarget;
|
||||
};
|
||||
|
||||
AuraScript* GetAuraScript() const override
|
||||
{
|
||||
return new spell_rog_tricks_of_the_trade_AuraScript();
|
||||
}
|
||||
};
|
||||
|
||||
// 59628 - Tricks of the Trade (Proc)
|
||||
class spell_rog_tricks_of_the_trade_proc : public SpellScriptLoader
|
||||
class spell_rog_tricks_of_the_trade_proc : public AuraScript
|
||||
{
|
||||
public:
|
||||
spell_rog_tricks_of_the_trade_proc() : SpellScriptLoader("spell_rog_tricks_of_the_trade_proc") { }
|
||||
|
||||
class spell_rog_tricks_of_the_trade_proc_AuraScript : public AuraScript
|
||||
{
|
||||
PrepareAuraScript(spell_rog_tricks_of_the_trade_proc_AuraScript);
|
||||
PrepareAuraScript(spell_rog_tricks_of_the_trade_proc);
|
||||
|
||||
void HandleRemove(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/)
|
||||
{
|
||||
@@ -790,32 +662,23 @@ public:
|
||||
|
||||
void Register() override
|
||||
{
|
||||
AfterEffectRemove += AuraEffectRemoveFn(spell_rog_tricks_of_the_trade_proc_AuraScript::HandleRemove, EFFECT_0, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL);
|
||||
}
|
||||
};
|
||||
|
||||
AuraScript* GetAuraScript() const override
|
||||
{
|
||||
return new spell_rog_tricks_of_the_trade_proc_AuraScript();
|
||||
AfterEffectRemove += AuraEffectRemoveFn(spell_rog_tricks_of_the_trade_proc::HandleRemove, EFFECT_0, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL);
|
||||
}
|
||||
};
|
||||
|
||||
void AddSC_rogue_spell_scripts()
|
||||
{
|
||||
// Ours
|
||||
new spell_rog_savage_combat();
|
||||
new spell_rog_combat_potency();
|
||||
|
||||
// Theirs
|
||||
new spell_rog_blade_flurry();
|
||||
new spell_rog_cheat_death();
|
||||
new spell_rog_deadly_poison();
|
||||
RegisterSpellScript(spell_rog_savage_combat);
|
||||
RegisterSpellScript(spell_rog_combat_potency);
|
||||
RegisterSpellScript(spell_rog_blade_flurry);
|
||||
RegisterSpellScript(spell_rog_cheat_death);
|
||||
RegisterSpellScript(spell_rog_deadly_poison);
|
||||
new spell_rog_killing_spree();
|
||||
new spell_rog_nerves_of_steel();
|
||||
new spell_rog_preparation();
|
||||
new spell_rog_prey_on_the_weak();
|
||||
new spell_rog_rupture();
|
||||
new spell_rog_shiv();
|
||||
new spell_rog_tricks_of_the_trade();
|
||||
new spell_rog_tricks_of_the_trade_proc();
|
||||
RegisterSpellScript(spell_rog_nerves_of_steel);
|
||||
RegisterSpellScript(spell_rog_preparation);
|
||||
RegisterSpellScript(spell_rog_prey_on_the_weak);
|
||||
RegisterSpellScript(spell_rog_rupture);
|
||||
RegisterSpellScript(spell_rog_shiv);
|
||||
RegisterSpellScript(spell_rog_tricks_of_the_trade);
|
||||
RegisterSpellScript(spell_rog_tricks_of_the_trade_proc);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user