diff --git a/src/server/scripts/Spells/spell_paladin.cpp b/src/server/scripts/Spells/spell_paladin.cpp index 55945914e..9b745e24d 100644 --- a/src/server/scripts/Spells/spell_paladin.cpp +++ b/src/server/scripts/Spells/spell_paladin.cpp @@ -80,6 +80,12 @@ enum PaladinSpells SPELL_PALADIN_SANCTIFIED_RETRIBUTION_AURA = 63531, SPELL_PALADIN_AURA_MASTERY_IMMUNE = 64364, + SPELL_JUDGEMENTS_OF_THE_JUST = 68055, + SPELL_JUDGEMENT_OF_VENGEANCE_EFFECT = 31804, + SPELL_HOLY_VENGEANCE = 31803, + SPELL_JUDGEMENT_OF_CORRUPTION_EFFECT = 53733, + SPELL_BLOOD_CORRUPTION = 53742, + SPELL_GENERIC_ARENA_DAMPENING = 74410, SPELL_GENERIC_BATTLEGROUND_DAMPENING = 74411 }; @@ -874,7 +880,26 @@ public: // Judgement of the Just if (GetCaster()->GetAuraEffect(SPELL_AURA_ADD_FLAT_MODIFIER, SPELLFAMILY_PALADIN, 3015, 0)) - GetCaster()->CastSpell(GetHitUnit(), 68055, true); + { + if (GetCaster()->CastSpell(GetHitUnit(), SPELL_JUDGEMENTS_OF_THE_JUST, true) && (spellId2 == SPELL_JUDGEMENT_OF_VENGEANCE_EFFECT || spellId2 == SPELL_JUDGEMENT_OF_CORRUPTION_EFFECT)) + { + //hidden effect only cast when spellcast of judgements of the just is succesful + GetCaster()->CastSpell(GetHitUnit(), SealApplication(spellId2), true); //add hidden seal apply effect for vengeance and corruption + } + } + } + + uint32 SealApplication(uint32 correspondingSpellId) + { + switch (correspondingSpellId) + { + case SPELL_JUDGEMENT_OF_VENGEANCE_EFFECT: + return SPELL_HOLY_VENGEANCE; + case SPELL_JUDGEMENT_OF_CORRUPTION_EFFECT: + return SPELL_BLOOD_CORRUPTION; + default: + return 0; + } } void Register() override