*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

@@ -711,6 +711,23 @@ public final class CardUtil {
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.

View File

@@ -42,6 +42,7 @@ public class MagicStack extends MyObservable {
private int splitSecondOnStack = 0;
private CardList thisTurnCast = new CardList();
private CardList lastTurnCast = new CardList();
/**
* <p>isFrozen.</p>
@@ -1219,11 +1220,27 @@ public class MagicStack extends MyObservable {
public final CardList getCardsCastThisTurn() {
return thisTurnCast;
}
/**
* clearCardsCastThisTurn.
*/
public void clearCardsCastThisTurn() {
public final void clearCardsCastThisTurn() {
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() {
Player nextTurn = extraTurns.isEmpty() ? getPlayerTurn().getOpponent() : extraTurns.pop();
AllZone.getStack().setCardsCastLastTurn();
AllZone.getStack().clearCardsCastThisTurn();
AllZone.resetZoneMoveTracking();
AllZone.getComputerPlayer().resetProwl();

View File

@@ -3211,14 +3211,23 @@ public class CardFactoryUtil {
}
// 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 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);
System.out.println("Requesting ThisTurn Cast \"" + validFilter + "\", returning " + ret);
return ret;
}