Merge branch 'jmp-packs' into 'master'

Playing Jumpstart with Sealed play

See merge request core-developers/forge!3056
This commit is contained in:
Michael Kamensky
2020-08-12 04:31:07 +00:00
5 changed files with 2074 additions and 4 deletions

View File

@@ -78,6 +78,16 @@ public class PrintSheet {
return fetchRoulette(sum + 1, roulette, toSkip); // start over from beginning, in case last cards were to skip return fetchRoulette(sum + 1, roulette, toSkip); // start over from beginning, in case last cards were to skip
} }
public List<PaperCard> all() {
List<PaperCard> result = new ArrayList<>();
for(Entry<PaperCard, Integer> kv : cardsWithWeights) {
for(int i = 0; i < kv.getValue(); i++) {
result.add(kv.getKey());
}
}
return result;
}
public List<PaperCard> random(int number, boolean wantUnique) { public List<PaperCard> random(int number, boolean wantUnique) {
List<PaperCard> result = new ArrayList<>(); List<PaperCard> result = new ArrayList<>();

View File

@@ -229,6 +229,13 @@ public class BoosterGenerator {
String sheetKey = StaticData.instance().getEditions().contains(setCode) ? slotType.trim() + " " + setCode String sheetKey = StaticData.instance().getEditions().contains(setCode) ? slotType.trim() + " " + setCode
: slotType.trim(); : slotType.trim();
if (sheetKey.startsWith("wholeSheet")) {
PrintSheet ps = getPrintSheet(sheetKey);
result.addAll(ps.all());
sheetsUsed.add(ps);
continue;
}
slotType = slotType.split("[ :!]")[0]; // add expansion symbol here? slotType = slotType.split("[ :!]")[0]; // add expansion symbol here?
boolean foilInThisSlot = hasFoil && (slotType.equals(foilSlot)); boolean foilInThisSlot = hasFoil && (slotType.equals(foilSlot));
@@ -438,9 +445,10 @@ public class BoosterGenerator {
String mainCode = itMod.next(); String mainCode = itMod.next();
if (mainCode.regionMatches(true, 0, "fromSheet", 0, 9)) { // custom print sheet if (mainCode.regionMatches(true, 0, "fromSheet", 0, 9) ||
mainCode.regionMatches(true, 0, "wholeSheet", 0, 10)
String sheetName = StringUtils.strip(mainCode.substring(9), "()\" "); ) { // custom print sheet
String sheetName = StringUtils.strip(mainCode.substring(10), "()\" ");
src = StaticData.instance().getPrintSheets().get(sheetName).toFlatList(); src = StaticData.instance().getPrintSheets().get(sheetName).toFlatList();
setPred = Predicates.alwaysTrue(); setPred = Predicates.alwaysTrue();

View File

@@ -87,4 +87,5 @@ Theros: Beyond Death, 3/6/THB, THB
Mystery Booster, 3/6/THB, MB1 Mystery Booster, 3/6/THB, MB1
Ikoria: Lair of Behemoths, 3/6/IKO, IKO Ikoria: Lair of Behemoths, 3/6/IKO, IKO
Core Set 2021, 3/6/M21, M21 Core Set 2021, 3/6/M21, M21
Jumpstart, -/2/JMP, Meta-Choose(S(JMP Above the Clouds 1)Above the Clouds 1;S(JMP Above the Clouds 2)Above the Clouds 2;S(JMP Above the Clouds 3)Above the Clouds 3;S(JMP Above the Clouds 4)Above the Clouds 4;S(JMP Angels 1)Angels 1;S(JMP Angels 2)Angels 2;S(JMP Archaeology 1)Archaeology 1;S(JMP Archaeology 2)Archaeology 2;S(JMP Archaeology 3)Archaeology 3;S(JMP Archaeology 4: 1 wholeSheet("JMP Archaeology 4"))Archaeology 4: 1 wholeSheet("JMP Archaeology 4");S(JMP Basri)Basri;S(JMP Cats 1)Cats 1;S(JMP Cats 2)Cats 2;S(JMP Chandra)Chandra;S(JMP Devilish 1)Devilish 1;S(JMP Devilish 2)Devilish 2;S(JMP Devilish 3)Devilish 3;S(JMP Devilish 4)Devilish 4;S(JMP Dinosaurs 1)Dinosaurs 1;S(JMP Dinosaurs 2)Dinosaurs 2;S(JMP Dinosaurs 3)Dinosaurs 3;S(JMP Dinosaurs 4)Dinosaurs 4;S(JMP Discarding 1)Discarding 1;S(JMP Discarding 2)Discarding 2;S(JMP Doctor 1)Doctor 1;S(JMP Doctor 2)Doctor 2;S(JMP Doctor 3)Doctor 3;S(JMP Doctor 4)Doctor 4;S(JMP Dogs 1)Dogs 1;S(JMP Dogs 2)Dogs 2;S(JMP Dragons 1)Dragons 1;S(JMP Dragons 2)Dragons 2;S(JMP Elves 1)Elves 1;S(JMP Elves 2)Elves 2;S(JMP Enchanted 1)Enchanted 1;S(JMP Enchanted 2)Enchanted 2;S(JMP Feathered Friends 1)Feathered Friends 1;S(JMP Feathered Friends 2)Feathered Friends 2;S(JMP Feathered Friends 3)Feathered Friends 3;S(JMP Feathered Friends 4)Feathered Friends 4;S(JMP Garruk)Garruk;S(JMP Goblins 1)Goblins 1;S(JMP Goblins 2)Goblins 2;S(JMP Goblins 3)Goblins 3;S(JMP Goblins 4)Goblins 4;S(JMP Heavily Armored 1)Heavily Armored 1;S(JMP Heavily Armored 2)Heavily Armored 2;S(JMP Heavily Armored 3)Heavily Armored 3;S(JMP Heavily Armored 4)Heavily Armored 4;S(JMP Lands 1)Lands 1;S(JMP Lands 2)Lands 2;S(JMP Legion 1)Legion 1;S(JMP Legion 2)Legion 2;S(JMP Legion 3)Legion 3;S(JMP Legion 4)Legion 4;S(JMP Lightning 1)Lightning 1;S(JMP Lightning 2)Lightning 2;S(JMP Liliana)Liliana;S(JMP Milling)Milling;S(JMP Minions 1)Minions 1;S(JMP Minions 2)Minions 2;S(JMP Minions 3)Minions 3;S(JMP Minions 4)Minions 4;S(JMP Minotaurs 1)Minotaurs 1;S(JMP Minotaurs 2)Minotaurs 2;S(JMP Phyrexian)Phyrexian;S(JMP Pirates 1)Pirates 1;S(JMP Pirates 2)Pirates 2;S(JMP Plus One 1)Plus One 1;S(JMP Plus One 2)Plus One 2;S(JMP Plus One 3)Plus One 3;S(JMP Plus One 4)Plus One 4;S(JMP Predatory 1)Predatory 1;S(JMP Predatory 2)Predatory 2;S(JMP Predatory 3)Predatory 3;S(JMP Predatory 4)Predatory 4;S(JMP Rainbow)Rainbow;S(JMP Reanimated 1)Reanimated 1;S(JMP Reanimated 2)Reanimated 2;S(JMP Reanimated 3)Reanimated 3;S(JMP Reanimated 4)Reanimated 4;S(JMP Rogues 1)Rogues 1;S(JMP Rogues 2)Rogues 2;S(JMP Seismic)Seismic;S(JMP Smashing 1)Smashing 1;S(JMP Smashing 2)Smashing 2;S(JMP Smashing 3)Smashing 3;S(JMP Smashing 4)Smashing 4;S(JMP Spellcasting 1)Spellcasting 1;S(JMP Spellcasting 2)Spellcasting 2;S(JMP Spellcasting 3)Spellcasting 3;S(JMP Spellcasting 4)Spellcasting 4;S(JMP Spirits 1)Spirits 1;S(JMP Spirits 2)Spirits 2;S(JMP Spooky 1)Spooky 1;S(JMP Spooky 2)Spooky 2;S(JMP Spooky 3)Spooky 3;S(JMP Spooky 4)Spooky 4;S(JMP Teferi)Teferi;S(JMP Tree Hugging 1)Tree Hugging 1;S(JMP Tree Hugging 2)Tree Hugging 2;S(JMP Tree Hugging 3)Tree Hugging 3;S(JMP Tree Hugging 4)Tree Hugging 4;S(JMP Under the Sea 1)Under the Sea 1;S(JMP Under the Sea 2)Under the Sea 2;S(JMP Unicorns)Unicorns;S(JMP Vampires 1)Vampires 1;S(JMP Vampires 2)Vampires 2;S(JMP Vampires 3)Vampires 3;S(JMP Vampires 4)Vampires 4;S(JMP Walls)Walls;S(JMP Well-Read 1)Well-Read 1;S(JMP Well-Read 2)Well-Read 2;S(JMP Well-Read 3)Well-Read 3;S(JMP Well-Read 4)Well-Read 4;S(JMP Witchcraft 1)Witchcraft 1;S(JMP Witchcraft 2)Witchcraft 2;S(JMP Wizards 1)Wizards 1;S(JMP Wizards 2)Wizards 2;S(JMP Wizards 3)Wizards 3;S(JMP Wizards 4)Wizards 4)Themes
Double Masters, 3/6/2XM, 2XM Double Masters, 3/6/2XM, 2XM

View File

@@ -28,3 +28,126 @@ ORI Prerelease Jace: 4 Common:fromSheet("ORI Jace"), 2 Uncommon:fromSheet("ORI J
ORI Prerelease Liliana: 4 Common:fromSheet("ORI Liliana"), 2 Uncommon:fromSheet("ORI Liliana"), 1 RareMythic:fromSheet("ORI Liliana") ORI Prerelease Liliana: 4 Common:fromSheet("ORI Liliana"), 2 Uncommon:fromSheet("ORI Liliana"), 1 RareMythic:fromSheet("ORI Liliana")
ORI Prerelease Chandra: 4 Common:fromSheet("ORI Chandra"), 2 Uncommon:fromSheet("ORI Chandra"), 1 RareMythic:fromSheet("ORI Chandra") ORI Prerelease Chandra: 4 Common:fromSheet("ORI Chandra"), 2 Uncommon:fromSheet("ORI Chandra"), 1 RareMythic:fromSheet("ORI Chandra")
ORI Prerelease Nissa: 4 Common:fromSheet("ORI Nissa"), 2 Uncommon:fromSheet("ORI Nissa"), 1 RareMythic:fromSheet("ORI Nissa") ORI Prerelease Nissa: 4 Common:fromSheet("ORI Nissa"), 2 Uncommon:fromSheet("ORI Nissa"), 1 RareMythic:fromSheet("ORI Nissa")
# Jump Start
JMP Above the Clouds 1: 1 wholeSheet("JMP Above the Clouds 1")
JMP Above the Clouds 2: 1 wholeSheet("JMP Above the Clouds 2")
JMP Above the Clouds 3: 1 wholeSheet("JMP Above the Clouds 3")
JMP Above the Clouds 4: 1 wholeSheet("JMP Above the Clouds 4")
JMP Angels 1: 1 wholeSheet("JMP Angels 1")
JMP Angels 2: 1 wholeSheet("JMP Angels 2")
JMP Archaeology 1: 1 wholeSheet("JMP Archaeology 1")
JMP Archaeology 2: 1 wholeSheet("JMP Archaeology 2")
JMP Archaeology 3: 1 wholeSheet("JMP Archaeology 3")
JMP Archaeology 4: 1 wholeSheet("JMP Archaeology 4")
JMP Basri: 1 wholeSheet("JMP Basri")
JMP Cats 1: 1 wholeSheet("JMP Cats 1")
JMP Cats 2: 1 wholeSheet("JMP Cats 2")
JMP Chandra: 1 wholeSheet("JMP Chandra")
JMP Devilish 1: 1 wholeSheet("JMP Devilish 1")
JMP Devilish 2: 1 wholeSheet("JMP Devilish 2")
JMP Devilish 3: 1 wholeSheet("JMP Devilish 3")
JMP Devilish 4: 1 wholeSheet("JMP Devilish 4")
JMP Dinosaurs 1: 1 wholeSheet("JMP Dinosaurs 1")
JMP Dinosaurs 2: 1 wholeSheet("JMP Dinosaurs 2")
JMP Dinosaurs 3: 1 wholeSheet("JMP Dinosaurs 3")
JMP Dinosaurs 4: 1 wholeSheet("JMP Dinosaurs 4")
JMP Discarding 1: 1 wholeSheet("JMP Discarding 1")
JMP Discarding 2: 1 wholeSheet("JMP Discarding 2")
JMP Doctor 1: 1 wholeSheet("JMP Doctor 1")
JMP Doctor 2: 1 wholeSheet("JMP Doctor 2")
JMP Doctor 3: 1 wholeSheet("JMP Doctor 3")
JMP Doctor 4: 1 wholeSheet("JMP Doctor 4")
JMP Dogs 1: 1 wholeSheet("JMP Dogs 1")
JMP Dogs 2: 1 wholeSheet("JMP Dogs 2")
JMP Dragons 1: 1 wholeSheet("JMP Dragons 1")
JMP Dragons 2: 1 wholeSheet("JMP Dragons 2")
JMP Elves 1: 1 wholeSheet("JMP Elves 1")
JMP Elves 2: 1 wholeSheet("JMP Elves 2")
JMP Enchanted 1: 1 wholeSheet("JMP Enchanted 1")
JMP Enchanted 2: 1 wholeSheet("JMP Enchanted 2")
JMP Feathered Friends 1: 1 wholeSheet("JMP Feathered Friends 1")
JMP Feathered Friends 2: 1 wholeSheet("JMP Feathered Friends 2")
JMP Feathered Friends 3: 1 wholeSheet("JMP Feathered Friends 3")
JMP Feathered Friends 4: 1 wholeSheet("JMP Feathered Friends 4")
JMP Garruk: 1 wholeSheet("JMP Garruk")
JMP Goblins 1: 1 wholeSheet("JMP Goblins 1")
JMP Goblins 2: 1 wholeSheet("JMP Goblins 2")
JMP Goblins 3: 1 wholeSheet("JMP Goblins 3")
JMP Goblins 4: 1 wholeSheet("JMP Goblins 4")
JMP Heavily Armored 1: 1 wholeSheet("JMP Heavily Armored 1")
JMP Heavily Armored 2: 1 wholeSheet("JMP Heavily Armored 2")
JMP Heavily Armored 3: 1 wholeSheet("JMP Heavily Armored 3")
JMP Heavily Armored 4: 1 wholeSheet("JMP Heavily Armored 4")
JMP Lands 1: 1 wholeSheet("JMP Lands 1")
JMP Lands 2: 1 wholeSheet("JMP Lands 2")
JMP Legion 1: 1 wholeSheet("JMP Legion 1")
JMP Legion 2: 1 wholeSheet("JMP Legion 2")
JMP Legion 3: 1 wholeSheet("JMP Legion 3")
JMP Legion 4: 1 wholeSheet("JMP Legion 4")
JMP Lightning 1: 1 wholeSheet("JMP Lightning 1")
JMP Lightning 2: 1 wholeSheet("JMP Lightning 2")
JMP Liliana: 1 wholeSheet("JMP Liliana")
JMP Milling: 1 wholeSheet("JMP Milling")
JMP Minions 1: 1 wholeSheet("JMP Minions 1")
JMP Minions 2: 1 wholeSheet("JMP Minions 2")
JMP Minions 3: 1 wholeSheet("JMP Minions 3")
JMP Minions 4: 1 wholeSheet("JMP Minions 4")
JMP Minotaurs 1: 1 wholeSheet("JMP Minotaurs 1")
JMP Minotaurs 2: 1 wholeSheet("JMP Minotaurs 2")
JMP Phyrexian: 1 wholeSheet("JMP Phyrexian")
JMP Pirates 1: 1 wholeSheet("JMP Pirates 1")
JMP Pirates 2: 1 wholeSheet("JMP Pirates 2")
JMP Plus One 1: 1 wholeSheet("JMP Plus One 1")
JMP Plus One 2: 1 wholeSheet("JMP Plus One 2")
JMP Plus One 3: 1 wholeSheet("JMP Plus One 3")
JMP Plus One 4: 1 wholeSheet("JMP Plus One 4")
JMP Predatory 1: 1 wholeSheet("JMP Predatory 1")
JMP Predatory 2: 1 wholeSheet("JMP Predatory 2")
JMP Predatory 3: 1 wholeSheet("JMP Predatory 3")
JMP Predatory 4: 1 wholeSheet("JMP Predatory 4")
JMP Rainbow: 1 wholeSheet("JMP Rainbow")
JMP Reanimated 1: 1 wholeSheet("JMP Reanimated 1")
JMP Reanimated 2: 1 wholeSheet("JMP Reanimated 2")
JMP Reanimated 3: 1 wholeSheet("JMP Reanimated 3")
JMP Reanimated 4: 1 wholeSheet("JMP Reanimated 4")
JMP Rogues 1: 1 wholeSheet("JMP Rogues 1")
JMP Rogues 2: 1 wholeSheet("JMP Rogues 2")
JMP Seismic: 1 wholeSheet("JMP Seismic")
JMP Smashing 1: 1 wholeSheet("JMP Smashing 1")
JMP Smashing 2: 1 wholeSheet("JMP Smashing 2")
JMP Smashing 3: 1 wholeSheet("JMP Smashing 3")
JMP Smashing 4: 1 wholeSheet("JMP Smashing 4")
JMP Spellcasting 1: 1 wholeSheet("JMP Spellcasting 1")
JMP Spellcasting 2: 1 wholeSheet("JMP Spellcasting 2")
JMP Spellcasting 3: 1 wholeSheet("JMP Spellcasting 3")
JMP Spellcasting 4: 1 wholeSheet("JMP Spellcasting 4")
JMP Spirits 1: 1 wholeSheet("JMP Spirits 1")
JMP Spirits 2: 1 wholeSheet("JMP Spirits 2")
JMP Spooky 1: 1 wholeSheet("JMP Spooky 1")
JMP Spooky 2: 1 wholeSheet("JMP Spooky 2")
JMP Spooky 3: 1 wholeSheet("JMP Spooky 3")
JMP Spooky 4: 1 wholeSheet("JMP Spooky 4")
JMP Teferi: 1 wholeSheet("JMP Teferi")
JMP Tree Hugging 1: 1 wholeSheet("JMP Tree Hugging 1")
JMP Tree Hugging 2: 1 wholeSheet("JMP Tree Hugging 2")
JMP Tree Hugging 3: 1 wholeSheet("JMP Tree Hugging 3")
JMP Tree Hugging 4: 1 wholeSheet("JMP Tree Hugging 4")
JMP Under the Sea 1: 1 wholeSheet("JMP Under the Sea 1")
JMP Under the Sea 2: 1 wholeSheet("JMP Under the Sea 2")
JMP Unicorns: 1 wholeSheet("JMP Unicorns")
JMP Vampires 1: 1 wholeSheet("JMP Vampires 1")
JMP Vampires 2: 1 wholeSheet("JMP Vampires 2")
JMP Vampires 3: 1 wholeSheet("JMP Vampires 3")
JMP Vampires 4: 1 wholeSheet("JMP Vampires 4")
JMP Walls: 1 wholeSheet("JMP Walls")
JMP Well-Read 1: 1 wholeSheet("JMP Well-Read 1")
JMP Well-Read 2: 1 wholeSheet("JMP Well-Read 2")
JMP Well-Read 3: 1 wholeSheet("JMP Well-Read 3")
JMP Well-Read 4: 1 wholeSheet("JMP Well-Read 4")
JMP Witchcraft 1: 1 wholeSheet("JMP Witchcraft 1")
JMP Witchcraft 2: 1 wholeSheet("JMP Witchcraft 2")
JMP Wizards 1: 1 wholeSheet("JMP Wizards 1")
JMP Wizards 2: 1 wholeSheet("JMP Wizards 2")
JMP Wizards 3: 1 wholeSheet("JMP Wizards 3")
JMP Wizards 4: 1 wholeSheet("JMP Wizards 4")

File diff suppressed because it is too large Load Diff