various text fixes for M20 cards

This commit is contained in:
Evan Kranzler 2019-07-22 18:17:34 -04:00
parent 2e8b00ed9c
commit 61fa056165
16 changed files with 99 additions and 69 deletions

View file

@ -1,20 +1,20 @@
package mage.cards.a;
import java.util.UUID;
import mage.MageInt;
import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.effects.common.continuous.GainAbilityControlledEffect;
import mage.constants.SubType;
import mage.abilities.keyword.TrampleAbility;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.Duration;
import mage.constants.SubType;
import mage.constants.Zone;
import mage.filter.StaticFilters;
import java.util.UUID;
/**
*
* @author TheElk801
*/
public final class AggressiveMammoth extends CardImpl {
@ -35,7 +35,7 @@ public final class AggressiveMammoth extends CardImpl {
new GainAbilityControlledEffect(
TrampleAbility.getInstance(),
Duration.WhileOnBattlefield,
StaticFilters.FILTER_CONTROLLED_CREATURES,
StaticFilters.FILTER_PERMANENT_CREATURES,
true
)
));

View file

@ -43,7 +43,7 @@ public final class CelestialMessenger extends CardImpl {
// Celestial Messenger gets +1/+1 as long as you control a Yanling planeswalker.
this.addAbility(new SimpleStaticAbility(new ConditionalContinuousEffect(
new BoostSourceEffect(1, 1, Duration.WhileOnBattlefield),
condition, "gets +1/+1 as long as you control a Yanling planeswalker"
condition, "{this} gets +1/+1 as long as you control a Yanling planeswalker"
)));
}

View file

@ -1,7 +1,6 @@
package mage.cards.m;
import java.util.UUID;
import mage.MageInt;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.common.SimpleStaticAbility;
@ -14,23 +13,19 @@ import mage.constants.Duration;
import mage.constants.SubType;
import mage.constants.Zone;
import mage.filter.common.FilterCreaturePermanent;
import mage.filter.predicate.mageobject.SubtypePredicate;
import mage.game.permanent.token.GolemToken;
import java.util.UUID;
/**
*
* @author North, Loki
*/
public final class MasterSplicer extends CardImpl {
private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("Golem creatures");
static {
filter.add(new SubtypePredicate(SubType.GOLEM));
}
private static final FilterCreaturePermanent filter = new FilterCreaturePermanent(SubType.GOLEM, "Golems");
public MasterSplicer(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}");
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{W}");
this.subtype.add(SubType.HUMAN);
this.subtype.add(SubType.ARTIFICER);

View file

@ -1,7 +1,5 @@
package mage.cards.m;
import java.util.UUID;
import mage.abilities.effects.common.continuous.BoostTargetEffect;
import mage.abilities.effects.common.continuous.GainAbilityTargetEffect;
import mage.abilities.keyword.LifelinkAbility;
@ -11,18 +9,23 @@ import mage.constants.CardType;
import mage.constants.Duration;
import mage.target.common.TargetCreaturePermanent;
import java.util.UUID;
/**
* @author nantuko
*/
public final class MomentOfHeroism extends CardImpl {
public MomentOfHeroism(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{1}{W}");
super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{1}{W}");
// Target creature gets +2/+2 and gains lifelink until end of turn.
this.getSpellAbility().addEffect(new BoostTargetEffect(2, 2, Duration.EndOfTurn));
this.getSpellAbility().addEffect(new GainAbilityTargetEffect(LifelinkAbility.getInstance(), Duration.EndOfTurn));
this.getSpellAbility().addEffect(new BoostTargetEffect(
2, 2, Duration.EndOfTurn
).setText("target creature gets +2/+2"));
this.getSpellAbility().addEffect(new GainAbilityTargetEffect(
LifelinkAbility.getInstance(), Duration.EndOfTurn
).setText("and gains lifelink until end of turn"));
this.getSpellAbility().addTarget(new TargetCreaturePermanent());
}

View file

@ -12,7 +12,6 @@ import mage.constants.Outcome;
import mage.constants.SubType;
import mage.filter.FilterCard;
import mage.filter.StaticFilters;
import mage.filter.common.FilterCreatureCard;
import mage.filter.predicate.Predicates;
import mage.filter.predicate.mageobject.NamePredicate;
import mage.game.Game;
@ -54,7 +53,7 @@ class RegularExpression extends OneShotEffect {
RegularExpression() {
super(Outcome.Benefit);
staticText = "search your library for a creature card with the same name as another creature you control, " +
staticText = "search your library for a card with the same name as another creature you control, " +
"reveal it, put it into your hand, then shuffle your library.";
}
@ -82,7 +81,7 @@ class RegularExpression extends OneShotEffect {
.filter(s -> !"".equals(s))
.forEach(s -> predicates.add(new NamePredicate(s)));
FilterCard filter
= new FilterCreatureCard("a creature card with the same name as another creature you control");
= new FilterCard("a creature card with the same name as another creature you control");
filter.add(Predicates.or(predicates));
return new SearchLibraryPutInHandEffect(
new TargetCardInLibrary(filter), true, true

View file

@ -108,8 +108,8 @@ class RienneAngelOfRebirthTriggeredAbility extends TriggeredAbilityImpl {
@Override
public String getRule() {
return "Whenever another multicolored creature you control is put into a graveyard from the battlefield, " +
"return that card to its owner's hand at the beginning of the next end step";
return "Whenever another multicolored creature you control dies, " +
"return it to its owners hand at the beginning of the next end step.";
}
}

View file

@ -19,7 +19,8 @@ import java.util.UUID;
*/
public final class ScholarOfTheAges extends CardImpl {
private static final FilterCard filter = new FilterInstantOrSorceryCard("instant and/or sorcery cards");
private static final FilterCard filter
= new FilterInstantOrSorceryCard("instant and/or sorcery cards from your graveyard");
public ScholarOfTheAges(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{5}{U}{U}");

View file

@ -1,21 +1,20 @@
package mage.cards.s;
import java.util.UUID;
import mage.MageInt;
import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.effects.common.continuous.GainAbilityControlledEffect;
import mage.constants.SubType;
import mage.abilities.keyword.FlyingAbility;
import mage.abilities.keyword.VigilanceAbility;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.Duration;
import mage.constants.Zone;
import mage.constants.SubType;
import mage.filter.StaticFilters;
import java.util.UUID;
/**
*
* @author TheElk801
*/
public final class SerrasGuardian extends CardImpl {
@ -35,11 +34,10 @@ public final class SerrasGuardian extends CardImpl {
// Other creatures you control have vigilance.
this.addAbility(new SimpleStaticAbility(
Zone.BATTLEFIELD,
new GainAbilityControlledEffect(
VigilanceAbility.getInstance(),
Duration.WhileOnBattlefield,
StaticFilters.FILTER_CONTROLLED_CREATURES,
StaticFilters.FILTER_PERMANENT_CREATURES,
true
)
));

View file

@ -1,18 +1,18 @@
package mage.cards.s;
import java.util.UUID;
import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.effects.common.DamageTargetEffect;
import mage.constants.SubType;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.target.common.TargetAnyTarget;
import java.util.UUID;
/**
*
* @author TheElk801
*/
public final class SkeletonArcher extends CardImpl {
@ -26,7 +26,7 @@ public final class SkeletonArcher extends CardImpl {
this.toughness = new MageInt(3);
// When Skeleton Archer enters the battlefield, it deals 1 damage to any target.
Ability ability = new EntersBattlefieldTriggeredAbility(new DamageTargetEffect(1), false);
Ability ability = new EntersBattlefieldTriggeredAbility(new DamageTargetEffect(1, "it"), false);
ability.addTarget(new TargetAnyTarget());
this.addAbility(ability);
}

View file

@ -1,8 +1,5 @@
package mage.cards.s;
import java.util.UUID;
import mage.abilities.effects.common.DamageTargetEffect;
import mage.abilities.effects.common.GainLifeEffect;
import mage.cards.CardImpl;
@ -10,21 +7,22 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.target.common.TargetCreaturePermanent;
import java.util.UUID;
/**
*
* @author Loki
*/
public final class SorinsThirst extends CardImpl {
public SorinsThirst (UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{B}{B}");
public SorinsThirst(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{B}{B}");
this.getSpellAbility().addEffect(new DamageTargetEffect(2));
this.getSpellAbility().addEffect(new GainLifeEffect(2));
this.getSpellAbility().addEffect(new GainLifeEffect(2).concatBy("and"));
this.getSpellAbility().addTarget(new TargetCreaturePermanent());
}
public SorinsThirst (final SorinsThirst card) {
public SorinsThirst(final SorinsThirst card) {
super(card);
}

View file

@ -1,7 +1,5 @@
package mage.cards.v;
import java.util.UUID;
import mage.abilities.Ability;
import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.costs.common.SacrificeSourceCost;
@ -14,22 +12,23 @@ import mage.constants.CardType;
import mage.constants.Zone;
import mage.target.common.TargetCreaturePermanent;
import java.util.UUID;
/**
*
* @author jeffwadsworth
*/
public final class VialOfDragonfire extends CardImpl {
public VialOfDragonfire(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{2}");
super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{2}");
// {2}, {T}, Sacrifice Vial of Dragonfire: Vial of Dragonfire deals 2 damage to target creature.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(2), new ManaCostsImpl("{2}"));
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(2, "it"), new ManaCostsImpl("{2}"));
ability.addCost(new TapSourceCost());
ability.addCost(new SacrificeSourceCost());
ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability);
}
public VialOfDragonfire(final VialOfDragonfire card) {

View file

@ -48,13 +48,13 @@ public final class CoreSet2020 extends ExpansionSet {
cards.add(new SetCardInfo("Agent of Treachery", 43, Rarity.RARE, mage.cards.a.AgentOfTreachery.class));
cards.add(new SetCardInfo("Aggressive Mammoth", 337, Rarity.RARE, mage.cards.a.AggressiveMammoth.class));
cards.add(new SetCardInfo("Agonizing Syphon", 83, Rarity.COMMON, mage.cards.a.AgonizingSyphon.class));
cards.add(new SetCardInfo("Angelic Guardian", 302, Rarity.RARE, mage.cards.a.AngelicGuardian.class));
cards.add(new SetCardInfo("Air Elemental", 44, Rarity.UNCOMMON, mage.cards.a.AirElemental.class));
cards.add(new SetCardInfo("Ajani, Inspiring Leader", 282, Rarity.MYTHIC, mage.cards.a.AjaniInspiringLeader.class));
cards.add(new SetCardInfo("Ajani, Strength of the Pride", 2, Rarity.MYTHIC, mage.cards.a.AjaniStrengthOfThePride.class));
cards.add(new SetCardInfo("Ancestral Blade", 3, Rarity.UNCOMMON, mage.cards.a.AncestralBlade.class));
cards.add(new SetCardInfo("Angel of Vitality", 4, Rarity.UNCOMMON, mage.cards.a.AngelOfVitality.class));
cards.add(new SetCardInfo("Angelic Gift", 5, Rarity.COMMON, mage.cards.a.AngelicGift.class));
cards.add(new SetCardInfo("Angelic Guardian", 302, Rarity.RARE, mage.cards.a.AngelicGuardian.class));
cards.add(new SetCardInfo("Anticipate", 45, Rarity.COMMON, mage.cards.a.Anticipate.class));
cards.add(new SetCardInfo("Anvilwrought Raptor", 221, Rarity.COMMON, mage.cards.a.AnvilwroughtRaptor.class));
cards.add(new SetCardInfo("Apostle of Purifying Light", 6, Rarity.UNCOMMON, mage.cards.a.ApostleOfPurifyingLight.class));
@ -175,7 +175,7 @@ public final class CoreSet2020 extends ExpansionSet {
cards.add(new SetCardInfo("Gorging Vulture", 102, Rarity.COMMON, mage.cards.g.GorgingVulture.class));
cards.add(new SetCardInfo("Grafdigger's Cage", 227, Rarity.RARE, mage.cards.g.GrafdiggersCage.class));
cards.add(new SetCardInfo("Gravedigger", 103, Rarity.UNCOMMON, mage.cards.g.Gravedigger.class));
cards.add(new SetCardInfo("Gravewalker", 323, Rarity.RARE, mage.cards.g.Gravewaker.class));
cards.add(new SetCardInfo("Gravewaker", 323, Rarity.RARE, mage.cards.g.Gravewaker.class));
cards.add(new SetCardInfo("Greenwood Sentinel", 174, Rarity.COMMON, mage.cards.g.GreenwoodSentinel.class));
cards.add(new SetCardInfo("Griffin Protector", 20, Rarity.COMMON, mage.cards.g.GriffinProtector.class));
cards.add(new SetCardInfo("Griffin Sentinel", 21, Rarity.COMMON, mage.cards.g.GriffinSentinel.class));
@ -357,8 +357,8 @@ public final class CoreSet2020 extends ExpansionSet {
cards.add(new SetCardInfo("Undead Servant", 118, Rarity.COMMON, mage.cards.u.UndeadServant.class));
cards.add(new SetCardInfo("Unholy Indenture", 119, Rarity.COMMON, mage.cards.u.UnholyIndenture.class));
cards.add(new SetCardInfo("Unsummon", 78, Rarity.COMMON, mage.cards.u.Unsummon.class));
cards.add(new SetCardInfo("Vampire of the Dire Moon", 120, Rarity.UNCOMMON, mage.cards.v.VampireOfTheDireMoon.class));
cards.add(new SetCardInfo("Vampire Opportunist", 326, Rarity.COMMON, mage.cards.v.VampireOpportunist.class));
cards.add(new SetCardInfo("Vampire of the Dire Moon", 120, Rarity.UNCOMMON, mage.cards.v.VampireOfTheDireMoon.class));
cards.add(new SetCardInfo("Veil of Summer", 198, Rarity.UNCOMMON, mage.cards.v.VeilOfSummer.class));
cards.add(new SetCardInfo("Vengeful Warchief", 121, Rarity.UNCOMMON, mage.cards.v.VengefulWarchief.class));
cards.add(new SetCardInfo("Vial of Dragonfire", 241, Rarity.COMMON, mage.cards.v.VialOfDragonfire.class));

View file

@ -31,7 +31,7 @@ public class SpellCostReductionSourceEffect extends CostModificationEffectImpl {
this.condition = condition;
StringBuilder sb = new StringBuilder();
sb.append("{this} costs ");
sb.append("this spell costs ");
for (String manaSymbol : manaCostsToReduce.getSymbols()) {
sb.append(manaSymbol);
}
@ -52,7 +52,7 @@ public class SpellCostReductionSourceEffect extends CostModificationEffectImpl {
this.amount = amount;
this.condition = condition;
StringBuilder sb = new StringBuilder();
sb.append("{this} costs {").append(amount).append("} less to cast");
sb.append("this spell costs {").append(amount).append("} less to cast");
if (this.condition != null) {
sb.append(" ").append(this.condition.toString().startsWith("if ") ? "" : "if ");
sb.append(this.condition.toString());

View file

@ -1,8 +1,5 @@
package mage.abilities.effects.common.discard;
import java.util.Set;
import java.util.UUID;
import mage.abilities.Ability;
import mage.abilities.effects.OneShotEffect;
import mage.cards.Card;
@ -10,6 +7,9 @@ import mage.constants.Outcome;
import mage.game.Game;
import mage.players.Player;
import java.util.Set;
import java.util.UUID;
/**
* @author mluds
*/
@ -17,7 +17,7 @@ public class DiscardHandAllEffect extends OneShotEffect {
public DiscardHandAllEffect() {
super(Outcome.Discard);
this.staticText = "Each player discards their hand";
this.staticText = "each player discards their hand";
}
public DiscardHandAllEffect(final DiscardHandAllEffect effect) {

View file

@ -14,7 +14,6 @@ import mage.target.TargetCard;
import mage.target.common.TargetCardInLibrary;
/**
*
* @author Styxo
*/
public class SearchLibraryGraveyardPutInHandEffect extends OneShotEffect {
@ -34,7 +33,7 @@ public class SearchLibraryGraveyardPutInHandEffect extends OneShotEffect {
super(Outcome.Benefit);
this.filter = filter;
this.forceToSearchBoth = forceToSearchBoth;
staticText = (youMay ? "You may" : "") + " search your library and" + (forceToSearchBoth ? "" : "/or") + " graveyard for a card named " + filter.getMessage()
staticText = (youMay ? "you may" : "") + " search your library and" + (forceToSearchBoth ? "" : "/or") + " graveyard for a card named " + filter.getMessage()
+ ", reveal it, and put it into your hand. " + (forceToSearchBoth ? "Then shuffle your library" : "If you search your library this way, shuffle it");
}

View file

@ -35387,7 +35387,7 @@ Eternal Isolation|Core Set 2020|15|U|{1}{W}|Sorcery|||Put target creature with p
Fencing Ace|Core Set 2020|16|U|{1}{W}|Creature - Human Soldier|1|1|Double strike|
Gauntlets of Light|Core Set 2020|17|U|{2}{W}|Enchantment - Aura|||Enchant creature$Enchanted creature gets +0/+2 and assigns combat damage equal to its toughness rather than its power.$Enchanted creature has "{2}{W}: Untap this creature."|
Glaring Aegis|Core Set 2020|18|C|{W}|Enchantment - Aura|||Enchant creature$When Glaring Aegis enters the battlefield, tap target creature an opponent controls.$Enchanted creature gets +1/+3.|
Gods Willing|Core Set 2020|19|U|{W}|Instant|||Target creature you control gains protection from the color of your choice until end of turn. Scry 1.|
Gods Willing|Core Set 2020|19|U|{W}|Instant|||Target creature you control gains protection from the color of your choice until end of turn.$Scry 1.|
Griffin Protector|Core Set 2020|20|C|{3}{W}|Creature - Griffin|2|3|Flying$Whenever another creature enters the battlefield under your control, Griffin Protector gets +1/+1 until end of turn.|
Griffin Sentinel|Core Set 2020|21|C|{2}{W}|Creature - Griffin|1|3|Flying$Vigilance|
Hanged Executioner|Core Set 2020|22|R|{2}{W}|Creature - Spirit|1|1|Flying$When Hanged Executioner enters the battlefield, create a 1/1 white Spirit creature token with flying.${3}{W}, Exile Hanged Executioner: Exile target creature.|
@ -35397,7 +35397,7 @@ Inspiring Captain|Core Set 2020|25|C|{3}{W}|Creature - Human Knight|3|3|When Ins
Leyline of Sanctity|Core Set 2020|26|R|{2}{W}{W}|Enchantment|||If Leyline of Sanctity is in your opening hand, you may begin the game with it on the battlefield.$You have hexproof.|
Loxodon Lifechanter|Core Set 2020|27|R|{5}{W}|Creature - Elephant Cleric|4|6|When Loxodon Lifechanter enters the battlefield, you may have your life total become the total toughness of creatures you control.${5}{W}: Loxodon Lifechanter gets +X/+X until end of turn, where X is your life total.|
Loyal Pegasus|Core Set 2020|28|U|{W}|Creature - Pegasus|2|1|Flying$Loyal Pegasus can't attack or block alone.|
Master Splicer|Core Set 2020|29|U|{3}{W}|Creature - Human Artificer|1|1|When Master Splicer enters the battlefield, create a 3/3 colorless Golem artifact creature token.$Golem creatures you control get +1/+1.|
Master Splicer|Core Set 2020|29|U|{3}{W}|Creature - Human Artificer|1|1|When Master Splicer enters the battlefield, create a 3/3 colorless Golem artifact creature token.$Golems you control get +1/+1.|
Moment of Heroism|Core Set 2020|30|C|{1}{W}|Instant|||Target creature gets +2/+2 and gains lifelink until end of turn.|
Moorland Inquisitor|Core Set 2020|31|C|{1}{W}|Creature - Human Soldier|2|2|{2}{W}: Moorland Inquisitor gains first strike until end of turn.|
Pacifism|Core Set 2020|32|C|{1}{W}|Enchantment - Aura|||Enchant creature$Enchanted creature can't attack or block.|
@ -35436,7 +35436,7 @@ Leyline of Anticipation|Core Set 2020|64|R|{2}{U}{U}|Enchantment|||If Leyline of
Masterful Replication|Core Set 2020|65|R|{5}{U}|Instant|||Choose one —$• Create two 3/3 colorless Golem artifact creature tokens.$• Choose target artifact you control. Each other artifact you control becomes a copy of that artifact until end of turn.|
Metropolis Sprite|Core Set 2020|66|C|{1}{U}|Creature - Faerie Rogue|1|2|Flying${U}: Metropolis Sprite gets +1/-1 until end of turn.|
Moat Piranhas|Core Set 2020|67|C|{1}{U}|Creature - Fish|3|3|Defender|
Mu Yanling, Sky Dancer|Core Set 2020|68|M|{1}{U}{U}|Legendary Planeswalker - Yanling|2|+2: Until your next turn, up to one target creature gets -2/-0 and loses flying.$3: Create a 4/4 blue Elemental Bird creature token with flying.$8: You get an emblem with "Islands you control have '{T}: Draw a card'."|
Mu Yanling, Sky Dancer|Core Set 2020|68|M|{1}{U}{U}|Legendary Planeswalker - Yanling|2|+2: Until your next turn, up to one target creature gets -2/-0 and loses flying.$3: Create a 4/4 blue Elemental Bird creature token with flying.$8: You get an emblem with "Islands you control have '{T}: Draw a card.'"|
Negate|Core Set 2020|69|C|{1}{U}|Instant|||Counter target noncreature spell.|
Octoprophet|Core Set 2020|70|C|{3}{U}|Creature - Octopus|3|3|When Octoprophet enters the battlefield, scry 2.|
Portal of Sanctuary|Core Set 2020|71|U|{2}{U}|Artifact|||{1}, {T}: Return target creature you control and each Aura attached to it to their owners' hands. Activate this ability only during your turn.|
@ -35456,9 +35456,9 @@ Audacious Thief|Core Set 2020|84|C|{2}{B}|Creature - Human Rogue|2|2|Whenever Au
Barony Vampire|Core Set 2020|85|C|{2}{B}|Creature - Vampire|3|2||
Bladebrand|Core Set 2020|86|C|{1}{B}|Instant|||Target creature gains deathtouch until end of turn.$Draw a card.|
Blightbeetle|Core Set 2020|87|U|{1}{B}|Creature - Insect|1|1|Protection from green$Creatures your opponents control can't have +1/+1 counters put on them.|
Blood Burglar|Core Set 2020|88|C|{1}{B}|Creature - Vampire Rogue|2|2|As long as it's your turn, Blood Burglar has lifelink.|
Blood Burglar|Core Set 2020|88|C|{1}{B}|Creature - Vampire Rogue|2|2|As long as it's your turn, Blood Burglar has lifelink.(Damage dealt by this creature also causes you to gain that much life.)|
Blood for Bones|Core Set 2020|89|U|{3}{B}|Sorcery|||As an additional cost to cast this spell, sacrifice a creature.$Return a creature card from your graveyard to the battlefield, then return another creature card from your graveyard to your hand.|
Bloodsoaked Altar|Core Set 2020|90|U|{4}{B}{B}|Artifact|||{T}, Pay 2 life, Discard a card, Sacrifice a creature: Create a 5/5 black Demon creature token with flying. Activate this ability only any time you could play a sorcery.|
Bloodsoaked Altar|Core Set 2020|90|U|{4}{B}{B}|Artifact|||{T}, Pay 2 life, Discard a card, Sacrifice a creature: Create a 5/5 black Demon creature token with flying. Activate this ability only any time you could cast a sorcery.|
Bloodthirsty Aerialist|Core Set 2020|91|U|{1}{B}{B}|Creature - Vampire Rogue|2|3|Flying$Whenever you gain life, put a +1/+1 counter on Bloodthirsty Aerialist.|
Bone Splinters|Core Set 2020|92|C|{B}|Sorcery|||As an additional cost to cast this spell, sacrifice a creature.$Destroy target creature.|
Boneclad Necromancer|Core Set 2020|93|C|{3}{B}{B}|Creature - Human Wizard|3|3|When Boneclad Necromancer enters the battlefield, you may exile target creature card from a graveyard. If you do, create a 2/2 black Zombie creature token.|
@ -35589,7 +35589,7 @@ Risen Reef|Core Set 2020|217|U|{1}{G}{U}|Creature - Elemental|1|1|Whenever Risen
Skyknight Vanguard|Core Set 2020|218|U|{R}{W}|Creature - Human Knight|1|2|Flying$Whenever Skyknight Vanguard attacks, create a 1/1 white Soldier creature token that's tapped and attacking.|
Tomebound Lich|Core Set 2020|219|U|{1}{U}{B}|Creature - Zombie Wizard|1|3|Deathtouch$Lifelink$Whenever Tomebound Lich enters the battlefield or deals combat damage to a player, draw a card, then discard a card.|
Yarok, the Desecrated|Core Set 2020|220|M|{2}{B}{G}{U}|Legendary Creature - Elemental Horror|3|5|Deathtouch, lifelink$If a permanent entering the battlefield causes a triggered ability of a permanent you control to trigger, that ability triggers an additional time.|
Anvilwrought Raptor|Core Set 2020|221|C|{4}|Artifact Creature - Bird|2|1|Flying, first strike|
Anvilwrought Raptor|Core Set 2020|221|C|{4}|Artifact Creature - Bird|2|1|Flying$First strike|
Bag of Holding|Core Set 2020|222|R|{1}|Artifact|||Whenever you discard a card, exile that card from your graveyard.${2}, {T}: Draw a card, then discard a card.${4}, {T}, Sacrifice Bag of Holding: Return all cards exiled with Bag of Holding to their owner's hand.|
Colossus Hammer|Core Set 2020|223|U|{1}|Artifact - Equipment|||Equipped creature gets +10/+10 and loses flying.$Equip {8}|
Diamond Knight|Core Set 2020|224|U|{3}|Artifact Creature - Knight|1|1|Vigilance$As Diamond Knight enters the battlefield, choose a color.$Whenever you cast a spell of the chosen color, put a +1/+1 counter on Diamond Knight.|
@ -35602,7 +35602,7 @@ Manifold Key|Core Set 2020|230|U|{1}|Artifact|||{1}, {T}: Untap another target a
Marauder's Axe|Core Set 2020|231|C|{2}|Artifact - Equipment|||Equipped creature gets +2/+0.$Equip {2}|
Meteor Golem|Core Set 2020|232|U|{7}|Artifact Creature - Golem|3|3|When Meteor Golem enters the battlefield, destroy target nonland permanent an opponent controls.|
Mystic Forge|Core Set 2020|233|R|{4}|Artifact|||You may look at the top card of your library any time.$You may cast the top card of your library if it's an artifact card or a colorless nonland card.${T}, Pay 1 life: Exile the top card of your library.|
Pattern Matcher|Core Set 2020|234|U|{4}|Artifact Creature - Golem|3|3|When Pattern Matcher enters the battlefield, you may search your library for a creature card with the same name as another creature you control, reveal it, put it into your hand, then shuffle your library.|
Pattern Matcher|Core Set 2020|234|U|{4}|Artifact Creature - Golem|3|3|When Pattern Matcher enters the battlefield, you may search your library for a card with the same name as another creature you control, reveal it, put it into your hand, then shuffle your library.|
Prismite|Core Set 2020|235|C|{2}|Artifact Creature - Golem|2|1|{2}: Add one mana of any color.|
Retributive Wand|Core Set 2020|236|U|{3}|Artifact|||{3}, {T}: Retributive Wand deals 1 damage to any target.$When Retributive Wand is put into a graveyard from the battlefield, it deals 5 damage to any target.|
Salvager of Ruin|Core Set 2020|237|U|{3}|Artifact Creature - Construct|2|1|Sacrifice Salvager of Ruin: Choose target permanent card in your graveyard that was put there from the battlefield this turn. Return it to your hand.|
@ -35617,7 +35617,7 @@ Dismal Backwater|Core Set 2020|245|C||Land|||Dismal Backwater enters the battlef
Evolving Wilds|Core Set 2020|246|C||Land|||{T}, Sacrifice Evolving Wilds: Search your library for a basic land card, put it onto the battlefield tapped, then shuffle your library.|
Field of the Dead|Core Set 2020|247|R||Land|||Field of the Dead enters the battlefield tapped.${T}: Add {C}.$Whenever Field of the Dead or another land enters the battlefield under your control, if you control seven or more lands with different names, create a 2/2 black Zombie creature token.|
Jungle Hollow|Core Set 2020|248|C||Land|||Jungle Hollow enters the battlefield tapped.$When Jungle Hollow enters the battlefield, you gain 1 life.${T}: Add {B} or {G}.|
Lotus Field|Core Set 2020|249|R||Land|||Hexproof$Lotus Field enters the battlefield tapped.$When Lotus Field enters the battlefield, sacrifice two lands.${T}: Add three mana of any color.|
Lotus Field|Core Set 2020|249|R||Land|||Hexproof$Lotus Field enters the battlefield tapped.$When Lotus Field enters the battlefield, sacrifice two lands.${T}: Add three mana of any one color.|
Rugged Highlands|Core Set 2020|250|C||Land|||Rugged Highlands enters the battlefield tapped.$When Rugged Highlands enters the battlefield, you gain 1 life.${T}: Add {R} or {G}.|
Scoured Barrens|Core Set 2020|251|C||Land|||Scoured Barrens enters the battlefield tapped.$When Scoured Barrens enters the battlefield, you gain 1 life.${T}: Add {W} or {B}.|
Swiftwater Cliffs|Core Set 2020|252|C||Land|||Swiftwater Cliffs enters the battlefield tapped.$When Swiftwater Cliffs enters the battlefield, you gain 1 life.${T}: Add {U} or {R}.|
@ -35655,10 +35655,48 @@ Vivien, Nature's Avenger|Core Set 2020|298|M|{4}{G}{G}|Legendary Planeswalker -
Ethereal Elk|Core Set 2020|299|R|{3}{G}{G}|Creature - Elk Spirit|3|3|Trample$When Ethereal Elk enters the battlefield, you may search your library and/or graveyard for a card named Vivien, Nature's Avenger, reveal it, and put it into your hand. If you search your library this way, shuffle it.|
Gnarlback Rhino|Core Set 2020|300|U|{2}{G}{G}|Creature - Rhino|4|4|Trample$Whenever you cast a spell that targets Gnarlback Rhino, draw a card.|
Vivien's Crocodile|Core Set 2020|301|C|{2}{G}|Creature - Crocodile Spirit|3|3|Vivien's Crocodile gets +1/+1 as long as you control a Vivien planeswalker.|
Angelic Guardian|Core Set 2020|302|R|{4}{W}{W}|Creature - Angel|5|5|Flying$Whenever one or more creatures you control attack, they gain indestructible until end of turn.|
Bastion Enforcer|Core Set 2020|303|C|{2}{W}|Creature - Dwarf Soldier|3|2||
Concordia Pegasus|Core Set 2020|304|C|{1}{W}|Creature - Pegasus|1|3|Flying|
Haazda Officer|Core Set 2020|305|C|{2}{W}|Creature - Human Soldier|3|2|When Haazda Officer enters the battlefield, target creature you control gets +1/+1 until end of turn.|
Impassioned Orator|Core Set 2020|306|C|{1}{W}|Creature - Human Cleric|2|2|Whenever another creature enters the battlefield under your control, you gain 1 life.|
Imperial Outrider|Core Set 2020|307|C|{3}{W}|Creature - Human Knight|1|5||
Ironclad Krovod|Core Set 2020|308|C|{3}{W}|Creature - Beast|2|5||
Prowling Caracal|Core Set 2020|309|C|{1}{W}|Creature - Cat|3|1||
Serra's Guardian|Core Set 2020|310|R|{4}{W}{W}|Creature - Angel|5|5|Flying$Vigilance$Other creatures you control have vigilance.|
Show of Valor|Core Set 2020|311|C|{1}{W}|Instant|||Target creature gets +2/+4 until end of turn.|
Siege Mastodon|Core Set 2020|312|C|{4}{W}|Creature - Elephant|3|5||
Take Vengeance|Core Set 2020|313|C|{1}{W}|Sorcery|||Destroy target tapped creature.|
Trusted Pegasus|Core Set 2020|314|C|{2}{W}|Creature - Pegasus|2|2|Flying$Whenever Trusted Pegasus attacks, target attacking creature without flying gains flying until end of turn.|
Coral Merfolk|Core Set 2020|315|C|{1}{U}|Creature - Merfolk|2|1||
Phantom Warrior|Core Set 2020|316|C|{1}{U}{U}|Creature - Illusion Warrior|2|2|Phantom Warrior can't be blocked.|
Riddlemaster Sphinx|Core Set 2020|317|R|{4}{U}{U}|Creature - Sphinx|5|5|Flying$When Riddlemaster Sphinx enters the battlefield, you may return target creature an opponent controls to its owner's hand.|
Snapping Drake|Core Set 2020|318|C|{3}{U}|Creature - Drake|3|2|Flying|
Bartizan Bats|Core Set 2020|319|C|{3}{B}|Creature - Bat|3|1|Flying|
Bogstomper|Core Set 2020|320|C|{4}{B}{B}|Creature - Beast|6|5||
Dark Remedy|Core Set 2020|321|C|{1}{B}|Instant|||Target creature gets +1/+3 until end of turn.|
Disentomb|Core Set 2020|322|C|{B}|Sorcery|||Return target creature card from your graveyard to your hand.|
Gravewaker|Core Set 2020|323|R|{4}{B}{B}|Creature - Bird Spirit|5|5|Flying${5}{B}{B}: Return target creature card from your graveyard to the battlefield tapped.|
Skeleton Archer|Core Set 2020|324|C|{3}{B}|Creature - Skeleton Archer|3|3|When Skeleton Archer enters the battlefield, it deals 1 damage to any target.|
Sorin's Thirst|Core Set 2020|325|C|{B}{B}|Instant|||Sorin's Thirst deals 2 damage to target creature and you gain 2 life.|
Vampire Opportunist|Core Set 2020|326|C|{1}{B}|Creature - Vampire|2|1|{6}{B}: Each opponent loses 2 life and you gain 2 life.|
Walking Corpse|Core Set 2020|327|C|{1}{B}|Creature - Zombie|2|2||
Engulfing Eruption|Core Set 2020|328|C|{2}{R}{R}|Sorcery|||Engulfing Eruption deals 5 damage to target creature.|
Fearless Halberdier|Core Set 2020|329|C|{2}{R}|Creature - Human Warrior|3|2||
Goblin Assailant|Core Set 2020|330|C|{1}{R}|Creature - Goblin Warrior|2|2||
Hostile Minotaur|Core Set 2020|331|C|{3}{R}|Creature - Minotaur|3|3|Haste|
Immortal Phoenix|Core Set 2020|332|R|{4}{R}{R}|Creature - Phoenix|5|3|Flying$When Immortal Phoenix dies, return it to its owner's hand.|
Nimble Birdsticker|Core Set 2020|333|C|{2}{R}|Creature - Goblin|2|3|Reach|
Rubblebelt Recluse|Core Set 2020|334|C|{4}{R}|Creature - Ogre Berserker|6|5|Rubblebelt Recluse attacks each combat if able.|
Shivan Dragon|Core Set 2020|335|R|{4}{R}{R}|Creature - Dragon|5|5|Flying${R}: Shivan Dragon gets +1/+0 until end of turn.|
Volcanic Dragon|Core Set 2020|336|U|{4}{R}{R}|Creature - Dragon|4|4|Flying$Haste|
Aggressive Mammoth|Core Set 2020|337|R|{3}{G}{G}{G}|Creature - Elephant|8|8|Trample$Other creatures you control have trample.|
Bristling Boar|Core Set 2020|338|C|{3}{G}|Creature - Boar|4|3|Bristling Boar can't be blocked by more than one creature.|
Canopy Spider|Core Set 2020|339|C|{1}{G}|Creature - Spider|1|3|Reach|
Frilled Sandwalla|Core Set 2020|340|C|{G}|Creature - Lizard|1|1|{1}{G}: Frilled Sandwalla gets +2/+2 until end of turn. Activate this ability only once each turn.|
Oakenform|Core Set 2020|341|C|{2}{G}|Enchantment - Aura|||Enchant creature$Enchanted creature gets +3/+3.|
Prized Unicorn|Core Set 2020|342|C|{3}{G}|Creature - Unicorn|2|2|All creatures able to block Prized Unicorn do so.|
Titanic Growth|Core Set 2020|343|C|{1}{G}|Instant|||Target creature gets +4/+4 until end of turn.|
Woodland Mystic|Core Set 2020|344|C|{1}{G}|Creature - Elf Druid|1|1|{T}: Add {G}.|
Chulane, Teller of Tales|Throne of Eldraine|326|M|{2}{G}{W}{U}|Legendary Creature - Human Druid|2|4|Vigilance$Whenever you cast a creature spell, draw a card, then you may put a land card from your hand onto the battlefield.${3}, {T}: Return target creature you control to its owner's hand.|
Arcane Signet|Throne of Eldraine|331|C|{2}|Artifact|||{T}: Add one mana of any color in your commander's color identity.|