30 uint32 talentId, requestedRank;
31 recvData >> talentId >> requestedRank;
42 recvPacket >> talentsCount;
44 uint32 talentId, talentRank;
47 uint32 const MaxTalentsCount = 150;
49 for (
uint32 i = 0; i < talentsCount && i < MaxTalentsCount; ++i)
51 recvPacket >> talentId >> talentRank;
72 TC_LOG_DEBUG(
"network",
"WORLD: HandleTalentWipeConfirmOpcode - {} not found or you can't interact with him.", confirmRespecWipe.
RespecMaster);
SkillRaceClassInfoEntry const * GetSkillRaceClassInfo(uint32 skill, uint8 race, uint8 class_)
#define TC_LOG_DEBUG(filterType__,...)
bool CanResetTalents(Player *player, bool pet) const
static ObjectGuid const Empty
void SendTalentsInfoData(bool pet)
bool LearnTalent(uint32 talentId, uint32 talentRank)
void SendTalentWipeConfirm(ObjectGuid trainerGuid) const
bool ModifyMoney(int32 amount, bool sendError=true)
void SetSkill(uint32 id, uint16 step, uint16 newVal, uint16 maxVal)
bool HasEnoughMoney(uint32 amount) const
uint32 ResetTalentsCost() const
Creature * GetNPCIfCanInteractWith(ObjectGuid const &guid, NPCFlags npcFlags) const
bool ResetTalents(bool involuntarily=false)
void IncreaseResetTalentsCostAndCounters(uint32 lastResetTalentsCost)
void RemoveAurasByType(AuraType auraType, std::function< bool(AuraApplication const *)> const &check, AuraRemoveMode removeMode=AURA_REMOVE_BY_DEFAULT)
SpellCastResult CastSpell(CastSpellTargetArg const &targets, uint32 spellId, CastSpellExtraArgs const &args={ })
Player * GetPlayer() const
void HandleLearnPreviewTalents(WorldPacket &recvPacket)
void HandleTalentWipeConfirmOpcode(WorldPackets::Talent::ConfirmRespecWipe &confirmRespecWipe)
void HandleUnlearnSkillOpcode(WorldPacket &recvPacket)
void HandleLearnTalentOpcode(WorldPacket &recvPacket)