aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/server/scripts/Spells/spell_paladin.cpp602
1 files changed, 257 insertions, 345 deletions
diff --git a/src/server/scripts/Spells/spell_paladin.cpp b/src/server/scripts/Spells/spell_paladin.cpp
index 39547a66597..c5c0e01a84a 100644
--- a/src/server/scripts/Spells/spell_paladin.cpp
+++ b/src/server/scripts/Spells/spell_paladin.cpp
@@ -161,63 +161,52 @@ class spell_pal_ardent_defender : public SpellScriptLoader
*/
// 37877 - Blessing of Faith
-class spell_pal_blessing_of_faith : public SpellScriptLoader
+class spell_pal_blessing_of_faith : public SpellScript
{
- public:
- spell_pal_blessing_of_faith() : SpellScriptLoader("spell_pal_blessing_of_faith") { }
+ PrepareSpellScript(spell_pal_blessing_of_faith);
- class spell_pal_blessing_of_faith_SpellScript : public SpellScript
+ bool Validate(SpellInfo const* /*spellInfo*/) override
+ {
+ return ValidateSpellInfo(
{
- PrepareSpellScript(spell_pal_blessing_of_faith_SpellScript);
-
- bool Validate(SpellInfo const* /*spellInfo*/) override
- {
- return ValidateSpellInfo(
- {
- SPELL_PALADIN_BLESSING_OF_LOWER_CITY_DRUID,
- SPELL_PALADIN_BLESSING_OF_LOWER_CITY_PALADIN,
- SPELL_PALADIN_BLESSING_OF_LOWER_CITY_PRIEST,
- SPELL_PALADIN_BLESSING_OF_LOWER_CITY_SHAMAN
- });
- }
-
- void HandleDummy(SpellEffIndex /*effIndex*/)
- {
- if (Unit* unitTarget = GetHitUnit())
- {
- uint32 spell_id = 0;
- switch (unitTarget->getClass())
- {
- case CLASS_DRUID:
- spell_id = SPELL_PALADIN_BLESSING_OF_LOWER_CITY_DRUID;
- break;
- case CLASS_PALADIN:
- spell_id = SPELL_PALADIN_BLESSING_OF_LOWER_CITY_PALADIN;
- break;
- case CLASS_PRIEST:
- spell_id = SPELL_PALADIN_BLESSING_OF_LOWER_CITY_PRIEST;
- break;
- case CLASS_SHAMAN:
- spell_id = SPELL_PALADIN_BLESSING_OF_LOWER_CITY_SHAMAN;
- break;
- default:
- return; // ignore for non-healing classes
- }
- Unit* caster = GetCaster();
- caster->CastSpell(caster, spell_id, true);
- }
- }
+ SPELL_PALADIN_BLESSING_OF_LOWER_CITY_DRUID,
+ SPELL_PALADIN_BLESSING_OF_LOWER_CITY_PALADIN,
+ SPELL_PALADIN_BLESSING_OF_LOWER_CITY_PRIEST,
+ SPELL_PALADIN_BLESSING_OF_LOWER_CITY_SHAMAN
+ });
+ }
- void Register() override
+ void HandleDummy(SpellEffIndex /*effIndex*/)
+ {
+ if (Unit* unitTarget = GetHitUnit())
+ {
+ uint32 spell_id = 0;
+ switch (unitTarget->getClass())
{
- OnEffectHitTarget += SpellEffectFn(spell_pal_blessing_of_faith_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
+ case CLASS_DRUID:
+ spell_id = SPELL_PALADIN_BLESSING_OF_LOWER_CITY_DRUID;
+ break;
+ case CLASS_PALADIN:
+ spell_id = SPELL_PALADIN_BLESSING_OF_LOWER_CITY_PALADIN;
+ break;
+ case CLASS_PRIEST:
+ spell_id = SPELL_PALADIN_BLESSING_OF_LOWER_CITY_PRIEST;
+ break;
+ case CLASS_SHAMAN:
+ spell_id = SPELL_PALADIN_BLESSING_OF_LOWER_CITY_SHAMAN;
+ break;
+ default:
+ return; // ignore for non-healing classes
}
- };
-
- SpellScript* GetSpellScript() const override
- {
- return new spell_pal_blessing_of_faith_SpellScript();
+ Unit* caster = GetCaster();
+ caster->CastSpell(caster, spell_id, true);
}
+ }
+
+ void Register() override
+ {
+ OnEffectHitTarget += SpellEffectFn(spell_pal_blessing_of_faith::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
+ }
};
// 1022 - Blessing of Protection
@@ -330,107 +319,85 @@ class spell_pal_divine_shield : public SpellScript
};
// 190784 - Divine Steed
-class spell_pal_divine_steed : public SpellScriptLoader
+class spell_pal_divine_steed : public SpellScript
{
-public:
- spell_pal_divine_steed() : SpellScriptLoader("spell_pal_divine_steed") { }
+ PrepareSpellScript(spell_pal_divine_steed);
- class spell_pal_divine_steed_SpellScript : public SpellScript
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
- PrepareSpellScript(spell_pal_divine_steed_SpellScript);
-
- bool Validate(SpellInfo const* /*spellInfo*/) override
- {
- return ValidateSpellInfo(
- {
- SPELL_PALADIN_DIVINE_STEED_HUMAN,
- SPELL_PALADIN_DIVINE_STEED_DRAENEI,
- SPELL_PALADIN_DIVINE_STEED_BLOODELF,
- SPELL_PALADIN_DIVINE_STEED_TAUREN
- });
- }
-
- void HandleOnCast()
+ return ValidateSpellInfo(
{
- Unit* caster = GetCaster();
+ SPELL_PALADIN_DIVINE_STEED_HUMAN,
+ SPELL_PALADIN_DIVINE_STEED_DRAENEI,
+ SPELL_PALADIN_DIVINE_STEED_BLOODELF,
+ SPELL_PALADIN_DIVINE_STEED_TAUREN
+ });
+ }
- uint32 spellId = SPELL_PALADIN_DIVINE_STEED_HUMAN;
- switch (caster->getRace())
- {
- case RACE_HUMAN:
- case RACE_DWARF:
- spellId = SPELL_PALADIN_DIVINE_STEED_HUMAN;
- break;
- case RACE_DRAENEI:
- spellId = SPELL_PALADIN_DIVINE_STEED_DRAENEI;
- break;
- case RACE_BLOODELF:
- spellId = SPELL_PALADIN_DIVINE_STEED_BLOODELF;
- break;
- case RACE_TAUREN:
- spellId = SPELL_PALADIN_DIVINE_STEED_TAUREN;
- break;
- default:
- break;
- }
+ void HandleOnCast()
+ {
+ Unit* caster = GetCaster();
- caster->CastSpell(caster, spellId, true);
+ uint32 spellId = SPELL_PALADIN_DIVINE_STEED_HUMAN;
+ switch (caster->getRace())
+ {
+ case RACE_HUMAN:
+ case RACE_DWARF:
+ spellId = SPELL_PALADIN_DIVINE_STEED_HUMAN;
+ break;
+ case RACE_DRAENEI:
+ spellId = SPELL_PALADIN_DIVINE_STEED_DRAENEI;
+ break;
+ case RACE_BLOODELF:
+ spellId = SPELL_PALADIN_DIVINE_STEED_BLOODELF;
+ break;
+ case RACE_TAUREN:
+ spellId = SPELL_PALADIN_DIVINE_STEED_TAUREN;
+ break;
+ default:
+ break;
}
- void Register() override
- {
- OnCast += SpellCastFn(spell_pal_divine_steed_SpellScript::HandleOnCast);
- }
- };
+ caster->CastSpell(caster, spellId, true);
+ }
- SpellScript* GetSpellScript() const override
+ void Register() override
{
- return new spell_pal_divine_steed_SpellScript();
+ OnCast += SpellCastFn(spell_pal_divine_steed::HandleOnCast);
}
};
// 53385 - Divine Storm
-class spell_pal_divine_storm : public SpellScriptLoader
+class spell_pal_divine_storm : public SpellScript
{
- public:
- spell_pal_divine_storm() : SpellScriptLoader("spell_pal_divine_storm") { }
+ PrepareSpellScript(spell_pal_divine_storm);
- class spell_pal_divine_storm_SpellScript : public SpellScript
- {
- PrepareSpellScript(spell_pal_divine_storm_SpellScript);
-
- bool Validate(SpellInfo const* /*spellInfo*/) override
- {
- return ValidateSpellInfo({ SPELL_PALADIN_DIVINE_STORM_DAMAGE });
- }
-
- void HandleOnCast()
- {
- Unit* caster = GetCaster();
- caster->SendPlaySpellVisualKit(PALADIN_VISUAL_KIT_DIVINE_STORM, 0, 0);
- }
+ bool Validate(SpellInfo const* /*spellInfo*/) override
+ {
+ return ValidateSpellInfo({ SPELL_PALADIN_DIVINE_STORM_DAMAGE });
+ }
- void HandleDummy(SpellEffIndex /* effIndex */)
- {
- Unit* caster = GetCaster();
- Unit* target = GetHitUnit();
- if (!target)
- return;
+ void HandleOnCast()
+ {
+ Unit* caster = GetCaster();
+ caster->SendPlaySpellVisualKit(PALADIN_VISUAL_KIT_DIVINE_STORM, 0, 0);
+ }
- caster->CastSpell(target, SPELL_PALADIN_DIVINE_STORM_DAMAGE, true);
- }
+ void HandleDummy(SpellEffIndex /* effIndex */)
+ {
+ Unit* caster = GetCaster();
+ Unit* target = GetHitUnit();
+ if (!target)
+ return;
- void Register() override
- {
- OnCast += SpellCastFn(spell_pal_divine_storm_SpellScript::HandleOnCast);
- OnEffectHitTarget += SpellEffectFn(spell_pal_divine_storm_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
- }
- };
+ caster->CastSpell(target, SPELL_PALADIN_DIVINE_STORM_DAMAGE, true);
+ }
- SpellScript* GetSpellScript() const override
- {
- return new spell_pal_divine_storm_SpellScript();
- }
+ void Register() override
+ {
+ OnCast += SpellCastFn(spell_pal_divine_storm::HandleOnCast);
+ OnEffectHitTarget += SpellEffectFn(spell_pal_divine_storm::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
+ }
};
// -75806 - Grand Crusader
@@ -472,36 +439,25 @@ class spell_pal_grand_crusader : public SpellScriptLoader
};
// 54968 - Glyph of Holy Light
-class spell_pal_glyph_of_holy_light : public SpellScriptLoader
+class spell_pal_glyph_of_holy_light : public SpellScript
{
- public:
- spell_pal_glyph_of_holy_light() : SpellScriptLoader("spell_pal_glyph_of_holy_light") { }
-
- class spell_pal_glyph_of_holy_light_SpellScript : public SpellScript
- {
- PrepareSpellScript(spell_pal_glyph_of_holy_light_SpellScript);
-
- void FilterTargets(std::list<WorldObject*>& targets)
- {
- uint32 const maxTargets = GetSpellInfo()->MaxAffectedTargets;
-
- if (targets.size() > maxTargets)
- {
- targets.sort(Trinity::HealthPctOrderPred());
- targets.resize(maxTargets);
- }
- }
+ PrepareSpellScript(spell_pal_glyph_of_holy_light);
- void Register() override
- {
- OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_pal_glyph_of_holy_light_SpellScript::FilterTargets, EFFECT_0, TARGET_UNIT_DEST_AREA_ALLY);
- }
- };
+ void FilterTargets(std::list<WorldObject*>& targets)
+ {
+ uint32 const maxTargets = GetSpellInfo()->MaxAffectedTargets;
- SpellScript* GetSpellScript() const override
+ if (targets.size() > maxTargets)
{
- return new spell_pal_glyph_of_holy_light_SpellScript();
+ targets.sort(Trinity::HealthPctOrderPred());
+ targets.resize(maxTargets);
}
+ }
+
+ void Register() override
+ {
+ OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_pal_glyph_of_holy_light::FilterTargets, EFFECT_0, TARGET_UNIT_DEST_AREA_ALLY);
+ }
};
// 6940 - Hand of Sacrifice
@@ -556,168 +512,135 @@ class spell_pal_hand_of_sacrifice : public SpellScriptLoader
};
// 20473 - Holy Shock
-class spell_pal_holy_shock : public SpellScriptLoader
+class spell_pal_holy_shock : public SpellScript
{
- public:
- spell_pal_holy_shock() : SpellScriptLoader("spell_pal_holy_shock") { }
+ PrepareSpellScript(spell_pal_holy_shock);
- class spell_pal_holy_shock_SpellScript : public SpellScript
- {
- PrepareSpellScript(spell_pal_holy_shock_SpellScript);
-
- bool Validate(SpellInfo const* spellInfo) override
- {
- SpellInfo const* firstRankSpellInfo = sSpellMgr->GetSpellInfo(SPELL_PALADIN_HOLY_SHOCK_R1, DIFFICULTY_NONE);
- if (!firstRankSpellInfo)
- return false;
+ bool Validate(SpellInfo const* spellInfo) override
+ {
+ SpellInfo const* firstRankSpellInfo = sSpellMgr->GetSpellInfo(SPELL_PALADIN_HOLY_SHOCK_R1, DIFFICULTY_NONE);
+ if (!firstRankSpellInfo)
+ return false;
- // can't use other spell than holy shock due to spell_ranks dependency
- if (!spellInfo->IsRankOf(firstRankSpellInfo))
- return false;
+ // can't use other spell than holy shock due to spell_ranks dependency
+ if (!spellInfo->IsRankOf(firstRankSpellInfo))
+ return false;
- uint8 rank = spellInfo->GetRank();
- if (!sSpellMgr->GetSpellWithRank(SPELL_PALADIN_HOLY_SHOCK_R1_DAMAGE, rank, true) || !sSpellMgr->GetSpellWithRank(SPELL_PALADIN_HOLY_SHOCK_R1_HEALING, rank, true))
- return false;
+ uint8 rank = spellInfo->GetRank();
+ if (!sSpellMgr->GetSpellWithRank(SPELL_PALADIN_HOLY_SHOCK_R1_DAMAGE, rank, true) || !sSpellMgr->GetSpellWithRank(SPELL_PALADIN_HOLY_SHOCK_R1_HEALING, rank, true))
+ return false;
- return true;
- }
+ return true;
+ }
- void HandleDummy(SpellEffIndex /*effIndex*/)
- {
- Unit* caster = GetCaster();
- if (Unit* unitTarget = GetHitUnit())
- {
- uint8 rank = GetSpellInfo()->GetRank();
- if (caster->IsFriendlyTo(unitTarget))
- caster->CastSpell(unitTarget, sSpellMgr->GetSpellWithRank(SPELL_PALADIN_HOLY_SHOCK_R1_HEALING, rank), true);
- else
- caster->CastSpell(unitTarget, sSpellMgr->GetSpellWithRank(SPELL_PALADIN_HOLY_SHOCK_R1_DAMAGE, rank), true);
- }
- }
+ void HandleDummy(SpellEffIndex /*effIndex*/)
+ {
+ Unit* caster = GetCaster();
+ if (Unit* unitTarget = GetHitUnit())
+ {
+ uint8 rank = GetSpellInfo()->GetRank();
+ if (caster->IsFriendlyTo(unitTarget))
+ caster->CastSpell(unitTarget, sSpellMgr->GetSpellWithRank(SPELL_PALADIN_HOLY_SHOCK_R1_HEALING, rank), true);
+ else
+ caster->CastSpell(unitTarget, sSpellMgr->GetSpellWithRank(SPELL_PALADIN_HOLY_SHOCK_R1_DAMAGE, rank), true);
+ }
+ }
- SpellCastResult CheckCast()
+ SpellCastResult CheckCast()
+ {
+ Unit* caster = GetCaster();
+ if (Unit* target = GetExplTargetUnit())
+ {
+ if (!caster->IsFriendlyTo(target))
{
- Unit* caster = GetCaster();
- if (Unit* target = GetExplTargetUnit())
- {
- if (!caster->IsFriendlyTo(target))
- {
- if (!caster->IsValidAttackTarget(target))
- return SPELL_FAILED_BAD_TARGETS;
-
- if (!caster->isInFront(target))
- return SPELL_FAILED_UNIT_NOT_INFRONT;
- }
- }
- else
+ if (!caster->IsValidAttackTarget(target))
return SPELL_FAILED_BAD_TARGETS;
- return SPELL_CAST_OK;
- }
- void Register() override
- {
- OnCheckCast += SpellCheckCastFn(spell_pal_holy_shock_SpellScript::CheckCast);
- OnEffectHitTarget += SpellEffectFn(spell_pal_holy_shock_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
+ if (!caster->isInFront(target))
+ return SPELL_FAILED_UNIT_NOT_INFRONT;
}
- };
-
- SpellScript* GetSpellScript() const override
- {
- return new spell_pal_holy_shock_SpellScript();
}
+ else
+ return SPELL_FAILED_BAD_TARGETS;
+ return SPELL_CAST_OK;
+ }
+
+ void Register() override
+ {
+ OnCheckCast += SpellCheckCastFn(spell_pal_holy_shock::CheckCast);
+ OnEffectHitTarget += SpellEffectFn(spell_pal_holy_shock::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
+ }
};
// 37705 - Healing Discount
-class spell_pal_item_healing_discount : public SpellScriptLoader
+class spell_pal_item_healing_discount : public AuraScript
{
- public:
- spell_pal_item_healing_discount() : SpellScriptLoader("spell_pal_item_healing_discount") { }
-
- class spell_pal_item_healing_discount_AuraScript : public AuraScript
- {
- PrepareAuraScript(spell_pal_item_healing_discount_AuraScript);
-
- bool Validate(SpellInfo const* /*spellInfo*/) override
- {
- return ValidateSpellInfo({ SPELL_PALADIN_ITEM_HEALING_TRANCE });
- }
+ PrepareAuraScript(spell_pal_item_healing_discount);
- void HandleProc(AuraEffect* aurEff, ProcEventInfo& /*eventInfo*/)
- {
- PreventDefaultAction();
- GetTarget()->CastSpell(GetTarget(), SPELL_PALADIN_ITEM_HEALING_TRANCE, true, nullptr, aurEff);
- }
+ bool Validate(SpellInfo const* /*spellInfo*/) override
+ {
+ return ValidateSpellInfo({ SPELL_PALADIN_ITEM_HEALING_TRANCE });
+ }
- void Register() override
- {
- OnEffectProc += AuraEffectProcFn(spell_pal_item_healing_discount_AuraScript::HandleProc, EFFECT_0, SPELL_AURA_PROC_TRIGGER_SPELL);
- }
- };
+ void HandleProc(AuraEffect* aurEff, ProcEventInfo& /*eventInfo*/)
+ {
+ PreventDefaultAction();
+ GetTarget()->CastSpell(GetTarget(), SPELL_PALADIN_ITEM_HEALING_TRANCE, true, nullptr, aurEff);
+ }
- AuraScript* GetAuraScript() const override
- {
- return new spell_pal_item_healing_discount_AuraScript();
- }
+ void Register() override
+ {
+ OnEffectProc += AuraEffectProcFn(spell_pal_item_healing_discount::HandleProc, EFFECT_0, SPELL_AURA_PROC_TRIGGER_SPELL);
+ }
};
// 40470 - Paladin Tier 6 Trinket
-class spell_pal_item_t6_trinket : public SpellScriptLoader
+class spell_pal_item_t6_trinket : public AuraScript
{
- public:
- spell_pal_item_t6_trinket() : SpellScriptLoader("spell_pal_item_t6_trinket") { }
+ PrepareAuraScript(spell_pal_item_t6_trinket);
- class spell_pal_item_t6_trinket_AuraScript : public AuraScript
+ bool Validate(SpellInfo const* /*spellInfo*/) override
+ {
+ return ValidateSpellInfo(
{
- PrepareAuraScript(spell_pal_item_t6_trinket_AuraScript);
-
- bool Validate(SpellInfo const* /*spellInfo*/) override
- {
- return ValidateSpellInfo(
- {
- SPELL_PALADIN_ENDURING_LIGHT,
- SPELL_PALADIN_ENDURING_JUDGEMENT
- });
- }
-
- void HandleProc(AuraEffect* aurEff, ProcEventInfo& eventInfo)
- {
- PreventDefaultAction();
- SpellInfo const* spellInfo = eventInfo.GetSpellInfo();
- if (!spellInfo)
- return;
-
- uint32 spellId;
- int32 chance;
-
- // Holy Light & Flash of Light
- if (spellInfo->SpellFamilyFlags[0] & 0xC0000000)
- {
- spellId = SPELL_PALADIN_ENDURING_LIGHT;
- chance = 15;
- }
- // Judgements
- else if (spellInfo->SpellFamilyFlags[0] & 0x00800000)
- {
- spellId = SPELL_PALADIN_ENDURING_JUDGEMENT;
- chance = 50;
- }
- else
- return;
+ SPELL_PALADIN_ENDURING_LIGHT,
+ SPELL_PALADIN_ENDURING_JUDGEMENT
+ });
+ }
- if (roll_chance_i(chance))
- eventInfo.GetActor()->CastSpell(eventInfo.GetProcTarget(), spellId, true, nullptr, aurEff);
- }
+ void HandleProc(AuraEffect* aurEff, ProcEventInfo& eventInfo)
+ {
+ PreventDefaultAction();
+ SpellInfo const* spellInfo = eventInfo.GetSpellInfo();
+ if (!spellInfo)
+ return;
- void Register() override
- {
- OnEffectProc += AuraEffectProcFn(spell_pal_item_t6_trinket_AuraScript::HandleProc, EFFECT_0, SPELL_AURA_DUMMY);
- }
- };
+ uint32 spellId;
+ int32 chance;
- AuraScript* GetAuraScript() const override
+ // Holy Light & Flash of Light
+ if (spellInfo->SpellFamilyFlags[0] & 0xC0000000)
{
- return new spell_pal_item_t6_trinket_AuraScript();
+ spellId = SPELL_PALADIN_ENDURING_LIGHT;
+ chance = 15;
}
+ // Judgements
+ else if (spellInfo->SpellFamilyFlags[0] & 0x00800000)
+ {
+ spellId = SPELL_PALADIN_ENDURING_JUDGEMENT;
+ chance = 50;
+ }
+ else
+ return;
+
+ if (roll_chance_i(chance))
+ eventInfo.GetActor()->CastSpell(eventInfo.GetProcTarget(), spellId, true, nullptr, aurEff);
+ }
+
+ void Register() override
+ {
+ OnEffectProc += AuraEffectProcFn(spell_pal_item_t6_trinket::HandleProc, EFFECT_0, SPELL_AURA_DUMMY);
+ }
};
// 20271 - Judgement
@@ -873,67 +796,56 @@ class spell_pal_light_s_beacon : public SpellScriptLoader
// 85256 - Templar's Verdict
/// Updated 4.3.4
-class spell_pal_templar_s_verdict : public SpellScriptLoader
+class spell_pal_templar_s_verdict : public SpellScript
{
- public:
- spell_pal_templar_s_verdict() : SpellScriptLoader("spell_pal_templar_s_verdict") { }
+ PrepareSpellScript(spell_pal_templar_s_verdict);
- class spell_pal_templar_s_verdict_SpellScript : public SpellScript
- {
- PrepareSpellScript(spell_pal_templar_s_verdict_SpellScript);
+ bool Validate (SpellInfo const* /*spellEntry*/) override
+ {
+ return ValidateSpellInfo({ SPELL_PALADIN_DIVINE_PURPOSE_PROC });
+ }
- bool Validate (SpellInfo const* /*spellEntry*/) override
- {
- return ValidateSpellInfo({ SPELL_PALADIN_DIVINE_PURPOSE_PROC });
- }
+ bool Load() override
+ {
+ if (GetCaster()->GetTypeId() != TYPEID_PLAYER)
+ return false;
- bool Load() override
- {
- if (GetCaster()->GetTypeId() != TYPEID_PLAYER)
- return false;
+ if (GetCaster()->ToPlayer()->getClass() != CLASS_PALADIN)
+ return false;
- if (GetCaster()->ToPlayer()->getClass() != CLASS_PALADIN)
- return false;
+ return true;
+ }
- return true;
- }
+ void ChangeDamage(SpellEffIndex /*effIndex*/)
+ {
+ Unit* caster = GetCaster();
+ int32 damage = GetHitDamage();
- void ChangeDamage(SpellEffIndex /*effIndex*/)
+ if (caster->HasAura(SPELL_PALADIN_DIVINE_PURPOSE_PROC))
+ damage *= 7.5; // 7.5*30% = 225%
+ else
+ {
+ switch (caster->GetPower(POWER_HOLY_POWER))
{
- Unit* caster = GetCaster();
- int32 damage = GetHitDamage();
-
- if (caster->HasAura(SPELL_PALADIN_DIVINE_PURPOSE_PROC))
+ case 0: // 1 Holy Power
+ // same damage
+ break;
+ case 1: // 2 Holy Power
+ damage *= 3; // 3*30 = 90%
+ break;
+ case 2: // 3 Holy Power
damage *= 7.5; // 7.5*30% = 225%
- else
- {
- switch (caster->GetPower(POWER_HOLY_POWER))
- {
- case 0: // 1 Holy Power
- // same damage
- break;
- case 1: // 2 Holy Power
- damage *= 3; // 3*30 = 90%
- break;
- case 2: // 3 Holy Power
- damage *= 7.5; // 7.5*30% = 225%
- break;
- }
- }
-
- SetHitDamage(damage);
+ break;
}
+ }
- void Register() override
- {
- OnEffectHitTarget += SpellEffectFn(spell_pal_templar_s_verdict_SpellScript::ChangeDamage, EFFECT_0, SPELL_EFFECT_WEAPON_PERCENT_DAMAGE);
- }
- };
+ SetHitDamage(damage);
+ }
- SpellScript* GetSpellScript() const override
- {
- return new spell_pal_templar_s_verdict_SpellScript();
- }
+ void Register() override
+ {
+ OnEffectHitTarget += SpellEffectFn(spell_pal_templar_s_verdict::ChangeDamage, EFFECT_0, SPELL_EFFECT_WEAPON_PERCENT_DAMAGE);
+ }
};
// 28789 - Holy Power
@@ -1053,22 +965,22 @@ class spell_pal_t8_2p_bonus : public SpellScriptLoader
void AddSC_paladin_spell_scripts()
{
//new spell_pal_ardent_defender();
- new spell_pal_blessing_of_faith();
+ RegisterSpellScript(spell_pal_blessing_of_faith);
RegisterSpellScript(spell_pal_blessing_of_protection);
RegisterSpellScript(spell_pal_blinding_light);
RegisterSpellScript(spell_pal_divine_shield);
- new spell_pal_divine_steed();
- new spell_pal_divine_storm();
- new spell_pal_glyph_of_holy_light();
+ RegisterSpellScript(spell_pal_divine_steed);
+ RegisterSpellScript(spell_pal_divine_storm);
+ RegisterSpellScript(spell_pal_glyph_of_holy_light);
new spell_pal_grand_crusader();
new spell_pal_hand_of_sacrifice();
- new spell_pal_holy_shock();
- new spell_pal_item_healing_discount();
- new spell_pal_item_t6_trinket();
+ RegisterSpellScript(spell_pal_holy_shock);
+ RegisterAuraScript(spell_pal_item_healing_discount);
+ RegisterAuraScript(spell_pal_item_t6_trinket);
new spell_pal_judgement();
RegisterSpellScript(spell_pal_lay_on_hands);
new spell_pal_light_s_beacon();
- new spell_pal_templar_s_verdict();
+ RegisterSpellScript(spell_pal_templar_s_verdict);
new spell_pal_t3_6p_bonus();
new spell_pal_t8_2p_bonus();
}