From cf1185551d2a9e70bfb01da7cde5a7eeb664d2bf Mon Sep 17 00:00:00 2001 From: Jelle Meeus Date: Thu, 4 Jul 2024 19:20:24 +0200 Subject: [PATCH] fix(Core/Pet): prevent LoadPetFromDB to trigger a fake summon spell cast in most cases (#19277) * add CategoryRecoveryTime check * add RecoveryTime check --- src/server/game/Entities/Pet/Pet.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/server/game/Entities/Pet/Pet.cpp b/src/server/game/Entities/Pet/Pet.cpp index a998afa57..de53dfa7b 100644 --- a/src/server/game/Entities/Pet/Pet.cpp +++ b/src/server/game/Entities/Pet/Pet.cpp @@ -394,7 +394,7 @@ bool Pet::LoadPetFromDB(Player* owner, uint32 petEntry, uint32 petnumber, bool c // Send fake summon spell cast - this is needed for correct cooldown application for spells // Example: 46584 - without this cooldown (which should be set always when pet is loaded) isn't set clientside /// @todo pets should be summoned from real cast instead of just faking it? - if (petInfo->CreatedBySpellId) + if (petInfo->CreatedBySpellId && spellInfo && (spellInfo->CategoryRecoveryTime > 0 || spellInfo->RecoveryTime > 0)) { WorldPacket data(SMSG_SPELL_GO, (8 + 8 + 4 + 4 + 2)); data << owner->GetPackGUID();