aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Spells/SpellMgr.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/game/Spells/SpellMgr.h')
-rw-r--r--src/server/game/Spells/SpellMgr.h7
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;
}