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_mage.cpp53
-rw-r--r--src/server/scripts/Spells/spell_paladin.cpp18
-rw-r--r--src/server/scripts/Spells/spell_rogue.cpp31
3 files changed, 93 insertions, 9 deletions
diff --git a/src/server/scripts/Spells/spell_mage.cpp b/src/server/scripts/Spells/spell_mage.cpp
index 6a62e5178e0..fc062715c80 100644
--- a/src/server/scripts/Spells/spell_mage.cpp
+++ b/src/server/scripts/Spells/spell_mage.cpp
@@ -29,6 +29,10 @@
enum MageSpells
{
+ SPELL_ARCANCE_POTENCY_RANK_1 = 31571,
+ SPELL_ARCANCE_POTENCY_RANK_2 = 31572,
+ SPELL_ARCANCE_POTENCY_TRIGGER_RANK_1 = 57529,
+ SPELL_ARCANCE_POTENCY_TRIGGER_RANK_2 = 57531,
SPELL_MAGE_BLAZING_SPEED = 31643,
SPELL_MAGE_BURNOUT = 29077,
SPELL_MAGE_COLD_SNAP = 11958,
@@ -84,6 +88,54 @@ enum MageIcons
ICON_MAGE_IMPROVED_MANA_GEM = 1036
};
+// -31571 - Arcane Potency
+class spell_mage_arcane_potency : public SpellScriptLoader
+{
+ public:
+ spell_mage_arcane_potency () : SpellScriptLoader("spell_mage_arcane_potency") { }
+
+ class spell_mage_arcane_potency_AuraScript : public AuraScript
+ {
+ PrepareAuraScript(spell_mage_arcane_potency_AuraScript);
+
+ bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ {
+ if (!sSpellMgr->GetSpellInfo(SPELL_ARCANCE_POTENCY_RANK_1) ||
+ !sSpellMgr->GetSpellInfo(SPELL_ARCANCE_POTENCY_RANK_2) ||
+ !sSpellMgr->GetSpellInfo(SPELL_ARCANCE_POTENCY_TRIGGER_RANK_1) ||
+ !sSpellMgr->GetSpellInfo(SPELL_ARCANCE_POTENCY_TRIGGER_RANK_2))
+ return false;
+ return true;
+ }
+
+ void HandleProc(AuraEffect const* aurEff, ProcEventInfo& /*eventInfo*/)
+ {
+ PreventDefaultAction();
+ uint32 spellId = 0;
+
+ if (GetSpellInfo()->Id == SPELL_ARCANCE_POTENCY_RANK_1)
+ spellId = SPELL_ARCANCE_POTENCY_TRIGGER_RANK_1;
+ else if (GetSpellInfo()->Id == SPELL_ARCANCE_POTENCY_RANK_2)
+ spellId = SPELL_ARCANCE_POTENCY_TRIGGER_RANK_2;
+ if (!spellId)
+ return;
+
+ GetTarget()->CastSpell(GetTarget(), spellId, true, NULL, aurEff);
+
+ }
+
+ void Register() OVERRIDE
+ {
+ OnEffectProc += AuraEffectProcFn(spell_mage_arcane_potency_AuraScript::HandleProc, EFFECT_0, SPELL_AURA_DUMMY);
+ }
+ };
+
+ AuraScript* GetAuraScript() const OVERRIDE
+ {
+ return new spell_mage_arcane_potency_AuraScript();
+ }
+};
+
// Incanter's Absorbtion
class spell_mage_incanters_absorbtion_base_AuraScript : public AuraScript
{
@@ -1224,6 +1276,7 @@ class spell_mage_water_elemental_freeze : public SpellScriptLoader
void AddSC_mage_spell_scripts()
{
+ new spell_mage_arcane_potency();
new spell_mage_blast_wave();
new spell_mage_blazing_speed();
new spell_mage_blizzard();
diff --git a/src/server/scripts/Spells/spell_paladin.cpp b/src/server/scripts/Spells/spell_paladin.cpp
index eca66832dfe..fcb8c47cfbe 100644
--- a/src/server/scripts/Spells/spell_paladin.cpp
+++ b/src/server/scripts/Spells/spell_paladin.cpp
@@ -591,15 +591,15 @@ class spell_pal_hand_of_salvation : public SpellScriptLoader
}
};
-// 37705 - Greater Heal Refund
-class spell_pri_item_greater_heal_refund : public SpellScriptLoader
+// 37705 - Healing Discount
+class spell_pal_item_healing_discount : public SpellScriptLoader
{
public:
- spell_pri_item_greater_heal_refund() : SpellScriptLoader("spell_pri_item_greater_heal_refund") { }
+ spell_pal_item_healing_discount() : SpellScriptLoader("spell_pal_item_healing_discount") { }
- class spell_pri_item_greater_heal_refund_AuraScript : public AuraScript
+ class spell_pal_item_healing_discount_AuraScript : public AuraScript
{
- PrepareAuraScript(spell_pri_item_greater_heal_refund_AuraScript);
+ PrepareAuraScript(spell_pal_item_healing_discount_AuraScript);
bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
{
@@ -608,7 +608,7 @@ class spell_pri_item_greater_heal_refund : public SpellScriptLoader
return true;
}
- void OnProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo)
+ void OnProc(AuraEffect const* aurEff, ProcEventInfo& /*eventInfo*/)
{
PreventDefaultAction();
GetTarget()->CastSpell(GetTarget(), SPELL_PALADIN_ITEM_HEALING_TRANCE, true, NULL, aurEff);
@@ -616,13 +616,13 @@ class spell_pri_item_greater_heal_refund : public SpellScriptLoader
void Register() OVERRIDE
{
- OnEffectProc += AuraEffectProcFn(spell_pri_item_greater_heal_refund_AuraScript::OnProc, EFFECT_0, SPELL_AURA_PROC_TRIGGER_SPELL);
+ OnEffectProc += AuraEffectProcFn(spell_pal_item_healing_discount_AuraScript::OnProc, EFFECT_0, SPELL_AURA_PROC_TRIGGER_SPELL);
}
};
AuraScript* GetAuraScript() const OVERRIDE
{
- return new spell_pri_item_greater_heal_refund_AuraScript();
+ return new spell_pal_item_healing_discount_AuraScript();
}
};
@@ -1008,7 +1008,7 @@ void AddSC_paladin_spell_scripts()
new spell_pal_guarded_by_the_light();
new spell_pal_hand_of_sacrifice();
new spell_pal_hand_of_salvation();
- new spell_pri_item_greater_heal_refund();
+ new spell_pal_item_healing_discount();
new spell_pal_holy_shock();
new spell_pal_judgement_of_command();
new spell_pal_lay_on_hands();
diff --git a/src/server/scripts/Spells/spell_rogue.cpp b/src/server/scripts/Spells/spell_rogue.cpp
index d639c84adec..9307b07ae93 100644
--- a/src/server/scripts/Spells/spell_rogue.cpp
+++ b/src/server/scripts/Spells/spell_rogue.cpp
@@ -33,6 +33,7 @@ enum RogueSpells
SPELL_ROGUE_GLYPH_OF_PREPARATION = 56819,
SPELL_ROGUE_PREY_ON_THE_WEAK = 58670,
SPELL_ROGUE_SHIV_TRIGGERED = 5940,
+ SPELL_ROGUE_SILCE_AND_DICE = 5171,
SPELL_ROGUE_TRICKS_OF_THE_TRADE_DMG_BOOST = 57933,
SPELL_ROGUE_TRICKS_OF_THE_TRADE_PROC = 59628,
};
@@ -160,6 +161,35 @@ class spell_rog_cheat_death : public SpellScriptLoader
}
};
+// -51664 - Cut to the Chase
+class spell_rog_cut_to_the_chase : public SpellScriptLoader
+{
+ public:
+ spell_rog_cut_to_the_chase () : SpellScriptLoader("spell_rog_cut_to_the_chase") { }
+
+ class spell_rog_cut_to_the_chase_AuraScript : public AuraScript
+ {
+ PrepareAuraScript(spell_rog_cut_to_the_chase_AuraScript);
+
+ void HandleProc(AuraEffect const* /*aurEff*/, ProcEventInfo& /*eventInfo*/)
+ {
+ PreventDefaultAction();
+ if (Aura* aur = GetTarget()->GetAura(SPELL_ROGUE_SILCE_AND_DICE))
+ aur->SetDuration(aur->GetSpellInfo()->GetMaxDuration(), true);
+ }
+
+ void Register() OVERRIDE
+ {
+ OnEffectProc += AuraEffectProcFn(spell_rog_cut_to_the_chase_AuraScript::HandleProc, EFFECT_0, SPELL_AURA_DUMMY);
+ }
+ };
+
+ AuraScript* GetAuraScript() const OVERRIDE
+ {
+ return new spell_rog_cut_to_the_chase_AuraScript();
+ }
+};
+
// 2818 - Deadly Poison
class spell_rog_deadly_poison : public SpellScriptLoader
{
@@ -650,6 +680,7 @@ void AddSC_rogue_spell_scripts()
{
new spell_rog_blade_flurry();
new spell_rog_cheat_death();
+ new spell_rog_cut_to_the_chase();
new spell_rog_deadly_poison();
new spell_rog_nerves_of_steel();
new spell_rog_preparation();