aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2020-08-20 18:44:36 +0200
committerShauren <shauren.trinity@gmail.com>2022-01-31 00:20:53 +0100
commit914791836318c62d8b206ef3cbffe144e63bf928 (patch)
tree336aba0edc93c51b3ac2bbfb6400e19c4ea6729e /src
parent4de94169e958fed60cc0c59376c8bd6583ca7daf (diff)
Core/Pets: Fixed automatic resurrecting pets on battleground graveyards
Closes #25289 (cherry picked from commit 74a0d579eef07c013cc8deff930a975cf19c487f)
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Entities/Pet/Pet.cpp2
-rw-r--r--src/server/scripts/Spells/spell_generic.cpp4
2 files changed, 3 insertions, 3 deletions
diff --git a/src/server/game/Entities/Pet/Pet.cpp b/src/server/game/Entities/Pet/Pet.cpp
index b9d6f0fcda7..74c86e4c7ca 100644
--- a/src/server/game/Entities/Pet/Pet.cpp
+++ b/src/server/game/Entities/Pet/Pet.cpp
@@ -114,7 +114,7 @@ std::pair<PetStable::PetInfo const*, PetSaveMode> Pet::GetLoadPetInfo(PetStable
return { &stable.StabledPets[stableSlot].value(), PetSaveMode(PET_SAVE_FIRST_STABLE_SLOT + stableSlot) };
for (PetStable::PetInfo const& pet : stable.UnslottedPets)
- if (pet.CreatureId == petEntry)
+ if (pet.PetNumber == petnumber)
return { &pet, PET_SAVE_NOT_IN_SLOT };
}
else if (current)
diff --git a/src/server/scripts/Spells/spell_generic.cpp b/src/server/scripts/Spells/spell_generic.cpp
index 5ebaaae0049..615b22b966a 100644
--- a/src/server/scripts/Spells/spell_generic.cpp
+++ b/src/server/scripts/Spells/spell_generic.cpp
@@ -2612,8 +2612,8 @@ class spell_gen_pet_summoned : public SpellScript
if (newPet->LoadPetFromDB(player, 0, player->GetLastPetNumber(), true))
{
// revive the pet if it is dead
- if (newPet->getDeathState() == DEAD)
- newPet->setDeathState(ALIVE);
+ if (newPet->getDeathState() != ALIVE && newPet->getDeathState() != JUST_RESPAWNED)
+ newPet->setDeathState(JUST_RESPAWNED);
newPet->SetFullHealth();
newPet->SetFullPower(newPet->GetPowerType());