From 0a313c4071bf3c59a2118591f44b7249e843cd6b Mon Sep 17 00:00:00 2001 From: drdev Date: Sun, 28 Sep 2014 09:25:03 +0000 Subject: [PATCH] Fix ManaScrewed achievement --- .../java/forge/game/AchievementTracker.java | 1 + .../effects/PlayLandVariantEffect.java | 5 +-- .../ability/effects/RestartGameEffect.java | 10 ++--- .../java/forge/game/card/CardFactoryUtil.java | 4 +- .../java/forge/game/phase/PhaseHandler.java | 1 - .../main/java/forge/game/player/Player.java | 41 ++++++++++--------- .../forge/game/trigger/TriggerLandPlayed.java | 2 +- .../java/forge/achievement/ManaScrewed.java | 2 +- 8 files changed, 33 insertions(+), 33 deletions(-) diff --git a/forge-game/src/main/java/forge/game/AchievementTracker.java b/forge-game/src/main/java/forge/game/AchievementTracker.java index a4607518fba..efdeb095e9f 100644 --- a/forge-game/src/main/java/forge/game/AchievementTracker.java +++ b/forge-game/src/main/java/forge/game/AchievementTracker.java @@ -8,4 +8,5 @@ public class AchievementTracker { public int mulliganTo = 7; public int spellsCast = 0; public int maxStormCount = 0; + public int landsPlayed = 0; } diff --git a/forge-game/src/main/java/forge/game/ability/effects/PlayLandVariantEffect.java b/forge-game/src/main/java/forge/game/ability/effects/PlayLandVariantEffect.java index 477d69568db..332e4ee52fa 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/PlayLandVariantEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/PlayLandVariantEffect.java @@ -93,9 +93,6 @@ public class PlayLandVariantEffect extends SpellAbilityEffect { runParams.put("Card", source); game.getTriggerHandler().runTrigger(TriggerType.LandPlayed, runParams, false); game.getStack().unfreezeStack(); - activator.setNumLandsPlayed(activator.getNumLandsPlayed() + 1); - - + activator.addLandPlayedThisTurn(); } - } diff --git a/forge-game/src/main/java/forge/game/ability/effects/RestartGameEffect.java b/forge-game/src/main/java/forge/game/ability/effects/RestartGameEffect.java index f36cbef3595..00a0b8d1a43 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/RestartGameEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/RestartGameEffect.java @@ -60,20 +60,20 @@ public class RestartGameEffect extends SpellAbilityEffect { List gamePlayers = game.getRegisteredPlayers(); for (int i = 0; i < gamePlayers.size(); i++) { final Player player = gamePlayers.get(i); - if( player.hasLost()) continue; - + if (player.hasLost()) { continue; } + RegisteredPlayer psc = game.getMatch().getPlayers().get(i); - + player.setStartingLife(psc.getStartingLife()); player.setPoisonCounters(0, sa.getHostCard()); - player.setNumLandsPlayed(0); + player.resetLandsPlayedThisTurn(); player.initVariantsZones(psc); List newLibrary = playerLibraries.get(player); for (Card c : newLibrary) { action.moveToLibrary(c, 0); } - + player.shuffle(null); } diff --git a/forge-game/src/main/java/forge/game/card/CardFactoryUtil.java b/forge-game/src/main/java/forge/game/card/CardFactoryUtil.java index 128fdbde8db..595c3f31418 100644 --- a/forge-game/src/main/java/forge/game/card/CardFactoryUtil.java +++ b/forge-game/src/main/java/forge/game/card/CardFactoryUtil.java @@ -783,7 +783,7 @@ public class CardFactoryUtil { } if (value.contains("LandsPlayed")) { - return doXMath(player.getNumLandsPlayed(), m, source); + return doXMath(player.getLandsPlayedThisTurn(), m, source); } if (value.contains("CardsDrawn")) { @@ -1129,7 +1129,7 @@ public class CardFactoryUtil { } if (sq[0].contains("YourLandsPlayed")) { - return doXMath(cc.getNumLandsPlayed(), m, c); + return doXMath(cc.getLandsPlayedThisTurn(), m, c); } // Count$TopOfLibraryCMC diff --git a/forge-game/src/main/java/forge/game/phase/PhaseHandler.java b/forge-game/src/main/java/forge/game/phase/PhaseHandler.java index 04c69b6baae..7f4503c4772 100644 --- a/forge-game/src/main/java/forge/game/phase/PhaseHandler.java +++ b/forge-game/src/main/java/forge/game/phase/PhaseHandler.java @@ -737,7 +737,6 @@ public class PhaseHandler implements java.io.Serializable, IGameStateObject { } } for (Player p : game.getPlayers()) { - p.resetProwl(); p.resetSpellsCastThisTurn(); p.setLifeLostLastTurn(p.getLifeLostThisTurn()); diff --git a/forge-game/src/main/java/forge/game/player/Player.java b/forge-game/src/main/java/forge/game/player/Player.java index 6a13b20d063..93a41b1be14 100644 --- a/forge-game/src/main/java/forge/game/player/Player.java +++ b/forge-game/src/main/java/forge/game/player/Player.java @@ -108,8 +108,8 @@ public class Player extends GameEntity implements Comparable, IIdentifia /** The prowl. */ private ArrayList prowl = new ArrayList(); - /** The num lands played. */ - private int numLandsPlayed = 0; + /** The num lands played this turn. */ + private int landsPlayedThisTurn = 0; /** The max hand size. */ private int maxHandSize = 7; @@ -1886,7 +1886,7 @@ public class Player extends GameEntity implements Comparable, IIdentifia runParams.put("Card", land); game.getTriggerHandler().runTrigger(TriggerType.LandPlayed, runParams, false); game.getStack().unfreezeStack(); - this.numLandsPlayed++; + addLandPlayedThisTurn(); return true; } @@ -1953,7 +1953,7 @@ public class Player extends GameEntity implements Comparable, IIdentifia adjMax += Integer.valueOf(k[1]); } } - if (this.numLandsPlayed < adjMax) { + if (this.landsPlayedThisTurn < adjMax) { return true; } @@ -2746,39 +2746,42 @@ public class Player extends GameEntity implements Comparable, IIdentifia /** *

- * Getter for the field numLandsPlayed. + * Getter for the field landsPlayedThisTurn. *

* * @return a int. */ - public final int getNumLandsPlayed() { - return this.numLandsPlayed; + public final int getLandsPlayedThisTurn() { + return landsPlayedThisTurn; } /** - *

- * Setter for the field numLandsPlayed. - *

- * - * @param n - * a int. + * Adds 1 to the number of lands played by this player this turn. */ - public final void setNumLandsPlayed(final int n) { - this.numLandsPlayed = n; + public final void addLandPlayedThisTurn() { + landsPlayedThisTurn++; + achievementTracker.landsPlayed++; + } + + /** + * Resets the number of lands played by this player this turn to 0. + */ + public final void resetLandsPlayedThisTurn() { + landsPlayedThisTurn = 0; } /** * @return the number of spells cast by this player this turn. */ public final int getSpellsCastThisTurn() { - return this.spellsCastThisTurn; + return spellsCastThisTurn; } /** * Adds 1 to the number of spells cast by this player this turn. */ public final void addSpellCastThisTurn() { - this.spellsCastThisTurn++; + spellsCastThisTurn++; achievementTracker.spellsCast++; if (spellsCastThisTurn > achievementTracker.maxStormCount) { achievementTracker.maxStormCount = spellsCastThisTurn; @@ -2789,7 +2792,7 @@ public class Player extends GameEntity implements Comparable, IIdentifia * Resets the number of spells cast by this player this turn to 0. */ public final void resetSpellsCastThisTurn() { - this.spellsCastThisTurn = 0; + spellsCastThisTurn = 0; } /** @@ -3075,7 +3078,7 @@ public class Player extends GameEntity implements Comparable, IIdentifia setNumCardsInHandStartedThisTurnWith(this.getCardsIn(ZoneType.Hand).size()); setAttackedWithCreatureThisTurn(false); setActivateLoyaltyAbilityThisTurn(false); - setNumLandsPlayed(0); + resetLandsPlayedThisTurn(); clearAssignedDamage(); resetAttackersDeclaredThisTurn(); } diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerLandPlayed.java b/forge-game/src/main/java/forge/game/trigger/TriggerLandPlayed.java index 74a4eaf6715..b7a5528bc64 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerLandPlayed.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerLandPlayed.java @@ -65,7 +65,7 @@ public class TriggerLandPlayed extends Trigger { } if (this.mapParams.containsKey("NotFirstLand")) { - if (land.getController().getNumLandsPlayed() < 1) { + if (land.getController().getLandsPlayedThisTurn() < 1) { return false; } } diff --git a/forge-gui/src/main/java/forge/achievement/ManaScrewed.java b/forge-gui/src/main/java/forge/achievement/ManaScrewed.java index 81a4a02f089..d80e39be935 100644 --- a/forge-gui/src/main/java/forge/achievement/ManaScrewed.java +++ b/forge-gui/src/main/java/forge/achievement/ManaScrewed.java @@ -15,7 +15,7 @@ public class ManaScrewed extends Achievement { @Override protected int evaluate(Player player, Game game) { if (player.getOutcome().hasWon()) { - return player.getNumLandsPlayed(); + return player.getAchievementTracker().landsPlayed; } return defaultValue; //indicate that player didn't win }