* Traumatize, Bond of Insights, Enter The God-Etrenals and Flint Golem - Changed to mill method.

This commit is contained in:
LevelX2 2020-07-18 17:27:15 +02:00
parent ba31b956dc
commit 5decfa3964
8 changed files with 25 additions and 36 deletions

View file

@ -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));
}

View file

@ -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);
}
}
}

View file

@ -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);

View file

@ -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);
}
}
}

View file

@ -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;
}
}

View file

@ -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));
}

View file

@ -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;
}

View file

@ -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());
}