mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-18 11:48:02 +00:00
- 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:
@@ -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
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user