diff options
Diffstat (limited to 'src/game/SkillHandler.cpp')
-rw-r--r-- | src/game/SkillHandler.cpp | 25 |
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" } |