mirror of
https://github.com/correl/mage.git
synced 2024-11-29 03:00:12 +00:00
[MH1] various text fixes
This commit is contained in:
parent
df6acb697d
commit
9fd29bae06
24 changed files with 64 additions and 67 deletions
|
@ -1,8 +1,9 @@
|
||||||
package mage.cards.c;
|
package mage.cards.c;
|
||||||
|
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.common.CantBlockAbility;
|
import mage.abilities.common.CantBlockAbility;
|
||||||
import mage.abilities.keyword.CantBeBlockedSourceAbility;
|
import mage.abilities.effects.common.combat.CantBeBlockedSourceEffect;
|
||||||
import mage.abilities.keyword.ChangelingAbility;
|
import mage.abilities.keyword.ChangelingAbility;
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
|
@ -27,8 +28,9 @@ public final class ChangelingOutcast extends CardImpl {
|
||||||
this.addAbility(new ChangelingAbility());
|
this.addAbility(new ChangelingAbility());
|
||||||
|
|
||||||
// Changeling Outcast can't block and can't be blocked.
|
// Changeling Outcast can't block and can't be blocked.
|
||||||
this.addAbility(new CantBlockAbility());
|
Ability ability = new CantBlockAbility();
|
||||||
this.addAbility(new CantBeBlockedSourceAbility());
|
ability.addEffect(new CantBeBlockedSourceEffect().setText("and can't be blocked"));
|
||||||
|
this.addAbility(ability);
|
||||||
}
|
}
|
||||||
|
|
||||||
private ChangelingOutcast(final ChangelingOutcast card) {
|
private ChangelingOutcast(final ChangelingOutcast card) {
|
||||||
|
|
|
@ -25,7 +25,7 @@ public final class Exclude extends CardImpl {
|
||||||
this.getSpellAbility().addTarget(new TargetSpell(new FilterCreatureSpell()));
|
this.getSpellAbility().addTarget(new TargetSpell(new FilterCreatureSpell()));
|
||||||
|
|
||||||
// Draw a card.
|
// Draw a card.
|
||||||
this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1));
|
this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1).concatBy("<br>"));
|
||||||
}
|
}
|
||||||
|
|
||||||
private Exclude(final Exclude card) {
|
private Exclude(final Exclude card) {
|
||||||
|
|
|
@ -28,7 +28,9 @@ public final class FirstSphereGargantua extends CardImpl {
|
||||||
this.toughness = new MageInt(4);
|
this.toughness = new MageInt(4);
|
||||||
|
|
||||||
// When First-Sphere Gargantua enters the battlefield, you draw a card and you lose 1 life.
|
// When First-Sphere Gargantua enters the battlefield, you draw a card and you lose 1 life.
|
||||||
Ability ability = new EntersBattlefieldTriggeredAbility(new DrawCardSourceControllerEffect(1));
|
Ability ability = new EntersBattlefieldTriggeredAbility(
|
||||||
|
new DrawCardSourceControllerEffect(1).setText("you draw a card")
|
||||||
|
);
|
||||||
ability.addEffect(new LoseLifeSourceControllerEffect(1).concatBy("and"));
|
ability.addEffect(new LoseLifeSourceControllerEffect(1).concatBy("and"));
|
||||||
this.addAbility(ability);
|
this.addAbility(ability);
|
||||||
|
|
||||||
|
|
|
@ -10,7 +10,6 @@ import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.filter.FilterPermanent;
|
import mage.filter.FilterPermanent;
|
||||||
import mage.filter.StaticFilters;
|
|
||||||
import mage.filter.common.FilterArtifactOrEnchantmentPermanent;
|
import mage.filter.common.FilterArtifactOrEnchantmentPermanent;
|
||||||
import mage.filter.common.FilterOwnedCard;
|
import mage.filter.common.FilterOwnedCard;
|
||||||
import mage.filter.predicate.mageobject.ColorPredicate;
|
import mage.filter.predicate.mageobject.ColorPredicate;
|
||||||
|
@ -45,10 +44,7 @@ public final class ForceOfVigor extends CardImpl {
|
||||||
|
|
||||||
// Destroy up to two target artifacts and/or enchantments.
|
// Destroy up to two target artifacts and/or enchantments.
|
||||||
this.getSpellAbility().addEffect(new DestroyTargetEffect());
|
this.getSpellAbility().addEffect(new DestroyTargetEffect());
|
||||||
this.getSpellAbility().addTarget(new TargetPermanent(
|
this.getSpellAbility().addTarget(new TargetPermanent(0, 2, filter2, false));
|
||||||
0, 2,
|
|
||||||
StaticFilters.FILTER_PERMANENT_ARTIFACT_OR_ENCHANTMENT, false
|
|
||||||
));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private ForceOfVigor(final ForceOfVigor card) {
|
private ForceOfVigor(final ForceOfVigor card) {
|
||||||
|
|
|
@ -33,7 +33,7 @@ public final class GeomancersGambit extends CardImpl {
|
||||||
this.getSpellAbility().addTarget(new TargetLandPermanent());
|
this.getSpellAbility().addTarget(new TargetLandPermanent());
|
||||||
|
|
||||||
// Draw a card.
|
// Draw a card.
|
||||||
this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1));
|
this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1).concatBy("<br>"));
|
||||||
}
|
}
|
||||||
|
|
||||||
private GeomancersGambit(final GeomancersGambit card) {
|
private GeomancersGambit(final GeomancersGambit card) {
|
||||||
|
|
|
@ -1,17 +1,17 @@
|
||||||
|
|
||||||
package mage.cards.i;
|
package mage.cards.i;
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.common.CantBlockAbility;
|
import mage.abilities.common.CantBlockAbility;
|
||||||
import mage.abilities.keyword.CantBeBlockedSourceAbility;
|
import mage.abilities.effects.common.combat.CantBeBlockedSourceEffect;
|
||||||
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.constants.SubType;
|
import mage.constants.SubType;
|
||||||
|
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
|
||||||
* @author North
|
* @author North
|
||||||
*/
|
*/
|
||||||
public final class InkfathomInfiltrator extends CardImpl {
|
public final class InkfathomInfiltrator extends CardImpl {
|
||||||
|
@ -24,8 +24,9 @@ public final class InkfathomInfiltrator extends CardImpl {
|
||||||
this.power = new MageInt(2);
|
this.power = new MageInt(2);
|
||||||
this.toughness = new MageInt(1);
|
this.toughness = new MageInt(1);
|
||||||
|
|
||||||
this.addAbility(new CantBlockAbility());
|
Ability ability = new CantBlockAbility();
|
||||||
this.addAbility(new CantBeBlockedSourceAbility());
|
ability.addEffect(new CantBeBlockedSourceEffect().setText("and can't be blocked"));
|
||||||
|
this.addAbility(ability);
|
||||||
}
|
}
|
||||||
|
|
||||||
private InkfathomInfiltrator(final InkfathomInfiltrator card) {
|
private InkfathomInfiltrator(final InkfathomInfiltrator card) {
|
||||||
|
|
|
@ -44,9 +44,9 @@ public final class RangerCaptainOfEos extends CardImpl {
|
||||||
this.toughness = new MageInt(3);
|
this.toughness = new MageInt(3);
|
||||||
|
|
||||||
// When Ranger-Captain of Eos enters the battlefield, you may search your library for a creature card with converted mana cost 1 or less, reveal it, put it into your hand, then shuffle your library.
|
// When Ranger-Captain of Eos enters the battlefield, you may search your library for a creature card with converted mana cost 1 or less, reveal it, put it into your hand, then shuffle your library.
|
||||||
this.addAbility(new EntersBattlefieldTriggeredAbility(new SearchLibraryPutInHandEffect(
|
this.addAbility(new EntersBattlefieldTriggeredAbility(
|
||||||
new TargetCardInLibrary(0, 1, filter), true
|
new SearchLibraryPutInHandEffect(new TargetCardInLibrary(filter), true), true
|
||||||
), true));
|
));
|
||||||
|
|
||||||
// Sacrifice Ranger-Captain of Eos: Your opponents can't cast noncreature spells this turn.
|
// Sacrifice Ranger-Captain of Eos: Your opponents can't cast noncreature spells this turn.
|
||||||
this.addAbility(new SimpleActivatedAbility(new RangerCaptainOfEosEffect(), new SacrificeSourceCost()));
|
this.addAbility(new SimpleActivatedAbility(new RangerCaptainOfEosEffect(), new SacrificeSourceCost()));
|
||||||
|
|
|
@ -1,7 +1,5 @@
|
||||||
|
|
||||||
package mage.cards.r;
|
package mage.cards.r;
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
import mage.abilities.costs.mana.ManaCostsImpl;
|
import mage.abilities.costs.mana.ManaCostsImpl;
|
||||||
import mage.abilities.effects.common.continuous.BoostTargetEffect;
|
import mage.abilities.effects.common.continuous.BoostTargetEffect;
|
||||||
import mage.abilities.effects.common.continuous.GainAbilityTargetEffect;
|
import mage.abilities.effects.common.continuous.GainAbilityTargetEffect;
|
||||||
|
@ -14,8 +12,9 @@ import mage.constants.Duration;
|
||||||
import mage.constants.TimingRule;
|
import mage.constants.TimingRule;
|
||||||
import mage.target.common.TargetCreaturePermanent;
|
import mage.target.common.TargetCreaturePermanent;
|
||||||
|
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
|
||||||
* @author jeffwadsworth
|
* @author jeffwadsworth
|
||||||
*/
|
*/
|
||||||
public final class RecklessCharge extends CardImpl {
|
public final class RecklessCharge extends CardImpl {
|
||||||
|
@ -23,14 +22,16 @@ public final class RecklessCharge extends CardImpl {
|
||||||
public RecklessCharge(UUID ownerId, CardSetInfo setInfo) {
|
public RecklessCharge(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{R}");
|
super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{R}");
|
||||||
|
|
||||||
|
|
||||||
// Target creature gets +3/+0 and gains haste until end of turn.
|
// Target creature gets +3/+0 and gains haste until end of turn.
|
||||||
this.getSpellAbility().addTarget(new TargetCreaturePermanent());
|
this.getSpellAbility().addTarget(new TargetCreaturePermanent());
|
||||||
this.getSpellAbility().addEffect(new BoostTargetEffect(3, 0, Duration.EndOfTurn));
|
this.getSpellAbility().addEffect(new BoostTargetEffect(3, 0)
|
||||||
this.getSpellAbility().addEffect(new GainAbilityTargetEffect(HasteAbility.getInstance(), Duration.EndOfTurn));
|
.setText("target creature gets +3/+0"));
|
||||||
|
this.getSpellAbility().addEffect(new GainAbilityTargetEffect(
|
||||||
|
HasteAbility.getInstance(), Duration.EndOfTurn
|
||||||
|
).setText("and gains haste until end of turn"));
|
||||||
|
|
||||||
// Flashback {2}{R}
|
// Flashback {2}{R}
|
||||||
this.addAbility(new FlashbackAbility(new ManaCostsImpl("{2}{R}"), TimingRule.INSTANT));
|
this.addAbility(new FlashbackAbility(new ManaCostsImpl<>("{2}{R}"), TimingRule.INSTANT));
|
||||||
}
|
}
|
||||||
|
|
||||||
private RecklessCharge(final RecklessCharge card) {
|
private RecklessCharge(final RecklessCharge card) {
|
||||||
|
|
|
@ -25,7 +25,7 @@ public final class Shelter extends CardImpl {
|
||||||
this.getSpellAbility().addEffect(new GainProtectionFromColorTargetEffect(Duration.EndOfTurn));
|
this.getSpellAbility().addEffect(new GainProtectionFromColorTargetEffect(Duration.EndOfTurn));
|
||||||
//
|
//
|
||||||
// Draw a card.
|
// Draw a card.
|
||||||
this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1));
|
this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1).concatBy("<br>"));
|
||||||
}
|
}
|
||||||
|
|
||||||
private Shelter(final Shelter card) {
|
private Shelter(final Shelter card) {
|
||||||
|
|
|
@ -40,13 +40,13 @@ public final class SoulStrikeTechnique extends CardImpl {
|
||||||
// Enchanted creature gets +1/+1 and has vigilance.
|
// Enchanted creature gets +1/+1 and has vigilance.
|
||||||
ability = new SimpleStaticAbility(new BoostEnchantedEffect(1, 1));
|
ability = new SimpleStaticAbility(new BoostEnchantedEffect(1, 1));
|
||||||
ability.addEffect(new GainAbilityAttachedEffect(
|
ability.addEffect(new GainAbilityAttachedEffect(
|
||||||
VigilanceAbility.getInstance(), AttachmentType.AURA)
|
VigilanceAbility.getInstance(), AttachmentType.AURA
|
||||||
);
|
).setText("and has vigilance"));
|
||||||
this.addAbility(ability);
|
this.addAbility(ability);
|
||||||
|
|
||||||
// When enchanted creature dies, manifest the top card of your library.
|
// When enchanted creature dies, manifest the top card of your library.
|
||||||
this.addAbility(new DiesAttachedTriggeredAbility(
|
this.addAbility(new DiesAttachedTriggeredAbility(
|
||||||
new ManifestEffect(1), "enchanted"
|
new ManifestEffect(1), "enchanted creature"
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -50,7 +50,7 @@ public final class Soulherder extends CardImpl {
|
||||||
Ability ability = new BeginningOfEndStepTriggeredAbility(
|
Ability ability = new BeginningOfEndStepTriggeredAbility(
|
||||||
new ExileTargetForSourceEffect(), TargetController.YOU, true
|
new ExileTargetForSourceEffect(), TargetController.YOU, true
|
||||||
);
|
);
|
||||||
ability.addEffect(new ReturnToBattlefieldUnderOwnerControlTargetEffect(false, false).concatBy("then"));
|
ability.addEffect(new ReturnToBattlefieldUnderOwnerControlTargetEffect(false, false).concatBy(","));
|
||||||
ability.addTarget(new TargetControlledCreaturePermanent(filter));
|
ability.addTarget(new TargetControlledCreaturePermanent(filter));
|
||||||
this.addAbility(ability);
|
this.addAbility(ability);
|
||||||
}
|
}
|
||||||
|
|
|
@ -40,7 +40,7 @@ public final class SwordOfFireAndIce extends CardImpl {
|
||||||
// Whenever equipped creature deals combat damage to a player, Sword of Fire
|
// Whenever equipped creature deals combat damage to a player, Sword of Fire
|
||||||
// and Ice deals 2 damage to any target and you draw a card.
|
// and Ice deals 2 damage to any target and you draw a card.
|
||||||
ability = new DealsDamageToAPlayerAttachedTriggeredAbility(
|
ability = new DealsDamageToAPlayerAttachedTriggeredAbility(
|
||||||
new DamageTargetEffect(2), "equipped", false
|
new DamageTargetEffect(2), "equipped creature", false
|
||||||
);
|
);
|
||||||
ability.addEffect(new DrawCardSourceControllerEffect(1).concatBy("and"));
|
ability.addEffect(new DrawCardSourceControllerEffect(1).concatBy("and"));
|
||||||
ability.addTarget(new TargetAnyTarget());
|
ability.addTarget(new TargetAnyTarget());
|
||||||
|
|
|
@ -51,7 +51,7 @@ public final class SwordOfHearthAndHome extends CardImpl {
|
||||||
|
|
||||||
// Whenever equipped creature deals combat damage to a player, exile up to one target creature you own, then search your library for a basic land card. Put both cards onto the battlefield under your control, then shuffle.
|
// Whenever equipped creature deals combat damage to a player, exile up to one target creature you own, then search your library for a basic land card. Put both cards onto the battlefield under your control, then shuffle.
|
||||||
ability = new DealsDamageToAPlayerAttachedTriggeredAbility(
|
ability = new DealsDamageToAPlayerAttachedTriggeredAbility(
|
||||||
new SwordOfHearthAndHomeEffect(), "equipped", false
|
new SwordOfHearthAndHomeEffect(), "equipped creature", false
|
||||||
);
|
);
|
||||||
ability.addTarget(new TargetPermanent(0, 1, filter));
|
ability.addTarget(new TargetPermanent(0, 1, filter));
|
||||||
this.addAbility(ability);
|
this.addAbility(ability);
|
||||||
|
|
|
@ -40,7 +40,7 @@ public final class SwordOfLightAndShadow extends CardImpl {
|
||||||
|
|
||||||
// Whenever equipped creature deals combat damage to a player, you gain 3 life and you may return up to one target creature card from your graveyard to your hand.
|
// Whenever equipped creature deals combat damage to a player, you gain 3 life and you may return up to one target creature card from your graveyard to your hand.
|
||||||
ability = new DealsDamageToAPlayerAttachedTriggeredAbility(
|
ability = new DealsDamageToAPlayerAttachedTriggeredAbility(
|
||||||
new GainLifeEffect(3), "equipped", false
|
new GainLifeEffect(3), "equipped creature", false
|
||||||
);
|
);
|
||||||
ability.addEffect(new SwordOfLightAndShadowEffect());
|
ability.addEffect(new SwordOfLightAndShadowEffect());
|
||||||
ability.addTarget(new TargetCardInYourGraveyard(
|
ability.addTarget(new TargetCardInYourGraveyard(
|
||||||
|
|
|
@ -42,7 +42,7 @@ public final class SwordOfSinewAndSteel extends CardImpl {
|
||||||
ability = new DealsDamageToAPlayerAttachedTriggeredAbility(
|
ability = new DealsDamageToAPlayerAttachedTriggeredAbility(
|
||||||
new DestroyTargetEffect(false, true)
|
new DestroyTargetEffect(false, true)
|
||||||
.setText("destroy up to one target planeswalker and up to one target artifact."),
|
.setText("destroy up to one target planeswalker and up to one target artifact."),
|
||||||
"equipped", false
|
"equipped creature", false
|
||||||
);
|
);
|
||||||
ability.addTarget(new TargetPlaneswalkerPermanent(0, 1));
|
ability.addTarget(new TargetPlaneswalkerPermanent(0, 1));
|
||||||
ability.addTarget(new TargetArtifactPermanent(0, 1));
|
ability.addTarget(new TargetArtifactPermanent(0, 1));
|
||||||
|
|
|
@ -45,7 +45,7 @@ public final class SwordOfTruthAndJustice extends CardImpl {
|
||||||
|
|
||||||
// Whenever equipped creature deals combat damage to a player, put a +1/+1 counter on a creature you control, then proliferate.
|
// Whenever equipped creature deals combat damage to a player, put a +1/+1 counter on a creature you control, then proliferate.
|
||||||
this.addAbility(new DealsDamageToAPlayerAttachedTriggeredAbility(
|
this.addAbility(new DealsDamageToAPlayerAttachedTriggeredAbility(
|
||||||
new SwordOfTruthAndJusticeEffect(), "equipped", false
|
new SwordOfTruthAndJusticeEffect(), "equipped creature", false
|
||||||
));
|
));
|
||||||
|
|
||||||
// Equip {2}
|
// Equip {2}
|
||||||
|
|
|
@ -18,7 +18,7 @@ import java.util.UUID;
|
||||||
*/
|
*/
|
||||||
public final class TheFirstSliver extends CardImpl {
|
public final class TheFirstSliver extends CardImpl {
|
||||||
|
|
||||||
private static final FilterCard filter = new FilterCard("Sliver spells you cast");
|
private static final FilterCard filter = new FilterCard("Sliver spells");
|
||||||
|
|
||||||
static {
|
static {
|
||||||
filter.add(SubType.SLIVER.getPredicate());
|
filter.add(SubType.SLIVER.getPredicate());
|
||||||
|
|
|
@ -1,16 +1,16 @@
|
||||||
|
|
||||||
|
|
||||||
package mage.cards.t;
|
package mage.cards.t;
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.common.CantBlockAbility;
|
import mage.abilities.common.CantBlockAbility;
|
||||||
import mage.abilities.keyword.CantBeBlockedSourceAbility;
|
import mage.abilities.effects.common.combat.CantBeBlockedSourceEffect;
|
||||||
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.constants.SubType;
|
import mage.constants.SubType;
|
||||||
|
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Loki
|
* @author Loki
|
||||||
*/
|
*/
|
||||||
|
@ -22,8 +22,9 @@ public final class TormentedSoul extends CardImpl {
|
||||||
|
|
||||||
this.power = new MageInt(1);
|
this.power = new MageInt(1);
|
||||||
this.toughness = new MageInt(1);
|
this.toughness = new MageInt(1);
|
||||||
this.addAbility(new CantBlockAbility());
|
Ability ability = new CantBlockAbility();
|
||||||
this.addAbility(new CantBeBlockedSourceAbility());
|
ability.addEffect(new CantBeBlockedSourceEffect().setText("and can't be blocked"));
|
||||||
|
this.addAbility(ability);
|
||||||
}
|
}
|
||||||
|
|
||||||
private TormentedSoul(final TormentedSoul card) {
|
private TormentedSoul(final TormentedSoul card) {
|
||||||
|
@ -34,5 +35,4 @@ public final class TormentedSoul extends CardImpl {
|
||||||
public TormentedSoul copy() {
|
public TormentedSoul copy() {
|
||||||
return new TormentedSoul(this);
|
return new TormentedSoul(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -36,7 +36,7 @@ public final class TributeMage extends CardImpl {
|
||||||
|
|
||||||
// When Tribute Mage enters the battlefield, you may search your library for an artifact card with converted mana cost 2, reveal that card, put it into your hand, then shuffle your library.
|
// When Tribute Mage enters the battlefield, you may search your library for an artifact card with converted mana cost 2, reveal that card, put it into your hand, then shuffle your library.
|
||||||
this.addAbility(new EntersBattlefieldTriggeredAbility(new SearchLibraryPutInHandEffect(
|
this.addAbility(new EntersBattlefieldTriggeredAbility(new SearchLibraryPutInHandEffect(
|
||||||
new TargetCardInLibrary(0, 1, filter), true, true
|
new TargetCardInLibrary(filter), true, true
|
||||||
), true));
|
), true));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -36,7 +36,7 @@ public final class UndeadAugur extends CardImpl {
|
||||||
|
|
||||||
// Whenever Undead Augur or another Zombie you control dies, you draw a card and you lose 1 life.
|
// Whenever Undead Augur or another Zombie you control dies, you draw a card and you lose 1 life.
|
||||||
Ability ability = new DiesThisOrAnotherCreatureTriggeredAbility(
|
Ability ability = new DiesThisOrAnotherCreatureTriggeredAbility(
|
||||||
new DrawCardSourceControllerEffect(1).concatBy("you"), false, filter
|
new DrawCardSourceControllerEffect(1).setText("you draw a card"), false, filter
|
||||||
);
|
);
|
||||||
ability.addEffect(new LoseLifeSourceControllerEffect(1).concatBy("and"));
|
ability.addEffect(new LoseLifeSourceControllerEffect(1).concatBy("and"));
|
||||||
this.addAbility(ability);
|
this.addAbility(ability);
|
||||||
|
|
|
@ -76,7 +76,7 @@ class UrzaLordHighArtificerEffect extends OneShotEffect {
|
||||||
|
|
||||||
UrzaLordHighArtificerEffect() {
|
UrzaLordHighArtificerEffect() {
|
||||||
super(Outcome.Benefit);
|
super(Outcome.Benefit);
|
||||||
this.staticText = "Shuffle your library, then exile the top card of your library. " +
|
this.staticText = "Shuffle your library, then exile the top card. " +
|
||||||
"Until end of turn, you may play that card without paying its mana cost";
|
"Until end of turn, you may play that card without paying its mana cost";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,28 +1,30 @@
|
||||||
|
|
||||||
package mage.cards.w;
|
package mage.cards.w;
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
import mage.abilities.effects.common.SacrificeEffect;
|
import mage.abilities.effects.common.SacrificeEffect;
|
||||||
import mage.abilities.keyword.StormAbility;
|
import mage.abilities.keyword.StormAbility;
|
||||||
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.filter.FilterPermanent;
|
||||||
import mage.filter.common.FilterAttackingCreature;
|
import mage.filter.common.FilterAttackingCreature;
|
||||||
import mage.target.TargetPlayer;
|
import mage.target.TargetPlayer;
|
||||||
|
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
|
||||||
* @author Plopman
|
* @author Plopman
|
||||||
*/
|
*/
|
||||||
public final class WingShards extends CardImpl {
|
public final class WingShards extends CardImpl {
|
||||||
|
|
||||||
|
private static final FilterPermanent filter = new FilterAttackingCreature("an attacking creature");
|
||||||
|
|
||||||
public WingShards(UUID ownerId, CardSetInfo setInfo) {
|
public WingShards(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{1}{W}{W}");
|
super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{1}{W}{W}");
|
||||||
|
|
||||||
|
|
||||||
// Target player sacrifices an attacking creature.
|
// Target player sacrifices an attacking creature.
|
||||||
this.getSpellAbility().addEffect(new SacrificeEffect(new FilterAttackingCreature(), 1, "Target player"));
|
this.getSpellAbility().addEffect(new SacrificeEffect(filter, 1, "Target player"));
|
||||||
this.getSpellAbility().addTarget(new TargetPlayer());
|
this.getSpellAbility().addTarget(new TargetPlayer());
|
||||||
|
|
||||||
// Storm
|
// Storm
|
||||||
this.addAbility(new StormAbility());
|
this.addAbility(new StormAbility());
|
||||||
}
|
}
|
||||||
|
|
|
@ -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 = "C21"; // check all abilities and output cards with wrong abilities texts;
|
private static final String FULL_ABILITIES_CHECK_SET_CODE = "MH1"; // 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 boolean ONLY_TEXT = false; // use when checking text locally, suppresses unnecessary checks and output messages
|
private static final boolean ONLY_TEXT = false; // use when checking text locally, suppresses unnecessary checks and output messages
|
||||||
|
|
||||||
|
|
|
@ -1,12 +1,10 @@
|
||||||
|
|
||||||
package mage.abilities.common;
|
package mage.abilities.common;
|
||||||
|
|
||||||
|
import mage.abilities.effects.common.combat.CantBlockSourceEffect;
|
||||||
import mage.constants.Duration;
|
import mage.constants.Duration;
|
||||||
import mage.constants.Zone;
|
import mage.constants.Zone;
|
||||||
import mage.abilities.effects.common.combat.CantBlockSourceEffect;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
|
||||||
* @author maurer.it_at_gmail.com
|
* @author maurer.it_at_gmail.com
|
||||||
*/
|
*/
|
||||||
public class CantBlockAbility extends SimpleStaticAbility {
|
public class CantBlockAbility extends SimpleStaticAbility {
|
||||||
|
@ -19,11 +17,6 @@ public class CantBlockAbility extends SimpleStaticAbility {
|
||||||
super(ability);
|
super(ability);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public String getRule() {
|
|
||||||
return "{this} can't block.";
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public CantBlockAbility copy() {
|
public CantBlockAbility copy() {
|
||||||
return new CantBlockAbility(this);
|
return new CantBlockAbility(this);
|
||||||
|
|
Loading…
Reference in a new issue