*Added LastTurnCast in addition to ThisTurnCast.

This commit is contained in:
Hellfish
2011-10-21 10:35:31 +00:00
parent bca99199e4
commit 8fe37a2be3
4 changed files with 49 additions and 5 deletions

View File

@@ -712,6 +712,23 @@ public final class CardUtil {
return res; return res;
} }
/**
* getLastTurnCast.
*
* @param valid a String object
* @param src a Card object
* @return a CardList that matches the given criteria
*/
public static CardList getLastTurnCast(final String valid, final Card src) {
CardList res = new CardList();
res.addAll(AllZone.getStack().getCardsCastLastTurn());
res = res.getValidCards(valid, src.getController(), src);
return res;
}
/** /**
* getLKICopy. * getLKICopy.
* @param c a Card. * @param c a Card.

View File

@@ -42,6 +42,7 @@ public class MagicStack extends MyObservable {
private int splitSecondOnStack = 0; private int splitSecondOnStack = 0;
private CardList thisTurnCast = new CardList(); private CardList thisTurnCast = new CardList();
private CardList lastTurnCast = new CardList();
/** /**
* <p>isFrozen.</p> * <p>isFrozen.</p>
@@ -1223,7 +1224,23 @@ public class MagicStack extends MyObservable {
/** /**
* clearCardsCastThisTurn. * clearCardsCastThisTurn.
*/ */
public void clearCardsCastThisTurn() { public final void clearCardsCastThisTurn() {
thisTurnCast.clear(); thisTurnCast.clear();
} }
/**
*
* setCardsCastLastTurn.
*/
public final void setCardsCastLastTurn() {
lastTurnCast = new CardList(thisTurnCast);
}
/**
* Accessor for the field lastTurnCast.
* @return a CardList.
*/
public final CardList getCardsCastLastTurn() {
return lastTurnCast;
}
} }

View File

@@ -457,6 +457,7 @@ public class Phase extends MyObservable implements java.io.Serializable {
private Player handleNextTurn() { private Player handleNextTurn() {
Player nextTurn = extraTurns.isEmpty() ? getPlayerTurn().getOpponent() : extraTurns.pop(); Player nextTurn = extraTurns.isEmpty() ? getPlayerTurn().getOpponent() : extraTurns.pop();
AllZone.getStack().setCardsCastLastTurn();
AllZone.getStack().clearCardsCastThisTurn(); AllZone.getStack().clearCardsCastThisTurn();
AllZone.resetZoneMoveTracking(); AllZone.resetZoneMoveTracking();
AllZone.getComputerPlayer().resetProwl(); AllZone.getComputerPlayer().resetProwl();

View File

@@ -3211,14 +3211,23 @@ public class CardFactoryUtil {
} }
// Count$ThisTurnCast <Valid> // Count$ThisTurnCast <Valid>
if(sq[0].contains("ThisTurnCast")) { // Count$LastTurnCast <Valid>
if(sq[0].contains("ThisTurnCast") || sq[0].contains("LastTurnCast")) {
String[] workingCopy = l[0].split(" "); String[] workingCopy = l[0].split(" ");
String validFilter = workingCopy[1]; String validFilter = workingCopy[1];
CardList res = CardUtil.getThisTurnCast(validFilter, c); CardList res;
if(workingCopy[0].contains("This")) {
res = CardUtil.getThisTurnCast(validFilter, c);
}
else {
res = CardUtil.getLastTurnCast(validFilter, c);
}
int ret = doXMath(res.size(), m, c); int ret = doXMath(res.size(), m, c);
System.out.println("Requesting ThisTurn Cast \"" + validFilter + "\", returning " + ret);
return ret; return ret;
} }