aboutsummaryrefslogtreecommitdiff
path: root/src/game/SkillHandler.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/game/SkillHandler.cpp')
-rw-r--r--src/game/SkillHandler.cpp25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/game/SkillHandler.cpp b/src/game/SkillHandler.cpp
index 950fc985173..55f510dc6da 100644
--- a/src/game/SkillHandler.cpp
+++ b/src/game/SkillHandler.cpp
@@ -36,6 +36,30 @@ void WorldSession::HandleLearnTalentOpcode( WorldPacket & recv_data )
recv_data >> talent_id >> requested_rank;
_player->LearnTalent(talent_id, requested_rank);
+ _player->SendTalentsInfoData(false);
+}
+
+void WorldSession::HandleLearnPreviewTalents(WorldPacket& recvPacket)
+{
+ sLog.outDebug("CMSG_LEARN_PREVIEW_TALENTS");
+
+ CHECK_PACKET_SIZE(recvPacket, 4);
+
+ uint32 talentsCount;
+ recvPacket >> talentsCount;
+
+ uint32 talentId, talentRank;
+
+ for(uint32 i = 0; i < talentsCount; ++i)
+ {
+ CHECK_PACKET_SIZE(recvPacket, recvPacket.rpos()+4+4);
+
+ recvPacket >> talentId >> talentRank;
+
+ _player->LearnTalent(talentId, talentRank);
+ }
+
+ _player->SendTalentsInfoData(false);
}
void WorldSession::HandleTalentWipeConfirmOpcode( WorldPacket & recv_data )
@@ -66,6 +90,7 @@ void WorldSession::HandleTalentWipeConfirmOpcode( WorldPacket & recv_data )
return;
}
+ _player->SendTalentsInfoData(false);
unit->CastSpell(_player, 14867, true); //spell: "Untalent Visual Effect"
}