mirror of
https://github.com/correl/mage.git
synced 2025-01-11 19:13:02 +00:00
* Traumatize, Bond of Insights, Enter The God-Etrenals and Flint Golem - Changed to mill method.
This commit is contained in:
parent
ba31b956dc
commit
5decfa3964
8 changed files with 25 additions and 36 deletions
|
@ -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));
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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));
|
||||
}
|
||||
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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());
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue