mirror of
https://github.com/correl/mage.git
synced 2024-12-26 11:09:27 +00:00
replaced StaticValue with singletons
This commit is contained in:
parent
7f0d793544
commit
9a603fbaab
318 changed files with 440 additions and 435 deletions
|
@ -59,7 +59,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. " +
|
||||||
|
|
|
@ -27,7 +27,7 @@ public final class AdventurousImpulse extends CardImpl {
|
||||||
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));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -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. "
|
||||||
|
|
|
@ -46,7 +46,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) {
|
||||||
|
|
|
@ -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);
|
||||||
|
|
||||||
|
|
|
@ -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));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -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));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -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) {
|
||||||
|
|
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
|
@ -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));
|
||||||
|
|
|
@ -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"));
|
||||||
|
|
|
@ -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));
|
||||||
|
|
|
@ -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) {
|
||||||
|
|
|
@ -48,7 +48,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.
|
||||||
|
|
|
@ -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;
|
||||||
|
|
|
@ -75,7 +75,7 @@ class BelltowerSphinxEffect extends TriggeredAbilityImpl {
|
||||||
Player player = game.getPlayer(controller);
|
Player player = game.getPlayer(controller);
|
||||||
if (player != null) {
|
if (player != null) {
|
||||||
getEffects().get(0).setTargetPointer(new FixedTarget(player.getId()));
|
getEffects().get(0).setTargetPointer(new FixedTarget(player.getId()));
|
||||||
((PutLibraryIntoGraveTargetEffect) getEffects().get(0)).setAmount(new StaticValue(event.getAmount()));
|
((PutLibraryIntoGraveTargetEffect) getEffects().get(0)).setAmount(StaticValue.get(event.getAmount()));
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -39,7 +39,7 @@ public final class BenalishHonorGuard extends CardImpl {
|
||||||
|
|
||||||
// Benalish Honor Guard gets +1/+0 for each legendary creature you control.
|
// Benalish Honor Guard gets +1/+0 for each legendary creature you control.
|
||||||
PermanentsOnBattlefieldCount count = new PermanentsOnBattlefieldCount(filter);
|
PermanentsOnBattlefieldCount count = new PermanentsOnBattlefieldCount(filter);
|
||||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostSourceEffect(count, new StaticValue(0), Duration.WhileOnBattlefield)));
|
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostSourceEffect(count, StaticValue.get(0), Duration.WhileOnBattlefield)));
|
||||||
}
|
}
|
||||||
|
|
||||||
public BenalishHonorGuard(final BenalishHonorGuard card) {
|
public BenalishHonorGuard(final BenalishHonorGuard card) {
|
||||||
|
|
|
@ -43,7 +43,7 @@ public final class Berserk extends CardImpl {
|
||||||
Effect effect = new GainAbilityTargetEffect(TrampleAbility.getInstance(), Duration.EndOfTurn);
|
Effect effect = new GainAbilityTargetEffect(TrampleAbility.getInstance(), Duration.EndOfTurn);
|
||||||
effect.setText("Target creature gains trample");
|
effect.setText("Target creature gains trample");
|
||||||
this.getSpellAbility().addEffect(effect);
|
this.getSpellAbility().addEffect(effect);
|
||||||
effect = new BoostTargetEffect(TargetPermanentPowerCount.instance, new StaticValue(0), Duration.EndOfTurn, true);
|
effect = new BoostTargetEffect(TargetPermanentPowerCount.instance, StaticValue.get(0), Duration.EndOfTurn, true);
|
||||||
effect.setText("and gets +X/+0 until end of turn, where X is its power");
|
effect.setText("and gets +X/+0 until end of turn, where X is its power");
|
||||||
this.getSpellAbility().addEffect(effect);
|
this.getSpellAbility().addEffect(effect);
|
||||||
this.getSpellAbility().addEffect(new BerserkDestroyEffect());
|
this.getSpellAbility().addEffect(new BerserkDestroyEffect());
|
||||||
|
|
|
@ -78,7 +78,7 @@ class BiteOfTheBlackRoseEffect extends OneShotEffect {
|
||||||
ContinuousEffect effect = new BoostOpponentsEffect(-2, -2, Duration.EndOfTurn);
|
ContinuousEffect effect = new BoostOpponentsEffect(-2, -2, Duration.EndOfTurn);
|
||||||
game.addEffect(effect, source);
|
game.addEffect(effect, source);
|
||||||
} else {
|
} else {
|
||||||
new DiscardEachPlayerEffect(new StaticValue(2), false, TargetController.OPPONENT).apply(game, source);
|
new DiscardEachPlayerEffect(StaticValue.get(2), false, TargetController.OPPONENT).apply(game, source);
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -20,7 +20,7 @@ public final class BitterRevelation extends CardImpl {
|
||||||
super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{3}{B}");
|
super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{3}{B}");
|
||||||
|
|
||||||
// Look at the top four cards of your library. Put two of them into your hand and the rest into your graveyard. You lose 2 life.
|
// Look at the top four cards of your library. Put two of them into your hand and the rest into your graveyard. You lose 2 life.
|
||||||
this.getSpellAbility().addEffect(new LookLibraryAndPickControllerEffect(new StaticValue(4), false, new StaticValue(2),
|
this.getSpellAbility().addEffect(new LookLibraryAndPickControllerEffect(StaticValue.get(4), 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));
|
||||||
this.getSpellAbility().addEffect(new LoseLifeSourceControllerEffect(2));
|
this.getSpellAbility().addEffect(new LoseLifeSourceControllerEffect(2));
|
||||||
}
|
}
|
||||||
|
|
|
@ -38,7 +38,7 @@ public final class BlazingShoal extends CardImpl {
|
||||||
this.addAbility(new AlternativeCostSourceAbility(new ExileFromHandCost(new TargetCardInHand(filter),true)));
|
this.addAbility(new AlternativeCostSourceAbility(new ExileFromHandCost(new TargetCardInHand(filter),true)));
|
||||||
|
|
||||||
// Target creature gets +X/+0 until end of turn.
|
// Target creature gets +X/+0 until end of turn.
|
||||||
this.getSpellAbility().addEffect(new BoostTargetEffect(ExileFromHandCostCardConvertedMana.instance, new StaticValue(0), Duration.EndOfTurn));
|
this.getSpellAbility().addEffect(new BoostTargetEffect(ExileFromHandCostCardConvertedMana.instance, StaticValue.get(0), Duration.EndOfTurn));
|
||||||
this.getSpellAbility().addTarget(new TargetCreaturePermanent());
|
this.getSpellAbility().addTarget(new TargetCreaturePermanent());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -39,7 +39,7 @@ public final class BloodLust extends CardImpl {
|
||||||
// If target creature has toughness 5 or greater, it gets +4/-4 until end of turn. Otherwise, it gets +4/-X until end of turn, where X is its toughness minus 1.
|
// If target creature has toughness 5 or greater, it gets +4/-4 until end of turn. Otherwise, it gets +4/-X until end of turn, where X is its toughness minus 1.
|
||||||
this.getSpellAbility().addEffect(new ConditionalContinuousEffect(
|
this.getSpellAbility().addEffect(new ConditionalContinuousEffect(
|
||||||
new BoostTargetEffect(4, -4, Duration.EndOfTurn),
|
new BoostTargetEffect(4, -4, Duration.EndOfTurn),
|
||||||
new BoostTargetEffect(new StaticValue(4), new SignInversionDynamicValue(TargetPermanentToughnessMinus1Value.instance), Duration.WhileOnBattlefield),
|
new BoostTargetEffect(StaticValue.get(4), new SignInversionDynamicValue(TargetPermanentToughnessMinus1Value.instance), Duration.WhileOnBattlefield),
|
||||||
new TargetMatchesFilterCondition(filter),
|
new TargetMatchesFilterCondition(filter),
|
||||||
"If target creature has toughness 5 or greater, it gets +4/-4 until end of turn. Otherwise, it gets +4/-X until end of turn, where X is its toughness minus 1"));
|
"If target creature has toughness 5 or greater, it gets +4/-4 until end of turn. Otherwise, it gets +4/-X until end of turn, where X is its toughness minus 1"));
|
||||||
this.getSpellAbility().addTarget(new TargetCreaturePermanent());
|
this.getSpellAbility().addTarget(new TargetCreaturePermanent());
|
||||||
|
|
|
@ -21,7 +21,7 @@ public final class BloodcurdlingScream extends CardImpl {
|
||||||
super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{X}{B}");
|
super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{X}{B}");
|
||||||
|
|
||||||
// Target creature gets +X/+0 until end of turn.
|
// Target creature gets +X/+0 until end of turn.
|
||||||
this.getSpellAbility().addEffect(new BoostTargetEffect(ExileFromHandCostCardConvertedMana.instance, new StaticValue(0), Duration.EndOfTurn));
|
this.getSpellAbility().addEffect(new BoostTargetEffect(ExileFromHandCostCardConvertedMana.instance, StaticValue.get(0), Duration.EndOfTurn));
|
||||||
this.getSpellAbility().addTarget(new TargetCreaturePermanent());
|
this.getSpellAbility().addTarget(new TargetCreaturePermanent());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -28,7 +28,7 @@ public final class BoardTheWeatherlight extends CardImpl {
|
||||||
// Look at the top five cards of your library. You may reveal a historic card from among them and put it into your hand. Put the rest on the bottom of your library in random order.
|
// Look at the top five cards of your library. You may reveal a historic card from among them and put it into your hand. Put the rest on the bottom of your library in random order.
|
||||||
this.getSpellAbility().addEffect(
|
this.getSpellAbility().addEffect(
|
||||||
new LookLibraryAndPickControllerEffect(
|
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)
|
.setBackInRandomOrder(true)
|
||||||
.setText("Look at the top five cards of your library. You may reveal a historic card from among them"
|
.setText("Look at the top five cards of your library. You may reveal a historic card from among them"
|
||||||
|
|
|
@ -23,8 +23,8 @@ public final class BondOfFlourishing extends CardImpl {
|
||||||
|
|
||||||
// Look at the top three card of your library. You may reveal a permanent card from among them and put it into your hand. Put the rest on the bottom of your library in any order. You gain 3 life.
|
// Look at the top three card of your library. You may reveal a permanent card from among them and put it into your hand. Put the rest on the bottom of your library in any order. You gain 3 life.
|
||||||
this.getSpellAbility().addEffect(new LookLibraryAndPickControllerEffect(
|
this.getSpellAbility().addEffect(new LookLibraryAndPickControllerEffect(
|
||||||
new StaticValue(3), false,
|
StaticValue.get(3), false,
|
||||||
new StaticValue(1), filter, false
|
StaticValue.get(1), filter, false
|
||||||
));
|
));
|
||||||
this.getSpellAbility().addEffect(new GainLifeEffect(3).setText("You gain 3 life."));
|
this.getSpellAbility().addEffect(new GainLifeEffect(3).setText("You gain 3 life."));
|
||||||
}
|
}
|
||||||
|
|
|
@ -40,7 +40,7 @@ public final class BullAurochs extends CardImpl {
|
||||||
this.addAbility(TrampleAbility.getInstance());
|
this.addAbility(TrampleAbility.getInstance());
|
||||||
// Whenever Bull Aurochs attacks, it gets +1/+0 until end of turn for each other attacking Aurochs.
|
// Whenever Bull Aurochs attacks, it gets +1/+0 until end of turn for each other attacking Aurochs.
|
||||||
PermanentsOnBattlefieldCount value = new PermanentsOnBattlefieldCount(filter, 1);
|
PermanentsOnBattlefieldCount value = new PermanentsOnBattlefieldCount(filter, 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 BullAurochs(final BullAurochs card) {
|
public BullAurochs(final BullAurochs card) {
|
||||||
|
|
|
@ -27,7 +27,7 @@ public final class BurglarRat extends CardImpl {
|
||||||
// When Burglar Rat enters the battlefield, each opponent discards a card.
|
// When Burglar Rat enters the battlefield, each opponent discards a card.
|
||||||
this.addAbility(new EntersBattlefieldTriggeredAbility(
|
this.addAbility(new EntersBattlefieldTriggeredAbility(
|
||||||
new DiscardEachPlayerEffect(
|
new DiscardEachPlayerEffect(
|
||||||
new StaticValue(1), false,
|
StaticValue.get(1), false,
|
||||||
TargetController.OPPONENT
|
TargetController.OPPONENT
|
||||||
)
|
)
|
||||||
));
|
));
|
||||||
|
|
|
@ -48,7 +48,7 @@ public final class BurningTreeShaman extends CardImpl {
|
||||||
class BurningTreeShamanTriggeredAbility extends TriggeredAbilityImpl {
|
class BurningTreeShamanTriggeredAbility extends TriggeredAbilityImpl {
|
||||||
|
|
||||||
BurningTreeShamanTriggeredAbility() {
|
BurningTreeShamanTriggeredAbility() {
|
||||||
super(Zone.BATTLEFIELD, new DamageTargetEffect(new StaticValue(1), true, "that player", true));
|
super(Zone.BATTLEFIELD, new DamageTargetEffect(StaticValue.get(1), true, "that player", true));
|
||||||
}
|
}
|
||||||
|
|
||||||
BurningTreeShamanTriggeredAbility(final BurningTreeShamanTriggeredAbility ability) {
|
BurningTreeShamanTriggeredAbility(final BurningTreeShamanTriggeredAbility ability) {
|
||||||
|
|
|
@ -30,7 +30,7 @@ public final class CabalPaladin extends CardImpl {
|
||||||
|
|
||||||
// Whenever you cast a historic spell, Cabal Paladin deals 2 damage to each opponent.
|
// Whenever you cast a historic spell, Cabal Paladin deals 2 damage to each opponent.
|
||||||
this.addAbility(new SpellCastControllerTriggeredAbility(
|
this.addAbility(new SpellCastControllerTriggeredAbility(
|
||||||
new DamagePlayersEffect(Outcome.Damage, new StaticValue(2), TargetController.OPPONENT)
|
new DamagePlayersEffect(Outcome.Damage, StaticValue.get(2), TargetController.OPPONENT)
|
||||||
.setText("{this} deals 2 damage to each opponent. <i>(Artifacts, legendaries, and Sagas are historic.)</i>"),
|
.setText("{this} deals 2 damage to each opponent. <i>(Artifacts, legendaries, and Sagas are historic.)</i>"),
|
||||||
new FilterHistoricSpell("a historic spell"), false
|
new FilterHistoricSpell("a historic spell"), false
|
||||||
));
|
));
|
||||||
|
|
|
@ -35,7 +35,7 @@ public final class CacklingWitch extends CardImpl {
|
||||||
// {X}{B}, {tap}, Discard a card: Target creature gets +X/+0 until end of turn.
|
// {X}{B}, {tap}, Discard a card: Target creature gets +X/+0 until end of turn.
|
||||||
ManacostVariableValue manaX = ManacostVariableValue.instance;
|
ManacostVariableValue manaX = ManacostVariableValue.instance;
|
||||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD,
|
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD,
|
||||||
new BoostTargetEffect(manaX, new StaticValue(0), Duration.EndOfTurn),
|
new BoostTargetEffect(manaX, StaticValue.get(0), Duration.EndOfTurn),
|
||||||
new ManaCostsImpl("{X}{B}"));
|
new ManaCostsImpl("{X}{B}"));
|
||||||
ability.addCost(new TapSourceCost());
|
ability.addCost(new TapSourceCost());
|
||||||
ability.addCost(new DiscardCardCost());
|
ability.addCost(new DiscardCardCost());
|
||||||
|
|
|
@ -34,7 +34,7 @@ public final class CaligoSkinWitch extends CardImpl {
|
||||||
// When Caligo Skin-Witch enters the battlefield, if it was kicked, each opponent discards two cards.
|
// When Caligo Skin-Witch enters the battlefield, if it was kicked, each opponent discards two cards.
|
||||||
this.addAbility(new ConditionalInterveningIfTriggeredAbility(
|
this.addAbility(new ConditionalInterveningIfTriggeredAbility(
|
||||||
new EntersBattlefieldTriggeredAbility(new DiscardEachPlayerEffect(
|
new EntersBattlefieldTriggeredAbility(new DiscardEachPlayerEffect(
|
||||||
new StaticValue(2),
|
StaticValue.get(2),
|
||||||
false,
|
false,
|
||||||
TargetController.OPPONENT
|
TargetController.OPPONENT
|
||||||
)),
|
)),
|
||||||
|
|
|
@ -69,7 +69,7 @@ class CapitalPunishmentDilemmaEffect extends CouncilsDilemmaVoteEffect {
|
||||||
|
|
||||||
//Taxes Votes
|
//Taxes Votes
|
||||||
if (voteTwoCount > 0) {
|
if (voteTwoCount > 0) {
|
||||||
Effect discardEffect = new DiscardEachPlayerEffect(new StaticValue(voteTwoCount), false, TargetController.OPPONENT);
|
Effect discardEffect = new DiscardEachPlayerEffect(StaticValue.get(voteTwoCount), false, TargetController.OPPONENT);
|
||||||
discardEffect.apply(game, source);
|
discardEffect.apply(game, source);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -34,7 +34,7 @@ public final class ChandraPyrogenius extends CardImpl {
|
||||||
this.addAbility(new PlaneswalkerEntersWithLoyaltyCountersAbility(5));
|
this.addAbility(new PlaneswalkerEntersWithLoyaltyCountersAbility(5));
|
||||||
|
|
||||||
// +2: Chandra, Pyrogenius deals 2 damage to each opponent.
|
// +2: Chandra, Pyrogenius deals 2 damage to each opponent.
|
||||||
this.addAbility(new LoyaltyAbility(new DamagePlayersEffect(Outcome.Damage, new StaticValue(2), TargetController.OPPONENT), 2));
|
this.addAbility(new LoyaltyAbility(new DamagePlayersEffect(Outcome.Damage, StaticValue.get(2), TargetController.OPPONENT), 2));
|
||||||
|
|
||||||
// -3: Chandra, Pyrogenius deals 4 damage to target creature.
|
// -3: Chandra, Pyrogenius deals 4 damage to target creature.
|
||||||
LoyaltyAbility ability = new LoyaltyAbility(new DamageTargetEffect(4), -3);
|
LoyaltyAbility ability = new LoyaltyAbility(new DamageTargetEffect(4), -3);
|
||||||
|
|
|
@ -103,7 +103,7 @@ class ChandraTorchOfDefianceEffect extends OneShotEffect {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (!cardWasCast) {
|
if (!cardWasCast) {
|
||||||
new DamagePlayersEffect(Outcome.Damage, new StaticValue(2), TargetController.OPPONENT).apply(game, source);
|
new DamagePlayersEffect(Outcome.Damage, StaticValue.get(2), TargetController.OPPONENT).apply(game, source);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
|
|
|
@ -29,7 +29,7 @@ public final class ChronomanticEscape extends CardImpl {
|
||||||
// Until your next turn, creatures can't attack you. Exile Chronomantic Escape with three time counters on it.
|
// Until your next turn, creatures can't attack you. Exile Chronomantic Escape with three time counters on it.
|
||||||
getSpellAbility().addEffect(new CantAttackYouAllEffect(Duration.UntilYourNextTurn, StaticFilters.FILTER_PERMANENT_CREATURES));
|
getSpellAbility().addEffect(new CantAttackYouAllEffect(Duration.UntilYourNextTurn, StaticFilters.FILTER_PERMANENT_CREATURES));
|
||||||
getSpellAbility().addEffect(ExileSpellEffect.getInstance());
|
getSpellAbility().addEffect(ExileSpellEffect.getInstance());
|
||||||
Effect effect = new AddCountersSourceEffect(CounterType.TIME.createInstance(), new StaticValue(3), true, true);
|
Effect effect = new AddCountersSourceEffect(CounterType.TIME.createInstance(), StaticValue.get(3), true, true);
|
||||||
effect.setText("with 3 time counters on it");
|
effect.setText("with 3 time counters on it");
|
||||||
getSpellAbility().addEffect(effect);
|
getSpellAbility().addEffect(effect);
|
||||||
|
|
||||||
|
|
|
@ -31,7 +31,7 @@ public final class CivicSaber extends CardImpl {
|
||||||
this.subtype.add(SubType.EQUIPMENT);
|
this.subtype.add(SubType.EQUIPMENT);
|
||||||
|
|
||||||
// Equipped creature gets +1/+0 for each of its colors.
|
// Equipped creature gets +1/+0 for each of its colors.
|
||||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(new CivicSaberColorCount(), new StaticValue(0), Duration.WhileOnBattlefield)));
|
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(new CivicSaberColorCount(), StaticValue.get(0), Duration.WhileOnBattlefield)));
|
||||||
// Equip {1}
|
// Equip {1}
|
||||||
this.addAbility(new EquipAbility(Outcome.AddAbility, new GenericManaCost(1)));
|
this.addAbility(new EquipAbility(Outcome.AddAbility, new GenericManaCost(1)));
|
||||||
}
|
}
|
||||||
|
|
|
@ -72,7 +72,7 @@ class CloakingDeviceLoseLifeDefendingPlayerEffect extends OneShotEffect {
|
||||||
* attacker false if attacker has to be taken from targetPointer
|
* attacker false if attacker has to be taken from targetPointer
|
||||||
*/
|
*/
|
||||||
public CloakingDeviceLoseLifeDefendingPlayerEffect(int amount, boolean attackerIsSource) {
|
public CloakingDeviceLoseLifeDefendingPlayerEffect(int amount, boolean attackerIsSource) {
|
||||||
this(new StaticValue(amount), attackerIsSource);
|
this(StaticValue.get(amount), attackerIsSource);
|
||||||
}
|
}
|
||||||
|
|
||||||
public CloakingDeviceLoseLifeDefendingPlayerEffect(DynamicValue amount, boolean attackerIsSource) {
|
public CloakingDeviceLoseLifeDefendingPlayerEffect(DynamicValue amount, boolean attackerIsSource) {
|
||||||
|
|
|
@ -32,7 +32,7 @@ public final class CommuneWithDinosaurs extends CardImpl {
|
||||||
super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{G}");
|
super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{G}");
|
||||||
|
|
||||||
//Look at the top five cards of your library. You may reveal a Dinosaur 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 five cards of your library. You may reveal a Dinosaur 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(5), false, new StaticValue(1), filter, false));
|
this.getSpellAbility().addEffect(new LookLibraryAndPickControllerEffect(StaticValue.get(5), false, StaticValue.get(1), filter, false));
|
||||||
}
|
}
|
||||||
|
|
||||||
public CommuneWithDinosaurs(final CommuneWithDinosaurs card) {
|
public CommuneWithDinosaurs(final CommuneWithDinosaurs card) {
|
||||||
|
|
|
@ -21,7 +21,7 @@ public final class CommuneWithNature extends CardImpl {
|
||||||
// Look at the top five cards of your library. You may reveal a creature 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 five cards of your library. You may reveal a creature 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(
|
this.getSpellAbility().addEffect(
|
||||||
new LookLibraryAndPickControllerEffect(
|
new LookLibraryAndPickControllerEffect(
|
||||||
new StaticValue(5), false, new StaticValue(1), new FilterCreatureCard("a creature card"), false
|
StaticValue.get(5), false, StaticValue.get(1), new FilterCreatureCard("a creature card"), false
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
@ -48,7 +48,7 @@ public final class ConclavesBlessing extends CardImpl {
|
||||||
|
|
||||||
// Enchanted creature gets +0/+2 for each other creature you control.
|
// Enchanted creature gets +0/+2 for each other creature you control.
|
||||||
PermanentsOnBattlefieldCount value = new PermanentsOnBattlefieldCount(filter, 2);
|
PermanentsOnBattlefieldCount value = new PermanentsOnBattlefieldCount(filter, 2);
|
||||||
BoostEnchantedEffect effect = new BoostEnchantedEffect(new StaticValue(0), value, Duration.WhileOnBattlefield);
|
BoostEnchantedEffect effect = new BoostEnchantedEffect(StaticValue.get(0), value, Duration.WhileOnBattlefield);
|
||||||
effect.setText("Enchanted creature gets +0/+2 for each other creature you control.");
|
effect.setText("Enchanted creature gets +0/+2 for each other creature you control.");
|
||||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, effect));
|
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, effect));
|
||||||
}
|
}
|
||||||
|
|
|
@ -20,7 +20,7 @@ public final class ContingencyPlan extends CardImpl {
|
||||||
super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{1}{U}");
|
super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{1}{U}");
|
||||||
|
|
||||||
// Look at the top five cards of your library. Put any number of them into your graveyard and the rest back on top of your library in any order.
|
// Look at the top five cards of your library. Put any number of them into your graveyard and the rest back on top of your library in any order.
|
||||||
this.getSpellAbility().addEffect(new LookLibraryAndPickControllerEffect(new StaticValue(5), false, new StaticValue(5),
|
this.getSpellAbility().addEffect(new LookLibraryAndPickControllerEffect(StaticValue.get(5), false, StaticValue.get(5),
|
||||||
new FilterCard("cards"), Zone.LIBRARY, true, false, true, Zone.GRAVEYARD, false));
|
new FilterCard("cards"), Zone.LIBRARY, true, false, true, Zone.GRAVEYARD, false));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -34,7 +34,7 @@ public final class CourageousOutrider extends CardImpl {
|
||||||
|
|
||||||
// When Courageous Outrider enters the battlefield, look at the top four cards of your library. You may reveal a Human card from among them
|
// When Courageous Outrider enters the battlefield, look at the top four cards of your library. You may reveal a Human card from among them
|
||||||
// and put it into your hand. Put the rest on the bottom of your library in any order.
|
// and put it into your hand. Put the rest on the bottom of your library in any order.
|
||||||
this.addAbility(new EntersBattlefieldTriggeredAbility(new LookLibraryAndPickControllerEffect(new StaticValue(4), false, new StaticValue(1), filter, false) , false));
|
this.addAbility(new EntersBattlefieldTriggeredAbility(new LookLibraryAndPickControllerEffect(StaticValue.get(4), false, StaticValue.get(1), filter, false) , false));
|
||||||
}
|
}
|
||||||
|
|
||||||
public CourageousOutrider(final CourageousOutrider card) {
|
public CourageousOutrider(final CourageousOutrider card) {
|
||||||
|
|
|
@ -36,7 +36,7 @@ public final class CourtHussar extends CardImpl {
|
||||||
this.addAbility(VigilanceAbility.getInstance());
|
this.addAbility(VigilanceAbility.getInstance());
|
||||||
// When Court Hussar enters the battlefield, look at the top three cards of your library, then put one of them into your hand and the rest on the bottom of your library in any order.
|
// When Court Hussar enters the battlefield, look at the top three cards of your library, then put one of them into your hand and the rest on the bottom of your library in any order.
|
||||||
this.addAbility(new EntersBattlefieldTriggeredAbility(
|
this.addAbility(new EntersBattlefieldTriggeredAbility(
|
||||||
new LookLibraryAndPickControllerEffect(new StaticValue(3), false, new StaticValue(1), new FilterCard(), Zone.LIBRARY, false, false),
|
new LookLibraryAndPickControllerEffect(StaticValue.get(3), false, StaticValue.get(1), new FilterCard(), Zone.LIBRARY, false, false),
|
||||||
false));
|
false));
|
||||||
// When Court Hussar enters the battlefield, sacrifice it unless {W} was spent to cast it.
|
// When Court Hussar enters the battlefield, sacrifice it unless {W} was spent to cast it.
|
||||||
this.addAbility(new EntersBattlefieldTriggeredAbility(new SacrificeSourceUnlessConditionEffect(new ManaWasSpentCondition(ColoredManaSymbol.W)), false), new ManaSpentToCastWatcher());
|
this.addAbility(new EntersBattlefieldTriggeredAbility(new SacrificeSourceUnlessConditionEffect(new ManaWasSpentCondition(ColoredManaSymbol.W)), false), new ManaSpentToCastWatcher());
|
||||||
|
|
|
@ -38,7 +38,7 @@ public final class CranialPlating extends CardImpl {
|
||||||
this.subtype.add(SubType.EQUIPMENT);
|
this.subtype.add(SubType.EQUIPMENT);
|
||||||
|
|
||||||
// Equipped creature gets +1/+0 for each artifact you control.
|
// Equipped creature gets +1/+0 for each artifact you control.
|
||||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(new PermanentsOnBattlefieldCount(filterCounted), new StaticValue(0))));
|
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(new PermanentsOnBattlefieldCount(filterCounted), StaticValue.get(0))));
|
||||||
// {B}{B}: Attach Cranial Plating to target creature you control.
|
// {B}{B}: Attach Cranial Plating to target creature you control.
|
||||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new AttachEffect(Outcome.BoostCreature, "Attach {this} to target creature you control"), new ManaCostsImpl("{B}{B}"));
|
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new AttachEffect(Outcome.BoostCreature, "Attach {this} to target creature you control"), new ManaCostsImpl("{B}{B}"));
|
||||||
ability.addTarget(new TargetControlledCreaturePermanent());
|
ability.addTarget(new TargetControlledCreaturePermanent());
|
||||||
|
|
|
@ -45,7 +45,7 @@ public final class CraterElemental extends CardImpl {
|
||||||
// <i>Formidable</i> — {2}{R}: Crater Elemental has base power 8 until end of turn. Activate this ability only if creatures you control have total power 8 or greater.
|
// <i>Formidable</i> — {2}{R}: Crater Elemental has base power 8 until end of turn. Activate this ability only if creatures you control have total power 8 or greater.
|
||||||
ability = new ActivateIfConditionActivatedAbility(
|
ability = new ActivateIfConditionActivatedAbility(
|
||||||
Zone.BATTLEFIELD,
|
Zone.BATTLEFIELD,
|
||||||
new SetPowerSourceEffect(new StaticValue(8), Duration.EndOfTurn, SubLayer.SetPT_7b),
|
new SetPowerSourceEffect(StaticValue.get(8), Duration.EndOfTurn, SubLayer.SetPT_7b),
|
||||||
new ManaCostsImpl("{2}{R}"),
|
new ManaCostsImpl("{2}{R}"),
|
||||||
FormidableCondition.instance);
|
FormidableCondition.instance);
|
||||||
ability.setAbilityWord(AbilityWord.FORMIDABLE);
|
ability.setAbilityWord(AbilityWord.FORMIDABLE);
|
||||||
|
|
|
@ -32,11 +32,11 @@ public final class CrescendoOfWar extends CardImpl {
|
||||||
this.addAbility(new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.STRIFE.createInstance(1), true), TargetController.ANY, false));
|
this.addAbility(new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.STRIFE.createInstance(1), true), TargetController.ANY, false));
|
||||||
|
|
||||||
// Attacking creatures get +1/+0 for each strife counter on Crescendo of War.
|
// Attacking creatures get +1/+0 for each strife counter on Crescendo of War.
|
||||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostAllEffect(new CountersSourceCount(CounterType.STRIFE), new StaticValue(0),
|
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostAllEffect(new CountersSourceCount(CounterType.STRIFE), StaticValue.get(0),
|
||||||
Duration.WhileOnBattlefield, new FilterAttackingCreature(), false)));
|
Duration.WhileOnBattlefield, new FilterAttackingCreature(), false)));
|
||||||
|
|
||||||
// Blocking creatures you control get +1/+0 for each strife counter on Crescendo of War.
|
// Blocking creatures you control get +1/+0 for each strife counter on Crescendo of War.
|
||||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostControlledEffect(new CountersSourceCount(CounterType.STRIFE), new StaticValue(0),
|
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostControlledEffect(new CountersSourceCount(CounterType.STRIFE), StaticValue.get(0),
|
||||||
Duration.WhileOnBattlefield, new FilterBlockingCreature(), false)));
|
Duration.WhileOnBattlefield, new FilterBlockingCreature(), false)));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -70,7 +70,7 @@ public final class CrosstownCourier extends CardImpl {
|
||||||
for (Effect effect : getEffects()) {
|
for (Effect effect : getEffects()) {
|
||||||
if (effect instanceof PutLibraryIntoGraveTargetEffect) {
|
if (effect instanceof PutLibraryIntoGraveTargetEffect) {
|
||||||
effect.setTargetPointer(new FixedTarget(event.getTargetId()));
|
effect.setTargetPointer(new FixedTarget(event.getTargetId()));
|
||||||
((PutLibraryIntoGraveTargetEffect) effect).setAmount(new StaticValue(event.getAmount()));
|
((PutLibraryIntoGraveTargetEffect) effect).setAmount(StaticValue.get(event.getAmount()));
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -23,9 +23,9 @@ public final class CunningStrike extends CardImpl {
|
||||||
super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{3}{U}{R}");
|
super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{3}{U}{R}");
|
||||||
|
|
||||||
// Cunning Strike deals 2 damage to target creature and 2 damage to target player.
|
// Cunning Strike deals 2 damage to target creature and 2 damage to target player.
|
||||||
this.getSpellAbility().addEffect(new DamageTargetEffect(new StaticValue(2), true, "", true));
|
this.getSpellAbility().addEffect(new DamageTargetEffect(StaticValue.get(2), true, "", true));
|
||||||
this.getSpellAbility().addTarget(new TargetCreaturePermanent());
|
this.getSpellAbility().addTarget(new TargetCreaturePermanent());
|
||||||
Effect effect = new DamageTargetEffect(new StaticValue(2), true, "", true);
|
Effect effect = new DamageTargetEffect(StaticValue.get(2), true, "", true);
|
||||||
effect.setTargetPointer(new SecondTargetPointer());
|
effect.setTargetPointer(new SecondTargetPointer());
|
||||||
effect.setText("and 2 damage to target player");
|
effect.setText("and 2 damage to target player");
|
||||||
this.getSpellAbility().addEffect(effect);
|
this.getSpellAbility().addEffect(effect);
|
||||||
|
|
|
@ -119,7 +119,7 @@ class CurseOfShallowEffect extends OneShotEffect {
|
||||||
public boolean apply(Game game, Ability source) {
|
public boolean apply(Game game, Ability source) {
|
||||||
Player attacker = game.getPlayer(this.getTargetPointer().getFirst(game, source));
|
Player attacker = game.getPlayer(this.getTargetPointer().getFirst(game, source));
|
||||||
if (attacker != null && attacker.chooseUse(outcome, "create a tapped 2/2 black Zombie creature token?", source, game)) {
|
if (attacker != null && attacker.chooseUse(outcome, "create a tapped 2/2 black Zombie creature token?", source, game)) {
|
||||||
Effect effect = new CreateTokenTargetEffect(new ZombieToken(), new StaticValue(1), true, false);
|
Effect effect = new CreateTokenTargetEffect(new ZombieToken(), StaticValue.get(1), true, false);
|
||||||
effect.setTargetPointer(targetPointer);
|
effect.setTargetPointer(targetPointer);
|
||||||
return effect.apply(game, source);
|
return effect.apply(game, source);
|
||||||
}
|
}
|
||||||
|
|
|
@ -131,7 +131,7 @@ class CurseOfTheCabalInterveningIfTriggeredAbility extends ConditionalIntervenin
|
||||||
class CurseOfTheCabalTriggeredAbilityConditionalDelay extends AddCountersSourceEffect {
|
class CurseOfTheCabalTriggeredAbilityConditionalDelay extends AddCountersSourceEffect {
|
||||||
|
|
||||||
public CurseOfTheCabalTriggeredAbilityConditionalDelay() {
|
public CurseOfTheCabalTriggeredAbilityConditionalDelay() {
|
||||||
super(CounterType.TIME.createInstance(), new StaticValue(2), false, true);
|
super(CounterType.TIME.createInstance(), StaticValue.get(2), false, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -29,7 +29,7 @@ public final class CyclicalEvolution extends CardImpl {
|
||||||
getSpellAbility().addEffect(new BoostTargetEffect(3, 3, Duration.EndOfTurn));
|
getSpellAbility().addEffect(new BoostTargetEffect(3, 3, Duration.EndOfTurn));
|
||||||
getSpellAbility().addTarget(new TargetCreaturePermanent());
|
getSpellAbility().addTarget(new TargetCreaturePermanent());
|
||||||
getSpellAbility().addEffect(ExileSpellEffect.getInstance());
|
getSpellAbility().addEffect(ExileSpellEffect.getInstance());
|
||||||
Effect effect = new AddCountersSourceEffect(CounterType.TIME.createInstance(), new StaticValue(3), true, true);
|
Effect effect = new AddCountersSourceEffect(CounterType.TIME.createInstance(), StaticValue.get(3), true, true);
|
||||||
effect.setText("with 3 time counters on it");
|
effect.setText("with 3 time counters on it");
|
||||||
getSpellAbility().addEffect(effect);
|
getSpellAbility().addEffect(effect);
|
||||||
|
|
||||||
|
|
|
@ -29,7 +29,7 @@ public final class DemonsHorn extends CardImpl {
|
||||||
super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{2}");
|
super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{2}");
|
||||||
|
|
||||||
// Whenever a player casts a black spell, you may gain 1 life.
|
// Whenever a player casts a black spell, you may gain 1 life.
|
||||||
this.addAbility(new SpellCastAllTriggeredAbility(new GainLifeEffect(new StaticValue(1), "you may gain 1 life"), filter, true));
|
this.addAbility(new SpellCastAllTriggeredAbility(new GainLifeEffect(StaticValue.get(1), "you may gain 1 life"), filter, true));
|
||||||
}
|
}
|
||||||
|
|
||||||
public DemonsHorn(final DemonsHorn card) {
|
public DemonsHorn(final DemonsHorn card) {
|
||||||
|
|
|
@ -31,7 +31,7 @@ public final class DemonspineWhip extends CardImpl {
|
||||||
this.subtype.add(SubType.EQUIPMENT);
|
this.subtype.add(SubType.EQUIPMENT);
|
||||||
|
|
||||||
// {X}: Equipped creature gets +X/+0 until end of turn.
|
// {X}: Equipped creature gets +X/+0 until end of turn.
|
||||||
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(new XPaid(), new StaticValue(0), Duration.EndOfTurn), new ManaCostsImpl("{X}")));
|
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(new XPaid(), StaticValue.get(0), Duration.EndOfTurn), new ManaCostsImpl("{X}")));
|
||||||
|
|
||||||
// Equip {1}
|
// Equip {1}
|
||||||
this.addAbility(new EquipAbility(Outcome.AddAbility, new GenericManaCost(1)));
|
this.addAbility(new EquipAbility(Outcome.AddAbility, new GenericManaCost(1)));
|
||||||
|
|
|
@ -19,7 +19,7 @@ public final class DiabolicVision extends CardImpl {
|
||||||
super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{U}{B}");
|
super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{U}{B}");
|
||||||
|
|
||||||
// Look at the top five cards of your library. Put one of them into your hand and the rest on top of your library in any order.
|
// Look at the top five cards of your library. Put one of them into your hand and the rest on top of your library in any order.
|
||||||
this.getSpellAbility().addEffect(new LookLibraryAndPickControllerEffect(new StaticValue(5), false, new StaticValue(1), new FilterCard(), true, false));
|
this.getSpellAbility().addEffect(new LookLibraryAndPickControllerEffect(StaticValue.get(5), false, StaticValue.get(1), new FilterCard(), true, false));
|
||||||
}
|
}
|
||||||
|
|
||||||
public DiabolicVision(final DiabolicVision card) {
|
public DiabolicVision(final DiabolicVision card) {
|
||||||
|
|
|
@ -25,7 +25,7 @@ public final class DigThroughTime extends CardImpl {
|
||||||
this.addAbility(new DelveAbility());
|
this.addAbility(new DelveAbility());
|
||||||
|
|
||||||
// Look at the top seven cards of your library. Put two of them into your hand and the rest on the bottom of your library in any order.
|
// Look at the top seven cards of your library. Put two of them into your hand and the rest on the bottom of your library in any order.
|
||||||
this.getSpellAbility().addEffect(new LookLibraryAndPickControllerEffect(new StaticValue(7), false, new StaticValue(2), new FilterCard(), Zone.LIBRARY, false, false));
|
this.getSpellAbility().addEffect(new LookLibraryAndPickControllerEffect(StaticValue.get(7), false, StaticValue.get(2), new FilterCard(), Zone.LIBRARY, false, false));
|
||||||
}
|
}
|
||||||
|
|
||||||
public DigThroughTime(final DigThroughTime card) {
|
public DigThroughTime(final DigThroughTime card) {
|
||||||
|
|
|
@ -115,7 +115,7 @@ class DispersalEffect extends OneShotEffect {
|
||||||
filter.add(Predicates.or(permsToReturn));
|
filter.add(Predicates.or(permsToReturn));
|
||||||
new ReturnToHandFromBattlefieldAllEffect(filter).apply(game, source);
|
new ReturnToHandFromBattlefieldAllEffect(filter).apply(game, source);
|
||||||
new DiscardEachPlayerEffect(
|
new DiscardEachPlayerEffect(
|
||||||
new StaticValue(1), false, TargetController.OPPONENT
|
StaticValue.get(1), false, TargetController.OPPONENT
|
||||||
).apply(game, source);
|
).apply(game, source);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -29,7 +29,7 @@ public final class DisinformationCampaign extends CardImpl {
|
||||||
Ability ability = new EntersBattlefieldTriggeredAbility(
|
Ability ability = new EntersBattlefieldTriggeredAbility(
|
||||||
new DrawCardSourceControllerEffect(1, "you"));
|
new DrawCardSourceControllerEffect(1, "you"));
|
||||||
ability.addEffect(new DiscardEachPlayerEffect(
|
ability.addEffect(new DiscardEachPlayerEffect(
|
||||||
new StaticValue(1), false, TargetController.OPPONENT).concatBy("and"));
|
StaticValue.get(1), false, TargetController.OPPONENT).concatBy("and"));
|
||||||
this.addAbility(ability);
|
this.addAbility(ability);
|
||||||
|
|
||||||
// Whenever you surveil, return Disinformation Campaign to its owner's hand.
|
// Whenever you surveil, return Disinformation Campaign to its owner's hand.
|
||||||
|
|
|
@ -44,7 +44,7 @@ public final class DomriChaosBringer extends CardImpl {
|
||||||
|
|
||||||
// −3: Look at the top four cards of your library. You may reveal up to two creature cards from among them and put them into your hand. Put the rest on the bottom of your library in a random order.
|
// −3: Look at the top four cards of your library. You may reveal up to two creature cards from among them and put them into your hand. Put the rest on the bottom of your library in a random order.
|
||||||
this.addAbility(new LoyaltyAbility(new LookLibraryAndPickControllerEffect(
|
this.addAbility(new LoyaltyAbility(new LookLibraryAndPickControllerEffect(
|
||||||
new StaticValue(4), false, new StaticValue(2),
|
StaticValue.get(4), false, StaticValue.get(2),
|
||||||
StaticFilters.FILTER_CARD_CREATURE, Zone.LIBRARY, false,
|
StaticFilters.FILTER_CARD_CREATURE, Zone.LIBRARY, false,
|
||||||
true, true, Zone.HAND, false, false, false
|
true, true, Zone.HAND, false, false, false
|
||||||
).setText(
|
).setText(
|
||||||
|
|
|
@ -47,8 +47,8 @@ public final class DovinGrandArbiter extends CardImpl {
|
||||||
|
|
||||||
// -7: Look at the top ten cards of your library. Put three of them into your hand and the rest on the bottom of your library in a random order.
|
// -7: Look at the top ten cards of your library. Put three of them into your hand and the rest on the bottom of your library in a random order.
|
||||||
this.addAbility(new LoyaltyAbility(new LookLibraryAndPickControllerEffect(
|
this.addAbility(new LoyaltyAbility(new LookLibraryAndPickControllerEffect(
|
||||||
new StaticValue(10), false,
|
StaticValue.get(10), false,
|
||||||
new StaticValue(3), StaticFilters.FILTER_CARD,
|
StaticValue.get(3), StaticFilters.FILTER_CARD,
|
||||||
Zone.LIBRARY, false, false, false,
|
Zone.LIBRARY, false, false, false,
|
||||||
Zone.HAND, false, false, false
|
Zone.HAND, false, false, false
|
||||||
).setBackInRandomOrder(true).setText("Look at the top ten cards of your library. " +
|
).setBackInRandomOrder(true).setText("Look at the top ten cards of your library. " +
|
||||||
|
|
|
@ -36,7 +36,7 @@ public final class DownhillCharge extends CardImpl {
|
||||||
// You may sacrifice a Mountain rather than pay Downhill Charge's mana cost.
|
// You may sacrifice a Mountain rather than pay Downhill Charge's mana cost.
|
||||||
this.addAbility(new AlternativeCostSourceAbility(new SacrificeTargetCost(new TargetControlledPermanent(filter))));
|
this.addAbility(new AlternativeCostSourceAbility(new SacrificeTargetCost(new TargetControlledPermanent(filter))));
|
||||||
// Target creature gets +X/+0 until end of turn, where X is the number of Mountains you control.
|
// Target creature gets +X/+0 until end of turn, where X is the number of Mountains you control.
|
||||||
Effect effect = new BoostTargetEffect(new PermanentsOnBattlefieldCount(filter), new StaticValue(0), Duration.EndOfTurn, true);
|
Effect effect = new BoostTargetEffect(new PermanentsOnBattlefieldCount(filter), StaticValue.get(0), Duration.EndOfTurn, true);
|
||||||
effect.setText("Target creature gets +X/+0 until end of turn, where X is the number of Mountains you control.");
|
effect.setText("Target creature gets +X/+0 until end of turn, where X is the number of Mountains you control.");
|
||||||
this.getSpellAbility().addEffect(effect);
|
this.getSpellAbility().addEffect(effect);
|
||||||
this.getSpellAbility().addTarget(new TargetCreaturePermanent());
|
this.getSpellAbility().addTarget(new TargetCreaturePermanent());
|
||||||
|
|
|
@ -47,7 +47,7 @@ public final class DragonlordOjutai extends CardImpl {
|
||||||
|
|
||||||
// Whenever Dragonlord Ojutai deals combat damage to a player, 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.
|
// Whenever Dragonlord Ojutai deals combat damage to a player, 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.addAbility(new DealsCombatDamageToAPlayerTriggeredAbility(new LookLibraryAndPickControllerEffect
|
this.addAbility(new DealsCombatDamageToAPlayerTriggeredAbility(new LookLibraryAndPickControllerEffect
|
||||||
(new StaticValue(3), false, new StaticValue(1), new FilterCard(), Zone.LIBRARY, false, false), false));
|
(StaticValue.get(3), false, StaticValue.get(1), new FilterCard(), Zone.LIBRARY, false, false), false));
|
||||||
}
|
}
|
||||||
|
|
||||||
public DragonlordOjutai(final DragonlordOjutai card) {
|
public DragonlordOjutai(final DragonlordOjutai card) {
|
||||||
|
|
|
@ -37,8 +37,8 @@ public final class DranaKalastriaBloodchief extends CardImpl {
|
||||||
this.toughness = new MageInt(4);
|
this.toughness = new MageInt(4);
|
||||||
|
|
||||||
this.addAbility(FlyingAbility.getInstance());
|
this.addAbility(FlyingAbility.getInstance());
|
||||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostTargetEffect(new StaticValue(0), new SignInversionDynamicValue(ManacostVariableValue.instance), Duration.EndOfTurn), new ManaCostsImpl("{X}{B}{B}"));
|
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostTargetEffect(StaticValue.get(0), new SignInversionDynamicValue(ManacostVariableValue.instance), Duration.EndOfTurn), new ManaCostsImpl("{X}{B}{B}"));
|
||||||
ability.addEffect(new BoostSourceEffect(ManacostVariableValue.instance, new StaticValue(0), Duration.EndOfTurn));
|
ability.addEffect(new BoostSourceEffect(ManacostVariableValue.instance, StaticValue.get(0), Duration.EndOfTurn));
|
||||||
ability.addTarget(new TargetCreaturePermanent());
|
ability.addTarget(new TargetCreaturePermanent());
|
||||||
this.addAbility(ability);
|
this.addAbility(ability);
|
||||||
}
|
}
|
||||||
|
|
|
@ -20,7 +20,7 @@ public final class DrawnFromDreams extends CardImpl {
|
||||||
|
|
||||||
// Look at the top seven cards of your library. Put two of them into your hand and the rest on the bottom of your library in a random order.
|
// Look at the top seven cards of your library. Put two of them into your hand and the rest on the bottom of your library in a random order.
|
||||||
this.getSpellAbility().addEffect(new LookLibraryAndPickControllerEffect(
|
this.getSpellAbility().addEffect(new LookLibraryAndPickControllerEffect(
|
||||||
new StaticValue(7), false, new StaticValue(2),
|
StaticValue.get(7), false, StaticValue.get(2),
|
||||||
StaticFilters.FILTER_CARD, Zone.LIBRARY, false, false
|
StaticFilters.FILTER_CARD, Zone.LIBRARY, false, false
|
||||||
).setBackInRandomOrder(true));
|
).setBackInRandomOrder(true));
|
||||||
}
|
}
|
||||||
|
|
|
@ -34,7 +34,7 @@ public final class Earthshaker extends CardImpl {
|
||||||
this.power = new MageInt(4);
|
this.power = new MageInt(4);
|
||||||
this.toughness = new MageInt(5);
|
this.toughness = new MageInt(5);
|
||||||
// Whenever you cast a Spirit or Arcane spell, Earthshaker deals 2 damage to each creature without flying.
|
// Whenever you cast a Spirit or Arcane spell, Earthshaker deals 2 damage to each creature without flying.
|
||||||
this.addAbility(new SpellCastControllerTriggeredAbility(new DamageAllEffect(new StaticValue(2) , creatureFilter), StaticFilters.SPIRIT_OR_ARCANE_CARD, false));
|
this.addAbility(new SpellCastControllerTriggeredAbility(new DamageAllEffect(StaticValue.get(2) , creatureFilter), StaticFilters.SPIRIT_OR_ARCANE_CARD, false));
|
||||||
}
|
}
|
||||||
|
|
||||||
public Earthshaker(final Earthshaker card) {
|
public Earthshaker(final Earthshaker card) {
|
||||||
|
|
|
@ -43,7 +43,7 @@ public final class EmberethSkyblazer extends CardImpl {
|
||||||
// Whenever Embereth Skyblazer attacks, you may pay {2}{R}. If you do, creatures you control get +X/+0 until end of turn, where X is the number of opponents you have.
|
// Whenever Embereth Skyblazer attacks, you may pay {2}{R}. If you do, creatures you control get +X/+0 until end of turn, where X is the number of opponents you have.
|
||||||
this.addAbility(new AttacksTriggeredAbility(new DoIfCostPaid(
|
this.addAbility(new AttacksTriggeredAbility(new DoIfCostPaid(
|
||||||
new BoostControlledEffect(
|
new BoostControlledEffect(
|
||||||
OpponentsCount.instance, StaticValue.getZeroValue(), Duration.EndOfTurn,
|
OpponentsCount.instance, StaticValue.get(0), Duration.EndOfTurn,
|
||||||
StaticFilters.FILTER_PERMANENT_CREATURE, false, true
|
StaticFilters.FILTER_PERMANENT_CREATURE, false, true
|
||||||
).setText("creatures you control get +X/+0 until end of turn, where X is the number of opponents you have"),
|
).setText("creatures you control get +X/+0 until end of turn, where X is the number of opponents you have"),
|
||||||
new ManaCostsImpl("{2}{R}")
|
new ManaCostsImpl("{2}{R}")
|
||||||
|
|
|
@ -41,7 +41,7 @@ public final class EndlessScream extends CardImpl {
|
||||||
// Endless Scream enters the battlefield with X scream counters on it.
|
// Endless Scream enters the battlefield with X scream counters on it.
|
||||||
this.addAbility(new EntersBattlefieldAbility(new EntersBattlefieldWithXCountersEffect(CounterType.SCREAM.createInstance())));
|
this.addAbility(new EntersBattlefieldAbility(new EntersBattlefieldWithXCountersEffect(CounterType.SCREAM.createInstance())));
|
||||||
// Enchanted creature gets +1/+0 for each scream counter on Endless Scream.
|
// Enchanted creature gets +1/+0 for each scream counter on Endless Scream.
|
||||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEnchantedEffect(new CountersSourceCount(CounterType.SCREAM), new StaticValue(0), Duration.WhileOnBattlefield)));
|
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEnchantedEffect(new CountersSourceCount(CounterType.SCREAM), StaticValue.get(0), Duration.WhileOnBattlefield)));
|
||||||
}
|
}
|
||||||
|
|
||||||
public EndlessScream(final EndlessScream card) {
|
public EndlessScream(final EndlessScream card) {
|
||||||
|
|
|
@ -22,7 +22,7 @@ public final class Enrage extends CardImpl {
|
||||||
|
|
||||||
|
|
||||||
// Target creature gets +X/+0 until end of turn.
|
// Target 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());
|
this.getSpellAbility().addTarget(new TargetCreaturePermanent());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -80,7 +80,7 @@ class ExplosionEffect extends OneShotEffect {
|
||||||
@Override
|
@Override
|
||||||
public boolean apply(Game game, Ability source) {
|
public boolean apply(Game game, Ability source) {
|
||||||
int xValue = source.getManaCostsToPay().getX();
|
int xValue = source.getManaCostsToPay().getX();
|
||||||
Effect effect = new DamageTargetEffect(new StaticValue(xValue), true, "", true);
|
Effect effect = new DamageTargetEffect(StaticValue.get(xValue), true, "", true);
|
||||||
effect.setTargetPointer(new FixedTarget(source.getFirstTarget(), game));
|
effect.setTargetPointer(new FixedTarget(source.getFirstTarget(), game));
|
||||||
effect.apply(game, source);
|
effect.apply(game, source);
|
||||||
Player player = game.getPlayer(source.getTargets().get(1).getFirstTarget());
|
Player player = game.getPlayer(source.getTargets().get(1).getFirstTarget());
|
||||||
|
|
|
@ -37,7 +37,7 @@ public final class FaerieMechanist extends CardImpl {
|
||||||
this.addAbility(FlyingAbility.getInstance());
|
this.addAbility(FlyingAbility.getInstance());
|
||||||
// When Faerie Mechanist enters the battlefield, look at the top three cards of your library.
|
// When Faerie Mechanist enters the battlefield, look at the top three cards of your library.
|
||||||
// You may reveal an artifact card from among them and put it into your hand. Put the rest on the bottom of your library in any order.
|
// You may reveal an artifact card from among them and put it into your hand. Put the rest on the bottom of your library in any order.
|
||||||
this.addAbility(new EntersBattlefieldTriggeredAbility(new LookLibraryAndPickControllerEffect(new StaticValue(3), false, new StaticValue(1), filter, false)));
|
this.addAbility(new EntersBattlefieldTriggeredAbility(new LookLibraryAndPickControllerEffect(StaticValue.get(3), false, StaticValue.get(1), filter, false)));
|
||||||
}
|
}
|
||||||
|
|
||||||
public FaerieMechanist(final FaerieMechanist card) {
|
public FaerieMechanist(final FaerieMechanist card) {
|
||||||
|
|
|
@ -35,7 +35,7 @@ public final class FatalFrenzy extends CardImpl {
|
||||||
this.getSpellAbility().addEffect(new GainAbilityTargetEffect(TrampleAbility.getInstance(), Duration.EndOfTurn)
|
this.getSpellAbility().addEffect(new GainAbilityTargetEffect(TrampleAbility.getInstance(), Duration.EndOfTurn)
|
||||||
.setText("Until end of turn, target creature you control gains trample")
|
.setText("Until end of turn, target creature you control gains trample")
|
||||||
);
|
);
|
||||||
this.getSpellAbility().addEffect(new BoostTargetEffect(TargetPermanentPowerCount.instance, new StaticValue(0), Duration.EndOfTurn, true)
|
this.getSpellAbility().addEffect(new BoostTargetEffect(TargetPermanentPowerCount.instance, StaticValue.get(0), Duration.EndOfTurn, true)
|
||||||
.setText("and gets +X/+0, where X is its power.")
|
.setText("and gets +X/+0, where X is its power.")
|
||||||
);
|
);
|
||||||
this.getSpellAbility().addEffect(new FatalFrenzyEffect());
|
this.getSpellAbility().addEffect(new FatalFrenzyEffect());
|
||||||
|
|
|
@ -79,7 +79,7 @@ class FatalLoreEffect extends OneShotEffect {
|
||||||
destroyCreature.setTargetPointer(new FixedTarget(targetId));
|
destroyCreature.setTargetPointer(new FixedTarget(targetId));
|
||||||
destroyCreature.apply(game, source);
|
destroyCreature.apply(game, source);
|
||||||
}
|
}
|
||||||
Effect opponentDrawsCards = new DrawCardTargetEffect(new StaticValue(3), false, true);
|
Effect opponentDrawsCards = new DrawCardTargetEffect(StaticValue.get(3), false, true);
|
||||||
opponentDrawsCards.setTargetPointer(new FixedTarget(chosenOpponent.getId()));
|
opponentDrawsCards.setTargetPointer(new FixedTarget(chosenOpponent.getId()));
|
||||||
opponentDrawsCards.apply(game, source);
|
opponentDrawsCards.apply(game, source);
|
||||||
return true;
|
return true;
|
||||||
|
|
|
@ -31,7 +31,7 @@ public final class FeralAnimist extends CardImpl {
|
||||||
|
|
||||||
// {3}: Feral Animist gets +X/+0 until end of turn, where X is its power.
|
// {3}: Feral Animist gets +X/+0 until end of turn, where X is its power.
|
||||||
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD,
|
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD,
|
||||||
new BoostSourceEffect(new SourcePermanentPowerCount(), new StaticValue(0), Duration.EndOfTurn, true),
|
new BoostSourceEffect(new SourcePermanentPowerCount(), StaticValue.get(0), Duration.EndOfTurn, true),
|
||||||
new GenericManaCost(3)));
|
new GenericManaCost(3)));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -29,7 +29,7 @@ public final class FesteringMarch extends CardImpl {
|
||||||
// Exile Festering March
|
// Exile Festering March
|
||||||
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);
|
||||||
|
|
||||||
|
|
|
@ -30,7 +30,7 @@ public final class FistsOfFlame extends CardImpl {
|
||||||
).setText("Until end of turn, target creature gains trample"));
|
).setText("Until end of turn, target creature gains trample"));
|
||||||
this.getSpellAbility().addEffect(new BoostTargetEffect(
|
this.getSpellAbility().addEffect(new BoostTargetEffect(
|
||||||
CardsDrawnThisTurnDynamicValue.instance,
|
CardsDrawnThisTurnDynamicValue.instance,
|
||||||
StaticValue.getZeroValue(), Duration.EndOfTurn
|
StaticValue.get(0), Duration.EndOfTurn
|
||||||
).setText("and gets +1/+0 for each card you've drawn this turn."));
|
).setText("and gets +1/+0 for each card you've drawn this turn."));
|
||||||
this.getSpellAbility().addTarget(new TargetCreaturePermanent());
|
this.getSpellAbility().addTarget(new TargetCreaturePermanent());
|
||||||
this.getSpellAbility().addWatcher(new CardsDrawnThisTurnWatcher());
|
this.getSpellAbility().addWatcher(new CardsDrawnThisTurnWatcher());
|
||||||
|
|
|
@ -37,7 +37,7 @@ public final class Flamebreak extends CardImpl {
|
||||||
|
|
||||||
|
|
||||||
// Flamebreak deals 3 damage to each creature without flying and each player. Creatures dealt damage this way can't be regenerated this turn.
|
// Flamebreak deals 3 damage to each creature without flying and each player. Creatures dealt damage this way can't be regenerated this turn.
|
||||||
this.getSpellAbility().addEffect(new DamageEverythingEffect(new StaticValue(3), filter1));
|
this.getSpellAbility().addEffect(new DamageEverythingEffect(StaticValue.get(3), filter1));
|
||||||
this.getSpellAbility().addEffect(new FlamebreakCantRegenerateEffect());
|
this.getSpellAbility().addEffect(new FlamebreakCantRegenerateEffect());
|
||||||
this.getSpellAbility().addWatcher(new DamagedByWatcher(false));
|
this.getSpellAbility().addWatcher(new DamagedByWatcher(false));
|
||||||
}
|
}
|
||||||
|
|
|
@ -22,7 +22,7 @@ public final class ForbiddenAlchemy extends CardImpl {
|
||||||
super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{2}{U}");
|
super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{2}{U}");
|
||||||
|
|
||||||
// Look at the top four cards of your library. Put one of them into your hand and the rest into your graveyard.
|
// Look at the top four cards of your library. Put one of them into your hand and the rest into your graveyard.
|
||||||
this.getSpellAbility().addEffect(new LookLibraryAndPickControllerEffect(new StaticValue(4), false, new StaticValue(1),
|
this.getSpellAbility().addEffect(new LookLibraryAndPickControllerEffect(StaticValue.get(4), false, StaticValue.get(1),
|
||||||
StaticFilters.FILTER_CARD, Zone.GRAVEYARD, false, false, false, Zone.HAND, false));
|
StaticFilters.FILTER_CARD, Zone.GRAVEYARD, false, false, false, Zone.HAND, false));
|
||||||
|
|
||||||
// Flashback {6}{B}
|
// Flashback {6}{B}
|
||||||
|
|
|
@ -41,7 +41,7 @@ public final class FoulEmissary extends CardImpl {
|
||||||
this.toughness = new MageInt(1);
|
this.toughness = new MageInt(1);
|
||||||
|
|
||||||
// When Foul Emissary enters the battlefield, look at the top four cards of your library. You may reveal a creature card from among them and put it into your hand. Put the rest on the bottom of your library in any order.
|
// When Foul Emissary enters the battlefield, look at the top four cards of your library. You may reveal a creature card from among them and put it into your hand. Put the rest on the bottom of your library in any order.
|
||||||
this.addAbility(new EntersBattlefieldTriggeredAbility(new LookLibraryAndPickControllerEffect(new StaticValue(4), false, new StaticValue(1), filter, false)));
|
this.addAbility(new EntersBattlefieldTriggeredAbility(new LookLibraryAndPickControllerEffect(StaticValue.get(4), false, StaticValue.get(1), filter, false)));
|
||||||
|
|
||||||
// When you sacrifice Foul Emissary while casting a spell with emerge, create a 3/2 colorless Eldrazi Horror creature token.
|
// When you sacrifice Foul Emissary while casting a spell with emerge, create a 3/2 colorless Eldrazi Horror creature token.
|
||||||
this.addAbility(new FoulEmissaryTriggeredAbility(new CreateTokenEffect(new EldraziHorrorToken()), false));
|
this.addAbility(new FoulEmissaryTriggeredAbility(new CreateTokenEffect(new EldraziHorrorToken()), false));
|
||||||
|
|
|
@ -24,7 +24,7 @@ public final class GhoulsFeast extends CardImpl {
|
||||||
|
|
||||||
// Target creature gets +X/+0 until end of turn, where X is the number of creature cards in your graveyard.
|
// Target creature gets +X/+0 until end of turn, where X is the number of creature cards in your graveyard.
|
||||||
DynamicValue xValue = new CardsInControllerGraveyardCount(new FilterCreatureCard("creature card"));
|
DynamicValue xValue = new CardsInControllerGraveyardCount(new FilterCreatureCard("creature card"));
|
||||||
this.getSpellAbility().addEffect(new BoostTargetEffect(xValue, new StaticValue(0), Duration.EndOfTurn, true));
|
this.getSpellAbility().addEffect(new BoostTargetEffect(xValue, StaticValue.get(0), Duration.EndOfTurn, true));
|
||||||
this.getSpellAbility().addTarget(new TargetCreaturePermanent());
|
this.getSpellAbility().addTarget(new TargetCreaturePermanent());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -34,7 +34,7 @@ public final class GlaiveOfTheGuildpact extends CardImpl {
|
||||||
Zone.BATTLEFIELD,
|
Zone.BATTLEFIELD,
|
||||||
new BoostEquippedEffect(
|
new BoostEquippedEffect(
|
||||||
GateYouControlCount.instance,
|
GateYouControlCount.instance,
|
||||||
new StaticValue(0)
|
StaticValue.get(0)
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
ability.addEffect(new GainAbilityAttachedEffect(
|
ability.addEffect(new GainAbilityAttachedEffect(
|
||||||
|
|
|
@ -19,7 +19,7 @@ public final class GlimpseTheFuture extends CardImpl {
|
||||||
super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{2}{U}");
|
super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{2}{U}");
|
||||||
|
|
||||||
// Look at the top three cards of your library. Put one of them into your hand and the rest into your graveyard.
|
// Look at the top three cards of your library. Put one of them into your hand and the rest into your graveyard.
|
||||||
this.getSpellAbility().addEffect(new LookLibraryAndPickControllerEffect(new StaticValue(3), false, new StaticValue(1),
|
this.getSpellAbility().addEffect(new LookLibraryAndPickControllerEffect(StaticValue.get(3), false, StaticValue.get(1),
|
||||||
StaticFilters.FILTER_CARD, Zone.GRAVEYARD, false, false, false, Zone.HAND, false));
|
StaticFilters.FILTER_CARD, Zone.GRAVEYARD, false, false, false, Zone.HAND, false));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -32,7 +32,7 @@ public final class GlintNestCrane extends CardImpl {
|
||||||
// When Glint-Nest Crane enters the battlefield, look at the top four cards of your library. You may reveal an artifact card from among them and
|
// When Glint-Nest Crane enters the battlefield, look at the top four cards of your library. You may reveal an artifact card from among them and
|
||||||
// put it into your hand. Put the rest on the bottom of your library in any order.
|
// put it into your hand. Put the rest on the bottom of your library in any order.
|
||||||
this.addAbility(new EntersBattlefieldTriggeredAbility(
|
this.addAbility(new EntersBattlefieldTriggeredAbility(
|
||||||
new LookLibraryAndPickControllerEffect(new StaticValue(4), false, new StaticValue(1),
|
new LookLibraryAndPickControllerEffect(StaticValue.get(4), false, StaticValue.get(1),
|
||||||
StaticFilters.FILTER_CARD_ARTIFACT_AN, Zone.LIBRARY, false, true, false, Zone.HAND, true)));
|
StaticFilters.FILTER_CARD_ARTIFACT_AN, Zone.LIBRARY, false, true, false, Zone.HAND, true)));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -33,7 +33,7 @@ public final class GoblinGaveleer extends CardImpl {
|
||||||
this.addAbility(TrampleAbility.getInstance());
|
this.addAbility(TrampleAbility.getInstance());
|
||||||
// Goblin Gaveleer gets +2/+0 for each Equipment attached to it.
|
// Goblin Gaveleer gets +2/+0 for each Equipment attached to it.
|
||||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostSourceEffect(new EquipmentAttachedCount(2),
|
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostSourceEffect(new EquipmentAttachedCount(2),
|
||||||
new StaticValue(0), Duration.WhileOnBattlefield)));
|
StaticValue.get(0), Duration.WhileOnBattlefield)));
|
||||||
}
|
}
|
||||||
|
|
||||||
public GoblinGaveleer(final GoblinGaveleer card) {
|
public GoblinGaveleer(final GoblinGaveleer card) {
|
||||||
|
|
|
@ -43,7 +43,7 @@ public final class GoblinPiledriver extends CardImpl {
|
||||||
this.addAbility(ProtectionAbility.from(ObjectColor.BLUE));
|
this.addAbility(ProtectionAbility.from(ObjectColor.BLUE));
|
||||||
// Whenever Goblin Piledriver attacks, it gets +2/+0 until end of turn for each other attacking Goblin.
|
// Whenever Goblin Piledriver attacks, it gets +2/+0 until end of turn for each other attacking Goblin.
|
||||||
PermanentsOnBattlefieldCount value = new PermanentsOnBattlefieldCount(filter, 2);
|
PermanentsOnBattlefieldCount value = new PermanentsOnBattlefieldCount(filter, 2);
|
||||||
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 GoblinPiledriver(final GoblinPiledriver card) {
|
public GoblinPiledriver(final GoblinPiledriver card) {
|
||||||
|
|
|
@ -55,7 +55,7 @@ public final class GoblinRabblemaster extends CardImpl {
|
||||||
this.addAbility(new BeginningOfCombatTriggeredAbility(new CreateTokenEffect(new GoblinToken(true)), TargetController.YOU, false));
|
this.addAbility(new BeginningOfCombatTriggeredAbility(new CreateTokenEffect(new GoblinToken(true)), TargetController.YOU, false));
|
||||||
|
|
||||||
// When Goblin Rabblemaster attacks, it gets +1/+0 until end of turn for each other attacking Goblin.
|
// When Goblin Rabblemaster attacks, it gets +1/+0 until end of turn for each other attacking Goblin.
|
||||||
this.addAbility(new AttacksTriggeredAbility(new BoostSourceEffect(new PermanentsOnBattlefieldCount(attackingFilter), new StaticValue(0), Duration.EndOfTurn, true), false));
|
this.addAbility(new AttacksTriggeredAbility(new BoostSourceEffect(new PermanentsOnBattlefieldCount(attackingFilter), StaticValue.get(0), Duration.EndOfTurn, true), false));
|
||||||
}
|
}
|
||||||
|
|
||||||
public GoblinRabblemaster(final GoblinRabblemaster card) {
|
public GoblinRabblemaster(final GoblinRabblemaster card) {
|
||||||
|
|
|
@ -31,7 +31,7 @@ public final class GolemSkinGauntlets extends CardImpl {
|
||||||
super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{1}");
|
super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{1}");
|
||||||
this.subtype.add(SubType.EQUIPMENT);
|
this.subtype.add(SubType.EQUIPMENT);
|
||||||
|
|
||||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(new GolemSkinGauntletsAttachedCount(), new StaticValue(0), Duration.WhileOnBattlefield)));
|
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(new GolemSkinGauntletsAttachedCount(), StaticValue.get(0), Duration.WhileOnBattlefield)));
|
||||||
this.addAbility(new EquipAbility(Outcome.BoostCreature, new GenericManaCost(2)));
|
this.addAbility(new EquipAbility(Outcome.BoostCreature, new GenericManaCost(2)));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -22,7 +22,7 @@ public final class GreatDefender extends CardImpl {
|
||||||
|
|
||||||
// Target creature gets +0/+X until end of turn, where X is its converted mana cost.
|
// Target creature gets +0/+X until end of turn, where X is its converted mana cost.
|
||||||
this.getSpellAbility().addTarget(new TargetCreaturePermanent());
|
this.getSpellAbility().addTarget(new TargetCreaturePermanent());
|
||||||
this.getSpellAbility().addEffect(new BoostTargetEffect(new StaticValue(0), TargetConvertedManaCost.instance, Duration.EndOfTurn, true)
|
this.getSpellAbility().addEffect(new BoostTargetEffect(StaticValue.get(0), TargetConvertedManaCost.instance, Duration.EndOfTurn, true)
|
||||||
.setText("Target creature gets +0/+X until end of turn, where X is its converted mana cost.")
|
.setText("Target creature gets +0/+X until end of turn, where X is its converted mana cost.")
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
@ -41,7 +41,7 @@ public final class GrevenPredatorCaptain extends CardImpl {
|
||||||
|
|
||||||
// Greven, Predator Captain gets +X/+0, where X is the amount of life you've lost this turn.
|
// Greven, Predator Captain gets +X/+0, where X is the amount of life you've lost this turn.
|
||||||
this.addAbility(new SimpleStaticAbility(new BoostSourceEffect(
|
this.addAbility(new SimpleStaticAbility(new BoostSourceEffect(
|
||||||
GrevenPredatorCaptainValue.instance, StaticValue.getZeroValue(), Duration.WhileOnBattlefield
|
GrevenPredatorCaptainValue.instance, StaticValue.get(0), Duration.WhileOnBattlefield
|
||||||
)));
|
)));
|
||||||
|
|
||||||
// Whenever Greven attacks, you may sacrifice another creature. If you do, you draw cards equal to that creature's power and you lose life equal to that creature's toughness.
|
// Whenever Greven attacks, you may sacrifice another creature. If you do, you draw cards equal to that creature's power and you lose life equal to that creature's toughness.
|
||||||
|
|
|
@ -39,7 +39,7 @@ public final class GrimFlayer extends CardImpl {
|
||||||
// Whenever Grim Flayer deals combat damage to a player, look at the top three cards of your library. Put any number of them into your graveyard
|
// Whenever Grim Flayer deals combat damage to a player, look at the top three cards of your library. Put any number of them into your graveyard
|
||||||
// and the rest back on top of your library in any order.
|
// and the rest back on top of your library in any order.
|
||||||
Effect effect = new LookLibraryAndPickControllerEffect(
|
Effect effect = new LookLibraryAndPickControllerEffect(
|
||||||
new StaticValue(3), false, new StaticValue(3), new FilterCard(), Zone.LIBRARY, true, false, true, Zone.GRAVEYARD, false);
|
StaticValue.get(3), false, StaticValue.get(3), new FilterCard(), Zone.LIBRARY, true, false, true, Zone.GRAVEYARD, false);
|
||||||
effect.setText("look at the top three cards of your library. Put any number of them into your graveyard and the rest back on top of your library in any order");
|
effect.setText("look at the top three cards of your library. Put any number of them into your graveyard and the rest back on top of your library in any order");
|
||||||
this.addAbility(new DealsCombatDamageToAPlayerTriggeredAbility(effect, false));
|
this.addAbility(new DealsCombatDamageToAPlayerTriggeredAbility(effect, false));
|
||||||
|
|
||||||
|
|
|
@ -47,7 +47,7 @@ public final class GruulBeastmaster extends CardImpl {
|
||||||
|
|
||||||
// Whenever Gruul Beastmaster attacks, another target creature you control gets +X/+0 until end of turn, where X is Gruul Beastmaster's power.
|
// Whenever Gruul Beastmaster attacks, another target creature you control gets +X/+0 until end of turn, where X is Gruul Beastmaster's power.
|
||||||
Ability ability = new AttacksTriggeredAbility(new BoostTargetEffect(
|
Ability ability = new AttacksTriggeredAbility(new BoostTargetEffect(
|
||||||
xValue, StaticValue.getZeroValue(), Duration.EndOfTurn, true
|
xValue, StaticValue.get(0), Duration.EndOfTurn, true
|
||||||
), false);
|
), false);
|
||||||
ability.addTarget(new TargetPermanent(filter));
|
ability.addTarget(new TargetPermanent(filter));
|
||||||
this.addAbility(ability);
|
this.addAbility(ability);
|
||||||
|
|
|
@ -30,7 +30,7 @@ public final class GurmagDrowner extends CardImpl {
|
||||||
this.addAbility(new ExploitAbility());
|
this.addAbility(new ExploitAbility());
|
||||||
|
|
||||||
// When Gurmag Drowner exploits a creature, look at the top four cards of your library. Put one of them into your hand and the rest into your graveyard.
|
// When Gurmag Drowner exploits a creature, look at the top four cards of your library. Put one of them into your hand and the rest into your graveyard.
|
||||||
this.addAbility(new ExploitCreatureTriggeredAbility(new LookLibraryAndPickControllerEffect(new StaticValue(4), false, new StaticValue(1),
|
this.addAbility(new ExploitCreatureTriggeredAbility(new LookLibraryAndPickControllerEffect(StaticValue.get(4), false, StaticValue.get(1),
|
||||||
StaticFilters.FILTER_CARD, Zone.GRAVEYARD, false, false, false, Zone.HAND, false), false));
|
StaticFilters.FILTER_CARD, Zone.GRAVEYARD, false, false, false, Zone.HAND, false), false));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -50,7 +50,7 @@ public final class HarshMentor extends CardImpl {
|
||||||
class HarshMentorTriggeredAbility extends TriggeredAbilityImpl {
|
class HarshMentorTriggeredAbility extends TriggeredAbilityImpl {
|
||||||
|
|
||||||
HarshMentorTriggeredAbility() {
|
HarshMentorTriggeredAbility() {
|
||||||
super(Zone.BATTLEFIELD, new DamageTargetEffect(new StaticValue(2), true, "that player", true));
|
super(Zone.BATTLEFIELD, new DamageTargetEffect(StaticValue.get(2), true, "that player", true));
|
||||||
}
|
}
|
||||||
|
|
||||||
HarshMentorTriggeredAbility(final HarshMentorTriggeredAbility ability) {
|
HarshMentorTriggeredAbility(final HarshMentorTriggeredAbility ability) {
|
||||||
|
|
|
@ -27,7 +27,7 @@ public final class Hatred extends CardImpl {
|
||||||
|
|
||||||
// Target creature gets +X/+0 until end of turn.
|
// Target creature gets +X/+0 until end of turn.
|
||||||
DynamicValue xValue = GetXValue.instance;
|
DynamicValue xValue = GetXValue.instance;
|
||||||
this.getSpellAbility().addEffect(new BoostTargetEffect(xValue, new StaticValue(0), Duration.EndOfTurn));
|
this.getSpellAbility().addEffect(new BoostTargetEffect(xValue, StaticValue.get(0), Duration.EndOfTurn));
|
||||||
this.getSpellAbility().addTarget(new TargetCreaturePermanent());
|
this.getSpellAbility().addTarget(new TargetCreaturePermanent());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -40,7 +40,7 @@ public final class HeartlashCinder extends CardImpl {
|
||||||
this.addAbility(HasteAbility.getInstance());
|
this.addAbility(HasteAbility.getInstance());
|
||||||
|
|
||||||
// Chroma - When Heartlash Cinder enters the battlefield, it gets +X/+0 until end of turn, where X is the number of red mana symbols in the mana costs of permanents you control.
|
// Chroma - When Heartlash Cinder enters the battlefield, it gets +X/+0 until end of turn, where X is the number of red mana symbols in the mana costs of permanents you control.
|
||||||
ContinuousEffect effect = new BoostSourceEffect(new ChromaHeartlashCinderCount(), new StaticValue(0), Duration.EndOfTurn, true);
|
ContinuousEffect effect = new BoostSourceEffect(new ChromaHeartlashCinderCount(), StaticValue.get(0), Duration.EndOfTurn, true);
|
||||||
effect.setText("<i>Chroma</i> — When Heartlash Cinder enters the battlefield, it gets +X/+0 until end of turn, where X is the number of red mana symbols in the mana costs of permanents you control.");
|
effect.setText("<i>Chroma</i> — When Heartlash Cinder enters the battlefield, it gets +X/+0 until end of turn, where X is the number of red mana symbols in the mana costs of permanents you control.");
|
||||||
this.addAbility(new EntersBattlefieldTriggeredAbility(effect, false, true));
|
this.addAbility(new EntersBattlefieldTriggeredAbility(effect, false, true));
|
||||||
|
|
||||||
|
|
|
@ -46,7 +46,7 @@ public final class HellkiteIgniter extends CardImpl {
|
||||||
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD,
|
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD,
|
||||||
new BoostSourceEffect(
|
new BoostSourceEffect(
|
||||||
new PermanentsOnBattlefieldCount(filter),
|
new PermanentsOnBattlefieldCount(filter),
|
||||||
new StaticValue(0),
|
StaticValue.get(0),
|
||||||
Duration.EndOfTurn,
|
Duration.EndOfTurn,
|
||||||
true),
|
true),
|
||||||
new ManaCostsImpl("{1}{R}")));
|
new ManaCostsImpl("{1}{R}")));
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue