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