[MID] a few more text fixes

This commit is contained in:
Evan Kranzler 2021-10-05 08:20:37 -04:00
parent 4fe2904f3f
commit f3d643a351
8 changed files with 27 additions and 13 deletions

View file

@ -32,7 +32,7 @@ public final class BereavedSurvivor extends CardImpl {
this.addAbility(new DiesCreatureTriggeredAbility(
new TransformSourceEffect(true), false,
StaticFilters.FILTER_CONTROLLED_ANOTHER_CREATURE
));
).setTriggerPhrase("When another creature you control dies, "));
}
private BereavedSurvivor(final BereavedSurvivor card) {

View file

@ -12,6 +12,7 @@ import mage.constants.CardType;
import mage.constants.SubType;
import mage.constants.SuperType;
import mage.constants.TargetController;
import mage.filter.StaticFilters;
import java.util.UUID;
@ -36,7 +37,10 @@ public final class DennickPiousApparition extends CardImpl {
this.addAbility(FlyingAbility.getInstance());
// Whenever one or more creature cards are put into graveyards from anywhere, investigate. This ability triggers only once each turn.
this.addAbility(new PutCardIntoGraveFromAnywhereAllTriggeredAbility(new InvestigateEffect(1), false, TargetController.ANY).setTriggersOnce(true));
this.addAbility(new PutCardIntoGraveFromAnywhereAllTriggeredAbility(
new InvestigateEffect(1), false,
StaticFilters.FILTER_CARD_CREATURE, TargetController.ANY
).setTriggersOnce(true).setTriggerPhrase("Whenever one or more creature cards are put into graveyards from anywhere, "));
// If Dennick, Pious Apparition would be put into a graveyard from anywhere, exile it instead.
this.addAbility(new PutIntoGraveFromAnywhereSourceAbility(new ExileSourceEffect().setText("exile it instead")));

View file

@ -13,6 +13,7 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.filter.FilterPermanent;
import mage.filter.StaticFilters;
import mage.filter.common.FilterArtifactOrEnchantmentPermanent;
import mage.filter.predicate.permanent.DefendingPlayerControlsPredicate;
import mage.target.TargetPermanent;
@ -44,6 +45,7 @@ public final class FrenziedTrapbreaker extends CardImpl {
// {1}, Sacrifice Frenzied Trapbreaker: Destroy target artifact or enchantment.
Ability ability = new SimpleActivatedAbility(new DestroyTargetEffect(), new GenericManaCost(1));
ability.addCost(new SacrificeSourceCost());
ability.addTarget(new TargetPermanent(StaticFilters.FILTER_PERMANENT_ARTIFACT_OR_ENCHANTMENT));
this.addAbility(ability);
// Whenever Frenzied Trapbreaker attacks, destroy target artifact or enchantment defending player controls.

View file

@ -10,7 +10,9 @@ import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.filter.StaticFilters;
import mage.filter.FilterPermanent;
import mage.filter.common.FilterControlledCreaturePermanent;
import mage.filter.predicate.mageobject.AnotherPredicate;
import java.util.UUID;
@ -19,6 +21,13 @@ import java.util.UUID;
*/
public final class LuminousPhantom extends CardImpl {
private static final FilterPermanent filter
= new FilterControlledCreaturePermanent("another creature you control");
static {
filter.add(AnotherPredicate.instance);
}
public LuminousPhantom(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "");
@ -34,9 +43,7 @@ public final class LuminousPhantom extends CardImpl {
this.addAbility(FlyingAbility.getInstance());
// Whenever another creature you control leaves the battlefield, you gain 1 life.
this.addAbility(new LeavesBattlefieldAllTriggeredAbility(
new GainLifeEffect(1), StaticFilters.FILTER_CONTROLLED_ANOTHER_CREATURE
));
this.addAbility(new LeavesBattlefieldAllTriggeredAbility(new GainLifeEffect(1), filter));
// If Luminous Phantom would be put into a graveyard from anywhere, exile it instead.
this.addAbility(new PutIntoGraveFromAnywhereSourceAbility(new ExileSourceEffect().setText("exile it instead")));

View file

@ -66,7 +66,7 @@ class PhantomCarriageEffect extends SearchEffect {
public PhantomCarriageEffect() {
super(new TargetCardInLibrary(StaticFilters.FILTER_CARD_CREATURE), Outcome.Neutral);
staticText = "search your library for a card with flashback or disturb, put that card into your graveyard, then shuffle";
staticText = "search your library for a card with flashback or disturb, put it into your graveyard, then shuffle";
}
public PhantomCarriageEffect(final PhantomCarriageEffect effect) {

View file

@ -37,7 +37,7 @@ public final class SunstreakPhoenix extends CardImpl {
this.addAbility(new BecomesDayOrNightTriggeredAbility(
Zone.GRAVEYARD,
new DoIfCostPaid(
new ReturnSourceFromGraveyardToBattlefieldEffect(true),
new ReturnSourceFromGraveyardToBattlefieldEffect(true, false),
new ManaCostsImpl<>("{1}{R}")
)
));

View file

@ -58,7 +58,7 @@ public class VerifyCardDataTest {
private static final Logger logger = Logger.getLogger(VerifyCardDataTest.class);
private static final String FULL_ABILITIES_CHECK_SET_CODE = "MIC"; // check all abilities and output cards with wrong abilities texts;
private static final String FULL_ABILITIES_CHECK_SET_CODE = "MID"; // check all abilities and output cards with wrong abilities texts;
private static final boolean AUTO_FIX_SAMPLE_DECKS = false; // debug only: auto-fix sample decks by test_checkSampleDecks test run
private static final boolean ONLY_TEXT = false; // use when checking text locally, suppresses unnecessary checks and output messages

View file

@ -1,4 +1,3 @@
package mage.abilities.effects.common;
import mage.MageObject;
@ -10,11 +9,9 @@ import mage.filter.FilterObject;
import mage.filter.FilterSpell;
import mage.game.Game;
import mage.game.events.GameEvent;
import mage.game.events.GameEvent.EventType;
import mage.game.stack.Spell;
/**
*
* @author BetaSteward_at_googlemail.com
*/
public class CantBeCounteredControlledEffect extends ContinuousRuleModifyingEffectImpl {
@ -77,7 +74,11 @@ public class CantBeCounteredControlledEffect extends ContinuousRuleModifyingEffe
private void setText() {
StringBuilder sb = new StringBuilder();
sb.append(filterTarget.getMessage()).append(" can't be countered");
sb.append(filterTarget.getMessage());
if (!filterTarget.getMessage().contains("you control")) {
sb.append(" you control");
}
sb.append(" can't be countered");
if (filterSource != null) {
sb.append(" by ").append(filterSource.getMessage());
}