From 068032efb027e04e4d1a164734cf9654bf7f43bb Mon Sep 17 00:00:00 2001 From: RumbleBBU Date: Mon, 3 Sep 2012 07:04:33 +0000 Subject: [PATCH] Added support for varying number of sets in the starter pack code. (So you could play a sealed game with, say, one starter pack and one booster by modifying blocks.txt.) --BBU --- .../forge/game/limited/SealedDeckFormat.java | 40 +++++++++---------- 1 file changed, 19 insertions(+), 21 deletions(-) diff --git a/src/main/java/forge/game/limited/SealedDeckFormat.java b/src/main/java/forge/game/limited/SealedDeckFormat.java index ddac2f038dc..b89f90d08ec 100644 --- a/src/main/java/forge/game/limited/SealedDeckFormat.java +++ b/src/main/java/forge/game/limited/SealedDeckFormat.java @@ -115,33 +115,31 @@ public class SealedDeckFormat { int starter1idx = -1; int starter2idx = -2; - if (nPacks > 5) { // paranoia... + for (int j = nPacks - 1; j >= 0 && !starter2; j--) { - for (int j = 5; j >= 0 && !starter2; j--) { + if (Singletons.getModel().getTournamentPacks().contains(pp[j])) { + if (starter1) { + starter2 = true; + starter2idx = j; - if (Singletons.getModel().getTournamentPacks().contains(pp[j])) { - if (starter1) { - starter2 = true; - starter2idx = j; - - // Prefer a different second set - if (j > 0 && pp[starter1idx].equals(pp[starter2idx])) { - for (int k = j; k >= 0; k--) { - if (Singletons.getModel().getTournamentPacks().contains(pp[k]) - && !(pp[k].equals(pp[j]))) { - starter2idx = k; - break; // Found, don't look any further. + // Prefer a different second set + if (j > 0 && pp[starter1idx].equals(pp[starter2idx])) { + for (int k = j; k >= 0; k--) { + if (Singletons.getModel().getTournamentPacks().contains(pp[k]) + && !(pp[k].equals(pp[j]))) { + starter2idx = k; + break; // Found, don't look any further. } - } } } - else { - starter1 = true; - starter1idx = j; - } - } + } + else { + starter1 = true; + starter1idx = j; + } + } } - } + if (starter1 || starter2) { final List starterPacks = new ArrayList();