diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index 09f2fbedf..f5794abec 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -23094,6 +23094,13 @@ void Player::AddSpellAndCategoryCooldowns(SpellInfo const* spellInfo, uint32 ite if (*i_scset == spellInfo->Id) // skip main spell, already handled above continue; + // Only within the same spellfamily + SpellInfo const* categorySpellInfo = sSpellMgr->GetSpellInfo(*i_scset); + if (!categorySpellInfo || categorySpellInfo->SpellFamilyName != spellInfo->SpellFamilyName) + { + continue; + } + AddSpellCooldown(*i_scset, itemId, catrecTime, !spellInfo->IsCooldownStartedOnEvent() && spellInfo->CategoryRecoveryTime != spellInfo->RecoveryTime && spellInfo->RecoveryTime && spellInfo->CategoryRecoveryTime); // Xinef: send category cooldowns on login if category cooldown is different from base cooldown } }