fix(Core/Spells): Revive pet cannot be used on alive pets. (#8434)

Fixes #8315
This commit is contained in:
UltraNix
2021-10-15 00:54:18 +02:00
committed by GitHub
parent a8837b9de1
commit 8b70222ae2
3 changed files with 27 additions and 9 deletions

View File

@@ -5898,10 +5898,21 @@ SpellCastResult Spell::CheckCast(bool strict)
}
case SPELL_EFFECT_RESURRECT_PET:
{
Creature* pet = m_caster->GetGuardianPet();
if (pet && pet->IsAlive())
return SPELL_FAILED_ALREADY_HAVE_SUMMON;
if (Creature* pet = m_caster->GetGuardianPet())
{
if (pet->IsAlive())
{
return SPELL_FAILED_ALREADY_HAVE_SUMMON;
}
}
else if (Player* player = m_caster->ToPlayer())
{
SpellCastResult loadResult = Pet::TryLoadFromDB(player, false, MAX_PET_TYPE, true);
if (loadResult != SPELL_CAST_OK)
{
return loadResult;
}
}
break;
}