diff --git a/src/controllers/game/MainGameController.java b/src/controllers/game/MainGameController.java index 2427590..c7f08ab 100644 --- a/src/controllers/game/MainGameController.java +++ b/src/controllers/game/MainGameController.java @@ -2,7 +2,6 @@ import controllers.Controller; import controllers.MenuController; -import controllers.utils.RedirectListener; import game.board.Board; import game.board.RoundManager; import game.board.Scenario; @@ -10,13 +9,12 @@ import game.generals.Vector2; import gui.actionListener.basicActionsListener.EndTurnListener; import gui.actionListener.basicActionsListener.MoveListener; -import gui.actionListener.basicActionsListener.TurnOnEnemySelecting; +import gui.actionListener.basicActionsListener.UseItem; import gui.actionListener.scrollItem.*; import gui.actionListener.turnOffButtons; import gui.actionListener.warhammerActions.*; import gui.card.DoubleArrowPanel; import gui.factories.IOverallFactory; -import gui.utils.FileManager; import gui.views.gamePanel.MainPanelGame; import gui.views.pickers.CustomLambdaExpression; import gui.views.pickers.FullItemPicker; @@ -84,7 +82,7 @@ public void run(IOverallFactory overallFactory) { gamePanel.getGamePanel().addOptionsListener(2, new AttackListener(roundManager, gamePanel)); gamePanel.getGamePanel().addOptionsListener(3, new CarefullListener(roundManager, gamePanel)); gamePanel.getGamePanel().addOptionsListener(4, new MultipleAttackListener(roundManager, gamePanel)); - gamePanel.getItemsItemPicker().addButtonListener(new TurnOnEnemySelecting(roundManager, gamePanel)); + gamePanel.getItemsItemPicker().addButtonListener(new UseItem(roundManager, gamePanel)); int j = 0; for (var list : Arrays.asList(new AimingListener(roundManager, gamePanel), new BlockListener(roundManager, diff --git a/src/game/equipment/DisposableItem.java b/src/game/equipment/DisposableItem.java index 0226333..dd6957e 100644 --- a/src/game/equipment/DisposableItem.java +++ b/src/game/equipment/DisposableItem.java @@ -6,6 +6,7 @@ public abstract class DisposableItem extends Item { private int usageCount; protected String description; + private int onEnemy = 0; public DisposableItem( int usageCount) { super(""); @@ -32,4 +33,11 @@ public String getDescription() { return description; } + + public int isOnEnemy() { + return onEnemy; + } + public void setOnEnemy(int parametr){ + onEnemy = parametr; + } } diff --git a/src/game/equipment/examples/HolyWater.java b/src/game/equipment/examples/HolyWater.java index 59c2973..5eb83ca 100644 --- a/src/game/equipment/examples/HolyWater.java +++ b/src/game/equipment/examples/HolyWater.java @@ -10,9 +10,10 @@ public class HolyWater extends DisposableItem implements WarhammerData { + public HolyWater( int usageCount) { super( usageCount);setItemPathPicture(holyWaterPath); - + setOnEnemy(1); description = "Paladyn Edward claims that it works against monsters"; } diff --git a/src/gui/actionListener/basicActionsListener/TurnOnEnemySelecting.java b/src/gui/actionListener/basicActionsListener/TurnOnEnemySelecting.java deleted file mode 100644 index e0f24e2..0000000 --- a/src/gui/actionListener/basicActionsListener/TurnOnEnemySelecting.java +++ /dev/null @@ -1,27 +0,0 @@ -package gui.actionListener.basicActionsListener; - -import game.board.RoundManager; - -import gui.actionListener.warhammerActions.turnOffUseItem; -import gui.views.gamePanel.MainPanelGame; - -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; - -public class TurnOnEnemySelecting implements ActionListener { - - RoundManager roundManager; - MainPanelGame mainPanelGame; - - public TurnOnEnemySelecting(RoundManager roundManager, MainPanelGame mainPanelGame) { - this.roundManager = roundManager; - this.mainPanelGame = mainPanelGame; - } - - @Override - public void actionPerformed(ActionEvent e) { - - mainPanelGame.getGamePanel().changeActiveOptionsPanel(); - - } -} diff --git a/src/gui/actionListener/basicActionsListener/UseItemOnYourselfListener.java b/src/gui/actionListener/basicActionsListener/UseItem.java similarity index 51% rename from src/gui/actionListener/basicActionsListener/UseItemOnYourselfListener.java rename to src/gui/actionListener/basicActionsListener/UseItem.java index e846c36..ddb9275 100644 --- a/src/gui/actionListener/basicActionsListener/UseItemOnYourselfListener.java +++ b/src/gui/actionListener/basicActionsListener/UseItem.java @@ -1,9 +1,10 @@ package gui.actionListener.basicActionsListener; import game.board.RoundManager; + import game.creature.Character; import game.creature.Creature; -import gui.actionListener.turnOffButtons; +import gui.actionListener.warhammerActions.turnOffUseItem; import gui.views.gamePanel.MainPanelGame; import java.awt.event.ActionEvent; @@ -11,12 +12,12 @@ import static game.interfaceWarhammer.StruggleAtributeEnum.ACTIONS_TO_DO; -public class UseItemOnYourselfListener implements ActionListener { +public class UseItem implements ActionListener { RoundManager roundManager; MainPanelGame mainPanelGame; - public UseItemOnYourselfListener(RoundManager roundManager, MainPanelGame mainPanelGame) { + public UseItem(RoundManager roundManager, MainPanelGame mainPanelGame) { this.roundManager = roundManager; this.mainPanelGame = mainPanelGame; } @@ -24,14 +25,24 @@ public UseItemOnYourselfListener(RoundManager roundManager, MainPanelGame mainPa @Override public void actionPerformed(ActionEvent e) { + Creature you = roundManager.getGameObjectWithTurn().getCreature(); if(you instanceof Character){ - ((Character) you).getInventory().getSelectedDisposableItem().use(you); + if(!(((Character) you).getInventory().getSelectedDisposableItem().isOnEnemy()== 0)) { + ((Character) you).getInventory().getSelectedDisposableItem().use(you); + you.getStruggleStatistics().getAttribute(ACTIONS_TO_DO).decreaseValue(1); + } else { + mainPanelGame.getGamePanel().changeActiveOptionsPanel(); + turnOffUseItem.turnOff(roundManager,mainPanelGame); + } + } - you.getStruggleStatistics().getAttribute(ACTIONS_TO_DO).decreaseValue(1); + + + } }