aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorShocker <none@none>2010-09-08 06:11:32 +0300
committerShocker <none@none>2010-09-08 06:11:32 +0300
commitfd52f7b202b2be285a612d11121cbed9debdb903 (patch)
tree95e1cc583180831ec74e436382f5713c686737d9 /src
parent96812cfa27d8b8a6061ba6798ff095dadf644040 (diff)
Core/Spells: Add level requirement check for glyph sockets
--HG-- branch : trunk
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Spells/SpellEffects.cpp17
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])
{