Skip to content

Commit 43099b7

Browse files
author
Matthew J. Mjelde
committed
Slight update to fix some inventory issues.
1 parent 7d9d2ab commit 43099b7

2 files changed

Lines changed: 28 additions & 31 deletions

File tree

src/main/java/com/pokegoapi/api/inventory/Inventories.java

Lines changed: 19 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131
import com.pokegoapi.exceptions.LoginFailedException;
3232
import com.pokegoapi.exceptions.RemoteServerException;
3333
import com.pokegoapi.main.ServerRequest;
34+
import com.pokegoapi.util.Log;
3435
import lombok.Getter;
3536

3637

@@ -101,37 +102,24 @@ public void updateInventories(boolean forceUpdate) throws LoginFailedException,
101102
for (InventoryItemOuterClass.InventoryItem inventoryItem
102103
: response.getInventoryDelta().getInventoryItemsList()) {
103104
InventoryItemDataOuterClass.InventoryItemData itemData = inventoryItem.getInventoryItemData();
104-
if (inventoryItem.getDeletedItemKey() > 0) {
105-
if (itemData.getPokemonData().getPokemonId() != PokemonIdOuterClass.PokemonId.MISSINGNO) {
106-
pokebank.removePokemon(new Pokemon(inventoryItem.getInventoryItemData().getPokemonData()));
107-
}
108-
if (itemData.getItem().getItemId() != ItemIdOuterClass.ItemId.UNRECOGNIZED) {
109-
ItemOuterClass.Item item = inventoryItem.getInventoryItemData().getItem();
110-
itemBag.removeItem(inventoryItem.getInventoryItemData().getItem().getItemId(), item.getCount());
111-
}
112-
if (itemData.getPokemonFamily().getFamilyId() != PokemonFamilyIdOuterClass.PokemonFamilyId.UNRECOGNIZED) {
113-
candyjar.removeCandy(
114-
inventoryItem.getInventoryItemData().getPokemonFamily().getFamilyId(),
115-
inventoryItem.getInventoryItemData().getPokemonFamily().getCandy()
116-
);
117-
}
118-
} else {
119-
if (itemData.getPokemonData().getPokemonId() != PokemonIdOuterClass.PokemonId.MISSINGNO) {
120-
pokebank.addPokemon(new Pokemon(inventoryItem.getInventoryItemData().getPokemonData()));
121-
}
122-
if (itemData.getItem().getItemId() != ItemIdOuterClass.ItemId.UNRECOGNIZED) {
123-
ItemOuterClass.Item item = inventoryItem.getInventoryItemData().getItem();
124-
itemBag.addItem(new Item(item));
125-
}
126-
if (itemData.getPokemonFamily().getFamilyId() != PokemonFamilyIdOuterClass.PokemonFamilyId.UNRECOGNIZED) {
127-
candyjar.addCandy(
128-
inventoryItem.getInventoryItemData().getPokemonFamily().getFamilyId(),
129-
inventoryItem.getInventoryItemData().getPokemonFamily().getCandy()
130-
);
131-
}
132-
if (itemData.hasPlayerStats()) {
133-
stats = inventoryItem.getInventoryItemData().getPlayerStats();
134-
}
105+
106+
if (itemData.getPokemonData().getPokemonId() != PokemonIdOuterClass.PokemonId.MISSINGNO) {
107+
pokebank.addPokemon(new Pokemon(inventoryItem.getInventoryItemData().getPokemonData()));
108+
}
109+
if (itemData.getItem().getItemId() != ItemIdOuterClass.ItemId.UNRECOGNIZED &&
110+
itemData.getItem().getItemId() != ItemIdOuterClass.ItemId.ITEM_UNKNOWN) {
111+
ItemOuterClass.Item item = inventoryItem.getInventoryItemData().getItem();
112+
itemBag.addItem(new Item(item));
113+
}
114+
if (itemData.getPokemonFamily().getFamilyId() != PokemonFamilyIdOuterClass.PokemonFamilyId.UNRECOGNIZED
115+
&& itemData.getPokemonFamily().getFamilyId() != PokemonFamilyIdOuterClass.PokemonFamilyId.FAMILY_UNSET) {
116+
candyjar.setCandy(
117+
inventoryItem.getInventoryItemData().getPokemonFamily().getFamilyId(),
118+
inventoryItem.getInventoryItemData().getPokemonFamily().getCandy()
119+
);
120+
}
121+
if (itemData.hasPlayerStats()) {
122+
stats = inventoryItem.getInventoryItemData().getPlayerStats();
135123
}
136124

137125
lastInventoryUpdate = System.currentTimeMillis();

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

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,12 @@ public Result transferPokemon() throws LoginFailedException, RemoteServerExcepti
7373
return ReleasePokemonResponse.Result.FAILED;
7474
}
7575

76+
if(response.getResult() == Result.SUCCESS){
77+
pgo.getInventories().getPokebank().removePokemon(this);
78+
}
79+
80+
pgo.getInventories().getPokebank().removePokemon(this);
81+
7682
pgo.getInventories().updateInventories();
7783

7884
return response.getResult();
@@ -103,6 +109,7 @@ public NicknamePokemonResponse.Result renamePokemon(String nickname)
103109
throw new RemoteServerException(e);
104110
}
105111

112+
pgo.getInventories().getPokebank().removePokemon(this);
106113
pgo.getInventories().updateInventories();
107114

108115
return response.getResult();
@@ -130,6 +137,8 @@ public EvolutionResult evolve() throws LoginFailedException, RemoteServerExcepti
130137

131138
EvolutionResult result = new EvolutionResult(response);
132139

140+
pgo.getInventories().getPokebank().removePokemon(this);
141+
133142
pgo.getInventories().updateInventories();
134143

135144
return result;

0 commit comments

Comments
 (0)