forked from External/mage
[TLE] various text fixes
This commit is contained in:
parent
790361f59f
commit
761818c90f
20 changed files with 54 additions and 40 deletions
|
|
@ -41,7 +41,7 @@ public final class AvatarKyoshiEarthbender extends CardImpl {
|
|||
)));
|
||||
|
||||
// At the beginning of combat on your turn, earthbend 8, then untap that land.
|
||||
Ability ability = new BeginningOfCombatTriggeredAbility(new EarthbendTargetEffect(8));
|
||||
Ability ability = new BeginningOfCombatTriggeredAbility(new EarthbendTargetEffect(8, false));
|
||||
ability.addEffect(new UntapTargetEffect().setText(", then untap that land"));
|
||||
ability.addTarget(new TargetControlledLandPermanent());
|
||||
this.addAbility(ability);
|
||||
|
|
|
|||
|
|
@ -47,7 +47,7 @@ public final class BaboonSpirit extends CardImpl {
|
|||
|
||||
// {3}{U}: Exile another target creature you control. Return it to the battlefield under its owner's control at the beginning of the next end step.
|
||||
Ability ability = new SimpleActivatedAbility(
|
||||
new ExileReturnBattlefieldNextEndStepTargetEffect(), new ManaCostsImpl<>("{3}{U}")
|
||||
new ExileReturnBattlefieldNextEndStepTargetEffect().withTextThatCard(false), new ManaCostsImpl<>("{3}{U}")
|
||||
);
|
||||
ability.addTarget(new TargetPermanent(StaticFilters.FILTER_ANOTHER_TARGET_CREATURE_YOU_CONTROL));
|
||||
this.addAbility(ability);
|
||||
|
|
|
|||
|
|
@ -42,7 +42,7 @@ public final class BeifongsBountyHunters extends CardImpl {
|
|||
|
||||
// Whenever a nonland creature you control dies, earthbend X, where X is that creature's power.
|
||||
Ability ability = new DiesCreatureTriggeredAbility(
|
||||
new EarthbendTargetEffect(BeifongsBountyHuntersValue.instance), false, filter
|
||||
new EarthbendTargetEffect(BeifongsBountyHuntersValue.instance, true), false, filter
|
||||
);
|
||||
ability.addTarget(new TargetControlledLandPermanent());
|
||||
this.addAbility(ability);
|
||||
|
|
|
|||
|
|
@ -47,7 +47,7 @@ public final class BoscoJustABear extends CardImpl {
|
|||
|
||||
// {2}{G}, Sacrifice a Food: Put two +1/+1 counters on Bosco. He gains trample until end of turn.
|
||||
Ability ability = new SimpleActivatedAbility(
|
||||
new AddCountersSourceEffect(CounterType.P1P1.createInstance()), new ManaCostsImpl<>("{2}{G}")
|
||||
new AddCountersSourceEffect(CounterType.P1P1.createInstance(2)), new ManaCostsImpl<>("{2}{G}")
|
||||
);
|
||||
ability.addCost(new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_FOOD));
|
||||
ability.addEffect(new GainAbilitySourceEffect(
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@ public final class BumisFeastLecture extends CardImpl {
|
|||
|
||||
// Create a Food token. Then earthbend X, where X is twice the number of Foods you control.
|
||||
this.getSpellAbility().addEffect(new CreateTokenEffect(new FoodToken()));
|
||||
this.getSpellAbility().addEffect(new EarthbendTargetEffect(xValue).concatBy("Then"));
|
||||
this.getSpellAbility().addEffect(new EarthbendTargetEffect(xValue, true).concatBy("Then"));
|
||||
this.getSpellAbility().addTarget(new TargetControlledLandPermanent());
|
||||
this.getSpellAbility().addHint(hint);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -46,12 +46,12 @@ public final class ChongAndLilyNomads extends CardImpl {
|
|||
// * Put a lore counter on each of any number of target Sagas you control.
|
||||
Ability ability = new AttacksWithCreaturesTriggeredAbility(
|
||||
new AddCountersTargetEffect(CounterType.LORE.createInstance()), 1, filter
|
||||
);
|
||||
).setTriggerPhrase("Whenever one or more Bards you control attack, ");
|
||||
ability.addTarget(new TargetPermanent(0, Integer.MAX_VALUE, ChongAndLilyNomadsValue.getFilter()));
|
||||
|
||||
// * Creatures you control get +1/+0 until end of turn for each lore counter among Sagas you control.
|
||||
ability.addMode(new Mode(new BoostControlledEffect(
|
||||
ChongAndLilyNomadsValue.instance, StaticValue.get(0), Duration.WhileOnBattlefield
|
||||
ChongAndLilyNomadsValue.instance, StaticValue.get(0), Duration.EndOfTurn
|
||||
)));
|
||||
this.addAbility(ability.addHint(ChongAndLilyNomadsValue.getHint()));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -22,10 +22,11 @@ public final class CrackedEarthTechnique extends CardImpl {
|
|||
this.subtype.add(SubType.LESSON);
|
||||
|
||||
// Earthbend 3, then earthbend 3. You gain 3 life.
|
||||
this.getSpellAbility().addEffect(new EarthbendTargetEffect(3));
|
||||
this.getSpellAbility().addEffect(new EarthbendTargetEffect(3)
|
||||
this.getSpellAbility().addEffect(new EarthbendTargetEffect(3, false));
|
||||
this.getSpellAbility().addEffect(new EarthbendTargetEffect(3, false)
|
||||
.concatBy(", then")
|
||||
.setTargetPointer(new SecondTargetPointer())
|
||||
.concatBy(", then"));
|
||||
);
|
||||
this.getSpellAbility().addTarget(new TargetControlledLandPermanent().withChooseHint("first target"));
|
||||
this.getSpellAbility().addTarget(new TargetControlledLandPermanent().withChooseHint("second target"));
|
||||
this.getSpellAbility().addEffect(new GainLifeEffect(3));
|
||||
|
|
|
|||
|
|
@ -44,6 +44,7 @@ public final class FireNationTurret extends CardImpl {
|
|||
ability = new SimpleActivatedAbility(
|
||||
new DamageTargetEffect(50, "it"),
|
||||
new RemoveCountersSourceCost(CounterType.CHARGE.createInstance(50))
|
||||
.setText("remove fifty charge counters from {this}")
|
||||
);
|
||||
ability.addTarget(new TargetAnyTarget());
|
||||
this.addAbility(ability);
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
package mage.cards.g;
|
||||
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.triggers.BeginningOfCombatTriggeredAbility;
|
||||
import mage.abilities.common.SimpleStaticAbility;
|
||||
import mage.abilities.condition.Condition;
|
||||
import mage.abilities.costs.OrCost;
|
||||
|
|
@ -14,9 +13,13 @@ import mage.abilities.effects.common.continuous.GainAbilityAttachedEffect;
|
|||
import mage.abilities.effects.common.counter.AddCountersSourceEffect;
|
||||
import mage.abilities.keyword.DoubleStrikeAbility;
|
||||
import mage.abilities.keyword.EquipAbility;
|
||||
import mage.abilities.triggers.BeginningOfCombatTriggeredAbility;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.*;
|
||||
import mage.constants.AttachmentType;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.Outcome;
|
||||
import mage.constants.SubType;
|
||||
import mage.counters.Counter;
|
||||
import mage.counters.CounterType;
|
||||
import mage.game.Game;
|
||||
|
|
@ -57,7 +60,7 @@ public final class GavelOfTheRighteous extends CardImpl {
|
|||
Outcome.BoostCreature,
|
||||
new OrCost(
|
||||
"Pay {3} or remove a counter from {this}",
|
||||
new GenericManaCost(3), new RemoveCountersSourceCost()
|
||||
new GenericManaCost(3), new RemoveCountersSourceCost(1)
|
||||
),
|
||||
false
|
||||
));
|
||||
|
|
|
|||
|
|
@ -1,23 +1,23 @@
|
|||
package mage.cards.i;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.MageInt;
|
||||
import mage.abilities.effects.common.continuous.GainAbilityControlledEffect;
|
||||
import mage.abilities.keyword.FirebendingAbility;
|
||||
import mage.abilities.triggers.BeginningOfCombatTriggeredAbility;
|
||||
import mage.constants.Duration;
|
||||
import mage.constants.SubType;
|
||||
import mage.constants.SuperType;
|
||||
import mage.abilities.keyword.HasteAbility;
|
||||
import mage.abilities.keyword.MentorAbility;
|
||||
import mage.abilities.triggers.BeginningOfCombatTriggeredAbility;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.Duration;
|
||||
import mage.constants.SubType;
|
||||
import mage.constants.SuperType;
|
||||
import mage.filter.common.FilterCreaturePermanent;
|
||||
import mage.filter.predicate.permanent.CounterAnyPredicate;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author anonymous
|
||||
*/
|
||||
public final class IrohDragonOfTheWest extends CardImpl {
|
||||
|
|
@ -30,7 +30,7 @@ public final class IrohDragonOfTheWest extends CardImpl {
|
|||
|
||||
public IrohDragonOfTheWest(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{R}{R}");
|
||||
|
||||
|
||||
this.supertype.add(SuperType.LEGENDARY);
|
||||
this.subtype.add(SubType.HUMAN);
|
||||
this.subtype.add(SubType.NOBLE);
|
||||
|
|
@ -45,7 +45,9 @@ public final class IrohDragonOfTheWest extends CardImpl {
|
|||
this.addAbility(new MentorAbility());
|
||||
|
||||
// At the beginning of combat on your turn, each creature you control with a counter on it gains firebending 2 until end of turn.
|
||||
this.addAbility(new BeginningOfCombatTriggeredAbility(new GainAbilityControlledEffect(new FirebendingAbility(2), Duration.EndOfTurn, filter)));
|
||||
this.addAbility(new BeginningOfCombatTriggeredAbility(new GainAbilityControlledEffect(
|
||||
new FirebendingAbility(2), Duration.EndOfTurn, filter
|
||||
).setText("each creature you control with a counter on it gains firebending 2 until end of turn")));
|
||||
}
|
||||
|
||||
private IrohDragonOfTheWest(final IrohDragonOfTheWest card) {
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@ public final class Rockalanche extends CardImpl {
|
|||
this.subtype.add(SubType.LESSON);
|
||||
|
||||
// Earthbend X, where X is the number of Forests you control.
|
||||
this.getSpellAbility().addEffect(new EarthbendTargetEffect(xValue));
|
||||
this.getSpellAbility().addEffect(new EarthbendTargetEffect(xValue, true));
|
||||
this.getSpellAbility().addTarget(new TargetControlledLandPermanent());
|
||||
this.getSpellAbility().addHint(hint);
|
||||
|
||||
|
|
|
|||
|
|
@ -41,7 +41,7 @@ public final class ScarringMemories extends CardImpl {
|
|||
|
||||
// You may cast this spell as though it had flash if you control an attacking legendary creature.
|
||||
this.addAbility(new CastAsThoughItHadFlashIfConditionAbility(
|
||||
condition, "you may cast this spell as though it had flash if you control an attacking legendary creature"
|
||||
condition, "you may cast this spell as though it had flash if you control an attacking legendary creature."
|
||||
));
|
||||
|
||||
// Target opponent sacrifices a creature of their choice, discards a card, and loses 3 life.
|
||||
|
|
|
|||
|
|
@ -46,7 +46,7 @@ public final class TheBoulderReadyToRumble extends CardImpl {
|
|||
this.toughness = new MageInt(4);
|
||||
|
||||
// Whenever The Boulder attacks, earthbend X, where X is the number of creatures you control with power 4 or greater.
|
||||
Ability ability = new AttacksTriggeredAbility(new EarthbendTargetEffect(xValue));
|
||||
Ability ability = new AttacksTriggeredAbility(new EarthbendTargetEffect(xValue, true));
|
||||
ability.addTarget(new TargetControlledLandPermanent());
|
||||
this.addAbility(ability.addHint(hint));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -44,7 +44,7 @@ public final class TheLegendOfKyoshi extends CardImpl {
|
|||
sagaAbility.addChapterEffect(
|
||||
this, SagaChapter.CHAPTER_II,
|
||||
new Effects(
|
||||
new EarthbendTargetEffect(CardsInControllerHandCount.ANY)
|
||||
new EarthbendTargetEffect(CardsInControllerHandCount.ANY, true)
|
||||
.setText("earthbend X, where X is the number of cards in your hand"),
|
||||
new AddCardSubTypeTargetEffect(SubType.ISLAND, Duration.Custom)
|
||||
.setText("That land becomes an Island in addition to its other types")
|
||||
|
|
|
|||
|
|
@ -42,7 +42,7 @@ public final class TophEarthbendingMaster extends CardImpl {
|
|||
)));
|
||||
|
||||
// Whenever you attack, earthbend X, where X is the number of experience counters you have.
|
||||
Ability ability = new AttacksWithCreaturesTriggeredAbility(new EarthbendTargetEffect(xValue), 1);
|
||||
Ability ability = new AttacksWithCreaturesTriggeredAbility(new EarthbendTargetEffect(xValue, true), 1);
|
||||
ability.addTarget(new TargetControlledLandPermanent());
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -42,7 +42,7 @@ public final class TophGreatestEarthbender extends CardImpl {
|
|||
this.toughness = new MageInt(3);
|
||||
|
||||
// When Toph enters, earthbend X, where X is the amount of mana spent to cast her.
|
||||
Ability ability = new EntersBattlefieldTriggeredAbility(new EarthbendTargetEffect(ManaSpentToCastCount.instance));
|
||||
Ability ability = new EntersBattlefieldTriggeredAbility(new EarthbendTargetEffect(ManaSpentToCastCount.instance, true));
|
||||
ability.addTarget(new TargetControlledLandPermanent());
|
||||
this.addAbility(ability);
|
||||
|
||||
|
|
|
|||
|
|
@ -11,7 +11,9 @@ import mage.game.permanent.Permanent;
|
|||
import mage.players.Player;
|
||||
import mage.util.CardUtil;
|
||||
|
||||
import java.util.*;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
* @author BetaSteward_at_googlemail.com
|
||||
|
|
@ -21,16 +23,11 @@ public class RemoveCountersSourceCost extends CostImpl {
|
|||
private final int amount;
|
||||
private final String name;
|
||||
|
||||
public RemoveCountersSourceCost() {
|
||||
this.amount = 1;
|
||||
this.name = "";
|
||||
this.text = "remove a counter from {this}";
|
||||
}
|
||||
|
||||
public RemoveCountersSourceCost(int amount) {
|
||||
this.amount = amount;
|
||||
this.name = "";
|
||||
this.text = "remove " + CardUtil.numberToText(amount) + " counters from {this}";
|
||||
this.text = "remove " + CardUtil.numberToText(amount, "a") +
|
||||
" counter" + (amount > 1 ? "s" : "") + " from {this}";
|
||||
}
|
||||
|
||||
public RemoveCountersSourceCost(Counter counter) {
|
||||
|
|
@ -87,7 +84,7 @@ public class RemoveCountersSourceCost extends CostImpl {
|
|||
}
|
||||
paid = true;
|
||||
}
|
||||
} else if (permanent.getCounters(game).getCount(name) >= amount){
|
||||
} else if (permanent.getCounters(game).getCount(name) >= amount) {
|
||||
permanent.removeCounters(name, amount, source, game);
|
||||
this.paid = true;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -28,19 +28,26 @@ import mage.util.CardUtil;
|
|||
public class EarthbendTargetEffect extends OneShotEffect {
|
||||
|
||||
private final DynamicValue amount;
|
||||
private final boolean withReminderText;
|
||||
|
||||
public EarthbendTargetEffect(int amount) {
|
||||
this(StaticValue.get(amount));
|
||||
this(amount, true);
|
||||
}
|
||||
|
||||
public EarthbendTargetEffect(DynamicValue amount) {
|
||||
public EarthbendTargetEffect(int amount, boolean withReminderText) {
|
||||
this(StaticValue.get(amount), withReminderText);
|
||||
}
|
||||
|
||||
public EarthbendTargetEffect(DynamicValue amount, boolean withReminderText) {
|
||||
super(Outcome.Benefit);
|
||||
this.amount = amount;
|
||||
this.withReminderText = withReminderText;
|
||||
}
|
||||
|
||||
private EarthbendTargetEffect(final EarthbendTargetEffect effect) {
|
||||
super(effect);
|
||||
this.amount = effect.amount;
|
||||
this.withReminderText = effect.withReminderText;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
@ -85,6 +92,9 @@ public class EarthbendTargetEffect extends OneShotEffect {
|
|||
sb.append("X, where X is ");
|
||||
sb.append(amount.getMessage());
|
||||
}
|
||||
if (!withReminderText) {
|
||||
return sb.toString();
|
||||
}
|
||||
sb.append(". <i>(Target land you control becomes a 0/0 creature with haste that's still a land. Put ");
|
||||
String value = amount instanceof StaticValue
|
||||
? CardUtil.numberToText(((StaticValue) amount).getValue(), "a")
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@ public class TargetAttackingCreature extends TargetPermanent {
|
|||
}
|
||||
|
||||
public TargetAttackingCreature(int minNumTargets, int maxNumTargets, boolean notTarget) {
|
||||
super(minNumTargets, maxNumTargets, StaticFilters.FILTER_ATTACKING_CREATURE, notTarget);
|
||||
super(minNumTargets, maxNumTargets, maxNumTargets > 1 ? StaticFilters.FILTER_ATTACKING_CREATURES : StaticFilters.FILTER_ATTACKING_CREATURE, notTarget);
|
||||
}
|
||||
|
||||
protected TargetAttackingCreature(final TargetAttackingCreature target) {
|
||||
|
|
|
|||
|
|
@ -979,7 +979,7 @@ public final class CardUtil {
|
|||
}
|
||||
if (!targetPlayerGets) {
|
||||
sb.append(add ? " on " : " from ");
|
||||
if (description.contains("up to") && !description.contains("up to one")) {
|
||||
if (description.contains("any number") || description.contains("up to") && !description.contains("up to one")) {
|
||||
sb.append("each of ");
|
||||
}
|
||||
sb.append(description);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue