Exemplo n.º 1
0
        public static void ObjectModifiedMessageTreatment(Message message, byte[] packetDatas, AccountUC account)
        {
            ObjectModifiedMessage msg = (ObjectModifiedMessage)message;

            using (BigEndianReader reader = new BigEndianReader(packetDatas))
            {
                msg.Deserialize(reader);
            }
            for (int index = 0; index < account.Inventory.Items.Count; index++)
            {
                if (account.Inventory.Items[index].UID == msg.Object.ObjectUID)
                {
                    account.Inventory.Items[index] = new Core.Inventory.Item(msg.Object.Effects, msg.Object.ObjectGID, msg.Object.Position, (int)msg.Object.Quantity, (int)msg.Object.ObjectUID, account);
                }
            }
            DataClass ItemData = GameData.GetDataObject(D2oFileEnum.Items, msg.Object.ObjectGID);

            if ((int)ItemData.Fields["typeId"] == 18)
            {
                Pet pet = new Pet(new Core.Inventory.Item(msg.Object.Effects.ToList(), msg.Object.ObjectGID, msg.Object.Position, (int)msg.Object.Quantity, (int)msg.Object.ObjectUID, account), ItemData, account);
                if (account.PetsModifiedList == null)
                {
                    account.PetsModifiedList = new List <Pet>();
                }
                account.PetsModifiedList.Add(pet);
                account.Log(new ActionTextInformation("Familier nourri : " + BlueSheep.Common.Data.I18N.GetText((int)ItemData.Fields["nameId"]) + " " + "."), 3);
            }
        }
Exemplo n.º 2
0
 private void ObjectModifiedMessageHandler(DofusClient client, ObjectModifiedMessage message)
 {
     client.Account.Character.Inventory.ForEach(Object =>
     {
         if (Object.ObjectUID != message.Object.ObjectUID)
         {
             return;
         }
         Object = message.Object;
     });
 }
Exemplo n.º 3
0
 private void HandleObjectModifiedMessage(IAccount account, ObjectModifiedMessage message)
 {
     account.Character.Inventory.Objects.ForEach(Object =>
     {
         if (Object.ObjectUID != message.Object.ObjectUID)
         {
             return;
         }
         Object = message.Object;
     });
 }
Exemplo n.º 4
0
 private void ObjectModifiedMessageHandler(DofusClient Client, ObjectModifiedMessage Message)
 {
     Client.Account.Character.Inventory.ForEach(Object =>
     {
         if (Object.ObjectUID == Message.Object.ObjectUID)
         {
             Object = Message.Object;
             return;
         }
     });
 }
Exemplo n.º 5
0
 private void HandleObjectModifiedMessage(IAccount account, ObjectModifiedMessage message)
 {
     for (int i = 0; i < Objects.Count; i++)
     {
         if (Objects[i].ObjectUID == message.Object.ObjectUID)
         {
             Objects[i] = message.Object;
             if (Enum.IsDefined(typeof(CharacterInventoryPositionEnum), (int)message.Object.Position))
             {
                 UpdateEquipment();
             }
         }
     }
 }
Exemplo n.º 6
0
        public void Update(ObjectModifiedMessage msg)
        {
            if (msg == null)
            {
                throw new ArgumentNullException("msg");
            }
            var item = GetItem([email protected]);

            if (item == null)
            {
                logger.Warn("Try to update item {0} but item not found !", [email protected]);
            }
            else
            {
                item.Update(msg.@object);
            }
        }
Exemplo n.º 7
0
 public static Task HandleObjectModifiedMessage(Account account, ObjectModifiedMessage message)
 => Task.Run(() => account.Game.Character.Inventory.Update(message));
Exemplo n.º 8
0
 public static void HandleObjectModifiedMessage(Bot bot, ObjectModifiedMessage message)
 {
     bot.Character.Inventory.Update(message);
 }