From 11aafe53b10dc858d7f66696bb189dcca2de53c9 Mon Sep 17 00:00:00 2001 From: Shauren Date: Tue, 15 Feb 2022 00:27:05 +0100 Subject: Core/Pets: Relax summoning pet assertion condition Closes #27778 --- src/server/game/Entities/Pet/Pet.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/server/game/Entities/Pet/Pet.cpp b/src/server/game/Entities/Pet/Pet.cpp index de93bf415ff..09b05b0134d 100644 --- a/src/server/game/Entities/Pet/Pet.cpp +++ b/src/server/game/Entities/Pet/Pet.cpp @@ -359,10 +359,14 @@ bool Pet::LoadPetFromDB(Player* owner, uint32 petEntry, uint32 petnumber, bool c { return pet && pet->PetNumber == petInfo->PetNumber; }); - ASSERT(!petStable->CurrentPetIndex); ASSERT(activePetItr != petStable->ActivePets.end()); - petStable->SetCurrentActivePetIndex(std::distance(petStable->ActivePets.begin(), activePetItr)); + uint32 newPetIndex = std::distance(petStable->ActivePets.begin(), activePetItr); + + // Check that we either have no pet (unsummoned by player) or it matches temporarily unsummoned pet by server (for example on flying mount) + ASSERT(!petStable->CurrentPetIndex || petStable->CurrentPetIndex == newPetIndex); + + petStable->SetCurrentActivePetIndex(newPetIndex); } // Send fake summon spell cast - this is needed for correct cooldown application for spells -- cgit v1.2.3