mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-18 11:48:02 +00:00
Merge branch 'jmp-packs' into 'master'
Playing Jumpstart with Sealed play See merge request core-developers/forge!3056
This commit is contained in:
@@ -78,6 +78,16 @@ public class PrintSheet {
|
||||
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) {
|
||||
List<PaperCard> result = new ArrayList<>();
|
||||
|
||||
|
||||
@@ -229,6 +229,13 @@ public class BoosterGenerator {
|
||||
String sheetKey = StaticData.instance().getEditions().contains(setCode) ? slotType.trim() + " " + setCode
|
||||
: 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?
|
||||
|
||||
boolean foilInThisSlot = hasFoil && (slotType.equals(foilSlot));
|
||||
@@ -438,9 +445,10 @@ public class BoosterGenerator {
|
||||
|
||||
String mainCode = itMod.next();
|
||||
|
||||
if (mainCode.regionMatches(true, 0, "fromSheet", 0, 9)) { // custom print sheet
|
||||
|
||||
String sheetName = StringUtils.strip(mainCode.substring(9), "()\" ");
|
||||
if (mainCode.regionMatches(true, 0, "fromSheet", 0, 9) ||
|
||||
mainCode.regionMatches(true, 0, "wholeSheet", 0, 10)
|
||||
) { // custom print sheet
|
||||
String sheetName = StringUtils.strip(mainCode.substring(10), "()\" ");
|
||||
src = StaticData.instance().getPrintSheets().get(sheetName).toFlatList();
|
||||
setPred = Predicates.alwaysTrue();
|
||||
|
||||
|
||||
@@ -87,4 +87,5 @@ Theros: Beyond Death, 3/6/THB, THB
|
||||
Mystery Booster, 3/6/THB, MB1
|
||||
Ikoria: Lair of Behemoths, 3/6/IKO, IKO
|
||||
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
|
||||
|
||||
@@ -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 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")
|
||||
|
||||
# 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
Reference in New Issue
Block a user