diff options
Diffstat (limited to 'src/server/game/Handlers/SkillHandler.cpp')
-rw-r--r-- | src/server/game/Handlers/SkillHandler.cpp | 22 |
1 files changed, 4 insertions, 18 deletions
diff --git a/src/server/game/Handlers/SkillHandler.cpp b/src/server/game/Handlers/SkillHandler.cpp index f7447b6ba7a..4316db154d8 100644 --- a/src/server/game/Handlers/SkillHandler.cpp +++ b/src/server/game/Handlers/SkillHandler.cpp @@ -28,25 +28,11 @@ void WorldSession::HandleLearnTalentsOpcode(WorldPackets::Talent::LearnTalents& packet) { - WorldPackets::Talent::LearnTalentFailed learnTalentFailed; - bool anythingLearned = false; - for (uint32 talentId : packet.Talents) - { - if (TalentLearnResult result = _player->LearnTalent(talentId, &learnTalentFailed.SpellID)) - { - if (!learnTalentFailed.Reason) - learnTalentFailed.Reason = result; - - learnTalentFailed.Talents.push_back(talentId); - } - else - anythingLearned = true; - } - - if (learnTalentFailed.Reason) - SendPacket(learnTalentFailed.Write()); +} - if (anythingLearned) +void WorldSession::HandleLearnTalentOpcode(WorldPackets::Talent::LearnTalent& packet) +{ + if (_player->LearnTalent(packet.TalentID, packet.RequestedRank)) _player->SendTalentsInfoData(); } |