void WorldSession::HandleLearnPetSpecialization(WorldPacket & recvData) { uint32 index = recvData.read<uint32>(); // GUID : useless =P recvData.rfinish(); if (_player->IsInCombat()) return; uint32 specializationId = 0; switch(index) { case 0: specializationId = SPEC_PET_FEROCITY; break; case 1: specializationId = SPEC_PET_TENACITY; break; case 2: specializationId = SPEC_PET_CUNNING; break; default: break; } if (!specializationId) return; Pet* pet = _player->GetPet(); if (!pet) return; if (pet->getPetType() != PetType::HUNTER_PET) return; if (pet->GetSpecializationId()) pet->UnlearnSpecializationSpell(); pet->SetSpecializationId(specializationId); pet->LearnSpecializationSpell(); _player->SendTalentsInfoData(true); }