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); } }
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); }
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(); }
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; }
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); } }