From dafef5bd7859b330cc5c835ee463107944cc915f Mon Sep 17 00:00:00 2001 From: UltraNix <80540499+UltraNix@users.noreply.github.com> Date: Sat, 12 Jun 2021 19:51:47 +0200 Subject: [PATCH] fix(Core/Spells): category cooldowns (#6191) - Closes #5475 - Closes https://github.com/chromiecraft/chromiecraft/issues/466 --- src/server/game/Entities/Player/Player.cpp | 7 +++++++ 1 file changed, 7 insertions(+) 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 } }