diff --git a/AndorsTrail/res/values/arrays.xml b/AndorsTrail/res/values/arrays.xml index 5ece54bc6..42df57e91 100644 --- a/AndorsTrail/res/values/arrays.xml +++ b/AndorsTrail/res/values/arrays.xml @@ -23,7 +23,9 @@ @string/inventory_category_all @string/inventory_category_weapons @string/inventory_category_armor - @string/inventory_category_usable + @string/inventory_category_jewelry + @string/inventory_category_potion + @string/inventory_category_food @string/inventory_category_quest @string/inventory_category_other diff --git a/AndorsTrail/res/values/strings.xml b/AndorsTrail/res/values/strings.xml index f98bae629..f9972764c 100644 --- a/AndorsTrail/res/values/strings.xml +++ b/AndorsTrail/res/values/strings.xml @@ -710,7 +710,9 @@ Items made of cloth are not considered as being armor." Favorites Weapon Armor - Consumable + Jewelry + Potion + Food Quest Item Other diff --git a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/activity/fragment/HeroinfoActivity_Inventory.java b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/activity/fragment/HeroinfoActivity_Inventory.java index ad71ea402..9ba288408 100644 --- a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/activity/fragment/HeroinfoActivity_Inventory.java +++ b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/activity/fragment/HeroinfoActivity_Inventory.java @@ -52,7 +52,9 @@ public final class HeroinfoActivity_Inventory extends Fragment implements Custom private ItemContainerAdapter inventoryListAdapter; private ItemContainerAdapter inventoryWeaponsListAdapter; private ItemContainerAdapter inventoryArmorListAdapter; - private ItemContainerAdapter inventoryUsableListAdapter; + private ItemContainerAdapter inventoryJewelryListAdapter; + private ItemContainerAdapter inventoryPotionListAdapter; + private ItemContainerAdapter inventoryFoodListAdapter; private ItemContainerAdapter inventoryQuestListAdapter; private ItemContainerAdapter inventoryOtherListAdapter; @@ -306,11 +308,15 @@ public final class HeroinfoActivity_Inventory extends Fragment implements Custom return inventoryWeaponsListAdapter.getItem(position).itemType; } else if (v == 2) { //Armor items return inventoryArmorListAdapter.getItem(position).itemType; - } else if (v == 3) { //Usable items - return inventoryUsableListAdapter.getItem(position).itemType; - } else if (v == 4) { //Quest items + } else if (v == 3) { //Jewelry items + return inventoryJewelryListAdapter.getItem(position).itemType; + } else if (v == 4) { //Potion items + return inventoryPotionListAdapter.getItem(position).itemType; + } else if (v == 5) { //Food items + return inventoryFoodListAdapter.getItem(position).itemType; + } else if (v == 6) { //Quest items return inventoryQuestListAdapter.getItem(position).itemType; - } else if (v == 5) { //Other items + } else if (v == 7) { //Other items return inventoryOtherListAdapter.getItem(position).itemType; } @@ -445,15 +451,23 @@ public final class HeroinfoActivity_Inventory extends Fragment implements Custom inventoryArmorListAdapter = new ItemContainerAdapter(getActivity(), world.tileManager, player.inventory.buildArmorItems(), player, wornTiles); inventoryList.setAdapter(inventoryArmorListAdapter); inventoryArmorListAdapter.notifyDataSetChanged(); - } else if (v == 3) { //Usable items - inventoryUsableListAdapter = new ItemContainerAdapter(getActivity(), world.tileManager, player.inventory.buildUsableItems(), player, wornTiles); - inventoryList.setAdapter(inventoryUsableListAdapter); - inventoryUsableListAdapter.notifyDataSetChanged(); - } else if (v == 4) { //Quest items + } else if (v == 3) { //Jewelry items + inventoryJewelryListAdapter = new ItemContainerAdapter(getActivity(), world.tileManager, player.inventory.buildJewelryItems(), player, wornTiles); + inventoryList.setAdapter(inventoryJewelryListAdapter); + inventoryJewelryListAdapter.notifyDataSetChanged(); + } else if (v == 4) { //Potion items + inventoryPotionListAdapter = new ItemContainerAdapter(getActivity(), world.tileManager, player.inventory.buildPotionItems(), player, wornTiles); + inventoryList.setAdapter(inventoryPotionListAdapter); + inventoryPotionListAdapter.notifyDataSetChanged(); + } else if (v == 5) { //Food items + inventoryFoodListAdapter = new ItemContainerAdapter(getActivity(), world.tileManager, player.inventory.buildFoodItems(), player, wornTiles); + inventoryList.setAdapter(inventoryFoodListAdapter); + inventoryFoodListAdapter.notifyDataSetChanged(); + } else if (v == 6) { //Quest items inventoryQuestListAdapter = new ItemContainerAdapter(getActivity(), world.tileManager, player.inventory.buildQuestItems(), player, wornTiles); inventoryList.setAdapter(inventoryQuestListAdapter); inventoryQuestListAdapter.notifyDataSetChanged(); - } else if (v == 5) { //Other items + } else if (v == 7) { //Other items inventoryOtherListAdapter = new ItemContainerAdapter(getActivity(), world.tileManager, player.inventory.buildOtherItems(), player, wornTiles); inventoryList.setAdapter(inventoryOtherListAdapter); inventoryOtherListAdapter.notifyDataSetChanged(); diff --git a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/model/item/Inventory.java b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/model/item/Inventory.java index 43d719456..25e247a98 100644 --- a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/model/item/Inventory.java +++ b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/model/item/Inventory.java @@ -89,14 +89,34 @@ public final class Inventory extends ItemContainer { return questItems; } // Move to item container? - public Inventory buildUsableItems() { - Inventory usableItems = new Inventory(); + public Inventory buildJewelryItems() { + Inventory jewelryItems = new Inventory(); for (ItemEntry i : this.items) { if (i == null) break; - if (i.itemType.isUsable()) - usableItems.items.add(i); + if (i.itemType.isEquippable() && !i.itemType.isWeapon() && !i.itemType.isArmor() && !i.itemType.isShield()) + jewelryItems.items.add(i); } - return usableItems; + return jewelryItems; + } + // Move to item container? + public Inventory buildPotionItems() { + Inventory potionItems = new Inventory(); + for (ItemEntry i : this.items) { + if (i == null) break; + if (i.itemType.isUsable() && ("pot".equals(i.itemType.category.id) || "healing".equals(i.itemType.category.id))) + potionItems.items.add(i); + } + return potionItems; + } + // Move to item container? + public Inventory buildFoodItems() { + Inventory foodItems = new Inventory(); + for (ItemEntry i : this.items) { + if (i == null) break; + if (i.itemType.isUsable() && !("pot".equals(i.itemType.category.id) || "healing".equals(i.itemType.category.id))) + foodItems.items.add(i); + } + return foodItems; } // Move to item container? public Inventory buildWeaponItems() { @@ -113,7 +133,7 @@ public final class Inventory extends ItemContainer { Inventory armorItems = new Inventory(); for (ItemEntry i : this.items) { if (i == null) break; - if (i.itemType.isEquippable() && !i.itemType.isWeapon()) + if (i.itemType.isArmor() || i.itemType.isShield()) armorItems.items.add(i); } return armorItems;