mirror of
https://github.com/magefree/mage.git
synced 2026-01-10 21:02:08 -08:00
Remove unnecessary set of required status with setRequired method
This commit is contained in:
parent
0a0983d7e9
commit
f9fc2246e8
370 changed files with 0 additions and 415 deletions
|
|
@ -120,7 +120,6 @@ class ArchitectsOfWillEffect extends OneShotEffect {
|
|||
you.lookAtCards("Architects of Will", cards, game);
|
||||
|
||||
TargetCard target = new TargetCard(Zone.PICK, new FilterCard("card to put on the top of target player's library"));
|
||||
target.setRequired(true);
|
||||
while (you.isInGame() && cards.size() > 1) {
|
||||
you.choose(Outcome.Neutral, cards, target, game);
|
||||
Card card = cards.get(target.getFirstTarget(), game);
|
||||
|
|
|
|||
|
|
@ -104,7 +104,6 @@ class DefilerOfSoulsEffect extends OneShotEffect {
|
|||
amount = Math.min(1, realCount);
|
||||
|
||||
Target target = new TargetControlledPermanent(amount, amount, filter, false);
|
||||
target.setRequired(true);
|
||||
target.setNotTarget(true);
|
||||
|
||||
//A spell or ability could have removed the only legal target this player
|
||||
|
|
|
|||
|
|
@ -55,7 +55,6 @@ public class NulltreadGargantuan extends CardImpl {
|
|||
this.toughness = new MageInt(6);
|
||||
Ability ability = new EntersBattlefieldTriggeredAbility(new PutOnLibraryTargetEffect(true), false);
|
||||
Target target = new TargetControlledCreaturePermanent();
|
||||
target.setRequired(true);
|
||||
target.setNotTarget(true);
|
||||
ability.addTarget(target);
|
||||
this.addAbility(ability);
|
||||
|
|
|
|||
|
|
@ -77,7 +77,6 @@ public class QasaliPridemage extends CardImpl {
|
|||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DestroyTargetEffect(), new ManaCostsImpl("{1}"));
|
||||
ability.addCost(new SacrificeSourceCost());
|
||||
Target target = new TargetPermanent(filter);
|
||||
target.setRequired(true);
|
||||
ability.addTarget(target);
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -122,7 +122,6 @@ class SagesOfTheAnimaReplacementEffect extends ReplacementEffectImpl {
|
|||
}
|
||||
}
|
||||
TargetCard target = new TargetCard(Zone.PICK, new FilterCard());
|
||||
target.setRequired(true);
|
||||
while (player.isInGame() && cards.size() > 1) {
|
||||
player.choose(Outcome.Neutral, cards, target, game);
|
||||
Card card = cards.get(target.getFirstTarget(), game);
|
||||
|
|
|
|||
|
|
@ -58,7 +58,6 @@ public class VengefulRebirth extends CardImpl {
|
|||
this.color.setGreen(true);
|
||||
// Return target card from your graveyard to your hand. If you return a nonland card to your hand this way, {this} deals damage equal to that card's converted mana cost to target creature or player
|
||||
Target target = new TargetCardInYourGraveyard();
|
||||
target.setRequired(true);
|
||||
this.getSpellAbility().addTarget(target);
|
||||
this.getSpellAbility().addTarget(new TargetCreatureOrPlayer());
|
||||
this.getSpellAbility().addEffect(new VengefulRebirthEffect());
|
||||
|
|
|
|||
|
|
@ -107,7 +107,6 @@ class BrowseEffect extends OneShotEffect {
|
|||
player.lookAtCards("Browse", cards, game);
|
||||
|
||||
TargetCard target = new TargetCard(Zone.PICK, new FilterCard("card to put in your hand"));
|
||||
target.setRequired(true);
|
||||
if (player.choose(Outcome.Benefit, cards, target, game)) {
|
||||
Card card = cards.get(target.getFirstTarget(), game);
|
||||
if (card != null) {
|
||||
|
|
|
|||
|
|
@ -70,7 +70,6 @@ public class LordOfTresserhorn extends CardImpl {
|
|||
Ability ability = new EntersBattlefieldTriggeredAbility(new LoseLifeSourceControllerEffect(2), false);
|
||||
ability.addEffect(new SacrificeTargetEffect(", you sacrifice two creatures"));
|
||||
Target target = new TargetControlledCreaturePermanent(2,2, new FilterControlledCreaturePermanent(), true);
|
||||
target.setRequired(true);
|
||||
ability.addTarget(target);
|
||||
Effect effect = new DrawCardTargetEffect(2);
|
||||
effect.setText(", and target opponent draws two cards");
|
||||
|
|
|
|||
|
|
@ -55,7 +55,6 @@ public class MysticCompass extends CardImpl {
|
|||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BecomesBasicLandTargetEffect(Duration.EndOfTurn), new ManaCostsImpl("{1}"));
|
||||
ability.addCost(new TapSourceCost());
|
||||
Target target = new TargetLandPermanent();
|
||||
target.setRequired(true);
|
||||
ability.addTarget(target);
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -112,7 +112,6 @@ class SoldeviSageEffect extends OneShotEffect {
|
|||
|
||||
if (drawnCards.size() > 0) {
|
||||
TargetCard cardToDiscard = new TargetCard(Zone.PICK, new FilterCard("card to discard"));
|
||||
cardToDiscard.setRequired(true);
|
||||
cardToDiscard.setNotTarget(true);
|
||||
if (player.choose(Outcome.Discard, drawnCards, cardToDiscard, game)) {
|
||||
Card card = player.getHand().get(cardToDiscard.getFirstTarget(), game);
|
||||
|
|
|
|||
|
|
@ -125,7 +125,6 @@ class GoblinRingleaderEffect extends OneShotEffect {
|
|||
player.revealCards(sourceCard.getName(), cards, game);
|
||||
}
|
||||
TargetCard target = new TargetCard(Zone.PICK, new FilterCard("card to put on the bottom of your library"));
|
||||
target.setRequired(true);
|
||||
while (player.isInGame() && cards2.size() > 0 && player.choose(Outcome.Detriment, cards2, target, game)) {
|
||||
Card card = cards.get(target.getFirstTarget(), game);
|
||||
if (card != null) {
|
||||
|
|
|
|||
|
|
@ -59,7 +59,6 @@ public class IllusionReality extends SplitCard {
|
|||
getLeftHalfCard().getColor().setBlue(true);
|
||||
getLeftHalfCard().getSpellAbility().addEffect(new SetCardColorTargetEffect(Duration.EndOfTurn));
|
||||
Target target = new TargetSpellOrPermanent();
|
||||
target.setRequired(true);
|
||||
getLeftHalfCard().getSpellAbility().addTarget(target);
|
||||
getLeftHalfCard().getSpellAbility().addChoice(new ChoiceColor());
|
||||
|
||||
|
|
|
|||
|
|
@ -72,7 +72,6 @@ public class LifeDeath extends SplitCard {
|
|||
// Return target creature card from your graveyard to the battlefield. You lose life equal to its converted mana cost.
|
||||
getRightHalfCard().getColor().setBlack(true);
|
||||
Target target = new TargetCardInYourGraveyard(1, new FilterCreatureCard("creature card from your graveyard"));
|
||||
target.setRequired(true);
|
||||
getRightHalfCard().getSpellAbility().addTarget(target);
|
||||
getRightHalfCard().getSpellAbility().addEffect(new DeathEffect());
|
||||
|
||||
|
|
|
|||
|
|
@ -59,7 +59,6 @@ public class OrderChaos extends SplitCard {
|
|||
getLeftHalfCard().getColor().setWhite(true);
|
||||
getLeftHalfCard().getSpellAbility().addEffect(new ExileTargetEffect());
|
||||
Target target = new TargetAttackingCreature();
|
||||
target.setRequired(true);
|
||||
getLeftHalfCard().getSpellAbility().addTarget(target);
|
||||
|
||||
// Chaos
|
||||
|
|
|
|||
|
|
@ -131,7 +131,6 @@ class SylvanMessengerEffect extends OneShotEffect {
|
|||
}
|
||||
|
||||
TargetCard target = new TargetCard(Zone.PICK, new FilterCard("card to put on the bottom of your library"));
|
||||
target.setRequired(true);
|
||||
while (player.isInGame() && cards2.size() > 0 && player.choose(Outcome.Detriment, cards2, target, game)) {
|
||||
Card card = cards2.get(target.getFirstTarget(), game);
|
||||
if (card != null) {
|
||||
|
|
|
|||
|
|
@ -95,7 +95,6 @@ class AmassTheComponentsEffect extends OneShotEffect {
|
|||
if (player.getHand().size() > 0) {
|
||||
FilterCard filter = new FilterCard("card from your hand to put on the bottom of your library");
|
||||
TargetCard target = new TargetCard(Zone.HAND, filter);
|
||||
target.setRequired(true);
|
||||
|
||||
if (player.choose(Outcome.Detriment, player.getHand(), target, game)) {
|
||||
Card card = player.getHand().get(target.getFirstTarget(), game);
|
||||
|
|
|
|||
|
|
@ -59,7 +59,6 @@ public class BloodArtist extends CardImpl {
|
|||
Ability ability = new DiesThisOrAnotherCreatureTriggeredAbility(new LoseLifeTargetEffect(1), false);
|
||||
ability.addEffect(new GainLifeEffect(1));
|
||||
Target target = new TargetPlayer();
|
||||
target.setRequired(true);
|
||||
ability.addTarget(target);
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -65,7 +65,6 @@ public class DriverOfTheDead extends CardImpl {
|
|||
// When Driver of the Dead dies, return target creature card with converted mana cost 2 or less from your graveyard to the battlefield.
|
||||
Ability ability = new DiesTriggeredAbility(new ReturnFromGraveyardToBattlefieldTargetEffect(), false);
|
||||
Target target = new TargetCardInYourGraveyard(filter);
|
||||
target.setRequired(true);
|
||||
ability.addTarget(target);
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -108,7 +108,6 @@ class LairDelveEffect extends OneShotEffect {
|
|||
}
|
||||
|
||||
TargetCard target = new TargetCard(Zone.PICK, new FilterCard("card to put on the bottom of your library"));
|
||||
target.setRequired(true);
|
||||
while (player.isInGame() && cards.size() > 1) {
|
||||
player.choose(Outcome.Neutral, cards, target, game);
|
||||
Card card = cards.get(target.getFirstTarget(), game);
|
||||
|
|
|
|||
|
|
@ -56,7 +56,6 @@ public class PollutedDead extends CardImpl {
|
|||
// When Polluted Dead dies, destroy target land.
|
||||
Ability ability = new DiesTriggeredAbility(new DestroyTargetEffect());
|
||||
Target target = new TargetLandPermanent();
|
||||
target.setRequired(true);
|
||||
ability.addTarget(target);
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -117,7 +117,6 @@ class RiteOfRuinEffect extends OneShotEffect {
|
|||
for (UUID playerId : controller.getInRange()) {
|
||||
int amount = Math.min(count, game.getBattlefield().countAll(filter, playerId, game));
|
||||
TargetControlledPermanent target = new TargetControlledPermanent(amount, amount, filter, false);
|
||||
target.setRequired(true);
|
||||
Player player = game.getPlayer(playerId);
|
||||
if (player != null && player.choose(Outcome.Sacrifice, target, source.getSourceId(), game)) {
|
||||
sacrifices.addAll(target.getTargets());
|
||||
|
|
|
|||
|
|
@ -81,7 +81,6 @@ public class TamiyoTheMoonSage extends CardImpl {
|
|||
LoyaltyAbility ability = new LoyaltyAbility(new TapTargetEffect(), 1);
|
||||
ability.addEffect(new SkipNextUntapTargetEffect());
|
||||
Target target = new TargetPermanent();
|
||||
target.setRequired(true);
|
||||
ability.addTarget(target);
|
||||
this.addAbility(ability);
|
||||
|
||||
|
|
|
|||
|
|
@ -57,7 +57,6 @@ public class TimberlandGuide extends CardImpl {
|
|||
// When Timberland Guide enters the battlefield, put a +1/+1 counter on target creature.
|
||||
Ability ability = new EntersBattlefieldTriggeredAbility(new AddCountersTargetEffect(CounterType.P1P1.createInstance()));
|
||||
TargetCreaturePermanent target = new TargetCreaturePermanent();
|
||||
target.setRequired(true);
|
||||
ability.addTarget(target);
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -58,7 +58,6 @@ public class TriumphOfCruelty extends CardImpl {
|
|||
// At the beginning of your upkeep, target opponent discards a card if you control the creature with the greatest power or tied for the greatest power.
|
||||
TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(new DiscardTargetEffect(1), TargetController.YOU, false);
|
||||
Target target = new TargetOpponent();
|
||||
target.setRequired(true);
|
||||
ability.addTarget(target);
|
||||
this.addAbility(new ConditionalTriggeredAbility(ability, ControlsBiggestOrTiedCreatureCondition.getInstance(), ruleText));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -105,7 +105,6 @@ class HokoriDustDrinkerUntapEffect extends OneShotEffect {
|
|||
FilterLandPermanent filter = new FilterLandPermanent("land you control");
|
||||
filter.add(new ControllerIdPredicate(game.getActivePlayerId()));
|
||||
Target target = new TargetLandPermanent(filter);
|
||||
target.setRequired(true);
|
||||
if (player != null && player.chooseTarget(Outcome.Untap, target, source, game)) {
|
||||
for (UUID landId : target.getTargets()) {
|
||||
Permanent land = game.getPermanent(landId);
|
||||
|
|
|
|||
|
|
@ -74,7 +74,6 @@ public class MinamoSightbender extends CardImpl {
|
|||
// {X}, {T}: Target creature with power X or less is unblockable this turn.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new UnblockableTargetEffect(), new ManaCostsImpl("{X}"));
|
||||
Target target = new TargetCreaturePermanent(filter);
|
||||
target.setRequired(true);
|
||||
ability.addTarget(target);
|
||||
ability.addCost(new TapSourceCost());
|
||||
this.addAbility(ability);
|
||||
|
|
|
|||
|
|
@ -108,7 +108,6 @@ class OracleOfBonesCastEffect extends OneShotEffect {
|
|||
Player controller = game.getPlayer(source.getControllerId());
|
||||
if (controller != null) {
|
||||
Target target = new TargetCardInHand(filter);
|
||||
target.setRequired(true);
|
||||
if (target.canChoose(source.getSourceId(), controller.getId(), game) &&
|
||||
controller.chooseUse(outcome, "Cast an instant or sorcery card from your hand without paying its mana cost?", game)) {
|
||||
Card cardToCast = null;
|
||||
|
|
|
|||
|
|
@ -110,7 +110,6 @@ class PeregrinationEffect extends OneShotEffect {
|
|||
player.revealCards("Peregrination", revealed, game);
|
||||
if (target.getTargets().size() == 2) {
|
||||
TargetCard target2 = new TargetCard(Zone.PICK, filter);
|
||||
target2.setRequired(true);
|
||||
player.choose(Outcome.Benefit, revealed, target2, game);
|
||||
Card card = revealed.get(target2.getFirstTarget(), game);
|
||||
|
||||
|
|
|
|||
|
|
@ -58,7 +58,6 @@ public class RetractionHelix extends CardImpl {
|
|||
// Until end of turn, target creature gains "{T}: Return target nonland permanent to its owner's hand."
|
||||
Ability gainedAbility = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ReturnToHandTargetEffect(), new TapSourceCost());
|
||||
Target target = new TargetNonlandPermanent();
|
||||
target.setRequired(true);
|
||||
gainedAbility.addTarget(target);
|
||||
Effect effect = new GainAbilityTargetEffect(gainedAbility, Duration.EndOfTurn);
|
||||
effect.setText("Until end of turn, target creature gains \"{T}: Return target nonland permanent to its owner's hand.\"");
|
||||
|
|
|
|||
|
|
@ -65,7 +65,6 @@ public class UnravelTheAEther extends CardImpl {
|
|||
// Choose target artifact or enchantment. Its owner shuffles it into his or her library.
|
||||
this.getSpellAbility().addEffect(new UnravelTheAEtherShuffleIntoLibraryEffect());
|
||||
Target target = new TargetPermanent(1,1,filter,true);
|
||||
target.setRequired(true);
|
||||
this.getSpellAbility().addTarget(target);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -79,7 +79,6 @@ public class EightAndAHalfTails extends CardImpl {
|
|||
ability = new SimpleActivatedAbility(Zone.BATTLEFIELD,
|
||||
new SetCardColorTargetEffect(ObjectColor.WHITE, Duration.EndOfTurn, "Target spell or permanent becomes white until end of turn"), new ManaCostsImpl("{1}"));
|
||||
target = new TargetSpellOrPermanent();
|
||||
target.setRequired(true);
|
||||
ability.addTarget(target);
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -121,7 +121,6 @@ class GiftsUngivenEffect extends OneShotEffect {
|
|||
opponent = game.getPlayer(game.getOpponents(player.getId()).iterator().next());
|
||||
}
|
||||
TargetCard targetDiscard = new TargetCard(2, Zone.PICK, new FilterCard("cards to put in graveyard"));
|
||||
targetDiscard.setRequired(true);
|
||||
if (opponent != null && opponent.choose(Outcome.Discard, cards, targetDiscard, game)) {
|
||||
cardsToKeep.removeAll(targetDiscard.getTargets());
|
||||
cards.removeAll(cardsToKeep);
|
||||
|
|
|
|||
|
|
@ -74,7 +74,6 @@ public class HearthKami extends CardImpl {
|
|||
FilterArtifactPermanent filter = new FilterArtifactPermanent(new StringBuilder("artifact with converted mana cost ").append(xValue).toString());
|
||||
filter.add(new ConvertedManaCostPredicate(Filter.ComparisonType.Equal, xValue));
|
||||
Target target = new TargetPermanent(filter);
|
||||
target.setRequired(true);
|
||||
ability.addTarget(target);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -70,7 +70,6 @@ public class NezumiGraverobber extends CardImpl {
|
|||
// {1}{B}: Exile target card from an opponent's graveyard. If no cards are in that graveyard, flip Nezumi Graverobber.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ExileTargetEffect(), new ManaCostsImpl("{1}{B}"));
|
||||
Target target = new TargetCardInOpponentsGraveyard(new FilterCard("card from an opponent's graveyard"));
|
||||
target.setRequired(true);
|
||||
ability.addTarget(target);
|
||||
ability.addEffect(new NezumiGraverobberFlipEffect());
|
||||
this.addAbility(ability);
|
||||
|
|
|
|||
|
|
@ -63,7 +63,6 @@ public class Reweave extends CardImpl {
|
|||
// Target permanent's controller sacrifices it. If he or she does, that player reveals cards from the top of his or her library until he or she reveals a permanent card that shares a card type with the sacrificed permanent, puts that card onto the battlefield, then shuffles his or her library.
|
||||
this.getSpellAbility().addEffect(new ReweaveEffect());
|
||||
Target target = new TargetPermanent();
|
||||
target.setRequired(true);
|
||||
this.getSpellAbility().addTarget(target);
|
||||
|
||||
// Splice onto Arcane {2}{U}{U}
|
||||
|
|
|
|||
|
|
@ -77,7 +77,6 @@ public class ShellOfTheLastKappa extends CardImpl {
|
|||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ShellOfTheLastKappaEffect(), new ManaCostsImpl("{3}"));
|
||||
ability.addCost(new TapSourceCost());
|
||||
Target target = new TargetSpell(filter);
|
||||
target.setRequired(true);
|
||||
ability.addTarget(target);
|
||||
this.addAbility(ability);
|
||||
// {3}, {tap}, Sacrifice Shell of the Last Kappa: You may cast a card exiled with Shell of the Last Kappa without paying its mana cost.
|
||||
|
|
|
|||
|
|
@ -107,7 +107,6 @@ class ShimatsuTheBloodcloakedEffect extends ReplacementEffectImpl {
|
|||
Player controller = game.getPlayer(source.getControllerId());
|
||||
if (creature != null && controller != null) {
|
||||
Target target = new TargetControlledPermanent(0, Integer.MAX_VALUE, new FilterPermanent(), true);
|
||||
target.setRequired(false);
|
||||
if (!target.canChoose(source.getSourceId(), source.getControllerId(), game)) {
|
||||
return false;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -60,7 +60,6 @@ public class WearAway extends CardImpl {
|
|||
// Destroy target artifact or enchantment.
|
||||
this.getSpellAbility().addEffect(new DestroyTargetEffect());
|
||||
Target target = new TargetPermanent(filter);
|
||||
target.setRequired(true);
|
||||
this.getSpellAbility().addTarget(target);
|
||||
// Splice onto Arcane {3}{G}
|
||||
this.addAbility(new SpliceOntoArcaneAbility("{3}{G}"));
|
||||
|
|
|
|||
|
|
@ -57,7 +57,6 @@ public class AEthersnipe extends CardImpl {
|
|||
// When AEthersnipe enters the battlefield, return target nonland permanent to its owner's hand.
|
||||
Ability ability = new EntersBattlefieldTriggeredAbility(new ReturnToHandTargetEffect());
|
||||
Target target = new TargetNonlandPermanent();
|
||||
target.setRequired(true);
|
||||
ability.addTarget(target);
|
||||
this.addAbility(ability);
|
||||
|
||||
|
|
|
|||
|
|
@ -77,7 +77,6 @@ public class BladewingTheRisen extends CardImpl {
|
|||
// When Bladewing the Risen enters the battlefield, you may return target Dragon permanent card from your graveyard to the battlefield.
|
||||
Ability ability = new EntersBattlefieldTriggeredAbility(new ReturnFromGraveyardToBattlefieldTargetEffect(), true);
|
||||
Target target = new TargetCardInYourGraveyard(filterCard);
|
||||
target.setRequired(true);
|
||||
ability.addTarget(target);
|
||||
this.addAbility(ability);
|
||||
// {B}{R}: Dragon creatures get +1/+1 until end of turn.
|
||||
|
|
|
|||
|
|
@ -60,7 +60,6 @@ public class Faultgrinder extends CardImpl {
|
|||
// When Faultgrinder enters the battlefield, destroy target land.
|
||||
Ability ability = new EntersBattlefieldTriggeredAbility(new DestroyTargetEffect(),false);
|
||||
Target target = new TargetLandPermanent();
|
||||
target.setRequired(true);
|
||||
ability.addTarget(target);
|
||||
this.addAbility(ability);
|
||||
|
||||
|
|
|
|||
|
|
@ -106,7 +106,6 @@ class KodamasReachEffect extends OneShotEffect {
|
|||
player.revealCards("Kodama's Reach", revealed, game);
|
||||
if (target.getTargets().size() == 2) {
|
||||
TargetCard target2 = new TargetCard(Zone.PICK, filter);
|
||||
target2.setRequired(true);
|
||||
player.choose(Outcome.Benefit, revealed, target2, game);
|
||||
Card card = revealed.get(target2.getFirstTarget(), game);
|
||||
card.putOntoBattlefield(game, Zone.LIBRARY, source.getId(), source.getControllerId());
|
||||
|
|
|
|||
|
|
@ -106,7 +106,6 @@ class SewerNemesisChoosePlayerEffect extends OneShotEffect {
|
|||
Permanent permanent = game.getPermanent(source.getSourceId());
|
||||
if (player != null && permanent != null) {
|
||||
TargetPlayer target = new TargetPlayer();
|
||||
target.setRequired(true);
|
||||
if (player.choose(this.outcome, target, source.getSourceId(), game)) {
|
||||
Player chosenPlayer = game.getPlayer(target.getFirstTarget());
|
||||
if (chosenPlayer != null) {
|
||||
|
|
|
|||
|
|
@ -73,7 +73,6 @@ public class Shriekmaw extends CardImpl {
|
|||
// When Shriekmaw enters the battlefield, destroy target nonartifact, nonblack creature.
|
||||
Ability ability = new EntersBattlefieldTriggeredAbility(new DestroyTargetEffect(),false);
|
||||
Target target = new TargetCreaturePermanent(filter);
|
||||
target.setRequired(true);
|
||||
ability.addTarget(target);
|
||||
this.addAbility(ability);
|
||||
|
||||
|
|
|
|||
|
|
@ -66,7 +66,6 @@ public class TenebTheHarvester extends CardImpl {
|
|||
Ability ability = new DealsCombatDamageToAPlayerTriggeredAbility(
|
||||
new DoIfCostPaid(new ReturnFromGraveyardToBattlefieldTargetEffect(), new ManaCostsImpl("{2}{B}")), false);
|
||||
Target target = new TargetCardInGraveyard(new FilterCreatureCard("creature card from a graveyard"));
|
||||
target.setRequired(true);
|
||||
ability.addTarget(target);
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -74,7 +74,6 @@ public class CrosissCharm extends CardImpl {
|
|||
mode = new Mode();
|
||||
mode.getEffects().add(new DestroyTargetEffect(true));
|
||||
Target target = new TargetArtifactPermanent();
|
||||
target.setRequired(true);
|
||||
mode.getTargets().add(target);
|
||||
this.getSpellAbility().addMode(mode);
|
||||
|
||||
|
|
|
|||
|
|
@ -75,7 +75,6 @@ public class DeadwoodTreefolk extends CardImpl {
|
|||
// When Deadwood Treefolk enters the battlefield or leaves the battlefield, return another target creature card from your graveyard to your hand.
|
||||
ability = new EntersBattlefieldOrDiesSourceTriggeredAbility(new ReturnFromGraveyardToHandTargetEffect(), false);
|
||||
Target target = new TargetCardInYourGraveyard(filter);
|
||||
target.setRequired(true);
|
||||
ability.addTarget(target);
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -107,7 +107,6 @@ class EyeOfDoomEffect extends OneShotEffect {
|
|||
public boolean apply(Game game, Ability source) {
|
||||
List<Permanent> permanents = new ArrayList<>();
|
||||
Target target = new TargetNonlandPermanent();
|
||||
target.setRequired(true);
|
||||
target.setNotTarget(false);
|
||||
PlayerList playerList = game.getPlayerList().copy();
|
||||
playerList.setCurrent(game.getActivePlayerId());
|
||||
|
|
|
|||
|
|
@ -56,27 +56,23 @@ public class HullBreach extends CardImpl {
|
|||
// Choose one - Destroy target artifact;
|
||||
this.getSpellAbility().addEffect(new DestroyTargetEffect());
|
||||
Target target = new TargetArtifactPermanent();
|
||||
target.setRequired(true);
|
||||
this.getSpellAbility().addTarget(target);
|
||||
// or destroy target enchantment;
|
||||
Mode mode = new Mode();
|
||||
mode.getEffects().add(new DestroyTargetEffect());
|
||||
target = new TargetPermanent(new FilterEnchantmentPermanent());
|
||||
target.setRequired(true);
|
||||
mode.getTargets().add(target);
|
||||
this.getSpellAbility().addMode(mode);
|
||||
// or destroy target artifact and target enchantment.
|
||||
mode = new Mode();
|
||||
mode.getEffects().add(new DestroyTargetEffect());
|
||||
target = new TargetArtifactPermanent();
|
||||
target.setRequired(true);
|
||||
mode.getTargets().add(target);
|
||||
Effect effect = new DestroyTargetEffect();
|
||||
effect.setTargetPointer(new SecondTargetPointer());
|
||||
effect.setText("and target enchantment");
|
||||
mode.getEffects().add(effect);
|
||||
target = new TargetPermanent(new FilterEnchantmentPermanent());
|
||||
target.setRequired(true);
|
||||
mode.getTargets().add(target);
|
||||
this.getSpellAbility().addMode(mode);
|
||||
|
||||
|
|
|
|||
|
|
@ -115,7 +115,6 @@ class LimDulsVaultEffect extends OneShotEffect {
|
|||
}
|
||||
|
||||
TargetCard target = new TargetCard(Zone.PICK, new FilterCard(doAgain ? textBottom : textTop));
|
||||
target.setRequired(true);
|
||||
while (player.isInGame() && cards.size() > 1) {
|
||||
player.choose(Outcome.Neutral, cards, target, game);
|
||||
Card card = cards.get(target.getFirstTarget(), game);
|
||||
|
|
|
|||
|
|
@ -118,7 +118,6 @@ class TargetOpponentsChoiceControlledCreaturePermanent extends TargetPermanent {
|
|||
|
||||
public TargetOpponentsChoiceControlledCreaturePermanent() {
|
||||
super(1, 1, new FilterControlledCreaturePermanent(), false);
|
||||
this.setRequired(true);
|
||||
this.targetName = filter.getMessage();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -169,7 +169,6 @@ class ReincarnationDelayedEffect extends OneShotEffect {
|
|||
FilterCreatureCard filter = new FilterCreatureCard(new StringBuilder("a creature card from ").append(player.getName()).append("'s graveyard").toString());
|
||||
filter.add(new OwnerIdPredicate(player.getId()));
|
||||
Target targetCreature = new TargetCardInGraveyard(filter);
|
||||
targetCreature.setRequired(true);
|
||||
if (targetCreature.canChoose(source.getSourceId(), controller.getId(), game)
|
||||
&& controller.chooseTarget(outcome, targetCreature, source, game)) {
|
||||
Card card = game.getCard(targetCreature.getFirstTarget());
|
||||
|
|
|
|||
|
|
@ -59,7 +59,6 @@ public class Restore extends CardImpl {
|
|||
// Put target land card from a graveyard onto the battlefield under your control.
|
||||
this.getSpellAbility().addEffect(new RestoreEffect());
|
||||
Target target = new TargetCardInGraveyard(filter);
|
||||
target.setRequired(true);
|
||||
this.getSpellAbility().addTarget(target);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -128,7 +128,6 @@ class ShattergangBrothersEffect extends OneShotEffect {
|
|||
Player player = game.getPlayer(playerId);
|
||||
if (player != null) {
|
||||
TargetControlledPermanent target = new TargetControlledPermanent(filter);
|
||||
target.setRequired(true);
|
||||
target.setNotTarget(true);
|
||||
if (target.canChoose(source.getSourceId(), playerId, game) &&
|
||||
player.chooseTarget(outcome, target, source, game)) {
|
||||
|
|
|
|||
|
|
@ -104,7 +104,6 @@ class StrategicPlanningEffect extends OneShotEffect {
|
|||
player.lookAtCards("Strategic Planning", cards, game);
|
||||
|
||||
TargetCard target = new TargetCard(Zone.PICK, new FilterCard("card to put in your hand"));
|
||||
target.setRequired(true);
|
||||
if (player.choose(Outcome.Benefit, cards, target, game)) {
|
||||
Card card = cards.get(target.getFirstTarget(), game);
|
||||
if (card != null) {
|
||||
|
|
|
|||
|
|
@ -102,7 +102,6 @@ class TemptWithImmortalityEffect extends OneShotEffect {
|
|||
filter.add(new OwnerIdPredicate(opponent.getId()));
|
||||
Target targetOpponent = new TargetCardInGraveyard(filter);
|
||||
|
||||
targetOpponent.setRequired(true);
|
||||
if (targetOpponent.canChoose(source.getSourceId(), opponent.getId(), game)) {
|
||||
if (opponent.chooseUse(outcome, new StringBuilder("Return a creature card from your graveyard to the battlefield?").toString(), game)) {
|
||||
if (opponent.chooseTarget(outcome, targetOpponent, source, game)) {
|
||||
|
|
@ -129,7 +128,6 @@ class TemptWithImmortalityEffect extends OneShotEffect {
|
|||
|
||||
private boolean returnCreatureFromGraveToBattlefield(Player player, Ability source, Game game) {
|
||||
Target target = new TargetCardInYourGraveyard(new FilterCreatureCard());
|
||||
target.setRequired(true);
|
||||
target.setNotTarget(false);
|
||||
if (target.canChoose(source.getSourceId(), source.getControllerId(), game)) {
|
||||
if (player.chooseTarget(outcome, target, source, game)) {
|
||||
|
|
|
|||
|
|
@ -76,7 +76,6 @@ public class EtherswornAdjudicator extends CardImpl {
|
|||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DestroyTargetEffect(), new ManaCostsImpl("{1}{W}{B}"));
|
||||
ability.addCost(new TapSourceCost());
|
||||
Target target = new TargetPermanent(filter);
|
||||
target.setRequired(true);
|
||||
ability.addTarget(target);
|
||||
this.addAbility(ability);
|
||||
// {2}{U}: Untap Ethersworn Adjudicator.
|
||||
|
|
|
|||
|
|
@ -60,7 +60,6 @@ public class GrixisIllusionist extends CardImpl {
|
|||
// {tap}: Target land you control becomes the basic land type of your choice until end of turn.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BecomesBasicLandTargetEffect(Duration.EndOfTurn), new TapSourceCost());
|
||||
Target target = new TargetLandPermanent();
|
||||
target.setRequired(true);
|
||||
ability.addTarget(target);
|
||||
this.addAbility(ability);
|
||||
|
||||
|
|
|
|||
|
|
@ -105,7 +105,6 @@ class MaelstromArchangelCastEffect extends OneShotEffect {
|
|||
Player controller = game.getPlayer(source.getControllerId());
|
||||
if (controller != null) {
|
||||
Target target = new TargetCardInHand(filter);
|
||||
target.setRequired(true);
|
||||
if (target.canChoose(source.getSourceId(), controller.getId(), game) &&
|
||||
controller.chooseUse(outcome, "Cast a nonland card from your hand without paying its mana cost?", game)) {
|
||||
Card cardToCast = null;
|
||||
|
|
|
|||
|
|
@ -103,7 +103,6 @@ class MalfegorEffect extends OneShotEffect {
|
|||
if (opponent != null) {
|
||||
for (int i = 0; i < sacrificeNumber; i++) {
|
||||
Target target = new TargetControlledPermanent(new FilterControlledCreaturePermanent());
|
||||
target.setRequired(true);
|
||||
if (target.canChoose(opponentId, game)) {
|
||||
if (opponent.choose(Outcome.Sacrifice, target, source.getSourceId(), game)) {
|
||||
Permanent permanent = game.getPermanent(target.getFirstTarget());
|
||||
|
|
|
|||
|
|
@ -104,7 +104,6 @@ class MasterTransmuterEffect extends OneShotEffect {
|
|||
Player controller = game.getPlayer(source.getControllerId());
|
||||
if (controller != null) {
|
||||
Target target = new TargetCardInHand(new FilterArtifactCard("an artifact card from your hand"));
|
||||
target.setRequired(true);
|
||||
if (target.canChoose(source.getSourceId(), source.getControllerId(), game)
|
||||
&& controller.chooseUse(outcome, "Put an artifact from your hand to battlefield??", game)
|
||||
&& controller.chooseTarget(outcome, target, source, game)) {
|
||||
|
|
|
|||
|
|
@ -103,7 +103,6 @@ class ChooseOpponent extends OneShotEffect {
|
|||
Permanent permanent = game.getPermanent(source.getSourceId());
|
||||
if (player != null && permanent != null) {
|
||||
TargetOpponent target = new TargetOpponent();
|
||||
target.setRequired(true);
|
||||
target.setNotTarget(true);
|
||||
if (player.choose(this.outcome, target, source.getSourceId(), game)) {
|
||||
Player chosenPlayer = game.getPlayer(target.getFirstTarget());
|
||||
|
|
|
|||
|
|
@ -56,7 +56,6 @@ public class UnstableFrontier extends CardImpl {
|
|||
// {tap}: Target land you control becomes the basic land type of your choice until end of turn.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BecomesBasicLandTargetEffect(Duration.EndOfTurn), new TapSourceCost());
|
||||
Target target = new TargetLandPermanent();
|
||||
target.setRequired(true);
|
||||
ability.addTarget(target);
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -125,7 +125,6 @@ class WorldlyCounselEffect extends OneShotEffect {
|
|||
|
||||
|
||||
TargetCard target = new TargetCard(Zone.PICK, new FilterCard("card to put on the bottom of your library"));
|
||||
target.setRequired(true);
|
||||
while (cards.size() > 1) {
|
||||
player.choose(Outcome.Neutral, cards, target, game);
|
||||
Card card = cards.get(target.getFirstTarget(), game);
|
||||
|
|
|
|||
|
|
@ -113,7 +113,6 @@ public class ArchdemonOfGreed extends CardImpl {
|
|||
Player player = game.getPlayer(source.getControllerId());
|
||||
if (player != null) {
|
||||
TargetControlledPermanent target = new TargetControlledPermanent(1, 1, filter, false);
|
||||
target.setRequired(true);
|
||||
// if they can pay the cost, then they must pay
|
||||
if (target.canChoose(player.getId(), game)) {
|
||||
player.choose(Outcome.Sacrifice, target, source.getSourceId(), game);
|
||||
|
|
|
|||
|
|
@ -155,7 +155,6 @@ class CallToTheKindredEffect extends OneShotEffect {
|
|||
}
|
||||
|
||||
TargetCard target = new TargetCard(Zone.PICK, new FilterCard("card to put on the bottom of your library"));
|
||||
target.setRequired(true);
|
||||
while (player.isInGame() && cards.size() > 1) {
|
||||
player.choose(Outcome.Neutral, cards, target, game);
|
||||
Card card = cards.get(target.getFirstTarget(), game);
|
||||
|
|
|
|||
|
|
@ -115,7 +115,6 @@ class CurseOfMisfortunesEffect extends OneShotEffect {
|
|||
}
|
||||
|
||||
TargetCardInLibrary targetCard = new TargetCardInLibrary(filter);
|
||||
targetCard.setRequired(true);
|
||||
if (player.searchLibrary(targetCard, game)) {
|
||||
Card card = game.getCard(targetCard.getFirstTarget());
|
||||
if (card != null) {
|
||||
|
|
|
|||
|
|
@ -77,7 +77,6 @@ public class DungeonGeists extends CardImpl {
|
|||
Ability ability = new EntersBattlefieldTriggeredAbility(new TapTargetEffect(), false);
|
||||
ability.addEffect(new DungeonGeistsEffect());
|
||||
Target target = new TargetCreaturePermanent(filter);
|
||||
target.setRequired(true);
|
||||
ability.addTarget(target);
|
||||
this.addAbility(ability);
|
||||
// watcher needed to send normal events to Dungeon Geists ReplacementEffect
|
||||
|
|
|
|||
|
|
@ -107,7 +107,6 @@ class GruesomeDiscoveryEffect extends OneShotEffect {
|
|||
}
|
||||
|
||||
TargetCard target = new TargetCard(2, Zone.PICK, new FilterCard());
|
||||
target.setRequired(true);
|
||||
if (player.choose(Outcome.Benefit, targetPlayer.getHand(), target, game)) {
|
||||
List<UUID> targets = target.getTargets();
|
||||
for (UUID targetId : targets) {
|
||||
|
|
|
|||
|
|
@ -60,7 +60,6 @@ public class HollowhengeSpirit extends CardImpl {
|
|||
// When Hollowhenge Spirit enters the battlefield, remove target attacking or blocking creature from combat.
|
||||
Ability ability = new EntersBattlefieldTriggeredAbility(new RemoveFromCombatTargetEffect());
|
||||
Target target = new TargetAttackingOrBlockingCreature();
|
||||
target.setRequired(true);
|
||||
ability.addTarget(target);
|
||||
this.addAbility(ability);
|
||||
|
||||
|
|
|
|||
|
|
@ -142,7 +142,6 @@ class RavagerOfTheFellsAbility extends TriggeredAbilityImpl {
|
|||
public RavagerOfTheFellsAbility() {
|
||||
super(Zone.BATTLEFIELD, new RavagerOfTheFellsEffect(), false);
|
||||
Target target1 = new TargetOpponent();
|
||||
target1.setRequired(true);
|
||||
this.addTarget(target1);
|
||||
this.addTarget(new RavagerOfTheFellsTarget());
|
||||
// Rule only shown on the night side
|
||||
|
|
|
|||
|
|
@ -69,7 +69,6 @@ public class IncreasingVengeance extends CardImpl {
|
|||
// Copy target instant or sorcery spell you control. If Increasing Vengeance was cast from a graveyard, copy that spell twice instead. You may choose new targets for the copies.
|
||||
this.getSpellAbility().addEffect(new IncreasingVengeanceEffect());
|
||||
Target target = new TargetSpell(filter);
|
||||
target.setRequired(true);
|
||||
this.getSpellAbility().addTarget(target);
|
||||
|
||||
// Flashback {3}{R}{R}
|
||||
|
|
|
|||
|
|
@ -213,7 +213,6 @@ class JarOfEyeballsEffect extends OneShotEffect {
|
|||
}
|
||||
|
||||
target = new TargetCard(Zone.PICK, new FilterCard("card to put on the bottom of your library"));
|
||||
target.setRequired(true);
|
||||
while (cards.size() > 1) {
|
||||
player.choose(Outcome.Neutral, cards, target, game);
|
||||
Card card = cards.get(target.getFirstTarget(), game);
|
||||
|
|
|
|||
|
|
@ -58,7 +58,6 @@ public class MarkovWarlord extends CardImpl {
|
|||
// When Markov Warlord enters the battlefield, up to two target creatures can't block this turn.
|
||||
EntersBattlefieldTriggeredAbility ability = new EntersBattlefieldTriggeredAbility(new CantBlockTargetEffect(Duration.EndOfTurn));
|
||||
TargetCreaturePermanent target = new TargetCreaturePermanent(0, 2);
|
||||
target.setRequired(true);
|
||||
ability.addTarget(target);
|
||||
this.addAbility(ability);
|
||||
|
||||
|
|
|
|||
|
|
@ -100,7 +100,6 @@ class WerewolfRansackerAbility extends TriggeredAbilityImpl {
|
|||
public WerewolfRansackerAbility() {
|
||||
super(Zone.BATTLEFIELD, new WerewolfRansackerEffect(), true);
|
||||
Target target = new TargetPermanent(filter);
|
||||
target.setRequired(true);
|
||||
this.addTarget(target);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -172,7 +172,6 @@ class PanopticMirrorCastEffect extends OneShotEffect {
|
|||
}
|
||||
else{
|
||||
TargetCard target = new TargetCard(1, Zone.EXILED, new FilterCard("card to copy"));
|
||||
target.setRequired(true);
|
||||
controller.choose(Outcome.Copy, cards, target, game);
|
||||
cardToCopy = cards.get(target.getFirstTarget(), game);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -102,7 +102,6 @@ class SunderingTitanDestroyLandEffect extends OneShotEffect {
|
|||
FilterLandPermanent filter = new FilterLandPermanent(new StringBuilder(landName).append(" to destroy").toString());
|
||||
filter.add(new SubtypePredicate(landName));
|
||||
Target target = new TargetLandPermanent(1,1, filter, true);
|
||||
target.setRequired(true);
|
||||
if (target.canChoose(source.getSourceId(), source.getControllerId(), game)) {
|
||||
controller.chooseTarget(outcome, target, source, game);
|
||||
lands.add(target.getFirstTarget());
|
||||
|
|
|
|||
|
|
@ -119,7 +119,6 @@ class SeekEffect extends OneShotEffect {
|
|||
if (player != null && opponent != null) {
|
||||
if (opponent.getLibrary().size() > 0) {
|
||||
TargetCardInLibrary target = new TargetCardInLibrary();
|
||||
target.setRequired(true);
|
||||
if (player.searchLibrary(target, game, opponent.getId())) {
|
||||
UUID targetId = target.getFirstTarget();
|
||||
Card card = opponent.getLibrary().remove(targetId, game);
|
||||
|
|
|
|||
|
|
@ -105,7 +105,6 @@ class InfernalTutorEffect extends OneShotEffect {
|
|||
Card cardToReveal = null;
|
||||
if (controller.getHand().size() > 1) {
|
||||
Target target = new TargetCardInHand(new FilterCard());
|
||||
target.setRequired(true);
|
||||
target.setNotTarget(true);
|
||||
if (controller.chooseTarget(outcome, target, source, game)) {
|
||||
cardToReveal = game.getCard(target.getFirstTarget());
|
||||
|
|
|
|||
|
|
@ -114,7 +114,6 @@ class EnteringReturnFromGraveyardToBattlefieldEffect extends OneShotEffect {
|
|||
if (player != null) {
|
||||
Target target = new TargetCardInGraveyard(new FilterCreatureCard());
|
||||
target.setNotTarget(true);
|
||||
target.setRequired(true);
|
||||
if (target.canChoose(source.getSourceId(), source.getControllerId(), game) &&
|
||||
player.chooseTarget(outcome, target, source, game)) {
|
||||
Card card = game.getCard(target.getFirstTarget());
|
||||
|
|
|
|||
|
|
@ -140,11 +140,6 @@ class ReleaseSacrificeEffect extends OneShotEffect {
|
|||
Target target4 = new TargetControlledPermanent(1, 1, filter4, false);
|
||||
Target target5 = new TargetControlledPermanent(1, 1, filter5, false);
|
||||
|
||||
target1.setRequired(true);
|
||||
target2.setRequired(true);
|
||||
target3.setRequired(true);
|
||||
target4.setRequired(true);
|
||||
target5.setRequired(true);
|
||||
|
||||
target1.setNotTarget(false);
|
||||
target2.setNotTarget(false);
|
||||
|
|
|
|||
|
|
@ -60,7 +60,6 @@ public class ClearAPath extends CardImpl {
|
|||
// Destroy target creature with defender.
|
||||
this.getSpellAbility().addEffect(new DestroyTargetEffect());
|
||||
Target target = new TargetCreaturePermanent(filter);
|
||||
target.setRequired(true);
|
||||
this.getSpellAbility().addTarget(target);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -71,7 +71,6 @@ public class DeputyOfAcquittals extends CardImpl {
|
|||
// When Deputy of Acquittals enters the battlefield, you may return another target creature you control to its owner's hand.
|
||||
Ability ability = new EntersBattlefieldTriggeredAbility(new ReturnToHandTargetEffect(), true);
|
||||
Target target = new TargetCreaturePermanent(filter);
|
||||
target.setRequired(true);
|
||||
ability.addTarget(target);
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -69,7 +69,6 @@ public class FleshBlood extends SplitCard {
|
|||
getLeftHalfCard().getColor().setBlack(true);
|
||||
getLeftHalfCard().getColor().setGreen(true);
|
||||
Target target = new TargetCardInGraveyard(new FilterCreatureCard());
|
||||
target.setRequired(true);
|
||||
getLeftHalfCard().getSpellAbility().addTarget(target);
|
||||
getLeftHalfCard().getSpellAbility().addTarget(new TargetCreaturePermanent());
|
||||
getLeftHalfCard().getSpellAbility().addEffect(new FleshEffect());
|
||||
|
|
|
|||
|
|
@ -71,7 +71,6 @@ public class HaazdaSnareSquad extends CardImpl {
|
|||
Ability ability = new AttacksTriggeredAbility(new DoIfCostPaid(new TapTargetEffect(""), new ManaCostsImpl("{W}")),false,
|
||||
"Whenever {this} attacks you may pay {W}. If you do, tap target creature an opponent controls.");
|
||||
Target target = new TargetCreaturePermanent(filter);
|
||||
target.setRequired(true);
|
||||
ability.addTarget(target);
|
||||
this.addAbility(ability);
|
||||
|
||||
|
|
|
|||
|
|
@ -53,10 +53,8 @@ public class PunishTheEnemy extends CardImpl {
|
|||
// Punish the Enemy deals 3 damage to target player and 3 damage to target creature.
|
||||
this.getSpellAbility().addEffect(new DamageTargetEffect(3, true, "target player and 3 damage to target creature"));
|
||||
Target target = new TargetPlayer();
|
||||
target.setRequired(true);
|
||||
this.getSpellAbility().addTarget(target);
|
||||
target = new TargetCreaturePermanent();
|
||||
target.setRequired(true);
|
||||
this.getSpellAbility().addTarget(target);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -67,7 +67,6 @@ public class Showstopper extends CardImpl {
|
|||
// Until end of turn, creatures you control gain "When this creature dies, it deals 2 damage to target creature an opponent controls."
|
||||
TriggeredAbility ability = new DiesTriggeredAbility(new DamageTargetEffect(2), false);
|
||||
Target target = new TargetCreaturePermanent(filter2);
|
||||
target.setRequired(true);
|
||||
ability.addTarget(target);
|
||||
Effect effect = new GainAbilityControlledEffect(ability, Duration.EndOfTurn, filter);
|
||||
effect.setText("Until end of turn, creatures you control gain \"When this creature dies, it deals 2 damage to target creature an opponent controls.\" ");
|
||||
|
|
|
|||
|
|
@ -83,7 +83,6 @@ public class SmeltWardGatekeepers extends CardImpl {
|
|||
ability.addEffect(new UntapTargetEffect());
|
||||
ability.addEffect(new GainAbilityTargetEffect(HasteAbility.getInstance(), Duration.EndOfTurn));
|
||||
Target target = new TargetCreaturePermanent(targetFilter);
|
||||
target.setRequired(true);
|
||||
ability.addTarget(target);
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -77,7 +77,6 @@ public class UbulSarGatekeepers extends CardImpl {
|
|||
new ControlsPermanentCondition(filter, ControlsPermanentCondition.CountType.MORE_THAN, 1),
|
||||
"Whenever {this} enters the battlefield, if you control two or more Gates, target creature an opponent controls gets -2/-2 until end of turn.");
|
||||
Target target = new TargetCreaturePermanent(targetFilter);
|
||||
target.setRequired(true);
|
||||
ability.addTarget(target);
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -55,7 +55,6 @@ public class WearTear extends SplitCard {
|
|||
getLeftHalfCard().getColor().setRed(true);
|
||||
getLeftHalfCard().getSpellAbility().addEffect(new DestroyTargetEffect());
|
||||
Target target = new TargetArtifactPermanent();
|
||||
target.setRequired(true);
|
||||
getLeftHalfCard().getSpellAbility().addTarget(target);
|
||||
|
||||
// Tear
|
||||
|
|
@ -63,7 +62,6 @@ public class WearTear extends SplitCard {
|
|||
getRightHalfCard().getColor().setWhite(true);
|
||||
getRightHalfCard().getSpellAbility().addEffect(new DestroyTargetEffect());
|
||||
target = new TargetPermanent(new FilterEnchantment());
|
||||
target.setRequired(true);
|
||||
getRightHalfCard().getSpellAbility().addTarget(target);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -57,7 +57,6 @@ public class EchoingTruth extends CardImpl {
|
|||
|
||||
// Return target nonland permanent and all other permanents with the same name as that permanent to their owners' hands.
|
||||
Target target = new TargetNonlandPermanent();
|
||||
target.setRequired(true);
|
||||
this.getSpellAbility().addTarget(target);
|
||||
this.getSpellAbility().addEffect(new ReturnToHandAllNamedPermanentsEffect());
|
||||
}
|
||||
|
|
|
|||
|
|
@ -63,7 +63,6 @@ public class CrumblingAshes extends CardImpl {
|
|||
// At the beginning of your upkeep, destroy target creature with a -1/-1 counter on it.
|
||||
Ability ability = new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new DestroyTargetEffect(), TargetController.YOU, false);
|
||||
Target target = new TargetCreaturePermanent(filter);
|
||||
target.setRequired(true);
|
||||
ability.addTarget(target);
|
||||
this.addAbility(ability);
|
||||
|
||||
|
|
|
|||
|
|
@ -102,7 +102,6 @@ class DoomgapeEffect extends OneShotEffect {
|
|||
if (you != null) {
|
||||
Target target = new TargetControlledCreaturePermanent();
|
||||
target.setNotTarget(true);
|
||||
target.setRequired(true);
|
||||
if (you.choose(Outcome.Sacrifice, target, source.getId(), game)) {
|
||||
Permanent creature = game.getPermanent(target.getFirstTarget());
|
||||
if (creature != null) {
|
||||
|
|
|
|||
|
|
@ -69,7 +69,6 @@ public class RazorfinAbolisher extends CardImpl {
|
|||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ReturnToHandTargetEffect(), new ManaCostsImpl("{1}{U}"));
|
||||
ability.addCost(new TapSourceCost());
|
||||
Target target = new TargetCreaturePermanent(filter);
|
||||
target.setRequired(true);
|
||||
ability.addTarget(target);
|
||||
this.addAbility(ability);
|
||||
|
||||
|
|
|
|||
|
|
@ -107,7 +107,6 @@ class TalarasBaneEffect extends OneShotEffect {
|
|||
if (targetPlayer != null && you != null) {
|
||||
targetPlayer.revealCards("Talaras Bane", targetPlayer.getHand(), game);
|
||||
TargetCard target = new TargetCard(Zone.PICK, filter);
|
||||
target.setRequired(true);
|
||||
if (you.choose(Outcome.Benefit, targetPlayer.getHand(), target, game)) {
|
||||
card = targetPlayer.getHand().get(target.getFirstTarget(), game);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -111,10 +111,6 @@ class CataclysmEffect extends OneShotEffect {
|
|||
Target target3 = new TargetControlledPermanent(1, 1, filter3, false);
|
||||
Target target4 = new TargetControlledPermanent(1, 1, filter4, false);
|
||||
|
||||
target1.setRequired(true);
|
||||
target2.setRequired(true);
|
||||
target3.setRequired(true);
|
||||
target4.setRequired(true);
|
||||
|
||||
target1.setNotTarget(true);
|
||||
target2.setNotTarget(true);
|
||||
|
|
|
|||
|
|
@ -107,7 +107,6 @@ class ChooseOpponent extends OneShotEffect {
|
|||
Permanent permanent = game.getPermanent(source.getSourceId());
|
||||
if (player != null && permanent != null) {
|
||||
TargetOpponent target = new TargetOpponent();
|
||||
target.setRequired(true);
|
||||
target.setNotTarget(true);
|
||||
if (player.choose(this.outcome, target, source.getSourceId(), game)) {
|
||||
Player chosenPlayer = game.getPlayer(target.getFirstTarget());
|
||||
|
|
|
|||
|
|
@ -81,7 +81,6 @@ public class OathOfDruids extends CardImpl {
|
|||
ability.setControllerId(activePlayer.getId());
|
||||
ability.getTargets().clear();
|
||||
TargetPlayer target = new TargetPlayer(1, 1, false, filter);
|
||||
target.setRequired(true);
|
||||
ability.getTargets().add(target);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -96,7 +96,6 @@ class BrainstormEffect extends OneShotEffect {
|
|||
|
||||
private boolean putOnLibrary(Player player, Ability source, Game game) {
|
||||
TargetCardInHand target = new TargetCardInHand();
|
||||
target.setRequired(true);
|
||||
player.chooseTarget(Outcome.ReturnToHand, target, source, game);
|
||||
Card card = player.getHand().get(target.getFirstTarget(), game);
|
||||
if (card != null) {
|
||||
|
|
|
|||
|
|
@ -205,7 +205,6 @@ class JuxtaposeEffect extends ContinuousEffectImpl {
|
|||
}
|
||||
|
||||
TargetCard targetCard = new TargetCard(Zone.BATTLEFIELD, new FilterCard());
|
||||
targetCard.setRequired(true);
|
||||
if (player.choose(Outcome.Benefit, cards, targetCard, game)) {
|
||||
permanent = game.getPermanent(targetCard.getFirstTarget());
|
||||
}
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue