diff options
Diffstat (limited to 'src/server/game/Spells/SpellMgr.h')
-rw-r--r-- | src/server/game/Spells/SpellMgr.h | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/server/game/Spells/SpellMgr.h b/src/server/game/Spells/SpellMgr.h index 33a07b0085d..798b2753710 100644 --- a/src/server/game/Spells/SpellMgr.h +++ b/src/server/game/Spells/SpellMgr.h @@ -1110,13 +1110,16 @@ class SpellMgr return spell_id; } - uint32 GetSpellWithRank(uint32 spell_id, uint32 rank) const + // not strict check returns provided spell if rank not avalible + uint32 GetSpellWithRank(uint32 spell_id, uint32 rank, bool strict = false) const { if (SpellChainNode const* node = GetSpellChainNode(spell_id)) { if (rank != node->rank) - return GetSpellWithRank(node->rank < rank ? node->next : node->prev, rank); + return GetSpellWithRank(node->rank < rank ? node->next : node->prev, rank, strict); } + else if (strict && rank > 1) + return 0; return spell_id; } |