diff options
author | Ovahlord <dreadkiller@gmx.de> | 2023-11-20 20:06:54 +0100 |
---|---|---|
committer | Ovahlord <dreadkiller@gmx.de> | 2023-11-20 20:30:12 +0100 |
commit | 1195d7c190582f0b95f0afef7660cd108fcbd8c3 (patch) | |
tree | 43245aef52986471017058b18b59fdb56b57d62d /src/server/game/Handlers/SkillHandler.cpp | |
parent | e08019ee56415e19f3343cba88a319402348f08b (diff) |
Core/Players: re-implement talents
*todo: class restriction and talent tier checks and remove the now useless learn all talents command
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(); } |