diff --git a/.gitattributes b/.gitattributes index 3bb730a8a68..22c8cc29817 100644 --- a/.gitattributes +++ b/.gitattributes @@ -15,6 +15,7 @@ res/AllTokens.txt svneol=native#text/plain res/PerSetTracking.py svneol=native#text/x-python res/blockdata/blocks.txt svneol=native#text/plain res/blockdata/boosters.txt -text +res/blockdata/fantasyblocks.txt -text res/blockdata/fatpacks.txt -text res/blockdata/formats.txt -text res/blockdata/setdata.txt svneol=native#text/plain diff --git a/res/blockdata/fantasyblocks.txt b/res/blockdata/fantasyblocks.txt new file mode 100644 index 00000000000..e418a8297e7 --- /dev/null +++ b/res/blockdata/fantasyblocks.txt @@ -0,0 +1,26 @@ +Index:0|Set0:ICE|Set1:ARN|Set2:LEG|Name:(3) Arabian Ice Age|DraftPacks:3|LandSetCode:ICE|SealedPacks:6 +Index:1|Set0:2ED|Set1:ARN|Set2:LEG|Name:(3) Unlimited Power|DraftPacks:3|LandSetCode:2ED|SealedPacks:6 +Index:2|Set0:DRK|Set1:FEM|Set2:HML|Name:(3) Dark Empires|DraftPacks:3|LandSetCode:3ED|SealedPacks:6 +Index:3|Set0:MIR|Set1:TMP|Set2:USG|Name:(3) Urza's Tempest Mirage|DraftPacks:3|LandSetCode:5ED|SealedPacks:6 +Index:4|Set0:INV|Set1:ODY|Set2:ONS|Name:(3) Twilight of an Era|DraftPacks:3|LandSetCode:7ED|SealedPacks:6 +Index:5|Set0:MRD|Set1:CHK|Set2:RAV|Name:(3) New Dawn|DraftPacks:3|LandSetCode:9ED|SealedPacks:6 +Index:6|Set0:2ED|Set1:ARN|Set2:ATQ|Set3:LEG|Set4:DRK|Set5:FEM|Name:(5-6) Chronicles 01 - Origins|DraftPacks:3|LandSetCode:2ED|SealedPacks:6 +Index:7|Set0:ICE|Set1:HML|Set2:ALL|Set3:MIR|Set4:VIS|Set5:WTH|Name:(5-6) Chronicles 02 - Icy Mirage|DraftPacks:3|LandSetCode:5ED|SealedPacks:6 +Index:8|Set0:TMP|Set1:USG|Set2:STH|Set3:ULG|Set4:EXO|Set5:UDS|Name:(5-6) Chronicles 03 - Urza's Tempest|DraftPacks:3|LandSetCode:6ED|SealedPacks:6 +Index:9|Set0:MMQ|Set1:INV|Set2:NMS|Set3:PLS|Set4:PCY|Set5:APC|Name:(5-6) Chronicles 04 - Mercadian Invasion|DraftPacks:3|LandSetCode:7ED|SealedPacks:6 +Index:10|Set0:ODY|Set1:ONS|Set2:TOR|Set3:LGN|Set4:JUD|Set5:SCG|Name:(5-6) Chronicles 05 - Onslaught Odyssey|DraftPacks:3|LandSetCode:8ED|SealedPacks:6 +Index:11|Set0:MRD|Set1:CHK|Set2:DST|Set3:BOK|Set4:5DN|Set5:SOK|Name:(5-6) Chronicles 06 - Champions of Mirrodin|DraftPacks:3|LandSetCode:9ED|SealedPacks:6 +Index:12|Set0:RAV|Set1:TSP|Set2:GPT|Set3:PLC|Set4:DIS|Set5:FUT|Name:(5-6) Chronicles 07 - Ravnica Spiral|DraftPacks:3|LandSetCode:9ED|SealedPacks:6 +Index:13|Set0:LRW|Set1:SHM|Set2:MOR|Set3:EVE|Set3:CSP|Name:(5-6) Chronicles 08 - Cold Lorwynmoor (5 only)|DraftPacks:3|LandSetCode:10E|SealedPacks:6 +Index:14|Set0:ALA|Set1:ZEN|Set2:CFX|Set3:WWK|Set4:ARB|Set5:ROE|Name:(5-6) Chronicles 09 - Shards of Zendikar|DraftPacks:3|LandSetCode:M11|SealedPacks:6 +Index:15|Set0:SOM|Set1:ISD|Set2:MBS|Set3:DKA|Set4:NPH|Set5:AVR|Name:(5-6) Chronicles 10 - Scars of Innistrad|DraftPacks:3|LandSetCode:M11|SealedPacks:6 +Index:16|Set0:ARN|Set1:MIR|Set2:VIS|Set3:WTH|Name:(4) Arabian Africa|DraftPacks:3|LandSetCode:MIR|SealedPacks:6 +Index:17|Set0:MIR|Set1:CHK|Set2:VIS|Set3:BOK|Set4:WTH|Set5:SOK|Name:(6) Africa-Asia|DraftPacks:3|LandSetCode:MIR|SealedPacks:6 +Index:18|Set0:2ED|Set1:3ED|Set2:4ED|Set3:5ED|Set4:6ED|Set5:7ED|Name:(6-7)Cores 1 (2,3,4,5,6,7)|DraftPacks:3|LandSetCode:4ED|SealedPacks:6 +Index:19|Set0:8ED|Set1:9ED|Set2:10E|Set3:M10|Set4:M11|Set5:M12|Set6:M13|Name:(6-7)Cores 2 (8,9,10,M10,M11,M12,M13)|DraftPacks:3|LandSetCode:9ED|SealedPacks:7 +Index:20|Set0:ICE|Set1:ALL|Set2:CSP|Set3:HML|Name:(4) Ice Age Extended|DraftPacks:3|LandSetCode:ICE|SealedPacks:6 +Index:21|Set0:2ED|Set1:ICE|Set2:HML|Set3:LEG|Set4:DRK|Set5:FEM|Name:(6) Sample 6-pack|DraftPacks:3|LandSetCode:2ED|SealedPacks:6 +Index:22|Set0:4ED|Set1:ALL|Set2:ICE|Set3:HML|Set4:LEG|Set5:DRK|Set6:FEM|Name:(7) Sample 7-pack|DraftPacks:3|LandSetCode:4ED|SealedPacks:7 +Index:23|Set0:4ED|Set1:ALL|Set2:ICE|Set3:HML|Set4:LEG|Set5:DRK|Set6:FEM|Set7:CHR|Name:(8) Sample 8-pack|DraftPacks:3|LandSetCode:4ED|SealedPacks:8 +Index:24|Set0:2ED|Set1:ALL|Set2:ICE|Set3:HML|Set4:LEG|Set5:DRK|Set6:FEM|Set7:ATQ|Set8:ARN|Name:(9) Sample 9-pack|DraftPacks:3|LandSetCode:2ED|SealedPacks:9 +Index:25|Set0:2ED|Set1:ATQ|Set2:ARN|Set3:DRK|Set4:LEG|Set5:FEM|Set6:ICE|Set7:HML|Set8:ALL|Name:(9) MtG Encyclopedia|DraftPacks:3|LandSetCode:2ED|SealedPacks:9 diff --git a/src/main/java/forge/game/limited/SealedDeckFormat.java b/src/main/java/forge/game/limited/SealedDeckFormat.java index 8f474b4d0a7..d52c4d6519b 100644 --- a/src/main/java/forge/game/limited/SealedDeckFormat.java +++ b/src/main/java/forge/game/limited/SealedDeckFormat.java @@ -78,12 +78,21 @@ public class SealedDeckFormat { } this.getLandSetCode()[0] = CardDb.instance().getCard("Plains").getEdition(); - } else if (sealedType.equals("Block")) { + } else if (sealedType.equals("Block") || sealedType.equals("FBlock")) { List blocks = new ArrayList(); - for (CardBlock b : Singletons.getModel().getBlocks()) { - blocks.add(b); + + if (sealedType.equals("Block")) { + for (CardBlock b : Singletons.getModel().getBlocks()) { + blocks.add(b); + } } + else { + for (CardBlock b : Singletons.getModel().getFantasyBlocks()) { + blocks.add(b); + } + } + final CardBlock block = GuiUtils.chooseOne("Choose Block", blocks); final CardEdition[] cardSets = block.getSets(); diff --git a/src/main/java/forge/gui/home/sanctioned/CSubmenuSealed.java b/src/main/java/forge/gui/home/sanctioned/CSubmenuSealed.java index bb6f4e49244..84f2bd63292 100644 --- a/src/main/java/forge/gui/home/sanctioned/CSubmenuSealed.java +++ b/src/main/java/forge/gui/home/sanctioned/CSubmenuSealed.java @@ -143,6 +143,7 @@ public enum CSubmenuSealed implements ICDoc { final ArrayList sealedTypes = new ArrayList(); sealedTypes.add("Full Cardpool"); sealedTypes.add("Block / Set"); + sealedTypes.add("Fantasy Block"); sealedTypes.add("Custom"); final String prompt = "Choose Sealed Deck Format:"; @@ -159,6 +160,10 @@ public enum CSubmenuSealed implements ICDoc { } else if (o.toString().equals(sealedTypes.get(2))) { + sd = new SealedDeckFormat("FBlock"); + } + + else if (o.toString().equals(sealedTypes.get(3))) { sd = new SealedDeckFormat("Custom"); } else { diff --git a/src/main/java/forge/model/FModel.java b/src/main/java/forge/model/FModel.java index b660f262695..735925fc30f 100644 --- a/src/main/java/forge/model/FModel.java +++ b/src/main/java/forge/model/FModel.java @@ -87,6 +87,7 @@ public enum FModel { private final IStorageView tournaments; private final IStorageView fatPacks; private final IStorageView blocks; + private final IStorageView fantasyBlocks; // have to implement lazy initialization - at the moment of FModel.ctor() // CardDb is not ready yet. @@ -137,6 +138,7 @@ public enum FModel { this.tournaments = new StorageView(new BoosterData.Reader("res/blockdata/starters.txt")); this.fatPacks = new StorageView(new FatPackData.Reader("res/blockdata/fatpacks.txt")); this.blocks = new StorageView(new CardBlock.Reader("res/blockdata/blocks.txt", editions)); + this.fantasyBlocks = new StorageView(new CardBlock.Reader("res/blockdata/fantasyblocks.txt", editions)); // TODO this single setting from preferences should not be here, or, // it should be here with all the other settings at the same time. @@ -497,6 +499,11 @@ public enum FModel { return blocks; } + /** @return {@link forge.util.IStorageView}<{@link forge.card.CardBlock}> */ + public IStorageView getFantasyBlocks() { + return fantasyBlocks; + } + /** @return {@link forge.util.IStorageView}<{@link forge.card.FatPackData}> */ public IStorageView getFatPacks() { return fatPacks;