fix(Core/Spells): Revive pet cannot be used on alive pets. (#8434)
Fixes #8315
This commit is contained in:
parent
a8837b9de1
commit
8b70222ae2
3 changed files with 27 additions and 9 deletions
|
|
@ -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;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue