mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-18 11:48:02 +00:00
*Added a ThisTurnEntered equivalent for DefinedCards.
*Added Second Sunrise.
This commit is contained in:
@@ -636,4 +636,32 @@ public final class CardUtil {
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
public static CardList getThisTurnEntered(final String to, final String from, final String valid,final Card src)
|
||||
{
|
||||
CardList res = new CardList();
|
||||
if(to != Constant.Zone.Stack)
|
||||
{
|
||||
res.addAll(((DefaultPlayerZone)AllZone.getZone(to, AllZone.getComputerPlayer())).getCardsAddedThisTurn(from));
|
||||
res.addAll(((DefaultPlayerZone)AllZone.getZone(to, AllZone.getHumanPlayer())).getCardsAddedThisTurn(from));
|
||||
}
|
||||
else
|
||||
{
|
||||
res.addAll(((DefaultPlayerZone)AllZone.getZone(to,null)).getCardsAddedThisTurn(from));
|
||||
}
|
||||
|
||||
res = res.filter(new CardListFilter() {
|
||||
public boolean addCard(Card c)
|
||||
{
|
||||
if(c.isValidCard(valid.split(","), src.getController(), src))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
});
|
||||
|
||||
return res;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1200,7 +1200,24 @@ public class AbilityFactory {
|
||||
for (Card imprint : hostCard.getImprinted()) {
|
||||
cards.add(AllZoneUtil.getCardState(imprint));
|
||||
}
|
||||
} else {
|
||||
} else if(defined.startsWith("ThisTurnEntered")) {
|
||||
String[] workingCopy = defined.split(" ");
|
||||
String destination, origin, validFilter;
|
||||
|
||||
destination = workingCopy[1];
|
||||
if (workingCopy[2].equals("from")) {
|
||||
origin = workingCopy[3];
|
||||
validFilter = workingCopy[4];
|
||||
} else {
|
||||
origin = "Any";
|
||||
validFilter = workingCopy[2];
|
||||
}
|
||||
for(Card cl : CardUtil.getThisTurnEntered(destination, origin, validFilter, hostCard))
|
||||
{
|
||||
cards.add(cl);
|
||||
}
|
||||
}
|
||||
else {
|
||||
CardList list = null;
|
||||
if (defined.startsWith("Sacrificed"))
|
||||
list = findRootAbility(sa).getPaidList("Sacrificed");
|
||||
|
||||
@@ -2946,19 +2946,8 @@ public class CardFactoryUtil {
|
||||
origin = "Any";
|
||||
validFilter = workingCopy[2];
|
||||
}
|
||||
|
||||
final String[] valid = validFilter.split(",");
|
||||
final Card csource = c;
|
||||
CardList res = ((DefaultPlayerZone) AllZone.getZone(destination, AllZone.getHumanPlayer()))
|
||||
.getCardsAddedThisTurn(origin);
|
||||
res.addAll(((DefaultPlayerZone) AllZone.getZone(destination, AllZone.getComputerPlayer()))
|
||||
.getCardsAddedThisTurn(origin));
|
||||
|
||||
res = res.filter(new CardListFilter() {
|
||||
public boolean addCard(Card csubject) {
|
||||
return csubject.isValidCard(valid, csource.getController(), csource);
|
||||
}
|
||||
});
|
||||
|
||||
CardList res = CardUtil.getThisTurnEntered(destination, origin, validFilter, c);
|
||||
|
||||
return doXMath(res.size(), m, c);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user