aboutsummaryrefslogtreecommitdiff
path: root/src/game/PetHandler.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/game/PetHandler.cpp')
-rw-r--r--src/game/PetHandler.cpp28
1 files changed, 28 insertions, 0 deletions
diff --git a/src/game/PetHandler.cpp b/src/game/PetHandler.cpp
index 7547d125d9c..d03aa7af7c4 100644
--- a/src/game/PetHandler.cpp
+++ b/src/game/PetHandler.cpp
@@ -542,6 +542,7 @@ void WorldSession::HandlePetUnlearnOpcode(WorldPacket& recvPacket)
return;
}
pet->resetTalents();
+ _player->SendTalentsInfoData(true);
}
void WorldSession::HandlePetSpellAutocastOpcode( WorldPacket& recvPacket )
@@ -708,4 +709,31 @@ void WorldSession::HandlePetLearnTalent( WorldPacket & recv_data )
recv_data >> guid >> talent_id >> requested_rank;
_player->LearnPetTalent(guid, talent_id, requested_rank);
+ _player->SendTalentsInfoData(true);
+}
+
+void WorldSession::HandleLearnPreviewTalentsPet( WorldPacket & recv_data )
+{
+ sLog.outDebug("CMSG_LEARN_PREVIEW_TALENTS_PET");
+
+ CHECK_PACKET_SIZE(recv_data, 8+4);
+
+ uint64 guid;
+ recv_data >> guid;
+
+ uint32 talentsCount;
+ recv_data >> talentsCount;
+
+ uint32 talentId, talentRank;
+
+ for(uint32 i = 0; i < talentsCount; ++i)
+ {
+ CHECK_PACKET_SIZE(recv_data, recv_data.rpos()+4+4);
+
+ recv_data >> talentId >> talentRank;
+
+ _player->LearnPetTalent(guid, talentId, talentRank);
+ }
+
+ _player->SendTalentsInfoData(true);
}