From 558283ec98be7d23b8899709c6fb1ccbd528cd6a Mon Sep 17 00:00:00 2001 From: Hellfish Date: Mon, 9 Jan 2012 09:33:14 +0000 Subject: [PATCH] *Added Count$StartingLife. --- src/main/java/forge/GameAction.java | 7 ++++-- src/main/java/forge/Player.java | 24 +++++++++++++++++++ .../card/cardfactory/CardFactoryUtil.java | 10 ++++++++ 3 files changed, 39 insertions(+), 2 deletions(-) diff --git a/src/main/java/forge/GameAction.java b/src/main/java/forge/GameAction.java index cc6fbf9c69b..2cf4339cdbd 100644 --- a/src/main/java/forge/GameAction.java +++ b/src/main/java/forge/GameAction.java @@ -1314,8 +1314,8 @@ public class GameAction { final CardList computer, final int humanLife, final int computerLife, final QuestEvent qe) { this.newGame(humanDeck, computerDeck); - AllZone.getComputerPlayer().setLife(computerLife, null); - AllZone.getHumanPlayer().setLife(humanLife, null); + AllZone.getComputerPlayer().setStartingLife(computerLife); + AllZone.getHumanPlayer().setStartingLife(humanLife); for (final Card c : human) { @@ -1347,6 +1347,9 @@ public class GameAction { // AllZone.getComputer() = new ComputerAI_Input(new // ComputerAI_General()); Constant.Quest.FANTASY_QUEST[0] = false; + + AllZone.getComputerPlayer().setStartingLife(20); + AllZone.getHumanPlayer().setStartingLife(20); AllZone.newGameCleanup(); this.canShowWinLose = true; diff --git a/src/main/java/forge/Player.java b/src/main/java/forge/Player.java index d275051a020..4dd45971801 100644 --- a/src/main/java/forge/Player.java +++ b/src/main/java/forge/Player.java @@ -53,6 +53,9 @@ public abstract class Player extends GameEntity { /** The life. */ private int life; + + /** The life this player started the game with. */ + private int startingLife; /** The assigned damage. */ private int assignedDamage; @@ -258,6 +261,16 @@ public abstract class Player extends GameEntity { this.updateObservers(); return change; } + + /** + * Sets the starting life for a game. Should only be called from newGame()'s. + * + * @param startLife + * a int. + */ + public final void setStartingLife(final int startLife) { + this.startingLife = this.life = startLife; + } /** *

@@ -269,6 +282,17 @@ public abstract class Player extends GameEntity { public final int getLife() { return this.life; } + + /** + *

+ * Getter for the field startingLife. + *

+ * + * @return a int. + */ + public final int getStartingLife() { + return this.startingLife; + } /** *

diff --git a/src/main/java/forge/card/cardfactory/CardFactoryUtil.java b/src/main/java/forge/card/cardfactory/CardFactoryUtil.java index 38617b15a2f..83d4697a7af 100644 --- a/src/main/java/forge/card/cardfactory/CardFactoryUtil.java +++ b/src/main/java/forge/card/cardfactory/CardFactoryUtil.java @@ -2832,6 +2832,16 @@ public class CardFactoryUtil { } return CardFactoryUtil.doXMath(n, m, c); } + + // Count$YourStartingLife + if (sq[0].contains("YourStartingLife")) { + return CardFactoryUtil.doXMath(cardController.getStartingLife(), m, c); + } + + // Count$OppStartingLife + if (sq[0].contains("OppStartingLife")) { + return CardFactoryUtil.doXMath(oppController.getStartingLife(), m, c); + } // Count$YourLifeTotal if (sq[0].contains("YourLifeTotal")) {