aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorDoctorKraft <david.serdobbel.bizness@gmail.com>2017-02-10 23:22:13 +0100
committerShauren <shauren.trinity@gmail.com>2017-02-10 23:22:35 +0100
commite5e8537c3ef6cfc5d1bcb9c076a7c75f7e66a619 (patch)
treeb445859344659f1dbb9c583dd94219352aee8034 /src
parent9ad50fb08c863d02520d0f5c642bf68291db764e (diff)
Core/Spells: Fixed Victory Rush
Closes #19044
Diffstat (limited to 'src')
-rw-r--r--src/server/scripts/Spells/spell_warrior.cpp41
1 files changed, 28 insertions, 13 deletions
diff --git a/src/server/scripts/Spells/spell_warrior.cpp b/src/server/scripts/Spells/spell_warrior.cpp
index 4b831b45043..6761b6b86ea 100644
--- a/src/server/scripts/Spells/spell_warrior.cpp
+++ b/src/server/scripts/Spells/spell_warrior.cpp
@@ -63,6 +63,8 @@ enum WarriorSpells
SPELL_WARRIOR_UNRELENTING_ASSAULT_TRIGGER_2 = 64850,
SPELL_WARRIOR_VIGILANCE_PROC = 50725,
SPELL_WARRIOR_VENGEANCE = 76691,
+ SPELL_WARRIOR_VICTORIOUS = 32216,
+ SPELL_WARRIOR_VICTORY_RUSH_HEAL = 118779,
SPELL_WARRIOR_HEROIC_LEAP_JUMP = 178368,
SPELL_WARRIOR_GLYPH_OF_HEROIC_LEAP = 159708,
SPELL_WARRIOR_GLYPH_OF_HEROIC_LEAP_BUFF = 133278,
@@ -819,32 +821,45 @@ class spell_warr_sword_and_board : public SpellScriptLoader
}
};
-// 32216 - Victorious
-// 82368 - Victorious
-class spell_warr_victorious : public SpellScriptLoader
+// 34428 - Victory Rush
+class spell_warr_victory_rush : public SpellScriptLoader
{
public:
- spell_warr_victorious() : SpellScriptLoader("spell_warr_victorious") { }
+ spell_warr_victory_rush() : SpellScriptLoader("spell_warr_victory_rush") { }
- class spell_warr_victorious_AuraScript : public AuraScript
+ class spell_warr_victory_rush_SpellScript : public SpellScript
{
- PrepareAuraScript(spell_warr_victorious_AuraScript);
+ PrepareSpellScript(spell_warr_victory_rush_SpellScript);
- void HandleEffectProc(AuraEffect const* /*aurEff*/, ProcEventInfo& /*eventInfo*/)
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
- PreventDefaultAction();
- GetTarget()->RemoveAura(GetId());
+ return ValidateSpellInfo
+ ({
+ SPELL_WARRIOR_VICTORIOUS,
+ SPELL_WARRIOR_VICTORY_RUSH_HEAL
+ });
+ }
+
+ void HandleHeal()
+ {
+ if (!GetHitUnit())
+ return;
+
+ Unit* caster = GetCaster();
+
+ caster->CastSpell(caster, SPELL_WARRIOR_VICTORY_RUSH_HEAL, true);
+ caster->RemoveAurasDueToSpell(SPELL_WARRIOR_VICTORIOUS);
}
void Register() override
{
- OnEffectProc += AuraEffectProcFn(spell_warr_victorious_AuraScript::HandleEffectProc, EFFECT_0, SPELL_AURA_DUMMY);
+ AfterCast += SpellCastFn(spell_warr_victory_rush_SpellScript::HandleHeal);
}
};
- AuraScript* GetAuraScript() const override
+ SpellScript* GetSpellScript() const override
{
- return new spell_warr_victorious_AuraScript();
+ return new spell_warr_victory_rush_SpellScript();
}
};
@@ -1084,7 +1099,7 @@ void AddSC_warrior_spell_scripts()
new spell_warr_sudden_death();
new spell_warr_sweeping_strikes();
new spell_warr_sword_and_board();
- new spell_warr_victorious();
+ new spell_warr_victory_rush();
new spell_warr_vigilance();
new spell_warr_vigilance_trigger();
new spell_warr_heroic_leap();