mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-19 20:28:00 +00:00
fixed initial turn number (that affects draw on 1st turn)
This commit is contained in:
@@ -53,8 +53,8 @@ public class PhaseHandler extends MyObservable implements java.io.Serializable {
|
|||||||
private static final long serialVersionUID = 5207222278370963197L;
|
private static final long serialVersionUID = 5207222278370963197L;
|
||||||
|
|
||||||
private PhaseType phase = PhaseType.UNTAP;
|
private PhaseType phase = PhaseType.UNTAP;
|
||||||
private int turn = 0;
|
private int turn = 1;
|
||||||
// Start turn at 0, so first untap step will turn it to 1
|
// Start turn at 1, since first untap is where we start
|
||||||
|
|
||||||
private final transient Stack<ExtraTurn> extraTurns = new Stack<ExtraTurn>();
|
private final transient Stack<ExtraTurn> extraTurns = new Stack<ExtraTurn>();
|
||||||
private final transient Map<PhaseType, Stack<PhaseType>> extraPhases = new HashMap<PhaseType, Stack<PhaseType>>();
|
private final transient Map<PhaseType, Stack<PhaseType>> extraPhases = new HashMap<PhaseType, Stack<PhaseType>>();
|
||||||
@@ -262,7 +262,7 @@ public class PhaseHandler extends MyObservable implements java.io.Serializable {
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case DRAW:
|
case DRAW:
|
||||||
if (getTurn() == 1 || PhaseUtil.skipDraw(this.getPlayerTurn())) {
|
if (getTurn() == 1 || this.getPlayerTurn().isSkippingDraw()) {
|
||||||
this.setPlayersPriorityPermission(false);
|
this.setPlayersPriorityPermission(false);
|
||||||
} else {
|
} else {
|
||||||
this.getPlayerTurn().drawCards(1, true);
|
this.getPlayerTurn().drawCards(1, true);
|
||||||
|
|||||||
@@ -114,28 +114,7 @@ public class PhaseUtil {
|
|||||||
game.getPhaseHandler().setPlayersPriorityPermission(false);
|
game.getPhaseHandler().setPlayersPriorityPermission(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* <p>
|
|
||||||
* skipDraw.
|
|
||||||
* </p>
|
|
||||||
*
|
|
||||||
* @param player
|
|
||||||
* a {@link forge.game.player.Player} object.
|
|
||||||
* @return a boolean.
|
|
||||||
*/
|
|
||||||
public static boolean skipDraw(final Player player) {
|
|
||||||
|
|
||||||
if (player.hasKeyword("Skip your next draw step.")) {
|
|
||||||
player.removeKeyword("Skip your next draw step.");
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (player.hasKeyword("Skip your draw step.")) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
// ********* Declare Attackers ***********
|
// ********* Declare Attackers ***********
|
||||||
|
|
||||||
|
|||||||
@@ -3242,6 +3242,20 @@ public abstract class Player extends GameEntity implements Comparable<Player> {
|
|||||||
game.getStack().add(miracleTrigger);
|
game.getStack().add(miracleTrigger);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean isSkippingDraw() {
|
||||||
|
|
||||||
|
if (hasKeyword("Skip your next draw step.")) {
|
||||||
|
removeKeyword("Skip your next draw step.");
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (hasKeyword("Skip your draw step.")) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* TODO: Write javadoc for this type.
|
* TODO: Write javadoc for this type.
|
||||||
*
|
*
|
||||||
|
|||||||
Reference in New Issue
Block a user