Skip to content

Commit

Permalink
Power up pokemon API
Browse files Browse the repository at this point in the history
  • Loading branch information
Grover-c13 committed Jul 24, 2016
1 parent 4a91a97 commit 72ee8b7
Showing 1 changed file with 30 additions and 0 deletions.
30 changes: 30 additions & 0 deletions src/main/java/com/pokegoapi/api/pokemon/Pokemon.java
Original file line number Diff line number Diff line change
Expand Up @@ -23,11 +23,15 @@
import POGOProtos.Networking.Requests.Messages.EvolvePokemonMessageOuterClass.EvolvePokemonMessage;
import POGOProtos.Networking.Requests.Messages.NicknamePokemonMessageOuterClass.NicknamePokemonMessage;
import POGOProtos.Networking.Requests.Messages.ReleasePokemonMessageOuterClass.ReleasePokemonMessage;
import POGOProtos.Networking.Requests.Messages.UpgradePokemonMessageOuterClass;
import POGOProtos.Networking.Requests.Messages.UpgradePokemonMessageOuterClass.UpgradePokemonMessage;
import POGOProtos.Networking.Requests.RequestTypeOuterClass.RequestType;
import POGOProtos.Networking.Responses.EvolvePokemonResponseOuterClass.EvolvePokemonResponse;
import POGOProtos.Networking.Responses.NicknamePokemonResponseOuterClass.NicknamePokemonResponse;
import POGOProtos.Networking.Responses.ReleasePokemonResponseOuterClass.ReleasePokemonResponse;
import POGOProtos.Networking.Responses.ReleasePokemonResponseOuterClass.ReleasePokemonResponse.Result;
import POGOProtos.Networking.Responses.UpgradePokemonResponseOuterClass;
import POGOProtos.Networking.Responses.UpgradePokemonResponseOuterClass.UpgradePokemonResponse;
import com.google.protobuf.InvalidProtocolBufferException;
import com.pokegoapi.api.PokemonGo;
import com.pokegoapi.api.map.pokemon.EvolutionResult;
Expand Down Expand Up @@ -117,6 +121,32 @@ public NicknamePokemonResponse.Result renamePokemon(String nickname)
return response.getResult();
}

/**
* Powers up a pokemon with candy and stardust.
* After powering up this pokemon object will reflect the new changes.
*
* @return The result
* @throws LoginFailedException the login failed exception
* @throws RemoteServerException the remote server exception
*/
public UpgradePokemonResponse.Result powerUp() throws LoginFailedException, RemoteServerException {
UpgradePokemonMessage reqMsg = UpgradePokemonMessage.newBuilder()
.setPokemonId(this.getId())
.build();

ServerRequest serverRequest = new ServerRequest(RequestType.UPGRADE_POKEMON, reqMsg);
pgo.getRequestHandler().sendServerRequests(serverRequest);

UpgradePokemonResponse response;
try {
response = UpgradePokemonResponse.parseFrom(serverRequest.getData());
this.proto = response.getUpgradedPokemon();
return response.getResult();
} catch (InvalidProtocolBufferException e) {
throw new RemoteServerException(e);
}
}

/**
* Evolve evolution result.
*
Expand Down

0 comments on commit 72ee8b7

Please sign in to comment.