refactor(Scripts/Spells): convert spell_hunter into new system (#9047)

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