aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Globals/ObjectMgr.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/game/Globals/ObjectMgr.cpp')
-rw-r--r--src/server/game/Globals/ObjectMgr.cpp10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/server/game/Globals/ObjectMgr.cpp b/src/server/game/Globals/ObjectMgr.cpp
index a506a7676cd..1db80ed6001 100644
--- a/src/server/game/Globals/ObjectMgr.cpp
+++ b/src/server/game/Globals/ObjectMgr.cpp
@@ -8563,13 +8563,15 @@ void ObjectMgr::LoadTrainers()
if (!allReqValid)
continue;
+ spell.LearnedSpellId = spell.SpellId;
for (SpellEffectInfo const* spellEffect : spellInfo->GetEffectsForDifficulty(DIFFICULTY_NONE))
{
- if (spellEffect->IsEffect(SPELL_EFFECT_LEARN_SPELL))
+ if (spellEffect && spellEffect->IsEffect(SPELL_EFFECT_LEARN_SPELL))
{
- spell.CastSpellId = spell.SpellId;
- spell.SpellId = spellEffect->TriggerSpell;
- break;
+ ASSERT(spell.LearnedSpellId == spell.SpellId,
+ "Only one learned spell is currently supported - spell %u already teaches %u but it tried to overwrite it with %u",
+ spell.SpellId, spell.LearnedSpellId, spellEffect->TriggerSpell);
+ spell.LearnedSpellId = spellEffect->TriggerSpell;
}
}