Skip to content

Commit 1500ef9

Browse files
authored
Merge pull request #182 from Grover-c13/Meta
Power up pokemon API
2 parents 4a91a97 + 72ee8b7 commit 1500ef9

File tree

1 file changed

+30
-0
lines changed

1 file changed

+30
-0
lines changed

src/main/java/com/pokegoapi/api/pokemon/Pokemon.java

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,11 +23,15 @@
2323
import POGOProtos.Networking.Requests.Messages.EvolvePokemonMessageOuterClass.EvolvePokemonMessage;
2424
import POGOProtos.Networking.Requests.Messages.NicknamePokemonMessageOuterClass.NicknamePokemonMessage;
2525
import POGOProtos.Networking.Requests.Messages.ReleasePokemonMessageOuterClass.ReleasePokemonMessage;
26+
import POGOProtos.Networking.Requests.Messages.UpgradePokemonMessageOuterClass;
27+
import POGOProtos.Networking.Requests.Messages.UpgradePokemonMessageOuterClass.UpgradePokemonMessage;
2628
import POGOProtos.Networking.Requests.RequestTypeOuterClass.RequestType;
2729
import POGOProtos.Networking.Responses.EvolvePokemonResponseOuterClass.EvolvePokemonResponse;
2830
import POGOProtos.Networking.Responses.NicknamePokemonResponseOuterClass.NicknamePokemonResponse;
2931
import POGOProtos.Networking.Responses.ReleasePokemonResponseOuterClass.ReleasePokemonResponse;
3032
import POGOProtos.Networking.Responses.ReleasePokemonResponseOuterClass.ReleasePokemonResponse.Result;
33+
import POGOProtos.Networking.Responses.UpgradePokemonResponseOuterClass;
34+
import POGOProtos.Networking.Responses.UpgradePokemonResponseOuterClass.UpgradePokemonResponse;
3135
import com.google.protobuf.InvalidProtocolBufferException;
3236
import com.pokegoapi.api.PokemonGo;
3337
import com.pokegoapi.api.map.pokemon.EvolutionResult;
@@ -117,6 +121,32 @@ public NicknamePokemonResponse.Result renamePokemon(String nickname)
117121
return response.getResult();
118122
}
119123

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+
120150
/**
121151
* Evolve evolution result.
122152
*

0 commit comments

Comments
 (0)