diff --git a/forge-game/src/main/java/forge/game/ability/AbilityUtils.java b/forge-game/src/main/java/forge/game/ability/AbilityUtils.java index 2de0c3815ee..64f3894e67b 100644 --- a/forge-game/src/main/java/forge/game/ability/AbilityUtils.java +++ b/forge-game/src/main/java/forge/game/ability/AbilityUtils.java @@ -2304,6 +2304,10 @@ public class AbilityUtils { return doXMath(player.getNumDrawnThisTurn(), expr, c, ctb); } + if (sq[0].equals("YouDrewLastTurn")) { + return doXMath(player.getNumDrawnLastTurn(), expr, c, ctb); + } + if (sq[0].equals("YouRollThisTurn")) { return doXMath(player.getNumRollsThisTurn(), expr, c, ctb); } 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 b8b65ff8dc4..02d9db748e2 100644 --- a/forge-game/src/main/java/forge/game/player/Player.java +++ b/forge-game/src/main/java/forge/game/player/Player.java @@ -105,6 +105,7 @@ public class Player extends GameEntity implements Comparable { private int numPowerSurgeLands; private int numLibrarySearchedOwn; //The number of times this player has searched his library private int numDrawnThisTurn; + private int numDrawnLastTurn; private int numDrawnThisDrawStep; private int numRollsThisTurn; private int numExploredThisTurn; @@ -1444,6 +1445,10 @@ public class Player extends GameEntity implements Comparable { return numDrawnThisTurn; } + public final int getNumDrawnLastTurn() { + return numDrawnLastTurn; + } + public final int numDrawnThisDrawStep() { return numDrawnThisDrawStep; } @@ -2256,6 +2261,9 @@ public class Player extends GameEntity implements Comparable { public final void setLandsPlayedLastTurn(int num) { landsPlayedLastTurn = num; } + public final void setNumDrawnLastTurn(int num) { + numDrawnLastTurn= num; + } public final int getInvestigateNumThisTurn() { return investigatedThisTurn; @@ -2475,6 +2483,7 @@ public class Player extends GameEntity implements Comparable { for (final PlayerZone pz : zones.values()) { pz.resetCardsAddedThisTurn(); } + setNumDrawnLastTurn(getNumDrawnThisTurn()); resetNumDrawnThisTurn(); resetNumRollsThisTurn(); resetNumExploredThisTurn(); diff --git a/forge-gui/res/cardsfolder/upcoming/mine_is_the_only_truth.txt b/forge-gui/res/cardsfolder/upcoming/mine_is_the_only_truth.txt new file mode 100644 index 00000000000..66bf855680f --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/mine_is_the_only_truth.txt @@ -0,0 +1,9 @@ +Name:Mine Is the Only Truth +ManaCost:no cost +Types:Ongoing Scheme +T:Mode$ SpellCast | ValidCard$ Card | ValidActivatingPlayer$ Player | TriggerZones$ Command | Execute$ TrigDrawCard | TriggerDescription$ Whenever a player casts a spell, you draw a card. +SVar:TrigDrawCard:DB$ Draw | Defined$ You | NumCards$ 1 +T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Command | CheckSVar$ DrewLastTurn | Execute$ DBAbandon | TriggerDescription$ At the beginning of your upkeep, if you drew a card last turn, abandon this scheme. +SVar:DBAbandon:DB$ Abandon +SVar:DrewLastTurn:Count$YouDrewLastTurn +Oracle:(An ongoing scheme remains face up until it’s abandoned.)\nWhenever a player casts a spell, you draw a card.\nAt the beginning of your upkeep, if you drew a card last turn, abandon this scheme.