[KHM] Implemented Snow Dual Lands (#7342)

This commit is contained in:
Daniel Bomar 2021-01-07 18:14:35 -06:00 committed by GitHub
parent bbe6809ed1
commit 28513e2bc6
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
12 changed files with 450 additions and 0 deletions

View file

@ -0,0 +1,43 @@
package mage.cards.a;
import java.util.UUID;
import mage.abilities.common.EntersBattlefieldTappedAbility;
import mage.abilities.mana.RedManaAbility;
import mage.abilities.mana.WhiteManaAbility;
import mage.constants.SubType;
import mage.constants.SuperType;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
/**
*
* @author weirddan455
*/
public final class AlpineMeadow extends CardImpl {
public AlpineMeadow(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.LAND}, "");
this.addSuperType(SuperType.SNOW);
this.subtype.add(SubType.MOUNTAIN);
this.subtype.add(SubType.PLAINS);
// {tap}: Add {R} or {W}.
this.addAbility(new RedManaAbility());
this.addAbility(new WhiteManaAbility());
// Alpine Meadow enters the battlefield tapped.
this.addAbility(new EntersBattlefieldTappedAbility());
}
private AlpineMeadow(final AlpineMeadow card) {
super(card);
}
@Override
public AlpineMeadow copy() {
return new AlpineMeadow(this);
}
}

View file

@ -0,0 +1,43 @@
package mage.cards.a;
import java.util.UUID;
import mage.abilities.common.EntersBattlefieldTappedAbility;
import mage.abilities.mana.GreenManaAbility;
import mage.abilities.mana.WhiteManaAbility;
import mage.constants.SubType;
import mage.constants.SuperType;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
/**
*
* @author weirddan455
*/
public final class ArcticTreeline extends CardImpl {
public ArcticTreeline(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.LAND}, "");
this.addSuperType(SuperType.SNOW);
this.subtype.add(SubType.FOREST);
this.subtype.add(SubType.PLAINS);
// {tap}: Add {G} or {W}.
this.addAbility(new GreenManaAbility());
this.addAbility(new WhiteManaAbility());
// Arctic Treeline enters the battlefield tapped.
this.addAbility(new EntersBattlefieldTappedAbility());
}
private ArcticTreeline(final ArcticTreeline card) {
super(card);
}
@Override
public ArcticTreeline copy() {
return new ArcticTreeline(this);
}
}

View file

@ -0,0 +1,43 @@
package mage.cards.g;
import java.util.UUID;
import mage.abilities.common.EntersBattlefieldTappedAbility;
import mage.abilities.mana.BlueManaAbility;
import mage.abilities.mana.WhiteManaAbility;
import mage.constants.SubType;
import mage.constants.SuperType;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
/**
*
* @author weirddan455
*/
public final class GlacialFloodplain extends CardImpl {
public GlacialFloodplain(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.LAND}, "");
this.addSuperType(SuperType.SNOW);
this.subtype.add(SubType.PLAINS);
this.subtype.add(SubType.ISLAND);
// {tap}: Add {W} or {U}.
this.addAbility(new WhiteManaAbility());
this.addAbility(new BlueManaAbility());
// Glacial Floodplain enters the battlefield tapped.
this.addAbility(new EntersBattlefieldTappedAbility());
}
private GlacialFloodplain(final GlacialFloodplain card) {
super(card);
}
@Override
public GlacialFloodplain copy() {
return new GlacialFloodplain(this);
}
}

View file

@ -0,0 +1,43 @@
package mage.cards.h;
import java.util.UUID;
import mage.abilities.common.EntersBattlefieldTappedAbility;
import mage.abilities.mana.GreenManaAbility;
import mage.abilities.mana.RedManaAbility;
import mage.constants.SubType;
import mage.constants.SuperType;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
/**
*
* @author weirddan455
*/
public final class HighlandForest extends CardImpl {
public HighlandForest(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.LAND}, "");
this.addSuperType(SuperType.SNOW);
this.subtype.add(SubType.MOUNTAIN);
this.subtype.add(SubType.FOREST);
// {tap}: Add {R} or {G}.
this.addAbility(new RedManaAbility());
this.addAbility(new GreenManaAbility());
// Highland Forest enters the battlefield tapped.
this.addAbility(new EntersBattlefieldTappedAbility());
}
private HighlandForest(final HighlandForest card) {
super(card);
}
@Override
public HighlandForest copy() {
return new HighlandForest(this);
}
}

View file

@ -0,0 +1,43 @@
package mage.cards.i;
import java.util.UUID;
import mage.abilities.common.EntersBattlefieldTappedAbility;
import mage.abilities.mana.BlackManaAbility;
import mage.abilities.mana.BlueManaAbility;
import mage.constants.SubType;
import mage.constants.SuperType;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
/**
*
* @author weirddan455
*/
public final class IceTunnel extends CardImpl {
public IceTunnel(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.LAND}, "");
this.addSuperType(SuperType.SNOW);
this.subtype.add(SubType.ISLAND);
this.subtype.add(SubType.SWAMP);
// {tap}: Add {U} or {B}.
this.addAbility(new BlueManaAbility());
this.addAbility(new BlackManaAbility());
// Ice Tunnel enters the battlefield tapped.
this.addAbility(new EntersBattlefieldTappedAbility());
}
private IceTunnel(final IceTunnel card) {
super(card);
}
@Override
public IceTunnel copy() {
return new IceTunnel(this);
}
}

View file

@ -0,0 +1,43 @@
package mage.cards.r;
import java.util.UUID;
import mage.abilities.common.EntersBattlefieldTappedAbility;
import mage.abilities.mana.BlueManaAbility;
import mage.abilities.mana.GreenManaAbility;
import mage.constants.SubType;
import mage.constants.SuperType;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
/**
*
* @author weirddan455
*/
public final class RimewoodFalls extends CardImpl {
public RimewoodFalls(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.LAND}, "");
this.addSuperType(SuperType.SNOW);
this.subtype.add(SubType.FOREST);
this.subtype.add(SubType.ISLAND);
// {tap}: Add {G} or {U}.
this.addAbility(new GreenManaAbility());
this.addAbility(new BlueManaAbility());
// Rimewood Falls enters the battlefield tapped.
this.addAbility(new EntersBattlefieldTappedAbility());
}
private RimewoodFalls(final RimewoodFalls card) {
super(card);
}
@Override
public RimewoodFalls copy() {
return new RimewoodFalls(this);
}
}

View file

@ -0,0 +1,43 @@
package mage.cards.s;
import java.util.UUID;
import mage.abilities.common.EntersBattlefieldTappedAbility;
import mage.abilities.mana.BlackManaAbility;
import mage.abilities.mana.WhiteManaAbility;
import mage.constants.SubType;
import mage.constants.SuperType;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
/**
*
* @author weirddan455
*/
public final class SnowfieldSinkhole extends CardImpl {
public SnowfieldSinkhole(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.LAND}, "");
this.addSuperType(SuperType.SNOW);
this.subtype.add(SubType.PLAINS);
this.subtype.add(SubType.SWAMP);
// {tap}: Add {W} or {B}.
this.addAbility(new WhiteManaAbility());
this.addAbility(new BlackManaAbility());
// Snowfield Sinkhole enters the battlefield tapped.
this.addAbility(new EntersBattlefieldTappedAbility());
}
private SnowfieldSinkhole(final SnowfieldSinkhole card) {
super(card);
}
@Override
public SnowfieldSinkhole copy() {
return new SnowfieldSinkhole(this);
}
}

View file

@ -0,0 +1,43 @@
package mage.cards.s;
import java.util.UUID;
import mage.abilities.common.EntersBattlefieldTappedAbility;
import mage.abilities.mana.BlackManaAbility;
import mage.abilities.mana.RedManaAbility;
import mage.constants.SubType;
import mage.constants.SuperType;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
/**
*
* @author weirddan455
*/
public final class SulfurousMine extends CardImpl {
public SulfurousMine(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.LAND}, "");
this.addSuperType(SuperType.SNOW);
this.subtype.add(SubType.SWAMP);
this.subtype.add(SubType.MOUNTAIN);
// {tap}: Add {B} or {R}.
this.addAbility(new BlackManaAbility());
this.addAbility(new RedManaAbility());
// Sulfurous Mine enters the battlefield tapped.
this.addAbility(new EntersBattlefieldTappedAbility());
}
private SulfurousMine(final SulfurousMine card) {
super(card);
}
@Override
public SulfurousMine copy() {
return new SulfurousMine(this);
}
}

View file

@ -0,0 +1,43 @@
package mage.cards.v;
import java.util.UUID;
import mage.abilities.common.EntersBattlefieldTappedAbility;
import mage.abilities.mana.BlueManaAbility;
import mage.abilities.mana.RedManaAbility;
import mage.constants.SubType;
import mage.constants.SuperType;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
/**
*
* @author weirddan455
*/
public final class VolatileFjord extends CardImpl {
public VolatileFjord(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.LAND}, "");
this.addSuperType(SuperType.SNOW);
this.subtype.add(SubType.ISLAND);
this.subtype.add(SubType.MOUNTAIN);
// {tap}: Add {U} or {R}.
this.addAbility(new BlueManaAbility());
this.addAbility(new RedManaAbility());
// Volatile Fjord enters the battlefield tapped.
this.addAbility(new EntersBattlefieldTappedAbility());
}
private VolatileFjord(final VolatileFjord card) {
super(card);
}
@Override
public VolatileFjord copy() {
return new VolatileFjord(this);
}
}

View file

@ -0,0 +1,43 @@
package mage.cards.w;
import java.util.UUID;
import mage.abilities.common.EntersBattlefieldTappedAbility;
import mage.abilities.mana.BlackManaAbility;
import mage.abilities.mana.GreenManaAbility;
import mage.constants.SubType;
import mage.constants.SuperType;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
/**
*
* @author weirddan455
*/
public final class WoodlandChasm extends CardImpl {
public WoodlandChasm(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.LAND}, "");
this.addSuperType(SuperType.SNOW);
this.subtype.add(SubType.SWAMP);
this.subtype.add(SubType.FOREST);
// {tap}: Add {B} or {G}.
this.addAbility(new BlackManaAbility());
this.addAbility(new GreenManaAbility());
// Woodland Chasm enters the battlefield tapped.
this.addAbility(new EntersBattlefieldTappedAbility());
}
private WoodlandChasm(final WoodlandChasm card) {
super(card);
}
@Override
public WoodlandChasm copy() {
return new WoodlandChasm(this);
}
}

View file

@ -29,6 +29,8 @@ public final class Kaldheim extends ExpansionSet {
this.maxCardNumberInBooster = 285; this.maxCardNumberInBooster = 285;
cards.add(new SetCardInfo("Absorb Identity", 383, Rarity.UNCOMMON, mage.cards.a.AbsorbIdentity.class)); cards.add(new SetCardInfo("Absorb Identity", 383, Rarity.UNCOMMON, mage.cards.a.AbsorbIdentity.class));
cards.add(new SetCardInfo("Alpine Meadow", 248, Rarity.COMMON, mage.cards.a.AlpineMeadow.class));
cards.add(new SetCardInfo("Arctic Treeline", 249, Rarity.COMMON, mage.cards.a.ArcticTreeline.class));
cards.add(new SetCardInfo("Armed and Armored", 379, Rarity.UNCOMMON, mage.cards.a.ArmedAndArmored.class)); cards.add(new SetCardInfo("Armed and Armored", 379, Rarity.UNCOMMON, mage.cards.a.ArmedAndArmored.class));
cards.add(new SetCardInfo("Barkchannel Pathway", 251, Rarity.RARE, mage.cards.b.BarkchannelPathway.class)); cards.add(new SetCardInfo("Barkchannel Pathway", 251, Rarity.RARE, mage.cards.b.BarkchannelPathway.class));
cards.add(new SetCardInfo("Bearded Axe", 388, Rarity.UNCOMMON, mage.cards.b.BeardedAxe.class)); cards.add(new SetCardInfo("Bearded Axe", 388, Rarity.UNCOMMON, mage.cards.b.BeardedAxe.class));
@ -41,9 +43,12 @@ public final class Kaldheim extends ExpansionSet {
cards.add(new SetCardInfo("Fire Giant's Fury", 389, Rarity.UNCOMMON, mage.cards.f.FireGiantsFury.class)); cards.add(new SetCardInfo("Fire Giant's Fury", 389, Rarity.UNCOMMON, mage.cards.f.FireGiantsFury.class));
cards.add(new SetCardInfo("Giant's Grasp", 384, Rarity.UNCOMMON, mage.cards.g.GiantsGrasp.class)); cards.add(new SetCardInfo("Giant's Grasp", 384, Rarity.UNCOMMON, mage.cards.g.GiantsGrasp.class));
cards.add(new SetCardInfo("Gilded Assault Cart", 390, Rarity.UNCOMMON, mage.cards.g.GildedAssaultCart.class)); cards.add(new SetCardInfo("Gilded Assault Cart", 390, Rarity.UNCOMMON, mage.cards.g.GildedAssaultCart.class));
cards.add(new SetCardInfo("Glacial Floodplain", 257, Rarity.COMMON, mage.cards.g.GlacialFloodplain.class));
cards.add(new SetCardInfo("Gladewalker Ritualist", 392, Rarity.UNCOMMON, mage.cards.g.GladewalkerRitualist.class)); cards.add(new SetCardInfo("Gladewalker Ritualist", 392, Rarity.UNCOMMON, mage.cards.g.GladewalkerRitualist.class));
cards.add(new SetCardInfo("Halvar, God of Battle", 15, Rarity.MYTHIC, mage.cards.h.HalvarGodOfBattle.class)); cards.add(new SetCardInfo("Halvar, God of Battle", 15, Rarity.MYTHIC, mage.cards.h.HalvarGodOfBattle.class));
cards.add(new SetCardInfo("Hengegate Pathway", 260, Rarity.RARE, mage.cards.h.HengegatePathway.class)); cards.add(new SetCardInfo("Hengegate Pathway", 260, Rarity.RARE, mage.cards.h.HengegatePathway.class));
cards.add(new SetCardInfo("Highland Forest", 261, Rarity.COMMON, mage.cards.h.HighlandForest.class));
cards.add(new SetCardInfo("Ice Tunnel", 262, Rarity.COMMON, mage.cards.i.IceTunnel.class));
cards.add(new SetCardInfo("Invasion of the Giants", 215, Rarity.UNCOMMON, mage.cards.i.InvasionOfTheGiants.class)); cards.add(new SetCardInfo("Invasion of the Giants", 215, Rarity.UNCOMMON, mage.cards.i.InvasionOfTheGiants.class));
cards.add(new SetCardInfo("Kaya the Inexorable", 218, Rarity.MYTHIC, mage.cards.k.KayaTheInexorable.class)); cards.add(new SetCardInfo("Kaya the Inexorable", 218, Rarity.MYTHIC, mage.cards.k.KayaTheInexorable.class));
cards.add(new SetCardInfo("Magda, Brazen Outlaw", 142, Rarity.RARE, mage.cards.m.MagdaBrazenOutlaw.class)); cards.add(new SetCardInfo("Magda, Brazen Outlaw", 142, Rarity.RARE, mage.cards.m.MagdaBrazenOutlaw.class));
@ -51,15 +56,20 @@ public final class Kaldheim extends ExpansionSet {
cards.add(new SetCardInfo("Rampage of the Valkyries", 393, Rarity.UNCOMMON, mage.cards.r.RampageOfTheValkyries.class)); cards.add(new SetCardInfo("Rampage of the Valkyries", 393, Rarity.UNCOMMON, mage.cards.r.RampageOfTheValkyries.class));
cards.add(new SetCardInfo("Realmwalker", 188, Rarity.RARE, mage.cards.r.Realmwalker.class)); cards.add(new SetCardInfo("Realmwalker", 188, Rarity.RARE, mage.cards.r.Realmwalker.class));
cards.add(new SetCardInfo("Renegade Reaper", 386, Rarity.UNCOMMON, mage.cards.r.RenegadeReaper.class)); cards.add(new SetCardInfo("Renegade Reaper", 386, Rarity.UNCOMMON, mage.cards.r.RenegadeReaper.class));
cards.add(new SetCardInfo("Rimewood Falls", 266, Rarity.COMMON, mage.cards.r.RimewoodFalls.class));
cards.add(new SetCardInfo("Sarulf, Realm Eater", 228, Rarity.RARE, mage.cards.s.SarulfRealmEater.class)); cards.add(new SetCardInfo("Sarulf, Realm Eater", 228, Rarity.RARE, mage.cards.s.SarulfRealmEater.class));
cards.add(new SetCardInfo("Showdown of the Skalds", 229, Rarity.RARE, mage.cards.s.ShowdownOfTheSkalds.class)); cards.add(new SetCardInfo("Showdown of the Skalds", 229, Rarity.RARE, mage.cards.s.ShowdownOfTheSkalds.class));
cards.add(new SetCardInfo("Snowfield Sinkhole", 269, Rarity.COMMON, mage.cards.s.SnowfieldSinkhole.class));
cards.add(new SetCardInfo("Starnheim Aspirant", 380, Rarity.UNCOMMON, mage.cards.s.StarnheimAspirant.class)); cards.add(new SetCardInfo("Starnheim Aspirant", 380, Rarity.UNCOMMON, mage.cards.s.StarnheimAspirant.class));
cards.add(new SetCardInfo("Sulfurous Mine", 270, Rarity.COMMON, mage.cards.s.SulfurousMine.class));
cards.add(new SetCardInfo("Surtland Elementalist", 375, Rarity.RARE, mage.cards.s.SurtlandElementalist.class)); cards.add(new SetCardInfo("Surtland Elementalist", 375, Rarity.RARE, mage.cards.s.SurtlandElementalist.class));
cards.add(new SetCardInfo("Surtland Flinger", 377, Rarity.RARE, mage.cards.s.SurtlandFlinger.class)); cards.add(new SetCardInfo("Surtland Flinger", 377, Rarity.RARE, mage.cards.s.SurtlandFlinger.class));
cards.add(new SetCardInfo("Thornmantle Striker", 387, Rarity.UNCOMMON, mage.cards.t.ThornmantleStriker.class)); cards.add(new SetCardInfo("Thornmantle Striker", 387, Rarity.UNCOMMON, mage.cards.t.ThornmantleStriker.class));
cards.add(new SetCardInfo("Toski, Bearer of Secrets", 197, Rarity.RARE, mage.cards.t.ToskiBearerOfSecrets.class)); cards.add(new SetCardInfo("Toski, Bearer of Secrets", 197, Rarity.RARE, mage.cards.t.ToskiBearerOfSecrets.class));
cards.add(new SetCardInfo("Valkyrie Harbinger", 374, Rarity.RARE, mage.cards.v.ValkyrieHarbinger.class)); cards.add(new SetCardInfo("Valkyrie Harbinger", 374, Rarity.RARE, mage.cards.v.ValkyrieHarbinger.class));
cards.add(new SetCardInfo("Volatile Fjord", 273, Rarity.COMMON, mage.cards.v.VolatileFjord.class));
cards.add(new SetCardInfo("Warchanter Skald", 381, Rarity.UNCOMMON, mage.cards.w.WarchanterSkald.class)); cards.add(new SetCardInfo("Warchanter Skald", 381, Rarity.UNCOMMON, mage.cards.w.WarchanterSkald.class));
cards.add(new SetCardInfo("Woodland Chasm", 274, Rarity.COMMON, mage.cards.w.WoodlandChasm.class));
cards.add(new SetCardInfo("Youthful Valkyrie", 382, Rarity.UNCOMMON, mage.cards.y.YouthfulValkyrie.class)); cards.add(new SetCardInfo("Youthful Valkyrie", 382, Rarity.UNCOMMON, mage.cards.y.YouthfulValkyrie.class));
} }
} }

View file

@ -40029,14 +40029,24 @@ Kaya the Inexorable|Kaldheim|218|M|{3}{W}{B}|Legendary Planeswalker - Kaya|5|+1:
Sarulf, Realm Eater|Kaldheim|228|R|{1}{B}{G}|Legendary Creature - Wolf|3|3|Whenever a permanent an opponent controls is put into a graveyard from the battlefield, put a +1/+1 counter on Sarulf, Realm Eater.$At the beginning of your upkeep, if Sarulf has one or more +1/+1 counters on it, you may remove all of them. If you do, exile each other nonland permanent with converted mana cost less than or equal to the number of counters removed this way.| Sarulf, Realm Eater|Kaldheim|228|R|{1}{B}{G}|Legendary Creature - Wolf|3|3|Whenever a permanent an opponent controls is put into a graveyard from the battlefield, put a +1/+1 counter on Sarulf, Realm Eater.$At the beginning of your upkeep, if Sarulf has one or more +1/+1 counters on it, you may remove all of them. If you do, exile each other nonland permanent with converted mana cost less than or equal to the number of counters removed this way.|
Showdown of the Skalds|Kaldheim|229|R|{2}{R}{W}|Enchantment - Saga|||(As this Saga enters and after your draw step, add a lore counter. Sacrifice after III.)$I — Exile the top four cards of your library. Until the end of your next turn, you may play those cards.$II, III — Whenever you cast a spell this turn, put a +1/+1 counter on target creature you control.| Showdown of the Skalds|Kaldheim|229|R|{2}{R}{W}|Enchantment - Saga|||(As this Saga enters and after your draw step, add a lore counter. Sacrifice after III.)$I — Exile the top four cards of your library. Until the end of your next turn, you may play those cards.$II, III — Whenever you cast a spell this turn, put a +1/+1 counter on target creature you control.|
Pyre of Heroes|Kaldheim|241|R|{2}|Artifact|||{2}, {T}, Sacrifice a creature: Search your library for a creature card that shares a creature type with the sacrificed creature and has converted mana cost equal to 1 plus that creature's converted mana cost. Put that card onto the battlefield, then shuffle your library. Activate this ability only any time you could cast a sorcery.| Pyre of Heroes|Kaldheim|241|R|{2}|Artifact|||{2}, {T}, Sacrifice a creature: Search your library for a creature card that shares a creature type with the sacrificed creature and has converted mana cost equal to 1 plus that creature's converted mana cost. Put that card onto the battlefield, then shuffle your library. Activate this ability only any time you could cast a sorcery.|
Alpine Meadow|Kaldheim|248|C||Snow Land - Mountain Plains|||<i>({tap}: Add {R} or {W}.)</i>$Alpine Meadow enters the battlefield tapped.|
Arctic Treeline|Kaldheim|249|C||Snow Land - Forest Plains|||<i>({tap}: Add {G} or {W}.)</i>$Arctic Treeline enters the battlefield tapped.|
Barkchannel Pathway|Kaldheim|251|R||Land|||{T}: Add {G}.| Barkchannel Pathway|Kaldheim|251|R||Land|||{T}: Add {G}.|
Tidechannel Pathway|Kaldheim|251|R||Land|||{T}: Add {U}.| Tidechannel Pathway|Kaldheim|251|R||Land|||{T}: Add {U}.|
Blightstep Pathway|Kaldheim|252|R||Land|||{T}: Add {B}.| Blightstep Pathway|Kaldheim|252|R||Land|||{T}: Add {B}.|
Searstep Pathway|Kaldheim|252|R||Land|||{T}: Add {R}.| Searstep Pathway|Kaldheim|252|R||Land|||{T}: Add {R}.|
Darkbore Pathway|Kaldheim|254|R||Land|||{T}: Add {B}.| Darkbore Pathway|Kaldheim|254|R||Land|||{T}: Add {B}.|
Slitherbore Pathway|Kaldheim|254|R||Land|||{T}: Add {G}.| Slitherbore Pathway|Kaldheim|254|R||Land|||{T}: Add {G}.|
Glacial Floodplain|Kaldheim|257|C||Snow Land - Plains Island|||<i>({tap}: Add {W} or {U}.)</i>$Glacial Floodplain enters the battlefield tapped.|
Hengegate Pathway|Kaldheim|260|R||Land|||{T}: Add {W}.| Hengegate Pathway|Kaldheim|260|R||Land|||{T}: Add {W}.|
Mistgate Pathway|Kaldheim|260|R||Land|||{T}: Add {U}.| Mistgate Pathway|Kaldheim|260|R||Land|||{T}: Add {U}.|
Highland Forest|Kaldheim|261|C||Snow Land - Mountain Forest|||<i>({tap}: Add {R} or {G}.)</i>$Highland Forest enters the battlefield tapped.|
Ice Tunnel|Kaldheim|262|C||Snow Land - Island Swamp|||<i>({tap}: Add {U} or {B}.)</i>$Ice Tunnel enters the battlefield tapped.|
Rimewood Falls|Kaldheim|266|C||Snow Land - Forest Island|||<i>({tap}: Add {G} or {U}.)</i>$Rimewood Falls enters the battlefield tapped.|
Snowfield Sinkhole|Kaldheim|269|C||Snow Land - Plains Swamp|||<i>({tap}: Add {W} or {B}.)</i>$Snowfield Sinkhole enters the battlefield tapped.|
Sulfurous Mine|Kaldheim|270|C||Snow Land - Swamp Mountain|||<i>({tap}: Add {B} or {R}.)</i>$Sulfurous Mine enters the battlefield tapped.|
Volatile Fjord|Kaldheim|273|C||Snow Land - Island Mountain|||<i>({tap}: Add {U} or {R}.)</i>$Volatile Fjord enters the battlefield tapped.|
Woodland Chasm|Kaldheim|274|C||Snow Land - Swamp Forest|||<i>({tap}: Add {B} or {G}.)</i>$Woodland Chasm enters the battlefield tapped.|
Valkyrie Harbinger|Kaldheim|374|R|{4}{W}{W}|Creature - Angel Cleric|4|5|Flying, lifelink$At the beginning of each end step, if you gained 4 or more life this turn, create a 4/4 white Angel creature token with flying and vigilance.| Valkyrie Harbinger|Kaldheim|374|R|{4}{W}{W}|Creature - Angel Cleric|4|5|Flying, lifelink$At the beginning of each end step, if you gained 4 or more life this turn, create a 4/4 white Angel creature token with flying and vigilance.|
Surtland Elementalist|Kaldheim|375|R|{5}{U}{U}|Creature - Giant Wizard|8|8|As an additional cost to cast this spell, reveal a Giant card from your hand or pay {2}.$Whenever Surtland Elementalist attacks, you may cast an instant or sorcery spell from your hand without paying its mana cost.| Surtland Elementalist|Kaldheim|375|R|{5}{U}{U}|Creature - Giant Wizard|8|8|As an additional cost to cast this spell, reveal a Giant card from your hand or pay {2}.$Whenever Surtland Elementalist attacks, you may cast an instant or sorcery spell from your hand without paying its mana cost.|
Cleaving Reaper|Kaldheim|376|R|{3}{B}{B}|Creature - Angel Berserker|5|3|Flying, trample$Pay 3 life: Return Cleaving Reaper from your graveyard to your hand. Activate this ability only if you had an Angel or Berserker enter the battlefield under your control this turn.| Cleaving Reaper|Kaldheim|376|R|{3}{B}{B}|Creature - Angel Berserker|5|3|Flying, trample$Pay 3 life: Return Cleaving Reaper from your graveyard to your hand. Activate this ability only if you had an Angel or Berserker enter the battlefield under your control this turn.|