mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-18 19:58:00 +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 blockedThisTurn = new CardList();
|
||||||
private CardList blockedByThisTurn = new CardList();
|
private CardList blockedByThisTurn = new CardList();
|
||||||
|
|
||||||
|
private boolean startsGameInPlay = false;
|
||||||
private boolean drawnThisTurn = false;
|
private boolean drawnThisTurn = false;
|
||||||
private boolean tapped = false;
|
private boolean tapped = false;
|
||||||
private boolean sickness = true; // summoning sickness
|
private boolean sickness = true; // summoning sickness
|
||||||
@@ -8965,4 +8966,18 @@ public class Card extends GameEntity implements Comparable<Card> {
|
|||||||
this.effectSource = src;
|
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
|
} // end Card class
|
||||||
|
|||||||
@@ -73,11 +73,13 @@ public class GameNew {
|
|||||||
for (final Card c : human) {
|
for (final Card c : human) {
|
||||||
AllZone.getHumanPlayer().getZone(ZoneType.Battlefield).add(c);
|
AllZone.getHumanPlayer().getZone(ZoneType.Battlefield).add(c);
|
||||||
c.setSickness(true);
|
c.setSickness(true);
|
||||||
|
c.setStartsGameInPlay(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
for (final Card c : computer) {
|
for (final Card c : computer) {
|
||||||
AllZone.getComputerPlayer().getZone(ZoneType.Battlefield).add(c);
|
AllZone.getComputerPlayer().getZone(ZoneType.Battlefield).add(c);
|
||||||
c.setSickness(true);
|
c.setSickness(true);
|
||||||
|
c.setStartsGameInPlay(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
GameNew.actuateGame(humanDeck, computerDeck);
|
GameNew.actuateGame(humanDeck, computerDeck);
|
||||||
|
|||||||
@@ -79,9 +79,10 @@ public class PhaseUtil {
|
|||||||
* </p>
|
* </p>
|
||||||
*/
|
*/
|
||||||
public static void handleUntap() {
|
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();
|
Singletons.getModel().getGameSummary().notifyNextTurn();
|
||||||
CMessage.SINGLETON_INSTANCE.updateGameInfo();
|
CMessage.SINGLETON_INSTANCE.updateGameInfo();
|
||||||
|
|
||||||
@@ -89,11 +90,10 @@ public class PhaseUtil {
|
|||||||
AllZone.getCombat().setAttackingPlayer(turn);
|
AllZone.getCombat().setAttackingPlayer(turn);
|
||||||
AllZone.getCombat().setDefendingPlayer(turn.getOpponent());
|
AllZone.getCombat().setDefendingPlayer(turn.getOpponent());
|
||||||
|
|
||||||
// For tokens a player starts the game with they don't recover from Sum.
|
// Tokens starting game in play now actually suffer from Sum. Sickness again
|
||||||
// Sickness on first turn
|
final CardList list = turn.getCardsIncludePhasingIn(ZoneType.Battlefield);
|
||||||
if (Singletons.getModel().getGameState().getPhaseHandler().getTurn() > 0) {
|
for (final Card c : list) {
|
||||||
final CardList list = turn.getCardsIncludePhasingIn(ZoneType.Battlefield);
|
if (turn.getTurn() > 0 || !c.isStartsGameInPlay()) {
|
||||||
for (final Card c : list) {
|
|
||||||
c.setSickness(false);
|
c.setSickness(false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user