reorganized ban lists

This commit is contained in:
Evan Kranzler 2022-03-18 17:23:02 -04:00
parent 0d038b1737
commit 36a41a81a3
16 changed files with 87 additions and 376 deletions

View file

@ -112,32 +112,6 @@ public class AusHighlander extends Constructed {
valid = false; valid = false;
} }
banned.add("Advantageous Proclamation");
banned.add("Amulet of Quoz");
banned.add("Backup Plan");
banned.add("Brago's Favor");
banned.add("Bronze Tablet");
banned.add("Chaos Orb");
banned.add("Contract from Below");
banned.add("Darkpact");
banned.add("Demonic Attorney");
banned.add("Double Stroke");
banned.add("Falling Star");
banned.add("Immediate Action");
banned.add("Iterative Analysis");
banned.add("Jeweled Bird");
banned.add("Muzzio's Preparations");
banned.add("Power Play");
banned.add("Rebirth");
banned.add("Secret Summoning");
banned.add("Secrets of Paradise");
banned.add("Sentinel Dispatch");
banned.add("Shahrazad");
banned.add("Tempest Efreet");
banned.add("Timmerian Fiends");
banned.add("Unexpected Potential");
banned.add("Worldknit");
Map<String, Integer> counts = new HashMap<>(); Map<String, Integer> counts = new HashMap<>();
countCards(counts, deck.getCards()); countCards(counts, deck.getCards());
countCards(counts, deck.getSideboard()); countCards(counts, deck.getSideboard());

View file

@ -14,14 +14,12 @@ public class CenturionCommander extends Commander {
banned.add("Bazaar of Baghdad"); banned.add("Bazaar of Baghdad");
banned.add("Black Lotus"); banned.add("Black Lotus");
banned.add("Channel"); banned.add("Channel");
banned.add("Chaos Orb");
banned.add("Chrome Mox"); banned.add("Chrome Mox");
banned.add("Demonic Tutor"); banned.add("Demonic Tutor");
banned.add("Dig Through Time"); banned.add("Dig Through Time");
banned.add("Emrakul, the Aeons Torn"); banned.add("Emrakul, the Aeons Torn");
banned.add("Emrakul, the Promised End"); banned.add("Emrakul, the Promised End");
banned.add("Entomb"); banned.add("Entomb");
banned.add("Falling Star");
banned.add("Fastbond"); banned.add("Fastbond");
banned.add("Food Chain"); banned.add("Food Chain");
banned.add("Gaea's Cradle"); banned.add("Gaea's Cradle");
@ -51,7 +49,6 @@ public class CenturionCommander extends Commander {
banned.add("Parallax Tide"); banned.add("Parallax Tide");
banned.add("Protean Hulk"); banned.add("Protean Hulk");
banned.add("Sensei's Diving Top"); banned.add("Sensei's Diving Top");
banned.add("Sharazad");
banned.add("Survival of the Fittest"); banned.add("Survival of the Fittest");
banned.add("Sol Ring"); banned.add("Sol Ring");
banned.add("Strip Mine"); banned.add("Strip Mine");

View file

@ -19,9 +19,7 @@ public class Commander extends AbstractCommander {
banned.add("Black Lotus"); banned.add("Black Lotus");
banned.add("Braids, Cabal Minion"); banned.add("Braids, Cabal Minion");
banned.add("Channel"); banned.add("Channel");
banned.add("Cleanse");
banned.add("Coalition Victory"); banned.add("Coalition Victory");
banned.add("Crusade");
banned.add("Emrakul, the Aeons Torn"); banned.add("Emrakul, the Aeons Torn");
banned.add("Erayo, Soratami Ascendant"); banned.add("Erayo, Soratami Ascendant");
banned.add("Fastbond"); banned.add("Fastbond");
@ -30,8 +28,6 @@ public class Commander extends AbstractCommander {
banned.add("Golos, Tireless Pilgrim"); banned.add("Golos, Tireless Pilgrim");
banned.add("Griselbrand"); banned.add("Griselbrand");
banned.add("Hullbreacher"); banned.add("Hullbreacher");
banned.add("Imprison");
banned.add("Invoke Prejudice");
banned.add("Iona, Shield of Emeria"); banned.add("Iona, Shield of Emeria");
banned.add("Jihad"); banned.add("Jihad");
banned.add("Karakas"); banned.add("Karakas");
@ -46,12 +42,10 @@ public class Commander extends AbstractCommander {
banned.add("Mox Sapphire"); banned.add("Mox Sapphire");
banned.add("Panoptic Mirror"); banned.add("Panoptic Mirror");
banned.add("Paradox Engine"); banned.add("Paradox Engine");
banned.add("Pradesh Gypsies");
banned.add("Primeval Titan"); banned.add("Primeval Titan");
banned.add("Prophet of Kruphix"); banned.add("Prophet of Kruphix");
banned.add("Recurring Nightmare"); banned.add("Recurring Nightmare");
banned.add("Rofellos, Llanowar Emissary"); banned.add("Rofellos, Llanowar Emissary");
banned.add("Stone-Throwing Devils");
banned.add("Sundering Titan"); banned.add("Sundering Titan");
banned.add("Sway of the Stars"); banned.add("Sway of the Stars");
banned.add("Sylvan Primordial"); banned.add("Sylvan Primordial");

View file

@ -15,8 +15,6 @@ public class DuelCommander extends Commander {
banned.add("Cavern of Souls"); banned.add("Cavern of Souls");
banned.add("Channel"); banned.add("Channel");
banned.add("Chrome Mox"); banned.add("Chrome Mox");
banned.add("Cleanse");
banned.add("Crusade");
banned.add("Deflecting Swat"); banned.add("Deflecting Swat");
banned.add("Dig Through Time"); banned.add("Dig Through Time");
banned.add("Eidolon of the Great Revel"); banned.add("Eidolon of the Great Revel");
@ -34,15 +32,12 @@ public class DuelCommander extends Commander {
banned.add("High Tide"); banned.add("High Tide");
banned.add("Humility"); banned.add("Humility");
banned.add("Imperial Seal"); banned.add("Imperial Seal");
banned.add("Imprison");
banned.add("Invoke Prejudice");
banned.add("Jeweled Lotus"); banned.add("Jeweled Lotus");
banned.add("Jihad");
banned.add("Karakas"); banned.add("Karakas");
banned.add("Library of Alexandria"); banned.add("Library of Alexandria");
banned.add("Lion's Eye Diamond"); banned.add("Lion's Eye Diamond");
banned.add("Lutri, The Spellchaser");
banned.add("Loyal Retainers"); banned.add("Loyal Retainers");
banned.add("Lutri, the Spellchaser");
banned.add("Maddening Hex"); banned.add("Maddening Hex");
banned.add("Mana Crypt"); banned.add("Mana Crypt");
banned.add("Mana Drain"); banned.add("Mana Drain");
@ -60,13 +55,11 @@ public class DuelCommander extends Commander {
banned.add("Necrotic Ooze"); banned.add("Necrotic Ooze");
banned.add("Oath of Druids"); banned.add("Oath of Druids");
banned.add("Polymorph"); banned.add("Polymorph");
banned.add("Pradesh Gypsies");
banned.add("Price of Progress"); banned.add("Price of Progress");
banned.add("Protean Hulk"); banned.add("Protean Hulk");
banned.add("Scapeshift"); banned.add("Scapeshift");
banned.add("Sensei's Divining Top"); banned.add("Sensei's Divining Top");
banned.add("Sol Ring"); banned.add("Sol Ring");
banned.add("Stone-Throwing Devils");
banned.add("Strip Mine"); banned.add("Strip Mine");
banned.add("Temporal Manipulation"); banned.add("Temporal Manipulation");
banned.add("Thassa's Oracle"); banned.add("Thassa's Oracle");

View file

@ -10,6 +10,7 @@ import java.util.HashMap;
import java.util.Map; import java.util.Map;
/** /**
* @author ddzn
* @brief European Highlander is a classic competitive singleton format formalized around 2003. * @brief European Highlander is a classic competitive singleton format formalized around 2003.
* It is also known as 'German Highlander'. * It is also known as 'German Highlander'.
* In short: 20 pts starting life, 100 card singleton deck without sideboard. * In short: 20 pts starting life, 100 card singleton deck without sideboard.
@ -18,7 +19,6 @@ import java.util.Map;
* More info at http://highlandermagic.info * More info at http://highlandermagic.info
* Banned list here http://highlandermagic.info/banned-list * Banned list here http://highlandermagic.info/banned-list
* Watch list here http://highlandermagic.info/watch-list * Watch list here http://highlandermagic.info/watch-list
* @author ddzn
*/ */
public class EuropeanHighlander extends Constructed { public class EuropeanHighlander extends Constructed {
@ -34,91 +34,10 @@ public class EuropeanHighlander extends Constructed {
// Since then, the tournament organizer must decide if the cards are allowed // Since then, the tournament organizer must decide if the cards are allowed
// The following ban list is decided by the council in cooperation with the community (last update: 15.11.2020) // The following ban list is decided by the council in cooperation with the community (last update: 15.11.2020)
// Silver-bordered cards are banned
// Conspiracy cards are banned
banned.add("Adriana's Valor");
banned.add("Advantageous Proclamation");
banned.add("Assemble the Rank and Vile");
banned.add("Backup Plan");
banned.add("Brago's Favor");
banned.add("Cleanse");
banned.add("Crusade");
banned.add("Double Stroke");
banned.add("Echoing Boon");
banned.add("Emissary's Ploy");
banned.add("Hired Heist");
banned.add("Hold the Perimeter");
banned.add("Hymn of the Wilds");
banned.add("Immediate Action");
banned.add("Imprison");
banned.add("Incendiary Dissent");
banned.add("Iterative Analysis");
banned.add("Invoke Prejudice");
banned.add("Jihad");
banned.add("Muzzio's Preparations");
banned.add("Natural Unity");
banned.add("Power Play");
banned.add("Pradesh Gypsies");
banned.add("Secrets of Paradise");
banned.add("Secret Summoning");
banned.add("Sentinel Dispatch");
banned.add("Sovereign's Realm");
banned.add("Stone-Throwing Devils");
banned.add("Summoner's Bond");
banned.add("Unexpected Potential");
banned.add("Weight Advantage");
banned.add("Worldknit");
// Dexterity cards are bannee
banned.add("Chaos Orb");
banned.add("Falling Star");
// Sub-game cards are banned
banned.add("Shahrazad");
// Ante cards are banned
banned.add("Amulet of Quoz");
banned.add("Bronze Tablet");
banned.add("Contract from Below");
banned.add("Darkpact");
banned.add("Demonic Attorney");
banned.add("Jeweled Bird");
banned.add("Rebirth");
banned.add("Tempest Efreet");
banned.add("Timmerian Fiends");
// Potentially offensive cards are banned
banned.add("Cleanse");
banned.add("Crusade");
banned.add("Imprison");
banned.add("Invoke Prejudice");
banned.add("Jihad");
banned.add("Pradesh Gypsies");
banned.add("Stone-Throwing Devils");
// Cards from the "Living Dead" TV show crossover are banned
banned.add("Daryl, Hunter of Walkers");
banned.add("Glenn, the Voice of Calm");
banned.add("Michonne, Ruthless Survivor");
banned.add("Negan, the Cold-Blooded");
banned.add("Rick, Steadfast Leader");
banned.add("Lucille");
// Power 9 except Time Twister
banned.add("Black Lotus");
banned.add("Ancestral Recall"); banned.add("Ancestral Recall");
banned.add("Mox Emerald");
banned.add("Mox Jet");
banned.add("Mox Pearl");
banned.add("Mox Ruby");
banned.add("Mox Sapphire");
banned.add("Time Walk");
// Remaining cards
banned.add("Balance"); banned.add("Balance");
banned.add("Birthing Pod"); banned.add("Birthing Pod");
banned.add("Black Lotus");
banned.add("Flash"); banned.add("Flash");
banned.add("Gifts Ungiven"); banned.add("Gifts Ungiven");
banned.add("Library of Alexandria"); banned.add("Library of Alexandria");
@ -126,6 +45,11 @@ public class EuropeanHighlander extends Constructed {
banned.add("Mana Vault"); banned.add("Mana Vault");
banned.add("Mind Twist"); banned.add("Mind Twist");
banned.add("Mystical Tutor"); banned.add("Mystical Tutor");
banned.add("Mox Emerald");
banned.add("Mox Jet");
banned.add("Mox Pearl");
banned.add("Mox Ruby");
banned.add("Mox Sapphire");
banned.add("Natural Order"); banned.add("Natural Order");
banned.add("Sensei's Divining Top"); banned.add("Sensei's Divining Top");
banned.add("Skullclamp"); banned.add("Skullclamp");
@ -133,6 +57,7 @@ public class EuropeanHighlander extends Constructed {
banned.add("Strip Mine"); banned.add("Strip Mine");
banned.add("Survival of the Fittest"); banned.add("Survival of the Fittest");
banned.add("Time Vault"); banned.add("Time Vault");
banned.add("Time Walk");
banned.add("Tinker"); banned.add("Tinker");
banned.add("Tolarian Academy"); banned.add("Tolarian Academy");
banned.add("Treasure Cruise"); banned.add("Treasure Cruise");

View file

@ -16,31 +16,18 @@ public class Legacy extends Constructed {
setCodes.add(set.getCode()); setCodes.add(set.getCode());
} }
} }
banned.add("Advantageous Proclamation");
banned.add("Arcum's Astrolabe");
banned.add("Amulet of Quoz");
banned.add("Ancestral Recall"); banned.add("Ancestral Recall");
banned.add("Backup Plan"); banned.add("Arcum's Astrolabe");
banned.add("Balance"); banned.add("Balance");
banned.add("Bazaar of Baghdad"); banned.add("Bazaar of Baghdad");
banned.add("Black Lotus"); banned.add("Black Lotus");
banned.add("Brago's Favor");
banned.add("Bronze Tablet");
banned.add("Channel"); banned.add("Channel");
banned.add("Chaos Orb");
banned.add("Cleanse");
banned.add("Contract from Below");
banned.add("Crusade");
banned.add("Darkpact");
banned.add("Deathrite Shaman"); banned.add("Deathrite Shaman");
banned.add("Demonic Attorney");
banned.add("Demonic Consultation"); banned.add("Demonic Consultation");
banned.add("Demonic Tutor"); banned.add("Demonic Tutor");
banned.add("Dig Through Time"); banned.add("Dig Through Time");
banned.add("Double Stroke");
banned.add("Dreadhorde Arcanist"); banned.add("Dreadhorde Arcanist");
banned.add("Earthcraft"); banned.add("Earthcraft");
banned.add("Falling Star");
banned.add("Fastbond"); banned.add("Fastbond");
banned.add("Flash"); banned.add("Flash");
banned.add("Frantic Search"); banned.add("Frantic Search");
@ -48,13 +35,7 @@ public class Legacy extends Constructed {
banned.add("Goblin Recruiter"); banned.add("Goblin Recruiter");
banned.add("Gush"); banned.add("Gush");
banned.add("Hermit Druid"); banned.add("Hermit Druid");
banned.add("Immediate Action");
banned.add("Imperial Seal"); banned.add("Imperial Seal");
banned.add("Imprison");
banned.add("Invoke Prejudice");
banned.add("Iterative Analysis");
banned.add("Jeweled Bird");
banned.add("Jihad");
banned.add("Library of Alexandria"); banned.add("Library of Alexandria");
banned.add("Lurrus of the Dream-Den"); banned.add("Lurrus of the Dream-Den");
banned.add("Mana Crypt"); banned.add("Mana Crypt");
@ -62,47 +43,34 @@ public class Legacy extends Constructed {
banned.add("Mana Vault"); banned.add("Mana Vault");
banned.add("Memory Jar"); banned.add("Memory Jar");
banned.add("Mental Misstep"); banned.add("Mental Misstep");
banned.add("Mind Twist");
banned.add("Mind's Desire"); banned.add("Mind's Desire");
banned.add("Mind Twist");
banned.add("Mishra's Workshop"); banned.add("Mishra's Workshop");
banned.add("Mox Emerald"); banned.add("Mox Emerald");
banned.add("Mox Jet"); banned.add("Mox Jet");
banned.add("Mox Pearl"); banned.add("Mox Pearl");
banned.add("Mox Ruby"); banned.add("Mox Ruby");
banned.add("Mox Sapphire"); banned.add("Mox Sapphire");
banned.add("Muzzio's Preparations");
banned.add("Mystical Tutor"); banned.add("Mystical Tutor");
banned.add("Necropotence"); banned.add("Necropotence");
banned.add("Oath of Druids"); banned.add("Oath of Druids");
banned.add("Oko, Thief of Crowns"); banned.add("Oko, Thief of Crowns");
banned.add("Power Play");
banned.add("Pradesh Gypsies");
banned.add("Ragavan, Nimble Pilferer"); banned.add("Ragavan, Nimble Pilferer");
banned.add("Rebirth");
banned.add("Secret Summoning");
banned.add("Secrets of Paradise");
banned.add("Sensei's Divining Top"); banned.add("Sensei's Divining Top");
banned.add("Sentinel Dispatch");
banned.add("Shahrazad");
banned.add("Skullclamp"); banned.add("Skullclamp");
banned.add("Sol Ring"); banned.add("Sol Ring");
banned.add("Stone-Throwing Devils");
banned.add("Strip Mine"); banned.add("Strip Mine");
banned.add("Survival of the Fittest"); banned.add("Survival of the Fittest");
banned.add("Tempest Efreet"); banned.add("Timetwister");
banned.add("Time Vault"); banned.add("Time Vault");
banned.add("Time Walk"); banned.add("Time Walk");
banned.add("Timetwister");
banned.add("Timmerian Fiends");
banned.add("Tinker"); banned.add("Tinker");
banned.add("Tolarian Academy"); banned.add("Tolarian Academy");
banned.add("Treasure Cruise"); banned.add("Treasure Cruise");
banned.add("Underworld Breach"); banned.add("Underworld Breach");
banned.add("Unexpected Potential");
banned.add("Vampiric Tutor"); banned.add("Vampiric Tutor");
banned.add("Wheel of Fortune"); banned.add("Wheel of Fortune");
banned.add("Windfall"); banned.add("Windfall");
banned.add("Worldknit");
banned.add("Wrenn and Six"); banned.add("Wrenn and Six");
banned.add("Yawgmoth's Bargain"); banned.add("Yawgmoth's Bargain");
banned.add("Yawgmoth's Will"); banned.add("Yawgmoth's Will");

View file

@ -4,6 +4,7 @@ import mage.abilities.Ability;
import mage.abilities.keyword.PartnerAbility; import mage.abilities.keyword.PartnerAbility;
import mage.abilities.keyword.PartnerWithAbility; import mage.abilities.keyword.PartnerWithAbility;
import mage.cards.Card; import mage.cards.Card;
import mage.cards.decks.Constructed;
import mage.cards.decks.Deck; import mage.cards.decks.Deck;
import mage.cards.decks.DeckValidatorErrorType; import mage.cards.decks.DeckValidatorErrorType;
import mage.constants.CardType; import mage.constants.CardType;
@ -15,7 +16,7 @@ import java.util.*;
/** /**
* @author JayDi85 * @author JayDi85
*/ */
public class Oathbreaker extends Vintage { public class Oathbreaker extends Constructed {
protected List<String> bannedCommander = new ArrayList<>(); protected List<String> bannedCommander = new ArrayList<>();
private static final Map<String, Integer> pdAllowed = new HashMap<>(); private static final Map<String, Integer> pdAllowed = new HashMap<>();
@ -30,21 +31,14 @@ public class Oathbreaker extends Vintage {
banned.add("Biorhythm"); banned.add("Biorhythm");
banned.add("Black Lotus"); banned.add("Black Lotus");
banned.add("Channel"); banned.add("Channel");
banned.add("Chaos Orb");
banned.add("Cleanse");
banned.add("Crusade");
banned.add("Dark Ritual"); banned.add("Dark Ritual");
banned.add("Doomsday"); banned.add("Doomsday");
banned.add("Emrakul, the Aeons Torn"); banned.add("Emrakul, the Aeons Torn");
banned.add("Expropriate"); banned.add("Expropriate");
banned.add("Falling Star");
banned.add("Fastbond"); banned.add("Fastbond");
banned.add("Gifts Ungiven"); banned.add("Gifts Ungiven");
banned.add("Griselbrand"); banned.add("Griselbrand");
banned.add("High Tide"); banned.add("High Tide");
banned.add("Imprison");
banned.add("Invoke Prejudice");
banned.add("Jihad");
banned.add("Jeweled Lotus"); banned.add("Jeweled Lotus");
banned.add("Library of Alexandria"); banned.add("Library of Alexandria");
banned.add("Limited Resources"); banned.add("Limited Resources");
@ -60,12 +54,9 @@ public class Oathbreaker extends Vintage {
banned.add("Natural Order"); banned.add("Natural Order");
banned.add("Painter's Servant"); banned.add("Painter's Servant");
banned.add("Panoptic Mirror"); banned.add("Panoptic Mirror");
banned.add("Pradesh Gypsies");
banned.add("Primal Surge"); banned.add("Primal Surge");
banned.add("Saheeli, the Gifted"); banned.add("Saheeli, the Gifted");
banned.add("Shahrazad");
banned.add("Sol Ring"); banned.add("Sol Ring");
banned.add("Stone-Throwing Devils");
banned.add("Sundering Titan"); banned.add("Sundering Titan");
banned.add("Sylvan Primordial"); banned.add("Sylvan Primordial");
banned.add("Time Vault"); banned.add("Time Vault");

View file

@ -1,20 +1,16 @@
package mage.deck; package mage.deck;
import mage.cards.ExpansionSet;
import mage.cards.Sets;
import mage.cards.decks.Constructed; import mage.cards.decks.Constructed;
import mage.constants.SetType;
/** /**
* This class validates a deck for the Old School 93/94 format. * This class validates a deck for the Old School 93/94 format.
* * <p>
* This was originally made to follow the deck construction rules found at the * This was originally made to follow the deck construction rules found at the
* Old School Mtg blog found at: * Old School Mtg blog found at:
* http://oldschool-mtg.blogspot.com/p/banrestriction.html * http://oldschool-mtg.blogspot.com/p/banrestriction.html
* * <p>
* There is no mana burn in this version of old school. * There is no mana burn in this version of old school.
* * <p>
* If there are any questions or corrections, feel free to contact me. * If there are any questions or corrections, feel free to contact me.
* *
* @author Marthinwurer (at gmail.com) * @author Marthinwurer (at gmail.com)
@ -33,31 +29,6 @@ public class OldSchool9394 extends Constructed {
setCodes.add(mage.sets.Legends.getInstance().getCode()); setCodes.add(mage.sets.Legends.getInstance().getCode());
setCodes.add(mage.sets.TheDark.getInstance().getCode()); setCodes.add(mage.sets.TheDark.getInstance().getCode());
// ante cards and conspiracies banned, with specifically mentioned ones called out.
banned.add("Advantageous Proclamation");
banned.add("Amulet of Quoz");
banned.add("Backup Plan");
banned.add("Brago's Favor");
banned.add("Bronze Tablet"); ///
banned.add("Contract from Below"); ///
banned.add("Darkpact"); ///
banned.add("Demonic Attorney"); ///
banned.add("Double Stroke");
banned.add("Immediate Action");
banned.add("Iterative Analysis");
banned.add("Jeweled Bird"); ///
banned.add("Muzzio's Preparations");
banned.add("Power Play");
banned.add("Rebirth"); ///
banned.add("Secret Summoning");
banned.add("Secrets of Paradise");
banned.add("Sentinel Dispatch");
banned.add("Shahrazad");
banned.add("Tempest Efreet"); ///
banned.add("Timmerian Fiends");
banned.add("Unexpected Potential");
banned.add("Worldknit");
restricted.add("Ancestral Recall"); restricted.add("Ancestral Recall");
restricted.add("Balance"); restricted.add("Balance");
restricted.add("Black Lotus"); restricted.add("Black Lotus");
@ -82,6 +53,5 @@ public class OldSchool9394 extends Constructed {
restricted.add("Time Walk"); restricted.add("Time Walk");
restricted.add("Timetwister"); restricted.add("Timetwister");
restricted.add("Wheel of Fortune"); restricted.add("Wheel of Fortune");
} }
} }

View file

@ -29,30 +29,6 @@ public class OldSchool9394CFB extends Constructed {
setCodes.add(mage.sets.TheDark.getInstance().getCode()); setCodes.add(mage.sets.TheDark.getInstance().getCode());
setCodes.add(mage.sets.FallenEmpires.getInstance().getCode()); setCodes.add(mage.sets.FallenEmpires.getInstance().getCode());
// ante cards and conspiracies banned, with specifically mentioned ones called out.
banned.add("Advantageous Proclamation");
banned.add("Amulet of Quoz");
banned.add("Backup Plan");
banned.add("Brago's Favor");
banned.add("Bronze Tablet"); ///
banned.add("Contract from Below"); ///
banned.add("Darkpact"); ///
banned.add("Demonic Attorney"); ///
banned.add("Double Stroke");
banned.add("Immediate Action");
banned.add("Iterative Analysis");
banned.add("Jeweled Bird"); ///
banned.add("Muzzio's Preparations");
banned.add("Power Play");
banned.add("Rebirth"); ///
banned.add("Secret Summoning");
banned.add("Secrets of Paradise");
banned.add("Sentinel Dispatch");
banned.add("Tempest Efreet"); ///
banned.add("Timmerian Fiends");
banned.add("Unexpected Potential");
banned.add("Worldknit");
//Let Media Inserts Arena and Sewers of Estark being only cards playable //Let Media Inserts Arena and Sewers of Estark being only cards playable
banned.add("Acquire"); banned.add("Acquire");
banned.add("Aeronaut Tinkerer"); banned.add("Aeronaut Tinkerer");

View file

@ -29,31 +29,6 @@ public class OldSchool9394EC extends Constructed {
setCodes.add(mage.sets.TheDark.getInstance().getCode()); setCodes.add(mage.sets.TheDark.getInstance().getCode());
setCodes.add(mage.sets.FallenEmpires.getInstance().getCode()); setCodes.add(mage.sets.FallenEmpires.getInstance().getCode());
// ante cards and conspiracies banned, with specifically mentioned ones called out.
banned.add("Advantageous Proclamation");
banned.add("Amulet of Quoz");
banned.add("Backup Plan");
banned.add("Brago's Favor");
banned.add("Bronze Tablet"); ///
banned.add("Contract from Below"); ///
banned.add("Darkpact"); ///
banned.add("Demonic Attorney"); ///
banned.add("Double Stroke");
banned.add("Immediate Action");
banned.add("Iterative Analysis");
banned.add("Jeweled Bird"); ///
banned.add("Muzzio's Preparations");
banned.add("Power Play");
banned.add("Rebirth"); ///
banned.add("Secret Summoning");
banned.add("Secrets of Paradise");
banned.add("Sentinel Dispatch");
banned.add("Shahrazad");
banned.add("Tempest Efreet"); ///
banned.add("Timmerian Fiends");
banned.add("Unexpected Potential");
banned.add("Worldknit");
//Let Media Inserts Arena and Sewers of Estark being only cards playable //Let Media Inserts Arena and Sewers of Estark being only cards playable
banned.add("Acquire"); banned.add("Acquire");
banned.add("Aeronaut Tinkerer"); banned.add("Aeronaut Tinkerer");
@ -262,5 +237,4 @@ public class OldSchool9394EC extends Constructed {
restricted.add("Timetwister"); restricted.add("Timetwister");
restricted.add("Wheel of Fortune"); restricted.add("Wheel of Fortune");
} }
} }

View file

@ -1,19 +1,15 @@
package mage.deck; package mage.deck;
import mage.cards.ExpansionSet;
import mage.cards.Sets;
import mage.cards.decks.Constructed; import mage.cards.decks.Constructed;
import mage.constants.SetType;
/** /**
* This class validates a deck for the Old School 93/94 format, specifically the * This class validates a deck for the Old School 93/94 format, specifically the
* EudoGames Rules. * EudoGames Rules.
* * <p>
* This was originally made to follow the deck construction rules found at the * This was originally made to follow the deck construction rules found at the
* Old School Mtg blog found at: * Old School Mtg blog found at:
* http://oldschool-mtg.blogspot.com/p/banrestriction.html * http://oldschool-mtg.blogspot.com/p/banrestriction.html
* * <p>
* There is no mana burn in this version of old school. * There is no mana burn in this version of old school.
* *
* @author jmharmon * @author jmharmon
@ -23,7 +19,7 @@ public class OldSchool9394EG extends Constructed {
public OldSchool9394EG() { public OldSchool9394EG() {
super("Constructed - Old School 93/94 - EudoGames Rules"); super("Constructed - Old School 93/94 - EudoGames Rules");
// use the set instances to make sure that we get the correct set codes // use the set instances to make sure that we get the correct set codes
setCodes.add(mage.sets.LimitedEditionAlpha.getInstance().getCode()); setCodes.add(mage.sets.LimitedEditionAlpha.getInstance().getCode());
setCodes.add(mage.sets.LimitedEditionBeta.getInstance().getCode()); setCodes.add(mage.sets.LimitedEditionBeta.getInstance().getCode());
setCodes.add(mage.sets.UnlimitedEdition.getInstance().getCode()); setCodes.add(mage.sets.UnlimitedEdition.getInstance().getCode());
@ -35,31 +31,6 @@ public class OldSchool9394EG extends Constructed {
setCodes.add(mage.sets.FallenEmpires.getInstance().getCode()); setCodes.add(mage.sets.FallenEmpires.getInstance().getCode());
setCodes.add(mage.sets.Chronicles.getInstance().getCode()); setCodes.add(mage.sets.Chronicles.getInstance().getCode());
// ante cards and conspiracies banned, with specifically mentioned ones called out.
banned.add("Advantageous Proclamation");
banned.add("Amulet of Quoz");
banned.add("Backup Plan");
banned.add("Brago's Favor");
banned.add("Bronze Tablet"); ///
banned.add("Contract from Below"); ///
banned.add("Darkpact"); ///
banned.add("Demonic Attorney"); ///
banned.add("Double Stroke");
banned.add("Immediate Action");
banned.add("Iterative Analysis");
banned.add("Jeweled Bird"); ///
banned.add("Muzzio's Preparations");
banned.add("Power Play");
banned.add("Rebirth"); ///
banned.add("Secret Summoning");
banned.add("Secrets of Paradise");
banned.add("Sentinel Dispatch");
banned.add("Shahrazad");
banned.add("Tempest Efreet"); ///
banned.add("Timmerian Fiends");
banned.add("Unexpected Potential");
banned.add("Worldknit");
restricted.add("Ancestral Recall"); restricted.add("Ancestral Recall");
restricted.add("Balance"); restricted.add("Balance");
restricted.add("Black Lotus"); restricted.add("Black Lotus");
@ -88,5 +59,4 @@ public class OldSchool9394EG extends Constructed {
restricted.add("Timetwister"); restricted.add("Timetwister");
restricted.add("Wheel of Fortune"); restricted.add("Wheel of Fortune");
} }
} }

View file

@ -1,24 +1,21 @@
package mage.deck; package mage.deck;
import mage.cards.ExpansionSet;
import mage.cards.Sets;
import mage.cards.decks.Constructed; import mage.cards.decks.Constructed;
import mage.constants.SetType;
/** /**
* This class validates a deck for the Old School 93/94 format, specifically for * This class validates a deck for the Old School 93/94 format, specifically for
* the Italian Rules. * the Italian Rules.
* * <p>
* This was originally made to follow the deck construction rules found at the * This was originally made to follow the deck construction rules found at the
* Old School Mtg blog found at: * Old School Mtg blog found at:
* http://oldschool-mtg.blogspot.com/p/banrestriction.html * http://oldschool-mtg.blogspot.com/p/banrestriction.html
* * <p>
* There is no mana burn in this version of old school * There is no mana burn in this version of old school
* *
* @author jmharmon * @author jmharmon
*/ */
public class OldSchool9394Italian extends Constructed{ public class OldSchool9394Italian extends Constructed {
public OldSchool9394Italian() { public OldSchool9394Italian() {
super("Constructed - Old School 93/94 - Italian Rules"); super("Constructed - Old School 93/94 - Italian Rules");
@ -33,31 +30,6 @@ public class OldSchool9394Italian extends Constructed{
setCodes.add(mage.sets.TheDark.getInstance().getCode()); setCodes.add(mage.sets.TheDark.getInstance().getCode());
setCodes.add(mage.sets.RevisedEdition.getInstance().getCode()); setCodes.add(mage.sets.RevisedEdition.getInstance().getCode());
// ante cards and conspiracies banned, with specifically mentioned ones called out.
banned.add("Advantageous Proclamation");
banned.add("Amulet of Quoz");
banned.add("Backup Plan");
banned.add("Brago's Favor");
banned.add("Bronze Tablet"); ///
banned.add("Contract from Below"); ///
banned.add("Darkpact"); ///
banned.add("Demonic Attorney"); ///
banned.add("Double Stroke");
banned.add("Immediate Action");
banned.add("Iterative Analysis");
banned.add("Jeweled Bird"); ///
banned.add("Muzzio's Preparations");
banned.add("Power Play");
banned.add("Rebirth"); ///
banned.add("Secret Summoning");
banned.add("Secrets of Paradise");
banned.add("Sentinel Dispatch");
banned.add("Shahrazad");
banned.add("Tempest Efreet"); ///
banned.add("Timmerian Fiends");
banned.add("Unexpected Potential");
banned.add("Worldknit");
restricted.add("Ancestral Recall"); restricted.add("Ancestral Recall");
restricted.add("Balance"); restricted.add("Balance");
restricted.add("Black Lotus"); restricted.add("Black Lotus");
@ -82,6 +54,5 @@ public class OldSchool9394Italian extends Constructed{
restricted.add("Time Walk"); restricted.add("Time Walk");
restricted.add("Timetwister"); restricted.add("Timetwister");
restricted.add("Wheel of Fortune"); restricted.add("Wheel of Fortune");
} }
} }

View file

@ -3,7 +3,6 @@ package mage.deck;
import mage.cards.decks.Constructed; import mage.cards.decks.Constructed;
/** /**
*
* @author jmharmon * @author jmharmon
*/ */
@ -44,10 +43,8 @@ public class Premodern extends Constructed {
setCodes.add(mage.sets.Scourge.getInstance().getCode()); setCodes.add(mage.sets.Scourge.getInstance().getCode());
// Ban List // Ban List
banned.add("Amulet of Quoz");
banned.add("Balance"); banned.add("Balance");
banned.add("Brainstorm"); banned.add("Brainstorm");
banned.add("Bronze Tablet");
banned.add("Channel"); banned.add("Channel");
banned.add("Demonic Consultation"); banned.add("Demonic Consultation");
banned.add("Earthcraft"); banned.add("Earthcraft");
@ -56,25 +53,21 @@ public class Premodern extends Constructed {
banned.add("Force of Will"); banned.add("Force of Will");
banned.add("Goblin Recruiter"); banned.add("Goblin Recruiter");
banned.add("Grim Monolith"); banned.add("Grim Monolith");
banned.add("Jeweled Bird");
banned.add("Mana Vault"); banned.add("Mana Vault");
banned.add("Memory Jar"); banned.add("Memory Jar");
banned.add("Mind Twist");
banned.add("Mind's Desire"); banned.add("Mind's Desire");
banned.add("Mind Twist");
banned.add("Mystical Tutor"); banned.add("Mystical Tutor");
banned.add("Necropotence"); banned.add("Necropotence");
banned.add("Rebirth");
banned.add("Show and Tell"); banned.add("Show and Tell");
banned.add("Strip Mine"); banned.add("Strip Mine");
banned.add("Tempest Efreet");
banned.add("Tendrils of Agony"); banned.add("Tendrils of Agony");
banned.add("Time Spiral"); banned.add("Time Spiral");
banned.add("Timmerian Fiends");
banned.add("Tolarian Academy"); banned.add("Tolarian Academy");
banned.add("Vampiric Tutor"); banned.add("Vampiric Tutor");
banned.add("Windfall"); banned.add("Windfall");
banned.add("Worldgorger Dragon"); banned.add("Worldgorger Dragon");
banned.add("Yawgmoth's Will");
banned.add("Yawgmoth's Bargain"); banned.add("Yawgmoth's Bargain");
banned.add("Yawgmoth's Will");
} }
} }

View file

@ -59,7 +59,6 @@ public class TinyLeaders extends Constructed {
banned.add("Mox Sapphire"); banned.add("Mox Sapphire");
banned.add("Najeela, the Blade-Blossom"); banned.add("Najeela, the Blade-Blossom");
banned.add("Necropotence"); banned.add("Necropotence");
banned.add("Shahrazad");
banned.add("Sisay, Weatherlight Captain"); banned.add("Sisay, Weatherlight Captain");
banned.add("Skullclamp"); banned.add("Skullclamp");
banned.add("Sol Ring"); banned.add("Sol Ring");

View file

@ -10,49 +10,12 @@ import mage.cards.decks.Constructed;
public class Vintage extends Constructed { public class Vintage extends Constructed {
public Vintage() { public Vintage() {
this("Constructed - Vintage"); super("Constructed - Vintage");
}
protected Vintage(String name) {
super(name);
for (ExpansionSet set : Sets.getInstance().values()) { for (ExpansionSet set : Sets.getInstance().values()) {
if (set.getSetType().isEternalLegal()) { if (set.getSetType().isEternalLegal()) {
setCodes.add(set.getCode()); setCodes.add(set.getCode());
} }
} }
banned.add("Advantageous Proclamation");
banned.add("Amulet of Quoz");
banned.add("Backup Plan");
banned.add("Brago's Favor");
banned.add("Bronze Tablet");
banned.add("Chaos Orb");
banned.add("Cleanse");
banned.add("Crusade");
banned.add("Contract from Below");
banned.add("Darkpact");
banned.add("Demonic Attorney");
banned.add("Double Stroke");
banned.add("Falling Star");
banned.add("Immediate Action");
banned.add("Imprison");
banned.add("Invoke Prejudice");
banned.add("Iterative Analysis");
banned.add("Jeweled Bird");
banned.add("Jihad");
banned.add("Muzzio's Preparations");
banned.add("Power Play");
banned.add("Pradesh Gypsies");
banned.add("Rebirth");
banned.add("Secret Summoning");
banned.add("Secrets of Paradise");
banned.add("Sentinel Dispatch");
banned.add("Shahrazad");
banned.add("Stone-Throwing Devils");
banned.add("Tempest Efreet");
banned.add("Timmerian Fiends");
banned.add("Unexpected Potential");
banned.add("Worldknit");
restricted.add("Ancestral Recall"); restricted.add("Ancestral Recall");
restricted.add("Balance"); restricted.add("Balance");
restricted.add("Black Lotus"); restricted.add("Black Lotus");

View file

@ -36,6 +36,59 @@ public class Constructed extends DeckValidator {
protected Constructed(String name, String shortName) { protected Constructed(String name, String shortName) {
super(name, shortName); super(name, shortName);
// Conspiracy cards are banned
banned.add("Adriana's Valor");
banned.add("Advantageous Proclamation");
banned.add("Assemble the Rank and Vile");
banned.add("Backup Plan");
banned.add("Brago's Favor");
banned.add("Double Stroke");
banned.add("Echoing Boon");
banned.add("Emissary's Ploy");
banned.add("Hired Heist");
banned.add("Hold the Perimeter");
banned.add("Hymn of the Wilds");
banned.add("Immediate Action");
banned.add("Incendiary Dissent");
banned.add("Iterative Analysis");
banned.add("Muzzio's Preparations");
banned.add("Natural Unity");
banned.add("Power Play");
banned.add("Secrets of Paradise");
banned.add("Secret Summoning");
banned.add("Sentinel Dispatch");
banned.add("Sovereign's Realm");
banned.add("Summoner's Bond");
banned.add("Unexpected Potential");
banned.add("Weight Advantage");
banned.add("Worldknit");
// Dexterity cards are banned
banned.add("Chaos Orb");
banned.add("Falling Star");
// Sub-game cards are banned
banned.add("Shahrazad");
// Ante cards are banned
banned.add("Amulet of Quoz");
banned.add("Bronze Tablet");
banned.add("Contract from Below");
banned.add("Darkpact");
banned.add("Demonic Attorney");
banned.add("Jeweled Bird");
banned.add("Rebirth");
banned.add("Tempest Efreet");
banned.add("Timmerian Fiends");
// Potentially offensive cards are banned
banned.add("Cleanse");
banned.add("Crusade");
banned.add("Imprison");
banned.add("Invoke Prejudice");
banned.add("Jihad");
banned.add("Pradesh Gypsies");
banned.add("Stone-Throwing Devils");
} }
public List<String> getSetCodes() { public List<String> getSetCodes() {