From 7008392a496841397aa05c75e41905f3d46c00ec Mon Sep 17 00:00:00 2001 From: Evan Kranzler Date: Thu, 10 Sep 2020 11:53:11 -0400 Subject: [PATCH] refactored mill effect names --- Mage.Sets/src/mage/cards/a/AltarOfTheBrood.java | 4 ++-- Mage.Sets/src/mage/cards/a/ArmoredSkaab.java | 4 ++-- .../src/mage/cards/a/AshiokSculptorOfFears.java | 4 ++-- Mage.Sets/src/mage/cards/a/AutumnalGloom.java | 4 ++-- Mage.Sets/src/mage/cards/b/Bloodcurdler.java | 4 ++-- Mage.Sets/src/mage/cards/b/BreakingEntering.java | 4 ++-- Mage.Sets/src/mage/cards/c/CarrionGrub.java | 4 ++-- Mage.Sets/src/mage/cards/c/CephalidAristocrat.java | 4 ++-- Mage.Sets/src/mage/cards/c/CephalidIllusionist.java | 4 ++-- .../src/mage/cards/c/ChainsOfMephistopheles.java | 4 ++-- .../src/mage/cards/c/ChancellorOfTheSpires.java | 4 ++-- Mage.Sets/src/mage/cards/c/CharmedPendant.java | 8 ++++---- Mage.Sets/src/mage/cards/c/ChillOfForeboding.java | 4 ++-- Mage.Sets/src/mage/cards/c/CorpseChurn.java | 4 ++-- Mage.Sets/src/mage/cards/c/CrawlingSensation.java | 4 ++-- Mage.Sets/src/mage/cards/c/CropSigil.java | 4 ++-- Mage.Sets/src/mage/cards/c/CrowOfDarkTidings.java | 4 ++-- Mage.Sets/src/mage/cards/d/DeadbridgeChant.java | 4 ++-- Mage.Sets/src/mage/cards/d/DeathsOasis.java | 4 ++-- Mage.Sets/src/mage/cards/d/DeepSpawn.java | 4 ++-- Mage.Sets/src/mage/cards/d/DerangedAssistant.java | 4 ++-- Mage.Sets/src/mage/cards/d/DevourerOfMemory.java | 4 ++-- Mage.Sets/src/mage/cards/d/DrownInFilth.java | 4 ++-- Mage.Sets/src/mage/cards/e/EmryLurkerOfTheLoch.java | 4 ++-- Mage.Sets/src/mage/cards/e/EstridTheMasked.java | 4 ++-- Mage.Sets/src/mage/cards/e/EvanescentIntellect.java | 4 ++-- Mage.Sets/src/mage/cards/e/ExcavationMole.java | 4 ++-- Mage.Sets/src/mage/cards/e/ExtractFromDarkness.java | 4 ++-- Mage.Sets/src/mage/cards/e/EyeCollector.java | 4 ++-- Mage.Sets/src/mage/cards/f/FalseMemories.java | 4 ++-- Mage.Sets/src/mage/cards/f/Fascination.java | 4 ++-- Mage.Sets/src/mage/cards/f/FleetingMemories.java | 4 ++-- Mage.Sets/src/mage/cards/f/ForsakenDrifters.java | 4 ++-- Mage.Sets/src/mage/cards/f/FuneralRites.java | 4 ++-- Mage.Sets/src/mage/cards/g/GhoulcallersBell.java | 4 ++-- Mage.Sets/src/mage/cards/g/GisaAndGeralf.java | 4 ++-- Mage.Sets/src/mage/cards/g/GlowsporeShaman.java | 4 ++-- Mage.Sets/src/mage/cards/g/GrappleWithThePast.java | 4 ++-- Mage.Sets/src/mage/cards/g/GraveStrength.java | 4 ++-- Mage.Sets/src/mage/cards/g/GrindingStation.java | 4 ++-- Mage.Sets/src/mage/cards/i/InkDissolver.java | 4 ++-- Mage.Sets/src/mage/cards/l/LaboratoryBrute.java | 4 ++-- Mage.Sets/src/mage/cards/l/LilianaDeathsMajesty.java | 4 ++-- Mage.Sets/src/mage/cards/l/LilianaTheLastHope.java | 4 ++-- Mage.Sets/src/mage/cards/m/ManicScribe.java | 8 ++++---- Mage.Sets/src/mage/cards/m/MentalNote.java | 4 ++-- Mage.Sets/src/mage/cards/m/MesmericOrb.java | 4 ++-- Mage.Sets/src/mage/cards/m/Millikin.java | 4 ++-- Mage.Sets/src/mage/cards/m/MindDrain.java | 4 ++-- Mage.Sets/src/mage/cards/m/MindwrackDemon.java | 4 ++-- Mage.Sets/src/mage/cards/m/MindwrackHarpy.java | 4 ++-- Mage.Sets/src/mage/cards/m/MireTriton.java | 4 ++-- Mage.Sets/src/mage/cards/m/MorgueThrull.java | 4 ++-- .../src/mage/cards/n/NecromancersAssistant.java | 4 ++-- Mage.Sets/src/mage/cards/n/NecromasterDragon.java | 4 ++-- Mage.Sets/src/mage/cards/n/NyxWeaver.java | 4 ++-- .../src/mage/cards/o/OverwhelmedApprentice.java | 4 ++-- Mage.Sets/src/mage/cards/p/PerpetualTimepiece.java | 4 ++-- Mage.Sets/src/mage/cards/p/PhenaxGodOfDeception.java | 4 ++-- Mage.Sets/src/mage/cards/p/PsychicCorrosion.java | 4 ++-- Mage.Sets/src/mage/cards/r/RakshasasSecret.java | 4 ++-- Mage.Sets/src/mage/cards/r/ReturnedReveler.java | 4 ++-- Mage.Sets/src/mage/cards/r/Riddlekeeper.java | 4 ++-- Mage.Sets/src/mage/cards/r/RotFarmSkeleton.java | 4 ++-- Mage.Sets/src/mage/cards/r/RuinCrab.java | 4 ++-- Mage.Sets/src/mage/cards/s/ScreechingSkaab.java | 4 ++-- Mage.Sets/src/mage/cards/s/SequesteredStash.java | 4 ++-- Mage.Sets/src/mage/cards/s/SewerNemesis.java | 4 ++-- Mage.Sets/src/mage/cards/s/ShardOfBrokenGlass.java | 4 ++-- Mage.Sets/src/mage/cards/s/SharedTrauma.java | 4 ++-- Mage.Sets/src/mage/cards/s/SibsigHost.java | 4 ++-- Mage.Sets/src/mage/cards/s/SidisiBroodTyrant.java | 4 ++-- Mage.Sets/src/mage/cards/s/SinisterConcoction.java | 4 ++-- Mage.Sets/src/mage/cards/s/SirenOfTheSilentSong.java | 4 ++-- Mage.Sets/src/mage/cards/s/SkolaGrovedancer.java | 4 ++-- Mage.Sets/src/mage/cards/s/SkullProphet.java | 4 ++-- Mage.Sets/src/mage/cards/s/SoaringThoughtThief.java | 4 ++-- Mage.Sets/src/mage/cards/s/SphinxMindbreaker.java | 4 ++-- Mage.Sets/src/mage/cards/s/Splinterfright.java | 4 ++-- Mage.Sets/src/mage/cards/s/StitchersSupplier.java | 4 ++-- Mage.Sets/src/mage/cards/s/SuddenReclamation.java | 4 ++-- Mage.Sets/src/mage/cards/s/SultaiSkullkeeper.java | 4 ++-- Mage.Sets/src/mage/cards/s/SweetOblivion.java | 4 ++-- Mage.Sets/src/mage/cards/s/SyrKonradTheGrim.java | 4 ++-- Mage.Sets/src/mage/cards/t/TasigurTheGoldenFang.java | 4 ++-- Mage.Sets/src/mage/cards/t/TayamLuminousEnigma.java | 4 ++-- Mage.Sets/src/mage/cards/t/ThassasDevourer.java | 4 ++-- .../src/mage/cards/t/TheBindingOfTheTitans.java | 4 ++-- .../src/mage/cards/t/TheMendingOfDominaria.java | 4 ++-- Mage.Sets/src/mage/cards/t/ThievesGuildEnforcer.java | 4 ++-- Mage.Sets/src/mage/cards/t/TolarianSerpent.java | 4 ++-- Mage.Sets/src/mage/cards/t/ToweringWaveMystic.java | 4 ++-- Mage.Sets/src/mage/cards/t/TymaretCallsTheDead.java | 4 ++-- Mage.Sets/src/mage/cards/v/VantressGargoyle.java | 4 ++-- Mage.Sets/src/mage/cards/v/VenomousHierophant.java | 4 ++-- Mage.Sets/src/mage/cards/v/VesselOfParamnesia.java | 4 ++-- Mage.Sets/src/mage/cards/v/ViciousRumors.java | 4 ++-- Mage.Sets/src/mage/cards/w/WailingGhoul.java | 4 ++-- Mage.Sets/src/mage/cards/w/WandOfVertebrae.java | 4 ++-- Mage.Sets/src/mage/cards/w/Whetstone.java | 4 ++-- Mage.Sets/src/mage/cards/w/WindgraceAcolyte.java | 4 ++-- Mage.Sets/src/mage/cards/w/WindsOfRebuke.java | 4 ++-- Mage.Sets/src/mage/cards/w/WorldShaper.java | 4 ++-- ...ibraryToGraveyardCost.java => MillCardsCost.java} | 12 ++++++------ ...lerEffect.java => MillCardsControllerEffect.java} | 10 +++++----- ...yerEffect.java => MillCardsEachPlayerEffect.java} | 12 ++++++------ ...eTargetEffect.java => MillCardsTargetEffect.java} | 12 ++++++------ .../command/emblems/JaceTelepathUnboundEmblem.java | 4 ++-- .../mage/game/command/planes/LetheLakePlane.java | 4 ++-- 109 files changed, 237 insertions(+), 237 deletions(-) rename Mage/src/main/java/mage/abilities/costs/common/{PutTopCardOfYourLibraryToGraveyardCost.java => MillCardsCost.java} (79%) rename Mage/src/main/java/mage/abilities/effects/common/{PutTopCardOfLibraryIntoGraveControllerEffect.java => MillCardsControllerEffect.java} (69%) rename Mage/src/main/java/mage/abilities/effects/common/{PutTopCardOfLibraryIntoGraveEachPlayerEffect.java => MillCardsEachPlayerEffect.java} (85%) rename Mage/src/main/java/mage/abilities/effects/common/{PutTopCardOfLibraryIntoGraveTargetEffect.java => MillCardsTargetEffect.java} (74%) diff --git a/Mage.Sets/src/mage/cards/a/AltarOfTheBrood.java b/Mage.Sets/src/mage/cards/a/AltarOfTheBrood.java index 55810ac8b1..aa9d7d7732 100644 --- a/Mage.Sets/src/mage/cards/a/AltarOfTheBrood.java +++ b/Mage.Sets/src/mage/cards/a/AltarOfTheBrood.java @@ -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) { diff --git a/Mage.Sets/src/mage/cards/a/ArmoredSkaab.java b/Mage.Sets/src/mage/cards/a/ArmoredSkaab.java index b136d3817f..d69aad32ef 100644 --- a/Mage.Sets/src/mage/cards/a/ArmoredSkaab.java +++ b/Mage.Sets/src/mage/cards/a/ArmoredSkaab.java @@ -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) { diff --git a/Mage.Sets/src/mage/cards/a/AshiokSculptorOfFears.java b/Mage.Sets/src/mage/cards/a/AshiokSculptorOfFears.java index 997450c91b..ec9e24c8fd 100644 --- a/Mage.Sets/src/mage/cards/a/AshiokSculptorOfFears.java +++ b/Mage.Sets/src/mage/cards/a/AshiokSculptorOfFears.java @@ -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. diff --git a/Mage.Sets/src/mage/cards/a/AutumnalGloom.java b/Mage.Sets/src/mage/cards/a/AutumnalGloom.java index f9cbe9fe74..490b3e665f 100644 --- a/Mage.Sets/src/mage/cards/a/AutumnalGloom.java +++ b/Mage.Sets/src/mage/cards/a/AutumnalGloom.java @@ -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}"))); // Delirium — 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()); diff --git a/Mage.Sets/src/mage/cards/b/Bloodcurdler.java b/Mage.Sets/src/mage/cards/b/Bloodcurdler.java index d07c45ed7a..afdee80355 100644 --- a/Mage.Sets/src/mage/cards/b/Bloodcurdler.java +++ b/Mage.Sets/src/mage/cards/b/Bloodcurdler.java @@ -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." diff --git a/Mage.Sets/src/mage/cards/b/BreakingEntering.java b/Mage.Sets/src/mage/cards/b/BreakingEntering.java index 4c96f12ae4..dfdae84088 100644 --- a/Mage.Sets/src/mage/cards/b/BreakingEntering.java +++ b/Mage.Sets/src/mage/cards/b/BreakingEntering.java @@ -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 diff --git a/Mage.Sets/src/mage/cards/c/CarrionGrub.java b/Mage.Sets/src/mage/cards/c/CarrionGrub.java index b0f52fc791..448a8aecda 100644 --- a/Mage.Sets/src/mage/cards/c/CarrionGrub.java +++ b/Mage.Sets/src/mage/cards/c/CarrionGrub.java @@ -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) { diff --git a/Mage.Sets/src/mage/cards/c/CephalidAristocrat.java b/Mage.Sets/src/mage/cards/c/CephalidAristocrat.java index 18f3ea581e..780028b8d7 100644 --- a/Mage.Sets/src/mage/cards/c/CephalidAristocrat.java +++ b/Mage.Sets/src/mage/cards/c/CephalidAristocrat.java @@ -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) { diff --git a/Mage.Sets/src/mage/cards/c/CephalidIllusionist.java b/Mage.Sets/src/mage/cards/c/CephalidIllusionist.java index 30d2cad441..4a14660e84 100644 --- a/Mage.Sets/src/mage/cards/c/CephalidIllusionist.java +++ b/Mage.Sets/src/mage/cards/c/CephalidIllusionist.java @@ -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); diff --git a/Mage.Sets/src/mage/cards/c/ChainsOfMephistopheles.java b/Mage.Sets/src/mage/cards/c/ChainsOfMephistopheles.java index d1e26d7750..cf972c5e77 100644 --- a/Mage.Sets/src/mage/cards/c/ChainsOfMephistopheles.java +++ b/Mage.Sets/src/mage/cards/c/ChainsOfMephistopheles.java @@ -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; diff --git a/Mage.Sets/src/mage/cards/c/ChancellorOfTheSpires.java b/Mage.Sets/src/mage/cards/c/ChancellorOfTheSpires.java index d575eb23c7..8d85f07d28 100644 --- a/Mage.Sets/src/mage/cards/c/ChancellorOfTheSpires.java +++ b/Mage.Sets/src/mage/cards/c/ChancellorOfTheSpires.java @@ -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) { diff --git a/Mage.Sets/src/mage/cards/c/CharmedPendant.java b/Mage.Sets/src/mage/cards/c/CharmedPendant.java index fb3f612396..e01da8d2de 100644 --- a/Mage.Sets/src/mage/cards/c/CharmedPendant.java +++ b/Mage.Sets/src/mage/cards/c/CharmedPendant.java @@ -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 cards = ((PutTopCardOfYourLibraryToGraveyardCost) cost).getCardsMovedToGraveyard(); + if (cost instanceof MillCardsCost) { + Set cards = ((MillCardsCost) cost).getCardsMovedToGraveyard(); if (!cards.isEmpty()) { Card card = cards.iterator().next(); if (card != null && card.getManaCost() != null) { diff --git a/Mage.Sets/src/mage/cards/c/ChillOfForeboding.java b/Mage.Sets/src/mage/cards/c/ChillOfForeboding.java index 98f9bbc67d..aa52573d3a 100644 --- a/Mage.Sets/src/mage/cards/c/ChillOfForeboding.java +++ b/Mage.Sets/src/mage/cards/c/ChillOfForeboding.java @@ -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)); diff --git a/Mage.Sets/src/mage/cards/c/CorpseChurn.java b/Mage.Sets/src/mage/cards/c/CorpseChurn.java index 855d692d09..037114c27a 100644 --- a/Mage.Sets/src/mage/cards/c/CorpseChurn.java +++ b/Mage.Sets/src/mage/cards/c/CorpseChurn.java @@ -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()); } diff --git a/Mage.Sets/src/mage/cards/c/CrawlingSensation.java b/Mage.Sets/src/mage/cards/c/CrawlingSensation.java index 83f3cd4b74..33405ece01 100644 --- a/Mage.Sets/src/mage/cards/c/CrawlingSensation.java +++ b/Mage.Sets/src/mage/cards/c/CrawlingSensation.java @@ -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()); diff --git a/Mage.Sets/src/mage/cards/c/CropSigil.java b/Mage.Sets/src/mage/cards/c/CropSigil.java index ecaf670d5e..fa382157b7 100644 --- a/Mage.Sets/src/mage/cards/c/CropSigil.java +++ b/Mage.Sets/src/mage/cards/c/CropSigil.java @@ -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)); // Delirium — {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. diff --git a/Mage.Sets/src/mage/cards/c/CrowOfDarkTidings.java b/Mage.Sets/src/mage/cards/c/CrowOfDarkTidings.java index 9fd9e1d98d..8513f083ef 100644 --- a/Mage.Sets/src/mage/cards/c/CrowOfDarkTidings.java +++ b/Mage.Sets/src/mage/cards/c/CrowOfDarkTidings.java @@ -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) { diff --git a/Mage.Sets/src/mage/cards/d/DeadbridgeChant.java b/Mage.Sets/src/mage/cards/d/DeadbridgeChant.java index a7624a76ce..73c90d6f7e 100644 --- a/Mage.Sets/src/mage/cards/d/DeadbridgeChant.java +++ b/Mage.Sets/src/mage/cards/d/DeadbridgeChant.java @@ -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)); diff --git a/Mage.Sets/src/mage/cards/d/DeathsOasis.java b/Mage.Sets/src/mage/cards/d/DeathsOasis.java index 216ce01ade..2748394fea 100644 --- a/Mage.Sets/src/mage/cards/d/DeathsOasis.java +++ b/Mage.Sets/src/mage/cards/d/DeathsOasis.java @@ -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; } diff --git a/Mage.Sets/src/mage/cards/d/DeepSpawn.java b/Mage.Sets/src/mage/cards/d/DeepSpawn.java index 3a78baa9fb..65146e9723 100644 --- a/Mage.Sets/src/mage/cards/d/DeepSpawn.java +++ b/Mage.Sets/src/mage/cards/d/DeepSpawn.java @@ -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. diff --git a/Mage.Sets/src/mage/cards/d/DerangedAssistant.java b/Mage.Sets/src/mage/cards/d/DerangedAssistant.java index 1b4b3d76b0..4c2c54884f 100644 --- a/Mage.Sets/src/mage/cards/d/DerangedAssistant.java +++ b/Mage.Sets/src/mage/cards/d/DerangedAssistant.java @@ -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); } diff --git a/Mage.Sets/src/mage/cards/d/DevourerOfMemory.java b/Mage.Sets/src/mage/cards/d/DevourerOfMemory.java index 1525aa66da..b5ef315d69 100644 --- a/Mage.Sets/src/mage/cards/d/DevourerOfMemory.java +++ b/Mage.Sets/src/mage/cards/d/DevourerOfMemory.java @@ -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}") )); } diff --git a/Mage.Sets/src/mage/cards/d/DrownInFilth.java b/Mage.Sets/src/mage/cards/d/DrownInFilth.java index 5513828419..54f60f0027 100644 --- a/Mage.Sets/src/mage/cards/d/DrownInFilth.java +++ b/Mage.Sets/src/mage/cards/d/DrownInFilth.java @@ -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())); diff --git a/Mage.Sets/src/mage/cards/e/EmryLurkerOfTheLoch.java b/Mage.Sets/src/mage/cards/e/EmryLurkerOfTheLoch.java index bebd901a61..ddcc29da1f 100644 --- a/Mage.Sets/src/mage/cards/e/EmryLurkerOfTheLoch.java +++ b/Mage.Sets/src/mage/cards/e/EmryLurkerOfTheLoch.java @@ -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. diff --git a/Mage.Sets/src/mage/cards/e/EstridTheMasked.java b/Mage.Sets/src/mage/cards/e/EstridTheMasked.java index 6bde7c3faf..3d71d9c6a9 100644 --- a/Mage.Sets/src/mage/cards/e/EstridTheMasked.java +++ b/Mage.Sets/src/mage/cards/e/EstridTheMasked.java @@ -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; diff --git a/Mage.Sets/src/mage/cards/e/EvanescentIntellect.java b/Mage.Sets/src/mage/cards/e/EvanescentIntellect.java index fffc68bc9c..a781f13d01 100644 --- a/Mage.Sets/src/mage/cards/e/EvanescentIntellect.java +++ b/Mage.Sets/src/mage/cards/e/EvanescentIntellect.java @@ -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))); diff --git a/Mage.Sets/src/mage/cards/e/ExcavationMole.java b/Mage.Sets/src/mage/cards/e/ExcavationMole.java index 05e75b59db..dc4b4518f7 100644 --- a/Mage.Sets/src/mage/cards/e/ExcavationMole.java +++ b/Mage.Sets/src/mage/cards/e/ExcavationMole.java @@ -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) )); } diff --git a/Mage.Sets/src/mage/cards/e/ExtractFromDarkness.java b/Mage.Sets/src/mage/cards/e/ExtractFromDarkness.java index 92e77183b5..167924e6f4 100644 --- a/Mage.Sets/src/mage/cards/e/ExtractFromDarkness.java +++ b/Mage.Sets/src/mage/cards/e/ExtractFromDarkness.java @@ -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()); diff --git a/Mage.Sets/src/mage/cards/e/EyeCollector.java b/Mage.Sets/src/mage/cards/e/EyeCollector.java index 757aa98757..f4bea0560c 100644 --- a/Mage.Sets/src/mage/cards/e/EyeCollector.java +++ b/Mage.Sets/src/mage/cards/e/EyeCollector.java @@ -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) { diff --git a/Mage.Sets/src/mage/cards/f/FalseMemories.java b/Mage.Sets/src/mage/cards/f/FalseMemories.java index 1f588b02ce..b8d564b3f6 100644 --- a/Mage.Sets/src/mage/cards/f/FalseMemories.java +++ b/Mage.Sets/src/mage/cards/f/FalseMemories.java @@ -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)))); } diff --git a/Mage.Sets/src/mage/cards/f/Fascination.java b/Mage.Sets/src/mage/cards/f/Fascination.java index e3aa3f389d..ef68eb0f9e 100644 --- a/Mage.Sets/src/mage/cards/f/Fascination.java +++ b/Mage.Sets/src/mage/cards/f/Fascination.java @@ -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); } diff --git a/Mage.Sets/src/mage/cards/f/FleetingMemories.java b/Mage.Sets/src/mage/cards/f/FleetingMemories.java index b74845671f..ca59ae051c 100644 --- a/Mage.Sets/src/mage/cards/f/FleetingMemories.java +++ b/Mage.Sets/src/mage/cards/f/FleetingMemories.java @@ -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); } diff --git a/Mage.Sets/src/mage/cards/f/ForsakenDrifters.java b/Mage.Sets/src/mage/cards/f/ForsakenDrifters.java index 822954776d..67543f0029 100644 --- a/Mage.Sets/src/mage/cards/f/ForsakenDrifters.java +++ b/Mage.Sets/src/mage/cards/f/ForsakenDrifters.java @@ -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) { diff --git a/Mage.Sets/src/mage/cards/f/FuneralRites.java b/Mage.Sets/src/mage/cards/f/FuneralRites.java index 54bd67e94e..133370fa9b 100644 --- a/Mage.Sets/src/mage/cards/f/FuneralRites.java +++ b/Mage.Sets/src/mage/cards/f/FuneralRites.java @@ -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")); } diff --git a/Mage.Sets/src/mage/cards/g/GhoulcallersBell.java b/Mage.Sets/src/mage/cards/g/GhoulcallersBell.java index e7638cd5de..b9051eec13 100644 --- a/Mage.Sets/src/mage/cards/g/GhoulcallersBell.java +++ b/Mage.Sets/src/mage/cards/g/GhoulcallersBell.java @@ -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) { diff --git a/Mage.Sets/src/mage/cards/g/GisaAndGeralf.java b/Mage.Sets/src/mage/cards/g/GisaAndGeralf.java index ba9f3e14d4..68f09d29d3 100644 --- a/Mage.Sets/src/mage/cards/g/GisaAndGeralf.java +++ b/Mage.Sets/src/mage/cards/g/GisaAndGeralf.java @@ -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()) diff --git a/Mage.Sets/src/mage/cards/g/GlowsporeShaman.java b/Mage.Sets/src/mage/cards/g/GlowsporeShaman.java index c069371c39..ced96a76ec 100644 --- a/Mage.Sets/src/mage/cards/g/GlowsporeShaman.java +++ b/Mage.Sets/src/mage/cards/g/GlowsporeShaman.java @@ -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); diff --git a/Mage.Sets/src/mage/cards/g/GrappleWithThePast.java b/Mage.Sets/src/mage/cards/g/GrappleWithThePast.java index aca9ed8af6..98fe9ab7f9 100644 --- a/Mage.Sets/src/mage/cards/g/GrappleWithThePast.java +++ b/Mage.Sets/src/mage/cards/g/GrappleWithThePast.java @@ -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()); } diff --git a/Mage.Sets/src/mage/cards/g/GraveStrength.java b/Mage.Sets/src/mage/cards/g/GraveStrength.java index 84bdb9d410..87c867d695 100644 --- a/Mage.Sets/src/mage/cards/g/GraveStrength.java +++ b/Mage.Sets/src/mage/cards/g/GraveStrength.java @@ -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)); diff --git a/Mage.Sets/src/mage/cards/g/GrindingStation.java b/Mage.Sets/src/mage/cards/g/GrindingStation.java index 7cb6588d18..a8d6b057a6 100644 --- a/Mage.Sets/src/mage/cards/g/GrindingStation.java +++ b/Mage.Sets/src/mage/cards/g/GrindingStation.java @@ -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); diff --git a/Mage.Sets/src/mage/cards/i/InkDissolver.java b/Mage.Sets/src/mage/cards/i/InkDissolver.java index ef4a8c0187..5994caf732 100644 --- a/Mage.Sets/src/mage/cards/i/InkDissolver.java +++ b/Mage.Sets/src/mage/cards/i/InkDissolver.java @@ -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) { diff --git a/Mage.Sets/src/mage/cards/l/LaboratoryBrute.java b/Mage.Sets/src/mage/cards/l/LaboratoryBrute.java index 6214ba6917..c60db576a2 100644 --- a/Mage.Sets/src/mage/cards/l/LaboratoryBrute.java +++ b/Mage.Sets/src/mage/cards/l/LaboratoryBrute.java @@ -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) { diff --git a/Mage.Sets/src/mage/cards/l/LilianaDeathsMajesty.java b/Mage.Sets/src/mage/cards/l/LilianaDeathsMajesty.java index 7ec38c09ca..b79d4a06a4 100644 --- a/Mage.Sets/src/mage/cards/l/LilianaDeathsMajesty.java +++ b/Mage.Sets/src/mage/cards/l/LilianaDeathsMajesty.java @@ -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. diff --git a/Mage.Sets/src/mage/cards/l/LilianaTheLastHope.java b/Mage.Sets/src/mage/cards/l/LilianaTheLastHope.java index 91fc2bcefc..5e32fdf19a 100644 --- a/Mage.Sets/src/mage/cards/l/LilianaTheLastHope.java +++ b/Mage.Sets/src/mage/cards/l/LilianaTheLastHope.java @@ -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); diff --git a/Mage.Sets/src/mage/cards/m/ManicScribe.java b/Mage.Sets/src/mage/cards/m/ManicScribe.java index 775f264a51..4cc6bac939 100644 --- a/Mage.Sets/src/mage/cards/m/ManicScribe.java +++ b/Mage.Sets/src/mage/cards/m/ManicScribe.java @@ -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 )); // Delirium — 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, "Delirium — 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." diff --git a/Mage.Sets/src/mage/cards/m/MentalNote.java b/Mage.Sets/src/mage/cards/m/MentalNote.java index 6c4d27a080..bd35750ecf 100644 --- a/Mage.Sets/src/mage/cards/m/MentalNote.java +++ b/Mage.Sets/src/mage/cards/m/MentalNote.java @@ -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)); } diff --git a/Mage.Sets/src/mage/cards/m/MesmericOrb.java b/Mage.Sets/src/mage/cards/m/MesmericOrb.java index 9dae5bf385..b9389614cf 100644 --- a/Mage.Sets/src/mage/cards/m/MesmericOrb.java +++ b/Mage.Sets/src/mage/cards/m/MesmericOrb.java @@ -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) { diff --git a/Mage.Sets/src/mage/cards/m/Millikin.java b/Mage.Sets/src/mage/cards/m/Millikin.java index 1ffdc9cc56..4042bbc706 100644 --- a/Mage.Sets/src/mage/cards/m/Millikin.java +++ b/Mage.Sets/src/mage/cards/m/Millikin.java @@ -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); } diff --git a/Mage.Sets/src/mage/cards/m/MindDrain.java b/Mage.Sets/src/mage/cards/m/MindDrain.java index 2f2eb1f0ad..b6f12e56c6 100644 --- a/Mage.Sets/src/mage/cards/m/MindDrain.java +++ b/Mage.Sets/src/mage/cards/m/MindDrain.java @@ -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()); diff --git a/Mage.Sets/src/mage/cards/m/MindwrackDemon.java b/Mage.Sets/src/mage/cards/m/MindwrackDemon.java index 1eb9c35992..09f97692b8 100644 --- a/Mage.Sets/src/mage/cards/m/MindwrackDemon.java +++ b/Mage.Sets/src/mage/cards/m/MindwrackDemon.java @@ -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( diff --git a/Mage.Sets/src/mage/cards/m/MindwrackHarpy.java b/Mage.Sets/src/mage/cards/m/MindwrackHarpy.java index c4f7ac1434..ab42ba88b4 100644 --- a/Mage.Sets/src/mage/cards/m/MindwrackHarpy.java +++ b/Mage.Sets/src/mage/cards/m/MindwrackHarpy.java @@ -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 )); } diff --git a/Mage.Sets/src/mage/cards/m/MireTriton.java b/Mage.Sets/src/mage/cards/m/MireTriton.java index 746a3fd2d9..733f1a3e3b 100644 --- a/Mage.Sets/src/mage/cards/m/MireTriton.java +++ b/Mage.Sets/src/mage/cards/m/MireTriton.java @@ -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); diff --git a/Mage.Sets/src/mage/cards/m/MorgueThrull.java b/Mage.Sets/src/mage/cards/m/MorgueThrull.java index 3ec30cdbb2..880162c864 100644 --- a/Mage.Sets/src/mage/cards/m/MorgueThrull.java +++ b/Mage.Sets/src/mage/cards/m/MorgueThrull.java @@ -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) { diff --git a/Mage.Sets/src/mage/cards/n/NecromancersAssistant.java b/Mage.Sets/src/mage/cards/n/NecromancersAssistant.java index 75ca4c5c8e..eac137147c 100644 --- a/Mage.Sets/src/mage/cards/n/NecromancersAssistant.java +++ b/Mage.Sets/src/mage/cards/n/NecromancersAssistant.java @@ -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) { diff --git a/Mage.Sets/src/mage/cards/n/NecromasterDragon.java b/Mage.Sets/src/mage/cards/n/NecromasterDragon.java index 712ceb6a3f..2996042ce5 100644 --- a/Mage.Sets/src/mage/cards/n/NecromasterDragon.java +++ b/Mage.Sets/src/mage/cards/n/NecromasterDragon.java @@ -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); } diff --git a/Mage.Sets/src/mage/cards/n/NyxWeaver.java b/Mage.Sets/src/mage/cards/n/NyxWeaver.java index 063b6180db..833f76f234 100644 --- a/Mage.Sets/src/mage/cards/n/NyxWeaver.java +++ b/Mage.Sets/src/mage/cards/n/NyxWeaver.java @@ -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()); diff --git a/Mage.Sets/src/mage/cards/o/OverwhelmedApprentice.java b/Mage.Sets/src/mage/cards/o/OverwhelmedApprentice.java index 32f9fe239f..057d690d19 100644 --- a/Mage.Sets/src/mage/cards/o/OverwhelmedApprentice.java +++ b/Mage.Sets/src/mage/cards/o/OverwhelmedApprentice.java @@ -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); diff --git a/Mage.Sets/src/mage/cards/p/PerpetualTimepiece.java b/Mage.Sets/src/mage/cards/p/PerpetualTimepiece.java index 7c0b4c33f5..9d1c089419 100644 --- a/Mage.Sets/src/mage/cards/p/PerpetualTimepiece.java +++ b/Mage.Sets/src/mage/cards/p/PerpetualTimepiece.java @@ -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)); diff --git a/Mage.Sets/src/mage/cards/p/PhenaxGodOfDeception.java b/Mage.Sets/src/mage/cards/p/PhenaxGodOfDeception.java index decaf844f2..512fe5715a 100644 --- a/Mage.Sets/src/mage/cards/p/PhenaxGodOfDeception.java +++ b/Mage.Sets/src/mage/cards/p/PhenaxGodOfDeception.java @@ -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( diff --git a/Mage.Sets/src/mage/cards/p/PsychicCorrosion.java b/Mage.Sets/src/mage/cards/p/PsychicCorrosion.java index 50e5f46cf3..42a9ee294d 100644 --- a/Mage.Sets/src/mage/cards/p/PsychicCorrosion.java +++ b/Mage.Sets/src/mage/cards/p/PsychicCorrosion.java @@ -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 )); diff --git a/Mage.Sets/src/mage/cards/r/RakshasasSecret.java b/Mage.Sets/src/mage/cards/r/RakshasasSecret.java index 2f2ea93bda..e3af264e1f 100644 --- a/Mage.Sets/src/mage/cards/r/RakshasasSecret.java +++ b/Mage.Sets/src/mage/cards/r/RakshasasSecret.java @@ -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) { diff --git a/Mage.Sets/src/mage/cards/r/ReturnedReveler.java b/Mage.Sets/src/mage/cards/r/ReturnedReveler.java index 34a34083ae..2ea764bba0 100644 --- a/Mage.Sets/src/mage/cards/r/ReturnedReveler.java +++ b/Mage.Sets/src/mage/cards/r/ReturnedReveler.java @@ -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) { diff --git a/Mage.Sets/src/mage/cards/r/Riddlekeeper.java b/Mage.Sets/src/mage/cards/r/Riddlekeeper.java index d6d08f9799..8ec9a898c1 100644 --- a/Mage.Sets/src/mage/cards/r/Riddlekeeper.java +++ b/Mage.Sets/src/mage/cards/r/Riddlekeeper.java @@ -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)); } diff --git a/Mage.Sets/src/mage/cards/r/RotFarmSkeleton.java b/Mage.Sets/src/mage/cards/r/RotFarmSkeleton.java index 3d58603291..031ffa3cb8 100644 --- a/Mage.Sets/src/mage/cards/r/RotFarmSkeleton.java +++ b/Mage.Sets/src/mage/cards/r/RotFarmSkeleton.java @@ -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); } diff --git a/Mage.Sets/src/mage/cards/r/RuinCrab.java b/Mage.Sets/src/mage/cards/r/RuinCrab.java index d3f99572ef..e3ea22eec1 100644 --- a/Mage.Sets/src/mage/cards/r/RuinCrab.java +++ b/Mage.Sets/src/mage/cards/r/RuinCrab.java @@ -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) { diff --git a/Mage.Sets/src/mage/cards/s/ScreechingSkaab.java b/Mage.Sets/src/mage/cards/s/ScreechingSkaab.java index f54a4a6ca9..038fa74331 100644 --- a/Mage.Sets/src/mage/cards/s/ScreechingSkaab.java +++ b/Mage.Sets/src/mage/cards/s/ScreechingSkaab.java @@ -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) { diff --git a/Mage.Sets/src/mage/cards/s/SequesteredStash.java b/Mage.Sets/src/mage/cards/s/SequesteredStash.java index b5a146a3af..506971a961 100644 --- a/Mage.Sets/src/mage/cards/s/SequesteredStash.java +++ b/Mage.Sets/src/mage/cards/s/SequesteredStash.java @@ -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()); diff --git a/Mage.Sets/src/mage/cards/s/SewerNemesis.java b/Mage.Sets/src/mage/cards/s/SewerNemesis.java index 612a44b550..74c069c7a8 100644 --- a/Mage.Sets/src/mage/cards/s/SewerNemesis.java +++ b/Mage.Sets/src/mage/cards/s/SewerNemesis.java @@ -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) { diff --git a/Mage.Sets/src/mage/cards/s/ShardOfBrokenGlass.java b/Mage.Sets/src/mage/cards/s/ShardOfBrokenGlass.java index 6b76ac7f24..2454451344 100644 --- a/Mage.Sets/src/mage/cards/s/ShardOfBrokenGlass.java +++ b/Mage.Sets/src/mage/cards/s/ShardOfBrokenGlass.java @@ -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))); diff --git a/Mage.Sets/src/mage/cards/s/SharedTrauma.java b/Mage.Sets/src/mage/cards/s/SharedTrauma.java index 2f82c35a9b..f001c0b9c3 100644 --- a/Mage.Sets/src/mage/cards/s/SharedTrauma.java +++ b/Mage.Sets/src/mage/cards/s/SharedTrauma.java @@ -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); } diff --git a/Mage.Sets/src/mage/cards/s/SibsigHost.java b/Mage.Sets/src/mage/cards/s/SibsigHost.java index 2e34b84bf5..b854d5aecb 100644 --- a/Mage.Sets/src/mage/cards/s/SibsigHost.java +++ b/Mage.Sets/src/mage/cards/s/SibsigHost.java @@ -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) { diff --git a/Mage.Sets/src/mage/cards/s/SidisiBroodTyrant.java b/Mage.Sets/src/mage/cards/s/SidisiBroodTyrant.java index b4bca16a13..dcf87eb9c5 100644 --- a/Mage.Sets/src/mage/cards/s/SidisiBroodTyrant.java +++ b/Mage.Sets/src/mage/cards/s/SidisiBroodTyrant.java @@ -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()); diff --git a/Mage.Sets/src/mage/cards/s/SinisterConcoction.java b/Mage.Sets/src/mage/cards/s/SinisterConcoction.java index 9607af829a..9851dd3d22 100644 --- a/Mage.Sets/src/mage/cards/s/SinisterConcoction.java +++ b/Mage.Sets/src/mage/cards/s/SinisterConcoction.java @@ -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()); diff --git a/Mage.Sets/src/mage/cards/s/SirenOfTheSilentSong.java b/Mage.Sets/src/mage/cards/s/SirenOfTheSilentSong.java index 9bde3310b1..319fe439c6 100644 --- a/Mage.Sets/src/mage/cards/s/SirenOfTheSilentSong.java +++ b/Mage.Sets/src/mage/cards/s/SirenOfTheSilentSong.java @@ -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()); // Inspired — 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); diff --git a/Mage.Sets/src/mage/cards/s/SkolaGrovedancer.java b/Mage.Sets/src/mage/cards/s/SkolaGrovedancer.java index 3677c1c02f..7e8b751c21 100644 --- a/Mage.Sets/src/mage/cards/s/SkolaGrovedancer.java +++ b/Mage.Sets/src/mage/cards/s/SkolaGrovedancer.java @@ -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}") )); } diff --git a/Mage.Sets/src/mage/cards/s/SkullProphet.java b/Mage.Sets/src/mage/cards/s/SkullProphet.java index 18b96cce47..c77c0242bb 100644 --- a/Mage.Sets/src/mage/cards/s/SkullProphet.java +++ b/Mage.Sets/src/mage/cards/s/SkullProphet.java @@ -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() )); } diff --git a/Mage.Sets/src/mage/cards/s/SoaringThoughtThief.java b/Mage.Sets/src/mage/cards/s/SoaringThoughtThief.java index 7dfeab8e0d..deae92bc1f 100644 --- a/Mage.Sets/src/mage/cards/s/SoaringThoughtThief.java +++ b/Mage.Sets/src/mage/cards/s/SoaringThoughtThief.java @@ -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 )); } diff --git a/Mage.Sets/src/mage/cards/s/SphinxMindbreaker.java b/Mage.Sets/src/mage/cards/s/SphinxMindbreaker.java index 9fe7e71f52..09661a9b9e 100644 --- a/Mage.Sets/src/mage/cards/s/SphinxMindbreaker.java +++ b/Mage.Sets/src/mage/cards/s/SphinxMindbreaker.java @@ -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) )); } diff --git a/Mage.Sets/src/mage/cards/s/Splinterfright.java b/Mage.Sets/src/mage/cards/s/Splinterfright.java index 0d77a8d19b..e3b7312749 100644 --- a/Mage.Sets/src/mage/cards/s/Splinterfright.java +++ b/Mage.Sets/src/mage/cards/s/Splinterfright.java @@ -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) { diff --git a/Mage.Sets/src/mage/cards/s/StitchersSupplier.java b/Mage.Sets/src/mage/cards/s/StitchersSupplier.java index 4c91980fe6..e073667172 100644 --- a/Mage.Sets/src/mage/cards/s/StitchersSupplier.java +++ b/Mage.Sets/src/mage/cards/s/StitchersSupplier.java @@ -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) ); } diff --git a/Mage.Sets/src/mage/cards/s/SuddenReclamation.java b/Mage.Sets/src/mage/cards/s/SuddenReclamation.java index f9a2820e18..4d2da4b658 100644 --- a/Mage.Sets/src/mage/cards/s/SuddenReclamation.java +++ b/Mage.Sets/src/mage/cards/s/SuddenReclamation.java @@ -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()); } diff --git a/Mage.Sets/src/mage/cards/s/SultaiSkullkeeper.java b/Mage.Sets/src/mage/cards/s/SultaiSkullkeeper.java index f81ee58002..5f40b68038 100644 --- a/Mage.Sets/src/mage/cards/s/SultaiSkullkeeper.java +++ b/Mage.Sets/src/mage/cards/s/SultaiSkullkeeper.java @@ -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) { diff --git a/Mage.Sets/src/mage/cards/s/SweetOblivion.java b/Mage.Sets/src/mage/cards/s/SweetOblivion.java index e2b7f67cd6..41bf24817f 100644 --- a/Mage.Sets/src/mage/cards/s/SweetOblivion.java +++ b/Mage.Sets/src/mage/cards/s/SweetOblivion.java @@ -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. diff --git a/Mage.Sets/src/mage/cards/s/SyrKonradTheGrim.java b/Mage.Sets/src/mage/cards/s/SyrKonradTheGrim.java index 967fc74452..bcc151f780 100644 --- a/Mage.Sets/src/mage/cards/s/SyrKonradTheGrim.java +++ b/Mage.Sets/src/mage/cards/s/SyrKonradTheGrim.java @@ -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}"))); } diff --git a/Mage.Sets/src/mage/cards/t/TasigurTheGoldenFang.java b/Mage.Sets/src/mage/cards/t/TasigurTheGoldenFang.java index af9604a194..b0c56f90fc 100644 --- a/Mage.Sets/src/mage/cards/t/TasigurTheGoldenFang.java +++ b/Mage.Sets/src/mage/cards/t/TasigurTheGoldenFang.java @@ -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); } diff --git a/Mage.Sets/src/mage/cards/t/TayamLuminousEnigma.java b/Mage.Sets/src/mage/cards/t/TayamLuminousEnigma.java index e424e5b6f3..4b24926310 100644 --- a/Mage.Sets/src/mage/cards/t/TayamLuminousEnigma.java +++ b/Mage.Sets/src/mage/cards/t/TayamLuminousEnigma.java @@ -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()); diff --git a/Mage.Sets/src/mage/cards/t/ThassasDevourer.java b/Mage.Sets/src/mage/cards/t/ThassasDevourer.java index 25f18f957d..43a70779d2 100644 --- a/Mage.Sets/src/mage/cards/t/ThassasDevourer.java +++ b/Mage.Sets/src/mage/cards/t/ThassasDevourer.java @@ -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); } diff --git a/Mage.Sets/src/mage/cards/t/TheBindingOfTheTitans.java b/Mage.Sets/src/mage/cards/t/TheBindingOfTheTitans.java index 42031b42eb..0f60ac6920 100644 --- a/Mage.Sets/src/mage/cards/t/TheBindingOfTheTitans.java +++ b/Mage.Sets/src/mage/cards/t/TheBindingOfTheTitans.java @@ -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 ) ); diff --git a/Mage.Sets/src/mage/cards/t/TheMendingOfDominaria.java b/Mage.Sets/src/mage/cards/t/TheMendingOfDominaria.java index 3438e2374b..11c91d05e7 100644 --- a/Mage.Sets/src/mage/cards/t/TheMendingOfDominaria.java +++ b/Mage.Sets/src/mage/cards/t/TheMendingOfDominaria.java @@ -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) diff --git a/Mage.Sets/src/mage/cards/t/ThievesGuildEnforcer.java b/Mage.Sets/src/mage/cards/t/ThievesGuildEnforcer.java index e26881a680..d1f2608394 100644 --- a/Mage.Sets/src/mage/cards/t/ThievesGuildEnforcer.java +++ b/Mage.Sets/src/mage/cards/t/ThievesGuildEnforcer.java @@ -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 )); diff --git a/Mage.Sets/src/mage/cards/t/TolarianSerpent.java b/Mage.Sets/src/mage/cards/t/TolarianSerpent.java index 3a2068cb07..12d22c93d6 100644 --- a/Mage.Sets/src/mage/cards/t/TolarianSerpent.java +++ b/Mage.Sets/src/mage/cards/t/TolarianSerpent.java @@ -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) { diff --git a/Mage.Sets/src/mage/cards/t/ToweringWaveMystic.java b/Mage.Sets/src/mage/cards/t/ToweringWaveMystic.java index e6efedf261..0af73635a3 100644 --- a/Mage.Sets/src/mage/cards/t/ToweringWaveMystic.java +++ b/Mage.Sets/src/mage/cards/t/ToweringWaveMystic.java @@ -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; } diff --git a/Mage.Sets/src/mage/cards/t/TymaretCallsTheDead.java b/Mage.Sets/src/mage/cards/t/TymaretCallsTheDead.java index 9086b58083..42608f2556 100644 --- a/Mage.Sets/src/mage/cards/t/TymaretCallsTheDead.java +++ b/Mage.Sets/src/mage/cards/t/TymaretCallsTheDead.java @@ -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"); diff --git a/Mage.Sets/src/mage/cards/v/VantressGargoyle.java b/Mage.Sets/src/mage/cards/v/VantressGargoyle.java index 0639373464..1ed14cea39 100644 --- a/Mage.Sets/src/mage/cards/v/VantressGargoyle.java +++ b/Mage.Sets/src/mage/cards/v/VantressGargoyle.java @@ -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() )); } diff --git a/Mage.Sets/src/mage/cards/v/VenomousHierophant.java b/Mage.Sets/src/mage/cards/v/VenomousHierophant.java index af14ab47df..7eb6702e79 100644 --- a/Mage.Sets/src/mage/cards/v/VenomousHierophant.java +++ b/Mage.Sets/src/mage/cards/v/VenomousHierophant.java @@ -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) { diff --git a/Mage.Sets/src/mage/cards/v/VesselOfParamnesia.java b/Mage.Sets/src/mage/cards/v/VesselOfParamnesia.java index 320b5842d5..0509824340 100644 --- a/Mage.Sets/src/mage/cards/v/VesselOfParamnesia.java +++ b/Mage.Sets/src/mage/cards/v/VesselOfParamnesia.java @@ -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)); diff --git a/Mage.Sets/src/mage/cards/v/ViciousRumors.java b/Mage.Sets/src/mage/cards/v/ViciousRumors.java index 34e937b174..d693dee41a 100644 --- a/Mage.Sets/src/mage/cards/v/ViciousRumors.java +++ b/Mage.Sets/src/mage/cards/v/ViciousRumors.java @@ -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") ); diff --git a/Mage.Sets/src/mage/cards/w/WailingGhoul.java b/Mage.Sets/src/mage/cards/w/WailingGhoul.java index f694b43030..d49e63bb4d 100644 --- a/Mage.Sets/src/mage/cards/w/WailingGhoul.java +++ b/Mage.Sets/src/mage/cards/w/WailingGhoul.java @@ -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) { diff --git a/Mage.Sets/src/mage/cards/w/WandOfVertebrae.java b/Mage.Sets/src/mage/cards/w/WandOfVertebrae.java index 81915ca418..fc5442a9b4 100644 --- a/Mage.Sets/src/mage/cards/w/WandOfVertebrae.java +++ b/Mage.Sets/src/mage/cards/w/WandOfVertebrae.java @@ -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() )); diff --git a/Mage.Sets/src/mage/cards/w/Whetstone.java b/Mage.Sets/src/mage/cards/w/Whetstone.java index 84f564588e..36ca438f66 100644 --- a/Mage.Sets/src/mage/cards/w/Whetstone.java +++ b/Mage.Sets/src/mage/cards/w/Whetstone.java @@ -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))); } diff --git a/Mage.Sets/src/mage/cards/w/WindgraceAcolyte.java b/Mage.Sets/src/mage/cards/w/WindgraceAcolyte.java index ff0f5962d3..237ee339e6 100644 --- a/Mage.Sets/src/mage/cards/w/WindgraceAcolyte.java +++ b/Mage.Sets/src/mage/cards/w/WindgraceAcolyte.java @@ -6,7 +6,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.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; @@ -31,7 +31,7 @@ public final class WindgraceAcolyte extends CardImpl { this.addAbility(FlyingAbility.getInstance()); // When Windgrace Acolyte enters the battlefield, put the top three cards of your library into your graveyard and you gain 3 life. - Ability ability = new EntersBattlefieldTriggeredAbility(new PutTopCardOfLibraryIntoGraveControllerEffect(3), false); + Ability ability = new EntersBattlefieldTriggeredAbility(new MillCardsControllerEffect(3), false); ability.addEffect(new GainLifeEffect(3).setText("and you gain 3 life")); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/w/WindsOfRebuke.java b/Mage.Sets/src/mage/cards/w/WindsOfRebuke.java index 8c273d0911..ed400b9e85 100644 --- a/Mage.Sets/src/mage/cards/w/WindsOfRebuke.java +++ b/Mage.Sets/src/mage/cards/w/WindsOfRebuke.java @@ -2,7 +2,7 @@ package mage.cards.w; import java.util.UUID; -import mage.abilities.effects.common.PutTopCardOfLibraryIntoGraveEachPlayerEffect; +import mage.abilities.effects.common.MillCardsEachPlayerEffect; import mage.abilities.effects.common.ReturnToHandTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; @@ -22,7 +22,7 @@ public final class WindsOfRebuke extends CardImpl { // Return target nonland permanent to its owner's hand. Each player puts the top two cards of their library into their graveyard. getSpellAbility().addTarget(new TargetNonlandPermanent()); getSpellAbility().addEffect(new ReturnToHandTargetEffect()); - getSpellAbility().addEffect(new PutTopCardOfLibraryIntoGraveEachPlayerEffect(2, TargetController.ANY)); + getSpellAbility().addEffect(new MillCardsEachPlayerEffect(2, TargetController.ANY)); } public WindsOfRebuke(final WindsOfRebuke card) { diff --git a/Mage.Sets/src/mage/cards/w/WorldShaper.java b/Mage.Sets/src/mage/cards/w/WorldShaper.java index ce75ae985e..d635128e58 100644 --- a/Mage.Sets/src/mage/cards/w/WorldShaper.java +++ b/Mage.Sets/src/mage/cards/w/WorldShaper.java @@ -7,7 +7,7 @@ import mage.abilities.Ability; import mage.abilities.common.AttacksTriggeredAbility; import mage.abilities.common.DiesSourceTriggeredAbility; 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.constants.CardType; @@ -33,7 +33,7 @@ public final class WorldShaper extends CardImpl { this.toughness = new MageInt(3); // Whenever World Shaper attacks, you may put the top three cards of your library into your graveyard. - this.addAbility(new AttacksTriggeredAbility(new PutTopCardOfLibraryIntoGraveControllerEffect(3), true)); + this.addAbility(new AttacksTriggeredAbility(new MillCardsControllerEffect(3), true)); // When World Shaper dies, put all land cards from your graveyard onto the battlefield tapped. this.addAbility(new DiesSourceTriggeredAbility(new WorldShaperEffect(), false)); diff --git a/Mage/src/main/java/mage/abilities/costs/common/PutTopCardOfYourLibraryToGraveyardCost.java b/Mage/src/main/java/mage/abilities/costs/common/MillCardsCost.java similarity index 79% rename from Mage/src/main/java/mage/abilities/costs/common/PutTopCardOfYourLibraryToGraveyardCost.java rename to Mage/src/main/java/mage/abilities/costs/common/MillCardsCost.java index 821e46283f..3445b34513 100644 --- a/Mage/src/main/java/mage/abilities/costs/common/PutTopCardOfYourLibraryToGraveyardCost.java +++ b/Mage/src/main/java/mage/abilities/costs/common/MillCardsCost.java @@ -12,21 +12,21 @@ import java.util.LinkedHashSet; import java.util.Set; import java.util.UUID; -public class PutTopCardOfYourLibraryToGraveyardCost extends CostImpl { +public class MillCardsCost extends CostImpl { private final int numberOfCards; private final Set cardsMovedToGraveyard = new LinkedHashSet<>(); - public PutTopCardOfYourLibraryToGraveyardCost() { + public MillCardsCost() { this(1); } - public PutTopCardOfYourLibraryToGraveyardCost(int numberOfCards) { + public MillCardsCost(int numberOfCards) { this.numberOfCards = numberOfCards; this.text = setText(); } - private PutTopCardOfYourLibraryToGraveyardCost(final PutTopCardOfYourLibraryToGraveyardCost cost) { + private MillCardsCost(final MillCardsCost cost) { super(cost); this.numberOfCards = cost.numberOfCards; this.cardsMovedToGraveyard.addAll(cost.getCardsMovedToGraveyard()); @@ -49,8 +49,8 @@ public class PutTopCardOfYourLibraryToGraveyardCost extends CostImpl { } @Override - public PutTopCardOfYourLibraryToGraveyardCost copy() { - return new PutTopCardOfYourLibraryToGraveyardCost(this); + public MillCardsCost copy() { + return new MillCardsCost(this); } public Set getCardsMovedToGraveyard() { diff --git a/Mage/src/main/java/mage/abilities/effects/common/PutTopCardOfLibraryIntoGraveControllerEffect.java b/Mage/src/main/java/mage/abilities/effects/common/MillCardsControllerEffect.java similarity index 69% rename from Mage/src/main/java/mage/abilities/effects/common/PutTopCardOfLibraryIntoGraveControllerEffect.java rename to Mage/src/main/java/mage/abilities/effects/common/MillCardsControllerEffect.java index 423daa126e..6c859ea8c5 100644 --- a/Mage/src/main/java/mage/abilities/effects/common/PutTopCardOfLibraryIntoGraveControllerEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/common/MillCardsControllerEffect.java @@ -11,24 +11,24 @@ import mage.util.CardUtil; * @author LevelX2 */ -public class PutTopCardOfLibraryIntoGraveControllerEffect extends OneShotEffect { +public class MillCardsControllerEffect extends OneShotEffect { private final int numberCards; - public PutTopCardOfLibraryIntoGraveControllerEffect(int numberCards) { + public MillCardsControllerEffect(int numberCards) { super(Outcome.Discard); this.numberCards = numberCards; this.staticText = setText(); } - public PutTopCardOfLibraryIntoGraveControllerEffect(final PutTopCardOfLibraryIntoGraveControllerEffect effect) { + public MillCardsControllerEffect(final MillCardsControllerEffect effect) { super(effect); this.numberCards = effect.numberCards; } @Override - public PutTopCardOfLibraryIntoGraveControllerEffect copy() { - return new PutTopCardOfLibraryIntoGraveControllerEffect(this); + public MillCardsControllerEffect copy() { + return new MillCardsControllerEffect(this); } @Override diff --git a/Mage/src/main/java/mage/abilities/effects/common/PutTopCardOfLibraryIntoGraveEachPlayerEffect.java b/Mage/src/main/java/mage/abilities/effects/common/MillCardsEachPlayerEffect.java similarity index 85% rename from Mage/src/main/java/mage/abilities/effects/common/PutTopCardOfLibraryIntoGraveEachPlayerEffect.java rename to Mage/src/main/java/mage/abilities/effects/common/MillCardsEachPlayerEffect.java index fb29279aa9..d41f2680ae 100644 --- a/Mage/src/main/java/mage/abilities/effects/common/PutTopCardOfLibraryIntoGraveEachPlayerEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/common/MillCardsEachPlayerEffect.java @@ -15,31 +15,31 @@ import java.util.UUID; /** * @author LevelX2 */ -public class PutTopCardOfLibraryIntoGraveEachPlayerEffect extends OneShotEffect { +public class MillCardsEachPlayerEffect extends OneShotEffect { private final DynamicValue numberCards; private final TargetController targetController; - public PutTopCardOfLibraryIntoGraveEachPlayerEffect(int numberCards, TargetController targetController) { + public MillCardsEachPlayerEffect(int numberCards, TargetController targetController) { this(StaticValue.get(numberCards), targetController); } - public PutTopCardOfLibraryIntoGraveEachPlayerEffect(DynamicValue numberCards, TargetController targetController) { + public MillCardsEachPlayerEffect(DynamicValue numberCards, TargetController targetController) { super(Outcome.Discard); this.numberCards = numberCards; this.targetController = targetController; this.staticText = setText(); } - private PutTopCardOfLibraryIntoGraveEachPlayerEffect(final PutTopCardOfLibraryIntoGraveEachPlayerEffect effect) { + private MillCardsEachPlayerEffect(final MillCardsEachPlayerEffect effect) { super(effect); this.numberCards = effect.numberCards; this.targetController = effect.targetController; } @Override - public PutTopCardOfLibraryIntoGraveEachPlayerEffect copy() { - return new PutTopCardOfLibraryIntoGraveEachPlayerEffect(this); + public MillCardsEachPlayerEffect copy() { + return new MillCardsEachPlayerEffect(this); } @Override diff --git a/Mage/src/main/java/mage/abilities/effects/common/PutTopCardOfLibraryIntoGraveTargetEffect.java b/Mage/src/main/java/mage/abilities/effects/common/MillCardsTargetEffect.java similarity index 74% rename from Mage/src/main/java/mage/abilities/effects/common/PutTopCardOfLibraryIntoGraveTargetEffect.java rename to Mage/src/main/java/mage/abilities/effects/common/MillCardsTargetEffect.java index 5c33b2f936..9a36ed0693 100644 --- a/Mage/src/main/java/mage/abilities/effects/common/PutTopCardOfLibraryIntoGraveTargetEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/common/MillCardsTargetEffect.java @@ -12,28 +12,28 @@ import mage.util.CardUtil; /** * @author LevelX2 */ -public class PutTopCardOfLibraryIntoGraveTargetEffect extends OneShotEffect { +public class MillCardsTargetEffect extends OneShotEffect { private DynamicValue numberCards; - public PutTopCardOfLibraryIntoGraveTargetEffect(int numberCards) { + public MillCardsTargetEffect(int numberCards) { this(StaticValue.get(numberCards)); } - public PutTopCardOfLibraryIntoGraveTargetEffect(DynamicValue numberCards) { + public MillCardsTargetEffect(DynamicValue numberCards) { super(Outcome.Discard); this.numberCards = numberCards; this.staticText = setText(); } - public PutTopCardOfLibraryIntoGraveTargetEffect(final PutTopCardOfLibraryIntoGraveTargetEffect effect) { + public MillCardsTargetEffect(final MillCardsTargetEffect effect) { super(effect); this.numberCards = effect.numberCards; } @Override - public PutTopCardOfLibraryIntoGraveTargetEffect copy() { - return new PutTopCardOfLibraryIntoGraveTargetEffect(this); + public MillCardsTargetEffect copy() { + return new MillCardsTargetEffect(this); } @Override diff --git a/Mage/src/main/java/mage/game/command/emblems/JaceTelepathUnboundEmblem.java b/Mage/src/main/java/mage/game/command/emblems/JaceTelepathUnboundEmblem.java index 31b9302ca6..34ab1500f1 100644 --- a/Mage/src/main/java/mage/game/command/emblems/JaceTelepathUnboundEmblem.java +++ b/Mage/src/main/java/mage/game/command/emblems/JaceTelepathUnboundEmblem.java @@ -3,7 +3,7 @@ package mage.game.command.emblems; import mage.abilities.Ability; import mage.abilities.common.SpellCastControllerTriggeredAbility; import mage.abilities.effects.Effect; -import mage.abilities.effects.common.PutTopCardOfLibraryIntoGraveTargetEffect; +import mage.abilities.effects.common.MillCardsTargetEffect; import mage.constants.Zone; import mage.filter.FilterSpell; import mage.game.command.Emblem; @@ -17,7 +17,7 @@ public final class JaceTelepathUnboundEmblem extends Emblem { public JaceTelepathUnboundEmblem() { this.setName("Emblem Jace"); - Effect effect = new PutTopCardOfLibraryIntoGraveTargetEffect(5); + Effect effect = new MillCardsTargetEffect(5); effect.setText("target opponent mills five cards"); Ability ability = new SpellCastControllerTriggeredAbility(Zone.COMMAND, effect, new FilterSpell("a spell"), false, false); ability.addTarget(new TargetOpponent()); diff --git a/Mage/src/main/java/mage/game/command/planes/LetheLakePlane.java b/Mage/src/main/java/mage/game/command/planes/LetheLakePlane.java index 9bd2c8e0b9..291194f5cd 100644 --- a/Mage/src/main/java/mage/game/command/planes/LetheLakePlane.java +++ b/Mage/src/main/java/mage/game/command/planes/LetheLakePlane.java @@ -8,7 +8,7 @@ import mage.abilities.condition.common.MainPhaseStackEmptyCondition; import mage.abilities.costs.mana.GenericManaCost; import mage.abilities.effects.Effect; import mage.abilities.effects.common.PutLibraryIntoGraveTargetEffect; -import mage.abilities.effects.common.PutTopCardOfLibraryIntoGraveTargetEffect; +import mage.abilities.effects.common.MillCardsTargetEffect; import mage.abilities.effects.common.RollPlanarDieEffect; import mage.abilities.effects.common.cost.PlanarDieRollCostIncreasingEffect; import mage.constants.Planes; @@ -36,7 +36,7 @@ public class LetheLakePlane extends Plane { this.getAbilities().add(ability); // Active player can roll the planar die: Whenever you roll {CHAOS}, target player puts the top ten cards of their library into their graveyard - Effect chaosEffect = new PutTopCardOfLibraryIntoGraveTargetEffect(10); + Effect chaosEffect = new MillCardsTargetEffect(10); Target chaosTarget = new TargetPlayer(); List chaosEffects = new ArrayList();