aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Handlers/SkillHandler.cpp
diff options
context:
space:
mode:
authorOvahlord <dreadkiller@gmx.de>2023-11-20 20:06:54 +0100
committerOvahlord <dreadkiller@gmx.de>2023-11-20 20:30:12 +0100
commit1195d7c190582f0b95f0afef7660cd108fcbd8c3 (patch)
tree43245aef52986471017058b18b59fdb56b57d62d /src/server/game/Handlers/SkillHandler.cpp
parente08019ee56415e19f3343cba88a319402348f08b (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.cpp22
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();
}