mirror of
https://github.com/correl/mage.git
synced 2024-12-25 11:11:16 +00:00
[BRO] various text fixes
This commit is contained in:
parent
501e769691
commit
7e550f463f
31 changed files with 58 additions and 59 deletions
|
@ -5,7 +5,7 @@ import mage.abilities.common.PutIntoGraveFromBattlefieldSourceTriggeredAbility;
|
|||
import mage.abilities.common.SimpleStaticAbility;
|
||||
import mage.abilities.effects.common.AttachEffect;
|
||||
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
|
||||
import mage.abilities.effects.common.continuous.BoostEquippedEffect;
|
||||
import mage.abilities.effects.common.continuous.BoostEnchantedEffect;
|
||||
import mage.abilities.effects.common.continuous.GainAbilityAttachedEffect;
|
||||
import mage.abilities.keyword.EnchantAbility;
|
||||
import mage.abilities.keyword.TrampleAbility;
|
||||
|
@ -37,7 +37,7 @@ public final class Audacity extends CardImpl {
|
|||
this.addAbility(new EnchantAbility(auraTarget));
|
||||
|
||||
// Enchanted creature gets +2/+0 and has trample.
|
||||
Ability ability = new SimpleStaticAbility(new BoostEquippedEffect(2, 2));
|
||||
Ability ability = new SimpleStaticAbility(new BoostEnchantedEffect(2, 0));
|
||||
ability.addEffect(new GainAbilityAttachedEffect(
|
||||
TrampleAbility.getInstance(), AttachmentType.EQUIPMENT
|
||||
).setText("and has trample"));
|
||||
|
|
|
@ -43,7 +43,7 @@ public final class BatteryBearer extends CardImpl {
|
|||
// Creatures you control have "{T}: Add {C}. This mana can't be spent to cast a nonartifact spell."
|
||||
this.addAbility(new SimpleStaticAbility(new GainAbilityControlledEffect(
|
||||
new ConditionalColorlessManaAbility(1, PowerstoneToken.makeBuilder()),
|
||||
Duration.WhileOnBattlefield, StaticFilters.FILTER_PERMANENT_CREATURE
|
||||
Duration.WhileOnBattlefield, StaticFilters.FILTER_PERMANENT_CREATURES
|
||||
)));
|
||||
|
||||
// Whenever you cast an artifact spell with mana value 6 or greater, draw a card.
|
||||
|
|
|
@ -34,7 +34,7 @@ public final class BitterReunion extends CardImpl {
|
|||
// {1}, Sacrifice Bitter Reunion: Creatures you control gain haste until end of turn.
|
||||
Ability ability = new SimpleActivatedAbility(new GainAbilityControlledEffect(
|
||||
HasteAbility.getInstance(), Duration.EndOfTurn,
|
||||
StaticFilters.FILTER_CONTROLLED_CREATURES
|
||||
StaticFilters.FILTER_PERMANENT_CREATURES
|
||||
), new GenericManaCost(1));
|
||||
ability.addCost(new SacrificeSourceCost());
|
||||
this.addAbility(ability);
|
||||
|
|
|
@ -57,6 +57,7 @@ public final class BladecoilSerpent extends CardImpl {
|
|||
ability.addEffect(new ConditionalOneShotEffect(new AddContinuousEffectToGame(
|
||||
new GainAbilitySourceEffect(HasteAbility.getInstance(), Duration.EndOfTurn)
|
||||
), BladecoilSerpentCondition.instance, "and haste until end of turn"));
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
||||
private BladecoilSerpent(final BladecoilSerpent card) {
|
||||
|
|
|
@ -39,12 +39,12 @@ public final class ClayChampion extends CardImpl {
|
|||
null, null, "with three +1/+1 counters on it for each {G}{G} spent to cast it"
|
||||
));
|
||||
|
||||
// When Clay Champion enters the battlefield, choose up to two other creatures you control. For each {W}{W} spent to cast Clay Champion, put a +1/+1 counter on each of them.
|
||||
// When Clay Champion enters the battlefield, choose up to two other target creatures you control. For each {W}{W} spent to cast Clay Champion, put a +1/+1 counter on each of them.
|
||||
Ability ability = new EntersBattlefieldTriggeredAbility(
|
||||
new AddCountersTargetEffect(
|
||||
CounterType.P1P1.createInstance(0),
|
||||
EachTwoManaSpentToCastValue.WHITE
|
||||
).setText("choose up to two other creatures you control. " +
|
||||
).setText("choose up to two other target creatures you control. " +
|
||||
"For each {W}{W} spent to cast {this}, put a +1/+1 counter on each of them")
|
||||
);
|
||||
ability.addTarget(new TargetPermanent(
|
||||
|
|
|
@ -49,7 +49,7 @@ public final class DrafnaFounderOfLatNam extends CardImpl {
|
|||
this.addAbility(ability);
|
||||
|
||||
// {3}, {T}: Copy target artifact spell you control.
|
||||
ability = new SimpleActivatedAbility(new CopyTargetSpellEffect(), new GenericManaCost(3));
|
||||
ability = new SimpleActivatedAbility(new CopyTargetSpellEffect(false, false, false), new GenericManaCost(3));
|
||||
ability.addCost(new TapSourceCost());
|
||||
ability.addTarget(new TargetSpell(filter));
|
||||
this.addAbility(ability);
|
||||
|
|
|
@ -34,10 +34,10 @@ public final class FaunaShaman extends CardImpl {
|
|||
|
||||
// {G}, {tap}, Discard a creature card: Search your library for a creature card, reveal it, and put it into your hand. Then shuffle your library.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD,
|
||||
new SearchLibraryPutInHandEffect(new TargetCardInLibrary(StaticFilters.FILTER_CARD_CREATURE), true),
|
||||
new SearchLibraryPutInHandEffect(new TargetCardInLibrary(StaticFilters.FILTER_CARD_CREATURE_A), true),
|
||||
new ColoredManaCost(ColoredManaSymbol.G));
|
||||
ability.addCost(new TapSourceCost());
|
||||
ability.addCost(new DiscardTargetCost(new TargetCardInHand(StaticFilters.FILTER_CARD_CREATURE)));
|
||||
ability.addCost(new DiscardTargetCost(new TargetCardInHand(StaticFilters.FILTER_CARD_CREATURE_A)));
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
||||
|
|
|
@ -34,7 +34,7 @@ public final class GaeasCourser extends CardImpl {
|
|||
this.addAbility(new ConditionalInterveningIfTriggeredAbility(
|
||||
new AttacksTriggeredAbility(new DrawCardSourceControllerEffect(1)),
|
||||
condition,
|
||||
"Whenever {this} attacks, if there are there or more creature cards in your graveyard, draw a card."
|
||||
"Whenever {this} attacks, if there are three or more creature cards in your graveyard, draw a card."
|
||||
));
|
||||
}
|
||||
|
||||
|
|
|
@ -27,7 +27,7 @@ public final class GixsCaress extends CardImpl {
|
|||
this.getSpellAbility().addTarget(new TargetOpponent());
|
||||
|
||||
// Create a tapped Powerstone token.
|
||||
this.getSpellAbility().addEffect(new CreateTokenEffect(new PowerstoneToken(), 1, true));
|
||||
this.getSpellAbility().addEffect(new CreateTokenEffect(new PowerstoneToken(), 1, true).concatBy("<br>"));
|
||||
}
|
||||
|
||||
private GixsCaress(final GixsCaress card) {
|
||||
|
|
|
@ -56,7 +56,7 @@ public final class HeroOfTheDunes extends CardImpl {
|
|||
|
||||
// Creatures you control with mana value 3 or less get +1/+0.
|
||||
this.addAbility(new SimpleStaticAbility(new BoostAllEffect(
|
||||
1, 0, Duration.EndOfTurn, filter2, false
|
||||
1, 0, Duration.WhileOnBattlefield, filter2, false
|
||||
)));
|
||||
}
|
||||
|
||||
|
|
|
@ -24,9 +24,9 @@ public final class HurkylsFinalMeditation extends CardImpl {
|
|||
public HurkylsFinalMeditation(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{4}{U}{U}{U}");
|
||||
|
||||
// As long as its not your turn, this spell costs {3} more to cast.
|
||||
// As long as it's not your turn, this spell costs {3} more to cast.
|
||||
this.addAbility(new SimpleStaticAbility(
|
||||
Zone.ALL, new InfoEffect("as long as its not your turn, this spell costs {3} more to cast")
|
||||
Zone.ALL, new InfoEffect("as long as it's not your turn, this spell costs {3} more to cast")
|
||||
));
|
||||
this.getSpellAbility().setCostAdjuster(HurkylsFinalMeditationAdjuster.instance);
|
||||
|
||||
|
|
|
@ -52,6 +52,7 @@ public final class JunkyardGenius extends CardImpl {
|
|||
HasteAbility.getInstance(), Duration.EndOfTurn,
|
||||
StaticFilters.FILTER_PERMANENT_CREATURES, true
|
||||
).setText("and haste"));
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
||||
private JunkyardGenius(final JunkyardGenius card) {
|
||||
|
|
|
@ -37,8 +37,7 @@ public final class LevitatingStatue extends CardImpl {
|
|||
// {2}: Levitating Statue becomes a 1/1 Construct artifact creature until end of turn.
|
||||
this.addAbility(new SimpleActivatedAbility(new BecomesCreatureSourceEffect(
|
||||
new CreatureToken(
|
||||
1, 1, "1/1 Construct artifact " +
|
||||
"creature until end of turn", SubType.CONSTRUCT
|
||||
1, 1, "1/1 Construct artifact creature", SubType.CONSTRUCT
|
||||
).withType(CardType.ARTIFACT), "", Duration.EndOfTurn
|
||||
), new GenericManaCost(2)));
|
||||
}
|
||||
|
|
|
@ -22,7 +22,7 @@ import java.util.UUID;
|
|||
public final class LoranDiscipleOfHistory extends CardImpl {
|
||||
|
||||
private static final FilterPermanent filter
|
||||
= new FilterControlledCreaturePermanent("another legendary creature");
|
||||
= new FilterControlledCreaturePermanent("legendary creature");
|
||||
|
||||
static {
|
||||
filter.add(SuperType.LEGENDARY.getPredicate());
|
||||
|
|
|
@ -11,7 +11,7 @@ import mage.cards.CardImpl;
|
|||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.Zone;
|
||||
import mage.filter.StaticFilters;
|
||||
import mage.filter.common.FilterArtifactCreaturePermanent;
|
||||
import mage.target.common.TargetNonlandPermanent;
|
||||
|
||||
import java.util.UUID;
|
||||
|
@ -21,8 +21,9 @@ import java.util.UUID;
|
|||
*/
|
||||
public final class MachineOverMatter extends CardImpl {
|
||||
|
||||
private static final Condition condition
|
||||
= new PermanentsOnTheBattlefieldCondition(StaticFilters.FILTER_PERMANENT_ARTIFACT_CREATURE);
|
||||
private static final Condition condition = new PermanentsOnTheBattlefieldCondition(
|
||||
new FilterArtifactCreaturePermanent("you control an artifact creature")
|
||||
);
|
||||
private static final Hint hint = new ConditionHint(condition, "You control an artifact creature");
|
||||
|
||||
public MachineOverMatter(UUID ownerId, CardSetInfo setInfo) {
|
||||
|
|
|
@ -17,7 +17,7 @@ public final class MassProduction extends CardImpl {
|
|||
super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{5}{W}");
|
||||
|
||||
// Create four 1/1 colorless Soldier artifact creature tokens.
|
||||
this.getSpellAbility().addEffect(new CreateTokenEffect(new SoldierArtifactToken()));
|
||||
this.getSpellAbility().addEffect(new CreateTokenEffect(new SoldierArtifactToken(), 4));
|
||||
}
|
||||
|
||||
private MassProduction(final MassProduction card) {
|
||||
|
|
|
@ -28,7 +28,7 @@ public final class PainfulQuandary extends CardImpl {
|
|||
super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{3}{B}{B}");
|
||||
|
||||
// Whenever an opponent casts a spell, that player loses 5 life unless they discard a card.
|
||||
this.addAbility(new SpellCastOpponentTriggeredAbility(Zone.BATTLEFIELD, new PainfulQuandryEffect(), StaticFilters.FILTER_SPELL, false, SetTargetPointer.PLAYER));
|
||||
this.addAbility(new SpellCastOpponentTriggeredAbility(Zone.BATTLEFIELD, new PainfulQuandryEffect(), StaticFilters.FILTER_SPELL_A, false, SetTargetPointer.PLAYER));
|
||||
}
|
||||
|
||||
private PainfulQuandary(final PainfulQuandary card) {
|
||||
|
|
|
@ -24,7 +24,7 @@ import java.util.UUID;
|
|||
public final class SkystrikeOfficer extends CardImpl {
|
||||
|
||||
private static final FilterControlledPermanent filter
|
||||
= new FilterControlledPermanent(SubType.SOLDIER, "untapped Soldiers");
|
||||
= new FilterControlledPermanent(SubType.SOLDIER, "untapped Soldiers you control");
|
||||
|
||||
static {
|
||||
filter.add(TappedPredicate.UNTAPPED);
|
||||
|
|
|
@ -31,7 +31,7 @@ public final class SplittingThePowerstone extends CardImpl {
|
|||
this.getSpellAbility().addCost(new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_PERMANENT_ARTIFACT_AN));
|
||||
|
||||
// Create two tapped Powerstone tokens. If the sacrificed artifact was legendary, draw a card.
|
||||
this.getSpellAbility().addEffect(new CreateTokenEffect(new PowerstoneToken(), 2, false));
|
||||
this.getSpellAbility().addEffect(new CreateTokenEffect(new PowerstoneToken(), 2, true));
|
||||
this.getSpellAbility().addEffect(new ConditionalOneShotEffect(
|
||||
new DrawCardSourceControllerEffect(1), SplittingThePowerstoneCondition.instance,
|
||||
"If the sacrificed artifact was legendary, draw a card"
|
||||
|
|
|
@ -46,7 +46,7 @@ public final class TawnosTheToymaker extends CardImpl {
|
|||
this.toughness = new MageInt(5);
|
||||
|
||||
// Whenever you cast a Beast or Bird creature spell, you may copy it, except it's an artifact in addition to its other types.
|
||||
this.addAbility(new SpellCastControllerTriggeredAbility(new TawnosTheToymakerEffect(), filter, false));
|
||||
this.addAbility(new SpellCastControllerTriggeredAbility(new TawnosTheToymakerEffect(), filter, true));
|
||||
}
|
||||
|
||||
private TawnosTheToymaker(final TawnosTheToymaker card) {
|
||||
|
|
|
@ -44,7 +44,7 @@ public final class TeferiTemporalPilgrim extends CardImpl {
|
|||
// -2: Create a 2/2 blue Spirit creature token with vigilance and "Whenever you draw a card, put a +1/+1 counter on this creature."
|
||||
this.addAbility(new LoyaltyAbility(new CreateTokenEffect(new SpiritTeferiToken()), -2));
|
||||
|
||||
// -12: Target opponent chooses a permanent they control and returns it to its owner's had. Then they shuffle each nonland permanent they control into its owner's library.
|
||||
// -12: Target opponent chooses a permanent they control and returns it to its owner's hand. Then they shuffle each nonland permanent they control into its owner's library.
|
||||
Ability ability = new LoyaltyAbility(new TeferiTemporalPilgrimEffect(), -12);
|
||||
ability.addTarget(new TargetOpponent());
|
||||
this.addAbility(ability);
|
||||
|
@ -64,7 +64,7 @@ class TeferiTemporalPilgrimEffect extends OneShotEffect {
|
|||
|
||||
public TeferiTemporalPilgrimEffect() {
|
||||
super(Outcome.Removal);
|
||||
this.staticText = "Target opponent chooses a permanent they control and returns it to its owner's had. Then they shuffle each nonland permanent they control into its owner's library.";
|
||||
this.staticText = "Target opponent chooses a permanent they control and returns it to its owner's hand. Then they shuffle each nonland permanent they control into its owner's library.";
|
||||
}
|
||||
|
||||
private TeferiTemporalPilgrimEffect(final TeferiTemporalPilgrimEffect effect) {
|
||||
|
|
|
@ -45,7 +45,7 @@ public final class TheMightstoneAndWeakstone extends CardImpl {
|
|||
|
||||
// (Melds with Urza, Lord Protector)
|
||||
this.addAbility(new SimpleStaticAbility(
|
||||
Zone.ALL, new InfoEffect("<i>(Melds with Urza, Lord Protector)</i>")
|
||||
Zone.ALL, new InfoEffect("<i>(Melds with Urza, Lord Protector.)</i>")
|
||||
));
|
||||
}
|
||||
|
||||
|
|
|
@ -32,6 +32,9 @@ public final class TitaniasCommand extends CardImpl {
|
|||
super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{4}{G}{G}");
|
||||
|
||||
// Choose two --
|
||||
this.getSpellAbility().getModes().setMinModes(2);
|
||||
this.getSpellAbility().getModes().setMaxModes(2);
|
||||
|
||||
// * Exile target player's graveyard. You gain 1 life for each card exiled this way.
|
||||
this.getSpellAbility().addEffect(new TitaniasCommandEffect());
|
||||
this.getSpellAbility().addTarget(new TargetPlayer());
|
||||
|
|
|
@ -36,11 +36,11 @@ public final class WeakstonesSubjugation extends CardImpl {
|
|||
|
||||
// When Weakstone's Subjugation's enters the battlefield, you may pay {3}. If you do, tap enchanted permanent.
|
||||
this.addAbility(new EntersBattlefieldTriggeredAbility(new DoIfCostPaid(
|
||||
new TapEnchantedEffect("creature"), new GenericManaCost(3)
|
||||
new TapEnchantedEffect("permanent"), new GenericManaCost(3)
|
||||
)));
|
||||
|
||||
// Enchanted permanent doesn't untap during its controller's untap step.
|
||||
this.addAbility(new SimpleStaticAbility(new DontUntapInControllersUntapStepEnchantedEffect()));
|
||||
this.addAbility(new SimpleStaticAbility(new DontUntapInControllersUntapStepEnchantedEffect("permanent")));
|
||||
}
|
||||
|
||||
private WeakstonesSubjugation(final WeakstonesSubjugation card) {
|
||||
|
|
|
@ -28,7 +28,9 @@ public final class YotianTactician extends CardImpl {
|
|||
this.toughness = new MageInt(4);
|
||||
|
||||
// Other Soldiers you control get +1/+1.
|
||||
this.addAbility(new SimpleStaticAbility(new BoostControlledEffect(1, 1, Duration.EndOfTurn, filter)));
|
||||
this.addAbility(new SimpleStaticAbility(new BoostControlledEffect(
|
||||
1, 1, Duration.WhileOnBattlefield, filter, true
|
||||
)));
|
||||
}
|
||||
|
||||
private YotianTactician(final YotianTactician card) {
|
||||
|
|
|
@ -60,7 +60,7 @@ public class VerifyCardDataTest {
|
|||
|
||||
private static final Logger logger = Logger.getLogger(VerifyCardDataTest.class);
|
||||
|
||||
private static final String FULL_ABILITIES_CHECK_SET_CODE = "GN3"; // check all abilities and output cards with wrong abilities texts;
|
||||
private static final String FULL_ABILITIES_CHECK_SET_CODE = "BRO"; // 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 ONLY_TEXT = false; // use when checking text locally, suppresses unnecessary checks and output messages
|
||||
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
|
||||
package mage.abilities.effects.common;
|
||||
|
||||
import java.util.List;
|
||||
import mage.MageObject;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.effects.OneShotEffect;
|
||||
|
@ -9,8 +8,9 @@ import mage.constants.Outcome;
|
|||
import mage.game.Game;
|
||||
import mage.game.command.Emblem;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author nantuko
|
||||
*/
|
||||
public class GetEmblemEffect extends OneShotEffect {
|
||||
|
@ -47,18 +47,12 @@ public class GetEmblemEffect extends OneShotEffect {
|
|||
StringBuilder sb = new StringBuilder();
|
||||
sb.append("you get an emblem with \"");
|
||||
List<String> rules = emblem.getAbilities().getRules(null);
|
||||
if (rules.size() == 1) {
|
||||
for (String s : rules) {
|
||||
sb.append(s);
|
||||
}
|
||||
sb.append('"');
|
||||
} else if (rules.size() == 2) {
|
||||
for (String s : rules) {
|
||||
sb.append(s);
|
||||
sb.append("\" and \"");
|
||||
}
|
||||
sb.append('"');
|
||||
sb.append(rules.get(0));
|
||||
if (rules.size() == 2) {
|
||||
sb.append("\" and \"");
|
||||
sb.append(rules.get(1));
|
||||
}
|
||||
sb.append('"');
|
||||
return sb.toString();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -9,6 +9,7 @@ import mage.constants.Outcome;
|
|||
import mage.game.Game;
|
||||
import mage.game.permanent.Permanent;
|
||||
import mage.players.Player;
|
||||
import mage.util.CardUtil;
|
||||
|
||||
/**
|
||||
*
|
||||
|
@ -21,7 +22,7 @@ public class TapSourceUnlessPaysEffect extends OneShotEffect {
|
|||
public TapSourceUnlessPaysEffect(Cost cost) {
|
||||
super(Outcome.Tap);
|
||||
this.cost = cost;
|
||||
staticText = "tap {this} unless you " + cost.getText();
|
||||
staticText = "tap {this} unless you " + CardUtil.addCostVerb(cost.getText());
|
||||
}
|
||||
|
||||
public TapSourceUnlessPaysEffect(final TapSourceUnlessPaysEffect effect) {
|
||||
|
|
|
@ -113,6 +113,6 @@ public class BecomesColorSourceEffect extends ContinuousEffectImpl {
|
|||
return staticText;
|
||||
}
|
||||
return "{this} becomes " + (setColor == null ? "the color of your choice" : setColor.getDescription())
|
||||
+ ' ' + duration.toString();
|
||||
+ (' ' + duration.toString()).trim();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,7 +1,3 @@
|
|||
/*
|
||||
* To change this template, choose Tools | Templates
|
||||
* and open the template in the editor.
|
||||
*/
|
||||
package mage.abilities.effects.common.continuous;
|
||||
|
||||
import mage.abilities.Ability;
|
||||
|
@ -14,7 +10,6 @@ import mage.game.Game;
|
|||
import mage.game.permanent.Permanent;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Noahsark
|
||||
*/
|
||||
public class LoseAbilitySourceEffect extends ContinuousEffectImpl {
|
||||
|
@ -28,7 +23,7 @@ public class LoseAbilitySourceEffect extends ContinuousEffectImpl {
|
|||
public LoseAbilitySourceEffect(Ability ability, Duration duration) {
|
||||
super(duration, Layer.AbilityAddingRemovingEffects_6, SubLayer.NA, Outcome.LoseAbility);
|
||||
this.ability = ability;
|
||||
staticText = "{this} loses " + ability.getRule() + ' ' + duration.toString();
|
||||
staticText = ("{this} loses " + ability.getRule() + ' ' + duration.toString()).trim();
|
||||
}
|
||||
|
||||
public LoseAbilitySourceEffect(final LoseAbilitySourceEffect effect) {
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
package mage.game.command.emblems;
|
||||
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.common.SimpleStaticAbility;
|
||||
import mage.abilities.effects.common.continuous.BoostControlledEffect;
|
||||
import mage.abilities.effects.common.cost.SpellsCostReductionControllerEffect;
|
||||
|
@ -18,15 +17,18 @@ public final class SaheeliFiligreeMasterEmblem extends Emblem {
|
|||
public SaheeliFiligreeMasterEmblem() {
|
||||
this.setName("Emblem Saheeli");
|
||||
this.setExpansionSetCodeForImage("BRO");
|
||||
Ability ability = new SimpleStaticAbility(
|
||||
this.getAbilities().add(new SimpleStaticAbility(
|
||||
Zone.COMMAND,
|
||||
new BoostControlledEffect(
|
||||
1, 1, Duration.EndOfGame,
|
||||
StaticFilters.FILTER_PERMANENT_ARTIFACT_CREATURE
|
||||
).setText("Artifact creatures you control get +1/+1")
|
||||
);
|
||||
ability.addEffect(new SpellsCostReductionControllerEffect(StaticFilters.FILTER_CARD_ARTIFACT, 1)
|
||||
.setText("Artifact spells you cast cost {1} less to cast"));
|
||||
this.getAbilities().add(ability);
|
||||
));
|
||||
this.getAbilities().add(new SimpleStaticAbility(
|
||||
Zone.COMMAND,
|
||||
new SpellsCostReductionControllerEffect(
|
||||
StaticFilters.FILTER_CARD_ARTIFACT, 1
|
||||
).setText("Artifact spells you cast cost {1} less to cast")
|
||||
));
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue