mirror of
https://github.com/magefree/mage.git
synced 2025-12-20 10:40:06 -08:00
[DFT] various text fixes
This commit is contained in:
parent
06f24515cc
commit
bc120a34c7
29 changed files with 39 additions and 32 deletions
|
|
@ -29,7 +29,7 @@ public final class BrightfieldMustang extends CardImpl {
|
||||||
|
|
||||||
// Whenever this creature attacks while saddled, untap it and put a +1/+1 counter on it.
|
// Whenever this creature attacks while saddled, untap it and put a +1/+1 counter on it.
|
||||||
Ability ability = new AttacksWhileSaddledTriggeredAbility(new UntapSourceEffect().setText("untap it"));
|
Ability ability = new AttacksWhileSaddledTriggeredAbility(new UntapSourceEffect().setText("untap it"));
|
||||||
ability.addEffect(new AddCountersSourceEffect(CounterType.P1P1.createInstance()));
|
ability.addEffect(new AddCountersSourceEffect(CounterType.P1P1.createInstance()).setText("and put a +1/+1 counter on it"));
|
||||||
this.addAbility(ability);
|
this.addAbility(ability);
|
||||||
|
|
||||||
// Saddle 1
|
// Saddle 1
|
||||||
|
|
|
||||||
|
|
@ -50,7 +50,7 @@ public final class BrightglassGearhulk extends CardImpl {
|
||||||
// When this creature enters, you may search your library for up to two artifact, creature, and/or enchantment cards with mana value 1 or less, reveal them, put them into your hand, then shuffle.
|
// When this creature enters, you may search your library for up to two artifact, creature, and/or enchantment cards with mana value 1 or less, reveal them, put them into your hand, then shuffle.
|
||||||
this.addAbility(new EntersBattlefieldTriggeredAbility(new SearchLibraryPutInHandEffect(
|
this.addAbility(new EntersBattlefieldTriggeredAbility(new SearchLibraryPutInHandEffect(
|
||||||
new TargetCardInLibrary(0, 2, filter), true
|
new TargetCardInLibrary(0, 2, filter), true
|
||||||
)));
|
), true));
|
||||||
}
|
}
|
||||||
|
|
||||||
private BrightglassGearhulk(final BrightglassGearhulk card) {
|
private BrightglassGearhulk(final BrightglassGearhulk card) {
|
||||||
|
|
|
||||||
|
|
@ -38,7 +38,7 @@ public final class BurnoutBashtronaut extends CardImpl {
|
||||||
|
|
||||||
// {2}: This creature gets +1/+0 until end of turn.
|
// {2}: This creature gets +1/+0 until end of turn.
|
||||||
this.addAbility(new SimpleActivatedAbility(
|
this.addAbility(new SimpleActivatedAbility(
|
||||||
new BoostSourceEffect(2, 0, Duration.EndOfTurn), new GenericManaCost(2)
|
new BoostSourceEffect(1, 0, Duration.EndOfTurn), new GenericManaCost(2)
|
||||||
));
|
));
|
||||||
|
|
||||||
// Max speed -- This creature has double strike.
|
// Max speed -- This creature has double strike.
|
||||||
|
|
|
||||||
|
|
@ -43,7 +43,7 @@ public final class CaradoraHeartOfAlacria extends CardImpl {
|
||||||
|
|
||||||
// When Caradora enters, you may search your library for a Mount or Vehicle card, reveal it, put it into your hand, then shuffle.
|
// When Caradora enters, you may search your library for a Mount or Vehicle card, reveal it, put it into your hand, then shuffle.
|
||||||
this.addAbility(new EntersBattlefieldTriggeredAbility(
|
this.addAbility(new EntersBattlefieldTriggeredAbility(
|
||||||
new SearchLibraryPutInHandEffect(new TargetCardInLibrary(filter), true)
|
new SearchLibraryPutInHandEffect(new TargetCardInLibrary(filter), true), true
|
||||||
));
|
));
|
||||||
|
|
||||||
// If one or more +1/+1 counters would be put on a creature or Vehicle you control, that many plus one +1/+1 counters are put on it instead.
|
// If one or more +1/+1 counters would be put on a creature or Vehicle you control, that many plus one +1/+1 counters are put on it instead.
|
||||||
|
|
|
||||||
|
|
@ -35,7 +35,7 @@ public final class CarrionCruiser extends CardImpl {
|
||||||
this.toughness = new MageInt(2);
|
this.toughness = new MageInt(2);
|
||||||
|
|
||||||
// When this Vehicle enters, mill two cards. Then return a creature or Vehicle card from your graveyard to your hand.
|
// When this Vehicle enters, mill two cards. Then return a creature or Vehicle card from your graveyard to your hand.
|
||||||
Ability ability = new EntersBattlefieldTriggeredAbility(new MillCardsControllerEffect(3));
|
Ability ability = new EntersBattlefieldTriggeredAbility(new MillCardsControllerEffect(2));
|
||||||
ability.addEffect(new CarrionCruiserEffect());
|
ability.addEffect(new CarrionCruiserEffect());
|
||||||
this.addAbility(ability);
|
this.addAbility(ability);
|
||||||
|
|
||||||
|
|
@ -66,7 +66,7 @@ class CarrionCruiserEffect extends OneShotEffect {
|
||||||
|
|
||||||
CarrionCruiserEffect() {
|
CarrionCruiserEffect() {
|
||||||
super(Outcome.Benefit);
|
super(Outcome.Benefit);
|
||||||
staticText = "then return a creature or Vehicle card from your graveyard to your hand";
|
staticText = "Then return a creature or Vehicle card from your graveyard to your hand";
|
||||||
}
|
}
|
||||||
|
|
||||||
private CarrionCruiserEffect(final CarrionCruiserEffect effect) {
|
private CarrionCruiserEffect(final CarrionCruiserEffect effect) {
|
||||||
|
|
|
||||||
|
|
@ -64,7 +64,7 @@ public final class ChandraSparkHunter extends CardImpl {
|
||||||
this.addAbility(new LoyaltyAbility(new CreateTokenEffect(new VehicleToken()), 0));
|
this.addAbility(new LoyaltyAbility(new CreateTokenEffect(new VehicleToken()), 0));
|
||||||
|
|
||||||
// -7: You get an emblem with "Whenever an artifact you control enters, this emblem deals 3 damage to any target."
|
// -7: You get an emblem with "Whenever an artifact you control enters, this emblem deals 3 damage to any target."
|
||||||
this.addAbility(new LoyaltyAbility(new GetEmblemEffect(new ChandraSparkHunterEmblem())));
|
this.addAbility(new LoyaltyAbility(new GetEmblemEffect(new ChandraSparkHunterEmblem()), -7));
|
||||||
}
|
}
|
||||||
|
|
||||||
private ChandraSparkHunter(final ChandraSparkHunter card) {
|
private ChandraSparkHunter(final ChandraSparkHunter card) {
|
||||||
|
|
|
||||||
|
|
@ -32,7 +32,7 @@ public final class EndriderCatalyzer extends CardImpl {
|
||||||
|
|
||||||
// Max speed -- {T}: Add {R}{R}.
|
// Max speed -- {T}: Add {R}{R}.
|
||||||
this.addAbility(new MaxSpeedAbility(new SimpleManaAbility(
|
this.addAbility(new MaxSpeedAbility(new SimpleManaAbility(
|
||||||
Zone.BATTLEFIELD, Mana.GreenMana(2), new TapSourceCost()
|
Zone.BATTLEFIELD, Mana.RedMana(2), new TapSourceCost()
|
||||||
)));
|
)));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -39,7 +39,7 @@ public final class GreenbeltGuardian extends CardImpl {
|
||||||
|
|
||||||
// Exhaust -- {3}{G}: Put three +1/+1 counters on this creature.
|
// Exhaust -- {3}{G}: Put three +1/+1 counters on this creature.
|
||||||
this.addAbility(new ExhaustAbility(
|
this.addAbility(new ExhaustAbility(
|
||||||
new AddCountersSourceEffect(CounterType.P1P1.createInstance()), new ManaCostsImpl<>("{3}{G}")
|
new AddCountersSourceEffect(CounterType.P1P1.createInstance(3)), new ManaCostsImpl<>("{3}{G}")
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -37,7 +37,7 @@ public final class GuidelightPathmaker extends CardImpl {
|
||||||
this.addAbility(VigilanceAbility.getInstance());
|
this.addAbility(VigilanceAbility.getInstance());
|
||||||
|
|
||||||
// When this Vehicle enters, you may search your library for an artifact card and reveal it. Put it onto the battlefield if its mana value is 2 or less. Otherwise, put it into your hand. Then shuffle.
|
// When this Vehicle enters, you may search your library for an artifact card and reveal it. Put it onto the battlefield if its mana value is 2 or less. Otherwise, put it into your hand. Then shuffle.
|
||||||
this.addAbility(new EntersBattlefieldTriggeredAbility(new GuidelightPathmakerEffect()));
|
this.addAbility(new EntersBattlefieldTriggeredAbility(new GuidelightPathmakerEffect(), true));
|
||||||
|
|
||||||
// Crew 2
|
// Crew 2
|
||||||
this.addAbility(new CrewAbility(2));
|
this.addAbility(new CrewAbility(2));
|
||||||
|
|
|
||||||
|
|
@ -26,7 +26,7 @@ public final class HauntTheNetwork extends CardImpl {
|
||||||
this.getSpellAbility().addEffect(new InfoEffect("choose target opponent"));
|
this.getSpellAbility().addEffect(new InfoEffect("choose target opponent"));
|
||||||
this.getSpellAbility().addEffect(new CreateTokenEffect(new ThopterColorlessToken(), 2));
|
this.getSpellAbility().addEffect(new CreateTokenEffect(new ThopterColorlessToken(), 2));
|
||||||
this.getSpellAbility().addEffect(new LoseLifeTargetEffect(ArtifactYouControlCount.instance)
|
this.getSpellAbility().addEffect(new LoseLifeTargetEffect(ArtifactYouControlCount.instance)
|
||||||
.setText("then the chosen player loses X life"));
|
.setText("Then the chosen player loses X life"));
|
||||||
this.getSpellAbility().addEffect(new GainLifeEffect(
|
this.getSpellAbility().addEffect(new GainLifeEffect(
|
||||||
ArtifactYouControlCount.instance, "and you gain X life, " +
|
ArtifactYouControlCount.instance, "and you gain X life, " +
|
||||||
"where X is the number of artifacts you control"
|
"where X is the number of artifacts you control"
|
||||||
|
|
|
||||||
|
|
@ -42,7 +42,7 @@ public final class KickoffCelebrations extends CardImpl {
|
||||||
|
|
||||||
// When this enchantment enters, you may discard a card. If you do, draw two cards.
|
// When this enchantment enters, you may discard a card. If you do, draw two cards.
|
||||||
this.addAbility(new EntersBattlefieldTriggeredAbility(
|
this.addAbility(new EntersBattlefieldTriggeredAbility(
|
||||||
new DoIfCostPaid(new DrawCardSourceControllerEffect(1), new DiscardCardCost())
|
new DoIfCostPaid(new DrawCardSourceControllerEffect(2), new DiscardCardCost())
|
||||||
));
|
));
|
||||||
|
|
||||||
// Max speed -- Sacrifice this enchantment: Creatures and Vehicles you control gain haste until end of turn.
|
// Max speed -- Sacrifice this enchantment: Creatures and Vehicles you control gain haste until end of turn.
|
||||||
|
|
|
||||||
|
|
@ -34,7 +34,7 @@ import java.util.UUID;
|
||||||
public final class OviyaAutomechArtisan extends CardImpl {
|
public final class OviyaAutomechArtisan extends CardImpl {
|
||||||
|
|
||||||
private static final FilterPermanent filter
|
private static final FilterPermanent filter
|
||||||
= new FilterCreaturePermanent("creature that's attacking one of your opponents");
|
= new FilterCreaturePermanent("each creature that's attacking one of your opponents");
|
||||||
|
|
||||||
static {
|
static {
|
||||||
filter.add(OviyaAutomechArtisanPredicate.instance);
|
filter.add(OviyaAutomechArtisanPredicate.instance);
|
||||||
|
|
|
||||||
|
|
@ -29,7 +29,7 @@ public final class PactdollTerror extends CardImpl {
|
||||||
Ability ability = new EntersBattlefieldThisOrAnotherTriggeredAbility(
|
Ability ability = new EntersBattlefieldThisOrAnotherTriggeredAbility(
|
||||||
new LoseLifeOpponentsEffect(1),
|
new LoseLifeOpponentsEffect(1),
|
||||||
StaticFilters.FILTER_CONTROLLED_PERMANENT_ARTIFACT,
|
StaticFilters.FILTER_CONTROLLED_PERMANENT_ARTIFACT,
|
||||||
true, false
|
false, false
|
||||||
);
|
);
|
||||||
ability.addEffect(new GainLifeEffect(1).concatBy("and"));
|
ability.addEffect(new GainLifeEffect(1).concatBy("and"));
|
||||||
this.addAbility(ability);
|
this.addAbility(ability);
|
||||||
|
|
|
||||||
|
|
@ -95,6 +95,6 @@ class PitAutomatonTriggeredAbility extends DelayedTriggeredAbility {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getRule() {
|
public String getRule() {
|
||||||
return "When you next activate an exhaust ability this turn, copy it. You may choose new targets for the copy.";
|
return "When you next activate an exhaust ability that isn't a mana ability this turn, copy it. You may choose new targets for the copy.";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -32,7 +32,7 @@ public final class RoverBlades extends CardImpl {
|
||||||
|
|
||||||
// Equipped creature has double strike.
|
// Equipped creature has double strike.
|
||||||
this.addAbility(new SimpleStaticAbility(new GainAbilityAttachedEffect(
|
this.addAbility(new SimpleStaticAbility(new GainAbilityAttachedEffect(
|
||||||
DoubleStrikeAbility.getInstance(), AttachmentType.AURA
|
DoubleStrikeAbility.getInstance(), AttachmentType.EQUIPMENT
|
||||||
)));
|
)));
|
||||||
|
|
||||||
// Equip {4}
|
// Equip {4}
|
||||||
|
|
|
||||||
|
|
@ -54,7 +54,7 @@ public final class SabSunenLuxaEmbodied extends CardImpl {
|
||||||
);
|
);
|
||||||
ability.addEffect(new ConditionalOneShotEffect(
|
ability.addEffect(new ConditionalOneShotEffect(
|
||||||
new DrawCardSourceControllerEffect(2), SabSunenLuxaEmbodiedCondition.ODD,
|
new DrawCardSourceControllerEffect(2), SabSunenLuxaEmbodiedCondition.ODD,
|
||||||
"then if it has an odd number of counters on it, draw two cards"
|
"Then if it has an odd number of counters on it, draw two cards"
|
||||||
));
|
));
|
||||||
this.addAbility(ability);
|
this.addAbility(ability);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -62,7 +62,7 @@ public final class SabotageStrategist extends CardImpl {
|
||||||
class SabotageStrategistTriggeredAbility extends TriggeredAbilityImpl {
|
class SabotageStrategistTriggeredAbility extends TriggeredAbilityImpl {
|
||||||
|
|
||||||
SabotageStrategistTriggeredAbility() {
|
SabotageStrategistTriggeredAbility() {
|
||||||
super(Zone.BATTLEFIELD, new BoostTargetEffect(-1, 0));
|
super(Zone.BATTLEFIELD, new BoostTargetEffect(-1, 0).setText("those creatures get -1/-0 until end of turn"));
|
||||||
this.setTriggerPhrase("Whenever one or more creatures attack you, ");
|
this.setTriggerPhrase("Whenever one or more creatures attack you, ");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -60,6 +60,7 @@ public final class SamutTheDrivingForce extends CardImpl {
|
||||||
// Noncreature spells you cast cost {X} less to cast, where X is your speed.
|
// Noncreature spells you cast cost {X} less to cast, where X is your speed.
|
||||||
this.addAbility(new SimpleStaticAbility(
|
this.addAbility(new SimpleStaticAbility(
|
||||||
new SpellsCostReductionControllerEffect(filter, ControllerSpeedCount.instance)
|
new SpellsCostReductionControllerEffect(filter, ControllerSpeedCount.instance)
|
||||||
|
.setText("noncreature spells you cast cost {X} less to cast, where X is your speed")
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -68,7 +68,7 @@ public final class TheAetherspark extends CardImpl {
|
||||||
this.addAbility(new LoyaltyAbility(new DrawCardSourceControllerEffect(2), -5));
|
this.addAbility(new LoyaltyAbility(new DrawCardSourceControllerEffect(2), -5));
|
||||||
|
|
||||||
// -10: Add ten mana of any one color.
|
// -10: Add ten mana of any one color.
|
||||||
this.addAbility(new LoyaltyAbility(new AddManaOfAnyColorEffect(3), -10));
|
this.addAbility(new LoyaltyAbility(new AddManaOfAnyColorEffect(10), -10));
|
||||||
}
|
}
|
||||||
|
|
||||||
private TheAetherspark(final TheAetherspark card) {
|
private TheAetherspark(final TheAetherspark card) {
|
||||||
|
|
|
||||||
|
|
@ -33,7 +33,8 @@ public final class TicketTortoise extends CardImpl {
|
||||||
this.addAbility(DefenderAbility.getInstance());
|
this.addAbility(DefenderAbility.getInstance());
|
||||||
|
|
||||||
// When this creature enters, if an opponent controls more lands than you, you create a Treasure token.
|
// When this creature enters, if an opponent controls more lands than you, you create a Treasure token.
|
||||||
this.addAbility(new EntersBattlefieldTriggeredAbility(new CreateTokenEffect(new TreasureToken())).withInterveningIf(condition));
|
this.addAbility(new EntersBattlefieldTriggeredAbility(new CreateTokenEffect(new TreasureToken())
|
||||||
|
.setText("you create a Treasure token")).withInterveningIf(condition));
|
||||||
}
|
}
|
||||||
|
|
||||||
private TicketTortoise(final TicketTortoise card) {
|
private TicketTortoise(final TicketTortoise card) {
|
||||||
|
|
|
||||||
|
|
@ -36,7 +36,7 @@ public final class VeteranBeastrider extends CardImpl {
|
||||||
|
|
||||||
// {2}{G}{W}: Creatures you control get +1/+1 until end of turn.
|
// {2}{G}{W}: Creatures you control get +1/+1 until end of turn.
|
||||||
this.addAbility(new SimpleActivatedAbility(new BoostControlledEffect(
|
this.addAbility(new SimpleActivatedAbility(new BoostControlledEffect(
|
||||||
1, 1, Duration.EndOfTurn, true
|
1, 1, Duration.EndOfTurn, false
|
||||||
), new ManaCostsImpl<>("{2}{G}{W}")));
|
), new ManaCostsImpl<>("{2}{G}{W}")));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -70,7 +70,7 @@ public class VerifyCardDataTest {
|
||||||
|
|
||||||
private static final Logger logger = Logger.getLogger(VerifyCardDataTest.class);
|
private static final Logger logger = Logger.getLogger(VerifyCardDataTest.class);
|
||||||
|
|
||||||
private static final String FULL_ABILITIES_CHECK_SET_CODES = "MH3;M3C"; // check ability text due mtgjson, can use multiple sets like MAT;CMD or * for all
|
private static final String FULL_ABILITIES_CHECK_SET_CODES = "DFT"; // check ability text due mtgjson, can use multiple sets like MAT;CMD or * for all
|
||||||
private static final boolean CHECK_ONLY_ABILITIES_TEXT = false; // use when checking text locally, suppresses unnecessary checks and output messages
|
private static final boolean CHECK_ONLY_ABILITIES_TEXT = false; // use when checking text locally, suppresses unnecessary checks and output messages
|
||||||
private static final boolean CHECK_COPYABLE_FIELDS = true; // disable for better verify test performance
|
private static final boolean CHECK_COPYABLE_FIELDS = true; // disable for better verify test performance
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -10,6 +10,7 @@ import mage.cards.Card;
|
||||||
import mage.constants.*;
|
import mage.constants.*;
|
||||||
import mage.game.Game;
|
import mage.game.Game;
|
||||||
import mage.game.permanent.Permanent;
|
import mage.game.permanent.Permanent;
|
||||||
|
import mage.util.CardUtil;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author TheElk801
|
* @author TheElk801
|
||||||
|
|
@ -85,6 +86,6 @@ class MaxSpeedAbilityEffect extends ContinuousEffectImpl {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getText(Mode mode) {
|
public String getText(Mode mode) {
|
||||||
return "Max speed — " + ability.getRule();
|
return "Max speed — " + CardUtil.getTextWithFirstCharUpperCase(ability.getRule());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -35,7 +35,7 @@ class MayCastFromGraveyardEffect extends AsThoughEffectImpl {
|
||||||
|
|
||||||
MayCastFromGraveyardEffect() {
|
MayCastFromGraveyardEffect() {
|
||||||
super(AsThoughEffectType.CAST_FROM_NOT_OWN_HAND_ZONE, Duration.EndOfGame, Outcome.PutCreatureInPlay);
|
super(AsThoughEffectType.CAST_FROM_NOT_OWN_HAND_ZONE, Duration.EndOfGame, Outcome.PutCreatureInPlay);
|
||||||
staticText = "you may cast {this} from your graveyard";
|
staticText = "you may cast this card from your graveyard";
|
||||||
}
|
}
|
||||||
|
|
||||||
private MayCastFromGraveyardEffect(final MayCastFromGraveyardEffect effect) {
|
private MayCastFromGraveyardEffect(final MayCastFromGraveyardEffect effect) {
|
||||||
|
|
|
||||||
|
|
@ -16,7 +16,7 @@ import java.util.UUID;
|
||||||
public class ExileSourceFromGraveCost extends CostImpl {
|
public class ExileSourceFromGraveCost extends CostImpl {
|
||||||
|
|
||||||
public ExileSourceFromGraveCost() {
|
public ExileSourceFromGraveCost() {
|
||||||
this.text = "exile {this} from your graveyard";
|
this.text = "exile this card from your graveyard";
|
||||||
}
|
}
|
||||||
|
|
||||||
private ExileSourceFromGraveCost(final ExileSourceFromGraveCost cost) {
|
private ExileSourceFromGraveCost(final ExileSourceFromGraveCost cost) {
|
||||||
|
|
|
||||||
|
|
@ -36,8 +36,9 @@ public class GainAbilitySourceEffect extends ContinuousEffectImpl {
|
||||||
super(duration, Layer.AbilityAddingRemovingEffects_6, SubLayer.NA, Outcome.AddAbility);
|
super(duration, Layer.AbilityAddingRemovingEffects_6, SubLayer.NA, Outcome.AddAbility);
|
||||||
this.ability = ability;
|
this.ability = ability;
|
||||||
this.onCard = onCard;
|
this.onCard = onCard;
|
||||||
this.staticText = "{this} gains " + CardUtil.stripReminderText(ability.getRule())
|
this.staticText = "{this} " + (duration == Duration.WhileOnBattlefield ? "has" : "gains") +
|
||||||
+ (duration.toString().isEmpty() ? "" : ' ' + duration.toString());
|
' ' + CardUtil.stripReminderText(ability.getRule()) +
|
||||||
|
(duration.toString().isEmpty() ? "" : ' ' + duration.toString());
|
||||||
this.generateGainAbilityDependencies(ability, null);
|
this.generateGainAbilityDependencies(ability, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -20,8 +20,8 @@ public final class ChandraSparkHunterEmblem extends Emblem {
|
||||||
public ChandraSparkHunterEmblem() {
|
public ChandraSparkHunterEmblem() {
|
||||||
super("Emblem Chandra");
|
super("Emblem Chandra");
|
||||||
Ability ability = new EntersBattlefieldAllTriggeredAbility(
|
Ability ability = new EntersBattlefieldAllTriggeredAbility(
|
||||||
Zone.COMMAND, new DamageTargetEffect(3),
|
Zone.COMMAND, new DamageTargetEffect(3, "this emblem"),
|
||||||
StaticFilters.FILTER_CONTROLLED_PERMANENT_ARTIFACT_AN, false
|
StaticFilters.FILTER_CONTROLLED_PERMANENT_ARTIFACT, false
|
||||||
);
|
);
|
||||||
ability.addTarget(new TargetAnyTarget());
|
ability.addTarget(new TargetAnyTarget());
|
||||||
this.getAbilities().add(ability);
|
this.getAbilities().add(ability);
|
||||||
|
|
|
||||||
|
|
@ -11,7 +11,7 @@ import mage.constants.SubType;
|
||||||
public final class PilotSaddleCrewToken extends TokenImpl {
|
public final class PilotSaddleCrewToken extends TokenImpl {
|
||||||
|
|
||||||
public PilotSaddleCrewToken() {
|
public PilotSaddleCrewToken() {
|
||||||
super("Pilot Token", "1/1 colorless Pilot creature token with \"This creature saddles Mounts and crews Vehicles as though its power were 2 greater.\"");
|
super("Pilot Token", "1/1 colorless Pilot creature token with \"This token saddles Mounts and crews Vehicles as though its power were 2 greater.\"");
|
||||||
cardType.add(CardType.CREATURE);
|
cardType.add(CardType.CREATURE);
|
||||||
subtype.add(SubType.PILOT);
|
subtype.add(SubType.PILOT);
|
||||||
power = new MageInt(1);
|
power = new MageInt(1);
|
||||||
|
|
|
||||||
|
|
@ -10,6 +10,7 @@ import mage.abilities.costs.VariableCost;
|
||||||
import mage.abilities.costs.mana.*;
|
import mage.abilities.costs.mana.*;
|
||||||
import mage.abilities.dynamicvalue.DynamicValue;
|
import mage.abilities.dynamicvalue.DynamicValue;
|
||||||
import mage.abilities.dynamicvalue.common.SavedDamageValue;
|
import mage.abilities.dynamicvalue.common.SavedDamageValue;
|
||||||
|
import mage.abilities.dynamicvalue.common.SavedDiscardValue;
|
||||||
import mage.abilities.dynamicvalue.common.SavedGainedLifeValue;
|
import mage.abilities.dynamicvalue.common.SavedGainedLifeValue;
|
||||||
import mage.abilities.dynamicvalue.common.StaticValue;
|
import mage.abilities.dynamicvalue.common.StaticValue;
|
||||||
import mage.abilities.effects.ContinuousEffect;
|
import mage.abilities.effects.ContinuousEffect;
|
||||||
|
|
@ -967,7 +968,9 @@ public final class CardUtil {
|
||||||
boolean xValue = amount.toString().equals("X");
|
boolean xValue = amount.toString().equals("X");
|
||||||
if (xValue) {
|
if (xValue) {
|
||||||
sb.append("X ").append(counter.getName()).append(" counters");
|
sb.append("X ").append(counter.getName()).append(" counters");
|
||||||
} else if (amount == SavedDamageValue.MANY || amount == SavedGainedLifeValue.MANY) {
|
} else if (amount == SavedDamageValue.MANY
|
||||||
|
|| amount == SavedGainedLifeValue.MANY
|
||||||
|
|| amount == SavedDiscardValue.MANY) {
|
||||||
sb.append("that many ").append(counter.getName()).append(" counters");
|
sb.append("that many ").append(counter.getName()).append(" counters");
|
||||||
} else {
|
} else {
|
||||||
sb.append(counter.getDescription());
|
sb.append(counter.getDescription());
|
||||||
|
|
@ -1176,7 +1179,7 @@ public final class CardUtil {
|
||||||
.sum();
|
.sum();
|
||||||
int remainingValue = maxValue - selectedValue;
|
int remainingValue = maxValue - selectedValue;
|
||||||
Set<UUID> validTargets = new HashSet<>();
|
Set<UUID> validTargets = new HashSet<>();
|
||||||
for (UUID id: possibleTargets) {
|
for (UUID id : possibleTargets) {
|
||||||
MageObject mageObject = game.getObject(id);
|
MageObject mageObject = game.getObject(id);
|
||||||
if (mageObject != null && valueMapper.applyAsInt(mageObject) <= remainingValue) {
|
if (mageObject != null && valueMapper.applyAsInt(mageObject) <= remainingValue) {
|
||||||
validTargets.add(id);
|
validTargets.add(id);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue