diff --git a/src/main/java/forge/item/OpenablePack.java b/src/main/java/forge/item/OpenablePack.java index 4adeb1e33c9..bb493c5a8bc 100644 --- a/src/main/java/forge/item/OpenablePack.java +++ b/src/main/java/forge/item/OpenablePack.java @@ -3,7 +3,6 @@ package forge.item; import java.util.List; import forge.card.BoosterData; -import forge.card.BoosterGenerator; /** * TODO: Write javadoc for this type. diff --git a/src/main/java/forge/quest/BoosterUtils.java b/src/main/java/forge/quest/BoosterUtils.java index d6f488b7e9d..1f9ff705c30 100644 --- a/src/main/java/forge/quest/BoosterUtils.java +++ b/src/main/java/forge/quest/BoosterUtils.java @@ -21,8 +21,12 @@ import java.util.ArrayList; import java.util.Collections; import java.util.List; +import net.slightlymagic.braids.util.lambda.Lambda1; + +import forge.card.BoosterGenerator; import forge.card.CardRules; +import forge.card.UnOpenedProduct; import forge.item.CardDb; import forge.item.CardPrinted; import forge.util.MyRandom; @@ -214,7 +218,7 @@ public final class BoosterUtils { * Properties string of reward (97 multicolor rares) * @return CardList */ - public static List generateCardRewardList(final String s) { + public static UnOpenedProduct generateCardRewardList(final String s) { final String[] temp = s.split(" "); final int qty = Integer.parseInt(temp[0]); @@ -242,6 +246,12 @@ public final class BoosterUtils { col = CardRules.Predicates.Presets.IS_WHITE; } - return BoosterUtils.generateDistinctCards(Predicate.and(rar, col, CardPrinted.FN_GET_RULES), qty); + Lambda1, BoosterGenerator> openWay = new Lambda1, BoosterGenerator>() { + @Override + public List apply(BoosterGenerator arg1) { + return arg1.getSingletonBoosterPack(qty); + } + }; + return new UnOpenedProduct(openWay, new BoosterGenerator(Predicate.and(rar, col, CardPrinted.FN_GET_RULES))); // qty)) } } diff --git a/src/main/java/forge/quest/data/QuestChallenge.java b/src/main/java/forge/quest/data/QuestChallenge.java index 17b4166577e..8e5992afd89 100644 --- a/src/main/java/forge/quest/data/QuestChallenge.java +++ b/src/main/java/forge/quest/data/QuestChallenge.java @@ -20,6 +20,7 @@ package forge.quest.data; import java.util.ArrayList; import java.util.List; +import forge.card.UnOpenedProduct; import forge.item.CardPrinted; /** @@ -60,7 +61,7 @@ public class QuestChallenge extends QuestEvent { private List aiExtraCards = new ArrayList(); /** The card reward list. */ - private List cardRewardList = new ArrayList(); + private UnOpenedProduct cardRewardList; /** * Instantiates a new quest challenge. @@ -168,7 +169,7 @@ public class QuestChallenge extends QuestEvent { * @return the card reward list */ public final List getCardRewardList() { - return this.cardRewardList; + return this.cardRewardList.open(); } /** @@ -274,7 +275,7 @@ public class QuestChallenge extends QuestEvent { * @param cardRewardList0 * the cardRewardList to set */ - public void setCardRewardList(final List cardRewardList0) { + public void setCardRewardList(final UnOpenedProduct cardRewardList0) { this.cardRewardList = cardRewardList0; }