diff --git a/src/server/game/Entities/Pet/Pet.cpp b/src/server/game/Entities/Pet/Pet.cpp index 87bc55fbfd..c81c66d8a3 100644 --- a/src/server/game/Entities/Pet/Pet.cpp +++ b/src/server/game/Entities/Pet/Pet.cpp @@ -854,7 +854,6 @@ bool Guardian::InitStatsForLevel(uint8 petlevel) case CLASS_DEATH_KNIGHT: case CLASS_MAGE: case CLASS_PRIEST: - case CLASS_PALADIN: petType = SUMMON_PET; break; case CLASS_HUNTER: diff --git a/src/server/scripts/Spells/spell_paladin.cpp b/src/server/scripts/Spells/spell_paladin.cpp index ea3b155684..dc5dcef202 100644 --- a/src/server/scripts/Spells/spell_paladin.cpp +++ b/src/server/scripts/Spells/spell_paladin.cpp @@ -1855,7 +1855,11 @@ class spell_pal_ancient_healer : public AuraScript bool Validate(SpellInfo const* /*spellInfo*/) override { - return ValidateSpellInfo({ SPELL_PALADIN_LIGHT_OF_THE_ANCIENT_KINGS }); + return ValidateSpellInfo( + { + SPELL_PALADIN_LIGHT_OF_THE_ANCIENT_KINGS, + SPELL_PALADIN_GUATDIAN_OF_ANCIENT_KINGS_HOLY + }); } bool CheckProc(ProcEventInfo& /*eventInfo*/) @@ -1872,8 +1876,13 @@ class spell_pal_ancient_healer : public AuraScript int32 bp0 = heal->GetHeal(); int32 bp1 = CalculatePct(heal->GetHeal(), 10); - if (TempSummon* guardian = GetTarget()->GetGuardianPet()) - guardian->CastCustomSpell(heal->GetTarget(), SPELL_PALADIN_LIGHT_OF_THE_ANCIENT_KINGS, &bp0, &bp1, nullptr, false, nullptr, aurEff); + + + for (Unit* guardian : GetTarget()->m_Controlled) + { + if (guardian->GetUInt32Value(UNIT_CREATED_BY_SPELL) == SPELL_PALADIN_GUATDIAN_OF_ANCIENT_KINGS_HOLY) + guardian->CastCustomSpell(heal->GetTarget(), SPELL_PALADIN_LIGHT_OF_THE_ANCIENT_KINGS, &bp0, &bp1, nullptr, false, nullptr, aurEff); + } _procCount++; }