Merge pull request #157 from paulsnoops/archive_formats

"Historic" formats re-work - Part 2: Re-name to "Archived"
This commit is contained in:
Chris H
2022-06-22 08:37:17 -04:00
committed by GitHub
970 changed files with 1056 additions and 1042 deletions

View File

@@ -48,7 +48,7 @@ public class GameFormat implements Comparable<GameFormat> {
public enum FormatType {
SANCTIONED,
CASUAL,
HISTORIC,
ARCHIVED,
DIGITAL,
CUSTOM
}
@@ -290,7 +290,7 @@ public class GameFormat implements Comparable<GameFormat> {
if (other.formatSubType != formatSubType){
return formatSubType.compareTo(other.formatSubType);
}
if (formatType.equals(FormatType.HISTORIC)){
if (formatType.equals(FormatType.ARCHIVED)){
int compareDates = this.effectiveDate.compareTo(other.effectiveDate);
if (compareDates != 0)
return compareDates;
@@ -306,7 +306,7 @@ public class GameFormat implements Comparable<GameFormat> {
public static class Reader extends StorageReaderRecursiveFolderWithUserFolder<GameFormat> {
List<GameFormat> naturallyOrdered = new ArrayList<>();
boolean includeHistoric;
boolean includeArchived;
private List<String> coreFormats = new ArrayList<>();
{
coreFormats.add("Standard.txt");
@@ -321,14 +321,14 @@ public class GameFormat implements Comparable<GameFormat> {
coreFormats.add("Oathbreaker.txt");
}
public Reader(File forgeFormats, File customFormats, boolean includeHistoric) {
public Reader(File forgeFormats, File customFormats, boolean includeArchived) {
super(forgeFormats, customFormats, GameFormat.FN_GET_NAME);
this.includeHistoric=includeHistoric;
this.includeArchived=includeArchived;
}
@Override
protected GameFormat read(File file) {
if (!includeHistoric && !coreFormats.contains(file.getName())) {
if (!includeArchived && !coreFormats.contains(file.getName())) {
return null;
}
final Map<String, List<String>> contents = FileSection.parseSections(FileUtil.readFile(file));
@@ -348,7 +348,12 @@ public class GameFormat implements Comparable<GameFormat> {
try {
formatType = FormatType.valueOf(section.get("type").toUpperCase());
} catch (Exception e) {
formatType = FormatType.CUSTOM;
if ("HISTORIC".equals(section.get("type").toUpperCase())) {
System.out.println("Historic is no longer used as a format Type. Please update " + file.getAbsolutePath() + " to use 'Archived' instead");
formatType = FormatType.ARCHIVED;
} else {
formatType = FormatType.CUSTOM;
}
}
FormatSubType formatsubType;
try {
@@ -450,7 +455,7 @@ public class GameFormat implements Comparable<GameFormat> {
public Iterable<GameFormat> getFilterList() {
List<GameFormat> coreList = new ArrayList<>();
for (GameFormat format: naturallyOrdered) {
if (!format.getFormatType().equals(FormatType.HISTORIC)
if (!format.getFormatType().equals(FormatType.ARCHIVED)
&&!format.getFormatType().equals(FormatType.DIGITAL)){
coreList.add(format);
}
@@ -458,10 +463,10 @@ public class GameFormat implements Comparable<GameFormat> {
return coreList;
}
public Iterable<GameFormat> getHistoricList() {
public Iterable<GameFormat> getArchivedList() {
List<GameFormat> coreList = new ArrayList<>();
for (GameFormat format: naturallyOrdered) {
if (format.getFormatType().equals(FormatType.HISTORIC)){
if (format.getFormatType().equals(FormatType.ARCHIVED)){
coreList.add(format);
}
}
@@ -470,7 +475,7 @@ public class GameFormat implements Comparable<GameFormat> {
public Iterable<GameFormat> getBlockList() {
List<GameFormat> blockFormats = new ArrayList<>();
for (GameFormat format : this.getHistoricList()){
for (GameFormat format : this.getArchivedList()){
if (format.getFormatSubType() != GameFormat.FormatSubType.BLOCK)
continue;
if (!format.getName().endsWith("Block"))
@@ -481,10 +486,10 @@ public class GameFormat implements Comparable<GameFormat> {
return blockFormats;
}
public Map<String, List<GameFormat>> getHistoricMap() {
public Map<String, List<GameFormat>> getArchivedMap() {
Map<String, List<GameFormat>> coreList = new HashMap<>();
for (GameFormat format: naturallyOrdered){
if (format.getFormatType().equals(FormatType.HISTORIC)){
if (format.getFormatType().equals(FormatType.ARCHIVED)){
String alpha = format.getName().substring(0,1);
if (!coreList.containsKey(alpha)) {
coreList.put(alpha,new ArrayList<>());
@@ -557,9 +562,9 @@ public class GameFormat implements Comparable<GameFormat> {
//exclude Commander format as other deck checks are not performed here
continue;
}
if (gf.getFormatType().equals(FormatType.HISTORIC) && coveredTypes.contains(gf.getFormatSubType())
if (gf.getFormatType().equals(FormatType.ARCHIVED) && coveredTypes.contains(gf.getFormatSubType())
&& !exhaustive){
//exclude duplicate formats - only keep first of e.g. Standard historical
//exclude duplicate formats - only keep first of e.g. Standard archived
continue;
}
if (gf.isPoolLegal(allCards)) {
@@ -590,7 +595,7 @@ public class GameFormat implements Comparable<GameFormat> {
if (gf2.formatSubType != gf1.formatSubType){
return gf1.formatSubType.compareTo(gf2.formatSubType);
}
if (gf1.formatType.equals(FormatType.HISTORIC)){
if (gf1.formatType.equals(FormatType.ARCHIVED)){
if (gf1.effectiveDate!=gf2.effectiveDate) {//for matching dates or default dates default to name sorting
return gf1.effectiveDate.compareTo(gf2.effectiveDate);
}

View File

@@ -216,7 +216,7 @@ public class CardManager extends ItemManager<PaperCard> {
}
menu.add(world);
if (FModel.getPreferences().getPrefBoolean(ForgePreferences.FPref.LOAD_HISTORIC_FORMATS)) {
if (FModel.getPreferences().getPrefBoolean(ForgePreferences.FPref.LOAD_ARCHIVED_FORMATS)) {
JMenu blocks = GuiUtils.createMenu(localizer.getMessage("lblBlock"));
final Iterable<GameFormat> blockFormats = FModel.getFormats().getBlockList();
for (final GameFormat f : blockFormats) {

View File

@@ -279,7 +279,7 @@ public final class DeckManager extends ItemManager<DeckProxy> implements IHasGam
}
menu.add(world);
if (FModel.getPreferences().getPrefBoolean(ForgePreferences.FPref.LOAD_HISTORIC_FORMATS)) {
if (FModel.getPreferences().getPrefBoolean(ForgePreferences.FPref.LOAD_ARCHIVED_FORMATS)) {
JMenu blocks = GuiUtils.createMenu(localizer.getMessage("lblBlock"));
final Iterable<GameFormat> blockFormats = FModel.getFormats().getBlockList();
for (final GameFormat f : blockFormats) {

View File

@@ -42,7 +42,7 @@ public class DialogChooseFormats {
List<FCheckBox> sanctioned = new ArrayList<>();
List<FCheckBox> casual = new ArrayList<>();
List<FCheckBox> historic = new ArrayList<>();
List<FCheckBox> archived = new ArrayList<>();
for (GameFormat format : FModel.getFormats().getOrderedList()){
FCheckBox box = new FCheckBox(format.getName());
@@ -51,8 +51,8 @@ public class DialogChooseFormats {
case SANCTIONED:
sanctioned.add(box);
break;
case HISTORIC:
historic.add(box);
case ARCHIVED:
archived.add(box);
break;
case CUSTOM:
case CASUAL:
@@ -74,7 +74,7 @@ public class DialogChooseFormats {
String constraints = "aligny top";
panel.add(makeCheckBoxList(sanctioned, localizer.getMessage("lblSanctioned"), true), constraints);
panel.add(makeCheckBoxList(casual, localizer.getMessage("lblOther"), false), constraints);
panel.add(makeCheckBoxList(historic, localizer.getMessage("lblHistoric"), false), constraints);
panel.add(makeCheckBoxList(archived, localizer.getMessage("lblArchived"), false), constraints);
final JPanel overlay = FOverlay.SINGLETON_INSTANCE.getPanel();
overlay.setLayout(new MigLayout("insets 0, gap 0, wrap, ax center, ay center"));

View File

@@ -167,7 +167,7 @@ public enum CSubmenuPreferences implements ICDoc {
lstControls.add(Pair.of(view.getCbFilterLandsByColorId(), FPref.UI_FILTER_LANDS_BY_COLOR_IDENTITY));
lstControls.add(Pair.of(view.getCbLoadCardsLazily(), FPref.LOAD_CARD_SCRIPTS_LAZILY));
lstControls.add(Pair.of(view.getCbLoadHistoricFormats(), FPref.LOAD_HISTORIC_FORMATS));
lstControls.add(Pair.of(view.getCbLoadArchivedFormats(), FPref.LOAD_ARCHIVED_FORMATS));
lstControls.add(Pair.of(view.getCbSmartCardArtSelectionOpt(), FPref.UI_SMART_CARD_ART));
lstControls.add(Pair.of(view.getCbShowDraftRanking(), FPref.UI_OVERLAY_DRAFT_RANKING));

View File

@@ -72,7 +72,7 @@ public enum VSubmenuPreferences implements IVSubmenu<CSubmenuPreferences> {
private final JCheckBox cbManaLostPrompt = new OptionsCheckBox(localizer.getMessage("cbManaLostPrompt"));
private final JCheckBox cbDevMode = new OptionsCheckBox(localizer.getMessage("cbDevMode"));
private final JCheckBox cbLoadCardsLazily = new OptionsCheckBox(localizer.getMessage("cbLoadCardsLazily"));
private final JCheckBox cbLoadHistoricFormats = new OptionsCheckBox(localizer.getMessage("cbLoadHistoricFormats"));
private final JCheckBox cbLoadArchivedFormats = new OptionsCheckBox(localizer.getMessage("cbLoadArchivedFormats"));
private final JCheckBox cbWorkshopSyntax = new OptionsCheckBox(localizer.getMessage("cbWorkshopSyntax"));
private final JCheckBox cbEnforceDeckLegality = new OptionsCheckBox(localizer.getMessage("cbEnforceDeckLegality"));
private final JCheckBox cbSideboardForAI = new OptionsCheckBox(localizer.getMessage("cbSideboardForAI"));
@@ -322,8 +322,8 @@ public enum VSubmenuPreferences implements IVSubmenu<CSubmenuPreferences> {
pnlPrefs.add(cbLoadCardsLazily, titleConstraints);
pnlPrefs.add(new NoteLabel(localizer.getMessage("nlLoadCardsLazily")), descriptionConstraints);
pnlPrefs.add(cbLoadHistoricFormats, titleConstraints);
pnlPrefs.add(new NoteLabel(localizer.getMessage("nlLoadHistoricFormats")), descriptionConstraints);
pnlPrefs.add(cbLoadArchivedFormats, titleConstraints);
pnlPrefs.add(new NoteLabel(localizer.getMessage("nlLoadArchivedFormats")), descriptionConstraints);
pnlPrefs.add(cbEnableUnknownCards, titleConstraints);
pnlPrefs.add(new NoteLabel(localizer.getMessage("nlEnableUnknownCards")), descriptionConstraints);
@@ -741,8 +741,8 @@ public enum VSubmenuPreferences implements IVSubmenu<CSubmenuPreferences> {
}
/** @return {@link javax.swing.JCheckBox} */
public JCheckBox getCbLoadHistoricFormats() {
return cbLoadHistoricFormats;
public JCheckBox getCbLoadArchivedFormats() {
return cbLoadArchivedFormats;
}
public JCheckBox getCbWorkshopSyntax() {

View File

@@ -22,22 +22,22 @@ import forge.util.Utils;
/**
* Created by maustin on 16/04/2018.
*/
public class HistoricFormatSelect extends FScreen {
public class ArchivedFormatSelect extends FScreen {
private GameFormat selectedFormat;
private final FGroupList<GameFormat> lstFormats = add(new FGroupList<>());
private final Set<GameFormat.FormatSubType> historicSubTypes = new HashSet<>(Arrays.asList(GameFormat.FormatSubType.BLOCK,
private final Set<GameFormat.FormatSubType> archivedSubTypes = new HashSet<>(Arrays.asList(GameFormat.FormatSubType.BLOCK,
GameFormat.FormatSubType.STANDARD,GameFormat.FormatSubType.EXTENDED,GameFormat.FormatSubType.MODERN,
GameFormat.FormatSubType.LEGACY, GameFormat.FormatSubType.VINTAGE));
private Runnable onCloseCallBack;
public HistoricFormatSelect() {
public ArchivedFormatSelect() {
super(Forge.getLocalizer().getMessage("lblChooseFormat"));
for (GameFormat.FormatType group:GameFormat.FormatType.values()){
if (group == GameFormat.FormatType.HISTORIC){
if (group == GameFormat.FormatType.ARCHIVED){
for (GameFormat.FormatSubType subgroup:GameFormat.FormatSubType.values()){
if (historicSubTypes.contains(subgroup)){
if (archivedSubTypes.contains(subgroup)){
lstFormats.addGroup(group.name() + "-" + subgroup.name());
}
}
@@ -53,7 +53,7 @@ public class HistoricFormatSelect extends FScreen {
case CASUAL:
lstFormats.addItem(format, 1);
break;
case HISTORIC:
case ARCHIVED:
switch (format.getFormatSubType()){
case BLOCK:
lstFormats.addItem(format, 2);

View File

@@ -66,16 +66,16 @@ public abstract class FormatFilter<T extends InventoryItem> extends ItemFilter<T
preventHandling = true;
cbxFormats.setText(selectedFormat); //restore previous selection by default
preventHandling = false;
HistoricFormatSelect historicFormatSelect = new HistoricFormatSelect();
historicFormatSelect.setOnCloseCallBack(new Runnable(){
ArchivedFormatSelect archivedFormatSelect = new ArchivedFormatSelect();
archivedFormatSelect.setOnCloseCallBack(new Runnable(){
@Override
public void run() {
format = historicFormatSelect.getSelectedFormat();
format = archivedFormatSelect.getSelectedFormat();
cbxFormats.setText(format.getName());
applyChange();
}
});
Forge.openScreen(historicFormatSelect);
Forge.openScreen(archivedFormatSelect);
}
else if (index == cbxFormats.getItemCount() - 1) {
preventHandling = true;

View File

@@ -31,7 +31,7 @@ import forge.gui.UiCommand;
import forge.gui.util.SOptionPane;
import forge.item.PaperCard;
import forge.item.PreconDeck;
import forge.itemmanager.filters.HistoricFormatSelect;
import forge.itemmanager.filters.ArchivedFormatSelect;
import forge.localinstance.properties.ForgeConstants;
import forge.model.CardCollections;
import forge.model.FModel;
@@ -301,13 +301,13 @@ public class NewQuestScreen extends FScreen {
btnSelectFormat.setCommand(new FEventHandler() {
@Override
public void handleEvent(FEvent e) {
HistoricFormatSelect historicFormatSelect = new HistoricFormatSelect();
historicFormatSelect.setOnCloseCallBack(new Runnable() {
ArchivedFormatSelect archivedFormatSelect = new ArchivedFormatSelect();
archivedFormatSelect.setOnCloseCallBack(new Runnable() {
@Override
public void run() {
customFormatCodes.clear();
btnSelectFormat.setText(historicFormatSelect.getSelectedFormat().getName());
List<String> setsToAdd = historicFormatSelect.getSelectedFormat().getAllowedSetCodes();
btnSelectFormat.setText(archivedFormatSelect.getSelectedFormat().getName());
List<String> setsToAdd = archivedFormatSelect.getSelectedFormat().getAllowedSetCodes();
for (String setName:setsToAdd){
if(!unselectableSets.contains(setName)){
customFormatCodes.add(setName);
@@ -315,20 +315,20 @@ public class NewQuestScreen extends FScreen {
}
}
});
Forge.openScreen(historicFormatSelect);
Forge.openScreen(archivedFormatSelect);
}
});
btnPrizeSelectFormat.setCommand(new FEventHandler() {
@Override
public void handleEvent(FEvent e) {
HistoricFormatSelect historicFormatSelect = new HistoricFormatSelect();
historicFormatSelect.setOnCloseCallBack(new Runnable() {
ArchivedFormatSelect archivedFormatSelect = new ArchivedFormatSelect();
archivedFormatSelect.setOnCloseCallBack(new Runnable() {
@Override
public void run() {
customPrizeFormatCodes.clear();
btnPrizeSelectFormat.setText(historicFormatSelect.getSelectedFormat().getName());
List<String> setsToAdd = historicFormatSelect.getSelectedFormat().getAllowedSetCodes();
btnPrizeSelectFormat.setText(archivedFormatSelect.getSelectedFormat().getName());
List<String> setsToAdd = archivedFormatSelect.getSelectedFormat().getAllowedSetCodes();
for (String setName:setsToAdd){
if(!unselectableSets.contains(setName)){
customPrizeFormatCodes.add(setName);
@@ -336,7 +336,7 @@ public class NewQuestScreen extends FScreen {
}
}
});
Forge.openScreen(historicFormatSelect);
Forge.openScreen(archivedFormatSelect);
}
});

View File

@@ -362,9 +362,9 @@ public class SettingsPage extends TabPage<SettingsScreen> {
Forge.getLocalizer().getMessage("cbLoadCardsLazily"),
Forge.getLocalizer().getMessage("nlLoadCardsLazily")),
3);
lstSettings.addItem(new BooleanSetting(FPref.LOAD_HISTORIC_FORMATS,
Forge.getLocalizer().getMessage("cbLoadHistoricFormats"),
Forge.getLocalizer().getMessage("nlLoadHistoricFormats")),
lstSettings.addItem(new BooleanSetting(FPref.LOAD_ARCHIVED_FORMATS,
Forge.getLocalizer().getMessage("cbLoadArchivedFormats"),
Forge.getLocalizer().getMessage("nlLoadArchivedFormats")),
3);
lstSettings.addItem(new BooleanSetting(FPref.UI_LOAD_UNKNOWN_CARDS,
Forge.getLocalizer().getMessage("lblEnableUnknownCards"),

View File

@@ -1,4 +1,5 @@
#Add one announcement per line
Get in the discord if you aren't yet. https://discord.gg/3v9JCVr
The SNC set is fully integrated, as well as most of the NCC cards (several cards are still missing from the latter).
Historic-type formats have been renamed to Archived to reduce confusion between them and the official sanctioned format. You will need to re-enable them in your preferences.
*** Android 7 & 8 support is now deprecated. Support will be dropped in an upcoming release. ***

View File

@@ -1,6 +1,6 @@
[format]
Name:Alchemy (2021-12-09)
Type:Historic
Type:Archived
Subtype:Arena
Effective:2021-12-09
Sets:ANA, ANB, ZNR, KHM, STX, AFR, MID, VOW, YMID

View File

@@ -1,6 +1,6 @@
[format]
Name:Alchemy (NEO)
Type:Historic
Type:Archived
Subtype:Arena
Effective:2022-02-10
Sets:ANA, ANB, ZNR, KHM, STX, AFR, MID, VOW, YMID, NEO

View File

@@ -1,6 +1,6 @@
[format]
Name:Alchemy (YNEO)
Type:Historic
Type:Archived
Subtype:Arena
Effective:2022-03-17
Sets:ANA, ANB, ZNR, KHM, STX, AFR, MID, VOW, YMID, NEO, YNEO

View File

@@ -1,6 +1,6 @@
[format]
Name:Alchemy (SNC)
Type:Historic
Type:Archived
Subtype:Arena
Effective:2022-04-28
Sets:ANA, ANB, ZNR, KHM, STX, AFR, MID, VOW, YMID, NEO, YNEO, SNC

View File

@@ -1,6 +1,6 @@
[format]
Name:Alchemy (YSNC)
Type:Historic
Type:Archived
Subtype:Arena
Effective:2022-06-02
Sets:ANA, ANB, ZNR, KHM, STX, AFR, MID, VOW, YMID, NEO, YNEO, SNC, YSNC

View File

@@ -1,6 +1,6 @@
[format]
Name:Arena Standard (2017-09-07)
Type:Historic
Type:Archived
Subtype:Arena
Effective:2017-09-07
Sets:XLN

View File

@@ -1,6 +1,6 @@
[format]
Name:Arena Standard (RIX)
Type:Historic
Type:Archived
Subtype:Arena
Effective:2018-01-18
Sets:XLN, RIX

View File

@@ -1,6 +1,6 @@
[format]
Name:Arena Standard (AKH/HOU)
Type:Historic
Type:Archived
Subtype:Arena
Effective:2018-03-22
Sets:XLN, RIX, AKH, HOU

View File

@@ -1,6 +1,6 @@
[format]
Name:Arena Standard (DOM)
Type:Historic
Type:Archived
Subtype:Arena
Effective:2018-04-26
Sets:XLN, RIX, AKH, HOU, DOM

View File

@@ -1,6 +1,6 @@
[format]
Name:Arena Standard (KLD/AER)
Type:Historic
Type:Archived
Subtype:Arena
Effective:2018-06-07
Sets:XLN, RIX, AKH, HOU, DOM, KLD, AER, W17

View File

@@ -1,6 +1,6 @@
[format]
Name:Arena Standard (M19)
Type:Historic
Type:Archived
Subtype:Arena
Effective:2018-07-12
Sets:XLN, RIX, AKH, HOU, DOM, KLD, AER, W17, M19, ANA, PANA

View File

@@ -1,6 +1,6 @@
[format]
Name:Arena Standard (GRN)
Type:Historic
Type:Archived
Subtype:Arena
Effective:2018-09-27
Sets:XLN, RIX, DOM, M19, ANA, PANA, GRN

View File

@@ -1,6 +1,6 @@
[format]
Name:Arena Standard (G18)
Type:Historic
Type:Archived
Subtype:Arena
Effective:2018-11-15
Sets:XLN, RIX, DOM, M19, ANA, PANA, GRN, G18

View File

@@ -1,6 +1,6 @@
[format]
Name:Arena Standard (RNA)
Type:Historic
Type:Archived
Subtype:Arena
Effective:2019-01-17
Sets:XLN, RIX, DOM, M19, ANA, PANA, GRN, G18, RNA

View File

@@ -1,6 +1,6 @@
[format]
Name:Arena Standard (2019-02-14)
Type:Historic
Type:Archived
Subtype:Arena
Effective:2019-02-14
Sets:XLN, RIX, DOM, M19, ANA, PANA, GRN, G18, RNA

View File

@@ -1,6 +1,6 @@
[format]
Name:Arena Standard (WAR)
Type:Historic
Type:Archived
Subtype:Arena
Effective:2019-04-25
Sets:XLN, RIX, DOM, M19, ANA, PANA, GRN, G18, RNA, WAR

View File

@@ -1,6 +1,6 @@
[format]
Name:Arena Standard (M20)
Type:Historic
Type:Archived
Subtype:Arena
Effective:2019-07-02
Sets:XLN, RIX, DOM, M19, ANA, PANA, GRN, G18, RNA, WAR, M20

View File

@@ -1,6 +1,6 @@
[format]
Name:Arena Standard (ELD)
Type:Historic
Type:Archived
Subtype:Arena
Effective:2019-09-26
Sets:ANA, PANA, GRN, RNA, WAR, M20, ELD

View File

@@ -1,6 +1,6 @@
[format]
Name:Arena Standard (2019-10-24)
Type:Historic
Type:Archived
Subtype:Arena
Effective:2019-10-24
Sets:ANA, PANA, GRN, RNA, WAR, M20, ELD

View File

@@ -1,6 +1,6 @@
[format]
Name:Arena Standard (2019-11-18)
Type:Historic
Type:Archived
Subtype:Arena
Effective:2019-11-18
Sets:ANA, PANA, GRN, RNA, WAR, M20, ELD

View File

@@ -1,6 +1,6 @@
[format]
Name:Arena Standard (THB)
Type:Historic
Type:Archived
Subtype:Arena
Effective:2020-01-16
Sets:ANA, PANA, GRN, RNA, WAR, M20, ELD, THB

View File

@@ -1,6 +1,6 @@
[format]
Name:Arena Standard (IKO)
Type:Historic
Type:Archived
Subtype:Arena
Effective:2020-04-16
Sets:ANA, PANA, GRN, RNA, WAR, M20, ELD, THB, IKO

View File

@@ -1,6 +1,6 @@
[format]
Name:Arena Standard (2020-06-04)
Type:Historic
Type:Archived
Subtype:Arena
Effective:2020-06-04
Sets:ANA, PANA, GRN, RNA, WAR, M20, ELD, THB, IKO

View File

@@ -1,6 +1,6 @@
[format]
Name:Arena Standard (M21)
Type:Historic
Type:Archived
Subtype:Arena
Effective:2020-06-25
Sets:ANA, PANA, GRN, RNA, WAR, M20, ELD, THB, IKO, M21

View File

@@ -1,6 +1,6 @@
[format]
Name:Arena Standard (2020-08-03)
Type:Historic
Type:Archived
Subtype:Arena
Effective:2020-08-03
Sets:ANA, PANA, GRN, RNA, WAR, M20, ELD, THB, IKO, M21

View File

@@ -1,6 +1,6 @@
[format]
Name:Arena Standard (ANB)
Type:Historic
Type:Archived
Subtype:Arena
Effective:2020-08-12
Sets:ANA, PANA, GRN, RNA, WAR, M20, ELD, THB, IKO, M21, ANB

View File

@@ -1,6 +1,6 @@
[format]
Name:Arena Standard (ZNR)
Type:Historic
Type:Archived
Subtype:Arena
Effective:2020-09-17
Sets:ANA, PANA, ELD, THB, IKO, M21, ANB, ZNR

View File

@@ -1,6 +1,6 @@
[format]
Name:Arena Standard (2020-09-28)
Type:Historic
Type:Archived
Subtype:Arena
Effective:2020-09-28
Sets:ANA, PANA, ELD, THB, IKO, M21, ANB, ZNR

View File

@@ -1,6 +1,6 @@
[format]
Name:Arena Standard (2020-10-12)
Type:Historic
Type:Archived
Subtype:Arena
Effective:2020-10-12
Sets:ANA, PANA, ELD, THB, IKO, M21, ANB, ZNR

View File

@@ -1,6 +1,6 @@
[format]
Name:Arena Standard (KHM)
Type:Historic
Type:Archived
Subtype:Arena
Effective:2021-01-28
Sets:ANA, PANA, ELD, THB, IKO, M21, ANB, ZNR, KHM

View File

@@ -1,6 +1,6 @@
[format]
Name:Arena Standard (STX)
Type:Historic
Type:Archived
Subtype:Arena
Effective:2021-04-15
Sets:ANA, PANA, ELD, THB, IKO, M21, ANB, ZNR, KHM, STX

View File

@@ -1,6 +1,6 @@
[format]
Name:Arena Standard (AFR)
Type:Historic
Type:Archived
Subtype:Arena
Effective:2021-07-08
Sets:ANA, PANA, ELD, THB, IKO, M21, ANB, ZNR, KHM, STX, AFR

View File

@@ -1,6 +1,6 @@
[format]
Name:Arena Standard (MID)
Type:Historic
Type:Archived
Subtype:Arena
Effective:2021-09-16
Sets:ANA, PANA, ANB, ZNR, KHM, STX, AFR, MID

View File

@@ -1,6 +1,6 @@
[format]
Name:Arena Standard (VOW)
Type:Historic
Type:Archived
Subtype:Arena
Effective:2021-11-17
Sets:ANA, PANA, ANB, ZNR, KHM, STX, AFR, MID, VOW

View File

@@ -1,6 +1,6 @@
[format]
Name:Arena Standard (2022-01-27)
Type:Historic
Type:Archived
Subtype:Arena
Effective:2022-01-27
Sets:ANA, PANA, ANB, ZNR, KHM, STX, AFR, MID, VOW

View File

@@ -1,6 +1,6 @@
[format]
Name:Arena Standard (NEO)
Type:Historic
Type:Archived
Subtype:Arena
Effective:2022-02-10
Sets:ANA, PANA, ANB, ZNR, KHM, STX, AFR, MID, VOW, NEO

View File

@@ -1,6 +1,6 @@
[format]
Name:Arena Standard (2022-03-17)
Type:Historic
Type:Archived
Subtype:Arena
Effective:2022-03-17
Sets:ZNR, KHM, STX, AFR, MID, VOW, NEO

View File

@@ -1,6 +1,6 @@
[format]
Name:Arena Standard (SNC)
Type:Historic
Type:Archived
Subtype:Arena
Effective:2022-04-28
Sets:ZNR, KHM, STX, AFR, MID, VOW, NEO, SNC

View File

@@ -1,6 +1,6 @@
[format]
Name:Block: Amonkhet (AKH)
Type:Historic
Type:Archived
Subtype:Block
Effective:2017-04-28
Sets:AKH

View File

@@ -1,6 +1,6 @@
[format]
Name:Block: Amonkhet (HOU)
Type:Historic
Type:Archived
Subtype:Block
Effective:2017-07-14
Sets:AKH, HOU

View File

@@ -1,6 +1,6 @@
[format]
Name:Block: Battle for Zendikar (BFZ)
Type:Historic
Type:Archived
Subtype:Block
Effective:2015-10-02
Sets:BFZ

View File

@@ -1,6 +1,6 @@
[format]
Name:Block: Battle for Zendikar (OGW)
Type:Historic
Type:Archived
Subtype:Block
Effective:2016-01-22
Sets:BFZ, OGW

View File

@@ -1,6 +1,6 @@
[format]
Name:Block: Ice Age (ALL)
Type:Historic
Type:Archived
Subtype:Block
Effective:1996-10-01
Sets:ICE, ALL

View File

@@ -1,6 +1,6 @@
[format]
Name:Block: Ice Age (ICE)
Type:Historic
Type:Archived
Subtype:Block
Effective:1997-05-01
Sets:ICE

View File

@@ -1,6 +1,6 @@
[format]
Name:Block: Ice Age (HML)
Type:Historic
Type:Archived
Subtype:Block
Effective:1997-07-01
Sets:ICE, HML, ALL

View File

@@ -1,6 +1,6 @@
[format]
Name:Block: Ice Age (CSP)
Type:Historic
Type:Archived
Subtype:Block
Effective:2006-08-20
Sets:ICE, ALL, CSP

View File

@@ -1,6 +1,6 @@
[format]
Name:Block: Innistrad (ISD)
Type:Historic
Type:Archived
Subtype:Block
Effective:2011-09-30
Sets:ISD

View File

@@ -1,6 +1,6 @@
[format]
Name:Block: Innistrad (DKA)
Type:Historic
Type:Archived
Subtype:Block
Effective:2012-02-03
Sets:ISD, DKA

View File

@@ -1,6 +1,6 @@
[format]
Name:Block: Innistrad (2012-04-02)
Type:Historic
Type:Archived
Subtype:Block
Effective:2012-04-02
Sets:ISD, DKA

View File

@@ -1,6 +1,6 @@
[format]
Name:Block: Innistrad (AVR)
Type:Historic
Type:Archived
Subtype:Block
Effective:2012-05-04
Sets:ISD, DKA, AVR

View File

@@ -1,6 +1,6 @@
[format]
Name:Block: Invasion (INV)
Type:Historic
Type:Archived
Subtype:Block
Effective:2000-11-01
Sets:INV

View File

@@ -1,6 +1,6 @@
[format]
Name:Block: Invasion (PLS)
Type:Historic
Type:Archived
Subtype:Block
Effective:2001-03-01
Sets:INV, PLS

View File

@@ -1,6 +1,6 @@
[format]
Name:Block: Invasion (APC)
Type:Historic
Type:Archived
Subtype:Block
Effective:2001-07-01
Sets:INV, PLS, APC

View File

@@ -1,6 +1,6 @@
[format]
Name:Block: Ixalan (XLN)
Type:Historic
Type:Archived
Subtype:Block
Effective:2017-09-29
Sets:XLN

View File

@@ -1,6 +1,6 @@
[format]
Name:Block: Ixalan (RIX)
Type:Historic
Type:Archived
Subtype:Block
Effective:2018-01-19
Sets:XLN, RIX

View File

@@ -1,6 +1,6 @@
[format]
Name:Block: Kaladesh (KLD)
Type:Historic
Type:Archived
Subtype:Block
Effective:2016-09-30
Sets:KLD

View File

@@ -1,6 +1,6 @@
[format]
Name:Block: Kaladesh (AER)
Type:Historic
Type:Archived
Subtype:Block
Effective:2017-01-20
Sets:KLD, AER

View File

@@ -1,6 +1,6 @@
[format]
Name:Block: Kamigawa (CHK)
Type:Historic
Type:Archived
Subtype:Block
Effective:2004-10-20
Sets:CHK

View File

@@ -1,6 +1,6 @@
[format]
Name:Block: Kamigawa (BOK)
Type:Historic
Type:Archived
Subtype:Block
Effective:2005-02-20
Sets:CHK, BOK

View File

@@ -1,6 +1,6 @@
[format]
Name:Block: Kamigawa (SOK)
Type:Historic
Type:Archived
Subtype:Block
Effective:2005-06-20
Sets:CHK, BOK, SOK

View File

@@ -1,6 +1,6 @@
[format]
Name:Block: Khans of Tarkir (KTK)
Type:Historic
Type:Archived
Subtype:Block
Effective:2014-09-26
Sets:KTK

View File

@@ -1,6 +1,6 @@
[format]
Name:Block: Khans of Tarkir (FRF)
Type:Historic
Type:Archived
Subtype:Block
Effective:2015-01-23
Sets:KTK, FRF

View File

@@ -1,6 +1,6 @@
[format]
Name:Block: Khans of Tarkir (DTK)
Type:Historic
Type:Archived
Subtype:Block
Effective:2015-03-27
Sets:KTK, FRF, DTK

View File

@@ -1,6 +1,6 @@
[format]
Name:Block: Lorwyn (LRW)
Type:Historic
Type:Archived
Subtype:Block
Effective:2007-10-20
Sets:LRW

View File

@@ -1,6 +1,6 @@
[format]
Name:Block: Lorwyn (MOR)
Type:Historic
Type:Archived
Subtype:Block
Effective:2008-02-01
Sets:LRW, MOR

View File

@@ -1,6 +1,6 @@
[format]
Name:Block: Lorwyn;Shadowmoor (SHM)
Type:Historic
Type:Archived
Subtype:Block
Effective:2008-05-02
Sets:LRW, MOR, SHM

View File

@@ -1,6 +1,6 @@
[format]
Name:Block: Lorwyn;Shadowmoor (EVE)
Type:Historic
Type:Archived
Subtype:Block
Effective:2008-07-25
Sets:LRW, MOR, SHM, EVE

View File

@@ -1,6 +1,6 @@
[format]
Name:Block: Masques (MMQ)
Type:Historic
Type:Archived
Subtype:Block
Effective:1999-11-01
Sets:MMQ

View File

@@ -1,6 +1,6 @@
[format]
Name:Block: Masques (NMS)
Type:Historic
Type:Archived
Subtype:Block
Effective:2000-03-01
Sets:MMQ, NMS

View File

@@ -1,6 +1,6 @@
[format]
Name:Block: Masques (PCY)
Type:Historic
Type:Archived
Subtype:Block
Effective:2000-07-01
Sets:MMQ, NMS, PCY

View File

@@ -1,6 +1,6 @@
[format]
Name:Block: Mirage;Visions;Weatherlight (WTH)
Type:Historic
Type:Archived
Subtype:Block
Effective:1997-07-01
Sets:MIR, VIS, WTH

View File

@@ -1,6 +1,6 @@
[format]
Name:Block: Mirrodin (MRD)
Type:Historic
Type:Archived
Subtype:Block
Effective:2003-10-20
Sets:MRD

View File

@@ -1,6 +1,6 @@
[format]
Name:Block: Mirrodin (DST)
Type:Historic
Type:Archived
Subtype:Block
Effective:2004-02-20
Sets:MRD, DST

View File

@@ -1,6 +1,6 @@
[format]
Name:Block: Mirrodin (5DN)
Type:Historic
Type:Archived
Subtype:Block
Effective:2004-06-20
Sets:MRD, DST, 5DN

View File

@@ -1,6 +1,6 @@
[format]
Name:Block: Mirrodin (2006-03-20)
Type:Historic
Type:Archived
Subtype:Block
Effective:2006-03-20
Sets:MRD, DST, 5DN

View File

@@ -1,6 +1,6 @@
[format]
Name:Block: Odyssey (ODY)
Type:Historic
Type:Archived
Subtype:Block
Effective:2001-11-01
Sets:ODY

View File

@@ -1,6 +1,6 @@
[format]
Name:Block: Odyssey (TOR)
Type:Historic
Type:Archived
Subtype:Block
Effective:2002-03-01
Sets:ODY, TOR

View File

@@ -1,6 +1,6 @@
[format]
Name:Block: Odyssey (JUD)
Type:Historic
Type:Archived
Subtype:Block
Effective:2002-07-01
Sets:ODY, TOR, JUD

View File

@@ -1,6 +1,6 @@
[format]
Name:Block: Onslaught (ONS)
Type:Historic
Type:Archived
Subtype:Block
Effective:2002-11-01
Sets:ONS

View File

@@ -1,6 +1,6 @@
[format]
Name:Block: Onslaught (LGN)
Type:Historic
Type:Archived
Subtype:Block
Effective:2003-03-01
Sets:ONS, LGN

View File

@@ -1,6 +1,6 @@
[format]
Name:Block: Onslaught (SCG)
Type:Historic
Type:Archived
Subtype:Block
Effective:2003-07-01
Sets:ONS, LGN, SCG

View File

@@ -1,6 +1,6 @@
[format]
Name:Block: Tempest (TMP)
Type:Historic
Type:Archived
Subtype:Block
Effective:1997-11-01
Sets:TMP

View File

@@ -1,6 +1,6 @@
[format]
Name:Block: Tempest;Stronghold (TMP)
Type:Historic
Type:Archived
Subtype:Block
Effective:1998-04-01
Sets:TMP, STH

View File

@@ -1,6 +1,6 @@
[format]
Name:Block: Tempest;Stronghold;Exodus (EXO)
Type:Historic
Type:Archived
Subtype:Block
Effective:1998-07-01
Sets:TMP, STH, EXO

View File

@@ -1,6 +1,6 @@
[format]
Name:Block: Ravnica (RAV)
Type:Historic
Type:Archived
Subtype:Block
Effective:2005-10-20
Sets:RAV

View File

@@ -1,6 +1,6 @@
[format]
Name:Block: Ravnica (GPT)
Type:Historic
Type:Archived
Subtype:Block
Effective:2006-02-20
Sets:RAV, GPT

View File

@@ -1,6 +1,6 @@
[format]
Name:Block: Ravnica (DIS)
Type:Historic
Type:Archived
Subtype:Block
Effective:2006-05-20
Sets:RAV, GPT, DIS

View File

@@ -1,6 +1,6 @@
[format]
Name:Block: Return to Ravnica (RTR)
Type:Historic
Type:Archived
Subtype:Block
Effective:2012-10-05
Sets:RTR

Some files were not shown because too many files have changed in this diff Show More