Using or un/equipping items during combat automatically ends the turn if all AP are used

This commit is contained in:
Gonk
2020-07-07 21:15:16 +02:00
parent daccd36cc5
commit 03fc984cc6
2 changed files with 10 additions and 1 deletions

View File

@@ -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;

View File

@@ -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));
}