mirror of
https://github.com/correl/mage.git
synced 2024-11-28 19:19:55 +00:00
[STA] text fixes
This commit is contained in:
parent
21b3c11781
commit
cb0df438dd
16 changed files with 51 additions and 47 deletions
|
@ -79,7 +79,7 @@ class ChaosWarpRevealEffect extends OneShotEffect {
|
||||||
|
|
||||||
public ChaosWarpRevealEffect() {
|
public ChaosWarpRevealEffect() {
|
||||||
super(Outcome.PutCardInPlay);
|
super(Outcome.PutCardInPlay);
|
||||||
this.staticText = "then reveals the top card of their library. If it's a permanent card, they put it onto the battlefield";
|
this.staticText = ", then reveals the top card of their library. If it's a permanent card, they put it onto the battlefield";
|
||||||
}
|
}
|
||||||
|
|
||||||
public ChaosWarpRevealEffect(final ChaosWarpRevealEffect effect) {
|
public ChaosWarpRevealEffect(final ChaosWarpRevealEffect effect) {
|
||||||
|
|
|
@ -45,12 +45,13 @@ class CultivateEffect extends OneShotEffect {
|
||||||
|
|
||||||
protected static final FilterCard filter = new FilterCard("card to put on the battlefield tapped");
|
protected static final FilterCard filter = new FilterCard("card to put on the battlefield tapped");
|
||||||
|
|
||||||
public CultivateEffect() {
|
CultivateEffect() {
|
||||||
super(Outcome.PutLandInPlay);
|
super(Outcome.PutLandInPlay);
|
||||||
staticText = "Search your library for up to two basic land cards, reveal those cards, and put one onto the battlefield tapped and the other into your hand. Then shuffle your library";
|
staticText = "search your library for up to two basic land cards, reveal those cards, " +
|
||||||
|
"put one onto the battlefield tapped and the other into your hand, then shuffle";
|
||||||
}
|
}
|
||||||
|
|
||||||
public CultivateEffect(final CultivateEffect effect) {
|
private CultivateEffect(final CultivateEffect effect) {
|
||||||
super(effect);
|
super(effect);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -22,11 +22,11 @@ public final class Electrolyze extends CardImpl {
|
||||||
|
|
||||||
// Electrolyze deals 2 damage divided as you choose among one or two target creatures and/or players.
|
// Electrolyze deals 2 damage divided as you choose among one or two target creatures and/or players.
|
||||||
Effect effect = new DamageMultiEffect(2);
|
Effect effect = new DamageMultiEffect(2);
|
||||||
effect.setText("{this} deals 2 damage divided as you choose among one or two target creatures and/or players");
|
effect.setText("{this} deals 2 damage divided as you choose among one or two targets");
|
||||||
this.getSpellAbility().addEffect(effect);
|
this.getSpellAbility().addEffect(effect);
|
||||||
this.getSpellAbility().addTarget(new TargetAnyTargetAmount(2));
|
this.getSpellAbility().addTarget(new TargetAnyTargetAmount(2));
|
||||||
// Draw a card.
|
// Draw a card.
|
||||||
this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1));
|
this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1).concatBy("<br>"));
|
||||||
}
|
}
|
||||||
|
|
||||||
private Electrolyze(final Electrolyze card) {
|
private Electrolyze(final Electrolyze card) {
|
||||||
|
|
|
@ -21,7 +21,7 @@ public final class Ephemerate extends CardImpl {
|
||||||
// Exile target creature you control, then return it to the battlefield under its owner's control.
|
// Exile target creature you control, then return it to the battlefield under its owner's control.
|
||||||
this.getSpellAbility().addTarget(new TargetControlledCreaturePermanent());
|
this.getSpellAbility().addTarget(new TargetControlledCreaturePermanent());
|
||||||
this.getSpellAbility().addEffect(new ExileTargetForSourceEffect());
|
this.getSpellAbility().addEffect(new ExileTargetForSourceEffect());
|
||||||
this.getSpellAbility().addEffect(new ReturnToBattlefieldUnderOwnerControlTargetEffect(false, false));
|
this.getSpellAbility().addEffect(new ReturnToBattlefieldUnderOwnerControlTargetEffect(false, false).setText(", then return it to the battlefield under its owner's control"));
|
||||||
|
|
||||||
// Rebound
|
// Rebound
|
||||||
this.addAbility(new ReboundAbility());
|
this.addAbility(new ReboundAbility());
|
||||||
|
|
|
@ -1,7 +1,5 @@
|
||||||
|
|
||||||
package mage.cards.g;
|
package mage.cards.g;
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
import mage.abilities.condition.common.OpponentControlsMoreCondition;
|
import mage.abilities.condition.common.OpponentControlsMoreCondition;
|
||||||
import mage.abilities.decorator.ConditionalOneShotEffect;
|
import mage.abilities.decorator.ConditionalOneShotEffect;
|
||||||
import mage.abilities.effects.common.search.SearchLibraryPutInHandEffect;
|
import mage.abilities.effects.common.search.SearchLibraryPutInHandEffect;
|
||||||
|
@ -13,8 +11,9 @@ import mage.filter.FilterCard;
|
||||||
import mage.filter.StaticFilters;
|
import mage.filter.StaticFilters;
|
||||||
import mage.target.common.TargetCardInLibrary;
|
import mage.target.common.TargetCardInLibrary;
|
||||||
|
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
|
||||||
* @author LevelX2
|
* @author LevelX2
|
||||||
*/
|
*/
|
||||||
public final class GiftOfEstates extends CardImpl {
|
public final class GiftOfEstates extends CardImpl {
|
||||||
|
@ -25,15 +24,17 @@ public final class GiftOfEstates extends CardImpl {
|
||||||
filter.add(SubType.PLAINS.getPredicate());
|
filter.add(SubType.PLAINS.getPredicate());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public GiftOfEstates(UUID ownerId, CardSetInfo setInfo) {
|
public GiftOfEstates(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{1}{W}");
|
super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{1}{W}");
|
||||||
|
|
||||||
|
|
||||||
// If an opponent controls more lands than you, search your library for up to three Plains cards, reveal them, and put them into your hand. Then shuffle your library.
|
// If an opponent controls more lands than you, search your library for up to three Plains cards, reveal them, and put them into your hand. Then shuffle your library.
|
||||||
this.getSpellAbility().addEffect(new ConditionalOneShotEffect(
|
this.getSpellAbility().addEffect(new ConditionalOneShotEffect(
|
||||||
new SearchLibraryPutInHandEffect(new TargetCardInLibrary(0, 3, filter), true),
|
new SearchLibraryPutInHandEffect(
|
||||||
new OpponentControlsMoreCondition(StaticFilters.FILTER_LANDS)));
|
new TargetCardInLibrary(0, 3, filter), true
|
||||||
|
), new OpponentControlsMoreCondition(StaticFilters.FILTER_LANDS), "if an opponent controls " +
|
||||||
|
"more lands than you, search your library for up to three Plains cards, " +
|
||||||
|
"reveal them, and put them into your hand. Then shuffle your library"
|
||||||
|
));
|
||||||
}
|
}
|
||||||
|
|
||||||
private GiftOfEstates(final GiftOfEstates card) {
|
private GiftOfEstates(final GiftOfEstates card) {
|
||||||
|
|
|
@ -22,7 +22,7 @@ public final class GodsWilling extends CardImpl {
|
||||||
// Target creature you control gains protection from the color of your choice until end of turn. Scry 1.
|
// Target creature you control gains protection from the color of your choice until end of turn. Scry 1.
|
||||||
this.getSpellAbility().addEffect(new GainProtectionFromColorTargetEffect(Duration.EndOfTurn));
|
this.getSpellAbility().addEffect(new GainProtectionFromColorTargetEffect(Duration.EndOfTurn));
|
||||||
this.getSpellAbility().addTarget(new TargetControlledCreaturePermanent());
|
this.getSpellAbility().addTarget(new TargetControlledCreaturePermanent());
|
||||||
this.getSpellAbility().addEffect(new ScryEffect(1));
|
this.getSpellAbility().addEffect(new ScryEffect(1).concatBy("<br>"));
|
||||||
}
|
}
|
||||||
|
|
||||||
private GodsWilling(final GodsWilling card) {
|
private GodsWilling(final GodsWilling card) {
|
||||||
|
|
|
@ -21,7 +21,7 @@ public final class Opt extends CardImpl {
|
||||||
this.getSpellAbility().addEffect(new ScryEffect(1));
|
this.getSpellAbility().addEffect(new ScryEffect(1));
|
||||||
|
|
||||||
// Draw a card.
|
// Draw a card.
|
||||||
this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1));
|
this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1).concatBy("<br>"));
|
||||||
}
|
}
|
||||||
|
|
||||||
private Opt(final Opt card) {
|
private Opt(final Opt card) {
|
||||||
|
|
|
@ -1,26 +1,23 @@
|
||||||
|
|
||||||
package mage.cards.r;
|
package mage.cards.r;
|
||||||
|
|
||||||
import java.util.UUID;
|
import mage.abilities.effects.common.ReturnFromGraveyardToHandTargetEffect;
|
||||||
import mage.abilities.effects.common.ReturnToHandTargetEffect;
|
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.target.common.TargetCardInYourGraveyard;
|
import mage.target.common.TargetCardInYourGraveyard;
|
||||||
|
|
||||||
/**
|
import java.util.UUID;
|
||||||
*
|
|
||||||
* @author KholdFuzion
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author KholdFuzion
|
||||||
*/
|
*/
|
||||||
public final class Regrowth extends CardImpl {
|
public final class Regrowth extends CardImpl {
|
||||||
|
|
||||||
public Regrowth(UUID ownerId, CardSetInfo setInfo) {
|
public Regrowth(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{1}{G}");
|
super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{1}{G}");
|
||||||
|
|
||||||
|
|
||||||
// Return target card from your graveyard to your hand.
|
// Return target card from your graveyard to your hand.
|
||||||
this.getSpellAbility().addEffect(new ReturnToHandTargetEffect());
|
this.getSpellAbility().addEffect(new ReturnFromGraveyardToHandTargetEffect());
|
||||||
this.getSpellAbility().addTarget(new TargetCardInYourGraveyard());
|
this.getSpellAbility().addTarget(new TargetCardInYourGraveyard());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -20,7 +20,7 @@ public final class Revitalize extends CardImpl {
|
||||||
this.getSpellAbility().addEffect(new GainLifeEffect(3));
|
this.getSpellAbility().addEffect(new GainLifeEffect(3));
|
||||||
|
|
||||||
// Draw a card.
|
// Draw a card.
|
||||||
this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1));
|
this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1).concatBy("<br>"));
|
||||||
}
|
}
|
||||||
|
|
||||||
private Revitalize(final Revitalize card) {
|
private Revitalize(final Revitalize card) {
|
||||||
|
|
|
@ -78,7 +78,7 @@ class TeferisProtectionEffect extends OneShotEffect {
|
||||||
*/
|
*/
|
||||||
public TeferisProtectionEffect() {
|
public TeferisProtectionEffect() {
|
||||||
super(Outcome.Protect);
|
super(Outcome.Protect);
|
||||||
staticText = ", and you gain protection from everything";
|
staticText = " and you gain protection from everything";
|
||||||
}
|
}
|
||||||
|
|
||||||
public TeferisProtectionEffect(final TeferisProtectionEffect effect) {
|
public TeferisProtectionEffect(final TeferisProtectionEffect effect) {
|
||||||
|
@ -126,7 +126,7 @@ class TeferisProtectionPhaseOutEffect extends OneShotEffect {
|
||||||
|
|
||||||
public TeferisProtectionPhaseOutEffect() {
|
public TeferisProtectionPhaseOutEffect() {
|
||||||
super(Outcome.Benefit);
|
super(Outcome.Benefit);
|
||||||
this.staticText = "All permanents you control phase out. (While they're phased out, they're treated as though they don't exist. They phase in before you untap during your untap step.)";
|
this.staticText = "All permanents you control phase out. <i>(While they're phased out, they're treated as though they don't exist. They phase in before you untap during your untap step.)</i><br>";
|
||||||
}
|
}
|
||||||
|
|
||||||
public TeferisProtectionPhaseOutEffect(final TeferisProtectionPhaseOutEffect effect) {
|
public TeferisProtectionPhaseOutEffect(final TeferisProtectionPhaseOutEffect effect) {
|
||||||
|
|
|
@ -22,7 +22,7 @@ public final class TendrilsOfAgony extends CardImpl {
|
||||||
// Target player loses 2 life and you gain 2 life.
|
// Target player loses 2 life and you gain 2 life.
|
||||||
this.getSpellAbility().addTarget(new TargetPlayer());
|
this.getSpellAbility().addTarget(new TargetPlayer());
|
||||||
this.getSpellAbility().addEffect(new LoseLifeTargetEffect(2));
|
this.getSpellAbility().addEffect(new LoseLifeTargetEffect(2));
|
||||||
this.getSpellAbility().addEffect(new GainLifeEffect(2));
|
this.getSpellAbility().addEffect(new GainLifeEffect(2).concatBy("and"));
|
||||||
// Storm (When you cast this spell, copy it for each spell cast before it this turn. You may choose new targets for the copies.)
|
// Storm (When you cast this spell, copy it for each spell cast before it this turn. You may choose new targets for the copies.)
|
||||||
this.addAbility(new StormAbility());
|
this.addAbility(new StormAbility());
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,5 @@
|
||||||
|
|
||||||
package mage.cards.u;
|
package mage.cards.u;
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.common.SimpleStaticAbility;
|
import mage.abilities.common.SimpleStaticAbility;
|
||||||
import mage.abilities.condition.common.KickedCondition;
|
import mage.abilities.condition.common.KickedCondition;
|
||||||
|
@ -16,8 +14,9 @@ import mage.constants.CardType;
|
||||||
import mage.constants.Zone;
|
import mage.constants.Zone;
|
||||||
import mage.target.common.TargetAnyTarget;
|
import mage.target.common.TargetAnyTarget;
|
||||||
|
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
|
||||||
* @author FenrisulfrX
|
* @author FenrisulfrX
|
||||||
*/
|
*/
|
||||||
public final class UrzasRage extends CardImpl {
|
public final class UrzasRage extends CardImpl {
|
||||||
|
@ -36,9 +35,11 @@ public final class UrzasRage extends CardImpl {
|
||||||
this.addAbility(ability);
|
this.addAbility(ability);
|
||||||
|
|
||||||
// Urza's Rage deals 3 damage to any target. If Urza's Rage was kicked, instead it deals 10 damage to that creature or player and the damage can't be prevented.
|
// Urza's Rage deals 3 damage to any target. If Urza's Rage was kicked, instead it deals 10 damage to that creature or player and the damage can't be prevented.
|
||||||
this.getSpellAbility().addEffect(new ConditionalOneShotEffect(new DamageTargetEffect(10, false),
|
this.getSpellAbility().addEffect(new ConditionalOneShotEffect(
|
||||||
new DamageTargetEffect(3), KickedCondition.instance,
|
new DamageTargetEffect(10, false), new DamageTargetEffect(3),
|
||||||
"{this} deals 3 damage to any target. if this spell was kicked, instead it deals 10 damage to that permanent or player and the damage can't be prevented."));
|
KickedCondition.instance, "{this} deals 3 damage to any target. If this spell was kicked, " +
|
||||||
|
"instead it deals 10 damage to that permanent or player and the damage can't be prevented."
|
||||||
|
));
|
||||||
this.getSpellAbility().addTarget(new TargetAnyTarget());
|
this.getSpellAbility().addTarget(new TargetAnyTarget());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -56,7 +56,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_CODE = "TSR"; // check all abilities and output cards with wrong abilities texts;
|
private static final String FULL_ABILITIES_CHECK_SET_CODE = "STA"; // 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 AUTO_FIX_SAMPLE_DECKS = false; // debug only: auto-fix sample decks by test_checkSampleDecks test run
|
||||||
|
|
||||||
private static final HashMap<String, Set<String>> skipCheckLists = new HashMap<>();
|
private static final HashMap<String, Set<String>> skipCheckLists = new HashMap<>();
|
||||||
|
|
|
@ -54,8 +54,12 @@ public class Effects extends ArrayList<Effect> {
|
||||||
String concatPrefix = effect.getConcatPrefix();
|
String concatPrefix = effect.getConcatPrefix();
|
||||||
|
|
||||||
if (effectNum > 1 && !concatPrefix.isEmpty() && !concatPrefix.equals(".")) {
|
if (effectNum > 1 && !concatPrefix.isEmpty() && !concatPrefix.equals(".")) {
|
||||||
|
if (concatPrefix.contains("<br>")) {
|
||||||
|
nextRule = concatPrefix + CardUtil.getTextWithFirstCharUpperCase(nextRule);
|
||||||
|
} else {
|
||||||
nextRule = concatPrefix + " " + nextRule;
|
nextRule = concatPrefix + " " + nextRule;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
//check if nextRule is a new sentence or not.
|
//check if nextRule is a new sentence or not.
|
||||||
|
|
|
@ -99,10 +99,10 @@ public class SearchLibraryPutInHandEffect extends SearchEffect {
|
||||||
sb.append(target.getTargetName());
|
sb.append(target.getTargetName());
|
||||||
if (forceShuffle) {
|
if (forceShuffle) {
|
||||||
sb.append(revealCards ? ", reveal them" : "");
|
sb.append(revealCards ? ", reveal them" : "");
|
||||||
sb.append(", put them into your hand, then shuffle your library");
|
sb.append(", put them into your hand, then shuffle");
|
||||||
} else {
|
} else {
|
||||||
sb.append(revealCards ? ", reveal them," : "");
|
sb.append(revealCards ? ", reveal them," : "");
|
||||||
sb.append(" and put them into your hand. If you do, shuffle your library");
|
sb.append(" and put them into your hand. If you do, shuffle");
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (!target.getTargetName().startsWith("a ") && !target.getTargetName().startsWith("an ")) {
|
if (!target.getTargetName().startsWith("a ") && !target.getTargetName().startsWith("an ")) {
|
||||||
|
@ -110,11 +110,11 @@ public class SearchLibraryPutInHandEffect extends SearchEffect {
|
||||||
}
|
}
|
||||||
sb.append(target.getTargetName());
|
sb.append(target.getTargetName());
|
||||||
if (forceShuffle) {
|
if (forceShuffle) {
|
||||||
sb.append(revealCards ? ", reveal it" : "");
|
sb.append(revealCards ? ", reveal it, put it" : ", put that card");
|
||||||
sb.append(", put it into your hand, then shuffle your library");
|
sb.append(" into your hand, then shuffle");
|
||||||
} else {
|
} else {
|
||||||
sb.append(revealCards ? ", reveal it," : "");
|
sb.append(revealCards ? ", reveal it," : "");
|
||||||
sb.append(" and put that card into your hand. If you do, shuffle your library");
|
sb.append(" and put that card into your hand. If you do, shuffle");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
staticText = sb.toString();
|
staticText = sb.toString();
|
||||||
|
|
|
@ -97,9 +97,9 @@ public class SearchLibraryPutInPlayEffect extends SearchEffect {
|
||||||
sb.append(" tapped");
|
sb.append(" tapped");
|
||||||
}
|
}
|
||||||
if (forceShuffle) {
|
if (forceShuffle) {
|
||||||
sb.append(", then shuffle your library");
|
sb.append(", then shuffle");
|
||||||
} else {
|
} else {
|
||||||
sb.append(". If you do, shuffle your library");
|
sb.append(". If you do, shuffle");
|
||||||
}
|
}
|
||||||
staticText = sb.toString();
|
staticText = sb.toString();
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue