mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-17 19:28:01 +00:00
AbilityUtils: add that getDefinedCards works with extra values using CardLists.getValidCards for filtering
This commit is contained in:
@@ -64,8 +64,10 @@ public class AbilityUtils {
|
|||||||
// everywhere.
|
// everywhere.
|
||||||
// Probably will move to One function solution sometime in the future
|
// Probably will move to One function solution sometime in the future
|
||||||
public static CardCollection getDefinedCards(final Card hostCard, final String def, final SpellAbility sa) {
|
public static CardCollection getDefinedCards(final Card hostCard, final String def, final SpellAbility sa) {
|
||||||
final CardCollection cards = new CardCollection();
|
CardCollection cards = new CardCollection();
|
||||||
final String defined = (def == null) ? "Self" : applyAbilityTextChangeEffects(def, sa); // default to Self
|
String defined = (def == null) ? "Self" : applyAbilityTextChangeEffects(def, sa); // default to Self
|
||||||
|
final String[] incR = defined.split("\\.", 2);
|
||||||
|
defined = incR[0];
|
||||||
final Game game = hostCard.getGame();
|
final Game game = hostCard.getGame();
|
||||||
|
|
||||||
Card c = null;
|
Card c = null;
|
||||||
@@ -282,6 +284,12 @@ public class AbilityUtils {
|
|||||||
if (c != null) {
|
if (c != null) {
|
||||||
cards.add(c);
|
cards.add(c);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (incR.length > 1 && !cards.isEmpty()) {
|
||||||
|
final String excR = "Card." + incR[1];
|
||||||
|
cards = CardLists.getValidCards(cards, excR.split(","), hostCard.getController(), hostCard, sa);
|
||||||
|
}
|
||||||
|
|
||||||
return cards;
|
return cards;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -766,6 +774,9 @@ public class AbilityUtils {
|
|||||||
return new CardCollection();
|
return new CardCollection();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else if (type.startsWith("Imprinted")) {
|
||||||
|
type = type.replace("Imprinted", "Card");
|
||||||
|
}
|
||||||
else if (type.equals("Card.AttachedBy")) {
|
else if (type.equals("Card.AttachedBy")) {
|
||||||
source = source.getEnchantingCard();
|
source = source.getEnchantingCard();
|
||||||
type = type.replace("Card.AttachedBy", "Card.Self");
|
type = type.replace("Card.AttachedBy", "Card.Self");
|
||||||
|
|||||||
Reference in New Issue
Block a user