mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-19 12:18: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 PhaseType phase = PhaseType.UNTAP;
|
||||
private int turn = 0;
|
||||
// Start turn at 0, so first untap step will turn it to 1
|
||||
private int turn = 1;
|
||||
// Start turn at 1, since first untap is where we start
|
||||
|
||||
private final transient Stack<ExtraTurn> extraTurns = new Stack<ExtraTurn>();
|
||||
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;
|
||||
|
||||
case DRAW:
|
||||
if (getTurn() == 1 || PhaseUtil.skipDraw(this.getPlayerTurn())) {
|
||||
if (getTurn() == 1 || this.getPlayerTurn().isSkippingDraw()) {
|
||||
this.setPlayersPriorityPermission(false);
|
||||
} else {
|
||||
this.getPlayerTurn().drawCards(1, true);
|
||||
|
||||
@@ -114,28 +114,7 @@ public class PhaseUtil {
|
||||
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 ***********
|
||||
|
||||
|
||||
@@ -3242,6 +3242,20 @@ public abstract class Player extends GameEntity implements Comparable<Player> {
|
||||
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.
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user