diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/Spells/SpellEffects.cpp | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/server/game/Spells/SpellEffects.cpp b/src/server/game/Spells/SpellEffects.cpp index 3a3246466cf..2a49326fe83 100644 --- a/src/server/game/Spells/SpellEffects.cpp +++ b/src/server/game/Spells/SpellEffects.cpp @@ -5551,6 +5551,23 @@ void Spell::EffectApplyGlyph(SpellEffIndex effIndex) Player *player = (Player*)m_caster; + // glyph sockets level requirement + uint8 minLevel = 0; + switch (m_glyphIndex) + { + case 0: + case 1: minLevel = 15; break; + case 2: minLevel = 50; break; + case 3: minLevel = 30; break; + case 4: minLevel = 70; break; + case 5: minLevel = 80; break; + } + if (minLevel && m_caster->getLevel() < minLevel) + { + SendCastResult(SPELL_FAILED_GLYPH_SOCKET_LOCKED); + return; + } + // apply new one if (uint32 glyph = m_spellInfo->EffectMiscValue[effIndex]) { |