mirror of
https://github.com/correl/mage.git
synced 2024-11-15 03:00:16 +00:00
Merge origin/master
This commit is contained in:
commit
79f5d7a358
1365 changed files with 2417 additions and 3383 deletions
|
@ -24,7 +24,6 @@ import mage.constants.Rarity;
|
||||||
import mage.filter.FilterCard;
|
import mage.filter.FilterCard;
|
||||||
import mage.filter.predicate.Predicate;
|
import mage.filter.predicate.Predicate;
|
||||||
import mage.filter.predicate.Predicates;
|
import mage.filter.predicate.Predicates;
|
||||||
import mage.filter.predicate.mageobject.CardTypePredicate;
|
|
||||||
import mage.filter.predicate.mageobject.ColorPredicate;
|
import mage.filter.predicate.mageobject.ColorPredicate;
|
||||||
import mage.filter.predicate.mageobject.ColorlessPredicate;
|
import mage.filter.predicate.mageobject.ColorlessPredicate;
|
||||||
import mage.filter.predicate.other.CardTextPredicate;
|
import mage.filter.predicate.other.CardTextPredicate;
|
||||||
|
@ -253,25 +252,25 @@ public class CardSelector extends javax.swing.JPanel implements ComponentListene
|
||||||
|
|
||||||
predicates.clear();
|
predicates.clear();
|
||||||
if (this.tbLand.isSelected()) {
|
if (this.tbLand.isSelected()) {
|
||||||
predicates.add(new CardTypePredicate(CardType.LAND));
|
predicates.add(CardType.LAND.getPredicate());
|
||||||
}
|
}
|
||||||
if (this.tbArifiacts.isSelected()) {
|
if (this.tbArifiacts.isSelected()) {
|
||||||
predicates.add(new CardTypePredicate(CardType.ARTIFACT));
|
predicates.add(CardType.ARTIFACT.getPredicate());
|
||||||
}
|
}
|
||||||
if (this.tbCreatures.isSelected()) {
|
if (this.tbCreatures.isSelected()) {
|
||||||
predicates.add(new CardTypePredicate(CardType.CREATURE));
|
predicates.add(CardType.CREATURE.getPredicate());
|
||||||
}
|
}
|
||||||
if (this.tbEnchantments.isSelected()) {
|
if (this.tbEnchantments.isSelected()) {
|
||||||
predicates.add(new CardTypePredicate(CardType.ENCHANTMENT));
|
predicates.add(CardType.ENCHANTMENT.getPredicate());
|
||||||
}
|
}
|
||||||
if (this.tbInstants.isSelected()) {
|
if (this.tbInstants.isSelected()) {
|
||||||
predicates.add(new CardTypePredicate(CardType.INSTANT));
|
predicates.add(CardType.INSTANT.getPredicate());
|
||||||
}
|
}
|
||||||
if (this.tbSorceries.isSelected()) {
|
if (this.tbSorceries.isSelected()) {
|
||||||
predicates.add(new CardTypePredicate(CardType.SORCERY));
|
predicates.add(CardType.SORCERY.getPredicate());
|
||||||
}
|
}
|
||||||
if (this.tbPlaneswalkers.isSelected()) {
|
if (this.tbPlaneswalkers.isSelected()) {
|
||||||
predicates.add(new CardTypePredicate(CardType.PLANESWALKER));
|
predicates.add(CardType.PLANESWALKER.getPredicate());
|
||||||
}
|
}
|
||||||
filter.add(Predicates.or(predicates));
|
filter.add(Predicates.or(predicates));
|
||||||
|
|
||||||
|
|
|
@ -13,7 +13,6 @@ import mage.constants.*;
|
||||||
import mage.filter.FilterCard;
|
import mage.filter.FilterCard;
|
||||||
import mage.filter.predicate.Predicates;
|
import mage.filter.predicate.Predicates;
|
||||||
import mage.filter.predicate.mageobject.AbilityPredicate;
|
import mage.filter.predicate.mageobject.AbilityPredicate;
|
||||||
import mage.filter.predicate.mageobject.CardTypePredicate;
|
|
||||||
import mage.game.Game;
|
import mage.game.Game;
|
||||||
import mage.game.events.GameEvent;
|
import mage.game.events.GameEvent;
|
||||||
import mage.game.events.ZoneChangeEvent;
|
import mage.game.events.ZoneChangeEvent;
|
||||||
|
@ -31,7 +30,7 @@ public final class AbandonedSarcophagus extends CardImpl {
|
||||||
|
|
||||||
// You may cast nonland cards with cycling from your graveyard.
|
// You may cast nonland cards with cycling from your graveyard.
|
||||||
FilterCard filter = new FilterCard("nonland cards with cycling");
|
FilterCard filter = new FilterCard("nonland cards with cycling");
|
||||||
filter.add(Predicates.not(new CardTypePredicate(CardType.LAND)));
|
filter.add(Predicates.not(CardType.LAND.getPredicate()));
|
||||||
filter.add(new AbilityPredicate(CyclingAbility.class));
|
filter.add(new AbilityPredicate(CyclingAbility.class));
|
||||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD,
|
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD,
|
||||||
new PlayFromNotOwnHandZoneAllEffect(filter,
|
new PlayFromNotOwnHandZoneAllEffect(filter,
|
||||||
|
|
|
@ -14,7 +14,6 @@ import mage.constants.Duration;
|
||||||
import mage.constants.SubType;
|
import mage.constants.SubType;
|
||||||
import mage.constants.Zone;
|
import mage.constants.Zone;
|
||||||
import mage.filter.common.FilterCreaturePermanent;
|
import mage.filter.common.FilterCreaturePermanent;
|
||||||
import mage.filter.predicate.mageobject.CardTypePredicate;
|
|
||||||
import mage.target.common.TargetAnyTarget;
|
import mage.target.common.TargetAnyTarget;
|
||||||
import mage.target.common.TargetCreaturePermanent;
|
import mage.target.common.TargetCreaturePermanent;
|
||||||
|
|
||||||
|
@ -27,7 +26,7 @@ public final class AbunaAcolyte extends CardImpl {
|
||||||
private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("artifact creature");
|
private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("artifact creature");
|
||||||
|
|
||||||
static {
|
static {
|
||||||
filter.add(new CardTypePredicate(CardType.ARTIFACT));
|
filter.add(CardType.ARTIFACT.getPredicate());
|
||||||
}
|
}
|
||||||
|
|
||||||
public AbunaAcolyte(UUID ownerId, CardSetInfo setInfo) {
|
public AbunaAcolyte(UUID ownerId, CardSetInfo setInfo) {
|
||||||
|
|
|
@ -13,7 +13,6 @@ import mage.constants.Outcome;
|
||||||
import mage.constants.Zone;
|
import mage.constants.Zone;
|
||||||
import mage.filter.FilterCard;
|
import mage.filter.FilterCard;
|
||||||
import mage.filter.predicate.Predicates;
|
import mage.filter.predicate.Predicates;
|
||||||
import mage.filter.predicate.mageobject.CardTypePredicate;
|
|
||||||
import mage.game.Game;
|
import mage.game.Game;
|
||||||
import mage.game.events.GameEvent;
|
import mage.game.events.GameEvent;
|
||||||
import mage.players.Player;
|
import mage.players.Player;
|
||||||
|
@ -71,10 +70,10 @@ class AbundanceReplacementEffect extends ReplacementEffectImpl {
|
||||||
if (controller.chooseUse(Outcome.Detriment, "Choose card type:",
|
if (controller.chooseUse(Outcome.Detriment, "Choose card type:",
|
||||||
source.getSourceObject(game).getLogName(), "land", "nonland", source, game)) {
|
source.getSourceObject(game).getLogName(), "land", "nonland", source, game)) {
|
||||||
game.informPlayers(controller.getLogName() + "chooses land.");
|
game.informPlayers(controller.getLogName() + "chooses land.");
|
||||||
filter.add(new CardTypePredicate(CardType.LAND));
|
filter.add(CardType.LAND.getPredicate());
|
||||||
} else {
|
} else {
|
||||||
game.informPlayers(controller.getLogName() + "chooses nonland.");
|
game.informPlayers(controller.getLogName() + "chooses nonland.");
|
||||||
filter.add(Predicates.not(new CardTypePredicate(CardType.LAND)));
|
filter.add(Predicates.not(CardType.LAND.getPredicate()));
|
||||||
}
|
}
|
||||||
Cards toReveal = new CardsImpl();
|
Cards toReveal = new CardsImpl();
|
||||||
Card selectedCard = null;
|
Card selectedCard = null;
|
||||||
|
|
|
@ -12,7 +12,6 @@ import mage.cards.CardSetInfo;
|
||||||
import mage.constants.*;
|
import mage.constants.*;
|
||||||
import mage.counters.CounterType;
|
import mage.counters.CounterType;
|
||||||
import mage.filter.FilterPermanent;
|
import mage.filter.FilterPermanent;
|
||||||
import mage.filter.predicate.mageobject.CardTypePredicate;
|
|
||||||
import mage.filter.predicate.permanent.ControllerPredicate;
|
import mage.filter.predicate.permanent.ControllerPredicate;
|
||||||
import mage.filter.predicate.permanent.CounterPredicate;
|
import mage.filter.predicate.permanent.CounterPredicate;
|
||||||
|
|
||||||
|
@ -26,7 +25,7 @@ public final class AbzanBattlePriest extends CardImpl {
|
||||||
private static final FilterPermanent filter = new FilterPermanent();
|
private static final FilterPermanent filter = new FilterPermanent();
|
||||||
|
|
||||||
static {
|
static {
|
||||||
filter.add(new CardTypePredicate(CardType.CREATURE));
|
filter.add(CardType.CREATURE.getPredicate());
|
||||||
filter.add(new ControllerPredicate(TargetController.YOU));
|
filter.add(new ControllerPredicate(TargetController.YOU));
|
||||||
filter.add(new CounterPredicate(CounterType.P1P1));
|
filter.add(new CounterPredicate(CounterType.P1P1));
|
||||||
}
|
}
|
||||||
|
|
|
@ -13,7 +13,6 @@ import mage.cards.CardSetInfo;
|
||||||
import mage.constants.*;
|
import mage.constants.*;
|
||||||
import mage.counters.CounterType;
|
import mage.counters.CounterType;
|
||||||
import mage.filter.FilterPermanent;
|
import mage.filter.FilterPermanent;
|
||||||
import mage.filter.predicate.mageobject.CardTypePredicate;
|
|
||||||
import mage.filter.predicate.permanent.ControllerPredicate;
|
import mage.filter.predicate.permanent.ControllerPredicate;
|
||||||
import mage.filter.predicate.permanent.CounterPredicate;
|
import mage.filter.predicate.permanent.CounterPredicate;
|
||||||
|
|
||||||
|
@ -25,7 +24,7 @@ public final class AbzanFalconer extends CardImpl {
|
||||||
|
|
||||||
private static final FilterPermanent filter = new FilterPermanent();
|
private static final FilterPermanent filter = new FilterPermanent();
|
||||||
static {
|
static {
|
||||||
filter.add(new CardTypePredicate(CardType.CREATURE));
|
filter.add(CardType.CREATURE.getPredicate());
|
||||||
filter.add(new ControllerPredicate(TargetController.YOU));
|
filter.add(new ControllerPredicate(TargetController.YOU));
|
||||||
filter.add(new CounterPredicate(CounterType.P1P1));
|
filter.add(new CounterPredicate(CounterType.P1P1));
|
||||||
}
|
}
|
||||||
|
|
|
@ -17,7 +17,6 @@ import mage.filter.FilterCard;
|
||||||
import mage.filter.FilterPermanent;
|
import mage.filter.FilterPermanent;
|
||||||
import mage.filter.common.FilterControlledPermanent;
|
import mage.filter.common.FilterControlledPermanent;
|
||||||
import mage.filter.predicate.Predicates;
|
import mage.filter.predicate.Predicates;
|
||||||
import mage.filter.predicate.mageobject.CardTypePredicate;
|
|
||||||
import mage.filter.predicate.mageobject.SubtypePredicate;
|
import mage.filter.predicate.mageobject.SubtypePredicate;
|
||||||
import mage.filter.predicate.mageobject.SupertypePredicate;
|
import mage.filter.predicate.mageobject.SupertypePredicate;
|
||||||
import mage.filter.predicate.permanent.AnotherPredicate;
|
import mage.filter.predicate.permanent.AnotherPredicate;
|
||||||
|
@ -41,7 +40,7 @@ public final class AcclaimedContender extends CardImpl {
|
||||||
new SubtypePredicate(SubType.EQUIPMENT),
|
new SubtypePredicate(SubType.EQUIPMENT),
|
||||||
Predicates.and(
|
Predicates.and(
|
||||||
new SupertypePredicate(SuperType.LEGENDARY),
|
new SupertypePredicate(SuperType.LEGENDARY),
|
||||||
new CardTypePredicate(CardType.ARTIFACT)
|
CardType.ARTIFACT.getPredicate()
|
||||||
)
|
)
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
@ -59,7 +58,7 @@ public final class AcclaimedContender extends CardImpl {
|
||||||
// When Acclaimed Contender enters the battlefield, if you control another Knight, look at the top five cards of your library. You may reveal a Knight, Aura, Equipment, or legendary artifact card from among them and put it into your hand. Put the rest on the bottom of your library in a random order.
|
// When Acclaimed Contender enters the battlefield, if you control another Knight, look at the top five cards of your library. You may reveal a Knight, Aura, Equipment, or legendary artifact card from among them and put it into your hand. Put the rest on the bottom of your library in a random order.
|
||||||
this.addAbility(new ConditionalInterveningIfTriggeredAbility(
|
this.addAbility(new ConditionalInterveningIfTriggeredAbility(
|
||||||
new EntersBattlefieldTriggeredAbility(new LookLibraryAndPickControllerEffect(
|
new EntersBattlefieldTriggeredAbility(new LookLibraryAndPickControllerEffect(
|
||||||
new StaticValue(5), false, new StaticValue(1), filter2, Zone.LIBRARY, false,
|
StaticValue.get(5), false, StaticValue.get(1), filter2, Zone.LIBRARY, false,
|
||||||
true, false, Zone.HAND, true, false, false
|
true, false, Zone.HAND, true, false, false
|
||||||
).setBackInRandomOrder(true)), condition, "When {this} enters the battlefield, " +
|
).setBackInRandomOrder(true)), condition, "When {this} enters the battlefield, " +
|
||||||
"if you control another Knight, look at the top five cards of your library. " +
|
"if you control another Knight, look at the top five cards of your library. " +
|
||||||
|
|
|
@ -14,7 +14,6 @@ import mage.constants.CardType;
|
||||||
import mage.constants.SubType;
|
import mage.constants.SubType;
|
||||||
import mage.filter.FilterPermanent;
|
import mage.filter.FilterPermanent;
|
||||||
import mage.filter.predicate.Predicates;
|
import mage.filter.predicate.Predicates;
|
||||||
import mage.filter.predicate.mageobject.CardTypePredicate;
|
|
||||||
import mage.target.Target;
|
import mage.target.Target;
|
||||||
import mage.target.TargetPermanent;
|
import mage.target.TargetPermanent;
|
||||||
|
|
||||||
|
@ -28,9 +27,9 @@ public final class AcidicSlime extends CardImpl {
|
||||||
|
|
||||||
static {
|
static {
|
||||||
filter.add(Predicates.or(
|
filter.add(Predicates.or(
|
||||||
new CardTypePredicate(CardType.ARTIFACT),
|
CardType.ARTIFACT.getPredicate(),
|
||||||
new CardTypePredicate(CardType.ENCHANTMENT),
|
CardType.ENCHANTMENT.getPredicate(),
|
||||||
new CardTypePredicate(CardType.LAND)));
|
CardType.LAND.getPredicate()));
|
||||||
}
|
}
|
||||||
|
|
||||||
public AcidicSlime(UUID ownerId, CardSetInfo setInfo) {
|
public AcidicSlime(UUID ownerId, CardSetInfo setInfo) {
|
||||||
|
|
|
@ -10,7 +10,6 @@ import mage.constants.CardType;
|
||||||
import mage.constants.Outcome;
|
import mage.constants.Outcome;
|
||||||
import mage.constants.Zone;
|
import mage.constants.Zone;
|
||||||
import mage.filter.FilterCard;
|
import mage.filter.FilterCard;
|
||||||
import mage.filter.predicate.mageobject.CardTypePredicate;
|
|
||||||
import mage.game.Game;
|
import mage.game.Game;
|
||||||
import mage.players.Player;
|
import mage.players.Player;
|
||||||
import mage.target.common.TargetCardInLibrary;
|
import mage.target.common.TargetCardInLibrary;
|
||||||
|
@ -45,7 +44,7 @@ class AcquireEffect extends OneShotEffect {
|
||||||
private static final FilterCard filter = new FilterCard("an artifact card");
|
private static final FilterCard filter = new FilterCard("an artifact card");
|
||||||
|
|
||||||
static {
|
static {
|
||||||
filter.add(new CardTypePredicate(CardType.ARTIFACT));
|
filter.add(CardType.ARTIFACT.getPredicate());
|
||||||
}
|
}
|
||||||
|
|
||||||
public AcquireEffect() {
|
public AcquireEffect() {
|
||||||
|
|
|
@ -17,7 +17,6 @@ import mage.constants.SubType;
|
||||||
import mage.constants.Zone;
|
import mage.constants.Zone;
|
||||||
import mage.filter.FilterPermanent;
|
import mage.filter.FilterPermanent;
|
||||||
import mage.filter.predicate.Predicates;
|
import mage.filter.predicate.Predicates;
|
||||||
import mage.filter.predicate.mageobject.CardTypePredicate;
|
|
||||||
import mage.filter.predicate.permanent.AnotherPredicate;
|
import mage.filter.predicate.permanent.AnotherPredicate;
|
||||||
import mage.target.TargetPermanent;
|
import mage.target.TargetPermanent;
|
||||||
|
|
||||||
|
@ -31,7 +30,7 @@ public final class AdmonitionAngel extends CardImpl {
|
||||||
|
|
||||||
static {
|
static {
|
||||||
filter.add(AnotherPredicate.instance);
|
filter.add(AnotherPredicate.instance);
|
||||||
filter.add(Predicates.not(new CardTypePredicate(CardType.LAND)));
|
filter.add(Predicates.not(CardType.LAND.getPredicate()));
|
||||||
}
|
}
|
||||||
|
|
||||||
public AdmonitionAngel(UUID ownerId, CardSetInfo setInfo) {
|
public AdmonitionAngel(UUID ownerId, CardSetInfo setInfo) {
|
||||||
|
|
|
@ -9,7 +9,6 @@ import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.filter.FilterCard;
|
import mage.filter.FilterCard;
|
||||||
import mage.filter.predicate.Predicates;
|
import mage.filter.predicate.Predicates;
|
||||||
import mage.filter.predicate.mageobject.CardTypePredicate;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -20,14 +19,14 @@ public final class AdventurousImpulse extends CardImpl {
|
||||||
private static final FilterCard filter = new FilterCard("a creature or land card");
|
private static final FilterCard filter = new FilterCard("a creature or land card");
|
||||||
|
|
||||||
static {
|
static {
|
||||||
filter.add(Predicates.or(new CardTypePredicate(CardType.CREATURE), new CardTypePredicate(CardType.LAND)));
|
filter.add(Predicates.or(CardType.CREATURE.getPredicate(), CardType.LAND.getPredicate()));
|
||||||
}
|
}
|
||||||
|
|
||||||
public AdventurousImpulse(UUID ownerId, CardSetInfo setInfo) {
|
public AdventurousImpulse(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{G}");
|
super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{G}");
|
||||||
|
|
||||||
//Look at the top three cards of your library. You may reveal a creature or land card from among them and put it into your hand. Put the rest on the bottom of your library in any order.
|
//Look at the top three cards of your library. You may reveal a creature or land card from among them and put it into your hand. Put the rest on the bottom of your library in any order.
|
||||||
this.getSpellAbility().addEffect(new LookLibraryAndPickControllerEffect(new StaticValue(3), false, new StaticValue(1), filter, false));
|
this.getSpellAbility().addEffect(new LookLibraryAndPickControllerEffect(StaticValue.get(3), false, StaticValue.get(1), filter, false));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -16,7 +16,6 @@ import mage.cards.CardSetInfo;
|
||||||
import mage.constants.*;
|
import mage.constants.*;
|
||||||
import mage.filter.FilterPermanent;
|
import mage.filter.FilterPermanent;
|
||||||
import mage.filter.predicate.Predicates;
|
import mage.filter.predicate.Predicates;
|
||||||
import mage.filter.predicate.mageobject.CardTypePredicate;
|
|
||||||
import mage.filter.predicate.mageobject.SubtypePredicate;
|
import mage.filter.predicate.mageobject.SubtypePredicate;
|
||||||
import mage.target.TargetPermanent;
|
import mage.target.TargetPermanent;
|
||||||
|
|
||||||
|
@ -29,7 +28,7 @@ public final class AerialModification extends CardImpl {
|
||||||
private static final FilterPermanent filter = new FilterPermanent("creature or vehicle");
|
private static final FilterPermanent filter = new FilterPermanent("creature or vehicle");
|
||||||
|
|
||||||
static {
|
static {
|
||||||
filter.add(Predicates.or(new CardTypePredicate(CardType.CREATURE),
|
filter.add(Predicates.or(CardType.CREATURE.getPredicate(),
|
||||||
new SubtypePredicate(SubType.VEHICLE)));
|
new SubtypePredicate(SubType.VEHICLE)));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -16,7 +16,6 @@ import mage.cards.CardSetInfo;
|
||||||
import mage.constants.*;
|
import mage.constants.*;
|
||||||
import mage.filter.FilterPermanent;
|
import mage.filter.FilterPermanent;
|
||||||
import mage.filter.predicate.Predicates;
|
import mage.filter.predicate.Predicates;
|
||||||
import mage.filter.predicate.mageobject.CardTypePredicate;
|
|
||||||
import mage.filter.predicate.mageobject.SubtypePredicate;
|
import mage.filter.predicate.mageobject.SubtypePredicate;
|
||||||
import mage.target.TargetPermanent;
|
import mage.target.TargetPermanent;
|
||||||
|
|
||||||
|
@ -29,7 +28,7 @@ public final class AetherMeltdown extends CardImpl {
|
||||||
private static final FilterPermanent filter = new FilterPermanent("creature or vehicle");
|
private static final FilterPermanent filter = new FilterPermanent("creature or vehicle");
|
||||||
|
|
||||||
static {
|
static {
|
||||||
filter.add(Predicates.or(new CardTypePredicate(CardType.CREATURE), new SubtypePredicate(SubType.VEHICLE)));
|
filter.add(Predicates.or(CardType.CREATURE.getPredicate(), new SubtypePredicate(SubType.VEHICLE)));
|
||||||
}
|
}
|
||||||
|
|
||||||
public AetherMeltdown(UUID ownerId, CardSetInfo setInfo) {
|
public AetherMeltdown(UUID ownerId, CardSetInfo setInfo) {
|
||||||
|
|
|
@ -14,7 +14,6 @@ import mage.constants.CardType;
|
||||||
import mage.constants.Duration;
|
import mage.constants.Duration;
|
||||||
import mage.constants.TargetController;
|
import mage.constants.TargetController;
|
||||||
import mage.filter.common.FilterControlledCreaturePermanent;
|
import mage.filter.common.FilterControlledCreaturePermanent;
|
||||||
import mage.filter.predicate.mageobject.CardTypePredicate;
|
|
||||||
import mage.target.common.TargetControlledCreaturePermanent;
|
import mage.target.common.TargetControlledCreaturePermanent;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -27,7 +26,7 @@ public final class AethershieldArtificer extends CardImpl {
|
||||||
= new FilterControlledCreaturePermanent("artifact creature you control");
|
= new FilterControlledCreaturePermanent("artifact creature you control");
|
||||||
|
|
||||||
static {
|
static {
|
||||||
filter.add(new CardTypePredicate(CardType.ARTIFACT));
|
filter.add(CardType.ARTIFACT.getPredicate());
|
||||||
}
|
}
|
||||||
|
|
||||||
public AethershieldArtificer(UUID ownerId, CardSetInfo setInfo) {
|
public AethershieldArtificer(UUID ownerId, CardSetInfo setInfo) {
|
||||||
|
|
|
@ -9,7 +9,6 @@ import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.filter.FilterPermanent;
|
import mage.filter.FilterPermanent;
|
||||||
import mage.filter.predicate.Predicates;
|
import mage.filter.predicate.Predicates;
|
||||||
import mage.filter.predicate.mageobject.CardTypePredicate;
|
|
||||||
import mage.target.TargetPermanent;
|
import mage.target.TargetPermanent;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -22,9 +21,9 @@ public final class Aftershock extends CardImpl {
|
||||||
|
|
||||||
static {
|
static {
|
||||||
filter.add(Predicates.or(
|
filter.add(Predicates.or(
|
||||||
new CardTypePredicate(CardType.ARTIFACT),
|
CardType.ARTIFACT.getPredicate(),
|
||||||
new CardTypePredicate(CardType.CREATURE),
|
CardType.CREATURE.getPredicate(),
|
||||||
new CardTypePredicate(CardType.LAND)));
|
CardType.LAND.getPredicate()));
|
||||||
}
|
}
|
||||||
|
|
||||||
public Aftershock(UUID ownerId, CardSetInfo setInfo) {
|
public Aftershock(UUID ownerId, CardSetInfo setInfo) {
|
||||||
|
|
|
@ -14,7 +14,6 @@ import mage.constants.Outcome;
|
||||||
import mage.constants.SubType;
|
import mage.constants.SubType;
|
||||||
import mage.constants.Zone;
|
import mage.constants.Zone;
|
||||||
import mage.filter.FilterCard;
|
import mage.filter.FilterCard;
|
||||||
import mage.filter.predicate.mageobject.CardTypePredicate;
|
|
||||||
import mage.game.Game;
|
import mage.game.Game;
|
||||||
import mage.game.permanent.Permanent;
|
import mage.game.permanent.Permanent;
|
||||||
import mage.players.Player;
|
import mage.players.Player;
|
||||||
|
@ -78,7 +77,7 @@ class AgadeemOccultistEffect extends OneShotEffect {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
FilterCard filter = new FilterCard("creature card in an opponent's graveyard");
|
FilterCard filter = new FilterCard("creature card in an opponent's graveyard");
|
||||||
filter.add(new CardTypePredicate(CardType.CREATURE));
|
filter.add(CardType.CREATURE.getPredicate());
|
||||||
TargetCardInOpponentsGraveyard target = new TargetCardInOpponentsGraveyard(1, 1, filter);
|
TargetCardInOpponentsGraveyard target = new TargetCardInOpponentsGraveyard(1, 1, filter);
|
||||||
|
|
||||||
if (controller != null) {
|
if (controller != null) {
|
||||||
|
|
|
@ -13,7 +13,6 @@ import mage.cards.CardSetInfo;
|
||||||
import mage.constants.*;
|
import mage.constants.*;
|
||||||
import mage.counters.CounterType;
|
import mage.counters.CounterType;
|
||||||
import mage.filter.FilterPermanent;
|
import mage.filter.FilterPermanent;
|
||||||
import mage.filter.predicate.mageobject.CardTypePredicate;
|
|
||||||
import mage.filter.predicate.permanent.ControllerPredicate;
|
import mage.filter.predicate.permanent.ControllerPredicate;
|
||||||
import mage.filter.predicate.permanent.CounterPredicate;
|
import mage.filter.predicate.permanent.CounterPredicate;
|
||||||
|
|
||||||
|
@ -26,7 +25,7 @@ public final class AinokBondKin extends CardImpl {
|
||||||
private static final FilterPermanent filter = new FilterPermanent();
|
private static final FilterPermanent filter = new FilterPermanent();
|
||||||
|
|
||||||
static {
|
static {
|
||||||
filter.add(new CardTypePredicate(CardType.CREATURE));
|
filter.add(CardType.CREATURE.getPredicate());
|
||||||
filter.add(new ControllerPredicate(TargetController.YOU));
|
filter.add(new ControllerPredicate(TargetController.YOU));
|
||||||
filter.add(new CounterPredicate(CounterType.P1P1));
|
filter.add(new CounterPredicate(CounterType.P1P1));
|
||||||
}
|
}
|
||||||
|
|
|
@ -19,7 +19,6 @@ import mage.counters.CounterType;
|
||||||
import mage.filter.FilterCard;
|
import mage.filter.FilterCard;
|
||||||
import mage.filter.common.FilterCreaturePermanent;
|
import mage.filter.common.FilterCreaturePermanent;
|
||||||
import mage.filter.predicate.Predicates;
|
import mage.filter.predicate.Predicates;
|
||||||
import mage.filter.predicate.mageobject.CardTypePredicate;
|
|
||||||
import mage.filter.predicate.mageobject.SubtypePredicate;
|
import mage.filter.predicate.mageobject.SubtypePredicate;
|
||||||
import mage.filter.predicate.permanent.ControllerPredicate;
|
import mage.filter.predicate.permanent.ControllerPredicate;
|
||||||
import mage.target.common.TargetCreaturePermanentAmount;
|
import mage.target.common.TargetCreaturePermanentAmount;
|
||||||
|
@ -37,8 +36,8 @@ public final class AjaniMentorOfHeroes extends CardImpl {
|
||||||
filter.add(new ControllerPredicate(TargetController.YOU));
|
filter.add(new ControllerPredicate(TargetController.YOU));
|
||||||
filterCard.add(Predicates.or(
|
filterCard.add(Predicates.or(
|
||||||
new SubtypePredicate(SubType.AURA),
|
new SubtypePredicate(SubType.AURA),
|
||||||
new CardTypePredicate(CardType.CREATURE),
|
CardType.CREATURE.getPredicate(),
|
||||||
new CardTypePredicate(CardType.PLANESWALKER)));
|
CardType.PLANESWALKER.getPredicate()));
|
||||||
}
|
}
|
||||||
|
|
||||||
public AjaniMentorOfHeroes(UUID ownerId, CardSetInfo setInfo) {
|
public AjaniMentorOfHeroes(UUID ownerId, CardSetInfo setInfo) {
|
||||||
|
|
|
@ -16,7 +16,6 @@ import mage.constants.*;
|
||||||
import mage.filter.FilterPermanent;
|
import mage.filter.FilterPermanent;
|
||||||
import mage.filter.StaticFilters;
|
import mage.filter.StaticFilters;
|
||||||
import mage.filter.predicate.Predicates;
|
import mage.filter.predicate.Predicates;
|
||||||
import mage.filter.predicate.mageobject.CardTypePredicate;
|
|
||||||
import mage.filter.predicate.permanent.ControllerPredicate;
|
import mage.filter.predicate.permanent.ControllerPredicate;
|
||||||
import mage.game.Game;
|
import mage.game.Game;
|
||||||
import mage.game.permanent.token.AjanisPridemateToken;
|
import mage.game.permanent.token.AjanisPridemateToken;
|
||||||
|
@ -91,8 +90,8 @@ class AjaniStrengthOfThePrideEffect extends OneShotEffect {
|
||||||
static {
|
static {
|
||||||
filter.add(new ControllerPredicate(TargetController.OPPONENT));
|
filter.add(new ControllerPredicate(TargetController.OPPONENT));
|
||||||
filter.add(Predicates.or(
|
filter.add(Predicates.or(
|
||||||
new CardTypePredicate(CardType.ARTIFACT),
|
CardType.ARTIFACT.getPredicate(),
|
||||||
new CardTypePredicate(CardType.CREATURE)
|
CardType.CREATURE.getPredicate()
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -19,7 +19,6 @@ import mage.filter.common.FilterControlledCreaturePermanent;
|
||||||
import mage.filter.common.FilterPermanentCard;
|
import mage.filter.common.FilterPermanentCard;
|
||||||
import mage.filter.common.FilterPlaneswalkerPermanent;
|
import mage.filter.common.FilterPlaneswalkerPermanent;
|
||||||
import mage.filter.predicate.Predicates;
|
import mage.filter.predicate.Predicates;
|
||||||
import mage.filter.predicate.mageobject.CardTypePredicate;
|
|
||||||
import mage.filter.predicate.permanent.AnotherPredicate;
|
import mage.filter.predicate.permanent.AnotherPredicate;
|
||||||
import mage.filter.predicate.permanent.ControllerPredicate;
|
import mage.filter.predicate.permanent.ControllerPredicate;
|
||||||
import mage.target.common.TargetCreaturePermanent;
|
import mage.target.common.TargetCreaturePermanent;
|
||||||
|
@ -33,7 +32,7 @@ public final class AjaniUnyielding extends CardImpl {
|
||||||
private static final FilterPlaneswalkerPermanent planeswalkerFilter = new FilterPlaneswalkerPermanent("other planeswalker you control");
|
private static final FilterPlaneswalkerPermanent planeswalkerFilter = new FilterPlaneswalkerPermanent("other planeswalker you control");
|
||||||
|
|
||||||
static {
|
static {
|
||||||
nonlandPermanentFilter.add(Predicates.not(new CardTypePredicate(CardType.LAND)));
|
nonlandPermanentFilter.add(Predicates.not(CardType.LAND.getPredicate()));
|
||||||
planeswalkerFilter.add(new ControllerPredicate(TargetController.YOU));
|
planeswalkerFilter.add(new ControllerPredicate(TargetController.YOU));
|
||||||
planeswalkerFilter.add(AnotherPredicate.instance);
|
planeswalkerFilter.add(AnotherPredicate.instance);
|
||||||
}
|
}
|
||||||
|
|
|
@ -15,7 +15,6 @@ import mage.constants.CardType;
|
||||||
import mage.constants.SubType;
|
import mage.constants.SubType;
|
||||||
import mage.constants.SuperType;
|
import mage.constants.SuperType;
|
||||||
import mage.filter.FilterPermanent;
|
import mage.filter.FilterPermanent;
|
||||||
import mage.filter.predicate.mageobject.CardTypePredicate;
|
|
||||||
import mage.target.TargetPermanent;
|
import mage.target.TargetPermanent;
|
||||||
import mage.target.TargetPlayer;
|
import mage.target.TargetPlayer;
|
||||||
import mage.target.common.TargetAnyTarget;
|
import mage.target.common.TargetAnyTarget;
|
||||||
|
@ -29,7 +28,7 @@ public final class AjaniVengeant extends CardImpl {
|
||||||
private static final FilterPermanent filter = new FilterPermanent("lands");
|
private static final FilterPermanent filter = new FilterPermanent("lands");
|
||||||
|
|
||||||
static {
|
static {
|
||||||
filter.add(new CardTypePredicate(CardType.LAND));
|
filter.add(CardType.LAND.getPredicate());
|
||||||
}
|
}
|
||||||
|
|
||||||
public AjaniVengeant(UUID ownerId, CardSetInfo setInfo) {
|
public AjaniVengeant(UUID ownerId, CardSetInfo setInfo) {
|
||||||
|
|
|
@ -15,7 +15,6 @@ import mage.constants.SubType;
|
||||||
import mage.constants.TargetController;
|
import mage.constants.TargetController;
|
||||||
import mage.counters.CounterType;
|
import mage.counters.CounterType;
|
||||||
import mage.filter.common.FilterControlledPermanent;
|
import mage.filter.common.FilterControlledPermanent;
|
||||||
import mage.filter.predicate.mageobject.CardTypePredicate;
|
|
||||||
import mage.filter.predicate.mageobject.SubtypePredicate;
|
import mage.filter.predicate.mageobject.SubtypePredicate;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -27,7 +26,7 @@ public final class AjanisComrade extends CardImpl {
|
||||||
private static final FilterControlledPermanent filter = new FilterControlledPermanent();
|
private static final FilterControlledPermanent filter = new FilterControlledPermanent();
|
||||||
|
|
||||||
static {
|
static {
|
||||||
filter.add(new CardTypePredicate(CardType.PLANESWALKER));
|
filter.add(CardType.PLANESWALKER.getPredicate());
|
||||||
filter.add(new SubtypePredicate(SubType.AJANI));
|
filter.add(new SubtypePredicate(SubType.AJANI));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -35,7 +35,7 @@ public final class AjanisInfluence extends CardImpl {
|
||||||
|
|
||||||
// Look at the top five cards of your library. You may reveal a white card form among them and put it into your hand. Put the rest on the bottom of your library in a random order.
|
// Look at the top five cards of your library. You may reveal a white card form among them and put it into your hand. Put the rest on the bottom of your library in a random order.
|
||||||
this.getSpellAbility().addEffect(new LookLibraryAndPickControllerEffect(
|
this.getSpellAbility().addEffect(new LookLibraryAndPickControllerEffect(
|
||||||
new StaticValue(5), false, new StaticValue(1), filter,
|
StaticValue.get(5), false, StaticValue.get(1), filter,
|
||||||
Zone.LIBRARY, false, true, false, Zone.HAND, true, false, false
|
Zone.LIBRARY, false, true, false, Zone.HAND, true, false, false
|
||||||
).setBackInRandomOrder(true).setText("Look at the top five cards of your library. "
|
).setBackInRandomOrder(true).setText("Look at the top five cards of your library. "
|
||||||
+ "You may reveal a white card from among them and put it into your hand. "
|
+ "You may reveal a white card from among them and put it into your hand. "
|
||||||
|
|
|
@ -15,7 +15,6 @@ import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.*;
|
import mage.constants.*;
|
||||||
import mage.filter.common.FilterControlledPermanent;
|
import mage.filter.common.FilterControlledPermanent;
|
||||||
import mage.filter.predicate.mageobject.CardTypePredicate;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -26,7 +25,7 @@ public final class AkiriLineSlinger extends CardImpl {
|
||||||
private static final FilterControlledPermanent filter = new FilterControlledPermanent("artifact you control");
|
private static final FilterControlledPermanent filter = new FilterControlledPermanent("artifact you control");
|
||||||
|
|
||||||
static {
|
static {
|
||||||
filter.add(new CardTypePredicate(CardType.ARTIFACT));
|
filter.add(CardType.ARTIFACT.getPredicate());
|
||||||
}
|
}
|
||||||
|
|
||||||
public AkiriLineSlinger(UUID ownerId, CardSetInfo setInfo) {
|
public AkiriLineSlinger(UUID ownerId, CardSetInfo setInfo) {
|
||||||
|
@ -46,7 +45,7 @@ public final class AkiriLineSlinger extends CardImpl {
|
||||||
this.addAbility(VigilanceAbility.getInstance());
|
this.addAbility(VigilanceAbility.getInstance());
|
||||||
|
|
||||||
// Akiri, Line-Slinger gets +1/+0 for each artifact you control.
|
// Akiri, Line-Slinger gets +1/+0 for each artifact you control.
|
||||||
Effect effect = new BoostSourceEffect(new PermanentsOnBattlefieldCount(filter), new StaticValue(0), Duration.WhileOnBattlefield);
|
Effect effect = new BoostSourceEffect(new PermanentsOnBattlefieldCount(filter), StaticValue.get(0), Duration.WhileOnBattlefield);
|
||||||
effect.setText("{this} gets +1/+0 for each artifact you control");
|
effect.setText("{this} gets +1/+0 for each artifact you control");
|
||||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, effect));
|
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, effect));
|
||||||
|
|
||||||
|
|
|
@ -39,7 +39,7 @@ public final class AkroanHoplite extends CardImpl {
|
||||||
this.toughness = new MageInt(2);
|
this.toughness = new MageInt(2);
|
||||||
|
|
||||||
// Whenever Akroan Hoplite attacks, it gets +X/+0 until end of turn, where X is the number of attacking creatures you control.
|
// Whenever Akroan Hoplite attacks, it gets +X/+0 until end of turn, where X is the number of attacking creatures you control.
|
||||||
this.addAbility(new AttacksTriggeredAbility(new BoostSourceEffect(new PermanentsOnBattlefieldCount(filter), new StaticValue(0), Duration.EndOfTurn, true), false));
|
this.addAbility(new AttacksTriggeredAbility(new BoostSourceEffect(new PermanentsOnBattlefieldCount(filter), StaticValue.get(0), Duration.EndOfTurn, true), false));
|
||||||
}
|
}
|
||||||
|
|
||||||
public AkroanHoplite(final AkroanHoplite card) {
|
public AkroanHoplite(final AkroanHoplite card) {
|
||||||
|
|
|
@ -10,7 +10,6 @@ import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.filter.FilterPermanent;
|
import mage.filter.FilterPermanent;
|
||||||
import mage.filter.predicate.Predicates;
|
import mage.filter.predicate.Predicates;
|
||||||
import mage.filter.predicate.mageobject.CardTypePredicate;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -22,9 +21,9 @@ public final class AkromasVengeance extends CardImpl {
|
||||||
|
|
||||||
static {
|
static {
|
||||||
filter.add(Predicates.or(
|
filter.add(Predicates.or(
|
||||||
new CardTypePredicate(CardType.ARTIFACT),
|
CardType.ARTIFACT.getPredicate(),
|
||||||
new CardTypePredicate(CardType.CREATURE),
|
CardType.CREATURE.getPredicate(),
|
||||||
new CardTypePredicate(CardType.ENCHANTMENT)));
|
CardType.ENCHANTMENT.getPredicate()));
|
||||||
}
|
}
|
||||||
|
|
||||||
public AkromasVengeance(UUID ownerId, CardSetInfo setInfo) {
|
public AkromasVengeance(UUID ownerId, CardSetInfo setInfo) {
|
||||||
|
|
|
@ -11,7 +11,6 @@ import mage.cards.CardSetInfo;
|
||||||
import mage.constants.*;
|
import mage.constants.*;
|
||||||
import mage.filter.common.FilterCreaturePermanent;
|
import mage.filter.common.FilterCreaturePermanent;
|
||||||
import mage.filter.predicate.Predicates;
|
import mage.filter.predicate.Predicates;
|
||||||
import mage.filter.predicate.mageobject.CardTypePredicate;
|
|
||||||
import mage.filter.predicate.mageobject.NamePredicate;
|
import mage.filter.predicate.mageobject.NamePredicate;
|
||||||
import mage.filter.predicate.permanent.ControllerPredicate;
|
import mage.filter.predicate.permanent.ControllerPredicate;
|
||||||
|
|
||||||
|
@ -26,7 +25,7 @@ public final class AkronLegionnaire extends CardImpl {
|
||||||
static {
|
static {
|
||||||
filter.add(new ControllerPredicate(TargetController.YOU));
|
filter.add(new ControllerPredicate(TargetController.YOU));
|
||||||
filter.add(Predicates.not(new NamePredicate("Akron Legionnaire")));
|
filter.add(Predicates.not(new NamePredicate("Akron Legionnaire")));
|
||||||
filter.add(Predicates.not(new CardTypePredicate(CardType.ARTIFACT)));
|
filter.add(Predicates.not(CardType.ARTIFACT.getPredicate()));
|
||||||
}
|
}
|
||||||
|
|
||||||
public AkronLegionnaire(UUID ownerId, CardSetInfo setInfo) {
|
public AkronLegionnaire(UUID ownerId, CardSetInfo setInfo) {
|
||||||
|
|
|
@ -16,7 +16,6 @@ import mage.constants.Duration;
|
||||||
import mage.constants.Zone;
|
import mage.constants.Zone;
|
||||||
import mage.filter.FilterCard;
|
import mage.filter.FilterCard;
|
||||||
import mage.filter.predicate.Predicates;
|
import mage.filter.predicate.Predicates;
|
||||||
import mage.filter.predicate.mageobject.CardTypePredicate;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -28,7 +27,7 @@ public final class AlchemistsRefuge extends CardImpl {
|
||||||
private static final FilterCard filter = new FilterCard("spells");
|
private static final FilterCard filter = new FilterCard("spells");
|
||||||
|
|
||||||
static {
|
static {
|
||||||
filter.add(Predicates.not(new CardTypePredicate(CardType.LAND)));
|
filter.add(Predicates.not(CardType.LAND.getPredicate()));
|
||||||
}
|
}
|
||||||
|
|
||||||
public AlchemistsRefuge(UUID ownerId, CardSetInfo setInfo) {
|
public AlchemistsRefuge(UUID ownerId, CardSetInfo setInfo) {
|
||||||
|
|
|
@ -15,7 +15,6 @@ import mage.filter.FilterSpell;
|
||||||
import mage.filter.common.FilterCreaturePermanent;
|
import mage.filter.common.FilterCreaturePermanent;
|
||||||
import mage.filter.predicate.Predicates;
|
import mage.filter.predicate.Predicates;
|
||||||
import mage.filter.predicate.mageobject.AbilityPredicate;
|
import mage.filter.predicate.mageobject.AbilityPredicate;
|
||||||
import mage.filter.predicate.mageobject.CardTypePredicate;
|
|
||||||
import mage.filter.predicate.permanent.ControllerPredicate;
|
import mage.filter.predicate.permanent.ControllerPredicate;
|
||||||
import mage.game.permanent.token.FaerieToken;
|
import mage.game.permanent.token.FaerieToken;
|
||||||
|
|
||||||
|
@ -34,8 +33,8 @@ public final class AlelaArtfulProvocateur extends CardImpl {
|
||||||
filter.add(new AbilityPredicate(FlyingAbility.class));
|
filter.add(new AbilityPredicate(FlyingAbility.class));
|
||||||
filter.add(new ControllerPredicate(TargetController.YOU));
|
filter.add(new ControllerPredicate(TargetController.YOU));
|
||||||
filter2.add(Predicates.or(
|
filter2.add(Predicates.or(
|
||||||
new CardTypePredicate(CardType.ARTIFACT),
|
CardType.ARTIFACT.getPredicate(),
|
||||||
new CardTypePredicate(CardType.ENCHANTMENT)
|
CardType.ENCHANTMENT.getPredicate()
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -31,7 +31,7 @@ public final class AllHallowsEve extends CardImpl {
|
||||||
|
|
||||||
// Exile All Hallow's Eve with two scream counters on it.
|
// Exile All Hallow's Eve with two scream counters on it.
|
||||||
this.getSpellAbility().addEffect(ExileSpellEffect.getInstance());
|
this.getSpellAbility().addEffect(ExileSpellEffect.getInstance());
|
||||||
Effect effect = new AddCountersSourceEffect(CounterType.SCREAM.createInstance(), new StaticValue(2), true, true);
|
Effect effect = new AddCountersSourceEffect(CounterType.SCREAM.createInstance(), StaticValue.get(2), true, true);
|
||||||
effect.setText("with 2 scream counters on it");
|
effect.setText("with 2 scream counters on it");
|
||||||
this.getSpellAbility().addEffect(effect);
|
this.getSpellAbility().addEffect(effect);
|
||||||
|
|
||||||
|
|
|
@ -15,7 +15,6 @@ import mage.constants.CardType;
|
||||||
import mage.constants.Zone;
|
import mage.constants.Zone;
|
||||||
import mage.filter.FilterPermanent;
|
import mage.filter.FilterPermanent;
|
||||||
import mage.filter.predicate.Predicates;
|
import mage.filter.predicate.Predicates;
|
||||||
import mage.filter.predicate.mageobject.CardTypePredicate;
|
|
||||||
import mage.target.TargetPermanent;
|
import mage.target.TargetPermanent;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -28,9 +27,9 @@ public final class AmberPrison extends CardImpl {
|
||||||
|
|
||||||
static {
|
static {
|
||||||
filter.add(Predicates.or(
|
filter.add(Predicates.or(
|
||||||
new CardTypePredicate(CardType.ARTIFACT),
|
CardType.ARTIFACT.getPredicate(),
|
||||||
new CardTypePredicate(CardType.CREATURE),
|
CardType.CREATURE.getPredicate(),
|
||||||
new CardTypePredicate(CardType.LAND)));
|
CardType.LAND.getPredicate()));
|
||||||
}
|
}
|
||||||
|
|
||||||
public AmberPrison(UUID ownerId, CardSetInfo setInfo) {
|
public AmberPrison(UUID ownerId, CardSetInfo setInfo) {
|
||||||
|
|
|
@ -13,7 +13,6 @@ import mage.constants.Duration;
|
||||||
import mage.constants.SubType;
|
import mage.constants.SubType;
|
||||||
import mage.filter.common.FilterCreaturePermanent;
|
import mage.filter.common.FilterCreaturePermanent;
|
||||||
import mage.filter.predicate.Predicates;
|
import mage.filter.predicate.Predicates;
|
||||||
import mage.filter.predicate.mageobject.CardTypePredicate;
|
|
||||||
import mage.filter.predicate.mageobject.ColorPredicate;
|
import mage.filter.predicate.mageobject.ColorPredicate;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -27,7 +26,7 @@ public final class AmrouSeekers extends CardImpl {
|
||||||
static {
|
static {
|
||||||
notArtificatOrWhite.add(Predicates.not(
|
notArtificatOrWhite.add(Predicates.not(
|
||||||
Predicates.or(
|
Predicates.or(
|
||||||
new CardTypePredicate(CardType.ARTIFACT),
|
CardType.ARTIFACT.getPredicate(),
|
||||||
new ColorPredicate(ObjectColor.WHITE)
|
new ColorPredicate(ObjectColor.WHITE)
|
||||||
)
|
)
|
||||||
));
|
));
|
||||||
|
|
|
@ -13,7 +13,6 @@ import mage.constants.CardType;
|
||||||
import mage.constants.Zone;
|
import mage.constants.Zone;
|
||||||
import mage.filter.FilterPermanent;
|
import mage.filter.FilterPermanent;
|
||||||
import mage.filter.predicate.Predicates;
|
import mage.filter.predicate.Predicates;
|
||||||
import mage.filter.predicate.mageobject.CardTypePredicate;
|
|
||||||
import mage.target.TargetPermanent;
|
import mage.target.TargetPermanent;
|
||||||
|
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
@ -27,9 +26,9 @@ public final class AmuletOfUnmaking extends CardImpl {
|
||||||
|
|
||||||
static {
|
static {
|
||||||
filter.add(Predicates.or(
|
filter.add(Predicates.or(
|
||||||
new CardTypePredicate(CardType.ARTIFACT),
|
CardType.ARTIFACT.getPredicate(),
|
||||||
new CardTypePredicate(CardType.CREATURE),
|
CardType.CREATURE.getPredicate(),
|
||||||
new CardTypePredicate(CardType.LAND)
|
CardType.LAND.getPredicate()
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -11,7 +11,6 @@ import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.SubType;
|
import mage.constants.SubType;
|
||||||
import mage.filter.FilterCard;
|
import mage.filter.FilterCard;
|
||||||
import mage.filter.predicate.mageobject.CardTypePredicate;
|
|
||||||
import mage.target.common.TargetCardInYourGraveyard;
|
import mage.target.common.TargetCardInYourGraveyard;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -22,7 +21,7 @@ public final class Anarchist extends CardImpl {
|
||||||
|
|
||||||
private static final FilterCard filter = new FilterCard("sorcery card");
|
private static final FilterCard filter = new FilterCard("sorcery card");
|
||||||
static {
|
static {
|
||||||
filter.add(new CardTypePredicate(CardType.SORCERY));
|
filter.add(CardType.SORCERY.getPredicate());
|
||||||
}
|
}
|
||||||
|
|
||||||
public Anarchist(UUID ownerId, CardSetInfo setInfo) {
|
public Anarchist(UUID ownerId, CardSetInfo setInfo) {
|
||||||
|
|
|
@ -26,7 +26,7 @@ public final class AncestralMemories extends CardImpl {
|
||||||
super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{2}{U}{U}{U}");
|
super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{2}{U}{U}{U}");
|
||||||
|
|
||||||
// Look at the top seven cards of your library. Put two of them into your hand and the rest into your graveyard.
|
// Look at the top seven cards of your library. Put two of them into your hand and the rest into your graveyard.
|
||||||
this.getSpellAbility().addEffect(new LookLibraryAndPickControllerEffect(new StaticValue(7), false, new StaticValue(2),
|
this.getSpellAbility().addEffect(new LookLibraryAndPickControllerEffect(StaticValue.get(7), false, StaticValue.get(2),
|
||||||
StaticFilters.FILTER_CARD, Zone.GRAVEYARD, false, false, false, Zone.HAND, false));
|
StaticFilters.FILTER_CARD, Zone.GRAVEYARD, false, false, false, Zone.HAND, false));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -11,7 +11,6 @@ import mage.constants.CardType;
|
||||||
import mage.constants.SubType;
|
import mage.constants.SubType;
|
||||||
import mage.filter.common.FilterControlledPermanent;
|
import mage.filter.common.FilterControlledPermanent;
|
||||||
import mage.filter.predicate.Predicates;
|
import mage.filter.predicate.Predicates;
|
||||||
import mage.filter.predicate.mageobject.CardTypePredicate;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -22,7 +21,7 @@ public final class AncestralStatue extends CardImpl {
|
||||||
private static final FilterControlledPermanent filter = new FilterControlledPermanent("nonland permanent you control");
|
private static final FilterControlledPermanent filter = new FilterControlledPermanent("nonland permanent you control");
|
||||||
|
|
||||||
static {
|
static {
|
||||||
filter.add(Predicates.not(new CardTypePredicate(CardType.LAND)));
|
filter.add(Predicates.not(CardType.LAND.getPredicate()));
|
||||||
}
|
}
|
||||||
|
|
||||||
public AncestralStatue(UUID ownerId, CardSetInfo setInfo) {
|
public AncestralStatue(UUID ownerId, CardSetInfo setInfo) {
|
||||||
|
|
|
@ -15,7 +15,6 @@ import mage.constants.CardType;
|
||||||
import mage.constants.SubType;
|
import mage.constants.SubType;
|
||||||
import mage.constants.Zone;
|
import mage.constants.Zone;
|
||||||
import mage.filter.FilterPermanent;
|
import mage.filter.FilterPermanent;
|
||||||
import mage.filter.predicate.mageobject.CardTypePredicate;
|
|
||||||
import mage.filter.predicate.permanent.DefendingPlayerControlsPredicate;
|
import mage.filter.predicate.permanent.DefendingPlayerControlsPredicate;
|
||||||
import mage.target.TargetPermanent;
|
import mage.target.TargetPermanent;
|
||||||
|
|
||||||
|
@ -28,7 +27,7 @@ public final class AncientHellkite extends CardImpl {
|
||||||
private static final FilterPermanent filter = new FilterPermanent("creature defending player controls");
|
private static final FilterPermanent filter = new FilterPermanent("creature defending player controls");
|
||||||
|
|
||||||
static {
|
static {
|
||||||
filter.add(new CardTypePredicate(CardType.CREATURE));
|
filter.add(CardType.CREATURE.getPredicate());
|
||||||
filter.add(DefendingPlayerControlsPredicate.instance);
|
filter.add(DefendingPlayerControlsPredicate.instance);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -29,7 +29,7 @@ public final class AncientStirrings extends CardImpl {
|
||||||
|
|
||||||
// Look at the top five cards of your library. You may reveal a colorless card from among them and put it into your hand.
|
// Look at the top five cards of your library. You may reveal a colorless card from among them and put it into your hand.
|
||||||
// Then put the rest on the bottom of your library in any order. (Cards with no colored mana in their mana costs are colorless. Lands are also colorless.)
|
// Then put the rest on the bottom of your library in any order. (Cards with no colored mana in their mana costs are colorless. Lands are also colorless.)
|
||||||
this.getSpellAbility().addEffect(new LookLibraryAndPickControllerEffect(new StaticValue(5), false, new StaticValue(1), filter, Zone.LIBRARY,
|
this.getSpellAbility().addEffect(new LookLibraryAndPickControllerEffect(StaticValue.get(5), false, StaticValue.get(1), filter, Zone.LIBRARY,
|
||||||
false, true, false, Zone.HAND, true));
|
false, true, false, Zone.HAND, true));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -18,7 +18,6 @@ import mage.constants.*;
|
||||||
import mage.filter.Filter;
|
import mage.filter.Filter;
|
||||||
import mage.filter.common.FilterCreaturePermanent;
|
import mage.filter.common.FilterCreaturePermanent;
|
||||||
import mage.filter.predicate.Predicates;
|
import mage.filter.predicate.Predicates;
|
||||||
import mage.filter.predicate.mageobject.CardTypePredicate;
|
|
||||||
import mage.filter.predicate.mageobject.ColorPredicate;
|
import mage.filter.predicate.mageobject.ColorPredicate;
|
||||||
import mage.game.Game;
|
import mage.game.Game;
|
||||||
import mage.players.Player;
|
import mage.players.Player;
|
||||||
|
@ -105,7 +104,7 @@ class AngelOfJubilationSacrificeFilterEffect extends CostModificationEffectImpl
|
||||||
if (cost instanceof SacrificeTargetCost) {
|
if (cost instanceof SacrificeTargetCost) {
|
||||||
SacrificeTargetCost sacrificeCost = (SacrificeTargetCost) cost;
|
SacrificeTargetCost sacrificeCost = (SacrificeTargetCost) cost;
|
||||||
Filter filter = sacrificeCost.getTargets().get(0).getFilter();
|
Filter filter = sacrificeCost.getTargets().get(0).getFilter();
|
||||||
filter.add(Predicates.not(new CardTypePredicate(CardType.CREATURE)));
|
filter.add(Predicates.not(CardType.CREATURE.getPredicate()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
|
|
|
@ -8,7 +8,6 @@ import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.filter.FilterPermanent;
|
import mage.filter.FilterPermanent;
|
||||||
import mage.filter.predicate.Predicates;
|
import mage.filter.predicate.Predicates;
|
||||||
import mage.filter.predicate.mageobject.CardTypePredicate;
|
|
||||||
import mage.target.TargetPermanent;
|
import mage.target.TargetPermanent;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -19,7 +18,7 @@ public final class AngelicEdict extends CardImpl {
|
||||||
|
|
||||||
private static final FilterPermanent filter = new FilterPermanent("creature or enchantment");
|
private static final FilterPermanent filter = new FilterPermanent("creature or enchantment");
|
||||||
static {
|
static {
|
||||||
filter.add(Predicates.or(new CardTypePredicate(CardType.CREATURE), new CardTypePredicate(CardType.ENCHANTMENT)));
|
filter.add(Predicates.or(CardType.CREATURE.getPredicate(), CardType.ENCHANTMENT.getPredicate()));
|
||||||
}
|
}
|
||||||
|
|
||||||
public AngelicEdict(UUID ownerId, CardSetInfo setInfo) {
|
public AngelicEdict(UUID ownerId, CardSetInfo setInfo) {
|
||||||
|
|
|
@ -10,7 +10,6 @@ import mage.constants.CardType;
|
||||||
import mage.filter.FilterPermanent;
|
import mage.filter.FilterPermanent;
|
||||||
import mage.filter.common.FilterControlledPermanent;
|
import mage.filter.common.FilterControlledPermanent;
|
||||||
import mage.filter.predicate.Predicates;
|
import mage.filter.predicate.Predicates;
|
||||||
import mage.filter.predicate.mageobject.CardTypePredicate;
|
|
||||||
import mage.target.TargetPermanent;
|
import mage.target.TargetPermanent;
|
||||||
import mage.target.common.TargetControlledPermanent;
|
import mage.target.common.TargetControlledPermanent;
|
||||||
|
|
||||||
|
@ -23,9 +22,9 @@ public final class AngelicPurge extends CardImpl {
|
||||||
private static final FilterPermanent filter = new FilterPermanent("artifact, creature, or enchantment");
|
private static final FilterPermanent filter = new FilterPermanent("artifact, creature, or enchantment");
|
||||||
|
|
||||||
static {
|
static {
|
||||||
filter.add(Predicates.or(new CardTypePredicate(CardType.ARTIFACT),
|
filter.add(Predicates.or(CardType.ARTIFACT.getPredicate(),
|
||||||
new CardTypePredicate(CardType.CREATURE),
|
CardType.CREATURE.getPredicate(),
|
||||||
new CardTypePredicate(CardType.ENCHANTMENT)));
|
CardType.ENCHANTMENT.getPredicate()));
|
||||||
}
|
}
|
||||||
|
|
||||||
public AngelicPurge(UUID ownerId, CardSetInfo setInfo) {
|
public AngelicPurge(UUID ownerId, CardSetInfo setInfo) {
|
||||||
|
|
|
@ -15,7 +15,6 @@ import mage.constants.TargetController;
|
||||||
import mage.filter.FilterPermanent;
|
import mage.filter.FilterPermanent;
|
||||||
import mage.filter.common.FilterCreaturePermanent;
|
import mage.filter.common.FilterCreaturePermanent;
|
||||||
import mage.filter.predicate.Predicates;
|
import mage.filter.predicate.Predicates;
|
||||||
import mage.filter.predicate.mageobject.CardTypePredicate;
|
|
||||||
import mage.filter.predicate.mageobject.ColorPredicate;
|
import mage.filter.predicate.mageobject.ColorPredicate;
|
||||||
import mage.filter.predicate.permanent.ControllerPredicate;
|
import mage.filter.predicate.permanent.ControllerPredicate;
|
||||||
|
|
||||||
|
@ -31,7 +30,7 @@ public final class AngelicVoices extends CardImpl {
|
||||||
static {
|
static {
|
||||||
filter.add(Predicates.not(
|
filter.add(Predicates.not(
|
||||||
Predicates.or(
|
Predicates.or(
|
||||||
new CardTypePredicate(CardType.ARTIFACT),
|
CardType.ARTIFACT.getPredicate(),
|
||||||
new ColorPredicate(ObjectColor.WHITE)
|
new ColorPredicate(ObjectColor.WHITE)
|
||||||
)
|
)
|
||||||
));
|
));
|
||||||
|
|
|
@ -17,7 +17,6 @@ import mage.constants.SubType;
|
||||||
import mage.constants.Zone;
|
import mage.constants.Zone;
|
||||||
import mage.filter.common.FilterControlledPermanent;
|
import mage.filter.common.FilterControlledPermanent;
|
||||||
import mage.filter.common.FilterCreaturePermanent;
|
import mage.filter.common.FilterCreaturePermanent;
|
||||||
import mage.filter.predicate.mageobject.CardTypePredicate;
|
|
||||||
import mage.filter.predicate.mageobject.SubtypePredicate;
|
import mage.filter.predicate.mageobject.SubtypePredicate;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -31,7 +30,7 @@ public final class Anger extends CardImpl {
|
||||||
private static final FilterControlledPermanent filter = new FilterControlledPermanent("Mountain");
|
private static final FilterControlledPermanent filter = new FilterControlledPermanent("Mountain");
|
||||||
|
|
||||||
static {
|
static {
|
||||||
filter.add(new CardTypePredicate(CardType.LAND));
|
filter.add(CardType.LAND.getPredicate());
|
||||||
filter.add(new SubtypePredicate(SubType.MOUNTAIN));
|
filter.add(new SubtypePredicate(SubType.MOUNTAIN));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -14,7 +14,6 @@ import mage.constants.Duration;
|
||||||
import mage.constants.SubType;
|
import mage.constants.SubType;
|
||||||
import mage.constants.Zone;
|
import mage.constants.Zone;
|
||||||
import mage.filter.common.FilterControlledPermanent;
|
import mage.filter.common.FilterControlledPermanent;
|
||||||
import mage.filter.predicate.mageobject.CardTypePredicate;
|
|
||||||
import mage.filter.predicate.mageobject.SubtypePredicate;
|
import mage.filter.predicate.mageobject.SubtypePredicate;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -26,7 +25,7 @@ public final class AngrathsAmbusher extends CardImpl {
|
||||||
private static final FilterControlledPermanent filter = new FilterControlledPermanent();
|
private static final FilterControlledPermanent filter = new FilterControlledPermanent();
|
||||||
|
|
||||||
static {
|
static {
|
||||||
filter.add(new CardTypePredicate(CardType.PLANESWALKER));
|
filter.add(CardType.PLANESWALKER.getPredicate());
|
||||||
filter.add(new SubtypePredicate(SubType.ANGRATH));
|
filter.add(new SubtypePredicate(SubType.ANGRATH));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -13,7 +13,6 @@ import mage.constants.*;
|
||||||
import mage.filter.FilterPermanent;
|
import mage.filter.FilterPermanent;
|
||||||
import mage.filter.common.FilterArtifactPermanent;
|
import mage.filter.common.FilterArtifactPermanent;
|
||||||
import mage.filter.predicate.Predicates;
|
import mage.filter.predicate.Predicates;
|
||||||
import mage.filter.predicate.mageobject.CardTypePredicate;
|
|
||||||
import mage.game.Game;
|
import mage.game.Game;
|
||||||
import mage.game.permanent.Permanent;
|
import mage.game.permanent.Permanent;
|
||||||
import mage.target.TargetPermanent;
|
import mage.target.TargetPermanent;
|
||||||
|
@ -28,7 +27,7 @@ public final class AnimateArtifact extends CardImpl {
|
||||||
private static final FilterPermanent filter = new FilterArtifactPermanent("noncreature artifact");
|
private static final FilterPermanent filter = new FilterArtifactPermanent("noncreature artifact");
|
||||||
|
|
||||||
static {
|
static {
|
||||||
filter.add(Predicates.not(new CardTypePredicate(CardType.CREATURE)));
|
filter.add(Predicates.not(CardType.CREATURE.getPredicate()));
|
||||||
}
|
}
|
||||||
|
|
||||||
public AnimateArtifact(UUID ownerId, CardSetInfo setInfo) {
|
public AnimateArtifact(UUID ownerId, CardSetInfo setInfo) {
|
||||||
|
|
|
@ -14,7 +14,6 @@ import mage.counters.CounterType;
|
||||||
import mage.filter.FilterPermanent;
|
import mage.filter.FilterPermanent;
|
||||||
import mage.filter.common.FilterControlledArtifactPermanent;
|
import mage.filter.common.FilterControlledArtifactPermanent;
|
||||||
import mage.filter.predicate.Predicates;
|
import mage.filter.predicate.Predicates;
|
||||||
import mage.filter.predicate.mageobject.CardTypePredicate;
|
|
||||||
import mage.target.TargetPermanent;
|
import mage.target.TargetPermanent;
|
||||||
|
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
@ -28,7 +27,7 @@ public final class AnimatingFaerie extends AdventureCard {
|
||||||
= new FilterControlledArtifactPermanent("noncreature artifact you control");
|
= new FilterControlledArtifactPermanent("noncreature artifact you control");
|
||||||
|
|
||||||
static {
|
static {
|
||||||
filter.add(Predicates.not(new CardTypePredicate(CardType.CREATURE)));
|
filter.add(Predicates.not(CardType.CREATURE.getPredicate()));
|
||||||
}
|
}
|
||||||
|
|
||||||
public AnimatingFaerie(UUID ownerId, CardSetInfo setInfo) {
|
public AnimatingFaerie(UUID ownerId, CardSetInfo setInfo) {
|
||||||
|
|
|
@ -8,7 +8,6 @@ import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.filter.FilterSpell;
|
import mage.filter.FilterSpell;
|
||||||
import mage.filter.predicate.Predicates;
|
import mage.filter.predicate.Predicates;
|
||||||
import mage.filter.predicate.mageobject.CardTypePredicate;
|
|
||||||
import mage.target.TargetSpell;
|
import mage.target.TargetSpell;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -21,8 +20,8 @@ public final class Annul extends CardImpl {
|
||||||
|
|
||||||
static {
|
static {
|
||||||
filter.add(Predicates.or(
|
filter.add(Predicates.or(
|
||||||
new CardTypePredicate(CardType.ARTIFACT),
|
CardType.ARTIFACT.getPredicate(),
|
||||||
new CardTypePredicate(CardType.ENCHANTMENT)));
|
CardType.ENCHANTMENT.getPredicate()));
|
||||||
}
|
}
|
||||||
|
|
||||||
public Annul(UUID ownerId, CardSetInfo setInfo) {
|
public Annul(UUID ownerId, CardSetInfo setInfo) {
|
||||||
|
|
|
@ -21,7 +21,7 @@ public final class Anticipate extends CardImpl {
|
||||||
|
|
||||||
// Look at the top three cards of your library. Put one of them into your hand and the rest on the bottom of your library in any order.
|
// Look at the top three cards of your library. Put one of them into your hand and the rest on the bottom of your library in any order.
|
||||||
this.getSpellAbility().addEffect(new LookLibraryAndPickControllerEffect
|
this.getSpellAbility().addEffect(new LookLibraryAndPickControllerEffect
|
||||||
(new StaticValue(3), false, new StaticValue(1), new FilterCard(), Zone.LIBRARY, false, false));
|
(StaticValue.get(3), false, StaticValue.get(1), new FilterCard(), Zone.LIBRARY, false, false));
|
||||||
}
|
}
|
||||||
|
|
||||||
public Anticipate(final Anticipate card) {
|
public Anticipate(final Anticipate card) {
|
||||||
|
|
|
@ -16,7 +16,6 @@ import mage.constants.SubType;
|
||||||
import mage.constants.Zone;
|
import mage.constants.Zone;
|
||||||
import mage.filter.FilterPermanent;
|
import mage.filter.FilterPermanent;
|
||||||
import mage.filter.predicate.Predicates;
|
import mage.filter.predicate.Predicates;
|
||||||
import mage.filter.predicate.mageobject.CardTypePredicate;
|
|
||||||
import mage.target.TargetPermanent;
|
import mage.target.TargetPermanent;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -29,8 +28,8 @@ public final class AphettoAlchemist extends CardImpl {
|
||||||
|
|
||||||
static {
|
static {
|
||||||
filter.add(Predicates.or(
|
filter.add(Predicates.or(
|
||||||
new CardTypePredicate(CardType.ARTIFACT),
|
CardType.ARTIFACT.getPredicate(),
|
||||||
new CardTypePredicate(CardType.CREATURE)));
|
CardType.CREATURE.getPredicate()));
|
||||||
}
|
}
|
||||||
|
|
||||||
public AphettoAlchemist(UUID ownerId, CardSetInfo setInfo) {
|
public AphettoAlchemist(UUID ownerId, CardSetInfo setInfo) {
|
||||||
|
|
|
@ -16,7 +16,6 @@ import mage.constants.Outcome;
|
||||||
import mage.filter.FilterCard;
|
import mage.filter.FilterCard;
|
||||||
import mage.filter.common.FilterControlledPermanent;
|
import mage.filter.common.FilterControlledPermanent;
|
||||||
import mage.filter.predicate.Predicates;
|
import mage.filter.predicate.Predicates;
|
||||||
import mage.filter.predicate.mageobject.CardTypePredicate;
|
|
||||||
import mage.filter.predicate.mageobject.ColorPredicate;
|
import mage.filter.predicate.mageobject.ColorPredicate;
|
||||||
import mage.game.Game;
|
import mage.game.Game;
|
||||||
import mage.players.Player;
|
import mage.players.Player;
|
||||||
|
@ -31,8 +30,8 @@ public final class ApostlesBlessing extends CardImpl {
|
||||||
|
|
||||||
static {
|
static {
|
||||||
filter.add(Predicates.or(
|
filter.add(Predicates.or(
|
||||||
new CardTypePredicate(CardType.ARTIFACT),
|
CardType.ARTIFACT.getPredicate(),
|
||||||
new CardTypePredicate(CardType.CREATURE)));
|
CardType.CREATURE.getPredicate()));
|
||||||
}
|
}
|
||||||
|
|
||||||
public ApostlesBlessing(UUID ownerId, CardSetInfo setInfo) {
|
public ApostlesBlessing(UUID ownerId, CardSetInfo setInfo) {
|
||||||
|
@ -79,7 +78,7 @@ class ApostlesBlessingEffect extends OneShotEffect {
|
||||||
if (controller.choose(outcome, choice, game)) {
|
if (controller.choose(outcome, choice, game)) {
|
||||||
FilterCard protectionFilter = new FilterCard();
|
FilterCard protectionFilter = new FilterCard();
|
||||||
if (choice.isArtifactSelected()) {
|
if (choice.isArtifactSelected()) {
|
||||||
protectionFilter.add(new CardTypePredicate(CardType.ARTIFACT));
|
protectionFilter.add(CardType.ARTIFACT.getPredicate());
|
||||||
} else {
|
} else {
|
||||||
protectionFilter.add(new ColorPredicate(choice.getColor()));
|
protectionFilter.add(new ColorPredicate(choice.getColor()));
|
||||||
}
|
}
|
||||||
|
|
|
@ -15,7 +15,6 @@ import mage.constants.*;
|
||||||
import mage.counters.CounterType;
|
import mage.counters.CounterType;
|
||||||
import mage.filter.FilterCard;
|
import mage.filter.FilterCard;
|
||||||
import mage.filter.predicate.Predicates;
|
import mage.filter.predicate.Predicates;
|
||||||
import mage.filter.predicate.mageobject.CardTypePredicate;
|
|
||||||
import mage.game.Game;
|
import mage.game.Game;
|
||||||
import mage.game.permanent.Permanent;
|
import mage.game.permanent.Permanent;
|
||||||
import mage.players.Player;
|
import mage.players.Player;
|
||||||
|
@ -57,9 +56,9 @@ class ArbiterOfTheIdealEffect extends OneShotEffect {
|
||||||
|
|
||||||
static {
|
static {
|
||||||
filter.add(Predicates.or(
|
filter.add(Predicates.or(
|
||||||
new CardTypePredicate(CardType.ARTIFACT),
|
CardType.ARTIFACT.getPredicate(),
|
||||||
new CardTypePredicate(CardType.CREATURE),
|
CardType.CREATURE.getPredicate(),
|
||||||
new CardTypePredicate(CardType.LAND)));
|
CardType.LAND.getPredicate()));
|
||||||
}
|
}
|
||||||
|
|
||||||
public ArbiterOfTheIdealEffect() {
|
public ArbiterOfTheIdealEffect() {
|
||||||
|
|
|
@ -29,7 +29,7 @@ public final class ArcBlade extends CardImpl {
|
||||||
// Exile Arc Blade
|
// Exile Arc Blade
|
||||||
this.getSpellAbility().addEffect(ExileSpellEffect.getInstance());
|
this.getSpellAbility().addEffect(ExileSpellEffect.getInstance());
|
||||||
// with three time counters on it.
|
// with three time counters on it.
|
||||||
Effect effect = new AddCountersSourceEffect(CounterType.TIME.createInstance(), new StaticValue(3), false, true);
|
Effect effect = new AddCountersSourceEffect(CounterType.TIME.createInstance(), StaticValue.get(3), false, true);
|
||||||
effect.setText("with 3 time counters on it");
|
effect.setText("with 3 time counters on it");
|
||||||
this.getSpellAbility().addEffect(effect);
|
this.getSpellAbility().addEffect(effect);
|
||||||
this.getSpellAbility().addTarget(new TargetAnyTarget());
|
this.getSpellAbility().addTarget(new TargetAnyTarget());
|
||||||
|
|
|
@ -75,7 +75,7 @@ class ArcaneDenialEffect extends OneShotEffect {
|
||||||
countered = true;
|
countered = true;
|
||||||
}
|
}
|
||||||
if (controller != null) {
|
if (controller != null) {
|
||||||
Effect effect = new DrawCardTargetEffect(new StaticValue(2), false, true);
|
Effect effect = new DrawCardTargetEffect(StaticValue.get(2), false, true);
|
||||||
effect.setTargetPointer(new FixedTarget(controller.getId()));
|
effect.setTargetPointer(new FixedTarget(controller.getId()));
|
||||||
effect.setText("Its controller may draw up to two cards");
|
effect.setText("Its controller may draw up to two cards");
|
||||||
DelayedTriggeredAbility ability = new AtTheBeginOfNextUpkeepDelayedTriggeredAbility(effect);
|
DelayedTriggeredAbility ability = new AtTheBeginOfNextUpkeepDelayedTriggeredAbility(effect);
|
||||||
|
|
|
@ -35,7 +35,7 @@ public final class ArcanistsOwl extends CardImpl {
|
||||||
// When Arcanist's Owl enters the battlefield, look at the top four cards of your library. You may reveal an artifact or enchantment card from among them and put it into your hand. Put the rest on the bottom of your library in a random order.
|
// When Arcanist's Owl enters the battlefield, look at the top four cards of your library. You may reveal an artifact or enchantment card from among them and put it into your hand. Put the rest on the bottom of your library in a random order.
|
||||||
this.addAbility(new EntersBattlefieldTriggeredAbility(
|
this.addAbility(new EntersBattlefieldTriggeredAbility(
|
||||||
new LookLibraryAndPickControllerEffect(
|
new LookLibraryAndPickControllerEffect(
|
||||||
new StaticValue(4), false, new StaticValue(1), filter,
|
StaticValue.get(4), false, StaticValue.get(1), filter,
|
||||||
Zone.LIBRARY, false, true, false, Zone.HAND,
|
Zone.LIBRARY, false, true, false, Zone.HAND,
|
||||||
true, false, false
|
true, false, false
|
||||||
).setBackInRandomOrder(true).setText("Look at the top four cards of your library. " +
|
).setBackInRandomOrder(true).setText("Look at the top four cards of your library. " +
|
||||||
|
|
|
@ -139,7 +139,7 @@ class ArcbondEffect extends OneShotEffect {
|
||||||
}
|
}
|
||||||
FilterPermanent filter = new FilterCreaturePermanent("each other creature");
|
FilterPermanent filter = new FilterCreaturePermanent("each other creature");
|
||||||
filter.add(Predicates.not(new PermanentIdPredicate(sourceId)));
|
filter.add(Predicates.not(new PermanentIdPredicate(sourceId)));
|
||||||
return new DamageEverythingEffect(new StaticValue(damage), filter, sourceId).apply(game, source);
|
return new DamageEverythingEffect(StaticValue.get(damage), filter, sourceId).apply(game, source);
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
|
@ -14,7 +14,6 @@ import mage.constants.SubType;
|
||||||
import mage.constants.Zone;
|
import mage.constants.Zone;
|
||||||
import mage.counters.CounterType;
|
import mage.counters.CounterType;
|
||||||
import mage.filter.common.FilterControlledPermanent;
|
import mage.filter.common.FilterControlledPermanent;
|
||||||
import mage.filter.predicate.mageobject.CardTypePredicate;
|
|
||||||
import mage.target.common.TargetControlledPermanent;
|
import mage.target.common.TargetControlledPermanent;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -26,7 +25,7 @@ public final class ArcboundRavager extends CardImpl {
|
||||||
private static final FilterControlledPermanent filter = new FilterControlledPermanent("an artifact");
|
private static final FilterControlledPermanent filter = new FilterControlledPermanent("an artifact");
|
||||||
|
|
||||||
static {
|
static {
|
||||||
filter.add(new CardTypePredicate(CardType.ARTIFACT));
|
filter.add(CardType.ARTIFACT.getPredicate());
|
||||||
}
|
}
|
||||||
|
|
||||||
public ArcboundRavager(UUID ownerId, CardSetInfo setInfo) {
|
public ArcboundRavager(UUID ownerId, CardSetInfo setInfo) {
|
||||||
|
|
|
@ -16,7 +16,6 @@ import mage.filter.FilterPermanent;
|
||||||
import mage.filter.common.FilterArtifactCard;
|
import mage.filter.common.FilterArtifactCard;
|
||||||
import mage.filter.common.FilterArtifactPermanent;
|
import mage.filter.common.FilterArtifactPermanent;
|
||||||
import mage.filter.predicate.Predicates;
|
import mage.filter.predicate.Predicates;
|
||||||
import mage.filter.predicate.mageobject.CardTypePredicate;
|
|
||||||
import mage.game.Game;
|
import mage.game.Game;
|
||||||
import mage.game.permanent.Permanent;
|
import mage.game.permanent.Permanent;
|
||||||
import mage.players.Player;
|
import mage.players.Player;
|
||||||
|
@ -32,7 +31,7 @@ public final class ArcumDagsson extends CardImpl {
|
||||||
private static final FilterPermanent filter = new FilterArtifactPermanent("artifact creature");
|
private static final FilterPermanent filter = new FilterArtifactPermanent("artifact creature");
|
||||||
|
|
||||||
static {
|
static {
|
||||||
filter.add(new CardTypePredicate(CardType.CREATURE));
|
filter.add(CardType.CREATURE.getPredicate());
|
||||||
}
|
}
|
||||||
|
|
||||||
public ArcumDagsson(UUID ownerId, CardSetInfo setInfo) {
|
public ArcumDagsson(UUID ownerId, CardSetInfo setInfo) {
|
||||||
|
@ -64,7 +63,7 @@ class ArcumDagssonEffect extends OneShotEffect {
|
||||||
private static final FilterCard filter = new FilterArtifactCard("noncreature artifact card");
|
private static final FilterCard filter = new FilterArtifactCard("noncreature artifact card");
|
||||||
|
|
||||||
static {
|
static {
|
||||||
filter.add(Predicates.not(new CardTypePredicate(CardType.CREATURE)));
|
filter.add(Predicates.not(CardType.CREATURE.getPredicate()));
|
||||||
}
|
}
|
||||||
|
|
||||||
ArcumDagssonEffect() {
|
ArcumDagssonEffect() {
|
||||||
|
|
41
Mage.Sets/src/mage/cards/a/ArenaTrickster.java
Normal file
41
Mage.Sets/src/mage/cards/a/ArenaTrickster.java
Normal file
|
@ -0,0 +1,41 @@
|
||||||
|
package mage.cards.a;
|
||||||
|
|
||||||
|
import mage.MageInt;
|
||||||
|
import mage.abilities.common.FirstSpellOpponentsTurnTriggeredAbility;
|
||||||
|
import mage.abilities.effects.common.counter.AddCountersSourceEffect;
|
||||||
|
import mage.cards.CardImpl;
|
||||||
|
import mage.cards.CardSetInfo;
|
||||||
|
import mage.constants.CardType;
|
||||||
|
import mage.constants.SubType;
|
||||||
|
import mage.counters.CounterType;
|
||||||
|
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author TheElk801
|
||||||
|
*/
|
||||||
|
public final class ArenaTrickster extends CardImpl {
|
||||||
|
|
||||||
|
public ArenaTrickster(UUID ownerId, CardSetInfo setInfo) {
|
||||||
|
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{R}");
|
||||||
|
|
||||||
|
this.subtype.add(SubType.HUMAN);
|
||||||
|
this.subtype.add(SubType.SHAMAN);
|
||||||
|
this.power = new MageInt(3);
|
||||||
|
this.toughness = new MageInt(3);
|
||||||
|
|
||||||
|
// Whenever you cast your first spell during each opponent's turn, put a +1/+1 counter on Arena Trickster.
|
||||||
|
this.addAbility(new FirstSpellOpponentsTurnTriggeredAbility(
|
||||||
|
new AddCountersSourceEffect(CounterType.P1P1.createInstance()), false
|
||||||
|
));
|
||||||
|
}
|
||||||
|
|
||||||
|
private ArenaTrickster(final ArenaTrickster card) {
|
||||||
|
super(card);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ArenaTrickster copy() {
|
||||||
|
return new ArenaTrickster(this);
|
||||||
|
}
|
||||||
|
}
|
|
@ -14,7 +14,6 @@ import mage.constants.CardType;
|
||||||
import mage.constants.Zone;
|
import mage.constants.Zone;
|
||||||
import mage.filter.FilterSpell;
|
import mage.filter.FilterSpell;
|
||||||
import mage.filter.common.FilterControlledPermanent;
|
import mage.filter.common.FilterControlledPermanent;
|
||||||
import mage.filter.predicate.mageobject.CardTypePredicate;
|
|
||||||
import mage.target.TargetSpell;
|
import mage.target.TargetSpell;
|
||||||
import mage.target.common.TargetControlledPermanent;
|
import mage.target.common.TargetControlledPermanent;
|
||||||
import mage.target.common.TargetEnchantmentPermanent;
|
import mage.target.common.TargetEnchantmentPermanent;
|
||||||
|
@ -30,8 +29,8 @@ public final class ArensonsAura extends CardImpl {
|
||||||
private static final FilterSpell filter2 = new FilterSpell("enchantment spell");
|
private static final FilterSpell filter2 = new FilterSpell("enchantment spell");
|
||||||
|
|
||||||
static {
|
static {
|
||||||
filter.add(new CardTypePredicate(CardType.ENCHANTMENT));
|
filter.add(CardType.ENCHANTMENT.getPredicate());
|
||||||
filter2.add(new CardTypePredicate(CardType.ENCHANTMENT));
|
filter2.add(CardType.ENCHANTMENT.getPredicate());
|
||||||
}
|
}
|
||||||
|
|
||||||
public ArensonsAura(UUID ownerId, CardSetInfo setInfo) {
|
public ArensonsAura(UUID ownerId, CardSetInfo setInfo) {
|
||||||
|
|
|
@ -14,7 +14,6 @@ import mage.constants.Duration;
|
||||||
import mage.constants.SubType;
|
import mage.constants.SubType;
|
||||||
import mage.constants.Zone;
|
import mage.constants.Zone;
|
||||||
import mage.filter.FilterPermanent;
|
import mage.filter.FilterPermanent;
|
||||||
import mage.filter.predicate.mageobject.CardTypePredicate;
|
|
||||||
import mage.target.TargetPermanent;
|
import mage.target.TargetPermanent;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -26,8 +25,8 @@ public final class ArgivianBlacksmith extends CardImpl {
|
||||||
private static final FilterPermanent filter = new FilterPermanent("artifact creature");
|
private static final FilterPermanent filter = new FilterPermanent("artifact creature");
|
||||||
|
|
||||||
static {
|
static {
|
||||||
filter.add(new CardTypePredicate(CardType.ARTIFACT));
|
filter.add(CardType.ARTIFACT.getPredicate());
|
||||||
filter.add(new CardTypePredicate(CardType.CREATURE));
|
filter.add(CardType.CREATURE.getPredicate());
|
||||||
}
|
}
|
||||||
|
|
||||||
public ArgivianBlacksmith(UUID ownerId, CardSetInfo setInfo) {
|
public ArgivianBlacksmith(UUID ownerId, CardSetInfo setInfo) {
|
||||||
|
|
|
@ -8,7 +8,6 @@ import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.filter.FilterCard;
|
import mage.filter.FilterCard;
|
||||||
import mage.filter.predicate.Predicates;
|
import mage.filter.predicate.Predicates;
|
||||||
import mage.filter.predicate.mageobject.CardTypePredicate;
|
|
||||||
import mage.target.common.TargetCardInYourGraveyard;
|
import mage.target.common.TargetCardInYourGraveyard;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -19,7 +18,7 @@ public final class ArgivianFind extends CardImpl {
|
||||||
|
|
||||||
private static final FilterCard filter = new FilterCard("artifact or enchantment card");
|
private static final FilterCard filter = new FilterCard("artifact or enchantment card");
|
||||||
static {
|
static {
|
||||||
filter.add(Predicates.or(new CardTypePredicate(CardType.ARTIFACT), new CardTypePredicate(CardType.ENCHANTMENT)));
|
filter.add(Predicates.or(CardType.ARTIFACT.getPredicate(), CardType.ENCHANTMENT.getPredicate()));
|
||||||
}
|
}
|
||||||
|
|
||||||
public ArgivianFind(UUID ownerId, CardSetInfo setInfo) {
|
public ArgivianFind(UUID ownerId, CardSetInfo setInfo) {
|
||||||
|
|
|
@ -9,7 +9,6 @@ import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.SubType;
|
import mage.constants.SubType;
|
||||||
import mage.filter.FilterSpell;
|
import mage.filter.FilterSpell;
|
||||||
import mage.filter.predicate.mageobject.CardTypePredicate;
|
|
||||||
|
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
||||||
|
@ -21,7 +20,7 @@ public final class ArgothianEnchantress extends CardImpl {
|
||||||
private static final FilterSpell filter = new FilterSpell("an Enchantment spell");
|
private static final FilterSpell filter = new FilterSpell("an Enchantment spell");
|
||||||
|
|
||||||
static {
|
static {
|
||||||
filter.add(new CardTypePredicate(CardType.ENCHANTMENT));
|
filter.add(CardType.ENCHANTMENT.getPredicate());
|
||||||
}
|
}
|
||||||
|
|
||||||
public ArgothianEnchantress(UUID ownerId, CardSetInfo setInfo) {
|
public ArgothianEnchantress(UUID ownerId, CardSetInfo setInfo) {
|
||||||
|
|
|
@ -15,7 +15,6 @@ import mage.constants.Duration;
|
||||||
import mage.constants.SubType;
|
import mage.constants.SubType;
|
||||||
import mage.constants.Zone;
|
import mage.constants.Zone;
|
||||||
import mage.filter.common.FilterCreaturePermanent;
|
import mage.filter.common.FilterCreaturePermanent;
|
||||||
import mage.filter.predicate.mageobject.CardTypePredicate;
|
|
||||||
import mage.game.Game;
|
import mage.game.Game;
|
||||||
import mage.game.events.GameEvent;
|
import mage.game.events.GameEvent;
|
||||||
|
|
||||||
|
@ -28,7 +27,7 @@ public final class ArgothianPixies extends CardImpl {
|
||||||
private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("artifact creatures");
|
private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("artifact creatures");
|
||||||
|
|
||||||
static {
|
static {
|
||||||
filter.add(new CardTypePredicate(CardType.ARTIFACT));
|
filter.add(CardType.ARTIFACT.getPredicate());
|
||||||
}
|
}
|
||||||
|
|
||||||
public ArgothianPixies(UUID ownerId, CardSetInfo setInfo) {
|
public ArgothianPixies(UUID ownerId, CardSetInfo setInfo) {
|
||||||
|
|
|
@ -28,7 +28,7 @@ public final class ArmageddonClock extends CardImpl {
|
||||||
super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{6}");
|
super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{6}");
|
||||||
|
|
||||||
// At the beginning of your upkeep, put a doom counter on Armageddon Clock.
|
// At the beginning of your upkeep, put a doom counter on Armageddon Clock.
|
||||||
this.addAbility(new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.DOOM.createInstance(), new StaticValue(1), true), TargetController.YOU, false));
|
this.addAbility(new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.DOOM.createInstance(), StaticValue.get(1), true), TargetController.YOU, false));
|
||||||
// At the beginning of your draw step, Armageddon Clock deals damage equal to the number of doom counters on it to each player.
|
// At the beginning of your draw step, Armageddon Clock deals damage equal to the number of doom counters on it to each player.
|
||||||
this.addAbility(new BeginningOfDrawTriggeredAbility(new DamagePlayersEffect(Outcome.Damage, new CountersSourceCount(CounterType.DOOM))
|
this.addAbility(new BeginningOfDrawTriggeredAbility(new DamagePlayersEffect(Outcome.Damage, new CountersSourceCount(CounterType.DOOM))
|
||||||
.setText("{this} deals damage equal to the number of doom counters on it to each player"), TargetController.YOU, false));
|
.setText("{this} deals damage equal to the number of doom counters on it to each player"), TargetController.YOU, false));
|
||||||
|
|
|
@ -19,7 +19,6 @@ import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.*;
|
import mage.constants.*;
|
||||||
import mage.filter.common.FilterCreaturePermanent;
|
import mage.filter.common.FilterCreaturePermanent;
|
||||||
import mage.filter.predicate.mageobject.CardTypePredicate;
|
|
||||||
import mage.target.TargetPermanent;
|
import mage.target.TargetPermanent;
|
||||||
import mage.target.common.TargetCreaturePermanent;
|
import mage.target.common.TargetCreaturePermanent;
|
||||||
|
|
||||||
|
@ -32,7 +31,7 @@ public final class ArmamentOfNyx extends CardImpl {
|
||||||
private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("enchantment");
|
private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("enchantment");
|
||||||
|
|
||||||
static {
|
static {
|
||||||
filter.add(new CardTypePredicate(CardType.ENCHANTMENT));
|
filter.add(CardType.ENCHANTMENT.getPredicate());
|
||||||
}
|
}
|
||||||
|
|
||||||
public ArmamentOfNyx(UUID ownerId, CardSetInfo setInfo) {
|
public ArmamentOfNyx(UUID ownerId, CardSetInfo setInfo) {
|
||||||
|
|
|
@ -14,7 +14,6 @@ import mage.constants.Duration;
|
||||||
import mage.constants.SubType;
|
import mage.constants.SubType;
|
||||||
import mage.filter.common.FilterCreaturePermanent;
|
import mage.filter.common.FilterCreaturePermanent;
|
||||||
import mage.filter.predicate.Predicates;
|
import mage.filter.predicate.Predicates;
|
||||||
import mage.filter.predicate.mageobject.CardTypePredicate;
|
|
||||||
import mage.target.common.TargetCreaturePermanent;
|
import mage.target.common.TargetCreaturePermanent;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -26,7 +25,7 @@ public final class ArmedProtocolDroid extends CardImpl {
|
||||||
private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("nonartifact creature");
|
private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("nonartifact creature");
|
||||||
|
|
||||||
static {
|
static {
|
||||||
filter.add(Predicates.not(new CardTypePredicate(CardType.ARTIFACT)));
|
filter.add(Predicates.not(CardType.ARTIFACT.getPredicate()));
|
||||||
}
|
}
|
||||||
|
|
||||||
public ArmedProtocolDroid(UUID ownerId, CardSetInfo setInfo) {
|
public ArmedProtocolDroid(UUID ownerId, CardSetInfo setInfo) {
|
||||||
|
|
|
@ -31,7 +31,7 @@ public final class ArterialFlow extends CardImpl {
|
||||||
super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{1}{B}{B}");
|
super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{1}{B}{B}");
|
||||||
|
|
||||||
// Each opponent discards two cards.
|
// Each opponent discards two cards.
|
||||||
this.getSpellAbility().addEffect(new DiscardEachPlayerEffect(new StaticValue(2), false, TargetController.OPPONENT));
|
this.getSpellAbility().addEffect(new DiscardEachPlayerEffect(StaticValue.get(2), false, TargetController.OPPONENT));
|
||||||
// If you control a Vampire, each opponent loses 2 life and you gain 2 life.
|
// If you control a Vampire, each opponent loses 2 life and you gain 2 life.
|
||||||
this.getSpellAbility().addEffect(new ConditionalOneShotEffect(new LoseLifeOpponentsEffect(2), new PermanentsOnTheBattlefieldCondition(filter),
|
this.getSpellAbility().addEffect(new ConditionalOneShotEffect(new LoseLifeOpponentsEffect(2), new PermanentsOnTheBattlefieldCondition(filter),
|
||||||
"If you control a Vampire, each opponent loses 2 life"));
|
"If you control a Vampire, each opponent loses 2 life"));
|
||||||
|
|
|
@ -11,7 +11,6 @@ import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.ComparisonType;
|
import mage.constants.ComparisonType;
|
||||||
import mage.filter.common.FilterControlledPermanent;
|
import mage.filter.common.FilterControlledPermanent;
|
||||||
import mage.filter.predicate.mageobject.CardTypePredicate;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -22,7 +21,7 @@ public final class ArtificersEpiphany extends CardImpl {
|
||||||
private static final FilterControlledPermanent filter = new FilterControlledPermanent("you control no artifacts");
|
private static final FilterControlledPermanent filter = new FilterControlledPermanent("you control no artifacts");
|
||||||
|
|
||||||
static {
|
static {
|
||||||
filter.add(new CardTypePredicate(CardType.ARTIFACT));
|
filter.add(CardType.ARTIFACT.getPredicate());
|
||||||
}
|
}
|
||||||
|
|
||||||
public ArtificersEpiphany(UUID ownerId, CardSetInfo setInfo) {
|
public ArtificersEpiphany(UUID ownerId, CardSetInfo setInfo) {
|
||||||
|
|
|
@ -11,7 +11,6 @@ import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.*;
|
import mage.constants.*;
|
||||||
import mage.filter.FilterPermanent;
|
import mage.filter.FilterPermanent;
|
||||||
import mage.filter.predicate.mageobject.CardTypePredicate;
|
|
||||||
import mage.filter.predicate.mageobject.SubtypePredicate;
|
import mage.filter.predicate.mageobject.SubtypePredicate;
|
||||||
import mage.game.Game;
|
import mage.game.Game;
|
||||||
import mage.game.permanent.Permanent;
|
import mage.game.permanent.Permanent;
|
||||||
|
@ -25,7 +24,7 @@ public final class ArtificersHex extends CardImpl {
|
||||||
|
|
||||||
private static final FilterPermanent filter = new FilterPermanent("Equipment");
|
private static final FilterPermanent filter = new FilterPermanent("Equipment");
|
||||||
static {
|
static {
|
||||||
filter.add(new CardTypePredicate(CardType.ARTIFACT));
|
filter.add(CardType.ARTIFACT.getPredicate());
|
||||||
filter.add(new SubtypePredicate(SubType.EQUIPMENT));
|
filter.add(new SubtypePredicate(SubType.EQUIPMENT));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -9,7 +9,6 @@ import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.filter.common.FilterControlledPermanent;
|
import mage.filter.common.FilterControlledPermanent;
|
||||||
import mage.filter.predicate.Predicates;
|
import mage.filter.predicate.Predicates;
|
||||||
import mage.filter.predicate.mageobject.CardTypePredicate;
|
|
||||||
import mage.target.common.TargetControlledPermanent;
|
import mage.target.common.TargetControlledPermanent;
|
||||||
import mage.target.common.TargetAnyTarget;
|
import mage.target.common.TargetAnyTarget;
|
||||||
|
|
||||||
|
@ -23,8 +22,8 @@ public final class Artillerize extends CardImpl {
|
||||||
|
|
||||||
static {
|
static {
|
||||||
filter.add(Predicates.or(
|
filter.add(Predicates.or(
|
||||||
new CardTypePredicate(CardType.ARTIFACT),
|
CardType.ARTIFACT.getPredicate(),
|
||||||
new CardTypePredicate(CardType.CREATURE)));
|
CardType.CREATURE.getPredicate()));
|
||||||
}
|
}
|
||||||
|
|
||||||
public Artillerize(UUID ownerId, CardSetInfo setInfo) {
|
public Artillerize(UUID ownerId, CardSetInfo setInfo) {
|
||||||
|
|
|
@ -34,7 +34,7 @@ public final class AsForetold extends CardImpl {
|
||||||
new BeginningOfUpkeepTriggeredAbility(
|
new BeginningOfUpkeepTriggeredAbility(
|
||||||
new AddCountersSourceEffect(
|
new AddCountersSourceEffect(
|
||||||
CounterType.TIME.createInstance(),
|
CounterType.TIME.createInstance(),
|
||||||
new StaticValue(1),
|
StaticValue.get(1),
|
||||||
true),
|
true),
|
||||||
TargetController.YOU,
|
TargetController.YOU,
|
||||||
false));
|
false));
|
||||||
|
|
|
@ -11,7 +11,6 @@ import mage.constants.CardType;
|
||||||
import mage.constants.Outcome;
|
import mage.constants.Outcome;
|
||||||
import mage.filter.common.FilterCreaturePermanent;
|
import mage.filter.common.FilterCreaturePermanent;
|
||||||
import mage.filter.predicate.Predicates;
|
import mage.filter.predicate.Predicates;
|
||||||
import mage.filter.predicate.mageobject.CardTypePredicate;
|
|
||||||
import mage.game.Game;
|
import mage.game.Game;
|
||||||
import mage.game.permanent.Permanent;
|
import mage.game.permanent.Permanent;
|
||||||
import mage.target.TargetPermanent;
|
import mage.target.TargetPermanent;
|
||||||
|
@ -25,7 +24,7 @@ public final class AshesToAshes extends CardImpl {
|
||||||
private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("nonartifact creature");
|
private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("nonartifact creature");
|
||||||
|
|
||||||
static {
|
static {
|
||||||
filter.add(Predicates.not(new CardTypePredicate(CardType.ARTIFACT)));
|
filter.add(Predicates.not(CardType.ARTIFACT.getPredicate()));
|
||||||
}
|
}
|
||||||
|
|
||||||
public AshesToAshes(UUID ownerId, CardSetInfo setInfo) {
|
public AshesToAshes(UUID ownerId, CardSetInfo setInfo) {
|
||||||
|
|
|
@ -17,7 +17,6 @@ import mage.constants.Zone;
|
||||||
import mage.counters.CounterType;
|
import mage.counters.CounterType;
|
||||||
import mage.filter.common.FilterCreaturePermanent;
|
import mage.filter.common.FilterCreaturePermanent;
|
||||||
import mage.filter.predicate.Predicates;
|
import mage.filter.predicate.Predicates;
|
||||||
import mage.filter.predicate.mageobject.CardTypePredicate;
|
|
||||||
import mage.target.common.TargetCreaturePermanent;
|
import mage.target.common.TargetCreaturePermanent;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -30,7 +29,7 @@ public final class AshnodsTransmogrant extends CardImpl {
|
||||||
private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("nonartifact creature");
|
private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("nonartifact creature");
|
||||||
|
|
||||||
static {
|
static {
|
||||||
filter.add(Predicates.not(new CardTypePredicate(CardType.ARTIFACT)));
|
filter.add(Predicates.not(CardType.ARTIFACT.getPredicate()));
|
||||||
}
|
}
|
||||||
|
|
||||||
public AshnodsTransmogrant(UUID ownerId, CardSetInfo setInfo) {
|
public AshnodsTransmogrant(UUID ownerId, CardSetInfo setInfo) {
|
||||||
|
|
|
@ -13,7 +13,6 @@ import mage.constants.Duration;
|
||||||
import mage.constants.SubType;
|
import mage.constants.SubType;
|
||||||
import mage.constants.Zone;
|
import mage.constants.Zone;
|
||||||
import mage.filter.common.FilterControlledPermanent;
|
import mage.filter.common.FilterControlledPermanent;
|
||||||
import mage.filter.predicate.mageobject.CardTypePredicate;
|
|
||||||
import mage.target.common.TargetControlledPermanent;
|
import mage.target.common.TargetControlledPermanent;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -25,7 +24,7 @@ public final class Atog extends CardImpl {
|
||||||
private static final FilterControlledPermanent filter = new FilterControlledPermanent("an artifact");
|
private static final FilterControlledPermanent filter = new FilterControlledPermanent("an artifact");
|
||||||
|
|
||||||
static {
|
static {
|
||||||
filter.add(new CardTypePredicate(CardType.ARTIFACT));
|
filter.add(CardType.ARTIFACT.getPredicate());
|
||||||
}
|
}
|
||||||
|
|
||||||
public Atog(UUID ownerId, CardSetInfo setInfo) {
|
public Atog(UUID ownerId, CardSetInfo setInfo) {
|
||||||
|
|
|
@ -2,7 +2,6 @@ package mage.cards.a;
|
||||||
|
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.abilities.Ability;
|
|
||||||
import mage.abilities.common.DiesTriggeredAbility;
|
import mage.abilities.common.DiesTriggeredAbility;
|
||||||
import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition;
|
import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition;
|
||||||
import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
|
import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
|
||||||
|
@ -14,7 +13,6 @@ import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.TargetController;
|
import mage.constants.TargetController;
|
||||||
import mage.filter.FilterPermanent;
|
import mage.filter.FilterPermanent;
|
||||||
import mage.filter.predicate.mageobject.CardTypePredicate;
|
|
||||||
import mage.filter.predicate.mageobject.SubtypePredicate;
|
import mage.filter.predicate.mageobject.SubtypePredicate;
|
||||||
import mage.filter.predicate.permanent.ControllerPredicate;
|
import mage.filter.predicate.permanent.ControllerPredicate;
|
||||||
|
|
||||||
|
@ -28,7 +26,7 @@ public final class AttendantOfVraska extends CardImpl {
|
||||||
|
|
||||||
static {
|
static {
|
||||||
filter.add(new ControllerPredicate(TargetController.YOU));
|
filter.add(new ControllerPredicate(TargetController.YOU));
|
||||||
filter.add(new CardTypePredicate(CardType.PLANESWALKER));
|
filter.add(CardType.PLANESWALKER.getPredicate());
|
||||||
filter.add(new SubtypePredicate(SubType.VRASKA));
|
filter.add(new SubtypePredicate(SubType.VRASKA));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -15,7 +15,6 @@ import mage.constants.Zone;
|
||||||
import mage.filter.FilterCard;
|
import mage.filter.FilterCard;
|
||||||
import mage.filter.common.FilterInstantOrSorceryCard;
|
import mage.filter.common.FilterInstantOrSorceryCard;
|
||||||
import mage.filter.predicate.Predicates;
|
import mage.filter.predicate.Predicates;
|
||||||
import mage.filter.predicate.mageobject.CardTypePredicate;
|
|
||||||
import mage.game.Game;
|
import mage.game.Game;
|
||||||
import mage.players.Player;
|
import mage.players.Player;
|
||||||
import mage.target.TargetCard;
|
import mage.target.TargetCard;
|
||||||
|
@ -29,7 +28,7 @@ public final class AugurOfBolas extends CardImpl {
|
||||||
private static final FilterCard filter = new FilterCard("an instant or sorcery card");
|
private static final FilterCard filter = new FilterCard("an instant or sorcery card");
|
||||||
|
|
||||||
static {
|
static {
|
||||||
filter.add(Predicates.or(new CardTypePredicate(CardType.INSTANT), new CardTypePredicate(CardType.SORCERY)));
|
filter.add(Predicates.or(CardType.INSTANT.getPredicate(), CardType.SORCERY.getPredicate()));
|
||||||
}
|
}
|
||||||
|
|
||||||
public AugurOfBolas(UUID ownerId, CardSetInfo setInfo) {
|
public AugurOfBolas(UUID ownerId, CardSetInfo setInfo) {
|
||||||
|
|
|
@ -10,7 +10,6 @@ import mage.constants.CardType;
|
||||||
import mage.constants.Outcome;
|
import mage.constants.Outcome;
|
||||||
import mage.constants.SubType;
|
import mage.constants.SubType;
|
||||||
import mage.filter.FilterPermanent;
|
import mage.filter.FilterPermanent;
|
||||||
import mage.filter.predicate.mageobject.CardTypePredicate;
|
|
||||||
import mage.filter.predicate.mageobject.SubtypePredicate;
|
import mage.filter.predicate.mageobject.SubtypePredicate;
|
||||||
import mage.game.Game;
|
import mage.game.Game;
|
||||||
import mage.game.permanent.Permanent;
|
import mage.game.permanent.Permanent;
|
||||||
|
@ -55,7 +54,7 @@ public final class AuraBarbs extends CardImpl {
|
||||||
public boolean apply(Game game, Ability source) {
|
public boolean apply(Game game, Ability source) {
|
||||||
|
|
||||||
FilterPermanent filterEnchantments = new FilterPermanent();
|
FilterPermanent filterEnchantments = new FilterPermanent();
|
||||||
filterEnchantments.add(new CardTypePredicate(CardType.ENCHANTMENT));
|
filterEnchantments.add(CardType.ENCHANTMENT.getPredicate());
|
||||||
|
|
||||||
for (Permanent permanent : game.getBattlefield().getActivePermanents(filterEnchantments, source.getControllerId(), source.getSourceId(), game)) {
|
for (Permanent permanent : game.getBattlefield().getActivePermanents(filterEnchantments, source.getControllerId(), source.getSourceId(), game)) {
|
||||||
Player controller = game.getPlayer(permanent.getControllerId());
|
Player controller = game.getPlayer(permanent.getControllerId());
|
||||||
|
|
|
@ -12,7 +12,6 @@ import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.SubType;
|
import mage.constants.SubType;
|
||||||
import mage.filter.FilterCard;
|
import mage.filter.FilterCard;
|
||||||
import mage.filter.predicate.mageobject.CardTypePredicate;
|
|
||||||
import mage.target.common.TargetCardInYourGraveyard;
|
import mage.target.common.TargetCardInYourGraveyard;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -23,7 +22,7 @@ public final class Auramancer extends CardImpl {
|
||||||
private static final FilterCard filter = new FilterCard("enchantment card from your graveyard");
|
private static final FilterCard filter = new FilterCard("enchantment card from your graveyard");
|
||||||
|
|
||||||
static {
|
static {
|
||||||
filter.add(new CardTypePredicate(CardType.ENCHANTMENT));
|
filter.add(CardType.ENCHANTMENT.getPredicate());
|
||||||
}
|
}
|
||||||
|
|
||||||
public Auramancer(UUID ownerId, CardSetInfo setInfo) {
|
public Auramancer(UUID ownerId, CardSetInfo setInfo) {
|
||||||
|
|
|
@ -13,7 +13,6 @@ import mage.constants.Duration;
|
||||||
import mage.constants.SubType;
|
import mage.constants.SubType;
|
||||||
import mage.constants.Zone;
|
import mage.constants.Zone;
|
||||||
import mage.filter.common.FilterControlledPermanent;
|
import mage.filter.common.FilterControlledPermanent;
|
||||||
import mage.filter.predicate.mageobject.CardTypePredicate;
|
|
||||||
import mage.target.common.TargetControlledPermanent;
|
import mage.target.common.TargetControlledPermanent;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -25,7 +24,7 @@ public final class Auratog extends CardImpl {
|
||||||
private static final FilterControlledPermanent filter = new FilterControlledPermanent("an enchantment");
|
private static final FilterControlledPermanent filter = new FilterControlledPermanent("an enchantment");
|
||||||
|
|
||||||
static {
|
static {
|
||||||
filter.add(new CardTypePredicate(CardType.ENCHANTMENT));
|
filter.add(CardType.ENCHANTMENT.getPredicate());
|
||||||
}
|
}
|
||||||
|
|
||||||
public Auratog(UUID ownerId, CardSetInfo setInfo) {
|
public Auratog(UUID ownerId, CardSetInfo setInfo) {
|
||||||
|
|
|
@ -15,7 +15,6 @@ import mage.constants.Duration;
|
||||||
import mage.constants.SubType;
|
import mage.constants.SubType;
|
||||||
import mage.constants.Zone;
|
import mage.constants.Zone;
|
||||||
import mage.filter.common.FilterCreaturePermanent;
|
import mage.filter.common.FilterCreaturePermanent;
|
||||||
import mage.filter.predicate.mageobject.CardTypePredicate;
|
|
||||||
import mage.target.common.TargetCreaturePermanent;
|
import mage.target.common.TargetCreaturePermanent;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -27,7 +26,7 @@ public final class AuriokSiegeSled extends CardImpl {
|
||||||
private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("artifact creature");
|
private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("artifact creature");
|
||||||
|
|
||||||
static {
|
static {
|
||||||
filter.add(new CardTypePredicate(CardType.ARTIFACT));
|
filter.add(CardType.ARTIFACT.getPredicate());
|
||||||
}
|
}
|
||||||
|
|
||||||
public AuriokSiegeSled(UUID ownerId, CardSetInfo setInfo) {
|
public AuriokSiegeSled(UUID ownerId, CardSetInfo setInfo) {
|
||||||
|
|
|
@ -15,7 +15,6 @@ import mage.constants.ColoredManaSymbol;
|
||||||
import mage.constants.SubType;
|
import mage.constants.SubType;
|
||||||
import mage.constants.Zone;
|
import mage.constants.Zone;
|
||||||
import mage.filter.FilterPermanent;
|
import mage.filter.FilterPermanent;
|
||||||
import mage.filter.predicate.mageobject.CardTypePredicate;
|
|
||||||
import mage.target.TargetPermanent;
|
import mage.target.TargetPermanent;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -26,7 +25,7 @@ public final class AuriokTransfixer extends CardImpl {
|
||||||
private static final FilterPermanent filter = new FilterPermanent("artifact");
|
private static final FilterPermanent filter = new FilterPermanent("artifact");
|
||||||
|
|
||||||
static {
|
static {
|
||||||
filter.add(new CardTypePredicate(CardType.ARTIFACT));
|
filter.add(CardType.ARTIFACT.getPredicate());
|
||||||
}
|
}
|
||||||
|
|
||||||
public AuriokTransfixer(UUID ownerId, CardSetInfo setInfo) {
|
public AuriokTransfixer(UUID ownerId, CardSetInfo setInfo) {
|
||||||
|
|
|
@ -40,7 +40,7 @@ public final class Aurochs extends CardImpl {
|
||||||
this.addAbility(TrampleAbility.getInstance());
|
this.addAbility(TrampleAbility.getInstance());
|
||||||
// Whenever Aurochs attacks, it gets +1/+0 until end of turn for each other attacking Aurochs.
|
// Whenever Aurochs attacks, it gets +1/+0 until end of turn for each other attacking Aurochs.
|
||||||
PermanentsOnBattlefieldCount value = new PermanentsOnBattlefieldCount(filter1, 1);
|
PermanentsOnBattlefieldCount value = new PermanentsOnBattlefieldCount(filter1, 1);
|
||||||
this.addAbility(new AttacksTriggeredAbility(new BoostSourceEffect(value, new StaticValue(0), Duration.EndOfTurn, true), false));
|
this.addAbility(new AttacksTriggeredAbility(new BoostSourceEffect(value, StaticValue.get(0), Duration.EndOfTurn, true), false));
|
||||||
}
|
}
|
||||||
|
|
||||||
public Aurochs(final Aurochs card) {
|
public Aurochs(final Aurochs card) {
|
||||||
|
|
|
@ -49,7 +49,7 @@ public final class AurochsHerd extends CardImpl {
|
||||||
new TargetCardInLibrary(filter1), true), true));
|
new TargetCardInLibrary(filter1), true), true));
|
||||||
// Whenever Aurochs Herd attacks, it gets +1/+0 until end of turn for each other attacking Aurochs.
|
// Whenever Aurochs Herd attacks, it gets +1/+0 until end of turn for each other attacking Aurochs.
|
||||||
PermanentsOnBattlefieldCount value = new PermanentsOnBattlefieldCount(filter2, 1);
|
PermanentsOnBattlefieldCount value = new PermanentsOnBattlefieldCount(filter2, 1);
|
||||||
this.addAbility(new AttacksTriggeredAbility(new BoostSourceEffect(value, new StaticValue(0), Duration.EndOfTurn, true), false));
|
this.addAbility(new AttacksTriggeredAbility(new BoostSourceEffect(value, StaticValue.get(0), Duration.EndOfTurn, true), false));
|
||||||
}
|
}
|
||||||
|
|
||||||
public AurochsHerd(final AurochsHerd card) {
|
public AurochsHerd(final AurochsHerd card) {
|
||||||
|
|
|
@ -14,7 +14,6 @@ import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.SubType;
|
import mage.constants.SubType;
|
||||||
import mage.filter.common.FilterControlledPermanent;
|
import mage.filter.common.FilterControlledPermanent;
|
||||||
import mage.filter.predicate.mageobject.CardTypePredicate;
|
|
||||||
import mage.filter.predicate.mageobject.SubtypePredicate;
|
import mage.filter.predicate.mageobject.SubtypePredicate;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -26,7 +25,7 @@ public final class AvidReclaimer extends CardImpl {
|
||||||
private static final FilterControlledPermanent filter = new FilterControlledPermanent();
|
private static final FilterControlledPermanent filter = new FilterControlledPermanent();
|
||||||
|
|
||||||
static {
|
static {
|
||||||
filter.add(new CardTypePredicate(CardType.PLANESWALKER));
|
filter.add(CardType.PLANESWALKER.getPredicate());
|
||||||
filter.add(new SubtypePredicate(SubType.NISSA));
|
filter.add(new SubtypePredicate(SubType.NISSA));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -9,7 +9,6 @@ import mage.constants.SubType;
|
||||||
import mage.filter.FilterSpell;
|
import mage.filter.FilterSpell;
|
||||||
import mage.filter.StaticFilters;
|
import mage.filter.StaticFilters;
|
||||||
import mage.filter.predicate.Predicates;
|
import mage.filter.predicate.Predicates;
|
||||||
import mage.filter.predicate.mageobject.CardTypePredicate;
|
|
||||||
import mage.filter.predicate.mageobject.SubtypePredicate;
|
import mage.filter.predicate.mageobject.SubtypePredicate;
|
||||||
import mage.filter.predicate.other.TargetsPermanentPredicate;
|
import mage.filter.predicate.other.TargetsPermanentPredicate;
|
||||||
import mage.target.TargetSpell;
|
import mage.target.TargetSpell;
|
||||||
|
@ -25,7 +24,7 @@ public final class AvoidFate extends CardImpl {
|
||||||
private static final FilterSpell filter = new FilterSpell("instant or Aura spell that targets a permanent you control");
|
private static final FilterSpell filter = new FilterSpell("instant or Aura spell that targets a permanent you control");
|
||||||
|
|
||||||
static {
|
static {
|
||||||
filter.add(Predicates.or(new CardTypePredicate(CardType.INSTANT), new SubtypePredicate(SubType.AURA)));
|
filter.add(Predicates.or(CardType.INSTANT.getPredicate(), new SubtypePredicate(SubType.AURA)));
|
||||||
filter.add(new TargetsPermanentPredicate(StaticFilters.FILTER_CONTROLLED_PERMANENT));
|
filter.add(new TargetsPermanentPredicate(StaticFilters.FILTER_CONTROLLED_PERMANENT));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -10,7 +10,6 @@ import mage.constants.CardType;
|
||||||
import mage.constants.TargetController;
|
import mage.constants.TargetController;
|
||||||
import mage.filter.FilterPermanent;
|
import mage.filter.FilterPermanent;
|
||||||
import mage.filter.predicate.Predicates;
|
import mage.filter.predicate.Predicates;
|
||||||
import mage.filter.predicate.mageobject.CardTypePredicate;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -22,8 +21,8 @@ public final class Awakening extends CardImpl {
|
||||||
|
|
||||||
static {
|
static {
|
||||||
filter.add(Predicates.or(
|
filter.add(Predicates.or(
|
||||||
new CardTypePredicate(CardType.CREATURE),
|
CardType.CREATURE.getPredicate(),
|
||||||
new CardTypePredicate(CardType.LAND)
|
CardType.LAND.getPredicate()
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -16,7 +16,6 @@ import mage.constants.SuperType;
|
||||||
import mage.constants.Zone;
|
import mage.constants.Zone;
|
||||||
import mage.filter.FilterCard;
|
import mage.filter.FilterCard;
|
||||||
import mage.filter.predicate.Predicates;
|
import mage.filter.predicate.Predicates;
|
||||||
import mage.filter.predicate.mageobject.CardTypePredicate;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -27,8 +26,8 @@ public final class AzcantaTheSunkenRuin extends CardImpl {
|
||||||
private static final FilterCard filter = new FilterCard("noncreature, nonland card");
|
private static final FilterCard filter = new FilterCard("noncreature, nonland card");
|
||||||
|
|
||||||
static {
|
static {
|
||||||
filter.add(Predicates.not(new CardTypePredicate(CardType.CREATURE)));
|
filter.add(Predicates.not(CardType.CREATURE.getPredicate()));
|
||||||
filter.add(Predicates.not(new CardTypePredicate(CardType.LAND)));
|
filter.add(Predicates.not(CardType.LAND.getPredicate()));
|
||||||
}
|
}
|
||||||
|
|
||||||
public AzcantaTheSunkenRuin(UUID ownerId, CardSetInfo setInfo) {
|
public AzcantaTheSunkenRuin(UUID ownerId, CardSetInfo setInfo) {
|
||||||
|
@ -48,7 +47,7 @@ public final class AzcantaTheSunkenRuin extends CardImpl {
|
||||||
Ability ability = new SimpleActivatedAbility(
|
Ability ability = new SimpleActivatedAbility(
|
||||||
Zone.BATTLEFIELD,
|
Zone.BATTLEFIELD,
|
||||||
new LookLibraryAndPickControllerEffect(
|
new LookLibraryAndPickControllerEffect(
|
||||||
new StaticValue(4), false, new StaticValue(1),
|
StaticValue.get(4), false, StaticValue.get(1),
|
||||||
filter, Zone.LIBRARY, false, true, true
|
filter, Zone.LIBRARY, false, true, true
|
||||||
), new ManaCostsImpl<>("{2}{U}")
|
), new ManaCostsImpl<>("{2}{U}")
|
||||||
);
|
);
|
||||||
|
|
|
@ -25,7 +25,7 @@ public final class BalduvianRage extends CardImpl {
|
||||||
super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{X}{R}");
|
super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{X}{R}");
|
||||||
|
|
||||||
// Target attacking creature gets +X/+0 until end of turn.
|
// Target attacking creature gets +X/+0 until end of turn.
|
||||||
this.getSpellAbility().addEffect(new BoostTargetEffect(ManacostVariableValue.instance, new StaticValue(0), Duration.EndOfTurn));
|
this.getSpellAbility().addEffect(new BoostTargetEffect(ManacostVariableValue.instance, StaticValue.get(0), Duration.EndOfTurn));
|
||||||
this.getSpellAbility().addTarget(new TargetCreaturePermanent(new FilterAttackingCreature()));
|
this.getSpellAbility().addTarget(new TargetCreaturePermanent(new FilterAttackingCreature()));
|
||||||
|
|
||||||
// Draw a card at the beginning of the next turn's upkeep.
|
// Draw a card at the beginning of the next turn's upkeep.
|
||||||
|
|
|
@ -15,7 +15,6 @@ import mage.constants.SubType;
|
||||||
import mage.counters.CounterType;
|
import mage.counters.CounterType;
|
||||||
import mage.filter.FilterPermanent;
|
import mage.filter.FilterPermanent;
|
||||||
import mage.filter.predicate.Predicates;
|
import mage.filter.predicate.Predicates;
|
||||||
import mage.filter.predicate.mageobject.CardTypePredicate;
|
|
||||||
import mage.game.Game;
|
import mage.game.Game;
|
||||||
import mage.game.permanent.Permanent;
|
import mage.game.permanent.Permanent;
|
||||||
|
|
||||||
|
@ -51,8 +50,8 @@ class BaneOfProgressEffect extends OneShotEffect {
|
||||||
private static final FilterPermanent filter = new FilterPermanent();
|
private static final FilterPermanent filter = new FilterPermanent();
|
||||||
static {
|
static {
|
||||||
filter.add(Predicates.or(
|
filter.add(Predicates.or(
|
||||||
new CardTypePredicate(CardType.ARTIFACT),
|
CardType.ARTIFACT.getPredicate(),
|
||||||
new CardTypePredicate(CardType.ENCHANTMENT)));
|
CardType.ENCHANTMENT.getPredicate()));
|
||||||
}
|
}
|
||||||
public BaneOfProgressEffect() {
|
public BaneOfProgressEffect() {
|
||||||
super(Outcome.DestroyPermanent);
|
super(Outcome.DestroyPermanent);
|
||||||
|
|
|
@ -10,7 +10,6 @@ import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.filter.FilterPermanent;
|
import mage.filter.FilterPermanent;
|
||||||
import mage.filter.predicate.Predicates;
|
import mage.filter.predicate.Predicates;
|
||||||
import mage.filter.predicate.mageobject.CardTypePredicate;
|
|
||||||
import mage.target.TargetPermanent;
|
import mage.target.TargetPermanent;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -23,9 +22,9 @@ public final class BanishingStroke extends CardImpl {
|
||||||
|
|
||||||
static {
|
static {
|
||||||
filter.add(Predicates.or(
|
filter.add(Predicates.or(
|
||||||
new CardTypePredicate(CardType.ARTIFACT),
|
CardType.ARTIFACT.getPredicate(),
|
||||||
new CardTypePredicate(CardType.CREATURE),
|
CardType.CREATURE.getPredicate(),
|
||||||
new CardTypePredicate(CardType.ENCHANTMENT)));
|
CardType.ENCHANTMENT.getPredicate()));
|
||||||
}
|
}
|
||||||
|
|
||||||
public BanishingStroke(UUID ownerId, CardSetInfo setInfo) {
|
public BanishingStroke(UUID ownerId, CardSetInfo setInfo) {
|
||||||
|
|
|
@ -9,7 +9,6 @@ import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.filter.FilterPermanent;
|
import mage.filter.FilterPermanent;
|
||||||
import mage.filter.predicate.Predicates;
|
import mage.filter.predicate.Predicates;
|
||||||
import mage.filter.predicate.mageobject.CardTypePredicate;
|
|
||||||
import mage.target.TargetPermanent;
|
import mage.target.TargetPermanent;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -21,9 +20,9 @@ public final class BanishmentDecree extends CardImpl {
|
||||||
|
|
||||||
static {
|
static {
|
||||||
filter.add(Predicates.or(
|
filter.add(Predicates.or(
|
||||||
new CardTypePredicate(CardType.ARTIFACT),
|
CardType.ARTIFACT.getPredicate(),
|
||||||
new CardTypePredicate(CardType.CREATURE),
|
CardType.CREATURE.getPredicate(),
|
||||||
new CardTypePredicate(CardType.ENCHANTMENT)));
|
CardType.ENCHANTMENT.getPredicate()));
|
||||||
}
|
}
|
||||||
|
|
||||||
public BanishmentDecree (UUID ownerId, CardSetInfo setInfo) {
|
public BanishmentDecree (UUID ownerId, CardSetInfo setInfo) {
|
||||||
|
|
|
@ -10,7 +10,6 @@ import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.filter.FilterSpell;
|
import mage.filter.FilterSpell;
|
||||||
import mage.filter.predicate.mageobject.CardTypePredicate;
|
|
||||||
import mage.target.TargetSpell;
|
import mage.target.TargetSpell;
|
||||||
import mage.target.common.TargetArtifactPermanent;
|
import mage.target.common.TargetArtifactPermanent;
|
||||||
import mage.target.common.TargetCreaturePermanent;
|
import mage.target.common.TargetCreaturePermanent;
|
||||||
|
@ -24,7 +23,7 @@ public final class BantCharm extends CardImpl {
|
||||||
private static final FilterSpell filter = new FilterSpell("instant spell");
|
private static final FilterSpell filter = new FilterSpell("instant spell");
|
||||||
|
|
||||||
static {
|
static {
|
||||||
filter.add(new CardTypePredicate(CardType.INSTANT));
|
filter.add(CardType.INSTANT.getPredicate());
|
||||||
}
|
}
|
||||||
|
|
||||||
public BantCharm(UUID ownerId, CardSetInfo setInfo) {
|
public BantCharm(UUID ownerId, CardSetInfo setInfo) {
|
||||||
|
|
|
@ -14,7 +14,6 @@ import mage.cards.CardSetInfo;
|
||||||
import mage.constants.*;
|
import mage.constants.*;
|
||||||
import mage.filter.FilterCard;
|
import mage.filter.FilterCard;
|
||||||
import mage.filter.predicate.Predicates;
|
import mage.filter.predicate.Predicates;
|
||||||
import mage.filter.predicate.mageobject.CardTypePredicate;
|
|
||||||
import mage.filter.predicate.mageobject.SubtypePredicate;
|
import mage.filter.predicate.mageobject.SubtypePredicate;
|
||||||
import mage.filter.predicate.mageobject.SupertypePredicate;
|
import mage.filter.predicate.mageobject.SupertypePredicate;
|
||||||
import mage.target.common.TargetCardInLibrary;
|
import mage.target.common.TargetCardInLibrary;
|
||||||
|
@ -27,7 +26,7 @@ public final class BantPanorama extends CardImpl {
|
||||||
private static final FilterCard filter = new FilterCard("a basic Forest, Plains, or Island card");
|
private static final FilterCard filter = new FilterCard("a basic Forest, Plains, or Island card");
|
||||||
|
|
||||||
static {
|
static {
|
||||||
filter.add(new CardTypePredicate(CardType.LAND));
|
filter.add(CardType.LAND.getPredicate());
|
||||||
filter.add(new SupertypePredicate(SuperType.BASIC));
|
filter.add(new SupertypePredicate(SuperType.BASIC));
|
||||||
filter.add(Predicates.or(
|
filter.add(Predicates.or(
|
||||||
new SubtypePredicate(SubType.FOREST),
|
new SubtypePredicate(SubType.FOREST),
|
||||||
|
|
|
@ -14,7 +14,6 @@ import mage.constants.SuperType;
|
||||||
import mage.constants.Zone;
|
import mage.constants.Zone;
|
||||||
import mage.filter.FilterCard;
|
import mage.filter.FilterCard;
|
||||||
import mage.filter.predicate.Predicates;
|
import mage.filter.predicate.Predicates;
|
||||||
import mage.filter.predicate.mageobject.CardTypePredicate;
|
|
||||||
|
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
||||||
|
@ -28,8 +27,8 @@ public final class BaralChiefOfCompliance extends CardImpl {
|
||||||
|
|
||||||
static {
|
static {
|
||||||
filter.add(Predicates.or(
|
filter.add(Predicates.or(
|
||||||
new CardTypePredicate(CardType.INSTANT),
|
CardType.INSTANT.getPredicate(),
|
||||||
new CardTypePredicate(CardType.SORCERY)
|
CardType.SORCERY.getPredicate()
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -9,7 +9,6 @@ import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.filter.FilterPermanent;
|
import mage.filter.FilterPermanent;
|
||||||
import mage.filter.predicate.Predicates;
|
import mage.filter.predicate.Predicates;
|
||||||
import mage.filter.predicate.mageobject.CardTypePredicate;
|
|
||||||
import mage.target.TargetPermanent;
|
import mage.target.TargetPermanent;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -21,8 +20,8 @@ public final class BaralsExpertise extends CardImpl {
|
||||||
private static final FilterPermanent filter = new FilterPermanent("artifacts and/or creatures");
|
private static final FilterPermanent filter = new FilterPermanent("artifacts and/or creatures");
|
||||||
|
|
||||||
static {
|
static {
|
||||||
filter.add(Predicates.or(new CardTypePredicate(CardType.ARTIFACT),
|
filter.add(Predicates.or(CardType.ARTIFACT.getPredicate(),
|
||||||
new CardTypePredicate(CardType.CREATURE)));
|
CardType.CREATURE.getPredicate()));
|
||||||
}
|
}
|
||||||
|
|
||||||
public BaralsExpertise(UUID ownerId, CardSetInfo setInfo) {
|
public BaralsExpertise(UUID ownerId, CardSetInfo setInfo) {
|
||||||
|
|
|
@ -14,7 +14,6 @@ import mage.constants.CardType;
|
||||||
import mage.constants.SubType;
|
import mage.constants.SubType;
|
||||||
import mage.constants.Zone;
|
import mage.constants.Zone;
|
||||||
import mage.filter.common.FilterControlledPermanent;
|
import mage.filter.common.FilterControlledPermanent;
|
||||||
import mage.filter.predicate.mageobject.CardTypePredicate;
|
|
||||||
import mage.target.common.TargetControlledPermanent;
|
import mage.target.common.TargetControlledPermanent;
|
||||||
import mage.target.common.TargetAnyTarget;
|
import mage.target.common.TargetAnyTarget;
|
||||||
|
|
||||||
|
@ -28,7 +27,7 @@ public final class BarrageOgre extends CardImpl {
|
||||||
private static final FilterControlledPermanent filter = new FilterControlledPermanent("an artifact");
|
private static final FilterControlledPermanent filter = new FilterControlledPermanent("an artifact");
|
||||||
|
|
||||||
static {
|
static {
|
||||||
filter.add(new CardTypePredicate(CardType.ARTIFACT));
|
filter.add(CardType.ARTIFACT.getPredicate());
|
||||||
}
|
}
|
||||||
|
|
||||||
public BarrageOgre (UUID ownerId, CardSetInfo setInfo) {
|
public BarrageOgre (UUID ownerId, CardSetInfo setInfo) {
|
||||||
|
|
|
@ -7,7 +7,6 @@ import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.filter.common.FilterControlledPermanent;
|
import mage.filter.common.FilterControlledPermanent;
|
||||||
import mage.filter.predicate.mageobject.CardTypePredicate;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -18,7 +17,7 @@ public final class BarterInBlood extends CardImpl {
|
||||||
private static final FilterControlledPermanent filter = new FilterControlledPermanent("creature");
|
private static final FilterControlledPermanent filter = new FilterControlledPermanent("creature");
|
||||||
|
|
||||||
static {
|
static {
|
||||||
filter.add(new CardTypePredicate(CardType.CREATURE));
|
filter.add(CardType.CREATURE.getPredicate());
|
||||||
}
|
}
|
||||||
|
|
||||||
public BarterInBlood(UUID ownerId, CardSetInfo setInfo) {
|
public BarterInBlood(UUID ownerId, CardSetInfo setInfo) {
|
||||||
|
|
|
@ -13,7 +13,6 @@ import mage.cards.CardSetInfo;
|
||||||
import mage.constants.*;
|
import mage.constants.*;
|
||||||
import mage.filter.common.FilterControlledPermanent;
|
import mage.filter.common.FilterControlledPermanent;
|
||||||
import mage.filter.predicate.Predicates;
|
import mage.filter.predicate.Predicates;
|
||||||
import mage.filter.predicate.mageobject.CardTypePredicate;
|
|
||||||
import mage.game.Game;
|
import mage.game.Game;
|
||||||
import mage.game.permanent.Permanent;
|
import mage.game.permanent.Permanent;
|
||||||
import mage.players.Player;
|
import mage.players.Player;
|
||||||
|
@ -30,9 +29,9 @@ public final class BazaarTrader extends CardImpl {
|
||||||
|
|
||||||
static {
|
static {
|
||||||
filter.add(Predicates.or(
|
filter.add(Predicates.or(
|
||||||
new CardTypePredicate(CardType.ARTIFACT),
|
CardType.ARTIFACT.getPredicate(),
|
||||||
new CardTypePredicate(CardType.CREATURE),
|
CardType.CREATURE.getPredicate(),
|
||||||
new CardTypePredicate(CardType.LAND)));
|
CardType.LAND.getPredicate()));
|
||||||
}
|
}
|
||||||
|
|
||||||
public BazaarTrader(UUID ownerId, CardSetInfo setInfo) {
|
public BazaarTrader(UUID ownerId, CardSetInfo setInfo) {
|
||||||
|
|
|
@ -9,7 +9,6 @@ import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.filter.FilterCard;
|
import mage.filter.FilterCard;
|
||||||
import mage.filter.predicate.Predicates;
|
import mage.filter.predicate.Predicates;
|
||||||
import mage.filter.predicate.mageobject.CardTypePredicate;
|
|
||||||
import mage.target.Target;
|
import mage.target.Target;
|
||||||
import mage.target.common.TargetCardInGraveyard;
|
import mage.target.common.TargetCardInGraveyard;
|
||||||
|
|
||||||
|
@ -22,8 +21,8 @@ public final class BeaconOfUnrest extends CardImpl {
|
||||||
|
|
||||||
static {
|
static {
|
||||||
filter.add(Predicates.or(
|
filter.add(Predicates.or(
|
||||||
new CardTypePredicate(CardType.ARTIFACT),
|
CardType.ARTIFACT.getPredicate(),
|
||||||
new CardTypePredicate(CardType.CREATURE)));
|
CardType.CREATURE.getPredicate()));
|
||||||
}
|
}
|
||||||
|
|
||||||
public BeaconOfUnrest(UUID ownerId, CardSetInfo setInfo) {
|
public BeaconOfUnrest(UUID ownerId, CardSetInfo setInfo) {
|
||||||
|
|
|
@ -75,7 +75,7 @@ class BedazzleEffect extends OneShotEffect {
|
||||||
if (permanent != null) {
|
if (permanent != null) {
|
||||||
permanent.destroy(source.getSourceId(), game, false);
|
permanent.destroy(source.getSourceId(), game, false);
|
||||||
}
|
}
|
||||||
Effect effect = new DamageTargetEffect(new StaticValue(2), true, "", true);
|
Effect effect = new DamageTargetEffect(StaticValue.get(2), true, "", true);
|
||||||
effect.setTargetPointer(new FixedTarget(source.getTargets().get(1).getFirstTarget(), game));
|
effect.setTargetPointer(new FixedTarget(source.getTargets().get(1).getFirstTarget(), game));
|
||||||
effect.apply(game, source);
|
effect.apply(game, source);
|
||||||
return true;
|
return true;
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue