void WorldSession::HandleUnlearnSkillOpcode(WorldPacket& recvData) { uint32 skillId; recvData >> skillId; SkillRaceClassInfoEntry const* rcEntry = GetSkillRaceClassInfo(skillId, GetPlayer()->getRace(), GetPlayer()->getClass()); if (!rcEntry || !(rcEntry->Flags & SKILL_FLAG_UNLEARNABLE)) return; GetPlayer()->SetSkill(skillId, 0, 0, 0); }
void WorldSession::HandleUnlearnSkillOpcode(WorldPacket & recv_data) { uint32 skill_id; recv_data >> skill_id; SkillRaceClassInfoEntry const* rcEntry = GetSkillRaceClassInfo(skill_id, GetPlayer()->getRace(), GetPlayer()->getClass()); if (!rcEntry || !(rcEntry->flags & SKILL_FLAG_UNLEARNABLE)) { std::stringstream reason; reason << "Attempt to unlearn not unlearnable skill #" << skill_id; ProcessAnticheatAction("SAC", reason.str().c_str(), CHEAT_ACTION_LOG); return; } GetPlayer()->SetSkill(skill_id, 0, 0); }