|
23 | 23 | import POGOProtos.Networking.Requests.Messages.EvolvePokemonMessageOuterClass.EvolvePokemonMessage;
|
24 | 24 | import POGOProtos.Networking.Requests.Messages.NicknamePokemonMessageOuterClass.NicknamePokemonMessage;
|
25 | 25 | import POGOProtos.Networking.Requests.Messages.ReleasePokemonMessageOuterClass.ReleasePokemonMessage;
|
| 26 | +import POGOProtos.Networking.Requests.Messages.UpgradePokemonMessageOuterClass; |
| 27 | +import POGOProtos.Networking.Requests.Messages.UpgradePokemonMessageOuterClass.UpgradePokemonMessage; |
26 | 28 | import POGOProtos.Networking.Requests.RequestTypeOuterClass.RequestType;
|
27 | 29 | import POGOProtos.Networking.Responses.EvolvePokemonResponseOuterClass.EvolvePokemonResponse;
|
28 | 30 | import POGOProtos.Networking.Responses.NicknamePokemonResponseOuterClass.NicknamePokemonResponse;
|
29 | 31 | import POGOProtos.Networking.Responses.ReleasePokemonResponseOuterClass.ReleasePokemonResponse;
|
30 | 32 | import POGOProtos.Networking.Responses.ReleasePokemonResponseOuterClass.ReleasePokemonResponse.Result;
|
| 33 | +import POGOProtos.Networking.Responses.UpgradePokemonResponseOuterClass; |
| 34 | +import POGOProtos.Networking.Responses.UpgradePokemonResponseOuterClass.UpgradePokemonResponse; |
31 | 35 | import com.google.protobuf.InvalidProtocolBufferException;
|
32 | 36 | import com.pokegoapi.api.PokemonGo;
|
33 | 37 | import com.pokegoapi.api.map.pokemon.EvolutionResult;
|
@@ -117,6 +121,32 @@ public NicknamePokemonResponse.Result renamePokemon(String nickname)
|
117 | 121 | return response.getResult();
|
118 | 122 | }
|
119 | 123 |
|
| 124 | + /** |
| 125 | + * Powers up a pokemon with candy and stardust. |
| 126 | + * After powering up this pokemon object will reflect the new changes. |
| 127 | + * |
| 128 | + * @return The result |
| 129 | + * @throws LoginFailedException the login failed exception |
| 130 | + * @throws RemoteServerException the remote server exception |
| 131 | + */ |
| 132 | + public UpgradePokemonResponse.Result powerUp() throws LoginFailedException, RemoteServerException { |
| 133 | + UpgradePokemonMessage reqMsg = UpgradePokemonMessage.newBuilder() |
| 134 | + .setPokemonId(this.getId()) |
| 135 | + .build(); |
| 136 | + |
| 137 | + ServerRequest serverRequest = new ServerRequest(RequestType.UPGRADE_POKEMON, reqMsg); |
| 138 | + pgo.getRequestHandler().sendServerRequests(serverRequest); |
| 139 | + |
| 140 | + UpgradePokemonResponse response; |
| 141 | + try { |
| 142 | + response = UpgradePokemonResponse.parseFrom(serverRequest.getData()); |
| 143 | + this.proto = response.getUpgradedPokemon(); |
| 144 | + return response.getResult(); |
| 145 | + } catch (InvalidProtocolBufferException e) { |
| 146 | + throw new RemoteServerException(e); |
| 147 | + } |
| 148 | + } |
| 149 | + |
120 | 150 | /**
|
121 | 151 | * Evolve evolution result.
|
122 | 152 | *
|
|
0 commit comments