fixed initial turn number (that affects draw on 1st turn)

This commit is contained in:
Maxmtg
2013-03-07 19:09:57 +00:00
parent ff3652c766
commit 0496dca705
3 changed files with 18 additions and 25 deletions

View File

@@ -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);

View File

@@ -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 ***********

View File

@@ -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.
*