mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-20 12:48:00 +00:00
Card: add IsEquippedBy like isEnchantedBy from GameEntity
CardPredicates: use isEquippedBy and isEnchantedBy for Predicate<Card>
This commit is contained in:
@@ -2281,6 +2281,14 @@ public class Card extends GameEntity implements Comparable<Card> {
|
||||
public final boolean isEquippedBy(Card c) {
|
||||
return FCollection.hasElement(equippedBy, c);
|
||||
}
|
||||
public final boolean isEquippedBy(final String cardName) {
|
||||
for (final Card card : getEquippedBy(false)) {
|
||||
if (card.getName().equals(cardName)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public final CardCollectionView getFortifiedBy(boolean allowModify) {
|
||||
return CardCollection.getView(fortifiedBy, allowModify);
|
||||
@@ -3926,14 +3934,9 @@ public class Card extends GameEntity implements Comparable<Card> {
|
||||
}
|
||||
} else if (property.equals("NameNotEnchantingEnchantedPlayer")) {
|
||||
Player enchantedPlayer = source.getEnchantingPlayer();
|
||||
if (enchantedPlayer == null) {
|
||||
if (enchantedPlayer == null || enchantedPlayer.isEnchantedBy(getName())) {
|
||||
return false;
|
||||
}
|
||||
for (Card c : enchantedPlayer.getEnchantedBy(false)) {
|
||||
if (getName().equals(c.getName())) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
} else if (property.equals("NotAttachedTo")) {
|
||||
if (equipping == source || source.equals(enchanting) || fortifying == source) {
|
||||
return false;
|
||||
|
||||
@@ -171,6 +171,24 @@ public final class CardPredicates {
|
||||
};
|
||||
} // getColor()
|
||||
|
||||
public static final Predicate<Card> isEquippedBy(final String name) {
|
||||
return new Predicate<Card>() {
|
||||
@Override
|
||||
public boolean apply(final Card c) {
|
||||
return c.isEquippedBy(name);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
public static final Predicate<Card> isEnchantedBy(final String name) {
|
||||
return new Predicate<Card>() {
|
||||
@Override
|
||||
public boolean apply(final Card c) {
|
||||
return c.isEnchantedBy(name);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
public static final Predicate<Card> hasCMC(final int cmc) {
|
||||
return new Predicate<Card>() {
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user