diff --git a/src/forge/CardFactory_Creatures.java b/src/forge/CardFactory_Creatures.java index 8d76bf81154..8abe44cf00e 100644 --- a/src/forge/CardFactory_Creatures.java +++ b/src/forge/CardFactory_Creatures.java @@ -406,7 +406,11 @@ public class CardFactory_Creatures { @Override public boolean canPlay() { - return super.canPlay() && 6 < AllZone.Phase.getTurn(); + Player turn = AllZone.Phase.getPlayerTurn(); + if (turn.equals(card.getController()) && turn.getTurn() <= 3) + return false; + + return super.canPlay(); } }; card.clearSpellAbility(); diff --git a/src/forge/PhaseUtil.java b/src/forge/PhaseUtil.java index 46b9bbe2cf7..90734fc8a61 100644 --- a/src/forge/PhaseUtil.java +++ b/src/forge/PhaseUtil.java @@ -21,11 +21,11 @@ public class PhaseUtil { AllZone.pwCombat.setDefendingPlayer(turn.getOpponent()); // For tokens a player starts the game with they don't recover from Sum. Sickness on first turn - if (!turn.isFirstTurn()){ + if (turn.getTurn() > 0){ for(int i = 0; i < c.length; i++) c[i].setSickness(false); } - turn.setFirstTurn(false); + turn.incrementTurn(); // Phasing would happen around here diff --git a/src/forge/Player.java b/src/forge/Player.java index 98903daedff..cb737465c92 100644 --- a/src/forge/Player.java +++ b/src/forge/Player.java @@ -20,7 +20,7 @@ public abstract class Player extends MyObservable{ protected boolean altLose = false; protected String loseCondition = ""; - protected boolean bFirstTurn; + protected int nTurns = 0; protected Card lastDrawnCard; protected int numDrawnThisTurn = 0; @@ -40,7 +40,7 @@ public abstract class Player extends MyObservable{ preventNextDamage = 0; lastDrawnCard = null; numDrawnThisTurn = 0; - bFirstTurn = true; + nTurns = 0; altWin = false; altLose = false; winCondition = ""; @@ -57,7 +57,7 @@ public abstract class Player extends MyObservable{ lastDrawnCard = null; numDrawnThisTurn = 0; slowtripList = new CardList(); - bFirstTurn = true; + nTurns = 0; altWin = false; altLose = false; winCondition = ""; @@ -653,8 +653,8 @@ public abstract class Player extends MyObservable{ slowtripList.add(card); } - public boolean isFirstTurn() { return bFirstTurn; } - public void setFirstTurn(boolean b) { bFirstTurn = b; } + public int getTurn() { return nTurns; } + public void incrementTurn() { nTurns++; } //////////////////////////////// public abstract void sacrificePermanent(String prompt, CardList choices);