Exemple #1
0
        void HandleLearnPvpTalents(LearnPvpTalents packet)
        {
            LearnPvpTalentsFailed learnPvpTalentsFailed = new LearnPvpTalentsFailed();
            bool anythingLearned = false;

            foreach (var pvpTalent in packet.Talents)
            {
                TalentLearnResult result = _player.LearnPvpTalent(pvpTalent.PvPTalentID, pvpTalent.Slot, ref learnPvpTalentsFailed.SpellID);
                if (result != 0)
                {
                    if (learnPvpTalentsFailed.Reason == 0)
                    {
                        learnPvpTalentsFailed.Reason = (uint)result;
                    }

                    learnPvpTalentsFailed.Talents.Add(pvpTalent);
                }
                else
                {
                    anythingLearned = true;
                }
            }

            if (learnPvpTalentsFailed.Reason != 0)
            {
                SendPacket(learnPvpTalentsFailed);
            }

            if (anythingLearned)
            {
                _player.SendTalentsInfoData();
            }
        }
Exemple #2
0
        void HandleLearnPvpTalentsOpcode(LearnPvpTalents packet)
        {
            LearnPvpTalentsFailed learnPvpTalentsFailed = new LearnPvpTalentsFailed();
            bool anythingLearned = false;

            foreach (ushort talentId in packet.Talents)
            {
                TalentLearnResult result = _player.LearnPvpTalent(talentId, ref learnPvpTalentsFailed.SpellID);
                if (result != 0)
                {
                    if (learnPvpTalentsFailed.Reason == 0)
                    {
                        learnPvpTalentsFailed.Reason = (uint)result;
                    }

                    learnPvpTalentsFailed.Talents.Add(talentId);
                }
                else
                {
                    anythingLearned = true;
                }
            }

            if (learnPvpTalentsFailed.Reason != 0)
            {
                SendPacket(learnPvpTalentsFailed);
            }

            if (anythingLearned)
            {
                _player.SendTalentsInfoData();
            }
        }