Merge pull request #47 from PhallenCassidy/hobbitDraft

Hobbit draft
This commit is contained in:
Marcin Sciesinski
2018-05-15 17:02:39 -07:00
committed by GitHub
8 changed files with 959 additions and 80 deletions

View File

@@ -204,6 +204,7 @@
Format:
<select name="format">
<option value="test_draft">Test Draft</option>
<option value="hobbit_draft">Hobbit Draft</option>
</select><br/>
Series duration in days: <input type="text" name="serieDuration"><br/>
Maximum matches in series: <input type="text" name="maxMatches"><br/>

View File

@@ -1,7 +1,7 @@
30S1
30C1
30S2
30S3
30S4
30C3
30C4
30S5
30S6
30S7
@@ -10,25 +10,25 @@
30S10
30S11
30S12
30S13
30S14
30C13
30C14
30S15
30S16
30S17
30S18
30S19
30S20
30C20
30S21
30S22
30S23
30S24
30C23
30C24
30S25
30S26
30S27
30S28
30S29
30S30
30S31
30C30
30C31
30S32
30S33
30S34

View File

@@ -1,69 +1,69 @@
31S1
31S2
31S3
31S4
31S5
31S6
31S7
31S8
31S9
31S10
31S11
31S12
31S13
31S14
31S15
31S16
31S17
31S18
31S19
31S20
31S21
31S22
31S23
31S24
31S25
31S26
31S27
31S28
31S29
31S30
31S31
31S32
31S33
31S34
31S35
31S36
31S37
31S38
31S39
31S40
31S41
31S42
31S43
31S44
31S45
31S46
31S47
31S48
31S49
31S50
31S51
31S52
31S53
31S54
31S55
31S56
31S57
31S58
31S59
31S60
31S61
31S62
31S63
31S64
31S65
31S66
31S67
31S68
31S69
31X1
31R2
31R3
31X4
31R5
31X6
31R7
31X8
31X9
31X10
31R11
31R12
31R13
31X14
31X15
31X16
31R17
31R18
31C19
31U20
31U21
31R22
31U23
31P24
31R25
31U26
31C27
31U28
31X29
31C30
31C31
31C32
31R33
31P34
31C35
31P36
31R37
31R38
31X39
31X40
31R41
31R42
31X43
31P44
31P45
31P46
31X47
31X48
31P49
31X50
31P51
31P52
31P53
31P54
31X55
31X56
31U57
31X58
31C59
31U60
31C61
31P62
31C63
31U64
31X65
31U66
31U67
31U68
31U69

View File

@@ -0,0 +1,143 @@
package com.gempukku.lotro.draft2.builder;
import com.gempukku.lotro.game.CardCollection;
import com.gempukku.lotro.game.DefaultCardCollection;
import org.json.simple.JSONArray;
import org.json.simple.JSONObject;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Random;
public class StartingPoolBuilder {
public CardCollectionProducer buildCardCollectionProducer(JSONObject startingPool) {
String cardCollectionProducerType = (String) startingPool.get("type");
if (cardCollectionProducerType.equals("randomCardPool")) {
return buildRandomCardPool((JSONObject) startingPool.get("data"));
} else if (cardCollectionProducerType.equals("boosterDraftRun")) {
return buildBoosterDraftRun((JSONObject) startingPool.get("data"));
}
throw new RuntimeException("Unknown cardCollectionProducer type: "+cardCollectionProducerType);
}
private CardCollectionProducer buildRandomCardPool(JSONObject randomCardPool) {
JSONArray cardPools = (JSONArray) randomCardPool.get("randomResult");
final List<CardCollection> cardCollections = new ArrayList<CardCollection>();
Iterator<JSONArray> iterator = cardPools.iterator();
while (iterator.hasNext()) {
JSONArray cards = iterator.next();
DefaultCardCollection cardCollection = new DefaultCardCollection();
Iterator<String> cardIterator = cards.iterator();
while (cardIterator.hasNext()) {
cardCollection.addItem(cardIterator.next(), 1);
}
cardCollections.add(cardCollection);
}
return new CardCollectionProducer() {
@Override
public CardCollection getCardCollection(long seed) {
Random rnd = new Random(seed);
return cardCollections.get(rnd.nextInt(cardCollections.size()));
}
};
}
private CardCollectionProducer buildBoosterDraftRun(JSONObject boosterDraftRun) {
final int runLengthInput = ((Number) boosterDraftRun.get("runLength")).intValue();
final JSONArray coreCards = (JSONArray) boosterDraftRun.get("coreCards");
JSONArray freePeoplesRuns = (JSONArray) boosterDraftRun.get("freePeoplesRuns");
JSONArray shadowRuns = (JSONArray) boosterDraftRun.get("shadowRuns");
final List<List<String>> freePeoplesRunList = new ArrayList<List<String>>();
Iterator<JSONArray> freePeoplesIterator = freePeoplesRuns.iterator();
while (freePeoplesIterator.hasNext()) {
JSONArray cards = freePeoplesIterator.next();
List<String> orderedCards = new ArrayList<String>();
Iterator<String> cardIterator = cards.iterator();
while (cardIterator.hasNext()) {
orderedCards.add(cardIterator.next());
}
freePeoplesRunList.add(orderedCards);
}
final List<List<String>> shadowRunList = new ArrayList<List<String>>();
Iterator<JSONArray> shadowIterator = shadowRuns.iterator();
while (shadowIterator.hasNext()) {
JSONArray cards = shadowIterator.next();
List<String> orderedCards = new ArrayList<String>();
Iterator<String> cardIterator = cards.iterator();
while (cardIterator.hasNext()) {
orderedCards.add(cardIterator.next());
}
shadowRunList.add(orderedCards);
}
return new CardCollectionProducer() {
@Override
public CardCollection getCardCollection(long seed) {
Random rnd = new Random(seed);
List<String> freePeoplesRun = freePeoplesRunList.get(rnd.nextInt(freePeoplesRunList.size()));
List<String> shadowRun = shadowRunList.get(rnd.nextInt(shadowRunList.size()));
int runLength = 0;
if (freePeoplesRun.size() > 0 && shadowRun.size() > 0) {
runLength = Math.min(runLengthInput, Math.min(freePeoplesRun.size(), shadowRun.size()));
} else if (freePeoplesRun.size() > 0) {
runLength = Math.min(runLengthInput, freePeoplesRun.size());
} else {
runLength = Math.min(runLengthInput, shadowRun.size());
}
String[] draftRun = new String[runLength];
if (freePeoplesRun.size() > 0) {
int runSeed = rnd.nextInt() % freePeoplesRun.size();
if (runSeed + runLength > freePeoplesRun.size()) {
int runFromStart = runSeed + runLength - freePeoplesRun.size();
int runAtEnd = runLength - runFromStart;
for (int i = 0; i < runAtEnd; i++) {
draftRun[i] = freePeoplesRun.get(runSeed+i);
}
for (int i = 0; i < runFromStart; i++) {
draftRun[runAtEnd + i] = freePeoplesRun.get(i);
}
} else {
for (int i = 0; i < runLength; i++) {
draftRun[i] = freePeoplesRun.get(runSeed+i);
}
}
}
if (shadowRun.size() > 0) {
int runSeed = rnd.nextInt() % shadowRun.size();
if (runSeed + runLength > shadowRun.size()) {
int runFromStart = runSeed + runLength - shadowRun.size();
int runAtEnd = runLength - runFromStart;
for (int i = 0; i < runAtEnd; i++) {
draftRun[i] = shadowRun.get(runSeed+i);
}
for (int i = 0; i < runFromStart; i++) {
draftRun[runAtEnd + i] = shadowRun.get(i);
}
} else {
for (int i = 0; i < runLength; i++) {
draftRun[i] = shadowRun.get(runSeed+i);
}
}
}
final DefaultCardCollection draftCollection = new DefaultCardCollection();
Iterator<String> iterator = coreCards.iterator();
while (iterator.hasNext()) {
draftCollection.addItem(iterator.next(), 1);
}
for (int i = 0; i < draftRun.length; i++) {
draftCollection.addItem(draftRun[i], 1);
}
return draftCollection;
}
};
}
}

View File

@@ -0,0 +1,295 @@
{
"format": "limited_fotr",
"startingPool": {
"type": "boosterDraftRun",
"data": {
"runLength": 14,
"coreCards": ["1_2","1_290"],
"freePeoplesRuns": [
["1_296", "2_110", "1_12", "1_365", "1_112", "1_365", "1_311", "1_317", "2_104", "3_122", "1_364", "3_35", "1_78", "1_364", "2_114", "1_299", "1_303", "3_121", "1_365", "1_112", "1_365", "2_110", "1_298", "2_104", "1_51", "1_364", "3_35", "1_76", "1_364", "2_114"],
["1_26", "1_7", "1_9", "1_11", "1_5", "2_121", "1_97", "2_37", "1_97", "1_51", "1_37", "1_48", "1_32", "1_51", "1_97", "2_121", "1_5", "2_6", "1_9", "1_7", "1_6", "2_121", "1_97", "3_7", "1_37", "1_48", "2_18", "3_7", "1_97", "2_121"]
],
"shadowRuns": [
["3_96", "1_270", "2_89", "1_262", "1_262", "2_89", "1_270", "3_96", "1_231", "2_61", "1_179", "2_63", "1_184", "2_62", "2_62", "1_184", "2_63", "1_179", "2_61", "1_234", "1_158", "1_152", "1_154", "1_151", "1_145", "1_151", "1_154", "1_152", "1_158", "1_231", "3_100", "1_267", "1_270", "1_271", "1_271", "1_270", "1_267", "3_100", "1_234", "1_177", "2_67", "1_178", "1_176", "2_60", "2_60", "1_176", "1_178", "2_67", "1_77", "1_231", "3_57", "3_58", "3_59", "3_62", "3_69", "3_62", "3_59", "3_58", "3_57", "1_234"]
]
}
},
"choices": [
{
"type": "filterPick",
"repeat": 1,
"data": {
"optionCount": 5,
"filter": "side:FREE_PEOPLE set:1,2,3 rarity:R"
}
},
{
"type": "weightedSwitch",
"repeat": 10,
"data": {
"switchResult": [
{
"weight": 0.1,
"type": "filterPick",
"data": {
"optionCount": 5,
"filter": "side:FREE_PEOPLE set:1 rarity:R"
}
},
{
"weight": 0.3,
"type": "filterPick",
"data": {
"optionCount": 8,
"filter": "side:FREE_PEOPLE set:1 rarity:U,P"
}
},
{
"weight": 0.6,
"type": "filterPick",
"data": {
"optionCount": 10,
"filter": "side:FREE_PEOPLE set:1 rarity:C"
}
}
]
}
},{
"type": "weightedSwitch",
"repeat": 10,
"data": {
"switchResult": [
{
"weight": 0.1,
"type": "filterPick",
"data": {
"optionCount": 5,
"filter": "side:FREE_PEOPLE set:2 rarity:R"
}
},
{
"weight": 0.3,
"type": "filterPick",
"data": {
"optionCount": 8,
"filter": "side:FREE_PEOPLE set:2 rarity:U,P"
}
},
{
"weight": 0.6,
"type": "filterPick",
"data": {
"optionCount": 10,
"filter": "side:FREE_PEOPLE set:2 rarity:C"
}
}
]
}
},{
"type": "weightedSwitch",
"repeat": 10,
"data": {
"switchResult": [
{
"weight": 0.1,
"type": "filterPick",
"data": {
"optionCount": 5,
"filter": "side:FREE_PEOPLE set:3 rarity:R"
}
},
{
"weight": 0.3,
"type": "filterPick",
"data": {
"optionCount": 8,
"filter": "side:FREE_PEOPLE set:3 rarity:U,P"
}
},
{
"weight": 0.6,
"type": "filterPick",
"data": {
"optionCount": 10,
"filter": "side:FREE_PEOPLE set:3 rarity:C"
}
}
]
}
},
{
"type": "filterPick",
"repeat": 1,
"data": {
"optionCount": 5,
"filter": "side:SHADOW set:1,2,3 rarity:R"
}
},
{
"type": "weightedSwitch",
"repeat": 10,
"data": {
"switchResult": [
{
"weight": 0.1,
"type": "filterPick",
"data": {
"optionCount": 5,
"filter": "side:SHADOW set:1 rarity:R"
}
},
{
"weight": 0.3,
"type": "filterPick",
"data": {
"optionCount": 8,
"filter": "side:SHADOW set:1 rarity:U,P"
}
},
{
"weight": 0.6,
"type": "filterPick",
"data": {
"optionCount": 10,
"filter": "side:SHADOW set:1 rarity:C"
}
}
]
}
},{
"type": "weightedSwitch",
"repeat": 10,
"data": {
"switchResult": [
{
"weight": 0.1,
"type": "filterPick",
"data": {
"optionCount": 5,
"filter": "side:SHADOW set:2 rarity:R"
}
},
{
"weight": 0.3,
"type": "filterPick",
"data": {
"optionCount": 8,
"filter": "side:SHADOW set:2 rarity:U,P"
}
},
{
"weight": 0.6,
"type": "filterPick",
"data": {
"optionCount": 10,
"filter": "side:SHADOW set:2 rarity:C"
}
}
]
}
},{
"type": "weightedSwitch",
"repeat": 10,
"data": {
"switchResult": [
{
"weight": 0.1,
"type": "filterPick",
"data": {
"optionCount": 5,
"filter": "side:SHADOW set:3 rarity:R"
}
},
{
"weight": 0.3,
"type": "filterPick",
"data": {
"optionCount": 8,
"filter": "side:SHADOW set:3 rarity:U,P"
}
},
{
"weight": 0.6,
"type": "filterPick",
"data": {
"optionCount": 10,
"filter": "side:SHADOW set:3 rarity:C"
}
}
]
}
},
{
"type": "filterPick",
"repeat": 1,
"data": {
"optionCount": 3,
"filter": "cardType:SITE set:1,2,3 siteNumber:1"
}
},
{
"type": "filterPick",
"repeat": 1,
"data": {
"optionCount": 3,
"filter": "cardType:SITE set:1,2,3 siteNumber:2"
}
},
{
"type": "filterPick",
"repeat": 1,
"data": {
"optionCount": 3,
"filter": "cardType:SITE set:1,2,3 siteNumber:3"
}
},
{
"type": "filterPick",
"repeat": 1,
"data": {
"optionCount": 3,
"filter": "cardType:SITE set:1,2,3 siteNumber:4"
}
},
{
"type": "filterPick",
"repeat": 1,
"data": {
"optionCount": 3,
"filter": "cardType:SITE set:1,2,3 siteNumber:5"
}
},
{
"type": "filterPick",
"repeat": 1,
"data": {
"optionCount": 3,
"filter": "cardType:SITE set:1,2,3 siteNumber:6"
}
},
{
"type": "filterPick",
"repeat": 1,
"data": {
"optionCount": 3,
"filter": "cardType:SITE set:1,2,3 siteNumber:7"
}
},
{
"type": "filterPick",
"repeat": 1,
"data": {
"optionCount": 3,
"filter": "cardType:SITE set:1,2,3 siteNumber:8"
}
},
{
"type": "filterPick",
"repeat": 1,
"data": {
"optionCount": 3,
"filter": "cardType:SITE set:1,2,3 siteNumber:9"
}
}
]
}

View File

@@ -0,0 +1,133 @@
{
"format": "limited_hobbit",
"startingPool": {
"type": "randomCardPool",
"data": {
"randomResult": [
["30_1", "30_2", "30_3", "30_4", "30_5", "30_6", "30_7", "30_8", "30_9", "30_10", "30_11", "30_12", "30_13", "30_14", "30_15", "30_16", "30_17", "30_18", "30_19", "30_20", "30_21", "30_22", "30_23", "30_24", "30_29", "30_30", "30_31", "30_47", "30_48", "30_32", "30_32", "30_32", "30_33", "30_33", "30_34", "30_34", "30_35", "30_35", "30_35", "30_35", "30_36", "30_36", "30_37", "30_37", "30_38", "30_38", "30_39", "30_39", "30_39", "30_40", "30_40", "30_40", "30_41", "30_41", "30_42", "30_42", "30_42", "30_42", "30_58", "30_49", "30_50", "30_51", "30_52", "30_53", "30_54", "30_55", "30_56", "30_57"]
]
}
},
"choices": [
{
"type": "filterPick",
"repeat": 1,
"data": {
"optionCount": 1,
"filter": "side:FREE_PEOPLE name:Bilbo set:30"
}
},
{
"type": "filterPick",
"repeat": 1,
"data": {
"optionCount": 1,
"filter": "side:FREE_PEOPLE name:Gandalf set:30"
}
},
{
"type": "weightedSwitch",
"repeat": 22,
"data": {
"switchResult": [
{
"weight": 0.05,
"type": "filterPick",
"data": {
"optionCount": 2,
"filter": "side:SHADOW set:30,31 rarity:X"
}
},
{
"weight": 0.1,
"type": "filterPick",
"data": {
"optionCount": 2,
"filter": "side:SHADOW set:30,31 rarity:R"
}
},
{
"weight": 0.13,
"type": "filterPick",
"data": {
"optionCount": 3,
"filter": "side:SHADOW set:30,31 rarity:P"
}
},
{
"weight": 0.36,
"type": "filterPick",
"data": {
"optionCount": 4,
"filter": "side:SHADOW set:30,31 rarity:U"
}
},
{
"weight": 0.36,
"type": "filterPick",
"data": {
"optionCount": 5,
"filter": "side:SHADOW set:30,31 rarity:C"
}
}
]
}
},
{
"type": "weightedSwitch",
"repeat": 18,
"data": {
"switchResult": [
{
"weight": 0.15,
"type": "filterPick",
"data": {
"optionCount": 4,
"filter": "side:FREE_PEOPLE set:30,31 rarity:X"
}
},
{
"weight": 0.25,
"type": "filterPick",
"data": {
"optionCount": 6,
"filter": "side:FREE_PEOPLE set:30,31 rarity:R"
}
},
{
"weight": 0.6,
"type": "filterPick",
"data": {
"optionCount": 5,
"filter": "side:FREE_PEOPLE set:30,31 rarity:C"
}
}
]
}
},
{
"type": "weightedSwitch",
"repeat": 5,
"data": {
"switchResult": [
{
"weight": 0.2,
"type": "filterPick",
"data": {
"optionCount": 3,
"filter": "cardType:SITE set:30,31 rarity:X"
}
},
{
"weight": 0.8,
"type": "filterPick",
"data": {
"optionCount": 4,
"filter": "cardType:SITE set:30,31 rarity:P"
}
}
]
}
}
]
}

View File

@@ -0,0 +1,295 @@
{
"format": "limited_ttt",
"startingPool": {
"type": "boosterDraftRun",
"data": {
"runLength": 14,
"coreCards": ["4_2","4_302"],
"freePeoplesRuns": [
["4_90", "4_105", "4_97", "4_98", "4_97", "4_105", "4_90", "4_109", "4_115", "4_112", "4_115", "4_109", "4_71", "4_83", "4_76", "4_78", "4_83", "4_71", "4_74", "4_87", "4_70", "4_87", "4_74", "4_117", "4_135", "4_112", "4_128", "4_130", "4_135", "4_117"],
["4_266", "4_278", "4_277", "4_273", "4_273", "4_281", "4_283", "4_266", "4_270", "4_287", "4_265", "4_297", "4_265", "4_287", "4_270", "4_49", "4_44", "4_42", "4_58", "4_42", "4_44", "4_49", "4_310", "4_322", "4_308", "4_314", "4_310", "4_308", "4_322", "4_314"]
],
"shadowRuns": [
["4_248", "4_221", "4_222", "4_227", "4_226", "4_224", "4_228", "4_258", "4_228", "4_224", "4_226", "4_227", "4_222", "4_221", "4_248", "4_165", "4_191", "4_184", "4_206", "4_204", "4_180", "4_198", "4_137", "4_198", "4_180", "4_204", "4_206", "4_184", "4_191", "4_165", "4_4", "4_17", "4_16", "4_25", "4_10", "4_14", "4_12", "4_21", "4_12", "4_14", "4_10", "4_25", "4_16", "4_17", "4_4", "4_207", "4_181", "4_193", "4_189", "4_187", "4_190", "4_178", "4_153", "4_178", "4_190", "4_187", "4_189", "4_193", "4_181", "4_207"]
]
}
},
"choices": [
{
"type": "filterPick",
"repeat": 1,
"data": {
"optionCount": 5,
"filter": "side:FREE_PEOPLE set:4,5,6 rarity:R"
}
},
{
"type": "weightedSwitch",
"repeat": 10,
"data": {
"switchResult": [
{
"weight": 0.1,
"type": "filterPick",
"data": {
"optionCount": 5,
"filter": "side:FREE_PEOPLE set:4 rarity:R"
}
},
{
"weight": 0.3,
"type": "filterPick",
"data": {
"optionCount": 8,
"filter": "side:FREE_PEOPLE set:4 rarity:U,P"
}
},
{
"weight": 0.6,
"type": "filterPick",
"data": {
"optionCount": 10,
"filter": "side:FREE_PEOPLE set:4 rarity:C"
}
}
]
}
},{
"type": "weightedSwitch",
"repeat": 10,
"data": {
"switchResult": [
{
"weight": 0.1,
"type": "filterPick",
"data": {
"optionCount": 5,
"filter": "side:FREE_PEOPLE set:5 rarity:R"
}
},
{
"weight": 0.3,
"type": "filterPick",
"data": {
"optionCount": 8,
"filter": "side:FREE_PEOPLE set:5 rarity:U,P"
}
},
{
"weight": 0.6,
"type": "filterPick",
"data": {
"optionCount": 10,
"filter": "side:FREE_PEOPLE set:5 rarity:C"
}
}
]
}
},{
"type": "weightedSwitch",
"repeat": 10,
"data": {
"switchResult": [
{
"weight": 0.1,
"type": "filterPick",
"data": {
"optionCount": 5,
"filter": "side:FREE_PEOPLE set:6 rarity:R"
}
},
{
"weight": 0.3,
"type": "filterPick",
"data": {
"optionCount": 8,
"filter": "side:FREE_PEOPLE set:6 rarity:U,P"
}
},
{
"weight": 0.6,
"type": "filterPick",
"data": {
"optionCount": 10,
"filter": "side:FREE_PEOPLE set:6 rarity:C"
}
}
]
}
},
{
"type": "filterPick",
"repeat": 1,
"data": {
"optionCount": 5,
"filter": "side:SHADOW set:4,5,6 rarity:R"
}
},
{
"type": "weightedSwitch",
"repeat": 10,
"data": {
"switchResult": [
{
"weight": 0.1,
"type": "filterPick",
"data": {
"optionCount": 5,
"filter": "side:SHADOW set:4 rarity:R"
}
},
{
"weight": 0.3,
"type": "filterPick",
"data": {
"optionCount": 8,
"filter": "side:SHADOW set:4 rarity:U,P"
}
},
{
"weight": 0.6,
"type": "filterPick",
"data": {
"optionCount": 10,
"filter": "side:SHADOW set:4 rarity:C"
}
}
]
}
},{
"type": "weightedSwitch",
"repeat": 10,
"data": {
"switchResult": [
{
"weight": 0.1,
"type": "filterPick",
"data": {
"optionCount": 5,
"filter": "side:SHADOW set:5 rarity:R"
}
},
{
"weight": 0.3,
"type": "filterPick",
"data": {
"optionCount": 8,
"filter": "side:SHADOW set:5 rarity:U,P"
}
},
{
"weight": 0.6,
"type": "filterPick",
"data": {
"optionCount": 10,
"filter": "side:SHADOW set:5 rarity:C"
}
}
]
}
},{
"type": "weightedSwitch",
"repeat": 10,
"data": {
"switchResult": [
{
"weight": 0.1,
"type": "filterPick",
"data": {
"optionCount": 5,
"filter": "side:SHADOW set:6 rarity:R"
}
},
{
"weight": 0.3,
"type": "filterPick",
"data": {
"optionCount": 8,
"filter": "side:SHADOW set:6 rarity:U,P"
}
},
{
"weight": 0.6,
"type": "filterPick",
"data": {
"optionCount": 10,
"filter": "side:SHADOW set:6 rarity:C"
}
}
]
}
},
{
"type": "filterPick",
"repeat": 1,
"data": {
"optionCount": 3,
"filter": "cardType:SITE set:4,5,6 siteNumber:1"
}
},
{
"type": "filterPick",
"repeat": 1,
"data": {
"optionCount": 3,
"filter": "cardType:SITE set:4,5,6 siteNumber:2"
}
},
{
"type": "filterPick",
"repeat": 1,
"data": {
"optionCount": 3,
"filter": "cardType:SITE set:4,5,6 siteNumber:3"
}
},
{
"type": "filterPick",
"repeat": 1,
"data": {
"optionCount": 3,
"filter": "cardType:SITE set:4,5,6 siteNumber:4"
}
},
{
"type": "filterPick",
"repeat": 1,
"data": {
"optionCount": 3,
"filter": "cardType:SITE set:4,5,6 siteNumber:5"
}
},
{
"type": "filterPick",
"repeat": 1,
"data": {
"optionCount": 3,
"filter": "cardType:SITE set:4,5,6 siteNumber:6"
}
},
{
"type": "filterPick",
"repeat": 1,
"data": {
"optionCount": 3,
"filter": "cardType:SITE set:4,5,6 siteNumber:7"
}
},
{
"type": "filterPick",
"repeat": 1,
"data": {
"optionCount": 3,
"filter": "cardType:SITE set:4,5,6 siteNumber:8"
}
},
{
"type": "filterPick",
"repeat": 1,
"data": {
"optionCount": 3,
"filter": "cardType:SITE set:4,5,6 siteNumber:9"
}
}
]
}

View File

@@ -2,5 +2,17 @@
{
"type": "test_draft",
"location": "/draft/testDraft.json"
},
{
"type": "fotr_draft",
"location": "/draft/fellowshipDraft.json"
},
{
"type": "ttt_draft",
"location": "/draft/twoTowersDraft.json"
},
{
"type": "hobbit_draft",
"location": "/draft/hobbitDraft.json"
}
]
]