Beispiel #1
0
        public static void HandleLearnTalent(IRealmClient client, RealmPacketIn packet)
        {
            TalentId         id      = (TalentId)packet.ReadUInt32();
            int              rank    = packet.ReadInt32();
            TalentCollection talents = client.ActiveCharacter.Talents;

            if (talents.Learn(id, rank) == null)
            {
                return;
            }
            TalentHandler.SendTalentGroupList(talents);
        }
Beispiel #2
0
        public static void HandleSaveTalentGroup(IRealmClient client, RealmPacketIn packet)
        {
            int num = packet.ReadInt32();
            TalentCollection talents = client.ActiveCharacter.Talents;

            for (int index = 0; index < num; ++index)
            {
                TalentId id   = (TalentId)packet.ReadUInt32();
                int      rank = packet.ReadInt32();
                talents.Learn(id, rank);
            }

            TalentHandler.SendTalentGroupList(talents);
        }
Beispiel #3
0
        public static void HandlePetLearnTalent(IRealmClient client, RealmPacketIn packet)
        {
            EntityId  id1             = packet.ReadEntityId();
            Character activeCharacter = client.ActiveCharacter;
            NPC       npc             = activeCharacter.Map.GetObject(id1) as NPC;

            if (npc == null || !npc.IsAlive || npc != activeCharacter.ActivePet)
            {
                return;
            }
            TalentCollection talents = npc.Talents;
            TalentId         id2     = (TalentId)packet.ReadUInt32();
            int rank = packet.ReadInt32();

            talents.Learn(id2, rank);
            TalentHandler.SendTalentGroupList(talents);
        }