From f92741282f5ff26423cfeccc3dc1135027c74c5b Mon Sep 17 00:00:00 2001 From: Krazy Date: Tue, 16 Jun 2015 02:31:50 +0000 Subject: [PATCH] Reverted r29632 and r29649 for QuestWinLoseController, removing colored booster packs from the booster selection after winning a match. --- .../forge/quest/QuestWinLoseController.java | 77 +++++-------------- 1 file changed, 18 insertions(+), 59 deletions(-) diff --git a/forge-gui/src/main/java/forge/quest/QuestWinLoseController.java b/forge-gui/src/main/java/forge/quest/QuestWinLoseController.java index 14f555a6a55..2ca95593952 100644 --- a/forge-gui/src/main/java/forge/quest/QuestWinLoseController.java +++ b/forge-gui/src/main/java/forge/quest/QuestWinLoseController.java @@ -3,7 +3,10 @@ package forge.quest; import com.google.common.collect.ImmutableList; import forge.LobbyPlayer; import forge.assets.FSkinProp; -import forge.card.*; +import forge.card.BoosterSlots; +import forge.card.CardEdition; +import forge.card.IUnOpenedProduct; +import forge.card.UnOpenedProduct; import forge.game.GameEndReason; import forge.game.GameFormat; import forge.game.GameOutcome; @@ -492,13 +495,12 @@ public class QuestWinLoseController { String title; if (qData.getFormat() == null) { - //final List formats = new ArrayList<>(); - final List formats = new ArrayList<>(); + final List formats = new ArrayList<>(); final String preferredFormat = FModel.getQuestPreferences().getPref(QPref.BOOSTER_FORMAT); GameFormat pref = null; for (final GameFormat f : FModel.getFormats().getOrderedList()) { - formats.add(f.toString()); + formats.add(f); if (f.toString().equals(preferredFormat)) { pref = f; } @@ -506,43 +508,14 @@ public class QuestWinLoseController { Collections.sort(formats); - formats.addAll(SealedProduct.specialSets); - - String preferredSelection = null; - if (pref != null) { - preferredSelection = pref.toString(); - } else if (SealedProduct.specialSets.contains(preferredFormat)) { - preferredSelection = preferredFormat; - } - final String selected = SGuiChoose.getChoices("Choose bonus booster format", 1, 1, formats, preferredSelection, null).get(0); - - if (SealedProduct.specialSets.contains(selected)) { - - BoosterPack boosterPack = BoosterPack.FN_FROM_COLOR.apply(selected); - assert boosterPack != null; - cardsWon = boosterPack.getCards(); - FModel.getQuestPreferences().setPref(QPref.BOOSTER_FORMAT, selected); - title = "Bonus " + selected + " Booster Pack!"; - - } else { - - GameFormat selectedFormat = null; - for (final GameFormat f : FModel.getFormats().getOrderedList()) { - if (f.toString().equals(selected)) { - selectedFormat = f; - } - } - - assert selectedFormat != null; - FModel.getQuestPreferences().setPref(QPref.BOOSTER_FORMAT, selected); - - cardsWon = qData.getCards().generateQuestBooster(selectedFormat.getFilterPrinted()); - title = "Bonus booster pack from the \"" + selectedFormat.getName() + "\" format!"; - - } + final GameFormat selected = SGuiChoose.getChoices("Choose bonus booster format", 1, 1, formats, pref, null).get(0); + FModel.getQuestPreferences().setPref(QPref.BOOSTER_FORMAT, selected.toString()); + cardsWon = qData.getCards().generateQuestBooster(selected.getFilterPrinted()); qData.getCards().addAllCards(cardsWon); + title = "Bonus booster pack from the \"" + selected.getName() + "\" format!"; + } else { final List sets = new ArrayList<>(); @@ -576,43 +549,29 @@ public class QuestWinLoseController { maxChoices += qData.getAssets().getItemLevel(QuestItemType.MEMBERSHIP_TOKEN); } - final List options = new ArrayList<>(); + final List options = new ArrayList<>(); while (!sets.isEmpty() && maxChoices > 0) { final int ix = MyRandom.getRandom().nextInt(sets.size()); final String set = sets.get(ix); sets.remove(ix); - if (SealedProduct.specialSets.contains(set)) { - options.add(set); - } else { - options.add(FModel.getMagicDb().getEditions().get(set).toString()); - } - if (FModel.getQuestPreferences().getPrefInt(QPref.SPECIAL_BOOSTERS) == 1) { - if (Math.random() > 0.85 - (double) (maxChoices) / 10.0) { - options.add(SealedProduct.specialSets.get((int) (Math.random() * SealedProduct.specialSets.size()))); - } - } + options.add(FModel.getMagicDb().getEditions().get(set)); maxChoices--; } - String chooseEd = SGuiChoose.one("Choose bonus booster set", options); + final CardEdition chooseEd = SGuiChoose.one("Choose bonus booster set", options); - if (SealedProduct.specialSets.contains(chooseEd)) { - final IUnOpenedProduct product = new UnOpenedProduct(QuestUtilCards.getColoredBoosterTemplate(chooseEd)); - cardsWon = product.get(); - } else if (customBooster) { - List cards = FModel.getMagicDb().getCommonCards().getAllCards(Predicates.printedInSet(FModel.getMagicDb().getEditions().get(chooseEd).getCode())); + if (customBooster) { + List cards = FModel.getMagicDb().getCommonCards().getAllCards(Predicates.printedInSet(chooseEd.getCode())); final IUnOpenedProduct product = new UnOpenedProduct(getBoosterTemplate(), cards); cardsWon = product.get(); } else { - String chosenEdition = chooseEd.substring(chooseEd.lastIndexOf("(") + 1, chooseEd.lastIndexOf(")")); - chooseEd = chooseEd.substring(0, chooseEd.lastIndexOf("(")).trim(); - final IUnOpenedProduct product = new UnOpenedProduct(FModel.getMagicDb().getBoosters().get(chosenEdition)); + final IUnOpenedProduct product = new UnOpenedProduct(FModel.getMagicDb().getBoosters().get(chooseEd.getCode())); cardsWon = product.get(); } qData.getCards().addAllCards(cardsWon); - title = "Bonus " + chooseEd + " Booster Pack!"; + title = "Bonus " + chooseEd.getName() + " Booster Pack!"; }