From 2eb07056680776f85fcd700d45defa37c0ff9815 Mon Sep 17 00:00:00 2001 From: Stoabrogga <38475780+Stoabrogga@users.noreply.github.com> Date: Fri, 28 Feb 2020 17:02:54 +0100 Subject: [PATCH] fix(Core/Pet): only show pet details for hunter pets and demons (#2637) --- src/server/game/Entities/Pet/Pet.cpp | 7 +++++-- src/server/game/Handlers/PetHandler.cpp | 5 ++++- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/src/server/game/Entities/Pet/Pet.cpp b/src/server/game/Entities/Pet/Pet.cpp index a94687f7f..679b8d933 100644 --- a/src/server/game/Entities/Pet/Pet.cpp +++ b/src/server/game/Entities/Pet/Pet.cpp @@ -2203,8 +2203,11 @@ void Pet::HandleAsynchLoadFailed(AsynchPetSummon* info, Player* player, uint8 as if (info->m_petType == SUMMON_PET) { - // this enables pet details window (Shift+P) - pet->GetCharmInfo()->SetPetNumber(pet_number, true); + if (pet->GetCreatureTemplate()->type == CREATURE_TYPE_DEMON) + pet->GetCharmInfo()->SetPetNumber(pet_number, true); // Show pet details tab (Shift+P) only for demons + else + pet->GetCharmInfo()->SetPetNumber(pet_number, false); + pet->SetUInt32Value(UNIT_FIELD_BYTES_0, 2048); pet->SetUInt32Value(UNIT_FIELD_PETEXPERIENCE, 0); pet->SetUInt32Value(UNIT_FIELD_PETNEXTLEVELEXP, 1000); diff --git a/src/server/game/Handlers/PetHandler.cpp b/src/server/game/Handlers/PetHandler.cpp index ca4d6563f..8ac8b7972 100644 --- a/src/server/game/Handlers/PetHandler.cpp +++ b/src/server/game/Handlers/PetHandler.cpp @@ -160,7 +160,10 @@ uint8 WorldSession::HandleLoadPetFromDBFirstCallback(PreparedQueryResult result, return PET_LOAD_OK; } - pet->GetCharmInfo()->SetPetNumber(pet_number, pet->IsPermanentPetFor(owner)); + if (pet->getPetType() == HUNTER_PET || pet->GetCreatureTemplate()->type == CREATURE_TYPE_DEMON) + pet->GetCharmInfo()->SetPetNumber(pet_number, pet->IsPermanentPetFor(owner)); // Show pet details tab (Shift+P) only for hunter pets or demons + else + pet->GetCharmInfo()->SetPetNumber(pet_number, false); pet->SetDisplayId(fields[3].GetUInt32()); pet->SetNativeDisplayId(fields[3].GetUInt32());