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>2020-08-20 18:44:36 +0200
commit74a0d579eef07c013cc8deff930a975cf19c487f (patch)
treed381f67e1bdefd836e06e98d253e2f3d288892a3 /src
parentfc32c3fd3b2e91702a41798ef962cbc8475c8584 (diff)
Core/Pets: Fixed automatic resurrecting pets on battleground graveyards
Closes #25289
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 f1e4fd04311..272f1bdf099 100644
--- a/src/server/game/Entities/Pet/Pet.cpp
+++ b/src/server/game/Entities/Pet/Pet.cpp
@@ -110,7 +110,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 c9185324957..066fa6ff192 100644
--- a/src/server/scripts/Spells/spell_generic.cpp
+++ b/src/server/scripts/Spells/spell_generic.cpp
@@ -2744,8 +2744,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->SetPower(newPet->GetPowerType(), newPet->GetMaxPower(newPet->GetPowerType()));