text fixes for blink effects

This commit is contained in:
Evan Kranzler 2022-06-07 08:56:43 -04:00
parent 81c8d4e28f
commit 3d0e8c3404
16 changed files with 29 additions and 23 deletions

View file

@ -22,7 +22,7 @@ public final class AcrobaticManeuver extends CardImpl {
// Exile target creature you control, then return that card to the battlefield under its owner's control.
this.getSpellAbility().addTarget(new TargetControlledCreaturePermanent());
this.getSpellAbility().addEffect(new ExileTargetForSourceEffect());
this.getSpellAbility().addEffect(new ReturnToBattlefieldUnderOwnerControlTargetEffect(false, false).concatBy(","));
this.getSpellAbility().addEffect(new ReturnToBattlefieldUnderOwnerControlTargetEffect(false, false));
// Draw a card.
this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1).concatBy("<br>"));

View file

@ -33,7 +33,7 @@ import java.util.UUID;
*/
public class AminatouTheFateshifter extends CardImpl {
private static final FilterPermanent filter = new FilterPermanent("permanent you own");
private static final FilterPermanent filter = new FilterPermanent("another target permanent you own");
static {
filter.add(TargetController.YOU.getOwnerPredicate());

View file

@ -23,7 +23,7 @@ public final class Displace extends CardImpl {
this.getSpellAbility().addTarget(new TargetControlledCreaturePermanent(0, 2, StaticFilters.FILTER_CONTROLLED_CREATURES, false));
this.getSpellAbility().addEffect(new ExileTargetForSourceEffect());
this.getSpellAbility().addEffect(new ReturnToBattlefieldUnderOwnerControlTargetEffect(false, false)
.withReturnNames("those cards", "their owner's").concatBy(", then"));
.withReturnNames("those cards", "their owner's"));
}
private Displace(final Displace card) {

View file

@ -9,7 +9,10 @@ import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.constants.TargetController;
import mage.filter.FilterPermanent;
import mage.filter.StaticFilters;
import mage.filter.common.FilterNonlandPermanent;
import mage.target.TargetPermanent;
import java.util.UUID;
@ -19,6 +22,12 @@ import java.util.UUID;
*/
public final class DisplacerKitten extends CardImpl {
private static final FilterPermanent filter = new FilterNonlandPermanent("nonland permanent you control");
static {
filter.add(TargetController.YOU.getControllerPredicate());
}
public DisplacerKitten(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{U}");
@ -32,9 +41,7 @@ public final class DisplacerKitten extends CardImpl {
new ExileTargetForSourceEffect(), StaticFilters.FILTER_SPELL_A_NON_CREATURE, false
);
ability.addEffect(new ReturnToBattlefieldUnderOwnerControlTargetEffect(false, false));
ability.addTarget(new TargetPermanent(
0, 1, StaticFilters.FILTER_CONTROLLED_PERMANENT_NON_LAND
));
ability.addTarget(new TargetPermanent(0, 1, filter));
this.addAbility(ability.withFlavorWord("Avoidance"));
}

View file

@ -41,7 +41,7 @@ public final class EldraziDisplacer extends CardImpl {
// {2}{C}: Exile another target creature, then return it to the battlefield tapped under its owner's control.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ExileTargetForSourceEffect(), new ManaCostsImpl<>("{2}{C}"));
ability.addEffect(new ReturnToBattlefieldUnderOwnerControlTargetEffect(true, false)
.withReturnNames("it", "its owner's").concatBy(", then"));
.withReturnNames("it", "its owner's"));
ability.addTarget(new TargetCreaturePermanent(FILTER));
this.addAbility(ability);
}

View file

@ -36,7 +36,7 @@ public final class FelidarGuardian extends CardImpl {
// When Felidar Guardian enters the battlefield, you may exile another target permanent you control, then return that card to the battlefield under its owner's control.
Ability ability = new EntersBattlefieldTriggeredAbility(new ExileTargetForSourceEffect(), true);
ability.addEffect(new ReturnToBattlefieldUnderOwnerControlTargetEffect(false, false).concatBy(","));
ability.addEffect(new ReturnToBattlefieldUnderOwnerControlTargetEffect(false, false));
ability.addTarget(new TargetControlledPermanent(filter));
this.addAbility(ability);
}

View file

@ -22,7 +22,7 @@ public final class IllusionistsStratagem extends CardImpl {
// Exile up to two target creatures you control, then return those cards to the battlefield under their owner's control.
this.getSpellAbility().addEffect(new ExileTargetForSourceEffect());
this.getSpellAbility().addEffect(new ReturnToBattlefieldUnderYourControlTargetEffect(false)
.withReturnNames("those cards", "their owner's").concatBy(", then"));
.withReturnNames("those cards", "their owner's"));
this.getSpellAbility().addTarget(new TargetControlledCreaturePermanent(0, 2,
StaticFilters.FILTER_CONTROLLED_CREATURES, false));

View file

@ -32,7 +32,7 @@ public final class RuinGhost extends CardImpl {
// {W}, {T}: Exile target land you control, then return it to the battlefield under your control.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ExileTargetForSourceEffect(), new ManaCostsImpl("{W}"));
ability.addCost(new TapSourceCost());
ability.addEffect(new ReturnToBattlefieldUnderYourControlTargetEffect(false).concatBy(", then"));
ability.addEffect(new ReturnToBattlefieldUnderYourControlTargetEffect(false));
ability.addTarget(new TargetPermanent(StaticFilters.FILTER_CONTROLLED_PERMANENT_LAND));
this.addAbility(ability);
}

View file

@ -1,7 +1,5 @@
package mage.cards.s;
import java.util.UUID;
import mage.abilities.TriggeredAbilityImpl;
import mage.abilities.effects.common.ReturnToBattlefieldUnderYourControlTargetEffect;
import mage.cards.CardImpl;
@ -14,8 +12,9 @@ import mage.game.events.ZoneChangeEvent;
import mage.game.permanent.Permanent;
import mage.target.targetpointer.FixedTarget;
import java.util.UUID;
/**
*
* @author dustinconrad
*/
public final class SacredGround extends CardImpl {
@ -73,7 +72,7 @@ class SacredGroundTriggeredAbility extends TriggeredAbilityImpl {
}
@Override
public String getTriggerPhrase() {
return "Whenever a spell or ability an opponent controls causes a land to be put into your graveyard from the battlefield, " ;
public String getRule() {
return "Whenever a spell or ability an opponent controls causes a land to be put into your graveyard from the battlefield, return that card to the battlefield.";
}
}

View file

@ -28,7 +28,7 @@ public final class SoulCollector extends CardImpl {
this.addAbility(FlyingAbility.getInstance());
// Whenever a creature dealt damage by Soul Collector this turn dies, return that card to the battlefield under your control.
this.addAbility(new DealtDamageAndDiedTriggeredAbility(new ReturnToBattlefieldUnderYourControlTargetEffect()));
this.addAbility(new DealtDamageAndDiedTriggeredAbility(new ReturnToBattlefieldUnderYourControlTargetEffect().setText("return that card to the battlefield under your control")));
// Morph {B}{B}{B}
this.addAbility(new MorphAbility(new ManaCostsImpl("{B}{B}{B}")));

View file

@ -50,7 +50,7 @@ public final class Soulherder extends CardImpl {
Ability ability = new BeginningOfEndStepTriggeredAbility(
new ExileTargetForSourceEffect(), TargetController.YOU, true
);
ability.addEffect(new ReturnToBattlefieldUnderOwnerControlTargetEffect(false, false).concatBy(","));
ability.addEffect(new ReturnToBattlefieldUnderOwnerControlTargetEffect(false, false));
ability.addTarget(new TargetControlledCreaturePermanent(filter));
this.addAbility(ability);
}

View file

@ -3,7 +3,7 @@ package mage.cards.t;
import mage.abilities.Ability;
import mage.abilities.common.BeginningOfYourEndStepTriggeredAbility;
import mage.abilities.effects.common.ExileTargetForSourceEffect;
import mage.abilities.effects.common.ReturnToBattlefieldUnderYourControlTargetEffect;
import mage.abilities.effects.common.ReturnToBattlefieldUnderOwnerControlTargetEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
@ -34,7 +34,7 @@ public final class TeleportationCircle extends CardImpl {
// At the beginning of your end step, exile up to one target artifact or creature you control, then return that card to the battlefield under its owner's control.
Ability ability = new BeginningOfYourEndStepTriggeredAbility(new ExileTargetForSourceEffect(), false);
ability.addEffect(new ReturnToBattlefieldUnderYourControlTargetEffect(false));
ability.addEffect(new ReturnToBattlefieldUnderOwnerControlTargetEffect(false, false));
ability.addTarget(new TargetPermanent(0, 1, filter));
this.addAbility(ability);
}

View file

@ -59,7 +59,7 @@ public final class ThassaDeepDwelling extends CardImpl {
new ExileTargetForSourceEffect(),
TargetController.YOU, false
);
ability.addEffect(new ReturnToBattlefieldUnderYourControlTargetEffect().concatBy(", then"));
ability.addEffect(new ReturnToBattlefieldUnderYourControlTargetEffect());
ability.addTarget(new TargetPermanent(
0, 1, filterOther, false
));

View file

@ -38,7 +38,7 @@ public final class WispweaverAngel extends CardImpl {
// When Wispweaver Angel enters the battlefield, you may exile another target creature you control, then return that card to the battlefield under its owner's control.
Ability ability = new EntersBattlefieldTriggeredAbility(new ExileTargetForSourceEffect(), true);
ability.addEffect(new ReturnToBattlefieldUnderOwnerControlTargetEffect(false, false).concatBy(","));
ability.addEffect(new ReturnToBattlefieldUnderOwnerControlTargetEffect(false, false));
ability.addTarget(new TargetControlledCreaturePermanent(1, 1, filter, false));
this.addAbility(ability);
}

View file

@ -47,7 +47,7 @@ public class ReturnToBattlefieldUnderOwnerControlTargetEffect extends OneShotEff
}
private void updateText() {
this.staticText = "then return " + this.returnName
this.staticText = ", then return " + this.returnName
+ " to the battlefield" + (tapped ? " tapped" : "")
+ " under " + this.returnUnderControlName + " control";
}

View file

@ -59,7 +59,7 @@ public class ReturnToBattlefieldUnderYourControlTargetEffect extends OneShotEffe
}
private void updateText() {
this.staticText = "return " + returnName + " to the battlefield under " + returnUnderControlName + " control"
this.staticText = ", then return " + returnName + " to the battlefield under " + returnUnderControlName + " control"
+ (tapped ? " tapped" : "")
+ (tapped && attacking ? " and" : "")
+ (attacking ? " attacking" : "");