mirror of
https://github.com/magefree/mage.git
synced 2025-12-20 10:40:06 -08:00
Added MBS (sets, Collection Viewer, Downloader).
This commit is contained in:
parent
8718b3ed3e
commit
2a2f3a0ceb
5 changed files with 301 additions and 231 deletions
|
|
@ -2,10 +2,7 @@ package mage.client.cards;
|
||||||
|
|
||||||
import mage.Constants;
|
import mage.Constants;
|
||||||
import mage.cards.Card;
|
import mage.cards.Card;
|
||||||
import mage.cards.CardImpl;
|
|
||||||
import mage.cards.CardsImpl;
|
|
||||||
import mage.cards.ExpansionSet;
|
import mage.cards.ExpansionSet;
|
||||||
import mage.sets.ScarsOfMirrodin;
|
|
||||||
import mage.sets.Sets;
|
import mage.sets.Sets;
|
||||||
import mage.utils.CardUtil;
|
import mage.utils.CardUtil;
|
||||||
|
|
||||||
|
|
@ -19,13 +16,13 @@ import java.util.*;
|
||||||
* @author nantuko
|
* @author nantuko
|
||||||
*/
|
*/
|
||||||
public class CardsStorage {
|
public class CardsStorage {
|
||||||
private static List<Card> allCards = new ArrayList<Card>();
|
private static List<Card> allCards = new ArrayList<Card>();
|
||||||
private static Set<Card> nonBasicLandCards = new LinkedHashSet<Card>();
|
private static Set<Card> nonBasicLandCards = new LinkedHashSet<Card>();
|
||||||
private static Map<String, Integer> ratings;
|
private static Map<String, Integer> ratings;
|
||||||
private static Integer min = Integer.MAX_VALUE, max = 0;
|
private static Integer min = Integer.MAX_VALUE, max = 0;
|
||||||
private static int cardsCount;
|
private static int cardsCount;
|
||||||
private static List<String> setCodes = new ArrayList<String>();
|
private static List<String> setCodes = new ArrayList<String>();
|
||||||
private static List<Card> notImplementedCards;
|
private static List<Card> notImplementedCards;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Rating that is given for new cards.
|
* Rating that is given for new cards.
|
||||||
|
|
@ -33,233 +30,248 @@ public class CardsStorage {
|
||||||
*/
|
*/
|
||||||
private static final int DEFAULT_NOT_RATED_CARD_RATING = 6;
|
private static final int DEFAULT_NOT_RATED_CARD_RATING = 6;
|
||||||
|
|
||||||
static {
|
static {
|
||||||
for (ExpansionSet set : Sets.getInstance().values()) {
|
for (ExpansionSet set : Sets.getInstance().values()) {
|
||||||
setCodes.add(set.getCode());
|
setCodes.add(set.getCode());
|
||||||
Set<Card> cards = set.createCards();
|
Set<Card> cards = set.createCards();
|
||||||
allCards.addAll(cards);
|
allCards.addAll(cards);
|
||||||
for (Card card : cards) {
|
for (Card card : cards) {
|
||||||
if (CardUtil.isLand(card) && !CardUtil.isBasicLand(card)) {
|
if (CardUtil.isLand(card) && !CardUtil.isBasicLand(card)) {
|
||||||
nonBasicLandCards.add(card);
|
nonBasicLandCards.add(card);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Collections.sort(allCards, new CardComparator());
|
Collections.sort(allCards, new CardComparator());
|
||||||
Collections.sort(setCodes, new SetComparator());
|
Collections.sort(setCodes, new SetComparator());
|
||||||
cardsCount = allCards.size();
|
cardsCount = allCards.size();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static List<Card> getAllCards() {
|
public static List<Card> getAllCards() {
|
||||||
return allCards;
|
return allCards;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get cards from card pool starting from start index and ending with end index.
|
* Get cards from card pool starting from start index and ending with end index.
|
||||||
* Can filter cards by set (if parameter is not null).
|
* Can filter cards by set (if parameter is not null).
|
||||||
*
|
*
|
||||||
* @param start
|
* @param start
|
||||||
* @param end
|
* @param end
|
||||||
* @param set Cards set code. Can be null.
|
* @param set Cards set code. Can be null.
|
||||||
* @param onlyImplemented return only implemented cards
|
* @param onlyImplemented return only implemented cards
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public static List<Card> getAllCards(int start, int end, String set, boolean onlyImplemented) {
|
public static List<Card> getAllCards(int start, int end, String set, boolean onlyImplemented) {
|
||||||
List<Card> cards = new ArrayList<Card>();
|
List<Card> cards = new ArrayList<Card>();
|
||||||
List<Card> pool;
|
List<Card> pool;
|
||||||
if (set == null) {
|
if (set == null) {
|
||||||
pool = allCards;
|
pool = allCards;
|
||||||
} else {
|
} else {
|
||||||
pool = new ArrayList<Card>();
|
pool = new ArrayList<Card>();
|
||||||
for (Card card : allCards) {
|
for (Card card : allCards) {
|
||||||
if (card.getExpansionSetCode().equals(set)) {
|
if (card.getExpansionSetCode().equals(set)) {
|
||||||
pool.add(card);
|
pool.add(card);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (!onlyImplemented) {
|
if (!onlyImplemented) {
|
||||||
for (Card card : getNotImplementedCards()) {
|
for (Card card : getNotImplementedCards()) {
|
||||||
if (card.getExpansionSetCode().equals(set)) {
|
if (card.getExpansionSetCode().equals(set)) {
|
||||||
pool.add(card);
|
pool.add(card);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Collections.sort(pool, new CardComparator());
|
Collections.sort(pool, new CardComparator());
|
||||||
}
|
}
|
||||||
for (int i = start; i < Math.min(end + 1, pool.size()); i++) {
|
for (int i = start; i < Math.min(end + 1, pool.size()); i++) {
|
||||||
cards.add(pool.get(i));
|
cards.add(pool.get(i));
|
||||||
}
|
}
|
||||||
return cards;
|
return cards;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static int getCardsCount() {
|
public static int getCardsCount() {
|
||||||
return cardsCount;
|
return cardsCount;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static List<String> getSetCodes() {
|
public static List<String> getSetCodes() {
|
||||||
return setCodes;
|
return setCodes;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Set<Card> getNonBasicLandCards() {
|
public static Set<Card> getNonBasicLandCards() {
|
||||||
return nonBasicLandCards;
|
return nonBasicLandCards;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Return rating of a card: 1-10.
|
* Return rating of a card: 1-10.
|
||||||
*
|
*
|
||||||
* @param card
|
* @param card
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public static int rateCard(Card card) {
|
public static int rateCard(Card card) {
|
||||||
if (ratings == null) {
|
if (ratings == null) {
|
||||||
readRatings();
|
readRatings();
|
||||||
}
|
}
|
||||||
if (ratings.containsKey(card.getName())) {
|
if (ratings.containsKey(card.getName())) {
|
||||||
int r = ratings.get(card.getName());
|
int r = ratings.get(card.getName());
|
||||||
float f = 10.0f * (r - min) / (max - min);
|
float f = 10.0f * (r - min) / (max - min);
|
||||||
// normalize to [1..10]
|
// normalize to [1..10]
|
||||||
return (int) Math.round(f);
|
return (int) Math.round(f);
|
||||||
}
|
}
|
||||||
return DEFAULT_NOT_RATED_CARD_RATING;
|
return DEFAULT_NOT_RATED_CARD_RATING;
|
||||||
}
|
}
|
||||||
|
|
||||||
private synchronized static void readRatings() {
|
private synchronized static void readRatings() {
|
||||||
if (ratings == null) {
|
if (ratings == null) {
|
||||||
ratings = new HashMap<String, Integer>();
|
ratings = new HashMap<String, Integer>();
|
||||||
String filename = "/ratings.txt";
|
String filename = "/ratings.txt";
|
||||||
try {
|
try {
|
||||||
InputStream is = CardsStorage.class.getResourceAsStream(filename);
|
InputStream is = CardsStorage.class.getResourceAsStream(filename);
|
||||||
Scanner scanner = new Scanner(is);
|
Scanner scanner = new Scanner(is);
|
||||||
while (scanner.hasNextLine()) {
|
while (scanner.hasNextLine()) {
|
||||||
String line = scanner.nextLine();
|
String line = scanner.nextLine();
|
||||||
String[] s = line.split(":");
|
String[] s = line.split(":");
|
||||||
if (s.length == 2) {
|
if (s.length == 2) {
|
||||||
Integer rating = Integer.parseInt(s[0].trim());
|
Integer rating = Integer.parseInt(s[0].trim());
|
||||||
String name = s[1].trim();
|
String name = s[1].trim();
|
||||||
if (rating > max) {
|
if (rating > max) {
|
||||||
max = rating;
|
max = rating;
|
||||||
}
|
}
|
||||||
if (rating < min) {
|
if (rating < min) {
|
||||||
min = rating;
|
min = rating;
|
||||||
}
|
}
|
||||||
ratings.put(name, rating);
|
ratings.put(name, rating);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
ratings.clear(); // no rating available on exception
|
ratings.clear(); // no rating available on exception
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get list of not implemented cards.
|
* Get list of not implemented cards.
|
||||||
* Used in collection viewer to show what cards need to be done for the latest set.
|
* Used in collection viewer to show what cards need to be done for the latest set.
|
||||||
*
|
*
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public static List<Card> getNotImplementedCards() {
|
public static List<Card> getNotImplementedCards() {
|
||||||
List<Card> cards = new ArrayList<Card>();
|
List<Card> cards = new ArrayList<Card>();
|
||||||
if (notImplementedCards == null) {
|
if (notImplementedCards == null) {
|
||||||
String filename = "/som.txt";
|
String filename = "/som.txt";
|
||||||
if (allCards.size() == 0) {
|
if (allCards.size() == 0) {
|
||||||
return cards;
|
return cards;
|
||||||
}
|
}
|
||||||
Card tmp = allCards.get(0);
|
|
||||||
Set<String> names = new HashSet<String>();
|
|
||||||
for (Card card : allCards) {
|
|
||||||
names.add(card.getExpansionSetCode() + card.getName());
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
InputStream is = CardsStorage.class.getResourceAsStream(filename);
|
|
||||||
Scanner scanner = new Scanner(is);
|
|
||||||
String set = "SOM";
|
|
||||||
while (scanner.hasNextLine()) {
|
|
||||||
String line = scanner.nextLine();
|
|
||||||
String[] s = line.split("\\|");
|
|
||||||
if (s.length == 6) {
|
|
||||||
String name = s[1].trim();
|
|
||||||
if (!names.contains(set + name)) {
|
|
||||||
Integer cid = Integer.parseInt(s[5]);
|
|
||||||
Card card = tmp.copy();
|
|
||||||
card.setName(name);
|
|
||||||
card.setExpansionSetCode(set);
|
|
||||||
card.setCardNumber(cid);
|
|
||||||
card.setRarity(Constants.Rarity.NA); // mark as not implemented
|
|
||||||
card.getCardType().clear();
|
|
||||||
cards.add(card);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} catch (Exception e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
names.clear();
|
|
||||||
names = null;
|
|
||||||
}
|
|
||||||
return cards;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void main(String[] argv) {
|
Set<String> names = new HashSet<String>();
|
||||||
for (Card card : getAllCards()) {
|
for (Card card : allCards) {
|
||||||
String name = card.getName();
|
names.add(card.getExpansionSetCode() + card.getName());
|
||||||
if (name.equals("Baneslayer Angel") || name.equals("Lightning Bolt") || name.equals("Zombie Outlander")
|
}
|
||||||
|| name.equals("Naturalize") || name.equals("Kraken's Eye") || name.equals("Serra Angel")) {
|
|
||||||
System.out.println(name + " : " + rateCard(card));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
readUnimplemented("SOM", "/som.txt", names, cards);
|
||||||
* Card comparator.
|
readUnimplemented("MBS", "/mbs.txt", names, cards);
|
||||||
* First compares set codes, then collector ids and just then card names.
|
|
||||||
* <p/>
|
|
||||||
* Show latest set cards on top.
|
|
||||||
*
|
|
||||||
* @author nantuko
|
|
||||||
*/
|
|
||||||
private static class CardComparator implements Comparator<Card> {
|
|
||||||
private static final String LATEST_SET_CODE = "SOM";
|
|
||||||
|
|
||||||
@Override
|
names.clear();
|
||||||
public int compare(Card o1, Card o2) {
|
names = null;
|
||||||
String set1 = o1.getExpansionSetCode();
|
}
|
||||||
String set2 = o2.getExpansionSetCode();
|
return cards;
|
||||||
if (set1.equals(set2)) {
|
}
|
||||||
Integer cid1 = o1.getCardNumber();
|
|
||||||
Integer cid2 = o2.getCardNumber();
|
|
||||||
if (cid1 == cid2) {
|
|
||||||
return o1.getName().compareTo(o2.getName());
|
|
||||||
} else {
|
|
||||||
return cid1.compareTo(cid2);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
// put latest set on top
|
|
||||||
if (set1.equals(LATEST_SET_CODE)) {
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
if (set2.equals(LATEST_SET_CODE)) {
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
return set1.compareTo(set2);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
private static void readUnimplemented(String set, String filename, Set<String> names, List<Card> cards) {
|
||||||
* Set comparator. Puts latest set on top.
|
try {
|
||||||
*/
|
Card tmp = allCards.get(0);
|
||||||
private static class SetComparator implements Comparator<String> {
|
InputStream is = CardsStorage.class.getResourceAsStream(filename);
|
||||||
private static final String LATEST_SET_CODE = "SOM";
|
Scanner scanner = new Scanner(is);
|
||||||
|
while (scanner.hasNextLine()) {
|
||||||
|
String line = scanner.nextLine();
|
||||||
|
String[] s = line.split("\\|");
|
||||||
|
if (s.length == 6) {
|
||||||
|
String name = s[1].trim();
|
||||||
|
if (!names.contains(set + name)) {
|
||||||
|
Integer cid = Integer.parseInt(s[5]);
|
||||||
|
Card card = tmp.copy();
|
||||||
|
card.setName(name);
|
||||||
|
card.setExpansionSetCode(set);
|
||||||
|
card.setCardNumber(cid);
|
||||||
|
card.setRarity(Constants.Rarity.NA); // mark as not implemented
|
||||||
|
card.getCardType().clear();
|
||||||
|
cards.add(card);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
public static void main(String[] argv) {
|
||||||
public int compare(String set1, String set2) {
|
for (Card card : getAllCards()) {
|
||||||
// put latest set on top
|
String name = card.getName();
|
||||||
if (set1.equals(LATEST_SET_CODE)) {
|
if (name.equals("Baneslayer Angel") || name.equals("Lightning Bolt") || name.equals("Zombie Outlander")
|
||||||
return -1;
|
|| name.equals("Naturalize") || name.equals("Kraken's Eye") || name.equals("Serra Angel")) {
|
||||||
}
|
System.out.println(name + " : " + rateCard(card));
|
||||||
if (set2.equals(LATEST_SET_CODE)) {
|
}
|
||||||
return 1;
|
}
|
||||||
}
|
}
|
||||||
return set1.compareTo(set2);
|
|
||||||
}
|
/**
|
||||||
}
|
* Card comparator.
|
||||||
|
* First compares set codes, then collector ids and just then card names.
|
||||||
|
* <p/>
|
||||||
|
* Show latest set cards on top.
|
||||||
|
*
|
||||||
|
* @author nantuko
|
||||||
|
*/
|
||||||
|
private static class CardComparator implements Comparator<Card> {
|
||||||
|
private static final String LATEST_SET_CODE = "SOM";
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int compare(Card o1, Card o2) {
|
||||||
|
String set1 = o1.getExpansionSetCode();
|
||||||
|
String set2 = o2.getExpansionSetCode();
|
||||||
|
if (set1.equals(set2)) {
|
||||||
|
Integer cid1 = o1.getCardNumber();
|
||||||
|
Integer cid2 = o2.getCardNumber();
|
||||||
|
if (cid1 == cid2) {
|
||||||
|
return o1.getName().compareTo(o2.getName());
|
||||||
|
} else {
|
||||||
|
return cid1.compareTo(cid2);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
// put latest set on top
|
||||||
|
if (set1.equals(LATEST_SET_CODE)) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
if (set2.equals(LATEST_SET_CODE)) {
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
return set1.compareTo(set2);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set comparator. Puts latest set on top.
|
||||||
|
*/
|
||||||
|
private static class SetComparator implements Comparator<String> {
|
||||||
|
private static final String LATEST_SET_CODE = "SOM";
|
||||||
|
private static final String LATEST_SET_CODE_2 = "MBS";
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int compare(String set1, String set2) {
|
||||||
|
// put latest set on top
|
||||||
|
if (set1.equals(LATEST_SET_CODE)) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
if (set2.equals(LATEST_SET_CODE)) {
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (set1.equals(LATEST_SET_CODE_2)) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
if (set2.equals(LATEST_SET_CODE_2)) {
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
return set1.compareTo(set2);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -295,10 +295,9 @@ public class MageBook extends JComponent {
|
||||||
private HoverButton pageRight;
|
private HoverButton pageRight;
|
||||||
|
|
||||||
private int currentPage = 0;
|
private int currentPage = 0;
|
||||||
private String currentSet = "SOM";
|
private String currentSet = "MBS";
|
||||||
|
|
||||||
private static CardDimensions cardDimensions = new CardDimensions(1.2d);
|
private static CardDimensions cardDimensions = new CardDimensions(1.2d);
|
||||||
private static Font font = new Font("Arial", Font.PLAIN, 14);
|
|
||||||
private static final Logger log = Logger.getLogger(MageBook.class);
|
private static final Logger log = Logger.getLogger(MageBook.class);
|
||||||
private Dimension cardDimension;
|
private Dimension cardDimension;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -12,9 +12,8 @@ import static org.mage.plugins.card.dl.DownloadJob.toFile;
|
||||||
|
|
||||||
public class GathererSets implements Iterable<DownloadJob> {
|
public class GathererSets implements Iterable<DownloadJob> {
|
||||||
private static final File outDir = new File("plugins/images/sets");
|
private static final File outDir = new File("plugins/images/sets");
|
||||||
private static final String[] symbols = {"DIS", "GPT", "RAV", "MRD",
|
private static final String[] symbols = {"DIS", "GPT", "RAV", "MRD", "10E", "HOP"};
|
||||||
"10E", "HOP"};
|
private static final String[] withMythics = {"ALA", "CFX", "ARB", "ZEN", "WWK", "ROE", "SOM", "M10", "M11", "DDF", "MBS"};
|
||||||
private static final String[] withMythics = {"ALA", "CFX", "ARB", "ZEN", "WWK", "ROE", "SOM", "M10", "M11", "DDF"};
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Iterator<DownloadJob> iterator() {
|
public Iterator<DownloadJob> iterator() {
|
||||||
|
|
|
||||||
59
Mage.Sets/src/mage/sets/MirrodinBesieged.java
Normal file
59
Mage.Sets/src/mage/sets/MirrodinBesieged.java
Normal file
|
|
@ -0,0 +1,59 @@
|
||||||
|
/*
|
||||||
|
* Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved.
|
||||||
|
*
|
||||||
|
* Redistribution and use in source and binary forms, with or without modification, are
|
||||||
|
* permitted provided that the following conditions are met:
|
||||||
|
*
|
||||||
|
* 1. Redistributions of source code must retain the above copyright notice, this list of
|
||||||
|
* conditions and the following disclaimer.
|
||||||
|
*
|
||||||
|
* 2. Redistributions in binary form must reproduce the above copyright notice, this list
|
||||||
|
* of conditions and the following disclaimer in the documentation and/or other materials
|
||||||
|
* provided with the distribution.
|
||||||
|
*
|
||||||
|
* THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED
|
||||||
|
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
||||||
|
* FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR
|
||||||
|
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
|
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||||
|
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
||||||
|
* ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||||
|
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
|
||||||
|
* ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*
|
||||||
|
* The views and conclusions contained in the software and documentation are those of the
|
||||||
|
* authors and should not be interpreted as representing official policies, either expressed
|
||||||
|
* or implied, of BetaSteward_at_googlemail.com.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package mage.sets;
|
||||||
|
|
||||||
|
import mage.Constants.SetType;
|
||||||
|
import mage.cards.ExpansionSet;
|
||||||
|
|
||||||
|
import java.util.GregorianCalendar;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @author nantuko84
|
||||||
|
*/
|
||||||
|
public class MirrodinBesieged extends ExpansionSet {
|
||||||
|
|
||||||
|
private static final MirrodinBesieged fINSTANCE = new MirrodinBesieged();
|
||||||
|
|
||||||
|
public static MirrodinBesieged getInstance() {
|
||||||
|
return fINSTANCE;
|
||||||
|
}
|
||||||
|
|
||||||
|
private MirrodinBesieged() {
|
||||||
|
super("Mirrodin Besieged", "MBS", "seticon_mtgmbs", "mage.sets.mirrodinbesieged", new GregorianCalendar(2011, 02, 4).getTime(), SetType.EXPANSION);
|
||||||
|
this.blockName = "Mirrodin Besieged";
|
||||||
|
this.hasBoosters = true;
|
||||||
|
this.numBoosterLands = 1;
|
||||||
|
this.numBoosterCommon = 10;
|
||||||
|
this.numBoosterUncommon = 3;
|
||||||
|
this.numBoosterRare = 1;
|
||||||
|
this.ratioBoosterMythic = 8;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -69,6 +69,7 @@ public class Sets extends HashMap<String, ExpansionSet> {
|
||||||
this.addSet(Magic2010.getInstance());
|
this.addSet(Magic2010.getInstance());
|
||||||
this.addSet(Magic2011.getInstance());
|
this.addSet(Magic2011.getInstance());
|
||||||
this.addSet(Mirrodin.getInstance());
|
this.addSet(Mirrodin.getInstance());
|
||||||
|
this.addSet(MirrodinBesieged.getInstance());
|
||||||
this.addSet(Planechase.getInstance());
|
this.addSet(Planechase.getInstance());
|
||||||
this.addSet(RavnicaCityOfGuilds.getInstance());
|
this.addSet(RavnicaCityOfGuilds.getInstance());
|
||||||
this.addSet(RiseOfTheEldrazi.getInstance());
|
this.addSet(RiseOfTheEldrazi.getInstance());
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue