mirror of
https://github.com/magefree/mage.git
synced 2025-12-20 02:30:08 -08:00
[EOE] some text fixes
This commit is contained in:
parent
7c4fecb950
commit
bd07c24bee
9 changed files with 35 additions and 22 deletions
|
|
@ -42,7 +42,8 @@ public final class CloseEncounter extends CardImpl {
|
|||
this.getSpellAbility().addCost(new CloseEncounterCost());
|
||||
|
||||
// Close Encounter deals damage equal to the power of the chosen creature or card to target creature.
|
||||
this.getSpellAbility().addEffect(new DamageTargetEffect(CloseEncounterValue.instance));
|
||||
this.getSpellAbility().addEffect(new DamageTargetEffect(CloseEncounterValue.instance)
|
||||
.setText("{this} deals damage equal to the power of the chosen creature or card to target creature"));
|
||||
this.getSpellAbility().addTarget(new TargetCreaturePermanent());
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ package mage.cards.e;
|
|||
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.common.AttacksTriggeredAbility;
|
||||
import mage.abilities.common.DiscardedByOpponentTriggeredAbility;
|
||||
import mage.abilities.common.DiscardsACardOpponentTriggeredAbility;
|
||||
import mage.abilities.effects.OneShotEffect;
|
||||
import mage.abilities.effects.common.LoseLifeTargetEffect;
|
||||
import mage.abilities.keyword.DeathtouchAbility;
|
||||
|
|
@ -38,9 +38,9 @@ public final class EntropicBattlecruiser extends CardImpl {
|
|||
|
||||
// STATION 1+
|
||||
// Whenever an opponent discards a card, they lose 3 life.
|
||||
this.addAbility(new StationLevelAbility(1).withLevelAbility(
|
||||
new DiscardedByOpponentTriggeredAbility(new LoseLifeTargetEffect(3).setText("they lose 3 life"))
|
||||
));
|
||||
this.addAbility(new StationLevelAbility(1).withLevelAbility(new DiscardsACardOpponentTriggeredAbility(
|
||||
new LoseLifeTargetEffect(3).setText("they lose 3 life"), false
|
||||
)));
|
||||
|
||||
// STATION 8+
|
||||
// Flying
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ public final class ExplosiveVegetation extends CardImpl {
|
|||
|
||||
// Search your library for up to two basic land cards and put them onto the battlefield tapped. Then shuffle your library.
|
||||
this.getSpellAbility().addEffect(new SearchLibraryPutInPlayEffect(
|
||||
new TargetCardInLibrary(2, StaticFilters.FILTER_CARD_BASIC_LANDS), true
|
||||
new TargetCardInLibrary(0, 2, StaticFilters.FILTER_CARD_BASIC_LANDS), true
|
||||
));
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@ public final class HaliyaGuidedByLight extends CardImpl {
|
|||
// Whenever Haliya or another creature or artifact you control enters, you gain 1 life.
|
||||
this.addAbility(new EntersBattlefieldThisOrAnotherTriggeredAbility(
|
||||
new GainLifeEffect(1),
|
||||
StaticFilters.FILTER_CONTROLLED_PERMANENT_ARTIFACT_OR_CREATURE,
|
||||
StaticFilters.FILTER_CONTROLLED_ANOTHER_CREATURE_OR_ARTIFACT,
|
||||
false, false
|
||||
));
|
||||
|
||||
|
|
|
|||
|
|
@ -22,9 +22,9 @@ public final class HymnOfTheFaller extends CardImpl {
|
|||
super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{1}{B}");
|
||||
|
||||
// Surveil 1, then you draw a card and lose 1 life.
|
||||
this.getSpellAbility().addEffect(new SurveilEffect(1));
|
||||
this.getSpellAbility().addEffect(new SurveilEffect(1, false));
|
||||
this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1, true).concatBy(", then"));
|
||||
this.getSpellAbility().addEffect(new LoseLifeSourceControllerEffect(1).setText("and you lose one life"));
|
||||
this.getSpellAbility().addEffect(new LoseLifeSourceControllerEffect(1).setText("and lose 1 life"));
|
||||
|
||||
// Void -- If a nonland permanent left the battlefield this turn or a spell was warped this turn, draw another card.
|
||||
this.getSpellAbility().addEffect(new ConditionalOneShotEffect(
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@ public final class LarvalScoutlander extends CardImpl {
|
|||
// When this Spacecraft enters, you may sacrifice a land or a Lander. If you do, search your library for up to two basic land cards, put them onto the battlefield tapped, then shuffle.
|
||||
this.addAbility(new EntersBattlefieldTriggeredAbility(new DoIfCostPaid(
|
||||
new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(
|
||||
2, StaticFilters.FILTER_CARD_BASIC_LANDS
|
||||
0, 2, StaticFilters.FILTER_CARD_BASIC_LANDS
|
||||
), true), new SacrificeTargetCost(filter)
|
||||
)));
|
||||
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@ public final class Lithobraking extends CardImpl {
|
|||
new DamageAllEffect(2, StaticFilters.FILTER_PERMANENT_CREATURE), false
|
||||
), new SacrificeTargetCost(StaticFilters.FILTER_PERMANENT_ARTIFACT),
|
||||
"Sacrifice an artifact?"
|
||||
));
|
||||
).concatBy("Then"));
|
||||
}
|
||||
|
||||
private Lithobraking(final Lithobraking card) {
|
||||
|
|
|
|||
|
|
@ -5,7 +5,10 @@ import mage.abilities.effects.common.ReturnFromGraveyardToHandTargetEffect;
|
|||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.filter.FilterCard;
|
||||
import mage.filter.StaticFilters;
|
||||
import mage.filter.common.FilterNonlandCard;
|
||||
import mage.filter.predicate.mageobject.PermanentPredicate;
|
||||
import mage.target.common.TargetCardInYourGraveyard;
|
||||
import mage.target.targetpointer.SecondTargetPointer;
|
||||
|
||||
|
|
@ -16,16 +19,21 @@ import java.util.UUID;
|
|||
*/
|
||||
public final class PullThroughTheWeft extends CardImpl {
|
||||
|
||||
private static final FilterCard filter = new FilterNonlandCard("nonland permanent cards from your graveyard");
|
||||
|
||||
static {
|
||||
filter.add(PermanentPredicate.instance);
|
||||
}
|
||||
|
||||
public PullThroughTheWeft(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{3}{G}{G}");
|
||||
|
||||
// Return up to two target nonland permanent cards from your graveyard to your hand, then return up to two target land cards from your graveyard to the battlefield tapped.
|
||||
this.getSpellAbility().addEffect(new ReturnFromGraveyardToHandTargetEffect());
|
||||
this.getSpellAbility().addTarget(new TargetCardInYourGraveyard(
|
||||
0, 2, StaticFilters.FILTER_CARDS_NON_LAND
|
||||
));
|
||||
this.getSpellAbility().addTarget(new TargetCardInYourGraveyard(0, 2, filter));
|
||||
this.getSpellAbility().addEffect(new ReturnFromGraveyardToBattlefieldTargetEffect(true)
|
||||
.setTargetPointer(new SecondTargetPointer()).concatBy(", then"));
|
||||
.setTargetPointer(new SecondTargetPointer())
|
||||
.setText(", then return up to two target land cards from your graveyard to the battlefield tapped"));
|
||||
this.getSpellAbility().addTarget(new TargetCardInYourGraveyard(
|
||||
0, 2, StaticFilters.FILTER_CARD_LAND_FROM_YOUR_GRAVEYARD
|
||||
));
|
||||
|
|
|
|||
|
|
@ -48,14 +48,18 @@ public class FilterPermanentThisOrAnother extends FilterPermanent {
|
|||
}
|
||||
|
||||
protected static String generateFilterMessage(FilterPermanent otherFilter) {
|
||||
StringBuilder sb = new StringBuilder("{this} or another ");
|
||||
// Remove the indefinite article from the beginning of the message:
|
||||
String otherFilterMessage = otherFilter.getMessage();
|
||||
if (otherFilterMessage.startsWith("a ")) {
|
||||
otherFilterMessage = otherFilterMessage.substring(2);
|
||||
} else if (otherFilterMessage.startsWith("an ")) {
|
||||
otherFilterMessage = otherFilterMessage.substring(3);
|
||||
String message = otherFilter.getMessage();
|
||||
if (message.startsWith("a ")) {
|
||||
sb.append(message.substring(2));
|
||||
} else if (message.startsWith("an ")) {
|
||||
sb.append(message.substring(3));
|
||||
} else if (message.startsWith("another ")) {
|
||||
sb.append(message.substring(8));
|
||||
} else {
|
||||
sb.append(message);
|
||||
}
|
||||
|
||||
return "{this} or another " + otherFilterMessage;
|
||||
return sb.toString();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue