diff options
-rw-r--r-- | src/server/game/Spells/Spell.cpp | 24 | ||||
-rw-r--r-- | src/server/game/Spells/SpellEffects.cpp | 2 |
2 files changed, 15 insertions, 11 deletions
diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp index 1d816bf9f85..07f0bf1c20a 100644 --- a/src/server/game/Spells/Spell.cpp +++ b/src/server/game/Spells/Spell.cpp @@ -6464,18 +6464,22 @@ SpellCastResult Spell::CheckCast(bool strict, int32* param1 /*= nullptr*/, int32 if (!playerCaster || !playerCaster->GetPetStable()) return SPELL_FAILED_BAD_TARGETS; - Pet* pet = playerCaster->GetPet(); - if (pet && pet->IsAlive()) - return SPELL_FAILED_ALREADY_HAVE_SUMMON; - - PetStable const* petStable = playerCaster->GetPetStable(); - auto deadPetItr = std::find_if(petStable->ActivePets.begin(), petStable->ActivePets.end(), [](Optional<PetStable::PetInfo> const& petInfo) + if (Pet* pet = playerCaster->GetPet()) { - return petInfo && !petInfo->Health; - }); + if (pet->IsAlive()) + return SPELL_FAILED_ALREADY_HAVE_SUMMON; + } + else + { + PetStable const* petStable = playerCaster->GetPetStable(); + auto deadPetItr = std::ranges::find_if(petStable->ActivePets, [](Optional<PetStable::PetInfo> const& petInfo) + { + return petInfo && !petInfo->Health; + }); - if (deadPetItr == petStable->ActivePets.end()) - return SPELL_FAILED_BAD_TARGETS; + if (deadPetItr == petStable->ActivePets.end()) + return SPELL_FAILED_BAD_TARGETS; + } break; } diff --git a/src/server/game/Spells/SpellEffects.cpp b/src/server/game/Spells/SpellEffects.cpp index 32de2d2f393..10e2d052c69 100644 --- a/src/server/game/Spells/SpellEffects.cpp +++ b/src/server/game/Spells/SpellEffects.cpp @@ -4244,7 +4244,7 @@ void Spell::EffectResurrectPet() if (!player->GetPet()) { PetStable const* petStable = player->GetPetStable(); - auto deadPetItr = std::find_if(petStable->ActivePets.begin(), petStable->ActivePets.end(), [](Optional<PetStable::PetInfo> const& petInfo) + auto deadPetItr = std::ranges::find_if(petStable->ActivePets, [](Optional<PetStable::PetInfo> const& petInfo) { return petInfo && !petInfo->Health; }); |