Use ChooseHint for some cards with two targets

This commit is contained in:
Alex W. Jackson 2022-07-14 19:36:59 -04:00
parent 82d9136f2e
commit 7ede88f220
3 changed files with 25 additions and 54 deletions

View file

@ -1,42 +1,32 @@
package mage.cards.a;
import java.util.UUID;
import mage.abilities.effects.Effect;
import mage.abilities.effects.common.continuous.BoostTargetEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.Duration;
import mage.filter.common.FilterCreaturePermanent;
import mage.target.Target;
import mage.target.common.TargetCreaturePermanent;
import mage.target.targetpointer.SecondTargetPointer;
/**
*
* @author North
* @author awjackson
*/
public final class AgonyWarp extends CardImpl {
public AgonyWarp(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{U}{B}");
// Target creature gets -3/-0 until end of turn.
Effect effect = new BoostTargetEffect(-3,0, Duration.EndOfTurn);
effect.setText("Target creature gets -3/-0 until end of turn");
this.getSpellAbility().addEffect(effect);
Target target = new TargetCreaturePermanent(new FilterCreaturePermanent("first creature"));
this.getSpellAbility().addTarget(target);
this.getSpellAbility().addTarget(new TargetCreaturePermanent().withChooseHint("-3/-0"));
this.getSpellAbility().addEffect(new BoostTargetEffect(-3, 0, Duration.EndOfTurn));
// Target creature gets -0/-3 until end of turn.
Effect effect2 = new BoostTargetEffect(-0,-3, Duration.EndOfTurn);
effect2.setText("<br><br>Target creature gets -0/-3 until end of turn");
effect2.setTargetPointer(SecondTargetPointer.getInstance());
this.getSpellAbility().addEffect(effect2);
target = new TargetCreaturePermanent(new FilterCreaturePermanent("second creature (can be the same as the first)"));
this.getSpellAbility().addTarget(target);
this.getSpellAbility().addTarget(new TargetCreaturePermanent().withChooseHint("-0/-3"));
this.getSpellAbility().addEffect(new BoostTargetEffect(0, -3, Duration.EndOfTurn)
.setTargetPointer(SecondTargetPointer.getInstance())
.concatBy("<br>"));
}
private AgonyWarp(final AgonyWarp card) {

View file

@ -1,44 +1,37 @@
package mage.cards.d;
import java.util.UUID;
import mage.abilities.Mode;
import mage.abilities.effects.Effect;
import mage.abilities.effects.common.TapTargetEffect;
import mage.abilities.effects.common.UntapTargetEffect;
import mage.abilities.keyword.EntwineAbility;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.FilterPermanent;
import mage.target.TargetPermanent;
/**
*
* @author michael.napoleon@gmail.com
* @author awjackson
*/
public final class DreamsGrip extends CardImpl {
public DreamsGrip(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{U}");
// Choose one -
// Choose one -
this.getSpellAbility().getModes().setMinModes(1);
this.getSpellAbility().getModes().setMaxModes(1);
//Tap target permanent;
TargetPermanent target1 = new TargetPermanent(new FilterPermanent("Permanent to tap"));
Effect tapEffect = new TapTargetEffect();
tapEffect.setText("Tap target permanent");
this.getSpellAbility().addTarget(target1);
this.getSpellAbility().addEffect(tapEffect);
//Tap target permanent;
this.getSpellAbility().addEffect(new TapTargetEffect());
this.getSpellAbility().addTarget(new TargetPermanent().withChooseHint("to tap"));
//or untap target permanent.
Effect untapEffect = new UntapTargetEffect();
untapEffect.setText("Untap target permanent");
Mode mode = new Mode(untapEffect);
TargetPermanent target2 = new TargetPermanent(new FilterPermanent("Permanent to untap"));
mode.addTarget(target2);
Mode mode = new Mode(new UntapTargetEffect());
mode.addTarget(new TargetPermanent().withChooseHint("to untap"));
this.getSpellAbility().addMode(mode);
// Entwine {1}
this.addAbility(new EntwineAbility("{1}"));
}

View file

@ -1,44 +1,32 @@
package mage.cards.m;
import java.util.UUID;
import mage.abilities.effects.Effect;
import mage.abilities.effects.common.continuous.BoostTargetEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.Duration;
import mage.filter.common.FilterCreaturePermanent;
import mage.target.Target;
import mage.target.common.TargetCreaturePermanent;
import mage.target.targetpointer.SecondTargetPointer;
/**
*
* @author LevelX2
* @author awjackson
*/
public final class MartialGlory extends CardImpl {
public MartialGlory(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{R}{W}");
// Target creature gets +3/+0 until end of turn.
Effect effect = new BoostTargetEffect(3,0, Duration.EndOfTurn);
effect.setText("Target creature gets +3/+0 until end of turn");
Target target = new TargetCreaturePermanent(new FilterCreaturePermanent("first creature"));
this.getSpellAbility().addEffect(effect);
this.getSpellAbility().addTarget(target);
// Target creature gets +0/+3 until end of turn.
Effect effect2 = new BoostTargetEffect(0,3, Duration.EndOfTurn);
effect2.setText("<br><br>Target creature gets +0/+3 until end of turn");
effect2.setTargetPointer(SecondTargetPointer.getInstance());
target = new TargetCreaturePermanent(new FilterCreaturePermanent("second creature (can be the same as the first)"));
this.getSpellAbility().addEffect(effect2);
this.getSpellAbility().addTarget(target);
this.getSpellAbility().addTarget(new TargetCreaturePermanent().withChooseHint("+3/+0"));
this.getSpellAbility().addEffect(new BoostTargetEffect(3, 0, Duration.EndOfTurn));
// Target creature gets +0/+3 until end of turn.
this.getSpellAbility().addTarget(new TargetCreaturePermanent().withChooseHint("+0/+3"));
this.getSpellAbility().addEffect(new BoostTargetEffect(0, 3, Duration.EndOfTurn)
.setTargetPointer(SecondTargetPointer.getInstance())
.concatBy("<br>"));
}
private MartialGlory(final MartialGlory card) {