fix(Script/Spells): Validate Warrior spells (#9182)

This commit is contained in:
Kitzunu
2021-11-14 05:19:52 +01:00
committed by GitHub
parent 5499b94eff
commit 959ee62efe
+40 -10
View File
@@ -29,12 +29,9 @@
enum WarriorSpells enum WarriorSpells
{ {
// Ours
SPELL_WARRIOR_INTERVENE_TRIGGER = 59667, SPELL_WARRIOR_INTERVENE_TRIGGER = 59667,
SPELL_WARRIOR_SPELL_REFLECTION = 23920, SPELL_WARRIOR_SPELL_REFLECTION = 23920,
SPELL_WARRIOR_IMPROVED_SPELL_REFLECTION_TRIGGER = 59725, SPELL_WARRIOR_IMPROVED_SPELL_REFLECTION_TRIGGER = 59725,
// Theirs
SPELL_WARRIOR_BLOODTHIRST = 23885, SPELL_WARRIOR_BLOODTHIRST = 23885,
SPELL_WARRIOR_BLOODTHIRST_DAMAGE = 23881, SPELL_WARRIOR_BLOODTHIRST_DAMAGE = 23881,
SPELL_WARRIOR_CHARGE = 34846, SPELL_WARRIOR_CHARGE = 34846,
@@ -125,6 +122,11 @@ class spell_warr_intervene : public SpellScript
{ {
PrepareSpellScript(spell_warr_intervene); PrepareSpellScript(spell_warr_intervene);
bool Validate(SpellInfo const* /*spellInfo*/) override
{
return ValidateSpellInfo({ SPELL_WARRIOR_INTERVENE_TRIGGER });
}
void HandleApplyAura(SpellEffIndex /*effIndex*/) void HandleApplyAura(SpellEffIndex /*effIndex*/)
{ {
if (Unit* target = GetHitUnit()) if (Unit* target = GetHitUnit())
@@ -141,6 +143,11 @@ class spell_warr_improved_spell_reflection : public AuraScript
{ {
PrepareAuraScript(spell_warr_improved_spell_reflection); PrepareAuraScript(spell_warr_improved_spell_reflection);
bool Validate(SpellInfo const* /*spellInfo*/) override
{
return ValidateSpellInfo({ SPELL_WARRIOR_SPELL_REFLECTION, SPELL_WARRIOR_IMPROVED_SPELL_REFLECTION_TRIGGER });
}
bool CheckProc(ProcEventInfo& eventInfo) bool CheckProc(ProcEventInfo& eventInfo)
{ {
return eventInfo.GetSpellInfo() && eventInfo.GetSpellInfo()->Id == SPELL_WARRIOR_SPELL_REFLECTION; return eventInfo.GetSpellInfo() && eventInfo.GetSpellInfo()->Id == SPELL_WARRIOR_SPELL_REFLECTION;
@@ -166,6 +173,11 @@ class spell_warr_improved_spell_reflection_trigger : public SpellScript
{ {
PrepareSpellScript(spell_warr_improved_spell_reflection_trigger); PrepareSpellScript(spell_warr_improved_spell_reflection_trigger);
bool Validate(SpellInfo const* /*spellInfo*/) override
{
return ValidateSpellInfo({ SPELL_WARRIOR_SPELL_REFLECTION });
}
void FilterTargets(std::list<WorldObject*>& unitList) void FilterTargets(std::list<WorldObject*>& unitList)
{ {
GetCaster()->RemoveAurasDueToSpell(SPELL_WARRIOR_SPELL_REFLECTION); GetCaster()->RemoveAurasDueToSpell(SPELL_WARRIOR_SPELL_REFLECTION);
@@ -239,12 +251,7 @@ class spell_warr_deep_wounds : public SpellScript
bool Validate(SpellInfo const* /*spellInfo*/) override bool Validate(SpellInfo const* /*spellInfo*/) override
{ {
return ValidateSpellInfo( return ValidateSpellInfo({ SPELL_WARRIOR_DEEP_WOUNDS_RANK_PERIODIC });
{
SPELL_WARRIOR_DEEP_WOUNDS_RANK_1,
SPELL_WARRIOR_DEEP_WOUNDS_RANK_2,
SPELL_WARRIOR_DEEP_WOUNDS_RANK_3
});
} }
void HandleDummy(SpellEffIndex /*effIndex*/) void HandleDummy(SpellEffIndex /*effIndex*/)
@@ -441,6 +448,11 @@ class spell_warr_bloodthirst : public SpellScript
{ {
PrepareSpellScript(spell_warr_bloodthirst); PrepareSpellScript(spell_warr_bloodthirst);
bool Validate(SpellInfo const* /*spellInfo*/) override
{
return ValidateSpellInfo({ SPELL_WARRIOR_BLOODTHIRST });
}
void HandleDamage(SpellEffIndex /*effIndex*/) void HandleDamage(SpellEffIndex /*effIndex*/)
{ {
int32 damage = GetEffectValue(); int32 damage = GetEffectValue();
@@ -489,6 +501,16 @@ class spell_warr_overpower : public SpellScript
{ {
PrepareSpellScript(spell_warr_overpower); PrepareSpellScript(spell_warr_overpower);
bool Validate(SpellInfo const* /*spellInfo*/) override
{
return ValidateSpellInfo({
SPELL_WARRIOR_UNRELENTING_ASSAULT_RANK_1,
SPELL_WARRIOR_UNRELENTING_ASSAULT_TRIGGER_1,
SPELL_WARRIOR_UNRELENTING_ASSAULT_RANK_2,
SPELL_WARRIOR_UNRELENTING_ASSAULT_TRIGGER_2
});
}
void HandleEffect(SpellEffIndex /*effIndex*/) void HandleEffect(SpellEffIndex /*effIndex*/)
{ {
uint32 spellId = 0; uint32 spellId = 0;
@@ -645,7 +667,10 @@ class spell_warr_vigilance : public AuraScript
SPELL_WARRIOR_GLYPH_OF_VIGILANCE, SPELL_WARRIOR_GLYPH_OF_VIGILANCE,
SPELL_WARRIOR_VIGILANCE_PROC, SPELL_WARRIOR_VIGILANCE_PROC,
SPELL_WARRIOR_VIGILANCE_REDIRECT_THREAT, SPELL_WARRIOR_VIGILANCE_REDIRECT_THREAT,
SPELL_GEN_DAMAGE_REDUCTION_AURA SPELL_GEN_DAMAGE_REDUCTION_AURA,
SPELL_PALADIN_BLESSING_OF_SANCTUARY,
SPELL_PALADIN_GREATER_BLESSING_OF_SANCTUARY,
SPELL_PRIEST_RENEWED_HOPE
}); });
} }
@@ -719,6 +744,11 @@ class spell_warr_vigilance_trigger : public SpellScript
{ {
PrepareSpellScript(spell_warr_vigilance_trigger); PrepareSpellScript(spell_warr_vigilance_trigger);
bool Validate(SpellInfo const* /*spellInfo*/) override
{
return ValidateSpellInfo({ SPELL_WARRIOR_TAUNT });
}
void HandleScript(SpellEffIndex effIndex) void HandleScript(SpellEffIndex effIndex)
{ {
PreventHitDefaultEffect(effIndex); PreventHitDefaultEffect(effIndex);