From 5decfa3964916865d31098eb6ca629d007aa40b8 Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Sat, 18 Jul 2020 17:27:15 +0200 Subject: [PATCH] * Traumatize, Bond of Insights, Enter The God-Etrenals and Flint Golem - Changed to mill method. --- Mage.Sets/src/mage/cards/a/AltarOfTheBrood.java | 5 ++--- Mage.Sets/src/mage/cards/b/BondOfInsight.java | 11 +++++------ Mage.Sets/src/mage/cards/d/DerangedAssistant.java | 5 ++--- Mage.Sets/src/mage/cards/e/EnterTheGodEternals.java | 12 +++++------- Mage.Sets/src/mage/cards/f/FlintGolem.java | 6 ++---- Mage.Sets/src/mage/cards/j/JaceTelepathUnbound.java | 5 ++--- Mage.Sets/src/mage/cards/t/Traumatize.java | 10 ++++------ .../java/mage/abilities/keyword/DredgeAbility.java | 7 +++---- 8 files changed, 25 insertions(+), 36 deletions(-) diff --git a/Mage.Sets/src/mage/cards/a/AltarOfTheBrood.java b/Mage.Sets/src/mage/cards/a/AltarOfTheBrood.java index 95122867986..55810ac8b16 100644 --- a/Mage.Sets/src/mage/cards/a/AltarOfTheBrood.java +++ b/Mage.Sets/src/mage/cards/a/AltarOfTheBrood.java @@ -1,4 +1,3 @@ - package mage.cards.a; import java.util.UUID; @@ -25,9 +24,9 @@ public final class AltarOfTheBrood extends CardImpl { } public AltarOfTheBrood(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{1}"); + super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{1}"); - // Whenever another permanent enters the battlefield under your control, each opponent puts the top card of their library into their graveyard. + // 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)); } diff --git a/Mage.Sets/src/mage/cards/b/BondOfInsight.java b/Mage.Sets/src/mage/cards/b/BondOfInsight.java index 9580a0a5368..fbec825de1b 100644 --- a/Mage.Sets/src/mage/cards/b/BondOfInsight.java +++ b/Mage.Sets/src/mage/cards/b/BondOfInsight.java @@ -1,5 +1,6 @@ package mage.cards.b; +import java.util.UUID; import mage.abilities.Ability; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.ExileSpellEffect; @@ -16,8 +17,6 @@ import mage.players.Player; import mage.target.TargetCard; import mage.target.common.TargetCardInYourGraveyard; -import java.util.UUID; - /** * @author TheElk801 */ @@ -45,8 +44,8 @@ class BondOfInsightEffect extends OneShotEffect { BondOfInsightEffect() { super(Outcome.Benefit); - staticText = "Each player mills four cards. " + - "Return up to two instant and/or sorcery cards from your graveyard to your hand."; + staticText = "Each player mills four cards. " + + "Return up to two instant and/or sorcery cards from your graveyard to your hand."; } private BondOfInsightEffect(final BondOfInsightEffect effect) { @@ -65,7 +64,7 @@ class BondOfInsightEffect extends OneShotEffect { if (player == null) { continue; } - player.moveCards(player.getLibrary().getTopCards(game, 4), Zone.GRAVEYARD, source, game); + player.millCards(4, source, game); } Player player = game.getPlayer(source.getControllerId()); if (player == null) { @@ -80,4 +79,4 @@ class BondOfInsightEffect extends OneShotEffect { Cards cards = new CardsImpl(target.getTargets()); return player.moveCards(cards, Zone.HAND, source, game); } -} \ No newline at end of file +} diff --git a/Mage.Sets/src/mage/cards/d/DerangedAssistant.java b/Mage.Sets/src/mage/cards/d/DerangedAssistant.java index 45a12b1e3f6..1b4b3d76b08 100644 --- a/Mage.Sets/src/mage/cards/d/DerangedAssistant.java +++ b/Mage.Sets/src/mage/cards/d/DerangedAssistant.java @@ -1,4 +1,3 @@ - package mage.cards.d; import java.util.UUID; @@ -17,14 +16,14 @@ import mage.constants.SubType; public final class DerangedAssistant extends CardImpl { public DerangedAssistant(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{U}"); this.subtype.add(SubType.HUMAN); this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(1); - // {T}, Put the top card of your library into your graveyard: Add {C}. + // {T}, Mill a card: Add {C}. ColorlessManaAbility ability = new ColorlessManaAbility(); ability.addCost(new PutTopCardOfYourLibraryToGraveyardCost()); ability.setUndoPossible(false); diff --git a/Mage.Sets/src/mage/cards/e/EnterTheGodEternals.java b/Mage.Sets/src/mage/cards/e/EnterTheGodEternals.java index 5db22b3b0bb..352c2812c8f 100644 --- a/Mage.Sets/src/mage/cards/e/EnterTheGodEternals.java +++ b/Mage.Sets/src/mage/cards/e/EnterTheGodEternals.java @@ -1,5 +1,6 @@ package mage.cards.e; +import java.util.UUID; import mage.abilities.Ability; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.keyword.AmassEffect; @@ -7,7 +8,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Outcome; -import mage.constants.Zone; import mage.game.Game; import mage.game.permanent.Permanent; import mage.players.Player; @@ -15,8 +15,6 @@ import mage.target.Target; import mage.target.TargetPlayer; import mage.target.common.TargetCreaturePermanent; -import java.util.UUID; - /** * @author TheElk801 */ @@ -45,8 +43,8 @@ class EnterTheGodEternalsEffect extends OneShotEffect { EnterTheGodEternalsEffect() { super(Outcome.Benefit); - staticText = "{this} deals 4 damage to target creature and you gain life equal to the damage dealt this way. " + - "Target player mills four cards. Amass 4."; + staticText = "{this} deals 4 damage to target creature and you gain life equal to the damage dealt this way. " + + "Target player mills four cards. Amass 4."; } private EnterTheGodEternalsEffect(final EnterTheGodEternalsEffect effect) { @@ -73,10 +71,10 @@ class EnterTheGodEternalsEffect extends OneShotEffect { } Player player = game.getPlayer(targetId); if (player != null) { - player.moveCards(player.getLibrary().getTopCards(game, 4), Zone.GRAVEYARD, source, game); + player.millCards(4, source, game); } } } return new AmassEffect(4).apply(game, source); } -} \ No newline at end of file +} diff --git a/Mage.Sets/src/mage/cards/f/FlintGolem.java b/Mage.Sets/src/mage/cards/f/FlintGolem.java index 53fd61c3aed..f8377e44021 100644 --- a/Mage.Sets/src/mage/cards/f/FlintGolem.java +++ b/Mage.Sets/src/mage/cards/f/FlintGolem.java @@ -1,4 +1,3 @@ - package mage.cards.f; import java.util.UUID; @@ -11,7 +10,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Outcome; import mage.constants.SubType; -import mage.constants.Zone; import mage.game.Game; import mage.game.permanent.Permanent; import mage.players.Player; @@ -23,7 +21,7 @@ import mage.players.Player; public final class FlintGolem extends CardImpl { public FlintGolem(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{4}"); + super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{4}"); this.subtype.add(SubType.GOLEM); this.power = new MageInt(2); this.toughness = new MageInt(3); @@ -64,7 +62,7 @@ class FlintGolemEffect extends OneShotEffect { if (blockingCreature != null) { Player opponent = game.getPlayer(blockingCreature.getControllerId()); if (opponent != null) { - opponent.moveCards(opponent.getLibrary().getTopCards(game, 3), Zone.GRAVEYARD, source, game); + opponent.millCards(3, source, game); return true; } } diff --git a/Mage.Sets/src/mage/cards/j/JaceTelepathUnbound.java b/Mage.Sets/src/mage/cards/j/JaceTelepathUnbound.java index cb756e91504..13fd8dd3252 100644 --- a/Mage.Sets/src/mage/cards/j/JaceTelepathUnbound.java +++ b/Mage.Sets/src/mage/cards/j/JaceTelepathUnbound.java @@ -1,4 +1,3 @@ - package mage.cards.j; import java.util.UUID; @@ -11,8 +10,8 @@ import mage.abilities.effects.common.continuous.BoostTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import mage.constants.SubType; import mage.constants.Duration; +import mage.constants.SubType; import mage.constants.SuperType; import mage.filter.common.FilterInstantOrSorceryCard; import mage.game.command.emblems.JaceTelepathUnboundEmblem; @@ -50,7 +49,7 @@ public final class JaceTelepathUnbound extends CardImpl { ability.addTarget(new TargetCardInYourGraveyard(new FilterInstantOrSorceryCard())); this.addAbility(ability); - // -9: You get an emblem with "Whenever you cast a spell, target opponent puts the top five cards of their library into their graveyard". + // −9: You get an emblem with "Whenever you cast a spell, target opponent mills five cards." this.addAbility(new LoyaltyAbility(new GetEmblemEffect(new JaceTelepathUnboundEmblem()), -9)); } diff --git a/Mage.Sets/src/mage/cards/t/Traumatize.java b/Mage.Sets/src/mage/cards/t/Traumatize.java index 7c07bf1795c..3e8bc6598bb 100644 --- a/Mage.Sets/src/mage/cards/t/Traumatize.java +++ b/Mage.Sets/src/mage/cards/t/Traumatize.java @@ -1,5 +1,3 @@ - - package mage.cards.t; import java.util.UUID; @@ -9,7 +7,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Outcome; -import mage.constants.Zone; import mage.game.Game; import mage.players.Player; import mage.target.TargetPlayer; @@ -21,7 +18,7 @@ import mage.target.TargetPlayer; public final class Traumatize extends CardImpl { public Traumatize(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{3}{U}{U}"); + super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{3}{U}{U}"); this.getSpellAbility().addTarget(new TargetPlayer()); this.getSpellAbility().addEffect(new TraumatizeEffect()); @@ -41,7 +38,7 @@ class TraumatizeEffect extends OneShotEffect { public TraumatizeEffect() { super(Outcome.Detriment); - staticText = "Target player puts the top half of their library, rounded down, into their graveyard"; + staticText = "Target player mills half their library, rounded down"; } public TraumatizeEffect(final TraumatizeEffect effect) { @@ -53,7 +50,8 @@ class TraumatizeEffect extends OneShotEffect { Player player = game.getPlayer(source.getFirstTarget()); if (player != null) { int amount = player.getLibrary().size() / 2; - return player.moveCards(player.getLibrary().getTopCards(game, amount), Zone.GRAVEYARD, source, game); + player.millCards(amount, source, game); + return true; } return false; } diff --git a/Mage/src/main/java/mage/abilities/keyword/DredgeAbility.java b/Mage/src/main/java/mage/abilities/keyword/DredgeAbility.java index ff67e00c504..a78a400e478 100644 --- a/Mage/src/main/java/mage/abilities/keyword/DredgeAbility.java +++ b/Mage/src/main/java/mage/abilities/keyword/DredgeAbility.java @@ -14,9 +14,8 @@ import mage.players.Player; import mage.util.CardUtil; /** - * If you would draw a card, instead you may put exactly X cards from the top of - * your library into your graveyard. If you do, return this card from your - * graveyard to your hand. Otherwise, draw a card. + * If you would draw a card, you may mill X cards instead. If you do, return + * this card from your graveyard to your hand. * * @author North */ @@ -73,7 +72,7 @@ class DredgeEffect extends ReplacementEffectImpl { if (owner != null && owner.getLibrary().size() >= amount && owner.chooseUse(outcome, new StringBuilder("Dredge ").append(sourceCard.getLogName()). - append("? (").append(amount).append(" cards go from top of library to graveyard)").toString(), source, game)) { + append("? (").append(amount).append(" cards are milled)").toString(), source, game)) { if (!game.isSimulation()) { game.informPlayers(new StringBuilder(owner.getLogName()).append(" dredges ").append(sourceCard.getLogName()).toString()); }