mirror of
https://github.com/mod-playerbots/azerothcore-wotlk.git
synced 2026-01-23 13:46:24 +00:00
fix(Core/Spells): Revive pet cannot be used on alive pets. (#8434)
Fixes #8315
This commit is contained in:
@@ -115,7 +115,7 @@ void Pet::RemoveFromWorld()
|
||||
}
|
||||
}
|
||||
|
||||
SpellCastResult Pet::TryLoadFromDB(Player* owner, bool current /*= false*/, PetType mandatoryPetType /*= MAX_PET_TYPE*/)
|
||||
SpellCastResult Pet::TryLoadFromDB(Player* owner, bool current /*= false*/, PetType mandatoryPetType /*= MAX_PET_TYPE*/, bool checkDead /*= false*/)
|
||||
{
|
||||
CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_SEL_CHAR_PET_BY_ENTRY_AND_SLOT_SYNS);
|
||||
stmt->setUInt32(0, owner->GetGUID().GetCounter());
|
||||
@@ -151,10 +151,17 @@ SpellCastResult Pet::TryLoadFromDB(Player* owner, bool current /*= false*/, PetT
|
||||
if (current && isTemporarySummoned)
|
||||
return SPELL_FAILED_NO_PET;
|
||||
|
||||
if (!savedHealth)
|
||||
if (!checkDead)
|
||||
{
|
||||
owner->ToPlayer()->SendTameFailure(PET_TAME_DEAD);
|
||||
return SPELL_FAILED_TARGETS_DEAD;
|
||||
if (!savedHealth)
|
||||
{
|
||||
owner->ToPlayer()->SendTameFailure(PET_TAME_DEAD);
|
||||
return SPELL_FAILED_TARGETS_DEAD;
|
||||
}
|
||||
}
|
||||
else if (savedHealth)
|
||||
{
|
||||
return SPELL_FAILED_TARGET_NOT_DEAD;
|
||||
}
|
||||
|
||||
if (mandatoryPetType != MAX_PET_TYPE && petType != mandatoryPetType)
|
||||
|
||||
Reference in New Issue
Block a user