From 7599e41a63a617fe4d80fd5e4c90cf460441c61c Mon Sep 17 00:00:00 2001 From: Agetian Date: Sat, 7 Jan 2017 04:59:11 +0000 Subject: [PATCH] - Adding ways to determine the number of lands played and spells cast by a particular player last turn (will be necessary for some upcoming AI additions). --- .../game/ability/effects/RestartGameEffect.java | 1 + .../main/java/forge/game/phase/PhaseHandler.java | 1 + .../src/main/java/forge/game/player/Player.java | 15 +++++++++++++++ 3 files changed, 17 insertions(+) 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 c840ec21c04..0b23c1bbdf9 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 @@ -69,6 +69,7 @@ public class RestartGameEffect extends SpellAbilityEffect { player.setStartingLife(psc.getStartingLife()); player.setPoisonCounters(0, sa.getHostCard()); + player.setLandsPlayedLastTurn(0); player.resetLandsPlayedThisTurn(); player.resetInvestigatedThisTurn(); player.initVariantsZones(psc); 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 5c308c24e1b..40a855e4116 100644 --- a/forge-game/src/main/java/forge/game/phase/PhaseHandler.java +++ b/forge-game/src/main/java/forge/game/phase/PhaseHandler.java @@ -736,6 +736,7 @@ public class PhaseHandler implements java.io.Serializable { } for (Player p : game.getPlayers()) { p.resetProwl(); + p.setSpellsCastLastTurn(p.getSpellsCastThisTurn()); p.resetSpellsCastThisTurn(); p.setLifeLostLastTurn(p.getLifeLostThisTurn()); p.setLifeLostThisTurn(0); 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 bf51315f995..68b5b5c683b 100644 --- a/forge-game/src/main/java/forge/game/player/Player.java +++ b/forge-game/src/main/java/forge/game/player/Player.java @@ -88,7 +88,9 @@ public class Player extends GameEntity implements Comparable { private final Map assignedDamage = Maps.newHashMap(); private final Map assignedCombatDamage = Maps.newHashMap(); private int spellsCastThisTurn = 0; + private int spellsCastLastTurn = 0; private int landsPlayedThisTurn = 0; + private int landsPlayedLastTurn = 0; private int investigatedThisTurn = 0; private int lifeLostThisTurn = 0; private int lifeLostLastTurn = 0; @@ -2333,6 +2335,9 @@ public class Player extends GameEntity implements Comparable { public final int getLandsPlayedThisTurn() { return landsPlayedThisTurn; } + public final int getLandsPlayedLastTurn() { + return landsPlayedLastTurn; + } public final void addLandPlayedThisTurn() { landsPlayedThisTurn++; achievementTracker.landsPlayed++; @@ -2340,6 +2345,9 @@ public class Player extends GameEntity implements Comparable { public final void resetLandsPlayedThisTurn() { landsPlayedThisTurn = 0; } + public final void setLandsPlayedLastTurn(int num) { + landsPlayedLastTurn = num; + } public final int getInvestigateNumThisTurn() { return investigatedThisTurn; @@ -2398,6 +2406,9 @@ public class Player extends GameEntity implements Comparable { public final int getSpellsCastThisTurn() { return spellsCastThisTurn; } + public final int getSpellsCastLastTurn() { + return spellsCastLastTurn; + } public final void addSpellCastThisTurn() { spellsCastThisTurn++; achievementTracker.spellsCast++; @@ -2408,6 +2419,9 @@ public class Player extends GameEntity implements Comparable { public final void resetSpellsCastThisTurn() { spellsCastThisTurn = 0; } + public final void setSpellsCastLastTurn(int num) { + spellsCastLastTurn = num; + } public final int getLifeGainedThisTurn() { return lifeGainedThisTurn; @@ -2589,6 +2603,7 @@ public class Player extends GameEntity implements Comparable { setAttackedWithCreatureThisTurn(false); setActivateLoyaltyAbilityThisTurn(false); setTappedLandForManaThisTurn(false); + setLandsPlayedLastTurn(getLandsPlayedThisTurn()); resetLandsPlayedThisTurn(); resetInvestigatedThisTurn(); resetSacrificedThisTurn();