/// <summary> /// Uses the selected berry for the current encounter /// </summary> /// <returns></returns> public async Task ThrowBerry() { Logger.Write($"Used {SelectedCaptureItem}. Remaining: {SelectedCaptureItem.Count}"); var berryResult = await GameClient.UseCaptureItem(CurrentPokemon.EncounterId, CurrentPokemon.SpawnpointId, SelectedCaptureItem.ItemId); if (berryResult.Success) { // TODO: visual feedback // TODO: do we need to handle the returned values or are they needed just to animate the 3d model? Logger.Write($"Success when using {SelectedCaptureItem}."); BerrySuccess?.Invoke(this, null); await new MessageDialog($"Used {SelectedCaptureItem.ItemId}", "").ShowAsyncQueue(); SelectStartingBall(); } }
/// <summary> /// Uses the selected berry for the current encounter /// </summary> /// <returns></returns> private async Task ThrowBerry() { Logger.Write($"Used {LastItemUsed}."); var berryResponse = await GameClient.UseCaptureItem(CurrentPokemon.EncounterId, CurrentPokemon.SpawnpointId, LastItemUsed ?? ItemId.ItemRazzBerry); if (berryResponse.Success) { // TODO: visual feedback // TODO: do we need to handle the returned values or are they needed just to animate the 3d model? Logger.Write($"Success when using {LastItemUsed}."); BerrySuccess?.Invoke(this, null); } else { Logger.Write($"Failure when using {LastItemUsed}."); } }
/// <summary> /// Uses the selected berry for the current encounter /// </summary> /// <returns></returns> private async Task ThrowBerry() { SelectedCaptureItem = SelectAvailablePokeBall(); //To set it immediatelly, because button image would be berry until responses Logger.Write($"Used {LastItemUsed}."); var berryResponse = await GameClient.UseCaptureItem(CurrentPokemon.EncounterId, CurrentPokemon.SpawnpointId, LastItemUsed ?? ItemId.ItemRazzBerry); await GameClient.UpdateInventory(); //TODO: Change to delta update inventory, so it doesn't take so long (and offico client does it too) SelectedCaptureItem = SelectAvailablePokeBall(); //To restore it after UpdateInventory, which overrides it if (berryResponse.Success) { // TODO: visual feedback // TODO: do we need to handle the returned values or are they needed just to animate the 3d model? Logger.Write($"Success when using {LastItemUsed}."); BerrySuccess?.Invoke(this, null); } else { Logger.Write($"Failure when using {LastItemUsed}."); } }