diff options
author | Aokromes <aokromes@gmail.com> | 2017-04-16 16:09:40 +0200 |
---|---|---|
committer | Aokromes <aokromes@gmail.com> | 2017-04-16 16:09:40 +0200 |
commit | 98dc10c58003525e53b9d67b3e833328f3906329 (patch) | |
tree | c420090874c69006b02007226b7260b98318bcd5 /src/server/game/Globals/ObjectMgr.cpp | |
parent | d8fdc893ee207851270107c1f16dc548800d7d4a (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.cpp | 8 |
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; } |