aboutsummaryrefslogtreecommitdiff
path: root/src/server/scripts
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/scripts')
-rw-r--r--src/server/scripts/Spells/spell_warrior.cpp41
1 files changed, 41 insertions, 0 deletions
diff --git a/src/server/scripts/Spells/spell_warrior.cpp b/src/server/scripts/Spells/spell_warrior.cpp
index 5af45bfc32d..e4d8481eb4f 100644
--- a/src/server/scripts/Spells/spell_warrior.cpp
+++ b/src/server/scripts/Spells/spell_warrior.cpp
@@ -41,7 +41,9 @@ enum WarriorSpells
SPELL_WARRIOR_JUGGERNAUT_CRIT_BONUS_BUFF = 65156,
SPELL_WARRIOR_JUGGERNAUT_CRIT_BONUS_TALENT = 64976,
SPELL_WARRIOR_LAST_STAND_TRIGGERED = 12976,
+ SPELL_WARRIOR_MORTAL_STRIKE = 12294,
SPELL_WARRIOR_RALLYING_CRY = 97463,
+ SPELL_WARRIOR_REND = 94009,
SPELL_WARRIOR_RETALIATION_DAMAGE = 22858,
SPELL_WARRIOR_SECOUND_WIND_PROC_RANK_1 = 29834,
SPELL_WARRIOR_SECOUND_WIND_PROC_RANK_2 = 29838,
@@ -421,6 +423,44 @@ class spell_warr_intimidating_shout : public SpellScriptLoader
}
};
+// -84583 Lambs to the Slaughter
+class spell_warr_lambs_to_the_slaughter : public SpellScriptLoader
+{
+ public:
+ spell_warr_lambs_to_the_slaughter() : SpellScriptLoader("spell_warr_lambs_to_the_slaughter") { }
+
+ class spell_warr_lambs_to_the_slaughter_AuraScript : public AuraScript
+ {
+ PrepareAuraScript(spell_warr_lambs_to_the_slaughter_AuraScript);
+
+ bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ {
+ if (!sSpellMgr->GetSpellInfo(SPELL_WARRIOR_MORTAL_STRIKE) ||
+ !sSpellMgr->GetSpellInfo(SPELL_WARRIOR_REND))
+ return false;
+ return true;
+ }
+
+ void OnProc(AuraEffect const* /*aurEff*/, ProcEventInfo& eventInfo)
+ {
+ if (eventInfo.GetDamageInfo()->GetSpellInfo()->Id == SPELL_WARRIOR_MORTAL_STRIKE)
+ if (Aura* aur = eventInfo.GetProcTarget()->GetAura(SPELL_WARRIOR_REND, GetTarget()->GetGUID()))
+ aur->SetDuration(aur->GetSpellInfo()->GetMaxDuration(), true);
+
+ }
+
+ void Register() OVERRIDE
+ {
+ OnEffectProc += AuraEffectProcFn(spell_warr_lambs_to_the_slaughter_AuraScript::OnProc, EFFECT_0, SPELL_AURA_PROC_TRIGGER_SPELL);
+ }
+ };
+
+ AuraScript* GetAuraScript() const OVERRIDE
+ {
+ return new spell_warr_lambs_to_the_slaughter_AuraScript();
+ }
+};
+
/// Updated 4.3.4
// 12975 - Last Stand
class spell_warr_last_stand : public SpellScriptLoader
@@ -1026,6 +1066,7 @@ void AddSC_warrior_spell_scripts()
new spell_warr_glyph_of_sunder_armor();
new spell_warr_improved_spell_reflection();
new spell_warr_intimidating_shout();
+ new spell_warr_lambs_to_the_slaughter();
new spell_warr_last_stand();
new spell_warr_overpower();
new spell_warr_rallying_cry();