mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-19 12:18:00 +00:00
Reverted r29632 and r29649 for QuestWinLoseController, removing colored booster packs from the booster selection after winning a match.
This commit is contained in:
@@ -3,7 +3,10 @@ package forge.quest;
|
|||||||
import com.google.common.collect.ImmutableList;
|
import com.google.common.collect.ImmutableList;
|
||||||
import forge.LobbyPlayer;
|
import forge.LobbyPlayer;
|
||||||
import forge.assets.FSkinProp;
|
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.GameEndReason;
|
||||||
import forge.game.GameFormat;
|
import forge.game.GameFormat;
|
||||||
import forge.game.GameOutcome;
|
import forge.game.GameOutcome;
|
||||||
@@ -492,13 +495,12 @@ public class QuestWinLoseController {
|
|||||||
String title;
|
String title;
|
||||||
if (qData.getFormat() == null) {
|
if (qData.getFormat() == null) {
|
||||||
|
|
||||||
//final List<GameFormat> formats = new ArrayList<>();
|
final List<GameFormat> formats = new ArrayList<>();
|
||||||
final List<String> formats = new ArrayList<>();
|
|
||||||
final String preferredFormat = FModel.getQuestPreferences().getPref(QPref.BOOSTER_FORMAT);
|
final String preferredFormat = FModel.getQuestPreferences().getPref(QPref.BOOSTER_FORMAT);
|
||||||
|
|
||||||
GameFormat pref = null;
|
GameFormat pref = null;
|
||||||
for (final GameFormat f : FModel.getFormats().getOrderedList()) {
|
for (final GameFormat f : FModel.getFormats().getOrderedList()) {
|
||||||
formats.add(f.toString());
|
formats.add(f);
|
||||||
if (f.toString().equals(preferredFormat)) {
|
if (f.toString().equals(preferredFormat)) {
|
||||||
pref = f;
|
pref = f;
|
||||||
}
|
}
|
||||||
@@ -506,43 +508,14 @@ public class QuestWinLoseController {
|
|||||||
|
|
||||||
Collections.sort(formats);
|
Collections.sort(formats);
|
||||||
|
|
||||||
formats.addAll(SealedProduct.specialSets);
|
final GameFormat selected = SGuiChoose.getChoices("Choose bonus booster format", 1, 1, formats, pref, null).get(0);
|
||||||
|
FModel.getQuestPreferences().setPref(QPref.BOOSTER_FORMAT, selected.toString());
|
||||||
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!";
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
cardsWon = qData.getCards().generateQuestBooster(selected.getFilterPrinted());
|
||||||
qData.getCards().addAllCards(cardsWon);
|
qData.getCards().addAllCards(cardsWon);
|
||||||
|
|
||||||
|
title = "Bonus booster pack from the \"" + selected.getName() + "\" format!";
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
final List<String> sets = new ArrayList<>();
|
final List<String> sets = new ArrayList<>();
|
||||||
@@ -576,43 +549,29 @@ public class QuestWinLoseController {
|
|||||||
maxChoices += qData.getAssets().getItemLevel(QuestItemType.MEMBERSHIP_TOKEN);
|
maxChoices += qData.getAssets().getItemLevel(QuestItemType.MEMBERSHIP_TOKEN);
|
||||||
}
|
}
|
||||||
|
|
||||||
final List<String> options = new ArrayList<>();
|
final List<CardEdition> options = new ArrayList<>();
|
||||||
|
|
||||||
while (!sets.isEmpty() && maxChoices > 0) {
|
while (!sets.isEmpty() && maxChoices > 0) {
|
||||||
final int ix = MyRandom.getRandom().nextInt(sets.size());
|
final int ix = MyRandom.getRandom().nextInt(sets.size());
|
||||||
final String set = sets.get(ix);
|
final String set = sets.get(ix);
|
||||||
sets.remove(ix);
|
sets.remove(ix);
|
||||||
if (SealedProduct.specialSets.contains(set)) {
|
options.add(FModel.getMagicDb().getEditions().get(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())));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
maxChoices--;
|
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)) {
|
if (customBooster) {
|
||||||
final IUnOpenedProduct product = new UnOpenedProduct(QuestUtilCards.getColoredBoosterTemplate(chooseEd));
|
List<PaperCard> cards = FModel.getMagicDb().getCommonCards().getAllCards(Predicates.printedInSet(chooseEd.getCode()));
|
||||||
cardsWon = product.get();
|
|
||||||
} else if (customBooster) {
|
|
||||||
List<PaperCard> cards = FModel.getMagicDb().getCommonCards().getAllCards(Predicates.printedInSet(FModel.getMagicDb().getEditions().get(chooseEd).getCode()));
|
|
||||||
final IUnOpenedProduct product = new UnOpenedProduct(getBoosterTemplate(), cards);
|
final IUnOpenedProduct product = new UnOpenedProduct(getBoosterTemplate(), cards);
|
||||||
cardsWon = product.get();
|
cardsWon = product.get();
|
||||||
} else {
|
} else {
|
||||||
String chosenEdition = chooseEd.substring(chooseEd.lastIndexOf("(") + 1, chooseEd.lastIndexOf(")"));
|
final IUnOpenedProduct product = new UnOpenedProduct(FModel.getMagicDb().getBoosters().get(chooseEd.getCode()));
|
||||||
chooseEd = chooseEd.substring(0, chooseEd.lastIndexOf("(")).trim();
|
|
||||||
final IUnOpenedProduct product = new UnOpenedProduct(FModel.getMagicDb().getBoosters().get(chosenEdition));
|
|
||||||
cardsWon = product.get();
|
cardsWon = product.get();
|
||||||
}
|
}
|
||||||
|
|
||||||
qData.getCards().addAllCards(cardsWon);
|
qData.getCards().addAllCards(cardsWon);
|
||||||
title = "Bonus " + chooseEd + " Booster Pack!";
|
title = "Bonus " + chooseEd.getName() + " Booster Pack!";
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user