diff --git a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/controller/CombatController.java b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/controller/CombatController.java index 75706b472..1befc0837 100644 --- a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/controller/CombatController.java +++ b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/controller/CombatController.java @@ -240,7 +240,7 @@ public final class CombatController implements VisualEffectCompletedCallback { return true; } - private boolean playerHasApLeft() { + public boolean playerHasApLeft() { final Player player = world.model.player; if (player.hasAPs(player.getUseItemCost())) return true; if (player.hasAPs(player.getAttackCost())) return true; diff --git a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/controller/ItemController.java b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/controller/ItemController.java index a1336d2a9..64773a0b1 100644 --- a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/controller/ItemController.java +++ b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/controller/ItemController.java @@ -58,6 +58,9 @@ public final class ItemController { player.inventory.setItemTypeInWearSlot(slot, type); controllers.actorStatsController.addConditionsFromEquippedItem(player, type); controllers.actorStatsController.recalculatePlayerStats(player); + if (world.model.uiSelections.isInCombat && !controllers.combatController.playerHasApLeft()) { + controllers.combatController.endPlayerTurn(); + } } public void unequipSlot(ItemType type, Inventory.WearSlot slot) { @@ -72,6 +75,9 @@ public final class ItemController { unequipSlot(player, slot); controllers.actorStatsController.recalculatePlayerStats(player); + if (world.model.uiSelections.isInCombat && !controllers.combatController.playerHasApLeft()) { + controllers.combatController.endPlayerTurn(); + } } private void unequipSlot(Player player, Inventory.WearSlot slot) { @@ -95,6 +101,9 @@ public final class ItemController { controllers.actorStatsController.applyUseEffect(player, null, type.effects_use); world.model.statistics.addItemUsage(type); + if (world.model.uiSelections.isInCombat && !controllers.combatController.playerHasApLeft()) { + controllers.combatController.endPlayerTurn(); + } //TODO: provide feedback that the item has been used. //context.mainActivity.message(androidContext.getResources().getString(R.string.inventory_item_used, type.name)); }