mirror of
https://github.com/correl/mage.git
synced 2024-11-15 11:09:30 +00:00
refactored mill effect names
This commit is contained in:
parent
fe1281decb
commit
7008392a49
109 changed files with 237 additions and 237 deletions
|
@ -2,7 +2,7 @@ package mage.cards.a;
|
|||
|
||||
import java.util.UUID;
|
||||
import mage.abilities.common.EntersBattlefieldAllTriggeredAbility;
|
||||
import mage.abilities.effects.common.PutTopCardOfLibraryIntoGraveEachPlayerEffect;
|
||||
import mage.abilities.effects.common.MillCardsEachPlayerEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
|
@ -28,7 +28,7 @@ public final class AltarOfTheBrood extends CardImpl {
|
|||
|
||||
// Whenever another permanent enters the battlefield under your control, each opponent mills a card.
|
||||
this.addAbility(new EntersBattlefieldAllTriggeredAbility(Zone.BATTLEFIELD,
|
||||
new PutTopCardOfLibraryIntoGraveEachPlayerEffect(1, TargetController.OPPONENT), filter, false, null, true));
|
||||
new MillCardsEachPlayerEffect(1, TargetController.OPPONENT), filter, false, null, true));
|
||||
}
|
||||
|
||||
public AltarOfTheBrood(final AltarOfTheBrood card) {
|
||||
|
|
|
@ -4,7 +4,7 @@ package mage.cards.a;
|
|||
import java.util.UUID;
|
||||
import mage.MageInt;
|
||||
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
|
||||
import mage.abilities.effects.common.PutTopCardOfLibraryIntoGraveControllerEffect;
|
||||
import mage.abilities.effects.common.MillCardsControllerEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
|
@ -25,7 +25,7 @@ public final class ArmoredSkaab extends CardImpl {
|
|||
this.toughness = new MageInt(4);
|
||||
|
||||
// When Armored Skaab enters the battlefield, put the top four cards of your library into your graveyard.
|
||||
this.addAbility(new EntersBattlefieldTriggeredAbility(new PutTopCardOfLibraryIntoGraveControllerEffect(4)));
|
||||
this.addAbility(new EntersBattlefieldTriggeredAbility(new MillCardsControllerEffect(4)));
|
||||
}
|
||||
|
||||
public ArmoredSkaab(final ArmoredSkaab card) {
|
||||
|
|
|
@ -5,7 +5,7 @@ import mage.abilities.LoyaltyAbility;
|
|||
import mage.abilities.common.PlaneswalkerEntersWithLoyaltyCountersAbility;
|
||||
import mage.abilities.effects.OneShotEffect;
|
||||
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
|
||||
import mage.abilities.effects.common.PutTopCardOfLibraryIntoGraveEachPlayerEffect;
|
||||
import mage.abilities.effects.common.MillCardsEachPlayerEffect;
|
||||
import mage.abilities.effects.common.ReturnFromGraveyardToBattlefieldTargetEffect;
|
||||
import mage.abilities.effects.common.continuous.GainControlAllEffect;
|
||||
import mage.cards.CardImpl;
|
||||
|
@ -40,7 +40,7 @@ public final class AshiokSculptorOfFears extends CardImpl {
|
|||
Ability ability = new LoyaltyAbility(
|
||||
new DrawCardSourceControllerEffect(1).setText("draw a card"), 2
|
||||
);
|
||||
ability.addEffect(new PutTopCardOfLibraryIntoGraveEachPlayerEffect(2, TargetController.ANY));
|
||||
ability.addEffect(new MillCardsEachPlayerEffect(2, TargetController.ANY));
|
||||
this.addAbility(ability);
|
||||
|
||||
// −5: Put target creature card from a graveyard onto the battlefield under your control.
|
||||
|
|
|
@ -7,7 +7,7 @@ import mage.abilities.common.BeginningOfEndStepTriggeredAbility;
|
|||
import mage.abilities.common.SimpleActivatedAbility;
|
||||
import mage.abilities.condition.common.DeliriumCondition;
|
||||
import mage.abilities.costs.mana.ManaCostsImpl;
|
||||
import mage.abilities.effects.common.PutTopCardOfLibraryIntoGraveControllerEffect;
|
||||
import mage.abilities.effects.common.MillCardsControllerEffect;
|
||||
import mage.abilities.effects.common.TransformSourceEffect;
|
||||
import mage.abilities.hint.common.DeliriumHint;
|
||||
import mage.abilities.keyword.TransformAbility;
|
||||
|
@ -29,7 +29,7 @@ public final class AutumnalGloom extends CardImpl {
|
|||
this.secondSideCardClazz = AncientOfTheEquinox.class;
|
||||
|
||||
// {B}: Put the top card of your library into your graveyard.
|
||||
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new PutTopCardOfLibraryIntoGraveControllerEffect(1), new ManaCostsImpl("{B}")));
|
||||
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new MillCardsControllerEffect(1), new ManaCostsImpl("{B}")));
|
||||
|
||||
// <i>Delirium</i> — At the beginning of your end step, if there are four or more card types among cards in your graveyard, transform Autumnal Gloom.
|
||||
this.addAbility(new TransformAbility());
|
||||
|
|
|
@ -12,7 +12,7 @@ import mage.abilities.condition.common.CardsInControllerGraveyardCondition;
|
|||
import mage.abilities.decorator.ConditionalContinuousEffect;
|
||||
import mage.abilities.effects.ContinuousEffect;
|
||||
import mage.abilities.effects.common.ExileCardFromOwnGraveyardControllerEffect;
|
||||
import mage.abilities.effects.common.PutTopCardOfLibraryIntoGraveControllerEffect;
|
||||
import mage.abilities.effects.common.MillCardsControllerEffect;
|
||||
import mage.abilities.effects.common.continuous.BoostSourceEffect;
|
||||
import mage.abilities.effects.common.continuous.GainAbilitySourceEffect;
|
||||
import mage.abilities.keyword.FlyingAbility;
|
||||
|
@ -37,7 +37,7 @@ public final class Bloodcurdler extends CardImpl {
|
|||
this.addAbility(FlyingAbility.getInstance());
|
||||
|
||||
// At the beginning of your upkeep, put the top card of your library into your graveyard.
|
||||
this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new PutTopCardOfLibraryIntoGraveControllerEffect(1), TargetController.YOU, false));
|
||||
this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new MillCardsControllerEffect(1), TargetController.YOU, false));
|
||||
|
||||
Condition thresholdCondition = new CardsInControllerGraveyardCondition(7);
|
||||
// Threshold - As long as seven or more cards are in your graveyard, Bloodcurdler gets +1/+1 and has "At the beginning of your end step, exile two cards from your graveyard."
|
||||
|
|
|
@ -4,7 +4,7 @@ import java.util.UUID;
|
|||
import mage.abilities.Ability;
|
||||
import mage.abilities.effects.ContinuousEffect;
|
||||
import mage.abilities.effects.OneShotEffect;
|
||||
import mage.abilities.effects.common.PutTopCardOfLibraryIntoGraveTargetEffect;
|
||||
import mage.abilities.effects.common.MillCardsTargetEffect;
|
||||
import mage.abilities.effects.common.continuous.GainAbilityTargetEffect;
|
||||
import mage.abilities.keyword.HasteAbility;
|
||||
import mage.cards.Card;
|
||||
|
@ -30,7 +30,7 @@ public final class BreakingEntering extends SplitCard {
|
|||
|
||||
// Breaking
|
||||
// Target player puts the top eight cards of their library into their graveyard.
|
||||
getLeftHalfCard().getSpellAbility().addEffect(new PutTopCardOfLibraryIntoGraveTargetEffect(8));
|
||||
getLeftHalfCard().getSpellAbility().addEffect(new MillCardsTargetEffect(8));
|
||||
getLeftHalfCard().getSpellAbility().addTarget(new TargetPlayer());
|
||||
|
||||
// Entering
|
||||
|
|
|
@ -8,7 +8,7 @@ import mage.abilities.common.SimpleStaticAbility;
|
|||
import mage.abilities.dynamicvalue.DynamicValue;
|
||||
import mage.abilities.dynamicvalue.common.StaticValue;
|
||||
import mage.abilities.effects.Effect;
|
||||
import mage.abilities.effects.common.PutTopCardOfLibraryIntoGraveControllerEffect;
|
||||
import mage.abilities.effects.common.MillCardsControllerEffect;
|
||||
import mage.abilities.effects.common.continuous.BoostSourceEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
|
@ -39,7 +39,7 @@ public final class CarrionGrub extends CardImpl {
|
|||
)));
|
||||
|
||||
// When Carrion Grub enters the battlefield, mill four cards.
|
||||
this.addAbility(new EntersBattlefieldTriggeredAbility(new PutTopCardOfLibraryIntoGraveControllerEffect(4)));
|
||||
this.addAbility(new EntersBattlefieldTriggeredAbility(new MillCardsControllerEffect(4)));
|
||||
}
|
||||
|
||||
private CarrionGrub(final CarrionGrub card) {
|
||||
|
|
|
@ -2,7 +2,7 @@ package mage.cards.c;
|
|||
|
||||
import mage.MageInt;
|
||||
import mage.abilities.common.BecomesTargetTriggeredAbility;
|
||||
import mage.abilities.effects.common.PutTopCardOfLibraryIntoGraveControllerEffect;
|
||||
import mage.abilities.effects.common.MillCardsControllerEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
|
@ -22,7 +22,7 @@ public final class CephalidAristocrat extends CardImpl {
|
|||
this.toughness = new MageInt(3);
|
||||
|
||||
// Whenever Cephalid Aristocrat becomes the target of a spell or ability, put the top two cards of your library into your graveyard.
|
||||
this.addAbility(new BecomesTargetTriggeredAbility(new PutTopCardOfLibraryIntoGraveControllerEffect(2)));
|
||||
this.addAbility(new BecomesTargetTriggeredAbility(new MillCardsControllerEffect(2)));
|
||||
}
|
||||
|
||||
public CephalidAristocrat(final CephalidAristocrat card) {
|
||||
|
|
|
@ -11,7 +11,7 @@ import mage.abilities.costs.mana.ManaCostsImpl;
|
|||
import mage.abilities.effects.Effect;
|
||||
import mage.abilities.effects.common.PreventDamageByTargetEffect;
|
||||
import mage.abilities.effects.common.PreventDamageToTargetEffect;
|
||||
import mage.abilities.effects.common.PutTopCardOfLibraryIntoGraveControllerEffect;
|
||||
import mage.abilities.effects.common.MillCardsControllerEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
|
@ -35,7 +35,7 @@ public final class CephalidIllusionist extends CardImpl {
|
|||
this.toughness = new MageInt(1);
|
||||
|
||||
// Whenever Cephalid Illusionist becomes the target of a spell or ability, put the top three cards of your library into your graveyard.
|
||||
this.addAbility(new BecomesTargetTriggeredAbility(new PutTopCardOfLibraryIntoGraveControllerEffect(3)));
|
||||
this.addAbility(new BecomesTargetTriggeredAbility(new MillCardsControllerEffect(3)));
|
||||
|
||||
// {2}{U}, {tap}: Prevent all combat damage that would be dealt to
|
||||
Effect effect = new PreventDamageToTargetEffect(Duration.EndOfTurn, true);
|
||||
|
|
|
@ -6,7 +6,7 @@ import mage.abilities.Ability;
|
|||
import mage.abilities.common.SimpleStaticAbility;
|
||||
import mage.abilities.effects.Effect;
|
||||
import mage.abilities.effects.ReplacementEffectImpl;
|
||||
import mage.abilities.effects.common.PutTopCardOfLibraryIntoGraveTargetEffect;
|
||||
import mage.abilities.effects.common.MillCardsTargetEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.*;
|
||||
|
@ -66,7 +66,7 @@ class ChainsOfMephistophelesReplacementEffect extends ReplacementEffectImpl {
|
|||
if (player != null) {
|
||||
if (player.getHand().isEmpty()) {
|
||||
// they put the top card of their library into their graveyard
|
||||
Effect effect = new PutTopCardOfLibraryIntoGraveTargetEffect(1);
|
||||
Effect effect = new MillCardsTargetEffect(1);
|
||||
effect.setTargetPointer(new FixedTarget(event.getPlayerId()));
|
||||
effect.apply(game, source);
|
||||
return true;
|
||||
|
|
|
@ -6,7 +6,7 @@ import mage.abilities.DelayedTriggeredAbility;
|
|||
import mage.abilities.common.ChancellorAbility;
|
||||
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
|
||||
import mage.abilities.effects.common.PlayTargetWithoutPayingManaEffect;
|
||||
import mage.abilities.effects.common.PutTopCardOfLibraryIntoGraveEachPlayerEffect;
|
||||
import mage.abilities.effects.common.MillCardsEachPlayerEffect;
|
||||
import mage.abilities.keyword.FlyingAbility;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
|
@ -68,7 +68,7 @@ public final class ChancellorOfTheSpires extends CardImpl {
|
|||
class ChancellorOfTheSpiresDelayedTriggeredAbility extends DelayedTriggeredAbility {
|
||||
|
||||
ChancellorOfTheSpiresDelayedTriggeredAbility() {
|
||||
super(new PutTopCardOfLibraryIntoGraveEachPlayerEffect(7, TargetController.OPPONENT));
|
||||
super(new MillCardsEachPlayerEffect(7, TargetController.OPPONENT));
|
||||
}
|
||||
|
||||
private ChancellorOfTheSpiresDelayedTriggeredAbility(ChancellorOfTheSpiresDelayedTriggeredAbility ability) {
|
||||
|
|
|
@ -3,7 +3,7 @@ package mage.cards.c;
|
|||
import mage.Mana;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.costs.Cost;
|
||||
import mage.abilities.costs.common.PutTopCardOfYourLibraryToGraveyardCost;
|
||||
import mage.abilities.costs.common.MillCardsCost;
|
||||
import mage.abilities.costs.common.TapSourceCost;
|
||||
import mage.abilities.costs.mana.*;
|
||||
import mage.abilities.effects.mana.ManaEffect;
|
||||
|
@ -51,7 +51,7 @@ class CharmedPendantAbility extends ActivatedManaAbilityImpl {
|
|||
|
||||
public CharmedPendantAbility() {
|
||||
super(Zone.BATTLEFIELD, new CharmedPendantManaEffect(), new TapSourceCost());
|
||||
this.addCost(new PutTopCardOfYourLibraryToGraveyardCost());
|
||||
this.addCost(new MillCardsCost());
|
||||
this.setUndoPossible(false); // Otherwise you could return the card from graveyard
|
||||
}
|
||||
|
||||
|
@ -131,8 +131,8 @@ class CharmedPendantManaEffect extends ManaEffect {
|
|||
Player controller = game.getPlayer(source.getControllerId());
|
||||
if (controller != null) {
|
||||
for (Cost cost : source.getCosts()) {
|
||||
if (cost instanceof PutTopCardOfYourLibraryToGraveyardCost) {
|
||||
Set<Card> cards = ((PutTopCardOfYourLibraryToGraveyardCost) cost).getCardsMovedToGraveyard();
|
||||
if (cost instanceof MillCardsCost) {
|
||||
Set<Card> cards = ((MillCardsCost) cost).getCardsMovedToGraveyard();
|
||||
if (!cards.isEmpty()) {
|
||||
Card card = cards.iterator().next();
|
||||
if (card != null && card.getManaCost() != null) {
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
package mage.cards.c;
|
||||
|
||||
import mage.abilities.costs.mana.ManaCostsImpl;
|
||||
import mage.abilities.effects.common.PutTopCardOfLibraryIntoGraveEachPlayerEffect;
|
||||
import mage.abilities.effects.common.MillCardsEachPlayerEffect;
|
||||
import mage.abilities.keyword.FlashbackAbility;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
|
@ -20,7 +20,7 @@ public final class ChillOfForeboding extends CardImpl {
|
|||
super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{2}{U}");
|
||||
|
||||
// Each player puts the top five cards of their library into their graveyard.
|
||||
this.getSpellAbility().addEffect(new PutTopCardOfLibraryIntoGraveEachPlayerEffect(5, TargetController.ANY));
|
||||
this.getSpellAbility().addEffect(new MillCardsEachPlayerEffect(5, TargetController.ANY));
|
||||
|
||||
// Flashback {7}{U}
|
||||
this.addAbility(new FlashbackAbility(new ManaCostsImpl("{7}{U}"), TimingRule.SORCERY));
|
||||
|
|
|
@ -4,7 +4,7 @@ package mage.cards.c;
|
|||
import java.util.UUID;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.effects.OneShotEffect;
|
||||
import mage.abilities.effects.common.PutTopCardOfLibraryIntoGraveControllerEffect;
|
||||
import mage.abilities.effects.common.MillCardsControllerEffect;
|
||||
import mage.cards.Card;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
|
@ -26,7 +26,7 @@ public final class CorpseChurn extends CardImpl {
|
|||
super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{1}{B}");
|
||||
|
||||
// Put the top three cards of your library into your graveyard, then you may return a creature card from your graveyard to your hand.
|
||||
getSpellAbility().addEffect(new PutTopCardOfLibraryIntoGraveControllerEffect(3));
|
||||
getSpellAbility().addEffect(new MillCardsControllerEffect(3));
|
||||
getSpellAbility().addEffect(new CorpseChurnEffect());
|
||||
}
|
||||
|
||||
|
|
|
@ -4,7 +4,7 @@ import java.util.UUID;
|
|||
import mage.abilities.TriggeredAbilityImpl;
|
||||
import mage.abilities.common.OnEventTriggeredAbility;
|
||||
import mage.abilities.effects.common.CreateTokenEffect;
|
||||
import mage.abilities.effects.common.PutTopCardOfLibraryIntoGraveControllerEffect;
|
||||
import mage.abilities.effects.common.MillCardsControllerEffect;
|
||||
import mage.cards.Card;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
|
@ -25,7 +25,7 @@ public final class CrawlingSensation extends CardImpl {
|
|||
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{2}{G}");
|
||||
|
||||
// At the beginning of your upkeep, you may put the top two cards of your library into your graveyard.
|
||||
this.addAbility(new OnEventTriggeredAbility(GameEvent.EventType.UPKEEP_STEP_PRE, "beginning of your upkeep", new PutTopCardOfLibraryIntoGraveControllerEffect(2), true));
|
||||
this.addAbility(new OnEventTriggeredAbility(GameEvent.EventType.UPKEEP_STEP_PRE, "beginning of your upkeep", new MillCardsControllerEffect(2), true));
|
||||
|
||||
// Whenever one or more land cards are put into your graveyard from anywhere for the first time each turn, create a 1/1 green Insect creature token.
|
||||
this.addAbility(new CrawlingSensationTriggeredAbility());
|
||||
|
|
|
@ -8,7 +8,7 @@ import mage.abilities.condition.common.DeliriumCondition;
|
|||
import mage.abilities.costs.common.SacrificeSourceCost;
|
||||
import mage.abilities.costs.mana.ManaCostsImpl;
|
||||
import mage.abilities.decorator.ConditionalActivatedAbility;
|
||||
import mage.abilities.effects.common.PutTopCardOfLibraryIntoGraveControllerEffect;
|
||||
import mage.abilities.effects.common.MillCardsControllerEffect;
|
||||
import mage.abilities.effects.common.ReturnToHandTargetEffect;
|
||||
import mage.abilities.hint.common.DeliriumHint;
|
||||
import mage.cards.CardImpl;
|
||||
|
@ -36,7 +36,7 @@ public final class CropSigil extends CardImpl {
|
|||
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{G}");
|
||||
|
||||
// At the beginning of your upkeep, you may put the top card of your library into your graveyard.
|
||||
this.addAbility(new OnEventTriggeredAbility(GameEvent.EventType.UPKEEP_STEP_PRE, "beginning of your upkeep", new PutTopCardOfLibraryIntoGraveControllerEffect(1), true));
|
||||
this.addAbility(new OnEventTriggeredAbility(GameEvent.EventType.UPKEEP_STEP_PRE, "beginning of your upkeep", new MillCardsControllerEffect(1), true));
|
||||
|
||||
// <i>Delirium</i> — {2}{G}, Sacrifice Crop Sigil: Return up to one target creature card and up to one target land card from your graveyard to your hand.
|
||||
// Activate this ability only if there are four or more card types among cards in your graveyard.
|
||||
|
|
|
@ -4,7 +4,7 @@ package mage.cards.c;
|
|||
import java.util.UUID;
|
||||
import mage.MageInt;
|
||||
import mage.abilities.common.EntersBattlefieldOrDiesSourceTriggeredAbility;
|
||||
import mage.abilities.effects.common.PutTopCardOfLibraryIntoGraveControllerEffect;
|
||||
import mage.abilities.effects.common.MillCardsControllerEffect;
|
||||
import mage.abilities.keyword.FlyingAbility;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
|
@ -28,7 +28,7 @@ public final class CrowOfDarkTidings extends CardImpl {
|
|||
this.addAbility(FlyingAbility.getInstance());
|
||||
|
||||
// When Crow of Dark Tidings enters the battlefield or dies, put the top two cards of your library into your graveyard.
|
||||
this.addAbility(new EntersBattlefieldOrDiesSourceTriggeredAbility(new PutTopCardOfLibraryIntoGraveControllerEffect(2), false));
|
||||
this.addAbility(new EntersBattlefieldOrDiesSourceTriggeredAbility(new MillCardsControllerEffect(2), false));
|
||||
}
|
||||
|
||||
public CrowOfDarkTidings(final CrowOfDarkTidings card) {
|
||||
|
|
|
@ -5,7 +5,7 @@ import mage.abilities.Ability;
|
|||
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
|
||||
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
|
||||
import mage.abilities.effects.OneShotEffect;
|
||||
import mage.abilities.effects.common.PutTopCardOfLibraryIntoGraveControllerEffect;
|
||||
import mage.abilities.effects.common.MillCardsControllerEffect;
|
||||
import mage.cards.Card;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
|
@ -26,7 +26,7 @@ public final class DeadbridgeChant extends CardImpl {
|
|||
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{4}{B}{G}");
|
||||
|
||||
// When Deadbridge Chant enters the battlefield, put the top ten cards of your library into your graveyard.
|
||||
this.addAbility(new EntersBattlefieldTriggeredAbility(new PutTopCardOfLibraryIntoGraveControllerEffect(10)));
|
||||
this.addAbility(new EntersBattlefieldTriggeredAbility(new MillCardsControllerEffect(10)));
|
||||
|
||||
// At the beginning of your upkeep, choose a card at random in your graveyard. If it's a creature card, put it onto the battlefield. Otherwise, put it into your hand.
|
||||
this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new DeadbridgeChantEffect(), TargetController.YOU, false));
|
||||
|
|
|
@ -9,7 +9,7 @@ import mage.abilities.dynamicvalue.DynamicValue;
|
|||
import mage.abilities.effects.Effect;
|
||||
import mage.abilities.effects.OneShotEffect;
|
||||
import mage.abilities.effects.common.GainLifeEffect;
|
||||
import mage.abilities.effects.common.PutTopCardOfLibraryIntoGraveControllerEffect;
|
||||
import mage.abilities.effects.common.MillCardsControllerEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
|
@ -95,7 +95,7 @@ class DeathsOasisTriggeredAbility extends DiesCreatureTriggeredAbility {
|
|||
return false;
|
||||
}
|
||||
this.getEffects().clear();
|
||||
this.addEffect(new PutTopCardOfLibraryIntoGraveControllerEffect(2));
|
||||
this.addEffect(new MillCardsControllerEffect(2));
|
||||
this.addEffect(new DeathsOasisEffect(zEvent.getTarget().getConvertedManaCost()));
|
||||
return true;
|
||||
}
|
||||
|
|
|
@ -6,7 +6,7 @@ import mage.MageInt;
|
|||
import mage.abilities.Ability;
|
||||
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
|
||||
import mage.abilities.common.SimpleActivatedAbility;
|
||||
import mage.abilities.costs.common.PutTopCardOfYourLibraryToGraveyardCost;
|
||||
import mage.abilities.costs.common.MillCardsCost;
|
||||
import mage.abilities.costs.mana.ManaCostsImpl;
|
||||
import mage.abilities.effects.Effect;
|
||||
import mage.abilities.effects.common.DontUntapInControllersNextUntapStepSourceEffect;
|
||||
|
@ -38,7 +38,7 @@ public final class DeepSpawn extends CardImpl {
|
|||
// Trample
|
||||
this.addAbility(TrampleAbility.getInstance());
|
||||
// At the beginning of your upkeep, sacrifice Deep Spawn unless you put the top two cards of your library into your graveyard.
|
||||
Effect effect = new SacrificeSourceUnlessPaysEffect(new PutTopCardOfYourLibraryToGraveyardCost(2));
|
||||
Effect effect = new SacrificeSourceUnlessPaysEffect(new MillCardsCost(2));
|
||||
effect.setText("sacrifice {this} unless you mill two cards");
|
||||
this.addAbility(new BeginningOfUpkeepTriggeredAbility(effect, TargetController.YOU, false));
|
||||
// {U}: Deep Spawn gains shroud until end of turn and doesn't untap during your next untap step. Tap Deep Spawn.
|
||||
|
|
|
@ -2,7 +2,7 @@ package mage.cards.d;
|
|||
|
||||
import java.util.UUID;
|
||||
import mage.MageInt;
|
||||
import mage.abilities.costs.common.PutTopCardOfYourLibraryToGraveyardCost;
|
||||
import mage.abilities.costs.common.MillCardsCost;
|
||||
import mage.abilities.mana.ColorlessManaAbility;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
|
@ -25,7 +25,7 @@ public final class DerangedAssistant extends CardImpl {
|
|||
|
||||
// {T}, Mill a card: Add {C}.
|
||||
ColorlessManaAbility ability = new ColorlessManaAbility();
|
||||
ability.addCost(new PutTopCardOfYourLibraryToGraveyardCost());
|
||||
ability.addCost(new MillCardsCost());
|
||||
ability.setUndoPossible(false);
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
|
|
@ -4,7 +4,7 @@ import mage.MageInt;
|
|||
import mage.abilities.TriggeredAbilityImpl;
|
||||
import mage.abilities.common.SimpleActivatedAbility;
|
||||
import mage.abilities.costs.mana.ManaCostsImpl;
|
||||
import mage.abilities.effects.common.PutTopCardOfLibraryIntoGraveControllerEffect;
|
||||
import mage.abilities.effects.common.MillCardsControllerEffect;
|
||||
import mage.abilities.effects.common.combat.CantBeBlockedSourceEffect;
|
||||
import mage.abilities.effects.common.continuous.BoostSourceEffect;
|
||||
import mage.cards.Card;
|
||||
|
@ -37,7 +37,7 @@ public final class DevourerOfMemory extends CardImpl {
|
|||
|
||||
// {1}{U}{B}: Put the top card of your library into your graveyard.
|
||||
this.addAbility(new SimpleActivatedAbility(
|
||||
new PutTopCardOfLibraryIntoGraveControllerEffect(1), new ManaCostsImpl("{1}{U}{B}")
|
||||
new MillCardsControllerEffect(1), new ManaCostsImpl("{1}{U}{B}")
|
||||
));
|
||||
}
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@ import mage.abilities.dynamicvalue.DynamicValue;
|
|||
import mage.abilities.dynamicvalue.common.CardsInControllerGraveyardCount;
|
||||
import mage.abilities.dynamicvalue.common.SignInversionDynamicValue;
|
||||
import mage.abilities.effects.Effect;
|
||||
import mage.abilities.effects.common.PutTopCardOfLibraryIntoGraveControllerEffect;
|
||||
import mage.abilities.effects.common.MillCardsControllerEffect;
|
||||
import mage.abilities.effects.common.continuous.BoostTargetEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
|
@ -27,7 +27,7 @@ public final class DrownInFilth extends CardImpl {
|
|||
|
||||
// Choose target creature. Put the top four cards of your library into your graveyard, then that creature gets -1/-1 until end of turn for each land card in your graveyard.
|
||||
this.getSpellAbility().addTarget(new TargetCreaturePermanent());
|
||||
Effect effect = new PutTopCardOfLibraryIntoGraveControllerEffect(4);
|
||||
Effect effect = new MillCardsControllerEffect(4);
|
||||
effect.setText("Choose target creature. Mill four cards");
|
||||
this.getSpellAbility().addEffect(effect);
|
||||
DynamicValue landCards = new SignInversionDynamicValue(new CardsInControllerGraveyardCount(new FilterLandCard()));
|
||||
|
|
|
@ -8,7 +8,7 @@ import mage.abilities.common.SimpleStaticAbility;
|
|||
import mage.abilities.costs.common.TapSourceCost;
|
||||
import mage.abilities.dynamicvalue.common.ArtifactYouControlCount;
|
||||
import mage.abilities.effects.AsThoughEffectImpl;
|
||||
import mage.abilities.effects.common.PutTopCardOfLibraryIntoGraveControllerEffect;
|
||||
import mage.abilities.effects.common.MillCardsControllerEffect;
|
||||
import mage.abilities.effects.common.cost.SpellCostReductionForEachSourceEffect;
|
||||
import mage.abilities.hint.common.ArtifactYouControlHint;
|
||||
import mage.cards.CardImpl;
|
||||
|
@ -41,7 +41,7 @@ public final class EmryLurkerOfTheLoch extends CardImpl {
|
|||
|
||||
// When Emry, Lurker of the Loch enters the battlefield, put the top four cards of your library into your graveyard.
|
||||
this.addAbility(new EntersBattlefieldTriggeredAbility(
|
||||
new PutTopCardOfLibraryIntoGraveControllerEffect(4)
|
||||
new MillCardsControllerEffect(4)
|
||||
));
|
||||
|
||||
// {T}: Choose target artifact card in your graveyard. You may cast that card this turn.
|
||||
|
|
|
@ -7,7 +7,7 @@ import mage.abilities.common.CanBeYourCommanderAbility;
|
|||
import mage.abilities.common.PlaneswalkerEntersWithLoyaltyCountersAbility;
|
||||
import mage.abilities.effects.OneShotEffect;
|
||||
import mage.abilities.effects.common.CreateTokenEffect;
|
||||
import mage.abilities.effects.common.PutTopCardOfLibraryIntoGraveControllerEffect;
|
||||
import mage.abilities.effects.common.MillCardsControllerEffect;
|
||||
import mage.abilities.effects.common.UntapAllControllerEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
|
@ -145,7 +145,7 @@ class EstridTheMaskedGraveyardEffect extends OneShotEffect {
|
|||
|
||||
@Override
|
||||
public boolean apply(Game game, Ability source) {
|
||||
new PutTopCardOfLibraryIntoGraveControllerEffect(7).apply(game, source);
|
||||
new MillCardsControllerEffect(7).apply(game, source);
|
||||
Player controller = game.getPlayer(source.getControllerId());
|
||||
if (controller == null) {
|
||||
return false;
|
||||
|
|
|
@ -8,7 +8,7 @@ import mage.abilities.common.SimpleStaticAbility;
|
|||
import mage.abilities.costs.common.TapSourceCost;
|
||||
import mage.abilities.costs.mana.ManaCostsImpl;
|
||||
import mage.abilities.effects.common.AttachEffect;
|
||||
import mage.abilities.effects.common.PutTopCardOfLibraryIntoGraveTargetEffect;
|
||||
import mage.abilities.effects.common.MillCardsTargetEffect;
|
||||
import mage.abilities.effects.common.continuous.GainAbilityAttachedEffect;
|
||||
import mage.abilities.keyword.EnchantAbility;
|
||||
import mage.cards.CardImpl;
|
||||
|
@ -36,7 +36,7 @@ public final class EvanescentIntellect extends CardImpl {
|
|||
Ability ability = new EnchantAbility(auraTarget.getTargetName());
|
||||
this.addAbility(ability);
|
||||
// Enchanted creature has "{1}{U}, {T}: Target player puts the top three cards of their library into their graveyard."
|
||||
ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new PutTopCardOfLibraryIntoGraveTargetEffect(3), new ManaCostsImpl("{1}{U}"));
|
||||
ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new MillCardsTargetEffect(3), new ManaCostsImpl("{1}{U}"));
|
||||
ability.addCost(new TapSourceCost());
|
||||
ability.addTarget(new TargetPlayer());
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(ability, AttachmentType.AURA, Duration.WhileOnBattlefield)));
|
||||
|
|
|
@ -2,7 +2,7 @@ package mage.cards.e;
|
|||
|
||||
import mage.MageInt;
|
||||
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
|
||||
import mage.abilities.effects.common.PutTopCardOfLibraryIntoGraveControllerEffect;
|
||||
import mage.abilities.effects.common.MillCardsControllerEffect;
|
||||
import mage.abilities.keyword.TrampleAbility;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
|
@ -28,7 +28,7 @@ public final class ExcavationMole extends CardImpl {
|
|||
|
||||
// When Excavation Mole enters the battlefield, put the top three cards of your library into your graveyard.
|
||||
this.addAbility(new EntersBattlefieldTriggeredAbility(
|
||||
new PutTopCardOfLibraryIntoGraveControllerEffect(3)
|
||||
new MillCardsControllerEffect(3)
|
||||
));
|
||||
}
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@ package mage.cards.e;
|
|||
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.effects.OneShotEffect;
|
||||
import mage.abilities.effects.common.PutTopCardOfLibraryIntoGraveEachPlayerEffect;
|
||||
import mage.abilities.effects.common.MillCardsEachPlayerEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
|
@ -26,7 +26,7 @@ public final class ExtractFromDarkness extends CardImpl {
|
|||
super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{3}{U}{B}");
|
||||
|
||||
// Each player puts the top two cards of their library into their graveyard.
|
||||
this.getSpellAbility().addEffect(new PutTopCardOfLibraryIntoGraveEachPlayerEffect(2, TargetController.ANY));
|
||||
this.getSpellAbility().addEffect(new MillCardsEachPlayerEffect(2, TargetController.ANY));
|
||||
|
||||
// Then put a creature card from a graveyard onto the battlefield under your control.
|
||||
this.getSpellAbility().addEffect(new ExtractFromDarknessEffect());
|
||||
|
|
|
@ -2,7 +2,7 @@ package mage.cards.e;
|
|||
|
||||
import mage.MageInt;
|
||||
import mage.abilities.common.DealsCombatDamageToAPlayerTriggeredAbility;
|
||||
import mage.abilities.effects.common.PutTopCardOfLibraryIntoGraveEachPlayerEffect;
|
||||
import mage.abilities.effects.common.MillCardsEachPlayerEffect;
|
||||
import mage.abilities.keyword.FlyingAbility;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
|
@ -28,7 +28,7 @@ public final class EyeCollector extends CardImpl {
|
|||
this.addAbility(FlyingAbility.getInstance());
|
||||
|
||||
// Whenever Eye Collector deals combat damage to a player, each player puts the top card of their library into their graveyard.
|
||||
this.addAbility(new DealsCombatDamageToAPlayerTriggeredAbility(new PutTopCardOfLibraryIntoGraveEachPlayerEffect(1, TargetController.ANY), false));
|
||||
this.addAbility(new DealsCombatDamageToAPlayerTriggeredAbility(new MillCardsEachPlayerEffect(1, TargetController.ANY), false));
|
||||
}
|
||||
|
||||
private EyeCollector(final EyeCollector card) {
|
||||
|
|
|
@ -5,7 +5,7 @@ import java.util.UUID;
|
|||
import mage.abilities.common.delayed.AtTheBeginOfNextEndStepDelayedTriggeredAbility;
|
||||
import mage.abilities.effects.common.CreateDelayedTriggeredAbilityEffect;
|
||||
import mage.abilities.effects.common.ExileCardFromOwnGraveyardControllerEffect;
|
||||
import mage.abilities.effects.common.PutTopCardOfLibraryIntoGraveControllerEffect;
|
||||
import mage.abilities.effects.common.MillCardsControllerEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
|
@ -20,7 +20,7 @@ public final class FalseMemories extends CardImpl {
|
|||
super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{1}{U}");
|
||||
|
||||
// Put the top seven cards of your library into your graveyard.
|
||||
this.getSpellAbility().addEffect(new PutTopCardOfLibraryIntoGraveControllerEffect(7));
|
||||
this.getSpellAbility().addEffect(new MillCardsControllerEffect(7));
|
||||
// At the beginning of the next end step, exile seven cards from your graveyard.
|
||||
this.getSpellAbility().addEffect(new CreateDelayedTriggeredAbilityEffect(new AtTheBeginOfNextEndStepDelayedTriggeredAbility(new ExileCardFromOwnGraveyardControllerEffect(7))));
|
||||
}
|
||||
|
|
|
@ -5,7 +5,7 @@ import java.util.UUID;
|
|||
import mage.abilities.Mode;
|
||||
import mage.abilities.dynamicvalue.common.ManacostVariableValue;
|
||||
import mage.abilities.effects.common.DrawCardAllEffect;
|
||||
import mage.abilities.effects.common.PutTopCardOfLibraryIntoGraveEachPlayerEffect;
|
||||
import mage.abilities.effects.common.MillCardsEachPlayerEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
|
@ -26,7 +26,7 @@ public final class Fascination extends CardImpl {
|
|||
|
||||
// * Each player puts the top X cards of their library into their graveyard.
|
||||
Mode mode = new Mode();
|
||||
mode.addEffect(new PutTopCardOfLibraryIntoGraveEachPlayerEffect(ManacostVariableValue.instance, TargetController.ANY));
|
||||
mode.addEffect(new MillCardsEachPlayerEffect(ManacostVariableValue.instance, TargetController.ANY));
|
||||
this.getSpellAbility().addMode(mode);
|
||||
}
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@ import java.util.UUID;
|
|||
import mage.abilities.Ability;
|
||||
import mage.abilities.TriggeredAbilityImpl;
|
||||
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
|
||||
import mage.abilities.effects.common.PutTopCardOfLibraryIntoGraveTargetEffect;
|
||||
import mage.abilities.effects.common.MillCardsTargetEffect;
|
||||
import mage.abilities.effects.keyword.InvestigateEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
|
@ -55,7 +55,7 @@ public final class FleetingMemories extends CardImpl {
|
|||
class FleetingMemoriesTriggeredAbility extends TriggeredAbilityImpl {
|
||||
|
||||
public FleetingMemoriesTriggeredAbility() {
|
||||
super(Zone.BATTLEFIELD, new PutTopCardOfLibraryIntoGraveTargetEffect(3));
|
||||
super(Zone.BATTLEFIELD, new MillCardsTargetEffect(3));
|
||||
setLeavesTheBattlefieldTrigger(true);
|
||||
}
|
||||
|
||||
|
|
|
@ -4,7 +4,7 @@ package mage.cards.f;
|
|||
import java.util.UUID;
|
||||
import mage.MageInt;
|
||||
import mage.abilities.common.DiesSourceTriggeredAbility;
|
||||
import mage.abilities.effects.common.PutTopCardOfLibraryIntoGraveControllerEffect;
|
||||
import mage.abilities.effects.common.MillCardsControllerEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
|
@ -24,7 +24,7 @@ public final class ForsakenDrifters extends CardImpl {
|
|||
this.toughness = new MageInt(2);
|
||||
|
||||
// When Forsaken Drifters dies, put the top four cards of your library into your graveyard.
|
||||
this.addAbility(new DiesSourceTriggeredAbility(new PutTopCardOfLibraryIntoGraveControllerEffect(4)));
|
||||
this.addAbility(new DiesSourceTriggeredAbility(new MillCardsControllerEffect(4)));
|
||||
}
|
||||
|
||||
public ForsakenDrifters(final ForsakenDrifters card) {
|
||||
|
|
|
@ -2,7 +2,7 @@ package mage.cards.f;
|
|||
|
||||
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
|
||||
import mage.abilities.effects.common.LoseLifeSourceControllerEffect;
|
||||
import mage.abilities.effects.common.PutTopCardOfLibraryIntoGraveControllerEffect;
|
||||
import mage.abilities.effects.common.MillCardsControllerEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
|
@ -22,7 +22,7 @@ public final class FuneralRites extends CardImpl {
|
|||
.setText("You draw two cards"));
|
||||
this.getSpellAbility().addEffect(new LoseLifeSourceControllerEffect(2)
|
||||
.setText(", lose 2 life"));
|
||||
this.getSpellAbility().addEffect(new PutTopCardOfLibraryIntoGraveControllerEffect(2)
|
||||
this.getSpellAbility().addEffect(new MillCardsControllerEffect(2)
|
||||
.concatBy(", and"));
|
||||
}
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@ package mage.cards.g;
|
|||
|
||||
import mage.abilities.common.SimpleActivatedAbility;
|
||||
import mage.abilities.costs.common.TapSourceCost;
|
||||
import mage.abilities.effects.common.PutTopCardOfLibraryIntoGraveEachPlayerEffect;
|
||||
import mage.abilities.effects.common.MillCardsEachPlayerEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
|
@ -19,7 +19,7 @@ public final class GhoulcallersBell extends CardImpl {
|
|||
super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{1}");
|
||||
|
||||
// {T}: Each player puts the top card of their library into their graveyard.
|
||||
this.addAbility(new SimpleActivatedAbility(new PutTopCardOfLibraryIntoGraveEachPlayerEffect(1, TargetController.ANY), new TapSourceCost()));
|
||||
this.addAbility(new SimpleActivatedAbility(new MillCardsEachPlayerEffect(1, TargetController.ANY), new TapSourceCost()));
|
||||
}
|
||||
|
||||
private GhoulcallersBell(final GhoulcallersBell card) {
|
||||
|
|
|
@ -7,7 +7,7 @@ import mage.abilities.Ability;
|
|||
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
|
||||
import mage.abilities.common.SimpleStaticAbility;
|
||||
import mage.abilities.effects.AsThoughEffectImpl;
|
||||
import mage.abilities.effects.common.PutTopCardOfLibraryIntoGraveControllerEffect;
|
||||
import mage.abilities.effects.common.MillCardsControllerEffect;
|
||||
import mage.cards.Card;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
|
@ -36,7 +36,7 @@ public final class GisaAndGeralf extends CardImpl {
|
|||
this.toughness = new MageInt(4);
|
||||
|
||||
// When Gisa and Geralf enters the battlefield, put the top four cards of your library into your graveyard.
|
||||
this.addAbility(new EntersBattlefieldTriggeredAbility(new PutTopCardOfLibraryIntoGraveControllerEffect(4)));
|
||||
this.addAbility(new EntersBattlefieldTriggeredAbility(new MillCardsControllerEffect(4)));
|
||||
|
||||
// During each of your turns, you may cast a Zombie creature card from your graveyard.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GisaAndGeralfCastFromGraveyardEffect())
|
||||
|
|
|
@ -4,7 +4,7 @@ import mage.MageInt;
|
|||
import mage.abilities.Ability;
|
||||
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
|
||||
import mage.abilities.effects.OneShotEffect;
|
||||
import mage.abilities.effects.common.PutTopCardOfLibraryIntoGraveControllerEffect;
|
||||
import mage.abilities.effects.common.MillCardsControllerEffect;
|
||||
import mage.cards.Card;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
|
@ -35,7 +35,7 @@ public final class GlowsporeShaman extends CardImpl {
|
|||
|
||||
// When Glowspore Shaman enters the battlefield, put the top three cards of your library into your graveyard. You may put a land card from your graveyard on top of your library.
|
||||
Ability ability = new EntersBattlefieldTriggeredAbility(
|
||||
new PutTopCardOfLibraryIntoGraveControllerEffect(3), false
|
||||
new MillCardsControllerEffect(3), false
|
||||
);
|
||||
ability.addEffect(new GlowsporeShamanEffect());
|
||||
this.addAbility(ability);
|
||||
|
|
|
@ -4,7 +4,7 @@ package mage.cards.g;
|
|||
import java.util.UUID;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.effects.OneShotEffect;
|
||||
import mage.abilities.effects.common.PutTopCardOfLibraryIntoGraveControllerEffect;
|
||||
import mage.abilities.effects.common.MillCardsControllerEffect;
|
||||
import mage.cards.Card;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
|
@ -27,7 +27,7 @@ public final class GrappleWithThePast extends CardImpl {
|
|||
super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{1}{G}");
|
||||
|
||||
// Put the top three cards of your library into your graveyard, then you may return a creature or land card from your graveyard to your hand.
|
||||
getSpellAbility().addEffect(new PutTopCardOfLibraryIntoGraveControllerEffect(3));
|
||||
getSpellAbility().addEffect(new MillCardsControllerEffect(3));
|
||||
getSpellAbility().addEffect(new GrappleWithThePastEffect());
|
||||
}
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@ package mage.cards.g;
|
|||
import java.util.UUID;
|
||||
import mage.abilities.dynamicvalue.common.CardsInControllerGraveyardCount;
|
||||
import mage.abilities.effects.Effect;
|
||||
import mage.abilities.effects.common.PutTopCardOfLibraryIntoGraveControllerEffect;
|
||||
import mage.abilities.effects.common.MillCardsControllerEffect;
|
||||
import mage.abilities.effects.common.counter.AddCountersTargetEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
|
@ -23,7 +23,7 @@ public final class GraveStrength extends CardImpl {
|
|||
|
||||
// Choose target creature. Put the top three cards of your library into your graveyard, then put a +1/+1 counter on that creature for each creature card in your graveyard.
|
||||
this.getSpellAbility().addTarget(new TargetCreaturePermanent());
|
||||
Effect effect = new PutTopCardOfLibraryIntoGraveControllerEffect(3);
|
||||
Effect effect = new MillCardsControllerEffect(3);
|
||||
effect.setText("Choose target creature. Mill three cards");
|
||||
this.getSpellAbility().addEffect(effect);
|
||||
effect = new AddCountersTargetEffect(CounterType.P1P1.createInstance(0), new CardsInControllerGraveyardCount(StaticFilters.FILTER_CARD_CREATURE));
|
||||
|
|
|
@ -7,7 +7,7 @@ import mage.abilities.common.EntersBattlefieldAllTriggeredAbility;
|
|||
import mage.abilities.common.SimpleActivatedAbility;
|
||||
import mage.abilities.costs.common.SacrificeTargetCost;
|
||||
import mage.abilities.costs.common.TapSourceCost;
|
||||
import mage.abilities.effects.common.PutTopCardOfLibraryIntoGraveTargetEffect;
|
||||
import mage.abilities.effects.common.MillCardsTargetEffect;
|
||||
import mage.abilities.effects.common.UntapSourceEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
|
@ -33,7 +33,7 @@ public final class GrindingStation extends CardImpl {
|
|||
super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{2}");
|
||||
|
||||
// {T}, Sacrifice an artifact: Target player puts the top three cards of their library into their graveyard.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new PutTopCardOfLibraryIntoGraveTargetEffect(3), new TapSourceCost());
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new MillCardsTargetEffect(3), new TapSourceCost());
|
||||
ability.addCost(new SacrificeTargetCost(new TargetControlledPermanent(filter)));
|
||||
ability.addTarget(new TargetPlayer());
|
||||
this.addAbility(ability);
|
||||
|
|
|
@ -4,7 +4,7 @@ package mage.cards.i;
|
|||
import java.util.UUID;
|
||||
import mage.MageInt;
|
||||
import mage.abilities.abilityword.KinshipAbility;
|
||||
import mage.abilities.effects.common.PutTopCardOfLibraryIntoGraveEachPlayerEffect;
|
||||
import mage.abilities.effects.common.MillCardsEachPlayerEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
|
@ -27,7 +27,7 @@ public final class InkDissolver extends CardImpl {
|
|||
|
||||
// Kinship - At the beginning of your upkeep, you may look at the top card of your library. If it shares a creature type with Ink Dissolver, you may reveal it.
|
||||
// If you do, each opponent puts the top three cards of their library into their graveyard.
|
||||
this.addAbility(new KinshipAbility(new PutTopCardOfLibraryIntoGraveEachPlayerEffect(3, TargetController.OPPONENT)));
|
||||
this.addAbility(new KinshipAbility(new MillCardsEachPlayerEffect(3, TargetController.OPPONENT)));
|
||||
}
|
||||
|
||||
public InkDissolver(final InkDissolver card) {
|
||||
|
|
|
@ -4,7 +4,7 @@ package mage.cards.l;
|
|||
import java.util.UUID;
|
||||
import mage.MageInt;
|
||||
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
|
||||
import mage.abilities.effects.common.PutTopCardOfLibraryIntoGraveControllerEffect;
|
||||
import mage.abilities.effects.common.MillCardsControllerEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
|
@ -24,7 +24,7 @@ public final class LaboratoryBrute extends CardImpl {
|
|||
this.toughness = new MageInt(3);
|
||||
|
||||
// When Laboratory Brute enters the battlefield, put the top four cards of your library into your graveyard.
|
||||
this.addAbility(new EntersBattlefieldTriggeredAbility(new PutTopCardOfLibraryIntoGraveControllerEffect(4)));
|
||||
this.addAbility(new EntersBattlefieldTriggeredAbility(new MillCardsControllerEffect(4)));
|
||||
}
|
||||
|
||||
public LaboratoryBrute(final LaboratoryBrute card) {
|
||||
|
|
|
@ -6,7 +6,7 @@ import mage.abilities.LoyaltyAbility;
|
|||
import mage.abilities.common.PlaneswalkerEntersWithLoyaltyCountersAbility;
|
||||
import mage.abilities.effects.common.CreateTokenEffect;
|
||||
import mage.abilities.effects.common.DestroyAllEffect;
|
||||
import mage.abilities.effects.common.PutTopCardOfLibraryIntoGraveControllerEffect;
|
||||
import mage.abilities.effects.common.MillCardsControllerEffect;
|
||||
import mage.abilities.effects.common.ReturnFromGraveyardToBattlefieldTargetEffect;
|
||||
import mage.abilities.effects.common.continuous.BecomesBlackZombieAdditionEffect;
|
||||
import mage.cards.CardImpl;
|
||||
|
@ -42,7 +42,7 @@ public final class LilianaDeathsMajesty extends CardImpl {
|
|||
|
||||
// +1: Create a 2/2 black Zombie creature token. Put the top two cards of your library into your graveyard.
|
||||
LoyaltyAbility ability = new LoyaltyAbility(new CreateTokenEffect(new ZombieToken()), 1);
|
||||
ability.addEffect(new PutTopCardOfLibraryIntoGraveControllerEffect(2));
|
||||
ability.addEffect(new MillCardsControllerEffect(2));
|
||||
this.addAbility(ability);
|
||||
|
||||
// -3: Return target creature card from your graveyard to the battlefield. That creature is a black Zombie in addition to its other colors and types.
|
||||
|
|
|
@ -8,7 +8,7 @@ import mage.abilities.common.PlaneswalkerEntersWithLoyaltyCountersAbility;
|
|||
import mage.abilities.effects.Effect;
|
||||
import mage.abilities.effects.OneShotEffect;
|
||||
import mage.abilities.effects.common.GetEmblemEffect;
|
||||
import mage.abilities.effects.common.PutTopCardOfLibraryIntoGraveControllerEffect;
|
||||
import mage.abilities.effects.common.MillCardsControllerEffect;
|
||||
import mage.abilities.effects.common.continuous.BoostTargetEffect;
|
||||
import mage.cards.Card;
|
||||
import mage.cards.CardImpl;
|
||||
|
@ -47,7 +47,7 @@ public final class LilianaTheLastHope extends CardImpl {
|
|||
this.addAbility(ability);
|
||||
|
||||
// -2: Put the top two cards of your library into your graveyard, then you may return a creature card from your graveyard to your hand.
|
||||
ability = new LoyaltyAbility(new PutTopCardOfLibraryIntoGraveControllerEffect(2), -2);
|
||||
ability = new LoyaltyAbility(new MillCardsControllerEffect(2), -2);
|
||||
ability.addEffect(new LilianaTheLastHopeEffect());
|
||||
this.addAbility(ability);
|
||||
|
||||
|
|
|
@ -5,8 +5,8 @@ import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
|
|||
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
|
||||
import mage.abilities.condition.common.DeliriumCondition;
|
||||
import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
|
||||
import mage.abilities.effects.common.PutTopCardOfLibraryIntoGraveEachPlayerEffect;
|
||||
import mage.abilities.effects.common.PutTopCardOfLibraryIntoGraveTargetEffect;
|
||||
import mage.abilities.effects.common.MillCardsEachPlayerEffect;
|
||||
import mage.abilities.effects.common.MillCardsTargetEffect;
|
||||
import mage.abilities.hint.common.DeliriumHint;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
|
@ -31,14 +31,14 @@ public final class ManicScribe extends CardImpl {
|
|||
|
||||
// When Manic Scribe enters the battlefield, each opponent puts the top three cards of their library into their graveyard.
|
||||
this.addAbility(new EntersBattlefieldTriggeredAbility(
|
||||
new PutTopCardOfLibraryIntoGraveEachPlayerEffect(3, TargetController.OPPONENT), false
|
||||
new MillCardsEachPlayerEffect(3, TargetController.OPPONENT), false
|
||||
));
|
||||
|
||||
// <i>Delirium</i> — At the beginning of each opponent's upkeep, if there are four or more card types among cards in your graveyard,
|
||||
// that player puts the top three cards of their library into their graveyard.
|
||||
this.addAbility(new ConditionalInterveningIfTriggeredAbility(
|
||||
new BeginningOfUpkeepTriggeredAbility(
|
||||
Zone.BATTLEFIELD, new PutTopCardOfLibraryIntoGraveTargetEffect(3),
|
||||
Zone.BATTLEFIELD, new MillCardsTargetEffect(3),
|
||||
TargetController.OPPONENT, false, true
|
||||
), DeliriumCondition.instance, "<i>Delirium</i> — At the beginning of each opponent's upkeep, " +
|
||||
"if there are four or more card types among cards in your graveyard, that player mills three cards."
|
||||
|
|
|
@ -3,7 +3,7 @@ package mage.cards.m;
|
|||
|
||||
import java.util.UUID;
|
||||
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
|
||||
import mage.abilities.effects.common.PutTopCardOfLibraryIntoGraveControllerEffect;
|
||||
import mage.abilities.effects.common.MillCardsControllerEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
|
@ -19,7 +19,7 @@ public final class MentalNote extends CardImpl {
|
|||
|
||||
|
||||
// Put the top two cards of your library into your graveyard.
|
||||
this.getSpellAbility().addEffect(new PutTopCardOfLibraryIntoGraveControllerEffect(2));
|
||||
this.getSpellAbility().addEffect(new MillCardsControllerEffect(2));
|
||||
// Draw a card.
|
||||
this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1));
|
||||
}
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
package mage.cards.m;
|
||||
|
||||
import mage.abilities.TriggeredAbilityImpl;
|
||||
import mage.abilities.effects.common.PutTopCardOfLibraryIntoGraveTargetEffect;
|
||||
import mage.abilities.effects.common.MillCardsTargetEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
|
@ -40,7 +40,7 @@ public final class MesmericOrb extends CardImpl {
|
|||
class MesmericOrbTriggeredAbility extends TriggeredAbilityImpl {
|
||||
|
||||
MesmericOrbTriggeredAbility() {
|
||||
super(Zone.BATTLEFIELD, new PutTopCardOfLibraryIntoGraveTargetEffect(1), false);
|
||||
super(Zone.BATTLEFIELD, new MillCardsTargetEffect(1), false);
|
||||
}
|
||||
|
||||
private MesmericOrbTriggeredAbility(final MesmericOrbTriggeredAbility ability) {
|
||||
|
|
|
@ -3,7 +3,7 @@ package mage.cards.m;
|
|||
|
||||
import java.util.UUID;
|
||||
import mage.MageInt;
|
||||
import mage.abilities.costs.common.PutTopCardOfYourLibraryToGraveyardCost;
|
||||
import mage.abilities.costs.common.MillCardsCost;
|
||||
import mage.abilities.mana.ColorlessManaAbility;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
|
@ -24,7 +24,7 @@ public final class Millikin extends CardImpl {
|
|||
|
||||
// {tap}, Put the top card of your library into your graveyard: Add {C}.
|
||||
ColorlessManaAbility ability = new ColorlessManaAbility();
|
||||
ability.addCost(new PutTopCardOfYourLibraryToGraveyardCost());
|
||||
ability.addCost(new MillCardsCost());
|
||||
ability.setUndoPossible(false);
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
|
|
@ -2,7 +2,7 @@ package mage.cards.m;
|
|||
|
||||
import mage.abilities.effects.common.GainLifeEffect;
|
||||
import mage.abilities.effects.common.LoseLifeTargetEffect;
|
||||
import mage.abilities.effects.common.PutTopCardOfLibraryIntoGraveTargetEffect;
|
||||
import mage.abilities.effects.common.MillCardsTargetEffect;
|
||||
import mage.abilities.effects.common.discard.DiscardTargetEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
|
@ -21,7 +21,7 @@ public final class MindDrain extends CardImpl {
|
|||
|
||||
// Target opponent discards two cards, mills a card, and loses 1 life. You gain 1 life.
|
||||
this.getSpellAbility().addEffect(new DiscardTargetEffect(2));
|
||||
this.getSpellAbility().addEffect(new PutTopCardOfLibraryIntoGraveTargetEffect(1).setText(", mills a card"));
|
||||
this.getSpellAbility().addEffect(new MillCardsTargetEffect(1).setText(", mills a card"));
|
||||
this.getSpellAbility().addEffect(new LoseLifeTargetEffect(1).setText(", and loses 1 life."));
|
||||
this.getSpellAbility().addEffect(new GainLifeEffect(1));
|
||||
this.getSpellAbility().addTarget(new TargetOpponent());
|
||||
|
|
|
@ -10,7 +10,7 @@ import mage.abilities.condition.InvertCondition;
|
|||
import mage.abilities.condition.common.DeliriumCondition;
|
||||
import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
|
||||
import mage.abilities.effects.common.LoseLifeSourceControllerEffect;
|
||||
import mage.abilities.effects.common.PutTopCardOfLibraryIntoGraveControllerEffect;
|
||||
import mage.abilities.effects.common.MillCardsControllerEffect;
|
||||
import mage.abilities.hint.common.DeliriumHint;
|
||||
import mage.abilities.keyword.FlyingAbility;
|
||||
import mage.abilities.keyword.TrampleAbility;
|
||||
|
@ -38,7 +38,7 @@ public final class MindwrackDemon extends CardImpl {
|
|||
this.addAbility(TrampleAbility.getInstance());
|
||||
|
||||
// When Mindbreaker Demon enters the battlefield, put the top four cards of your library into your graveyard.
|
||||
this.addAbility(new EntersBattlefieldTriggeredAbility(new PutTopCardOfLibraryIntoGraveControllerEffect(4)));
|
||||
this.addAbility(new EntersBattlefieldTriggeredAbility(new MillCardsControllerEffect(4)));
|
||||
|
||||
// At the beginning of your upkeep, if you don't have 4 or more card types in your graveyard, you lose 4 life.
|
||||
Ability ability = new ConditionalInterveningIfTriggeredAbility(
|
||||
|
|
|
@ -2,7 +2,7 @@ package mage.cards.m;
|
|||
|
||||
import mage.MageInt;
|
||||
import mage.abilities.common.BeginningOfCombatTriggeredAbility;
|
||||
import mage.abilities.effects.common.PutTopCardOfLibraryIntoGraveEachPlayerEffect;
|
||||
import mage.abilities.effects.common.MillCardsEachPlayerEffect;
|
||||
import mage.abilities.keyword.FlyingAbility;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
|
@ -29,7 +29,7 @@ public final class MindwrackHarpy extends CardImpl {
|
|||
|
||||
// At the beginning of combat on your turn, each player puts the top three cards of their library into their graveyard.
|
||||
this.addAbility(new BeginningOfCombatTriggeredAbility(
|
||||
new PutTopCardOfLibraryIntoGraveEachPlayerEffect(3, TargetController.ANY),
|
||||
new MillCardsEachPlayerEffect(3, TargetController.ANY),
|
||||
TargetController.YOU, false
|
||||
));
|
||||
}
|
||||
|
|
|
@ -4,7 +4,7 @@ import mage.MageInt;
|
|||
import mage.abilities.Ability;
|
||||
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
|
||||
import mage.abilities.effects.common.GainLifeEffect;
|
||||
import mage.abilities.effects.common.PutTopCardOfLibraryIntoGraveControllerEffect;
|
||||
import mage.abilities.effects.common.MillCardsControllerEffect;
|
||||
import mage.abilities.keyword.DeathtouchAbility;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
|
@ -31,7 +31,7 @@ public final class MireTriton extends CardImpl {
|
|||
|
||||
// When Mire Triton enters the battlefield, put the top two cards of your library into your graveyard and you gain 2 life.
|
||||
Ability ability = new EntersBattlefieldTriggeredAbility(
|
||||
new PutTopCardOfLibraryIntoGraveControllerEffect(2)
|
||||
new MillCardsControllerEffect(2)
|
||||
);
|
||||
ability.addEffect(new GainLifeEffect(2).concatBy("and"));
|
||||
this.addAbility(ability);
|
||||
|
|
|
@ -5,7 +5,7 @@ import java.util.UUID;
|
|||
import mage.MageInt;
|
||||
import mage.abilities.common.SimpleActivatedAbility;
|
||||
import mage.abilities.costs.common.SacrificeSourceCost;
|
||||
import mage.abilities.effects.common.PutTopCardOfLibraryIntoGraveControllerEffect;
|
||||
import mage.abilities.effects.common.MillCardsControllerEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
|
@ -25,7 +25,7 @@ public final class MorgueThrull extends CardImpl {
|
|||
this.toughness = new MageInt(2);
|
||||
|
||||
// Sacrifice Morgue Thrull: Put the top three cards of your library into your graveyard.
|
||||
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new PutTopCardOfLibraryIntoGraveControllerEffect(3), new SacrificeSourceCost()));
|
||||
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new MillCardsControllerEffect(3), new SacrificeSourceCost()));
|
||||
}
|
||||
|
||||
public MorgueThrull(final MorgueThrull card) {
|
||||
|
|
|
@ -4,7 +4,7 @@ package mage.cards.n;
|
|||
import java.util.UUID;
|
||||
import mage.MageInt;
|
||||
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
|
||||
import mage.abilities.effects.common.PutTopCardOfLibraryIntoGraveControllerEffect;
|
||||
import mage.abilities.effects.common.MillCardsControllerEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
|
@ -23,7 +23,7 @@ public final class NecromancersAssistant extends CardImpl {
|
|||
this.toughness = new MageInt(1);
|
||||
|
||||
// When Necromancer's Assistant enters the battlefield, put the top three cards of your library into your graveyard.
|
||||
this.addAbility(new EntersBattlefieldTriggeredAbility(new PutTopCardOfLibraryIntoGraveControllerEffect(3)));
|
||||
this.addAbility(new EntersBattlefieldTriggeredAbility(new MillCardsControllerEffect(3)));
|
||||
}
|
||||
|
||||
public NecromancersAssistant(final NecromancersAssistant card) {
|
||||
|
|
|
@ -8,7 +8,7 @@ import mage.abilities.common.DealsCombatDamageToAPlayerTriggeredAbility;
|
|||
import mage.abilities.costs.mana.ManaCostsImpl;
|
||||
import mage.abilities.effects.common.CreateTokenEffect;
|
||||
import mage.abilities.effects.common.DoIfCostPaid;
|
||||
import mage.abilities.effects.common.PutTopCardOfLibraryIntoGraveEachPlayerEffect;
|
||||
import mage.abilities.effects.common.MillCardsEachPlayerEffect;
|
||||
import mage.abilities.keyword.FlyingAbility;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
|
@ -35,7 +35,7 @@ public final class NecromasterDragon extends CardImpl {
|
|||
// Whenever Necromaster Dragon deals combat damage to a player, you may pay {2}. If you do, create a 2/2 black Zombie creature token and each opponent puts the top two cards of their library into their graveyard
|
||||
Ability ability = new DealsCombatDamageToAPlayerTriggeredAbility(
|
||||
new DoIfCostPaid(new CreateTokenEffect(new ZombieToken(), 1), new ManaCostsImpl("{2}")), false);
|
||||
ability.addEffect(new PutTopCardOfLibraryIntoGraveEachPlayerEffect(2, TargetController.OPPONENT));
|
||||
ability.addEffect(new MillCardsEachPlayerEffect(2, TargetController.OPPONENT));
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@ import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
|
|||
import mage.abilities.common.SimpleActivatedAbility;
|
||||
import mage.abilities.costs.common.ExileSourceCost;
|
||||
import mage.abilities.costs.mana.ManaCostsImpl;
|
||||
import mage.abilities.effects.common.PutTopCardOfLibraryIntoGraveControllerEffect;
|
||||
import mage.abilities.effects.common.MillCardsControllerEffect;
|
||||
import mage.abilities.effects.common.ReturnFromGraveyardToHandTargetEffect;
|
||||
import mage.abilities.keyword.ReachAbility;
|
||||
import mage.cards.CardImpl;
|
||||
|
@ -35,7 +35,7 @@ public final class NyxWeaver extends CardImpl {
|
|||
// Reach
|
||||
this.addAbility(ReachAbility.getInstance());
|
||||
// At the beginning of your upkeep, put the top two cards of your library into your graveyard.
|
||||
this.addAbility(new BeginningOfUpkeepTriggeredAbility(new PutTopCardOfLibraryIntoGraveControllerEffect(2), TargetController.YOU, false));
|
||||
this.addAbility(new BeginningOfUpkeepTriggeredAbility(new MillCardsControllerEffect(2), TargetController.YOU, false));
|
||||
// {1}{B}{G}, Exile Nyx Weaver: Return target card from your graveyard to your hand.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ReturnFromGraveyardToHandTargetEffect(), new ManaCostsImpl("{1}{B}{G}"));
|
||||
ability.addCost(new ExileSourceCost());
|
||||
|
|
|
@ -3,7 +3,7 @@ package mage.cards.o;
|
|||
import mage.MageInt;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
|
||||
import mage.abilities.effects.common.PutTopCardOfLibraryIntoGraveEachPlayerEffect;
|
||||
import mage.abilities.effects.common.MillCardsEachPlayerEffect;
|
||||
import mage.abilities.effects.keyword.ScryEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
|
@ -28,7 +28,7 @@ public final class OverwhelmedApprentice extends CardImpl {
|
|||
|
||||
// When Overwhelmed Apprentice enters the battlefield, each opponent puts the top two cards of their library into their graveyard. Then you scry 2.
|
||||
Ability ability = new EntersBattlefieldTriggeredAbility(
|
||||
new PutTopCardOfLibraryIntoGraveEachPlayerEffect(2, TargetController.OPPONENT)
|
||||
new MillCardsEachPlayerEffect(2, TargetController.OPPONENT)
|
||||
);
|
||||
ability.addEffect(new ScryEffect(2, false).setText("Then you scry 2."));
|
||||
this.addAbility(ability);
|
||||
|
|
|
@ -8,7 +8,7 @@ import mage.abilities.costs.common.ExileSourceCost;
|
|||
import mage.abilities.costs.common.TapSourceCost;
|
||||
import mage.abilities.costs.mana.GenericManaCost;
|
||||
import mage.abilities.effects.OneShotEffect;
|
||||
import mage.abilities.effects.common.PutTopCardOfLibraryIntoGraveControllerEffect;
|
||||
import mage.abilities.effects.common.MillCardsControllerEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.cards.CardsImpl;
|
||||
|
@ -30,7 +30,7 @@ public final class PerpetualTimepiece extends CardImpl {
|
|||
super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{2}");
|
||||
|
||||
// {T}: Put the top two cards of your library into your graveyard.
|
||||
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new PutTopCardOfLibraryIntoGraveControllerEffect(2), new TapSourceCost()));
|
||||
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new MillCardsControllerEffect(2), new TapSourceCost()));
|
||||
|
||||
// {2}, Exile Perpetual Timepiece: Shuffle any number of target cards from your graveyard into your library.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new PerpetualTimepieceShuffleEffect(), new GenericManaCost(2));
|
||||
|
|
|
@ -7,7 +7,7 @@ import mage.abilities.common.SimpleStaticAbility;
|
|||
import mage.abilities.costs.common.TapSourceCost;
|
||||
import mage.abilities.dynamicvalue.common.DevotionCount;
|
||||
import mage.abilities.dynamicvalue.common.SourcePermanentToughnessValue;
|
||||
import mage.abilities.effects.common.PutTopCardOfLibraryIntoGraveTargetEffect;
|
||||
import mage.abilities.effects.common.MillCardsTargetEffect;
|
||||
import mage.abilities.effects.common.continuous.GainAbilityControlledEffect;
|
||||
import mage.abilities.effects.common.continuous.LoseCreatureTypeSourceEffect;
|
||||
import mage.abilities.keyword.IndestructibleAbility;
|
||||
|
@ -44,7 +44,7 @@ public final class PhenaxGodOfDeception extends CardImpl {
|
|||
|
||||
// Creatures you control have "{T}: Target player puts the top X cards of their library into their graveyard, where X is this creature's toughness."
|
||||
Ability ability = new SimpleActivatedAbility(
|
||||
new PutTopCardOfLibraryIntoGraveTargetEffect(SourcePermanentToughnessValue.getInstance())
|
||||
new MillCardsTargetEffect(SourcePermanentToughnessValue.getInstance())
|
||||
.setText("Target player mills X cards, where X is this creature's toughness"), new TapSourceCost());
|
||||
ability.addTarget(new TargetPlayer());
|
||||
this.addAbility(new SimpleStaticAbility(
|
||||
|
|
|
@ -2,7 +2,7 @@ package mage.cards.p;
|
|||
|
||||
import java.util.UUID;
|
||||
import mage.abilities.common.DrawCardControllerTriggeredAbility;
|
||||
import mage.abilities.effects.common.PutTopCardOfLibraryIntoGraveEachPlayerEffect;
|
||||
import mage.abilities.effects.common.MillCardsEachPlayerEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
|
@ -19,7 +19,7 @@ public final class PsychicCorrosion extends CardImpl {
|
|||
|
||||
// Whenever you draw a card, each opponent puts the top two cards of their library into their graveyard.
|
||||
this.addAbility(new DrawCardControllerTriggeredAbility(
|
||||
new PutTopCardOfLibraryIntoGraveEachPlayerEffect(
|
||||
new MillCardsEachPlayerEffect(
|
||||
2, TargetController.OPPONENT
|
||||
), false
|
||||
));
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
package mage.cards.r;
|
||||
|
||||
import mage.abilities.effects.common.PutTopCardOfLibraryIntoGraveControllerEffect;
|
||||
import mage.abilities.effects.common.MillCardsControllerEffect;
|
||||
import mage.abilities.effects.common.discard.DiscardTargetEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
|
@ -20,7 +20,7 @@ public final class RakshasasSecret extends CardImpl {
|
|||
// Target opponent discards two cards. Put the top two cards of your library into your graveyard.
|
||||
this.getSpellAbility().addEffect(new DiscardTargetEffect(2));
|
||||
this.getSpellAbility().addTarget(new TargetOpponent());
|
||||
this.getSpellAbility().addEffect(new PutTopCardOfLibraryIntoGraveControllerEffect(2).setText("Mill two cards."));
|
||||
this.getSpellAbility().addEffect(new MillCardsControllerEffect(2).setText("Mill two cards."));
|
||||
}
|
||||
|
||||
private RakshasasSecret(final RakshasasSecret card) {
|
||||
|
|
|
@ -4,7 +4,7 @@ package mage.cards.r;
|
|||
import java.util.UUID;
|
||||
import mage.MageInt;
|
||||
import mage.abilities.common.DiesSourceTriggeredAbility;
|
||||
import mage.abilities.effects.common.PutTopCardOfLibraryIntoGraveEachPlayerEffect;
|
||||
import mage.abilities.effects.common.MillCardsEachPlayerEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
|
@ -26,7 +26,7 @@ public final class ReturnedReveler extends CardImpl {
|
|||
this.toughness = new MageInt(3);
|
||||
|
||||
// When Returned Reveler dies, each player puts the top three cards of their library into their graveyard.
|
||||
this.addAbility(new DiesSourceTriggeredAbility(new PutTopCardOfLibraryIntoGraveEachPlayerEffect(3, TargetController.ANY)));
|
||||
this.addAbility(new DiesSourceTriggeredAbility(new MillCardsEachPlayerEffect(3, TargetController.ANY)));
|
||||
}
|
||||
|
||||
public ReturnedReveler(final ReturnedReveler card) {
|
||||
|
|
|
@ -5,7 +5,7 @@ import java.util.UUID;
|
|||
import mage.MageInt;
|
||||
import mage.abilities.common.AttacksAllTriggeredAbility;
|
||||
import mage.abilities.effects.Effect;
|
||||
import mage.abilities.effects.common.PutTopCardOfLibraryIntoGraveTargetEffect;
|
||||
import mage.abilities.effects.common.MillCardsTargetEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
|
@ -27,7 +27,7 @@ public final class Riddlekeeper extends CardImpl {
|
|||
this.toughness = new MageInt(4);
|
||||
|
||||
// Whenever a creature attacks you or a planeswalker you control, that creature's controller puts the top two cards of their library into their graveyard.
|
||||
Effect effect = new PutTopCardOfLibraryIntoGraveTargetEffect(2);
|
||||
Effect effect = new MillCardsTargetEffect(2);
|
||||
effect.setText("that creature's controller mills two cards");
|
||||
this.addAbility(new AttacksAllTriggeredAbility(effect, false, StaticFilters.FILTER_PERMANENT_CREATURE, SetTargetPointer.PLAYER, true, true));
|
||||
}
|
||||
|
|
|
@ -6,7 +6,7 @@ import mage.MageInt;
|
|||
import mage.abilities.Ability;
|
||||
import mage.abilities.common.ActivateAsSorceryActivatedAbility;
|
||||
import mage.abilities.common.CantBlockAbility;
|
||||
import mage.abilities.costs.common.PutTopCardOfYourLibraryToGraveyardCost;
|
||||
import mage.abilities.costs.common.MillCardsCost;
|
||||
import mage.abilities.costs.mana.ManaCostsImpl;
|
||||
import mage.abilities.effects.common.ReturnSourceFromGraveyardToBattlefieldEffect;
|
||||
import mage.cards.CardImpl;
|
||||
|
@ -36,7 +36,7 @@ public final class RotFarmSkeleton extends CardImpl {
|
|||
|
||||
// 2{B}{G}, Put the top four cards of your library into your graveyard: Return Rot Farm Skeleton from your graveyard to the battlefield. Activate this ability only any time you could cast a sorcery.
|
||||
Ability ability = new ActivateAsSorceryActivatedAbility(Zone.GRAVEYARD, new ReturnSourceFromGraveyardToBattlefieldEffect(), new ManaCostsImpl("{2}{B}{G}"));
|
||||
ability.addCost(new PutTopCardOfYourLibraryToGraveyardCost(4));
|
||||
ability.addCost(new MillCardsCost(4));
|
||||
this.addAbility(ability);
|
||||
|
||||
}
|
||||
|
|
|
@ -4,7 +4,7 @@ import java.util.UUID;
|
|||
|
||||
import mage.MageInt;
|
||||
import mage.abilities.common.LandfallAbility;
|
||||
import mage.abilities.effects.common.PutTopCardOfLibraryIntoGraveEachPlayerEffect;
|
||||
import mage.abilities.effects.common.MillCardsEachPlayerEffect;
|
||||
import mage.constants.SubType;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
|
@ -24,7 +24,7 @@ public final class RuinCrab extends CardImpl {
|
|||
this.toughness = new MageInt(3);
|
||||
|
||||
// Landfall - Whenever a land enters the battlefield under your control, each opponent mills 3 cards.
|
||||
this.addAbility(new LandfallAbility(new PutTopCardOfLibraryIntoGraveEachPlayerEffect(3, TargetController.OPPONENT), false));
|
||||
this.addAbility(new LandfallAbility(new MillCardsEachPlayerEffect(3, TargetController.OPPONENT), false));
|
||||
}
|
||||
|
||||
private RuinCrab(final RuinCrab card) {
|
||||
|
|
|
@ -4,7 +4,7 @@ package mage.cards.s;
|
|||
import java.util.UUID;
|
||||
import mage.MageInt;
|
||||
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
|
||||
import mage.abilities.effects.common.PutTopCardOfLibraryIntoGraveControllerEffect;
|
||||
import mage.abilities.effects.common.MillCardsControllerEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
|
@ -24,7 +24,7 @@ public final class ScreechingSkaab extends CardImpl {
|
|||
this.toughness = new MageInt(1);
|
||||
|
||||
// When Screeching Skaab enters the battlefield, put the top two cards of your library into your graveyard.
|
||||
this.addAbility(new EntersBattlefieldTriggeredAbility(new PutTopCardOfLibraryIntoGraveControllerEffect(2)));
|
||||
this.addAbility(new EntersBattlefieldTriggeredAbility(new MillCardsControllerEffect(2)));
|
||||
}
|
||||
|
||||
public ScreechingSkaab(final ScreechingSkaab card) {
|
||||
|
|
|
@ -8,7 +8,7 @@ import mage.abilities.costs.common.SacrificeSourceCost;
|
|||
import mage.abilities.costs.common.TapSourceCost;
|
||||
import mage.abilities.costs.mana.GenericManaCost;
|
||||
import mage.abilities.effects.OneShotEffect;
|
||||
import mage.abilities.effects.common.PutTopCardOfLibraryIntoGraveControllerEffect;
|
||||
import mage.abilities.effects.common.MillCardsControllerEffect;
|
||||
import mage.abilities.mana.ColorlessManaAbility;
|
||||
import mage.cards.Card;
|
||||
import mage.cards.CardImpl;
|
||||
|
@ -34,7 +34,7 @@ public final class SequesteredStash extends CardImpl {
|
|||
this.addAbility(new ColorlessManaAbility());
|
||||
|
||||
// {4},{T}, Sacrifice Sequestered Stash: Put the top five cards of your library into your graveyard. Then you may put an artifact card from your graveyard on top of your library.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new PutTopCardOfLibraryIntoGraveControllerEffect(5), new GenericManaCost(4));
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new MillCardsControllerEffect(5), new GenericManaCost(4));
|
||||
ability.addCost(new TapSourceCost());
|
||||
ability.addCost(new SacrificeSourceCost());
|
||||
ability.addEffect(new SequesteredStashEffect());
|
||||
|
|
|
@ -10,7 +10,7 @@ import mage.abilities.common.SimpleStaticAbility;
|
|||
import mage.abilities.dynamicvalue.DynamicValue;
|
||||
import mage.abilities.effects.Effect;
|
||||
import mage.abilities.effects.common.ChoosePlayerEffect;
|
||||
import mage.abilities.effects.common.PutTopCardOfLibraryIntoGraveTargetEffect;
|
||||
import mage.abilities.effects.common.MillCardsTargetEffect;
|
||||
import mage.abilities.effects.common.continuous.SetPowerToughnessSourceEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
|
@ -90,7 +90,7 @@ class CardsInTargetOpponentsGraveyardCount implements DynamicValue {
|
|||
class SewerNemesisTriggeredAbility extends TriggeredAbilityImpl {
|
||||
|
||||
public SewerNemesisTriggeredAbility() {
|
||||
super(Zone.BATTLEFIELD, new PutTopCardOfLibraryIntoGraveTargetEffect(1), false);
|
||||
super(Zone.BATTLEFIELD, new MillCardsTargetEffect(1), false);
|
||||
}
|
||||
|
||||
public SewerNemesisTriggeredAbility(final SewerNemesisTriggeredAbility ability) {
|
||||
|
|
|
@ -5,7 +5,7 @@ import java.util.UUID;
|
|||
import mage.abilities.common.AttacksAttachedTriggeredAbility;
|
||||
import mage.abilities.common.SimpleStaticAbility;
|
||||
import mage.abilities.costs.mana.GenericManaCost;
|
||||
import mage.abilities.effects.common.PutTopCardOfLibraryIntoGraveControllerEffect;
|
||||
import mage.abilities.effects.common.MillCardsControllerEffect;
|
||||
import mage.abilities.effects.common.continuous.BoostEquippedEffect;
|
||||
import mage.abilities.keyword.EquipAbility;
|
||||
import mage.cards.CardImpl;
|
||||
|
@ -29,7 +29,7 @@ public final class ShardOfBrokenGlass extends CardImpl {
|
|||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(1, 0)));
|
||||
|
||||
// Whenever equipped creature attacks, you may put the top two cards of your library into your graveyard.
|
||||
this.addAbility(new AttacksAttachedTriggeredAbility(new PutTopCardOfLibraryIntoGraveControllerEffect(2), true));
|
||||
this.addAbility(new AttacksAttachedTriggeredAbility(new MillCardsControllerEffect(2), true));
|
||||
|
||||
// Equip {1}
|
||||
this.addAbility(new EquipAbility(Outcome.AddAbility, new GenericManaCost(1)));
|
||||
|
|
|
@ -3,7 +3,7 @@ package mage.cards.s;
|
|||
import mage.abilities.Ability;
|
||||
import mage.abilities.effects.Effect;
|
||||
import mage.abilities.effects.OneShotEffect;
|
||||
import mage.abilities.effects.common.PutTopCardOfLibraryIntoGraveTargetEffect;
|
||||
import mage.abilities.effects.common.MillCardsTargetEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
|
@ -72,7 +72,7 @@ class SharedTraumaEffect extends OneShotEffect {
|
|||
|
||||
if (xSum > 0) {
|
||||
for (UUID playerId : game.getState().getPlayersInRange(controller.getId(), game)) {
|
||||
Effect effect = new PutTopCardOfLibraryIntoGraveTargetEffect(xSum);
|
||||
Effect effect = new MillCardsTargetEffect(xSum);
|
||||
effect.setTargetPointer(new FixedTarget(playerId));
|
||||
effect.apply(game, source);
|
||||
}
|
||||
|
|
|
@ -4,7 +4,7 @@ package mage.cards.s;
|
|||
import java.util.UUID;
|
||||
import mage.MageInt;
|
||||
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
|
||||
import mage.abilities.effects.common.PutTopCardOfLibraryIntoGraveEachPlayerEffect;
|
||||
import mage.abilities.effects.common.MillCardsEachPlayerEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
|
@ -24,7 +24,7 @@ public final class SibsigHost extends CardImpl {
|
|||
this.toughness = new MageInt(6);
|
||||
|
||||
// When Sibsig Host enters the battlefield, each player puts the top three cards of their library into their graveyard.
|
||||
this.addAbility(new EntersBattlefieldTriggeredAbility(new PutTopCardOfLibraryIntoGraveEachPlayerEffect(3, TargetController.ANY)));
|
||||
this.addAbility(new EntersBattlefieldTriggeredAbility(new MillCardsEachPlayerEffect(3, TargetController.ANY)));
|
||||
}
|
||||
|
||||
public SibsigHost(final SibsigHost card) {
|
||||
|
|
|
@ -5,7 +5,7 @@ import mage.MageInt;
|
|||
import mage.abilities.TriggeredAbilityImpl;
|
||||
import mage.abilities.common.EntersBattlefieldOrAttacksSourceTriggeredAbility;
|
||||
import mage.abilities.effects.common.CreateTokenEffect;
|
||||
import mage.abilities.effects.common.PutTopCardOfLibraryIntoGraveControllerEffect;
|
||||
import mage.abilities.effects.common.MillCardsControllerEffect;
|
||||
import mage.cards.Card;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
|
@ -34,7 +34,7 @@ public final class SidisiBroodTyrant extends CardImpl {
|
|||
this.toughness = new MageInt(3);
|
||||
|
||||
// Whenever Sidisi, Brood Tyrant enters the battlefield or attacks, put the top three cards of your library into your graveyard.
|
||||
this.addAbility(new EntersBattlefieldOrAttacksSourceTriggeredAbility(new PutTopCardOfLibraryIntoGraveControllerEffect(3)));
|
||||
this.addAbility(new EntersBattlefieldOrAttacksSourceTriggeredAbility(new MillCardsControllerEffect(3)));
|
||||
|
||||
// Whenever one or more creature cards are put into your graveyard from your library, create a 2/2 black Zombie creature token.
|
||||
this.addAbility(new SidisiBroodTyrantTriggeredAbility());
|
||||
|
|
|
@ -6,7 +6,7 @@ import mage.abilities.Ability;
|
|||
import mage.abilities.common.SimpleActivatedAbility;
|
||||
import mage.abilities.costs.common.DiscardCardCost;
|
||||
import mage.abilities.costs.common.PayLifeCost;
|
||||
import mage.abilities.costs.common.PutTopCardOfYourLibraryToGraveyardCost;
|
||||
import mage.abilities.costs.common.MillCardsCost;
|
||||
import mage.abilities.costs.common.SacrificeSourceCost;
|
||||
import mage.abilities.costs.mana.ManaCostsImpl;
|
||||
import mage.abilities.effects.common.DestroyTargetEffect;
|
||||
|
@ -28,7 +28,7 @@ public final class SinisterConcoction extends CardImpl {
|
|||
// {B}, Pay 1 life, Put the top card of your library into your graveyard, Discard a card, Sacrifice Sinister Concoction: Destroy target creature.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DestroyTargetEffect(), new ManaCostsImpl("{B}"));
|
||||
ability.addCost(new PayLifeCost(1));
|
||||
ability.addCost(new PutTopCardOfYourLibraryToGraveyardCost());
|
||||
ability.addCost(new MillCardsCost());
|
||||
ability.addCost(new DiscardCardCost());
|
||||
ability.addCost(new SacrificeSourceCost());
|
||||
ability.addTarget(new TargetCreaturePermanent());
|
||||
|
|
|
@ -5,7 +5,7 @@ import java.util.UUID;
|
|||
import mage.MageInt;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.effects.Effect;
|
||||
import mage.abilities.effects.common.PutTopCardOfLibraryIntoGraveEachPlayerEffect;
|
||||
import mage.abilities.effects.common.MillCardsEachPlayerEffect;
|
||||
import mage.abilities.effects.common.discard.DiscardEachPlayerEffect;
|
||||
import mage.abilities.keyword.FlyingAbility;
|
||||
import mage.abilities.keyword.InspiredAbility;
|
||||
|
@ -33,7 +33,7 @@ public final class SirenOfTheSilentSong extends CardImpl {
|
|||
this.addAbility(FlyingAbility.getInstance());
|
||||
// <i>Inspired</i> — Whenever Siren of the Silent Song becomes untapped, each opponent discards a card, then puts the top card of their library into their graveyard.
|
||||
Ability ability = new InspiredAbility(new DiscardEachPlayerEffect(TargetController.OPPONENT));
|
||||
Effect effect = new PutTopCardOfLibraryIntoGraveEachPlayerEffect(1, TargetController.OPPONENT);
|
||||
Effect effect = new MillCardsEachPlayerEffect(1, TargetController.OPPONENT);
|
||||
effect.setText(", then mills a card");
|
||||
ability.addEffect(effect);
|
||||
this.addAbility(ability);
|
||||
|
|
|
@ -5,7 +5,7 @@ import mage.abilities.common.PutCardIntoGraveFromAnywhereAllTriggeredAbility;
|
|||
import mage.abilities.common.SimpleActivatedAbility;
|
||||
import mage.abilities.costs.mana.ManaCostsImpl;
|
||||
import mage.abilities.effects.common.GainLifeEffect;
|
||||
import mage.abilities.effects.common.PutTopCardOfLibraryIntoGraveControllerEffect;
|
||||
import mage.abilities.effects.common.MillCardsControllerEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
|
@ -35,7 +35,7 @@ public final class SkolaGrovedancer extends CardImpl {
|
|||
|
||||
// {2}{G}: Put the top card of your library into your graveyard.
|
||||
this.addAbility(new SimpleActivatedAbility(
|
||||
new PutTopCardOfLibraryIntoGraveControllerEffect(1), new ManaCostsImpl("{2}{G}")
|
||||
new MillCardsControllerEffect(1), new ManaCostsImpl("{2}{G}")
|
||||
));
|
||||
}
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@ package mage.cards.s;
|
|||
import mage.MageInt;
|
||||
import mage.abilities.common.SimpleActivatedAbility;
|
||||
import mage.abilities.costs.common.TapSourceCost;
|
||||
import mage.abilities.effects.common.PutTopCardOfLibraryIntoGraveControllerEffect;
|
||||
import mage.abilities.effects.common.MillCardsControllerEffect;
|
||||
import mage.abilities.mana.BlackManaAbility;
|
||||
import mage.abilities.mana.GreenManaAbility;
|
||||
import mage.cards.CardImpl;
|
||||
|
@ -32,7 +32,7 @@ public final class SkullProphet extends CardImpl {
|
|||
|
||||
// {T}: Put the top two cards of your library into your graveyard.
|
||||
this.addAbility(new SimpleActivatedAbility(
|
||||
new PutTopCardOfLibraryIntoGraveControllerEffect(2), new TapSourceCost()
|
||||
new MillCardsControllerEffect(2), new TapSourceCost()
|
||||
));
|
||||
}
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@ import mage.abilities.common.AttacksWithCreaturesTriggeredAbility;
|
|||
import mage.abilities.common.SimpleStaticAbility;
|
||||
import mage.abilities.condition.common.CardsInOpponentGraveyardCondition;
|
||||
import mage.abilities.decorator.ConditionalContinuousEffect;
|
||||
import mage.abilities.effects.common.PutTopCardOfLibraryIntoGraveEachPlayerEffect;
|
||||
import mage.abilities.effects.common.MillCardsEachPlayerEffect;
|
||||
import mage.abilities.effects.common.continuous.BoostControlledEffect;
|
||||
import mage.abilities.keyword.FlashAbility;
|
||||
import mage.abilities.keyword.FlyingAbility;
|
||||
|
@ -49,7 +49,7 @@ public final class SoaringThoughtThief extends CardImpl {
|
|||
|
||||
// Whenever one or more Rogues you control attack, each opponent mills two cards.
|
||||
this.addAbility(new AttacksWithCreaturesTriggeredAbility(
|
||||
new PutTopCardOfLibraryIntoGraveEachPlayerEffect(2, TargetController.OPPONENT), 1, filter
|
||||
new MillCardsEachPlayerEffect(2, TargetController.OPPONENT), 1, filter
|
||||
));
|
||||
}
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@ package mage.cards.s;
|
|||
|
||||
import mage.MageInt;
|
||||
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
|
||||
import mage.abilities.effects.common.PutTopCardOfLibraryIntoGraveEachPlayerEffect;
|
||||
import mage.abilities.effects.common.MillCardsEachPlayerEffect;
|
||||
import mage.abilities.keyword.FlyingAbility;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
|
@ -29,7 +29,7 @@ public final class SphinxMindbreaker extends CardImpl {
|
|||
|
||||
// When Sphinx Mindbreaker enters the battlefield, each opponent puts the top ten cards of their library into their graveyard.
|
||||
this.addAbility(new EntersBattlefieldTriggeredAbility(
|
||||
new PutTopCardOfLibraryIntoGraveEachPlayerEffect(10, TargetController.OPPONENT)
|
||||
new MillCardsEachPlayerEffect(10, TargetController.OPPONENT)
|
||||
));
|
||||
}
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@ import mage.MageInt;
|
|||
import mage.abilities.common.OnEventTriggeredAbility;
|
||||
import mage.abilities.common.SimpleStaticAbility;
|
||||
import mage.abilities.dynamicvalue.common.CardsInControllerGraveyardCount;
|
||||
import mage.abilities.effects.common.PutTopCardOfLibraryIntoGraveControllerEffect;
|
||||
import mage.abilities.effects.common.MillCardsControllerEffect;
|
||||
import mage.abilities.effects.common.continuous.SetPowerToughnessSourceEffect;
|
||||
import mage.abilities.keyword.TrampleAbility;
|
||||
import mage.cards.CardImpl;
|
||||
|
@ -36,7 +36,7 @@ public final class Splinterfright extends CardImpl {
|
|||
CardsInControllerGraveyardCount count = new CardsInControllerGraveyardCount(new FilterCreatureCard("creature cards"));
|
||||
this.addAbility(new SimpleStaticAbility(Zone.ALL, new SetPowerToughnessSourceEffect(count, Duration.EndOfGame)));
|
||||
// At the beginning of your upkeep, put the top two cards of your library into your graveyard.
|
||||
this.addAbility(new OnEventTriggeredAbility(EventType.UPKEEP_STEP_PRE, "beginning of your upkeep", new PutTopCardOfLibraryIntoGraveControllerEffect(2), false));
|
||||
this.addAbility(new OnEventTriggeredAbility(EventType.UPKEEP_STEP_PRE, "beginning of your upkeep", new MillCardsControllerEffect(2), false));
|
||||
}
|
||||
|
||||
public Splinterfright(final Splinterfright card) {
|
||||
|
|
|
@ -3,7 +3,7 @@ package mage.cards.s;
|
|||
import java.util.UUID;
|
||||
import mage.MageInt;
|
||||
import mage.abilities.common.EntersBattlefieldOrDiesSourceTriggeredAbility;
|
||||
import mage.abilities.effects.common.PutTopCardOfLibraryIntoGraveControllerEffect;
|
||||
import mage.abilities.effects.common.MillCardsControllerEffect;
|
||||
import mage.constants.SubType;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
|
@ -24,7 +24,7 @@ public final class StitchersSupplier extends CardImpl {
|
|||
|
||||
// When Stitcher's Supplier enters the battlefield or dies, put the top three cards of your library into your graveyard.
|
||||
this.addAbility(new EntersBattlefieldOrDiesSourceTriggeredAbility(
|
||||
new PutTopCardOfLibraryIntoGraveControllerEffect(3), false)
|
||||
new MillCardsControllerEffect(3), false)
|
||||
);
|
||||
}
|
||||
|
||||
|
|
|
@ -4,7 +4,7 @@ package mage.cards.s;
|
|||
import java.util.UUID;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.effects.OneShotEffect;
|
||||
import mage.abilities.effects.common.PutTopCardOfLibraryIntoGraveControllerEffect;
|
||||
import mage.abilities.effects.common.MillCardsControllerEffect;
|
||||
import mage.cards.Card;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
|
@ -30,7 +30,7 @@ public final class SuddenReclamation extends CardImpl {
|
|||
super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{3}{G}");
|
||||
|
||||
// Put the top four cards of your library into your graveyard, then return a creature card and a land card from your graveyard to your hand.
|
||||
this.getSpellAbility().addEffect(new PutTopCardOfLibraryIntoGraveControllerEffect(4));
|
||||
this.getSpellAbility().addEffect(new MillCardsControllerEffect(4));
|
||||
this.getSpellAbility().addEffect(new SuddenReclamationEffect());
|
||||
}
|
||||
|
||||
|
|
|
@ -4,7 +4,7 @@ package mage.cards.s;
|
|||
import java.util.UUID;
|
||||
import mage.MageInt;
|
||||
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
|
||||
import mage.abilities.effects.common.PutTopCardOfLibraryIntoGraveControllerEffect;
|
||||
import mage.abilities.effects.common.MillCardsControllerEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
|
@ -24,7 +24,7 @@ public final class SultaiSkullkeeper extends CardImpl {
|
|||
this.toughness = new MageInt(1);
|
||||
|
||||
// When Sultai Skullkeeper enters the battlefield, put the top two cards of your library into your graveyard.
|
||||
this.addAbility(new EntersBattlefieldTriggeredAbility(new PutTopCardOfLibraryIntoGraveControllerEffect(2)));
|
||||
this.addAbility(new EntersBattlefieldTriggeredAbility(new MillCardsControllerEffect(2)));
|
||||
}
|
||||
|
||||
public SultaiSkullkeeper(final SultaiSkullkeeper card) {
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
package mage.cards.s;
|
||||
|
||||
import mage.abilities.effects.common.PutTopCardOfLibraryIntoGraveTargetEffect;
|
||||
import mage.abilities.effects.common.MillCardsTargetEffect;
|
||||
import mage.abilities.keyword.EscapeAbility;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
|
@ -18,7 +18,7 @@ public final class SweetOblivion extends CardImpl {
|
|||
super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{1}{U}");
|
||||
|
||||
// Target player puts the top four cards of their library into their graveyard.
|
||||
this.getSpellAbility().addEffect(new PutTopCardOfLibraryIntoGraveTargetEffect(4));
|
||||
this.getSpellAbility().addEffect(new MillCardsTargetEffect(4));
|
||||
this.getSpellAbility().addTarget(new TargetPlayer());
|
||||
|
||||
// Escape—{3}{U}, Exile four other cards from your graveyard.
|
||||
|
|
|
@ -5,7 +5,7 @@ import mage.abilities.TriggeredAbilityImpl;
|
|||
import mage.abilities.common.SimpleActivatedAbility;
|
||||
import mage.abilities.costs.mana.ManaCostsImpl;
|
||||
import mage.abilities.effects.common.DamagePlayersEffect;
|
||||
import mage.abilities.effects.common.PutTopCardOfLibraryIntoGraveEachPlayerEffect;
|
||||
import mage.abilities.effects.common.MillCardsEachPlayerEffect;
|
||||
import mage.cards.Card;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
|
@ -34,7 +34,7 @@ public final class SyrKonradTheGrim extends CardImpl {
|
|||
this.addAbility(new SyrKonradTheGrimTriggeredAbility());
|
||||
|
||||
// {1}{B}: Each player puts the top card of their library into their graveyard.
|
||||
this.addAbility(new SimpleActivatedAbility(new PutTopCardOfLibraryIntoGraveEachPlayerEffect(
|
||||
this.addAbility(new SimpleActivatedAbility(new MillCardsEachPlayerEffect(
|
||||
1, TargetController.ANY
|
||||
), new ManaCostsImpl("{1}{B}")));
|
||||
}
|
||||
|
|
|
@ -5,7 +5,7 @@ import mage.abilities.Ability;
|
|||
import mage.abilities.common.SimpleActivatedAbility;
|
||||
import mage.abilities.costs.mana.ManaCostsImpl;
|
||||
import mage.abilities.effects.OneShotEffect;
|
||||
import mage.abilities.effects.common.PutTopCardOfLibraryIntoGraveControllerEffect;
|
||||
import mage.abilities.effects.common.MillCardsControllerEffect;
|
||||
import mage.abilities.keyword.DelveAbility;
|
||||
import mage.cards.Card;
|
||||
import mage.cards.CardImpl;
|
||||
|
@ -38,7 +38,7 @@ public final class TasigurTheGoldenFang extends CardImpl {
|
|||
this.addAbility(new DelveAbility());
|
||||
|
||||
// {2}{G/U}{G/U}: Put the top two cards of your library into your graveyard, then return a nonland card of an opponent's choice from your graveyard to your hand.
|
||||
Ability ability = new SimpleActivatedAbility(new PutTopCardOfLibraryIntoGraveControllerEffect(2), new ManaCostsImpl("{2}{G/U}{G/U}"));
|
||||
Ability ability = new SimpleActivatedAbility(new MillCardsControllerEffect(2), new ManaCostsImpl("{2}{G/U}{G/U}"));
|
||||
ability.addEffect(new TasigurTheGoldenFangEffect());
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
|
|
@ -9,7 +9,7 @@ import mage.abilities.costs.common.RemoveCounterCost;
|
|||
import mage.abilities.costs.mana.GenericManaCost;
|
||||
import mage.abilities.effects.OneShotEffect;
|
||||
import mage.abilities.effects.ReplacementEffectImpl;
|
||||
import mage.abilities.effects.common.PutTopCardOfLibraryIntoGraveControllerEffect;
|
||||
import mage.abilities.effects.common.MillCardsControllerEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.choices.Choice;
|
||||
|
@ -56,7 +56,7 @@ public final class TayamLuminousEnigma extends CardImpl {
|
|||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new TayamLuminousEnigmaReplacementEffect()));
|
||||
|
||||
// {3}, Remove three counters from among creatures you control: Put the top three cards of your library into your graveyard, then return a permanent card with converted mana cost 3 or less from your graveyard to the battlefield.
|
||||
PutTopCardOfLibraryIntoGraveControllerEffect millEffect = new PutTopCardOfLibraryIntoGraveControllerEffect(3);
|
||||
MillCardsControllerEffect millEffect = new MillCardsControllerEffect(3);
|
||||
millEffect.concatBy(".");
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, millEffect, new GenericManaCost(3));
|
||||
ability.addCost(new TayamLuminousEnigmaCost());
|
||||
|
|
|
@ -5,7 +5,7 @@ import java.util.UUID;
|
|||
import mage.MageInt;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.abilityword.ConstellationAbility;
|
||||
import mage.abilities.effects.common.PutTopCardOfLibraryIntoGraveTargetEffect;
|
||||
import mage.abilities.effects.common.MillCardsTargetEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
|
@ -26,7 +26,7 @@ public final class ThassasDevourer extends CardImpl {
|
|||
this.toughness = new MageInt(6);
|
||||
|
||||
// Constellation — Whenever Thassa's Devourer or another enchantment enters the battlefield under your control, target player puts the top two cards of their library into their graveyard.
|
||||
Ability ability = new ConstellationAbility(new PutTopCardOfLibraryIntoGraveTargetEffect(2), false);
|
||||
Ability ability = new ConstellationAbility(new MillCardsTargetEffect(2), false);
|
||||
ability.addTarget(new TargetPlayer());
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
|
|
@ -3,7 +3,7 @@ package mage.cards.t;
|
|||
import mage.abilities.Ability;
|
||||
import mage.abilities.common.SagaAbility;
|
||||
import mage.abilities.effects.OneShotEffect;
|
||||
import mage.abilities.effects.common.PutTopCardOfLibraryIntoGraveEachPlayerEffect;
|
||||
import mage.abilities.effects.common.MillCardsEachPlayerEffect;
|
||||
import mage.abilities.effects.common.ReturnFromGraveyardToHandTargetEffect;
|
||||
import mage.cards.*;
|
||||
import mage.constants.*;
|
||||
|
@ -44,7 +44,7 @@ public final class TheBindingOfTheTitans extends CardImpl {
|
|||
|
||||
// I — Each player puts the top three cards of their library into their graveyard.
|
||||
sagaAbility.addChapterEffect(
|
||||
this, SagaChapter.CHAPTER_I, new PutTopCardOfLibraryIntoGraveEachPlayerEffect(
|
||||
this, SagaChapter.CHAPTER_I, new MillCardsEachPlayerEffect(
|
||||
3, TargetController.ANY
|
||||
)
|
||||
);
|
||||
|
|
|
@ -5,7 +5,7 @@ import java.util.UUID;
|
|||
import mage.abilities.Ability;
|
||||
import mage.abilities.common.SagaAbility;
|
||||
import mage.abilities.effects.OneShotEffect;
|
||||
import mage.abilities.effects.common.PutTopCardOfLibraryIntoGraveControllerEffect;
|
||||
import mage.abilities.effects.common.MillCardsControllerEffect;
|
||||
import mage.cards.Card;
|
||||
import mage.constants.SubType;
|
||||
import mage.cards.CardImpl;
|
||||
|
@ -74,7 +74,7 @@ class TheMendingOfDominariaFirstEffect extends OneShotEffect {
|
|||
if (controller == null) {
|
||||
return false;
|
||||
}
|
||||
new PutTopCardOfLibraryIntoGraveControllerEffect(2).apply(game, source);
|
||||
new MillCardsControllerEffect(2).apply(game, source);
|
||||
TargetCardInYourGraveyard target = new TargetCardInYourGraveyard(StaticFilters.FILTER_CARD_CREATURE_YOUR_GRAVEYARD);
|
||||
target.setNotTarget(true);
|
||||
if (target.canChoose(source.getSourceId(), source.getControllerId(), game)
|
||||
|
|
|
@ -6,7 +6,7 @@ import mage.abilities.common.EntersBattlefieldThisOrAnotherTriggeredAbility;
|
|||
import mage.abilities.common.SimpleStaticAbility;
|
||||
import mage.abilities.condition.common.CardsInOpponentGraveyardCondition;
|
||||
import mage.abilities.decorator.ConditionalContinuousEffect;
|
||||
import mage.abilities.effects.common.PutTopCardOfLibraryIntoGraveEachPlayerEffect;
|
||||
import mage.abilities.effects.common.MillCardsEachPlayerEffect;
|
||||
import mage.abilities.effects.common.continuous.BoostSourceEffect;
|
||||
import mage.abilities.effects.common.continuous.GainAbilitySourceEffect;
|
||||
import mage.abilities.keyword.DeathtouchAbility;
|
||||
|
@ -41,7 +41,7 @@ public final class ThievesGuildEnforcer extends CardImpl {
|
|||
|
||||
// Whenever Thieves' Guild Enforcer or another Rogue enters the battlefield under your control, each opponent mills two cards.
|
||||
this.addAbility(new EntersBattlefieldThisOrAnotherTriggeredAbility(
|
||||
new PutTopCardOfLibraryIntoGraveEachPlayerEffect(
|
||||
new MillCardsEachPlayerEffect(
|
||||
2, TargetController.OPPONENT
|
||||
), filter, false, true
|
||||
));
|
||||
|
|
|
@ -4,7 +4,7 @@ package mage.cards.t;
|
|||
import java.util.UUID;
|
||||
import mage.MageInt;
|
||||
import mage.abilities.common.OnEventTriggeredAbility;
|
||||
import mage.abilities.effects.common.PutTopCardOfLibraryIntoGraveControllerEffect;
|
||||
import mage.abilities.effects.common.MillCardsControllerEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
|
@ -26,7 +26,7 @@ public final class TolarianSerpent extends CardImpl {
|
|||
// At the beginning of your upkeep, put the top seven cards of your library into your graveyard.
|
||||
this.addAbility(new OnEventTriggeredAbility(EventType.UPKEEP_STEP_PRE,
|
||||
"beginning of your upkeep",
|
||||
new PutTopCardOfLibraryIntoGraveControllerEffect(7), false));
|
||||
new MillCardsControllerEffect(7), false));
|
||||
}
|
||||
|
||||
public TolarianSerpent(final TolarianSerpent card) {
|
||||
|
|
|
@ -2,7 +2,7 @@ package mage.cards.t;
|
|||
|
||||
import mage.MageInt;
|
||||
import mage.abilities.TriggeredAbilityImpl;
|
||||
import mage.abilities.effects.common.PutTopCardOfLibraryIntoGraveTargetEffect;
|
||||
import mage.abilities.effects.common.MillCardsTargetEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
|
@ -70,7 +70,7 @@ class ToweringWaveMysticTriggeredAbility extends TriggeredAbilityImpl {
|
|||
return false;
|
||||
}
|
||||
this.getEffects().clear();
|
||||
this.addEffect(new PutTopCardOfLibraryIntoGraveTargetEffect(event.getAmount()));
|
||||
this.addEffect(new MillCardsTargetEffect(event.getAmount()));
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@ import mage.abilities.common.SagaAbility;
|
|||
import mage.abilities.effects.Effect;
|
||||
import mage.abilities.effects.OneShotEffect;
|
||||
import mage.abilities.effects.common.CreateTokenEffect;
|
||||
import mage.abilities.effects.common.PutTopCardOfLibraryIntoGraveControllerEffect;
|
||||
import mage.abilities.effects.common.MillCardsControllerEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.*;
|
||||
|
@ -58,7 +58,7 @@ public final class TymaretCallsTheDead extends CardImpl {
|
|||
|
||||
class TymaretCallsTheDeadFirstEffect extends OneShotEffect {
|
||||
|
||||
private static final Effect millEffect = new PutTopCardOfLibraryIntoGraveControllerEffect(3);
|
||||
private static final Effect millEffect = new MillCardsControllerEffect(3);
|
||||
private static final Effect tokenEffect = new CreateTokenEffect(new ZombieToken());
|
||||
private static final FilterCard filter = new FilterCard("creature or enchantment card from your graveyard");
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@ import mage.abilities.common.SimpleActivatedAbility;
|
|||
import mage.abilities.common.SimpleStaticAbility;
|
||||
import mage.abilities.costs.common.TapSourceCost;
|
||||
import mage.abilities.effects.RestrictionEffect;
|
||||
import mage.abilities.effects.common.PutTopCardOfLibraryIntoGraveEachPlayerEffect;
|
||||
import mage.abilities.effects.common.MillCardsEachPlayerEffect;
|
||||
import mage.abilities.keyword.FlyingAbility;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
|
@ -43,7 +43,7 @@ public final class VantressGargoyle extends CardImpl {
|
|||
|
||||
// {T}: Each player puts the top card of their library into their graveyard.
|
||||
this.addAbility(new SimpleActivatedAbility(
|
||||
new PutTopCardOfLibraryIntoGraveEachPlayerEffect(1, TargetController.ANY), new TapSourceCost()
|
||||
new MillCardsEachPlayerEffect(1, TargetController.ANY), new TapSourceCost()
|
||||
));
|
||||
}
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@ package mage.cards.v;
|
|||
|
||||
import mage.MageInt;
|
||||
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
|
||||
import mage.abilities.effects.common.PutTopCardOfLibraryIntoGraveControllerEffect;
|
||||
import mage.abilities.effects.common.MillCardsControllerEffect;
|
||||
import mage.abilities.keyword.DeathtouchAbility;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
|
@ -28,7 +28,7 @@ public final class VenomousHierophant extends CardImpl {
|
|||
this.addAbility(DeathtouchAbility.getInstance());
|
||||
|
||||
// When Venomous Hierophant enters the battlefield, put the top three cards of your library into your graveyard.
|
||||
this.addAbility(new EntersBattlefieldTriggeredAbility(new PutTopCardOfLibraryIntoGraveControllerEffect(3)));
|
||||
this.addAbility(new EntersBattlefieldTriggeredAbility(new MillCardsControllerEffect(3)));
|
||||
}
|
||||
|
||||
private VenomousHierophant(final VenomousHierophant card) {
|
||||
|
|
|
@ -7,7 +7,7 @@ import mage.abilities.common.SimpleActivatedAbility;
|
|||
import mage.abilities.costs.common.SacrificeSourceCost;
|
||||
import mage.abilities.costs.mana.ManaCostsImpl;
|
||||
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
|
||||
import mage.abilities.effects.common.PutTopCardOfLibraryIntoGraveTargetEffect;
|
||||
import mage.abilities.effects.common.MillCardsTargetEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
|
@ -24,7 +24,7 @@ public final class VesselOfParamnesia extends CardImpl {
|
|||
super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{U}");
|
||||
|
||||
// {U}, Sacrifice Vessel of Paramnesia: Target player puts the top three cards of their library into their graveyard. Draw a card.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new PutTopCardOfLibraryIntoGraveTargetEffect(3), new ManaCostsImpl("{U}"));
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new MillCardsTargetEffect(3), new ManaCostsImpl("{U}"));
|
||||
ability.addCost(new SacrificeSourceCost());
|
||||
ability.addTarget(new TargetPlayer());
|
||||
ability.addEffect(new DrawCardSourceControllerEffect(1));
|
||||
|
|
|
@ -4,7 +4,7 @@ import java.util.UUID;
|
|||
import mage.abilities.dynamicvalue.common.StaticValue;
|
||||
import mage.abilities.effects.common.DamagePlayersEffect;
|
||||
import mage.abilities.effects.common.GainLifeEffect;
|
||||
import mage.abilities.effects.common.PutTopCardOfLibraryIntoGraveEachPlayerEffect;
|
||||
import mage.abilities.effects.common.MillCardsEachPlayerEffect;
|
||||
import mage.abilities.effects.common.discard.DiscardEachPlayerEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
|
@ -29,7 +29,7 @@ public final class ViciousRumors extends CardImpl {
|
|||
TargetController.OPPONENT
|
||||
));
|
||||
this.getSpellAbility().addEffect(
|
||||
new PutTopCardOfLibraryIntoGraveEachPlayerEffect(
|
||||
new MillCardsEachPlayerEffect(
|
||||
1, TargetController.OPPONENT
|
||||
).setText(", then mills a card")
|
||||
);
|
||||
|
|
|
@ -4,7 +4,7 @@ package mage.cards.w;
|
|||
import java.util.UUID;
|
||||
import mage.MageInt;
|
||||
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
|
||||
import mage.abilities.effects.common.PutTopCardOfLibraryIntoGraveControllerEffect;
|
||||
import mage.abilities.effects.common.MillCardsControllerEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
|
@ -23,7 +23,7 @@ public final class WailingGhoul extends CardImpl {
|
|||
this.toughness = new MageInt(3);
|
||||
|
||||
// When Wailing Ghoul enters the battlefield, put the top two cards of your library into your graveyard.
|
||||
this.addAbility(new EntersBattlefieldTriggeredAbility(new PutTopCardOfLibraryIntoGraveControllerEffect(2)));
|
||||
this.addAbility(new EntersBattlefieldTriggeredAbility(new MillCardsControllerEffect(2)));
|
||||
}
|
||||
|
||||
public WailingGhoul(final WailingGhoul card) {
|
||||
|
|
|
@ -7,7 +7,7 @@ import mage.abilities.costs.common.ExileSourceCost;
|
|||
import mage.abilities.costs.common.TapSourceCost;
|
||||
import mage.abilities.costs.mana.GenericManaCost;
|
||||
import mage.abilities.effects.OneShotEffect;
|
||||
import mage.abilities.effects.common.PutTopCardOfLibraryIntoGraveControllerEffect;
|
||||
import mage.abilities.effects.common.MillCardsControllerEffect;
|
||||
import mage.cards.Card;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
|
@ -30,7 +30,7 @@ public final class WandOfVertebrae extends CardImpl {
|
|||
|
||||
// {T}: Put the top card of your library into your graveyard.
|
||||
this.addAbility(new SimpleActivatedAbility(
|
||||
new PutTopCardOfLibraryIntoGraveControllerEffect(1),
|
||||
new MillCardsControllerEffect(1),
|
||||
new TapSourceCost()
|
||||
));
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@ package mage.cards.w;
|
|||
|
||||
import mage.abilities.common.SimpleActivatedAbility;
|
||||
import mage.abilities.costs.mana.GenericManaCost;
|
||||
import mage.abilities.effects.common.PutTopCardOfLibraryIntoGraveEachPlayerEffect;
|
||||
import mage.abilities.effects.common.MillCardsEachPlayerEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
|
@ -19,7 +19,7 @@ public final class Whetstone extends CardImpl {
|
|||
super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{3}");
|
||||
|
||||
//{3}: Each player puts the top two cards of their library into their graveyard.
|
||||
this.addAbility(new SimpleActivatedAbility(new PutTopCardOfLibraryIntoGraveEachPlayerEffect(
|
||||
this.addAbility(new SimpleActivatedAbility(new MillCardsEachPlayerEffect(
|
||||
2, TargetController.ANY
|
||||
), new GenericManaCost(3)));
|
||||
}
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue