Ejemplo n.º 1
0
 public static void InventoryContentAndPresetMessageTreatment(Message message, byte[] packetDatas, AccountUC account)
 {
     InventoryContentAndPresetMessage msg = (InventoryContentAndPresetMessage)message;
     using (BigEndianReader reader = new BigEndianReader(packetDatas))
     {
         msg.Deserialize(reader);
     }
     foreach (ObjectItem item in msg.objects)
     {
         Core.Inventory.Item i = new Core.Inventory.Item(item.Effects.ToList(), item.ObjectGID, item.Position, item.Quantity, item.ObjectUID, account);
         account.Inventory.Items.Add(i);
     }
     account.ActualizeInventory();
     account.petsList = new List<Pet>();
     foreach (Core.Inventory.Item item in account.Inventory.Items)
     {
         DataClass itemData = GameData.GetDataObject(D2oFileEnum.Items, item.GID);
         if ((int)itemData.Fields["typeId"] == 18)
         {
             Pet pet = new Pet(item, itemData, account);
             account.petsList.Add(pet);
             pet.SetFood();
         }
     }
     account.Log(new BotTextInformation("Vos " +
     account.petsList.Count + " familiers vous font un gros bisou de la part de BlueSheep."), 5);
     if (!account.IsMITM)
     {
         FriendsGetListMessage friendGetListMessage = new FriendsGetListMessage();
         account.SocketManager.Send(friendGetListMessage);
         IgnoredGetListMessage ignoredGetListMessage = new IgnoredGetListMessage();
         account.SocketManager.Send(ignoredGetListMessage);
         SpouseGetInformationsMessage spouseGetInformationsMessage = new SpouseGetInformationsMessage();
         account.SocketManager.Send(spouseGetInformationsMessage);
         Random random = new Random();
         const string hexChars = "0123456789ABCDEF";
         string key = string.Empty;
         for (int index = 0; index < 20; index++)
         {
             int randomValue = random.Next(100);
             if (randomValue <= 40)
                 key += (char)(random.Next(26) + 65);
             else if (randomValue <= 80)
                 key += (char)(random.Next(26) + 97);
             else
                 key += (char)(random.Next(10) + 48);
         }
         int pos = key.Sum(t => t % 16);
         key += hexChars[pos % 16];
         ClientKeyMessage clientKeyMessage = new ClientKeyMessage(key);
         account.SocketManager.Send(clientKeyMessage);
         GameContextCreateRequestMessage gameContextCreateRequestMessage = new GameContextCreateRequestMessage();
         account.SocketManager.Send(gameContextCreateRequestMessage);
         ChannelEnablingMessage channelEnablingMessage = new ChannelEnablingMessage((sbyte)7, false);
         account.SocketManager.Send(channelEnablingMessage);
     }
 }
Ejemplo n.º 2
0
        public void Init(Pet pet)
        {
            if (account.Running.OnSafe)
            {
                account.Running.LeavingDialogWithSafe();
                return;
            }

            ObjectFeedMessage objectFeedMessage = new ObjectFeedMessage(pet.Informations.UID,
                pet.FoodList[0].Informations.UID, 1);

                account.SocketManager.Send(objectFeedMessage);
                account.LastPacketID.Clear();

            //account.Wait(500, 1000);
        }
Ejemplo n.º 3
0
        public void CheckStatisticsUp()
        {
            foreach (Pet petModified in account.PetsModifiedList)
            {
                if (m_CurrentPetIndex >= account.petsList.Count)
                    continue;
                if (petModified.Informations.UID ==
                    account.petsList[m_CurrentPetIndex].Informations.UID)
                {
                    Pet pet = account.petsList[m_CurrentPetIndex];

                    if (pet.Effect != petModified.Effect)
                    {
                       account.Log(new ActionTextInformation("Up de caractéristique, " + petModified.Datas.Name + " " + petModified.Informations.UID + "."),4);

                        m_Feeding.SecondFeeding = true;
                    }
                    else
                        m_Feeding.SecondFeeding = false;

                    break;
                }
            }

            account.petsList = new List<Pet>();

            foreach (Core.Inventory.Item item in account.Inventory.Items)
            {
                DataClass itemData = GameData.GetDataObject(D2oFileEnum.Items, item.GID);
                if ((int)itemData.Fields["typeId"] == 18)
                {
                    Pet petToAdd = new Pet(item, itemData, account);
                    account.petsList.Add(petToAdd);
                }
            }

            account.PetsModifiedList = null;

            Init();
        }
Ejemplo n.º 4
0
        private static bool CheckTime(Pet pet)
        {
            DateTime nextMeal = new DateTime(pet.NextMeal.Year, pet.NextMeal.Month, pet.NextMeal.Day, pet.NextMeal.Hour,
                pet.NextMeal.Minute, 0);

            return nextMeal <= DateTime.Now;
        }
Ejemplo n.º 5
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 == [email protected])
             account.Inventory.Items[index] = new Core.Inventory.Item([email protected](), [email protected], [email protected], [email protected], [email protected], account);
     }
     DataClass ItemData = GameData.GetDataObject(D2oFileEnum.Items, [email protected]);
     if ((int)ItemData.Fields["typeId"] == 18)
     {
         Pet pet = new Pet(new Core.Inventory.Item([email protected](), [email protected], [email protected], [email protected], [email protected], 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);
     }
 }