Add set [YNEO] with six cards; add two [J21] cards plus reprints (#12692)

This commit is contained in:
Svyatoslav28597 2024-08-24 08:02:16 +03:00 committed by GitHub
parent 614fae90b7
commit 44fb94782c
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
12 changed files with 569 additions and 1 deletions

View file

@ -101,7 +101,7 @@ public class GathererSets implements Iterable<DownloadJob> {
"C19", "ELD", "MB1", "GN2", "J20", "THB", "UND", "C20", "IKO", "M21", "C19", "ELD", "MB1", "GN2", "J20", "THB", "UND", "C20", "IKO", "M21",
"JMP", "2XM", "ZNR", "KLR", "CMR", "KHC", "KHM", "TSR", "STX", "STA", "JMP", "2XM", "ZNR", "KLR", "CMR", "KHC", "KHM", "TSR", "STX", "STA",
"C21", "MH2", "AFR", "AFC", "J21", "MID", "MIC", "VOW", "VOC", "YMID", "C21", "MH2", "AFR", "AFC", "J21", "MID", "MIC", "VOW", "VOC", "YMID",
"NEC", "NEO", "SNC", "NCC", "CLB", "2X2", "DMU", "DMC", "YDMU", "40K", "GN3", "NEC", "YNEO", "NEO", "SNC", "NCC", "CLB", "2X2", "DMU", "DMC", "YDMU", "40K", "GN3",
"UNF", "BRO", "BRC", "BOT", "30A", "J22", "SCD", "DMR", "ONE", "ONC", "UNF", "BRO", "BRC", "BOT", "30A", "J22", "SCD", "DMR", "ONE", "ONC",
"MOM", "MOC", "MUL", "MAT", "LTR", "CMM", "WOE", "WHO", "RVR", "WOT", "MOM", "MOC", "MUL", "MAT", "LTR", "CMM", "WOE", "WHO", "RVR", "WOT",
"WOC", "SPG", "LCI", "LCC", "REX", "PIP", "MKM", "MKC", "CLU", "OTJ", "WOC", "SPG", "LCI", "LCC", "REX", "PIP", "MKM", "MKC", "CLU", "OTJ",

View file

@ -503,6 +503,7 @@ public class ScryfallImageSupportCards {
add("DBL"); // Innistrad: Double Feature add("DBL"); // Innistrad: Double Feature
add("CC2"); // Commander Collection: Black add("CC2"); // Commander Collection: Black
add("NEO"); // Kamigawa: Neon Dynasty add("NEO"); // Kamigawa: Neon Dynasty
add("YNEO"); // Alchemy: Kamigawa
add("NEC"); // Neon Dynasty Commander add("NEC"); // Neon Dynasty Commander
add("PL22"); // Year of the Tiger 2022 add("PL22"); // Year of the Tiger 2022
add("SNC"); // Streets of New Capenna add("SNC"); // Streets of New Capenna

View file

@ -0,0 +1,61 @@
package mage.cards.b;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.UUID;
import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.effects.common.DraftFromSpellbookEffect;
import mage.constants.SubType;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
/**
* @author Svyatoslav28
*/
public final class BoseijuPathlighter extends CardImpl {
private static final List<String> spellbook = Collections.unmodifiableList(Arrays.asList(
"Bonders' Enclave",
"Boseiju, Who Endures",
"Emergence Zone",
"Field of Ruin",
"Gingerbread Cabin",
"Hall of Oracles",
"Khalni Garden",
"Memorial to Unity",
"Mobilized District",
"Radiant Fountain",
"Roadside Reliquary",
"Scavenger Grounds",
"Secluded Courtyard",
"Thriving Grove",
"Treasure vault"
));
public BoseijuPathlighter(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{G}");
this.subtype.add(SubType.HUMAN);
this.subtype.add(SubType.ROGUE);
this.power = new MageInt(3);
this.toughness = new MageInt(2);
// When Boseiju Pathlighter enters the battlefield, draft a card from Boseiju Pathlighter's spellbook.
Ability ability = new EntersBattlefieldTriggeredAbility(new DraftFromSpellbookEffect(spellbook));
this.addAbility(ability);
}
private BoseijuPathlighter(final BoseijuPathlighter card) {
super(card);
}
@Override
public BoseijuPathlighter copy() {
return new BoseijuPathlighter(this);
}
}

View file

@ -0,0 +1,41 @@
package mage.cards.d;
import java.util.UUID;
import mage.MageInt;
import mage.abilities.common.CrewIncreasedPowerAbility;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.effects.common.ConjureCardEffect;
import mage.constants.SubType;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
/**
* @author Svyatoslav28
*/
public final class DragonflyPilot extends CardImpl {
public DragonflyPilot(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{W}");
this.subtype.add(SubType.FOX);
this.subtype.add(SubType.PILOT);
this.power = new MageInt(1);
this.toughness = new MageInt(1);
// When Dragonfly Pilot enters the battlefield, conjure a card named Dragonfly Suit into your hand.
this.addAbility(new EntersBattlefieldTriggeredAbility(new ConjureCardEffect("Dragonfly Suit")));
// Dragonfly Pilot crews Vehicles as though its power were 2 greater.
this.addAbility(new CrewIncreasedPowerAbility());
}
private DragonflyPilot(final DragonflyPilot card) {
super(card);
}
@Override
public DragonflyPilot copy() {
return new DragonflyPilot(this);
}
}

View file

@ -0,0 +1,75 @@
package mage.cards.e;
import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.CrewIncreasedPowerAbility;
import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.costs.common.DiscardTargetCost;
import mage.abilities.costs.mana.ManaCostsImpl;
import mage.abilities.effects.common.DraftFromSpellbookEffect;
import mage.abilities.keyword.WardAbility;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.filter.StaticFilters;
import mage.target.common.TargetCardInHand;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.UUID;
/**
* @author Svyatoslav28
*/
public final class ExperimentalPilot extends CardImpl {
private static final List<String> spellbook = Collections.unmodifiableList(Arrays.asList(
"Bomat Bazaar Barge",
"Cultivator's Caravan",
"Daredevil Dragster",
"Demolition Stomper",
"Futurist Sentinel",
"High-Speed Hoverbike",
"Mechtitan Core",
"Mindlink Mech",
"Mobile Garrison",
"Ovalchase Dragster",
"Raiders' Karve",
"Reckoner Bankbuster",
"Silent Submersible",
"Thundering Chariot",
"Untethered Express"
));
public ExperimentalPilot(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{U}");
this.subtype.add(SubType.HUMAN);
this.subtype.add(SubType.PILOT);
this.power = new MageInt(1);
this.toughness = new MageInt(2);
// Ward {2}
this.addAbility(new WardAbility(new ManaCostsImpl<>("{2}")));
// {U}, Discard two cards: Draft a card from Experimental Pilot's spellbook.
Ability ability = new SimpleActivatedAbility(
new DraftFromSpellbookEffect(spellbook), new ManaCostsImpl<>("{U}")
);
ability.addCost(new DiscardTargetCost(new TargetCardInHand(2, StaticFilters.FILTER_CARD_CARDS)));
this.addAbility(ability);
// Experimental Pilot crews Vehicles as though its power were 2 greater.
this.addAbility(new CrewIncreasedPowerAbility());
}
private ExperimentalPilot(final ExperimentalPilot card) {
super(card);
}
@Override
public ExperimentalPilot copy() {
return new ExperimentalPilot(this);
}
}

View file

@ -0,0 +1,89 @@
package mage.cards.j;
import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.DealsCombatDamageToAPlayerTriggeredAbility;
import mage.abilities.effects.OneShotEffect;
import mage.abilities.keyword.NinjutsuAbility;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.Outcome;
import mage.constants.SubType;
import mage.filter.StaticFilters;
import mage.game.Game;
import mage.players.Player;
import java.util.UUID;
/**
* @author Svyatoslav28
*/
public final class JukaiLiberator extends CardImpl {
public JukaiLiberator(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{G}");
this.subtype.add(SubType.SNAKE);
this.subtype.add(SubType.NINJA);
this.power = new MageInt(3);
this.toughness = new MageInt(3);
// Ninjutsu {1}{G}
this.addAbility(new NinjutsuAbility("{1}{G}"));
// Whenever Jukai Liberator deals combat damage to a player, choose land or nonland. Seek a permanent card of the chosen type.
Ability ability = new DealsCombatDamageToAPlayerTriggeredAbility(new JukaiLiberatorEffect());
this.addAbility(ability);
}
private JukaiLiberator(final JukaiLiberator card) {
super(card);
}
@Override
public JukaiLiberator copy() {
return new JukaiLiberator(this);
}
}
class JukaiLiberatorEffect extends OneShotEffect {
JukaiLiberatorEffect() {
super(Outcome.Benefit);
staticText = "choose land or nonland." +
" Seek a permanent card of the chosen kind.";
}
private JukaiLiberatorEffect(final JukaiLiberatorEffect effect) {
super(effect);
}
@Override
public JukaiLiberatorEffect copy() {
return new JukaiLiberatorEffect(this);
}
@Override
public boolean apply(Game game, Ability source) {
Player player = game.getPlayer(source.getControllerId());
if (player == null) {
return false;
}
boolean land = player.chooseUse(
Outcome.Neutral, "Choose land or nonland", null,
"Land", "Nonland", source, game
);
if (land) {
player.seekCard(StaticFilters.FILTER_CARD_LAND, source, game);
} else {
player.seekCard(StaticFilters.FILTER_CARD_NON_LAND, source, game);
}
return true;
}
}

View file

@ -0,0 +1,45 @@
package mage.cards.k;
import mage.MageInt;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.effects.common.ConjureCardEffect;
import mage.abilities.effects.common.PutCardFromHandOntoBattlefieldEffect;
import mage.abilities.keyword.ChannelAbility;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.constants.Zone;
import mage.filter.StaticFilters;
import java.util.UUID;
/**
* @author Svyatoslav28
*/
public final class KamiOfBambooGroves extends CardImpl {
public KamiOfBambooGroves(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT, CardType.CREATURE}, "{G}");
this.subtype.add(SubType.SPIRIT);
this.power = new MageInt(1);
this.toughness = new MageInt(1);
// When Kami of Bamboo Groves enters the battlefield, you may put a land card from your hand onto the battlefield tapped.
this.addAbility(new EntersBattlefieldTriggeredAbility(new PutCardFromHandOntoBattlefieldEffect(
StaticFilters.FILTER_CARD_LAND_A, false, true
), false));
// Channel -- {2}{G}, Discard Kami of Bamboo Groves: Conjure two cards named Forest into your hand.
this.addAbility(new ChannelAbility("{2}{G}", new ConjureCardEffect("Forest", Zone.HAND, 2)));
}
private KamiOfBambooGroves(final KamiOfBambooGroves card) {
super(card);
}
@Override
public KamiOfBambooGroves copy() {
return new KamiOfBambooGroves(this);
}
}

View file

@ -0,0 +1,63 @@
package mage.cards.k;
import mage.abilities.Ability;
import mage.abilities.LoyaltyAbility;
import mage.abilities.costs.common.SacrificeTargetCost;
import mage.abilities.effects.common.*;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.Duration;
import mage.constants.SubType;
import mage.constants.SuperType;
import mage.filter.FilterPermanent;
import mage.filter.StaticFilters;
import mage.game.permanent.token.KrakenToken;
import mage.target.TargetPermanent;
import java.util.UUID;
/**
* @author Svyatoslav28
*/
public final class KioraTheTidesFury extends CardImpl {
private static final FilterPermanent filter = new FilterPermanent (SubType.KRAKEN, "Kraken");
public KioraTheTidesFury(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{3}{U}");
this.supertype.add(SuperType.LEGENDARY);
this.subtype.add(SubType.KIORA);
this.setStartingLoyalty(4);
// +1: Conjure a card named Kraken Hatchling into your hand.
LoyaltyAbility ability = new LoyaltyAbility((new ConjureCardEffect("Kraken Hatchling")), 1);
this.addAbility(ability);
// +1: Untap target creature or land. Prevent all damage that would be dealt to and dealt by that permanent until your next turn.
Ability secondAbility = new LoyaltyAbility(new UntapTargetEffect(), 1);
secondAbility.addEffect(new PreventDamageToTargetEffect(Duration.UntilYourNextTurn)
.setText("Prevent all damage that would be dealt to"));
secondAbility.addEffect(new PreventDamageByTargetEffect(Duration.UntilYourNextTurn, false)
.setText(" and dealt by that permanent until your next turn."));
secondAbility.addTarget(new TargetPermanent(StaticFilters.FILTER_PERMANENT_CREATURE_OR_LAND));
this.addAbility(secondAbility);
// 3: You may sacrifice a Kraken. If you do, create an 8/8 blue Kraken creature token.
this.addAbility(new LoyaltyAbility(new DoIfCostPaid(
new CreateTokenEffect(new KrakenToken()),
new SacrificeTargetCost(filter)),
-3));
}
private KioraTheTidesFury(final KioraTheTidesFury card) {
super(card);
}
@Override
public KioraTheTidesFury copy() {
return new KioraTheTidesFury(this);
}
}

View file

@ -0,0 +1,94 @@
package mage.cards.s;
import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.Mode;
import mage.abilities.common.ActivateOncePerGameActivatedAbility;
import mage.abilities.common.DealtDamageToSourceTriggeredAbility;
import mage.abilities.costs.common.PayLifeCost;
import mage.abilities.costs.mana.GenericManaCost;
import mage.abilities.dynamicvalue.common.SavedDamageValue;
import mage.abilities.effects.OneShotEffect;
import mage.abilities.effects.common.SacrificeControllerEffect;
import mage.abilities.effects.common.continuous.AddCardSubTypeSourceEffect;
import mage.abilities.effects.common.continuous.BoostSourceEffect;
import mage.abilities.effects.common.continuous.GainAbilitySourceEffect;
import mage.abilities.keyword.LifelinkAbility;
import mage.abilities.keyword.TrampleAbility;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.*;
import mage.filter.StaticFilters;
import mage.game.Game;
import mage.game.permanent.Permanent;
import java.util.UUID;
/**
* @author Svyatoslav28
*/
public final class SubversiveAcolyte extends CardImpl {
public SubversiveAcolyte(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{B}");
this.subtype.add(SubType.HUMAN);
this.power = new MageInt(2);
this.toughness = new MageInt(3);
// {2}: Pay 2 life: Choose one. Activate only once.
// * Subversive Acolyte becomes a Human Cleric. It gets +1/+1 and gains lifelink.
Ability ability = new ActivateOncePerGameActivatedAbility(Zone.BATTLEFIELD, new AddCardSubTypeSourceEffect(Duration.WhileOnBattlefield, SubType.HUMAN, SubType.CLERIC).setText("{this} becomes a Human Cleric"),
new GenericManaCost(2), TimingRule.INSTANT);
ability.addEffect(new BoostSourceEffect(1, 1, Duration.WhileOnBattlefield).setText("It gains +1/+1"));
ability.addEffect(new GainAbilitySourceEffect(LifelinkAbility.getInstance(), Duration.WhileOnBattlefield).setText(" and gains lifelink"));
ability.addCost(new PayLifeCost(2));
// * Subversive Acolyte becomes a Phyrexian. It gets +3/+2 and gains trample and Whenever this creature is dealt damage, sacrifice that many permanents.
ability.addMode(new Mode(new PhyrexianModeEffect()));
this.addAbility(ability);
}
private SubversiveAcolyte(final SubversiveAcolyte card) {
super(card);
}
@Override
public SubversiveAcolyte copy() {
return new SubversiveAcolyte(this);
}
}
class PhyrexianModeEffect extends OneShotEffect {
PhyrexianModeEffect() {
super(Outcome.Benefit);
staticText = "{this} becomes a Phyrexian. It gets +3/+2 " +
"and gains trample and \"Whenever this creature is dealt damage, sacrifice that many permanents.\"";
}
private PhyrexianModeEffect(final PhyrexianModeEffect effect) {
super(effect);
}
@Override
public PhyrexianModeEffect copy() {
return new PhyrexianModeEffect(this);
}
@Override
public boolean apply(Game game, Ability source) {
Permanent permanent = source.getSourcePermanentIfItStillExists(game);
if (permanent == null) {
return false;
}
game.addEffect(new AddCardSubTypeSourceEffect(Duration.WhileOnBattlefield, SubType.PHYREXIAN), source);
game.addEffect(new BoostSourceEffect(3, 2, Duration.WhileOnBattlefield), source);
game.addEffect(new GainAbilitySourceEffect(TrampleAbility.getInstance(), Duration.WhileOnBattlefield), source);
game.addEffect(new GainAbilitySourceEffect(
new DealtDamageToSourceTriggeredAbility(
new SacrificeControllerEffect(StaticFilters.FILTER_PERMANENTS, SavedDamageValue.MANY, ""),false),
Duration.WhileOnBattlefield), source);
return true;
}
}

View file

@ -0,0 +1,48 @@
package mage.cards.s;
import mage.MageInt;
import mage.abilities.common.DealsCombatDamageToAPlayerTriggeredAbility;
import mage.abilities.effects.common.ConjureCardEffect;
import mage.abilities.keyword.DeathtouchAbility;
import mage.abilities.keyword.NinjutsuAbility;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.SubType;
import java.util.UUID;
/**
* @author Svyatoslav28
*/
public final class SwarmSaboteur extends CardImpl {
public SwarmSaboteur(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{B}");
this.subtype.add(SubType.HUMAN);
this.subtype.add(SubType.NINJA);
this.power = new MageInt(2);
this.toughness = new MageInt(2);
// Ninjutsu {B}
this.addAbility(new NinjutsuAbility("{B}"));
// Deathtouch
this.addAbility(DeathtouchAbility.getInstance());
// Whenever Swarm Saboteur deals combat damage to a player, conjure a card named Virus Beetle into your hand.
this.addAbility(new DealsCombatDamageToAPlayerTriggeredAbility(
(new ConjureCardEffect("Virus Beetle"))
));
}
private SwarmSaboteur(final SwarmSaboteur card) {
super(card);
}
@Override
public SwarmSaboteur copy() {
return new SwarmSaboteur(this);
}
}

View file

@ -0,0 +1,32 @@
package mage.sets;
import mage.cards.ExpansionSet;
import mage.constants.Rarity;
import mage.constants.SetType;
/**
* @author karapuzz14
*/
public final class AlchemyKamigawa extends ExpansionSet {
private static final AlchemyKamigawa instance = new AlchemyKamigawa();
public static AlchemyKamigawa getInstance() {
return instance;
}
private AlchemyKamigawa() {
super("Alchemy: Kamigawa", "YNEO", ExpansionSet.buildDate(2022, 3, 17), SetType.MAGIC_ARENA);
this.blockName = "Alchemy";
this.hasBoosters = false;
this.hasBasicLands = false;
cards.add(new SetCardInfo("Boseiju Pathlighter", 26, Rarity.RARE, mage.cards.b.BoseijuPathlighter.class));
cards.add(new SetCardInfo("Dragonfly Pilot", 1, Rarity.UNCOMMON, mage.cards.d.DragonflyPilot.class));
cards.add(new SetCardInfo("Experimental Pilot", 6, Rarity.UNCOMMON, mage.cards.e.ExperimentalPilot.class));
cards.add(new SetCardInfo("Jukai Liberator", 27, Rarity.RARE, mage.cards.j.JukaiLiberator.class));
cards.add(new SetCardInfo("Kami of Bamboo Groves", 24, Rarity.UNCOMMON, mage.cards.k.KamiOfBambooGroves.class));
cards.add(new SetCardInfo("Swarm Saboteur", 13, Rarity.RARE, mage.cards.s.SwarmSaboteur.class));
}
}

View file

@ -43,6 +43,7 @@ public final class JumpstartHistoricHorizons extends ExpansionSet {
cards.add(new SetCardInfo("Arcbound Whelp", 410, Rarity.UNCOMMON, mage.cards.a.ArcboundWhelp.class)); cards.add(new SetCardInfo("Arcbound Whelp", 410, Rarity.UNCOMMON, mage.cards.a.ArcboundWhelp.class));
cards.add(new SetCardInfo("Archfiend of Sorrows", 285, Rarity.UNCOMMON, mage.cards.a.ArchfiendOfSorrows.class)); cards.add(new SetCardInfo("Archfiend of Sorrows", 285, Rarity.UNCOMMON, mage.cards.a.ArchfiendOfSorrows.class));
cards.add(new SetCardInfo("Archmage's Charm", 166, Rarity.RARE, mage.cards.a.ArchmagesCharm.class)); cards.add(new SetCardInfo("Archmage's Charm", 166, Rarity.RARE, mage.cards.a.ArchmagesCharm.class));
cards.add(new SetCardInfo("Assault Strobe", 786, Rarity.COMMON, mage.cards.a.AssaultStrobe.class));
cards.add(new SetCardInfo("Arcus Acolyte", 678, Rarity.UNCOMMON, mage.cards.a.ArcusAcolyte.class)); cards.add(new SetCardInfo("Arcus Acolyte", 678, Rarity.UNCOMMON, mage.cards.a.ArcusAcolyte.class));
cards.add(new SetCardInfo("Asylum Visitor", 286, Rarity.RARE, mage.cards.a.AsylumVisitor.class)); cards.add(new SetCardInfo("Asylum Visitor", 286, Rarity.RARE, mage.cards.a.AsylumVisitor.class));
cards.add(new SetCardInfo("Awaken the Bear", 542, Rarity.COMMON, mage.cards.a.AwakenTheBear.class)); cards.add(new SetCardInfo("Awaken the Bear", 542, Rarity.COMMON, mage.cards.a.AwakenTheBear.class));
@ -98,6 +99,7 @@ public final class JumpstartHistoricHorizons extends ExpansionSet {
cards.add(new SetCardInfo("Cordial Vampire", 306, Rarity.RARE, mage.cards.c.CordialVampire.class)); cards.add(new SetCardInfo("Cordial Vampire", 306, Rarity.RARE, mage.cards.c.CordialVampire.class));
cards.add(new SetCardInfo("Crocanura", 557, Rarity.COMMON, mage.cards.c.Crocanura.class)); cards.add(new SetCardInfo("Crocanura", 557, Rarity.COMMON, mage.cards.c.Crocanura.class));
cards.add(new SetCardInfo("Dark Salvation", 308, Rarity.RARE, mage.cards.d.DarkSalvation.class)); cards.add(new SetCardInfo("Dark Salvation", 308, Rarity.RARE, mage.cards.d.DarkSalvation.class));
cards.add(new SetCardInfo("Dark Ritual", 783, Rarity.COMMON, mage.cards.d.DarkRitual.class));
cards.add(new SetCardInfo("Death Wind", 314, Rarity.COMMON, mage.cards.d.DeathWind.class)); cards.add(new SetCardInfo("Death Wind", 314, Rarity.COMMON, mage.cards.d.DeathWind.class));
cards.add(new SetCardInfo("Deepwood Denizen", 558, Rarity.COMMON, mage.cards.d.DeepwoodDenizen.class)); cards.add(new SetCardInfo("Deepwood Denizen", 558, Rarity.COMMON, mage.cards.d.DeepwoodDenizen.class));
cards.add(new SetCardInfo("Devouring Light", 67, Rarity.UNCOMMON, mage.cards.d.DevouringLight.class)); cards.add(new SetCardInfo("Devouring Light", 67, Rarity.UNCOMMON, mage.cards.d.DevouringLight.class));
@ -112,6 +114,7 @@ public final class JumpstartHistoricHorizons extends ExpansionSet {
cards.add(new SetCardInfo("Dragon's Rage Channeler", 438, Rarity.UNCOMMON, mage.cards.d.DragonsRageChanneler.class)); cards.add(new SetCardInfo("Dragon's Rage Channeler", 438, Rarity.UNCOMMON, mage.cards.d.DragonsRageChanneler.class));
cards.add(new SetCardInfo("Dregscape Sliver", 319, Rarity.UNCOMMON, mage.cards.d.DregscapeSliver.class)); cards.add(new SetCardInfo("Dregscape Sliver", 319, Rarity.UNCOMMON, mage.cards.d.DregscapeSliver.class));
cards.add(new SetCardInfo("Drey Keeper", 687, Rarity.COMMON, mage.cards.d.DreyKeeper.class)); cards.add(new SetCardInfo("Drey Keeper", 687, Rarity.COMMON, mage.cards.d.DreyKeeper.class));
cards.add(new SetCardInfo("Duress", 784, Rarity.COMMON, mage.cards.d.Duress.class));
cards.add(new SetCardInfo("Duskshell Crawler", 561, Rarity.COMMON, mage.cards.d.DuskshellCrawler.class)); cards.add(new SetCardInfo("Duskshell Crawler", 561, Rarity.COMMON, mage.cards.d.DuskshellCrawler.class));
cards.add(new SetCardInfo("Echoing Return", 320, Rarity.COMMON, mage.cards.e.EchoingReturn.class)); cards.add(new SetCardInfo("Echoing Return", 320, Rarity.COMMON, mage.cards.e.EchoingReturn.class));
cards.add(new SetCardInfo("Elusive Krasis", 688, Rarity.UNCOMMON, mage.cards.e.ElusiveKrasis.class)); cards.add(new SetCardInfo("Elusive Krasis", 688, Rarity.UNCOMMON, mage.cards.e.ElusiveKrasis.class));
@ -136,6 +139,8 @@ public final class JumpstartHistoricHorizons extends ExpansionSet {
cards.add(new SetCardInfo("Fists of Flame", 443, Rarity.COMMON, mage.cards.f.FistsOfFlame.class)); cards.add(new SetCardInfo("Fists of Flame", 443, Rarity.COMMON, mage.cards.f.FistsOfFlame.class));
cards.add(new SetCardInfo("Fleshbag Marauder", 331, Rarity.UNCOMMON, mage.cards.f.FleshbagMarauder.class)); cards.add(new SetCardInfo("Fleshbag Marauder", 331, Rarity.UNCOMMON, mage.cards.f.FleshbagMarauder.class));
cards.add(new SetCardInfo("Floodhound", 193, Rarity.COMMON, mage.cards.f.Floodhound.class)); cards.add(new SetCardInfo("Floodhound", 193, Rarity.COMMON, mage.cards.f.Floodhound.class));
cards.add(new SetCardInfo("Fog", 789, Rarity.COMMON, mage.cards.f.Fog.class));
cards.add(new SetCardInfo("Force Spike", 780, Rarity.COMMON, mage.cards.f.ForceSpike.class));
cards.add(new SetCardInfo("Foul Watcher", 194, Rarity.COMMON, mage.cards.f.FoulWatcher.class)); cards.add(new SetCardInfo("Foul Watcher", 194, Rarity.COMMON, mage.cards.f.FoulWatcher.class));
cards.add(new SetCardInfo("Foundry Street Denizen", 446, Rarity.COMMON, mage.cards.f.FoundryStreetDenizen.class)); cards.add(new SetCardInfo("Foundry Street Denizen", 446, Rarity.COMMON, mage.cards.f.FoundryStreetDenizen.class));
cards.add(new SetCardInfo("Funnel-Web Recluse", 573, Rarity.COMMON, mage.cards.f.FunnelWebRecluse.class)); cards.add(new SetCardInfo("Funnel-Web Recluse", 573, Rarity.COMMON, mage.cards.f.FunnelWebRecluse.class));
@ -143,6 +148,7 @@ public final class JumpstartHistoricHorizons extends ExpansionSet {
cards.add(new SetCardInfo("Galvanic Relay", 450, Rarity.COMMON, mage.cards.g.GalvanicRelay.class)); cards.add(new SetCardInfo("Galvanic Relay", 450, Rarity.COMMON, mage.cards.g.GalvanicRelay.class));
cards.add(new SetCardInfo("Geomancer's Gambit", 452, Rarity.COMMON, mage.cards.g.GeomancersGambit.class)); cards.add(new SetCardInfo("Geomancer's Gambit", 452, Rarity.COMMON, mage.cards.g.GeomancersGambit.class));
cards.add(new SetCardInfo("Ghost-Lit Drifter", 196, Rarity.UNCOMMON, mage.cards.g.GhostLitDrifter.class)); cards.add(new SetCardInfo("Ghost-Lit Drifter", 196, Rarity.UNCOMMON, mage.cards.g.GhostLitDrifter.class));
cards.add(new SetCardInfo("Giant Growth", 790, Rarity.COMMON, mage.cards.g.GiantGrowth.class));
cards.add(new SetCardInfo("Gilded Light", 86, Rarity.COMMON, mage.cards.g.GildedLight.class)); cards.add(new SetCardInfo("Gilded Light", 86, Rarity.COMMON, mage.cards.g.GildedLight.class));
cards.add(new SetCardInfo("Gilt-Blade Prowler", 332, Rarity.COMMON, mage.cards.g.GiltBladeProwler.class)); cards.add(new SetCardInfo("Gilt-Blade Prowler", 332, Rarity.COMMON, mage.cards.g.GiltBladeProwler.class));
cards.add(new SetCardInfo("Glimmer Bairn", 576, Rarity.COMMON, mage.cards.g.GlimmerBairn.class)); cards.add(new SetCardInfo("Glimmer Bairn", 576, Rarity.COMMON, mage.cards.g.GlimmerBairn.class));
@ -171,6 +177,7 @@ public final class JumpstartHistoricHorizons extends ExpansionSet {
cards.add(new SetCardInfo("Hollowhead Sliver", 469, Rarity.UNCOMMON, mage.cards.h.HollowheadSliver.class)); cards.add(new SetCardInfo("Hollowhead Sliver", 469, Rarity.UNCOMMON, mage.cards.h.HollowheadSliver.class));
cards.add(new SetCardInfo("Hordeling Outburst", 470, Rarity.UNCOMMON, mage.cards.h.HordelingOutburst.class)); cards.add(new SetCardInfo("Hordeling Outburst", 470, Rarity.UNCOMMON, mage.cards.h.HordelingOutburst.class));
cards.add(new SetCardInfo("Hunting Pack", 587, Rarity.UNCOMMON, mage.cards.h.HuntingPack.class)); cards.add(new SetCardInfo("Hunting Pack", 587, Rarity.UNCOMMON, mage.cards.h.HuntingPack.class));
cards.add(new SetCardInfo("Ichor Wellspring", 763, Rarity.COMMON, mage.cards.i.IchorWellspring.class));
cards.add(new SetCardInfo("Igneous Elemental", 471, Rarity.COMMON, mage.cards.i.IgneousElemental.class)); cards.add(new SetCardInfo("Igneous Elemental", 471, Rarity.COMMON, mage.cards.i.IgneousElemental.class));
cards.add(new SetCardInfo("Implement of Combustion", 744, Rarity.COMMON, mage.cards.i.ImplementOfCombustion.class)); cards.add(new SetCardInfo("Implement of Combustion", 744, Rarity.COMMON, mage.cards.i.ImplementOfCombustion.class));
cards.add(new SetCardInfo("Impostor of the Sixth Pride", 96, Rarity.COMMON, mage.cards.i.ImpostorOfTheSixthPride.class)); cards.add(new SetCardInfo("Impostor of the Sixth Pride", 96, Rarity.COMMON, mage.cards.i.ImpostorOfTheSixthPride.class));
@ -186,8 +193,10 @@ public final class JumpstartHistoricHorizons extends ExpansionSet {
cards.add(new SetCardInfo("Just the Wind", 205, Rarity.COMMON, mage.cards.j.JustTheWind.class)); cards.add(new SetCardInfo("Just the Wind", 205, Rarity.COMMON, mage.cards.j.JustTheWind.class));
cards.add(new SetCardInfo("Khalni Garden", 770, Rarity.COMMON, mage.cards.k.KhalniGarden.class)); cards.add(new SetCardInfo("Khalni Garden", 770, Rarity.COMMON, mage.cards.k.KhalniGarden.class));
cards.add(new SetCardInfo("King of the Pride", 99, Rarity.UNCOMMON, mage.cards.k.KingOfThePride.class)); cards.add(new SetCardInfo("King of the Pride", 99, Rarity.UNCOMMON, mage.cards.k.KingOfThePride.class));
cards.add(new SetCardInfo("Kiora, the Tide's Fury", 10, Rarity.MYTHIC, mage.cards.k.KioraTheTidesFury.class));
cards.add(new SetCardInfo("Kitchen Imp", 342, Rarity.COMMON, mage.cards.k.KitchenImp.class)); cards.add(new SetCardInfo("Kitchen Imp", 342, Rarity.COMMON, mage.cards.k.KitchenImp.class));
cards.add(new SetCardInfo("Kor Skyfisher", 100, Rarity.COMMON, mage.cards.k.KorSkyfisher.class)); cards.add(new SetCardInfo("Kor Skyfisher", 100, Rarity.COMMON, mage.cards.k.KorSkyfisher.class));
cards.add(new SetCardInfo("Kraken Hatchling", 781, Rarity.COMMON, mage.cards.k.KrakenHatchling.class));
cards.add(new SetCardInfo("Krenko's Command", 480, Rarity.COMMON, mage.cards.k.KrenkosCommand.class)); cards.add(new SetCardInfo("Krenko's Command", 480, Rarity.COMMON, mage.cards.k.KrenkosCommand.class));
cards.add(new SetCardInfo("Kuldotha Flamefiend", 481, Rarity.UNCOMMON, mage.cards.k.KuldothaFlamefiend.class)); cards.add(new SetCardInfo("Kuldotha Flamefiend", 481, Rarity.UNCOMMON, mage.cards.k.KuldothaFlamefiend.class));
cards.add(new SetCardInfo("Lancer Sliver", 102, Rarity.COMMON, mage.cards.l.LancerSliver.class)); cards.add(new SetCardInfo("Lancer Sliver", 102, Rarity.COMMON, mage.cards.l.LancerSliver.class));
@ -196,7 +205,9 @@ public final class JumpstartHistoricHorizons extends ExpansionSet {
cards.add(new SetCardInfo("Lazotep Chancellor", 702, Rarity.UNCOMMON, mage.cards.l.LazotepChancellor.class)); cards.add(new SetCardInfo("Lazotep Chancellor", 702, Rarity.UNCOMMON, mage.cards.l.LazotepChancellor.class));
cards.add(new SetCardInfo("Leeching Sliver", 344, Rarity.UNCOMMON, mage.cards.l.LeechingSliver.class)); cards.add(new SetCardInfo("Leeching Sliver", 344, Rarity.UNCOMMON, mage.cards.l.LeechingSliver.class));
cards.add(new SetCardInfo("Legion Vanguard", 345, Rarity.UNCOMMON, mage.cards.l.LegionVanguard.class)); cards.add(new SetCardInfo("Legion Vanguard", 345, Rarity.UNCOMMON, mage.cards.l.LegionVanguard.class));
cards.add(new SetCardInfo("Lightning Bolt", 787, Rarity.COMMON, mage.cards.l.LightningBolt.class));
cards.add(new SetCardInfo("Lightning Spear", 484, Rarity.COMMON, mage.cards.l.LightningSpear.class)); cards.add(new SetCardInfo("Lightning Spear", 484, Rarity.COMMON, mage.cards.l.LightningSpear.class));
cards.add(new SetCardInfo("Light of Hope", 777, Rarity.COMMON, mage.cards.l.LightOfHope.class));
cards.add(new SetCardInfo("Llanowar Tribe", 598, Rarity.UNCOMMON, mage.cards.l.LlanowarTribe.class)); cards.add(new SetCardInfo("Llanowar Tribe", 598, Rarity.UNCOMMON, mage.cards.l.LlanowarTribe.class));
cards.add(new SetCardInfo("Lonis, Cryptozoologist", 703, Rarity.RARE, mage.cards.l.LonisCryptozoologist.class)); cards.add(new SetCardInfo("Lonis, Cryptozoologist", 703, Rarity.RARE, mage.cards.l.LonisCryptozoologist.class));
cards.add(new SetCardInfo("Mad Prophet", 487, Rarity.COMMON, mage.cards.m.MadProphet.class)); cards.add(new SetCardInfo("Mad Prophet", 487, Rarity.COMMON, mage.cards.m.MadProphet.class));
@ -236,6 +247,7 @@ public final class JumpstartHistoricHorizons extends ExpansionSet {
cards.add(new SetCardInfo("Pashalik Mons", 495, Rarity.RARE, mage.cards.p.PashalikMons.class)); cards.add(new SetCardInfo("Pashalik Mons", 495, Rarity.RARE, mage.cards.p.PashalikMons.class));
cards.add(new SetCardInfo("Phantasmal Form", 229, Rarity.COMMON, mage.cards.p.PhantasmalForm.class)); cards.add(new SetCardInfo("Phantasmal Form", 229, Rarity.COMMON, mage.cards.p.PhantasmalForm.class));
cards.add(new SetCardInfo("Phantom Ninja", 230, Rarity.COMMON, mage.cards.p.PhantomNinja.class)); cards.add(new SetCardInfo("Phantom Ninja", 230, Rarity.COMMON, mage.cards.p.PhantomNinja.class));
cards.add(new SetCardInfo("Ponder", 782, Rarity.COMMON, mage.cards.p.Ponder.class));
cards.add(new SetCardInfo("Pondering Mage", 231, Rarity.COMMON, mage.cards.p.PonderingMage.class)); cards.add(new SetCardInfo("Pondering Mage", 231, Rarity.COMMON, mage.cards.p.PonderingMage.class));
cards.add(new SetCardInfo("Predatory Sliver", 619, Rarity.COMMON, mage.cards.p.PredatorySliver.class)); cards.add(new SetCardInfo("Predatory Sliver", 619, Rarity.COMMON, mage.cards.p.PredatorySliver.class));
cards.add(new SetCardInfo("Prey's Vengeance", 620, Rarity.COMMON, mage.cards.p.PreysVengeance.class)); cards.add(new SetCardInfo("Prey's Vengeance", 620, Rarity.COMMON, mage.cards.p.PreysVengeance.class));
@ -251,10 +263,12 @@ public final class JumpstartHistoricHorizons extends ExpansionSet {
cards.add(new SetCardInfo("Ravenous Squirrel", 728, Rarity.UNCOMMON, mage.cards.r.RavenousSquirrel.class)); cards.add(new SetCardInfo("Ravenous Squirrel", 728, Rarity.UNCOMMON, mage.cards.r.RavenousSquirrel.class));
cards.add(new SetCardInfo("Raving Visionary", 234, Rarity.UNCOMMON, mage.cards.r.RavingVisionary.class)); cards.add(new SetCardInfo("Raving Visionary", 234, Rarity.UNCOMMON, mage.cards.r.RavingVisionary.class));
cards.add(new SetCardInfo("Reap the Past", 710, Rarity.RARE, mage.cards.r.ReapThePast.class)); cards.add(new SetCardInfo("Reap the Past", 710, Rarity.RARE, mage.cards.r.ReapThePast.class));
cards.add(new SetCardInfo("Reassembling Skeleton", 785, Rarity.UNCOMMON, mage.cards.r.ReassemblingSkeleton.class));
cards.add(new SetCardInfo("Recalibrate", 235, Rarity.COMMON, mage.cards.r.Recalibrate.class)); cards.add(new SetCardInfo("Recalibrate", 235, Rarity.COMMON, mage.cards.r.Recalibrate.class));
cards.add(new SetCardInfo("Reckless Charge", 500, Rarity.COMMON, mage.cards.r.RecklessCharge.class)); cards.add(new SetCardInfo("Reckless Charge", 500, Rarity.COMMON, mage.cards.r.RecklessCharge.class));
cards.add(new SetCardInfo("Reckless Racer", 501, Rarity.UNCOMMON, mage.cards.r.RecklessRacer.class)); cards.add(new SetCardInfo("Reckless Racer", 501, Rarity.UNCOMMON, mage.cards.r.RecklessRacer.class));
cards.add(new SetCardInfo("Reckless Wurm", 502, Rarity.UNCOMMON, mage.cards.r.RecklessWurm.class)); cards.add(new SetCardInfo("Reckless Wurm", 502, Rarity.UNCOMMON, mage.cards.r.RecklessWurm.class));
cards.add(new SetCardInfo("Regal Force", 791, Rarity.RARE, mage.cards.r.RegalForce.class));
cards.add(new SetCardInfo("Renegade Tactics", 503, Rarity.COMMON, mage.cards.r.RenegadeTactics.class)); cards.add(new SetCardInfo("Renegade Tactics", 503, Rarity.COMMON, mage.cards.r.RenegadeTactics.class));
cards.add(new SetCardInfo("Reprobation", 116, Rarity.COMMON, mage.cards.r.Reprobation.class)); cards.add(new SetCardInfo("Reprobation", 116, Rarity.COMMON, mage.cards.r.Reprobation.class));
cards.add(new SetCardInfo("Restoration Angel", 117, Rarity.RARE, mage.cards.r.RestorationAngel.class)); cards.add(new SetCardInfo("Restoration Angel", 117, Rarity.RARE, mage.cards.r.RestorationAngel.class));
@ -288,6 +302,7 @@ public final class JumpstartHistoricHorizons extends ExpansionSet {
cards.add(new SetCardInfo("Servant of the Scale", 635, Rarity.COMMON, mage.cards.s.ServantOfTheScale.class)); cards.add(new SetCardInfo("Servant of the Scale", 635, Rarity.COMMON, mage.cards.s.ServantOfTheScale.class));
cards.add(new SetCardInfo("Shambleshark", 714, Rarity.COMMON, mage.cards.s.Shambleshark.class)); cards.add(new SetCardInfo("Shambleshark", 714, Rarity.COMMON, mage.cards.s.Shambleshark.class));
cards.add(new SetCardInfo("Shelter", 133, Rarity.COMMON, mage.cards.s.Shelter.class)); cards.add(new SetCardInfo("Shelter", 133, Rarity.COMMON, mage.cards.s.Shelter.class));
cards.add(new SetCardInfo("Shivan Drgaon", 788, Rarity.RARE, mage.cards.s.ShivanDragon.class));
cards.add(new SetCardInfo("Shiv's Embrace", 511, Rarity.UNCOMMON, mage.cards.s.ShivsEmbrace.class)); cards.add(new SetCardInfo("Shiv's Embrace", 511, Rarity.UNCOMMON, mage.cards.s.ShivsEmbrace.class));
cards.add(new SetCardInfo("Shoreline Scout", 12, Rarity.UNCOMMON, mage.cards.s.ShorelineScout.class)); cards.add(new SetCardInfo("Shoreline Scout", 12, Rarity.UNCOMMON, mage.cards.s.ShorelineScout.class));
cards.add(new SetCardInfo("Sinister Starfish", 383, Rarity.COMMON, mage.cards.s.SinisterStarfish.class)); cards.add(new SetCardInfo("Sinister Starfish", 383, Rarity.COMMON, mage.cards.s.SinisterStarfish.class));
@ -316,13 +331,16 @@ public final class JumpstartHistoricHorizons extends ExpansionSet {
cards.add(new SetCardInfo("Sterling Grove", 720, Rarity.RARE, mage.cards.s.SterlingGrove.class)); cards.add(new SetCardInfo("Sterling Grove", 720, Rarity.RARE, mage.cards.s.SterlingGrove.class));
cards.add(new SetCardInfo("Stirring Address", 145, Rarity.COMMON, mage.cards.s.StirringAddress.class)); cards.add(new SetCardInfo("Stirring Address", 145, Rarity.COMMON, mage.cards.s.StirringAddress.class));
cards.add(new SetCardInfo("Stitchwing Skaab", 256, Rarity.UNCOMMON, mage.cards.s.StitchwingSkaab.class)); cards.add(new SetCardInfo("Stitchwing Skaab", 256, Rarity.UNCOMMON, mage.cards.s.StitchwingSkaab.class));
cards.add(new SetCardInfo("Stormfront Pegasus", 778, Rarity.UNCOMMON, mage.cards.s.StormfrontPegasus.class));
cards.add(new SetCardInfo("Storm God's Oracle", 721, Rarity.COMMON, mage.cards.s.StormGodsOracle.class)); cards.add(new SetCardInfo("Storm God's Oracle", 721, Rarity.COMMON, mage.cards.s.StormGodsOracle.class));
cards.add(new SetCardInfo("Strike It Rich", 521, Rarity.UNCOMMON, mage.cards.s.StrikeItRich.class)); cards.add(new SetCardInfo("Strike It Rich", 521, Rarity.UNCOMMON, mage.cards.s.StrikeItRich.class));
cards.add(new SetCardInfo("Striking Sliver", 522, Rarity.COMMON, mage.cards.s.StrikingSliver.class)); cards.add(new SetCardInfo("Striking Sliver", 522, Rarity.COMMON, mage.cards.s.StrikingSliver.class));
cards.add(new SetCardInfo("Striped Bears", 648, Rarity.COMMON, mage.cards.s.StripedBears.class)); cards.add(new SetCardInfo("Striped Bears", 648, Rarity.COMMON, mage.cards.s.StripedBears.class));
cards.add(new SetCardInfo("Subversive Acolyte", 19, Rarity.RARE, mage.cards.s.SubversiveAcolyte.class));
cards.add(new SetCardInfo("Sudden Edict", 389, Rarity.UNCOMMON, mage.cards.s.SuddenEdict.class)); cards.add(new SetCardInfo("Sudden Edict", 389, Rarity.UNCOMMON, mage.cards.s.SuddenEdict.class));
cards.add(new SetCardInfo("Sustainer of the Realm", 146, Rarity.COMMON, mage.cards.s.SustainerOfTheRealm.class)); cards.add(new SetCardInfo("Sustainer of the Realm", 146, Rarity.COMMON, mage.cards.s.SustainerOfTheRealm.class));
cards.add(new SetCardInfo("Svyelun of Sea and Sky", 259, Rarity.MYTHIC, mage.cards.s.SvyelunOfSeaAndSky.class)); cards.add(new SetCardInfo("Svyelun of Sea and Sky", 259, Rarity.MYTHIC, mage.cards.s.SvyelunOfSeaAndSky.class));
cards.add(new SetCardInfo("Swords to Plowshares", 779, Rarity.UNCOMMON, mage.cards.s.SwordsToPlowshares.class));
cards.add(new SetCardInfo("Sylvan Anthem", 649, Rarity.RARE, mage.cards.s.SylvanAnthem.class)); cards.add(new SetCardInfo("Sylvan Anthem", 649, Rarity.RARE, mage.cards.s.SylvanAnthem.class));
cards.add(new SetCardInfo("Sythis, Harvest's Hand", 722, Rarity.RARE, mage.cards.s.SythisHarvestsHand.class)); cards.add(new SetCardInfo("Sythis, Harvest's Hand", 722, Rarity.RARE, mage.cards.s.SythisHarvestsHand.class));
cards.add(new SetCardInfo("Tajuru Pathwarden", 650, Rarity.COMMON, mage.cards.t.TajuruPathwarden.class)); cards.add(new SetCardInfo("Tajuru Pathwarden", 650, Rarity.COMMON, mage.cards.t.TajuruPathwarden.class));
@ -343,6 +361,7 @@ public final class JumpstartHistoricHorizons extends ExpansionSet {
cards.add(new SetCardInfo("Tireless Provisioner", 655, Rarity.UNCOMMON, mage.cards.t.TirelessProvisioner.class)); cards.add(new SetCardInfo("Tireless Provisioner", 655, Rarity.UNCOMMON, mage.cards.t.TirelessProvisioner.class));
cards.add(new SetCardInfo("Tourach's Canticle", 393, Rarity.COMMON, mage.cards.t.TourachsCanticle.class)); cards.add(new SetCardInfo("Tourach's Canticle", 393, Rarity.COMMON, mage.cards.t.TourachsCanticle.class));
cards.add(new SetCardInfo("Treasure Keeper", 758, Rarity.UNCOMMON, mage.cards.t.TreasureKeeper.class)); cards.add(new SetCardInfo("Treasure Keeper", 758, Rarity.UNCOMMON, mage.cards.t.TreasureKeeper.class));
cards.add(new SetCardInfo("Tropical Island", 792, Rarity.RARE, mage.cards.t.TropicalIsland.class));
cards.add(new SetCardInfo("Trumpeting Herd", 659, Rarity.COMMON, mage.cards.t.TrumpetingHerd.class)); cards.add(new SetCardInfo("Trumpeting Herd", 659, Rarity.COMMON, mage.cards.t.TrumpetingHerd.class));
cards.add(new SetCardInfo("Twin-Silk Spider", 660, Rarity.COMMON, mage.cards.t.TwinSilkSpider.class)); cards.add(new SetCardInfo("Twin-Silk Spider", 660, Rarity.COMMON, mage.cards.t.TwinSilkSpider.class));
cards.add(new SetCardInfo("Ulvenwald Mysteries", 661, Rarity.UNCOMMON, mage.cards.u.UlvenwaldMysteries.class)); cards.add(new SetCardInfo("Ulvenwald Mysteries", 661, Rarity.UNCOMMON, mage.cards.u.UlvenwaldMysteries.class));