- FRF: Added Soulflayer

This commit is contained in:
swordshine
2014-12-30 13:03:24 +00:00
parent 2cd0919d29
commit 32f52f6880
3 changed files with 22 additions and 2 deletions

View File

@@ -258,6 +258,7 @@ public class GameAction {
if (!c.isToken() && !toBattlefield) {
copied.getCurrentState().resetCardColor();
copied.clearDevoured();
copied.clearDelved();
}
if (fromBattlefield) {

View File

@@ -108,7 +108,7 @@ public class Card extends GameEntity implements Comparable<Card> {
private final CopyOnWriteArrayList<String> hiddenExtrinsicKeyword = new CopyOnWriteArrayList<String>();
// cards attached or otherwise linked to this card
private CardCollection equippedBy, fortifiedBy, hauntedBy, devouredCards, imprintedCards, encodedCards;
private CardCollection equippedBy, fortifiedBy, hauntedBy, devouredCards, delvedCards, imprintedCards, encodedCards;
private CardCollection mustBlockCards, clones, gainControlTargets, chosenCards, blockedThisTurn, blockedByThisTurn;
// if this card is attached or linked to something, what card is it currently attached to
@@ -491,10 +491,25 @@ public class Card extends GameEntity implements Comparable<Card> {
}
devouredCards.add(c);
}
public final void clearDevoured() {
devouredCards = null;
}
public final CardCollectionView getDelved() {
return CardCollection.getView(delvedCards);
}
public final void addDelved(final Card c) {
if (delvedCards == null) {
delvedCards = new CardCollection();
}
delvedCards.add(c);
}
public final void clearDelved() {
delvedCards = null;
}
public MapOfLists<GameEntity, Object> getRememberMap() {
return rememberMap;
}
@@ -4644,7 +4659,10 @@ public class Card extends GameEntity implements Comparable<Card> {
|| !(getCounters(CounterType.getType("TIME")) >= 1)) {
return false;
}
} else if (property.startsWith("delved")) {
if (!source.getDelved().contains(this)) {
return false;
}
} else if (property.startsWith("power") || property.startsWith("toughness")
|| property.startsWith("cmc") || property.startsWith("totalPT")) {
int x = 0;

View File

@@ -94,6 +94,7 @@ public class ManaCostAdjustment {
for (final Card c : toExile) {
cost.decreaseColorlessMana(1);
if (!test) {
sa.getHostCard().addDelved(c);
pc.getGame().getAction().exile(c);
}
}