From 916913a962ad9dd7f96ca2dca34f7de523462a02 Mon Sep 17 00:00:00 2001 From: Maxmtg Date: Thu, 15 Sep 2011 01:57:39 +0000 Subject: [PATCH] It was giving too many mythics at quest game start --- src/main/java/forge/card/BoosterGenerator.java | 2 +- src/main/java/forge/card/BoosterUtils.java | 16 +++++++++++++++- .../forge/gui/deckeditor/DeckEditorShop.java | 4 ++-- 3 files changed, 18 insertions(+), 4 deletions(-) diff --git a/src/main/java/forge/card/BoosterGenerator.java b/src/main/java/forge/card/BoosterGenerator.java index dc235148ef8..f13e2192c05 100644 --- a/src/main/java/forge/card/BoosterGenerator.java +++ b/src/main/java/forge/card/BoosterGenerator.java @@ -152,7 +152,7 @@ public class BoosterGenerator { return getBoosterPack(numCommons, numUncommons, numRareSlots, 0, 0, numSpecials, 0, 0); } /** - * So many parameters needed for custom limited cardpools, + * So many parameters are needed for custom limited cardpools, */ public final List getBoosterPack(final int nCom, final int nUnc, final int nRareSlots, final int nRares, final int nMythics, final int nSpecs, final int nAnyCard, final int nLands) { diff --git a/src/main/java/forge/card/BoosterUtils.java b/src/main/java/forge/card/BoosterUtils.java index 38afcc49340..ba8883071a6 100644 --- a/src/main/java/forge/card/BoosterUtils.java +++ b/src/main/java/forge/card/BoosterUtils.java @@ -50,8 +50,22 @@ public final class BoosterUtils { Predicate.and(filter, CardPrinted.Predicates.Presets.isCommon), numCommon, colorFilters)); cards.addAll(generateDefinetlyColouredCards(cardpool, Predicate.and(filter, CardPrinted.Predicates.Presets.isUncommon), numUncommon, colorFilters)); + + int nRares = numRare, nMythics = 0; + Predicate filterMythics = Predicate.and(filter, CardPrinted.Predicates.Presets.isMythicRare); + boolean haveMythics = filterMythics.any(cardpool); + for(int iSlot = 0; haveMythics && iSlot < numRare; iSlot++) { + if (MyRandom.random.nextInt(7) < 1) { // a bit higher chance to get a mythic + nRares--; + nMythics++; + } + } + cards.addAll(generateDefinetlyColouredCards(cardpool, - Predicate.and(filter, CardPrinted.Predicates.Presets.isRareOrMythic), numRare, colorFilters)); + Predicate.and(filter, CardPrinted.Predicates.Presets.isRare), nRares, colorFilters)); + if (nMythics > 0) { + cards.addAll(generateDefinetlyColouredCards(cardpool, filterMythics, nMythics, colorFilters)); + } return cards; } diff --git a/src/main/java/forge/gui/deckeditor/DeckEditorShop.java b/src/main/java/forge/gui/deckeditor/DeckEditorShop.java index ae5d711794f..9f247f2e4a6 100644 --- a/src/main/java/forge/gui/deckeditor/DeckEditorShop.java +++ b/src/main/java/forge/gui/deckeditor/DeckEditorShop.java @@ -144,12 +144,12 @@ public final class DeckEditorShop extends DeckEditorBase { columns.get(2).setCellRenderer(new ManaCostRenderer()); List> columnsBelow = new ArrayList>(columns); - columns.add(new TableColumnInfo("Price", 40, fnPriceCompare, fnPriceGet)); + columns.add(new TableColumnInfo("Price", 36, fnPriceCompare, fnPriceGet)); top.setup(columns, cardView); columnsBelow.add(new TableColumnInfo("Dks", 30, fnDeckCompare, fnDeckGet)); columnsBelow.add(new TableColumnInfo("New", 35, questData.getCards().fnNewCompare, questData.getCards().fnNewGet)); - columnsBelow.add(new TableColumnInfo("Price", 35, fnPriceCompare, fnPriceSellGet)); + columnsBelow.add(new TableColumnInfo("Price", 36, fnPriceCompare, fnPriceSellGet)); bottom.setup(columnsBelow, cardView); this.setSize(1024, 768);