mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-17 11:18:01 +00:00
*Added LastTurnCast in addition to ThisTurnCast.
This commit is contained in:
@@ -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.
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user