aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2023-07-05 00:18:55 +0200
committerShauren <shauren.trinity@gmail.com>2023-07-05 00:18:55 +0200
commit074c5da6e43796a88ad34e8724362433d5109f88 (patch)
treeacf5b4f0084f684512be591d98f566a19b527255 /src
parentaa96fce1dbac276730b96ab44da8c8970f01c328 (diff)
Core/Pets: Fixed crash when summoning hunter pets
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Entities/Creature/Creature.cpp2
-rw-r--r--src/server/game/Entities/Pet/Pet.cpp6
2 files changed, 6 insertions, 2 deletions
diff --git a/src/server/game/Entities/Creature/Creature.cpp b/src/server/game/Entities/Creature/Creature.cpp
index 32221e8521b..450f09b3bec 100644
--- a/src/server/game/Entities/Creature/Creature.cpp
+++ b/src/server/game/Entities/Creature/Creature.cpp
@@ -497,7 +497,7 @@ bool Creature::InitEntry(uint32 entry, CreatureData const* data /*= nullptr*/)
m_creatureInfo = creatureInfo;
SetEntry(entry);
- m_creatureDifficulty = creatureInfo->GetDifficulty(GetMap()->GetDifficultyID());
+ m_creatureDifficulty = creatureInfo->GetDifficulty(!IsPet() ? GetMap()->GetDifficultyID() : DIFFICULTY_NONE);
// equal to player Race field, but creature does not have race
SetRace(RACE_NONE);
diff --git a/src/server/game/Entities/Pet/Pet.cpp b/src/server/game/Entities/Pet/Pet.cpp
index 0ba8f8e4890..e4e367c1d94 100644
--- a/src/server/game/Entities/Pet/Pet.cpp
+++ b/src/server/game/Entities/Pet/Pet.cpp
@@ -230,7 +230,11 @@ bool Pet::LoadPetFromDB(Player* owner, uint32 petEntry, uint32 petnumber, bool c
if (petInfo->Type == HUNTER_PET)
{
CreatureTemplate const* creatureInfo = sObjectMgr->GetCreatureTemplate(petInfo->CreatureId);
- if (!creatureInfo || !creatureInfo->IsTameable(owner->CanTameExoticPets(), GetCreatureDifficulty()))
+ if (!creatureInfo)
+ return false;
+
+ CreatureDifficulty const* creatureDifficulty = creatureInfo->GetDifficulty(DIFFICULTY_NONE);
+ if (!creatureDifficulty || !creatureInfo->IsTameable(owner->CanTameExoticPets(), creatureDifficulty))
return false;
}