- Quest Tokens that start the game in play now don't flush summoning sickness until their controller's second turn

This commit is contained in:
Sol
2012-07-06 02:14:49 +00:00
parent caad9af21d
commit 03f1f0ab92
3 changed files with 24 additions and 7 deletions

View File

@@ -122,6 +122,7 @@ public class Card extends GameEntity implements Comparable<Card> {
private CardList blockedThisTurn = new CardList();
private CardList blockedByThisTurn = new CardList();
private boolean startsGameInPlay = false;
private boolean drawnThisTurn = false;
private boolean tapped = false;
private boolean sickness = true; // summoning sickness
@@ -8965,4 +8966,18 @@ public class Card extends GameEntity implements Comparable<Card> {
this.effectSource = src;
}
/**
* @return the startsGameInPlay
*/
public boolean isStartsGameInPlay() {
return startsGameInPlay;
}
/**
* @param startsGameInPlay0 the startsGameInPlay to set
*/
public void setStartsGameInPlay(boolean startsGameInPlay) {
this.startsGameInPlay = startsGameInPlay;
}
} // end Card class

View File

@@ -73,11 +73,13 @@ public class GameNew {
for (final Card c : human) {
AllZone.getHumanPlayer().getZone(ZoneType.Battlefield).add(c);
c.setSickness(true);
c.setStartsGameInPlay(true);
}
for (final Card c : computer) {
AllZone.getComputerPlayer().getZone(ZoneType.Battlefield).add(c);
c.setSickness(true);
c.setStartsGameInPlay(true);
}
GameNew.actuateGame(humanDeck, computerDeck);

View File

@@ -79,9 +79,10 @@ public class PhaseUtil {
* </p>
*/
public static void handleUntap() {
final Player turn = Singletons.getModel().getGameState().getPhaseHandler().getPlayerTurn();
final PhaseHandler ph = Singletons.getModel().getGameState().getPhaseHandler();
final Player turn = ph.getPlayerTurn();
Singletons.getModel().getGameState().getPhaseHandler().turnReset();
ph.turnReset();
Singletons.getModel().getGameSummary().notifyNextTurn();
CMessage.SINGLETON_INSTANCE.updateGameInfo();
@@ -89,11 +90,10 @@ public class PhaseUtil {
AllZone.getCombat().setAttackingPlayer(turn);
AllZone.getCombat().setDefendingPlayer(turn.getOpponent());
// For tokens a player starts the game with they don't recover from Sum.
// Sickness on first turn
if (Singletons.getModel().getGameState().getPhaseHandler().getTurn() > 0) {
final CardList list = turn.getCardsIncludePhasingIn(ZoneType.Battlefield);
for (final Card c : list) {
// Tokens starting game in play now actually suffer from Sum. Sickness again
final CardList list = turn.getCardsIncludePhasingIn(ZoneType.Battlefield);
for (final Card c : list) {
if (turn.getTurn() > 0 || !c.isStartsGameInPlay()) {
c.setSickness(false);
}
}