aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/server/scripts/Commands/cs_learn.cpp10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/server/scripts/Commands/cs_learn.cpp b/src/server/scripts/Commands/cs_learn.cpp
index d78da696987..0b45273d763 100644
--- a/src/server/scripts/Commands/cs_learn.cpp
+++ b/src/server/scripts/Commands/cs_learn.cpp
@@ -795,9 +795,13 @@ public:
return true;
uint32 family = clsEntry->spellfamily;
- for (uint32 i = 0; i < sSpellStore.GetNumRows(); ++i)
+ for (uint32 i = 0; i < sSkillLineAbilityStore.GetNumRows(); ++i)
{
- SpellEntry const *spellInfo = sSpellStore.LookupEntry(i);
+ SkillLineAbilityEntry const *entry = sSkillLineAbilityStore.LookupEntry(i);
+ if (!entry)
+ continue;
+
+ SpellEntry const *spellInfo = sSpellStore.LookupEntry(entry->spellId);
if (!spellInfo)
continue;
@@ -822,7 +826,7 @@ public:
if (!SpellMgr::IsSpellValid(spellInfo,handler->GetSession()->GetPlayer(),false))
continue;
- handler->GetSession()->GetPlayer()->learnSpell(i, false);
+ handler->GetSession()->GetPlayer()->learnSpell(spellInfo->Id, false);
}
handler->SendSysMessage(LANG_COMMAND_LEARN_CLASS_SPELLS);