aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Globals/ObjectMgr.cpp
diff options
context:
space:
mode:
authorAokromes <aokromes@gmail.com>2017-04-16 16:09:40 +0200
committerAokromes <aokromes@gmail.com>2017-04-16 16:09:40 +0200
commit98dc10c58003525e53b9d67b3e833328f3906329 (patch)
treec420090874c69006b02007226b7260b98318bcd5 /src/server/game/Globals/ObjectMgr.cpp
parentd8fdc893ee207851270107c1f16dc548800d7d4a (diff)
Core/Trainers: Fix Multiprofession Trainers
By Malcrom, cherry pick from https://gitlab.com/trinitycore/TrinityCore_434/commit/6fef0d2eb2cf85a631be29885f6c3908038ba4f4
Diffstat (limited to 'src/server/game/Globals/ObjectMgr.cpp')
-rw-r--r--src/server/game/Globals/ObjectMgr.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/server/game/Globals/ObjectMgr.cpp b/src/server/game/Globals/ObjectMgr.cpp
index dacbc519e13..a0077de693e 100644
--- a/src/server/game/Globals/ObjectMgr.cpp
+++ b/src/server/game/Globals/ObjectMgr.cpp
@@ -8464,7 +8464,7 @@ void ObjectMgr::LoadMailLevelRewards()
TC_LOG_INFO("server.loading", ">> Loaded %u level dependent mail rewards in %u ms", count, GetMSTimeDiffToNow(oldMSTime));
}
-void ObjectMgr::AddSpellToTrainer(uint32 ID, uint32 SpellID, uint32 MoneyCost, uint32 ReqSkillLine, uint32 ReqSkillRank, uint32 ReqLevel)
+void ObjectMgr::AddSpellToTrainer(uint32 ID, uint32 SpellID, uint32 MoneyCost, uint32 ReqSkillLine, uint32 ReqSkillRank, uint32 ReqLevel, uint32 Index)
{
if (ID >= TRINITY_TRAINER_START_REF)
return;
@@ -8503,6 +8503,7 @@ void ObjectMgr::AddSpellToTrainer(uint32 ID, uint32 SpellID, uint32 MoneyCost, u
trainerSpell.ReqSkillLine = ReqSkillLine;
trainerSpell.ReqSkillRank = ReqSkillRank;
trainerSpell.ReqLevel = ReqLevel;
+ trainerSpell.Index = Index;
if (!trainerSpell.ReqLevel)
trainerSpell.ReqLevel = spellinfo->SpellLevel;
@@ -8543,7 +8544,7 @@ void ObjectMgr::LoadTrainerSpell()
// For reload case
_cacheTrainerSpellStore.clear();
- QueryResult result = WorldDatabase.Query("SELECT b.ID, a.SpellID, a.MoneyCost, a.ReqSkillLine, a.ReqSkillRank, a.Reqlevel FROM npc_trainer AS a "
+ QueryResult result = WorldDatabase.Query("SELECT b.ID, a.SpellID, a.MoneyCost, a.ReqSkillLine, a.ReqSkillRank, a.Reqlevel, a.Index FROM npc_trainer AS a "
"INNER JOIN npc_trainer AS b ON a.ID = -(b.SpellID) "
"UNION SELECT * FROM npc_trainer WHERE SpellID > 0");
@@ -8566,8 +8567,9 @@ void ObjectMgr::LoadTrainerSpell()
uint32 ReqSkillLine = fields[3].GetUInt16();
uint32 ReqSkillRank = fields[4].GetUInt16();
uint32 ReqLevel = fields[5].GetUInt8();
+ uint32 Index = fields[6].GetUInt8();
- AddSpellToTrainer(ID, SpellID, MoneyCost, ReqSkillLine, ReqSkillRank, ReqLevel);
+ AddSpellToTrainer(ID, SpellID, MoneyCost, ReqSkillLine, ReqSkillRank, ReqLevel, Index);
++count;
}