mirror of
https://github.com/magefree/mage.git
synced 2025-12-20 02:30:08 -08:00
various text fixes
This commit is contained in:
parent
9c5e4b0698
commit
934d8e13f5
16 changed files with 25 additions and 24 deletions
|
|
@ -71,7 +71,8 @@ class AvatarDestinyEffect extends OneShotEffect {
|
||||||
|
|
||||||
AvatarDestinyEffect() {
|
AvatarDestinyEffect() {
|
||||||
super(Outcome.Benefit);
|
super(Outcome.Benefit);
|
||||||
staticText = "";
|
staticText = "mill cards equal to its power. Return this card to its owner's hand and up to one " +
|
||||||
|
"creature card milled this way to the battlefield under your control";
|
||||||
}
|
}
|
||||||
|
|
||||||
private AvatarDestinyEffect(final AvatarDestinyEffect effect) {
|
private AvatarDestinyEffect(final AvatarDestinyEffect effect) {
|
||||||
|
|
@ -95,6 +96,7 @@ class AvatarDestinyEffect extends OneShotEffect {
|
||||||
.map(MageInt::getValue)
|
.map(MageInt::getValue)
|
||||||
.orElse(0);
|
.orElse(0);
|
||||||
Cards cards = player.millCards(count, source, game);
|
Cards cards = player.millCards(count, source, game);
|
||||||
|
game.processAction();
|
||||||
new ReturnToHandSourceEffect(false, true).apply(game, source);
|
new ReturnToHandSourceEffect(false, true).apply(game, source);
|
||||||
TargetCard target = new TargetCard(0, 1, Zone.ALL, StaticFilters.FILTER_CARD_CREATURE);
|
TargetCard target = new TargetCard(0, 1, Zone.ALL, StaticFilters.FILTER_CARD_CREATURE);
|
||||||
target.withNotTarget(true);
|
target.withNotTarget(true);
|
||||||
|
|
|
||||||
|
|
@ -42,7 +42,7 @@ public final class DuelistsFlame extends CardImpl {
|
||||||
// Until end of turn, target blocked creature you control gets +X/+0 and gains trample and "Whenever this creature deals combat damage to a player, look at that many cards from the top of your library. Exile up to one nonland card from among them and put the rest on the bottom of your library in a random order. You may cast the exiled card without paying its mana cost."
|
// Until end of turn, target blocked creature you control gets +X/+0 and gains trample and "Whenever this creature deals combat damage to a player, look at that many cards from the top of your library. Exile up to one nonland card from among them and put the rest on the bottom of your library in a random order. You may cast the exiled card without paying its mana cost."
|
||||||
this.getSpellAbility().addEffect(new BoostTargetEffect(GetXValue.instance, StaticValue.get(0))
|
this.getSpellAbility().addEffect(new BoostTargetEffect(GetXValue.instance, StaticValue.get(0))
|
||||||
.setText("until end of turn, target blocked creature you control gets +X/+0"));
|
.setText("until end of turn, target blocked creature you control gets +X/+0"));
|
||||||
this.getSpellAbility().addEffect(new GainAbilityTargetEffect(TrampleAbility.getInstance()).setText("and has trample"));
|
this.getSpellAbility().addEffect(new GainAbilityTargetEffect(TrampleAbility.getInstance()).setText("and gains trample"));
|
||||||
this.getSpellAbility().addEffect(new GainAbilityTargetEffect(
|
this.getSpellAbility().addEffect(new GainAbilityTargetEffect(
|
||||||
new DealsCombatDamageToAPlayerTriggeredAbility(new DuelistsFlameEffect())
|
new DealsCombatDamageToAPlayerTriggeredAbility(new DuelistsFlameEffect())
|
||||||
).setText("and \"Whenever this creature deals combat damage to a player, " +
|
).setText("and \"Whenever this creature deals combat damage to a player, " +
|
||||||
|
|
|
||||||
|
|
@ -33,7 +33,7 @@ public final class FatedClash extends CardImpl {
|
||||||
// You may cast this spell as though it had flash if a creature is attacking and a creature is blocking.
|
// You may cast this spell as though it had flash if a creature is attacking and a creature is blocking.
|
||||||
this.addAbility(new CastAsThoughItHadFlashIfConditionAbility(
|
this.addAbility(new CastAsThoughItHadFlashIfConditionAbility(
|
||||||
condition, "you may cast this spell as though it had flash " +
|
condition, "you may cast this spell as though it had flash " +
|
||||||
"if a creature is attacking and a creature is blocking"
|
"if a creature is attacking and a creature is blocking."
|
||||||
));
|
));
|
||||||
|
|
||||||
// Target creature you control and target creature an opponent controls each gain indestructible until end of turn. Then destroy all creatures.
|
// Target creature you control and target creature an opponent controls each gain indestructible until end of turn. Then destroy all creatures.
|
||||||
|
|
|
||||||
|
|
@ -26,7 +26,7 @@ public final class FlashPhotography extends CardImpl {
|
||||||
|
|
||||||
// You may cast this spell as though it had flash if it targets a permanent you control.
|
// You may cast this spell as though it had flash if it targets a permanent you control.
|
||||||
this.addAbility(new CastAsThoughItHadFlashIfConditionAbility(
|
this.addAbility(new CastAsThoughItHadFlashIfConditionAbility(
|
||||||
condition, "you may cast this spell as though it had flash if it targets a permanent you control"
|
condition, "you may cast this spell as though it had flash if it targets a permanent you control."
|
||||||
));
|
));
|
||||||
|
|
||||||
// Create a token that's a copy of target permanent.
|
// Create a token that's a copy of target permanent.
|
||||||
|
|
|
||||||
|
|
@ -46,7 +46,7 @@ public final class GwenomRemorseless extends CardImpl {
|
||||||
|
|
||||||
// Whenever Gwenom attacks, until end of turn you may look at the top card of your library any time and you may play cards from the top of your library. If you cast a spell this way, pay life equal to its mana value rather than pay its mana cost.
|
// Whenever Gwenom attacks, until end of turn you may look at the top card of your library any time and you may play cards from the top of your library. If you cast a spell this way, pay life equal to its mana value rather than pay its mana cost.
|
||||||
ContinuousEffect libraryAnyTimeEffect = new LookAtTopCardOfLibraryAnyTimeEffect(Duration.EndOfTurn);
|
ContinuousEffect libraryAnyTimeEffect = new LookAtTopCardOfLibraryAnyTimeEffect(Duration.EndOfTurn);
|
||||||
libraryAnyTimeEffect.setText("until end of turn you may look at the top card of your library any time");
|
libraryAnyTimeEffect.setText("until end of turn, you may look at the top card of your library any time");
|
||||||
libraryAnyTimeEffect.concatBy(" ");
|
libraryAnyTimeEffect.concatBy(" ");
|
||||||
AsThoughEffectImpl playCardEffect = new GwenomRemorselessPlayTopCardEffect();
|
AsThoughEffectImpl playCardEffect = new GwenomRemorselessPlayTopCardEffect();
|
||||||
playCardEffect.concatBy("and");
|
playCardEffect.concatBy("and");
|
||||||
|
|
|
||||||
|
|
@ -43,7 +43,7 @@ public final class KappaCannoneer extends CardImpl {
|
||||||
StaticFilters.FILTER_PERMANENT_ARTIFACT, false, true
|
StaticFilters.FILTER_PERMANENT_ARTIFACT, false, true
|
||||||
);
|
);
|
||||||
ability.addEffect(new CantBeBlockedSourceEffect(Duration.EndOfTurn)
|
ability.addEffect(new CantBeBlockedSourceEffect(Duration.EndOfTurn)
|
||||||
.setText("and it can't be blocked this turn"));
|
.setText("It can't be blocked this turn"));
|
||||||
this.addAbility(ability);
|
this.addAbility(ability);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -48,7 +48,7 @@ public final class KratosStoicFather extends CardImpl {
|
||||||
// At the beginning of your end step, put a number of +1/+1 counters on target creature equal to the number of experience counters you have.
|
// At the beginning of your end step, put a number of +1/+1 counters on target creature equal to the number of experience counters you have.
|
||||||
Ability ability = new BeginningOfEndStepTriggeredAbility(
|
Ability ability = new BeginningOfEndStepTriggeredAbility(
|
||||||
new AddCountersTargetEffect(CounterType.P1P1.createInstance(), xValue)
|
new AddCountersTargetEffect(CounterType.P1P1.createInstance(), xValue)
|
||||||
.setText(" put a number of +1/+1 counters on target creature " +
|
.setText("put a number of +1/+1 counters on target creature " +
|
||||||
"equal to the number of experience counters you have")
|
"equal to the number of experience counters you have")
|
||||||
);
|
);
|
||||||
ability.addTarget(new TargetCreaturePermanent());
|
ability.addTarget(new TargetCreaturePermanent());
|
||||||
|
|
|
||||||
|
|
@ -59,7 +59,7 @@ class MisterNegativeEffect extends OneShotEffect {
|
||||||
|
|
||||||
MisterNegativeEffect() {
|
MisterNegativeEffect() {
|
||||||
super(Outcome.Neutral);
|
super(Outcome.Neutral);
|
||||||
staticText = "When {this} enters, you may exchange your life total with target opponent. If you lose life this way, draw that many cards.";
|
staticText = "you may exchange life totals with target opponent. If you lose life this way, draw that many cards.";
|
||||||
}
|
}
|
||||||
|
|
||||||
protected MisterNegativeEffect(final MisterNegativeEffect effect) {
|
protected MisterNegativeEffect(final MisterNegativeEffect effect) {
|
||||||
|
|
@ -82,6 +82,7 @@ class MisterNegativeEffect extends OneShotEffect {
|
||||||
controller.exchangeLife(player, source, game);
|
controller.exchangeLife(player, source, game);
|
||||||
int lifeChange = startingLife - controller.getLife();
|
int lifeChange = startingLife - controller.getLife();
|
||||||
if (lifeChange > 0) {
|
if (lifeChange > 0) {
|
||||||
|
game.processAction();
|
||||||
controller.drawCards(lifeChange, source, game);
|
controller.drawCards(lifeChange, source, game);
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
|
|
|
||||||
|
|
@ -19,8 +19,8 @@ public final class PrisonBreak extends CardImpl {
|
||||||
public PrisonBreak(UUID ownerId, CardSetInfo setInfo) {
|
public PrisonBreak(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{4}{B}");
|
super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{4}{B}");
|
||||||
|
|
||||||
// Return target creature card from your graveyard to the battlefield with a +1/+1 counter on it.
|
// Return target creature card from your graveyard to the battlefield with an additional +1/+1 counter on it.
|
||||||
this.getSpellAbility().addEffect(new ReturnFromGraveyardToBattlefieldWithCounterTargetEffect(CounterType.P1P1.createInstance()));
|
this.getSpellAbility().addEffect(new ReturnFromGraveyardToBattlefieldWithCounterTargetEffect(true, CounterType.P1P1.createInstance()));
|
||||||
this.getSpellAbility().addTarget(new TargetCardInYourGraveyard(StaticFilters.FILTER_CARD_CREATURE_YOUR_GRAVEYARD));
|
this.getSpellAbility().addTarget(new TargetCardInYourGraveyard(StaticFilters.FILTER_CARD_CREATURE_YOUR_GRAVEYARD));
|
||||||
|
|
||||||
// Mayhem {3}{B}
|
// Mayhem {3}{B}
|
||||||
|
|
|
||||||
|
|
@ -7,8 +7,10 @@ import mage.abilities.dynamicvalue.common.CreaturesYouControlCount;
|
||||||
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
|
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
|
||||||
import mage.abilities.effects.common.cost.SpellCostReductionForEachSourceEffect;
|
import mage.abilities.effects.common.cost.SpellCostReductionForEachSourceEffect;
|
||||||
import mage.abilities.hint.common.CreaturesYouControlHint;
|
import mage.abilities.hint.common.CreaturesYouControlHint;
|
||||||
|
import mage.abilities.keyword.AffinityAbility;
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
|
import mage.constants.AffinityType;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.SubType;
|
import mage.constants.SubType;
|
||||||
import mage.constants.Zone;
|
import mage.constants.Zone;
|
||||||
|
|
@ -27,10 +29,8 @@ public final class SaltRoadPackbeast extends CardImpl {
|
||||||
this.power = new MageInt(4);
|
this.power = new MageInt(4);
|
||||||
this.toughness = new MageInt(3);
|
this.toughness = new MageInt(3);
|
||||||
|
|
||||||
// This spell costs {1} less to cast for each creature you control.
|
// Affinity for creatures
|
||||||
this.addAbility(new SimpleStaticAbility(
|
this.addAbility(new AffinityAbility(AffinityType.CREATURES));
|
||||||
Zone.ALL, new SpellCostReductionForEachSourceEffect(1, CreaturesYouControlCount.SINGULAR)
|
|
||||||
).addHint(CreaturesYouControlHint.instance));
|
|
||||||
|
|
||||||
// When this creature enters, draw a card.
|
// When this creature enters, draw a card.
|
||||||
this.addAbility(new EntersBattlefieldTriggeredAbility(new DrawCardSourceControllerEffect(1)));
|
this.addAbility(new EntersBattlefieldTriggeredAbility(new DrawCardSourceControllerEffect(1)));
|
||||||
|
|
|
||||||
|
|
@ -21,7 +21,7 @@ import java.util.UUID;
|
||||||
public final class SearchForDagger extends CardImpl {
|
public final class SearchForDagger extends CardImpl {
|
||||||
|
|
||||||
private static final FilterCard filter = new FilterCreatureCard("a legendary creature card");
|
private static final FilterCard filter = new FilterCreatureCard("a legendary creature card");
|
||||||
private static final FilterPermanent filter2 = new FilterPermanent("you commander");
|
private static final FilterPermanent filter2 = new FilterPermanent("your commander");
|
||||||
|
|
||||||
static {
|
static {
|
||||||
filter.add(SuperType.LEGENDARY.getPredicate());
|
filter.add(SuperType.LEGENDARY.getPredicate());
|
||||||
|
|
|
||||||
|
|
@ -41,9 +41,6 @@ public final class ShorikaiGenesisEngine extends CardImpl {
|
||||||
|
|
||||||
// Crew 8
|
// Crew 8
|
||||||
this.addAbility(new CrewAbility(8));
|
this.addAbility(new CrewAbility(8));
|
||||||
|
|
||||||
// Shorikai, Genesis Engine can be your commander.
|
|
||||||
this.addAbility(CanBeYourCommanderAbility.getInstance());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private ShorikaiGenesisEngine(final ShorikaiGenesisEngine card) {
|
private ShorikaiGenesisEngine(final ShorikaiGenesisEngine card) {
|
||||||
|
|
|
||||||
|
|
@ -41,7 +41,8 @@ public final class SuperiorSpiderMan extends CardImpl {
|
||||||
this.toughness = new MageInt(4);
|
this.toughness = new MageInt(4);
|
||||||
|
|
||||||
// Mind Swap -- You may have Superior Spider-Man enter as a copy of any creature card in a graveyard, except his name is Superior Spider-Man and he's a 4/4 Spider Human Hero in addition to his other types. When you do, exile that card.
|
// Mind Swap -- You may have Superior Spider-Man enter as a copy of any creature card in a graveyard, except his name is Superior Spider-Man and he's a 4/4 Spider Human Hero in addition to his other types. When you do, exile that card.
|
||||||
this.addAbility(new EntersBattlefieldAbility(new SuperiorSpiderManCopyEffect(), true));
|
this.addAbility(new EntersBattlefieldAbility(new SuperiorSpiderManCopyEffect(), true)
|
||||||
|
.withFlavorWord("Mind Swap"));
|
||||||
}
|
}
|
||||||
|
|
||||||
private SuperiorSpiderMan(final SuperiorSpiderMan card) {
|
private SuperiorSpiderMan(final SuperiorSpiderMan card) {
|
||||||
|
|
|
||||||
|
|
@ -21,7 +21,7 @@ import java.util.UUID;
|
||||||
*/
|
*/
|
||||||
public final class VivisPersistence extends CardImpl {
|
public final class VivisPersistence extends CardImpl {
|
||||||
|
|
||||||
private static final FilterPermanent filter = new FilterPermanent("you commander");
|
private static final FilterPermanent filter = new FilterPermanent("your commander");
|
||||||
|
|
||||||
static {
|
static {
|
||||||
filter.add(TargetController.YOU.getOwnerPredicate());
|
filter.add(TargetController.YOU.getOwnerPredicate());
|
||||||
|
|
|
||||||
|
|
@ -40,7 +40,7 @@ public final class WarriorsResolve extends CardImpl {
|
||||||
|
|
||||||
// Creatures you control have training.
|
// Creatures you control have training.
|
||||||
this.addAbility(new SimpleStaticAbility(new GainAbilityControlledEffect(
|
this.addAbility(new SimpleStaticAbility(new GainAbilityControlledEffect(
|
||||||
new TrainingAbility(), Duration.WhileControlled, StaticFilters.FILTER_PERMANENT_CREATURES
|
new TrainingAbility(), Duration.WhileOnBattlefield, StaticFilters.FILTER_PERMANENT_CREATURES
|
||||||
)));
|
)));
|
||||||
|
|
||||||
// At the beginning of your end step, if you control a creature with a +1/+1 counter on it that attacked this turn, draw a card.
|
// At the beginning of your end step, if you control a creature with a +1/+1 counter on it that attacked this turn, draw a card.
|
||||||
|
|
|
||||||
|
|
@ -2638,14 +2638,14 @@ public class VerifyCardDataTest {
|
||||||
if (mageObject.isCreature(game)) {
|
if (mageObject.isCreature(game)) {
|
||||||
return "this creature";
|
return "this creature";
|
||||||
}
|
}
|
||||||
if (mageObject.isLand(game)) {
|
|
||||||
return "this land";
|
|
||||||
}
|
|
||||||
for (SubType subType : selfRefNamedSubtypes) {
|
for (SubType subType : selfRefNamedSubtypes) {
|
||||||
if (mageObject.hasSubtype(subType, game)) {
|
if (mageObject.hasSubtype(subType, game)) {
|
||||||
return "this " + subType.getDescription();
|
return "this " + subType.getDescription();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (mageObject.isLand(game)) {
|
||||||
|
return "this land";
|
||||||
|
}
|
||||||
if (mageObject.isBattle(game)) {
|
if (mageObject.isBattle(game)) {
|
||||||
return "this battle";
|
return "this battle";
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue