private async Task <bool> RequestItemType(uint itemId) { /* Check if item exists in Bid House */ var itemType = ObjectDataManager.Instance.Get <Item>(itemId).TypeId; if (!_itemTypesInBidHouse.Contains(itemType)) { throw new Exception( $"L'item {D2OParsing.GetItemName(itemId)} ({itemId}) n'existe pas dans cet hôtel de vente."); } var itemsTypeMessage = new ExchangeBidHouseTypeMessage { Type = itemType }; Logger.Default.Log( $"Sélection de la catégorie {FastD2IReader.Instance.GetText(ObjectDataManager.Instance.Get<ItemType>(itemType).NameId)} ({itemType}).", LogMessageType.Info); if (!await SendAndWait(itemsTypeMessage, 3000)) { throw new Exception( $"Erreur lors de la sélection de la catégorie {FastD2IReader.Instance.GetText(ObjectDataManager.Instance.Get<ItemType>(itemType).NameId)} ({itemType})."); } /* Check if item exists in items list */ if (!_itemListInBidHouse.Contains(itemId)) { throw new Exception( $"L'item {D2OParsing.GetItemName(itemId)} ({itemId}) n'est pas actuellement en vente dans cet HDV."); } return(true); }
public static void HandleExchangeBidhouseTypes(ExchangeBidHouseTypeMessage message, WorldClient client) { if (client.Character.IsInExchange(ExchangeTypeEnum.BIDHOUSE_BUY)) { client.Character.GetDialog <BuyExchange>().ShowTypes(message.type); } }
public static void HandleExchangeBidHouseTypeMessage(WorldClient client, ExchangeBidHouseTypeMessage message) { var exchange = client.Character.Exchange as BidHouseExchange; if (exchange == null) { return; } var items = BidHouseManager.Instance.GetBidHouseItems((ItemTypeEnum)message.type, exchange.MaxItemLevel).ToArray(); SendExchangeTypesExchangerDescriptionForUserMessage(client, items.Select(x => x.Template.Id)); }
private bool RequestItemType(uint itemId) { /* Check if item exists in Bid House */ var itemType = ObjectDataManager.Instance.Get <Item>(itemId).TypeId; if (!_itemTypesInBidHouse.Contains(itemType)) { ExitBidHouseDialog(); throw new Exception( $"L'item {D2OParsing.GetItemName(itemId)} ({itemId}) n'existe pas dans cet hôtel de vente."); } var itemsTypeMessage = new ExchangeBidHouseTypeMessage { Type = itemType }; _account.Network.SendToServer(itemsTypeMessage); Logger.Default.Log( $"Sélection de la catégorie {FastD2IReader.Instance.GetText(ObjectDataManager.Instance.Get<ItemType>(itemType).NameId)} ({itemType}).", LogMessageType.Info); return(true); }
public static void HandleExchangeBidHouseType(ExchangeBidHouseTypeMessage message, WorldClient client) { client.Character.BidShopInstance.ShowBidHouseType(message.type); }