booster distribution: 40% t2, 35% ext (not t2), 25% legacy

This commit is contained in:
Maxmtg
2011-09-15 01:35:32 +00:00
parent 887a668478
commit 8c010130fc

View File

@@ -7,6 +7,7 @@ import java.util.Map.Entry;
import net.slightlymagic.braids.util.lambda.Lambda1; import net.slightlymagic.braids.util.lambda.Lambda1;
import net.slightlymagic.maxmtg.Predicate; import net.slightlymagic.maxmtg.Predicate;
import forge.MyRandom;
import forge.SetUtils; import forge.SetUtils;
import forge.card.BoosterGenerator; import forge.card.BoosterGenerator;
import forge.card.CardRarity; import forge.card.CardRarity;
@@ -158,31 +159,23 @@ public final class QuestUtilCards {
int winPacks = q.getWin() / 10; int winPacks = q.getWin() / 10;
int totalPacks = Math.min(levelPacks + winPacks, 6); int totalPacks = Math.min(levelPacks + winPacks, 6);
Predicate<CardSet> filterT2 = CardSet.Predicates.isLegalInFormat(SetUtils.getStandard());
Predicate<CardSet> filterExt = CardSet.Predicates.isLegalInFormat(SetUtils.getExtended());
Predicate<CardSet> filterExtButT2 = Predicate.and(filterExt, Predicate.not(filterT2));
Predicate<CardSet> filterNotExt = Predicate.not(filterExt);
q.shopList.clear(); q.shopList.clear();
for (int i = 0; i < totalPacks; i++) { for (int i = 0; i < totalPacks; i++) {
q.shopList.addAllCards(pack.getBoosterPack(7, 3, 1, 0, 0, 0, 0, 0)); q.shopList.addAllCards(pack.getBoosterPack(7, 3, 1, 0, 0, 0, 0, 0));
// add some boosters
int rollD100 = MyRandom.random.nextInt(100);
Predicate<CardSet> filter = rollD100 < 40 ? filterT2 : (rollD100 < 75 ? filterExtButT2 : filterNotExt);
q.shopList.addAllCards(filter.random(SetUtils.getAllSets(), 1, BoosterPack.fnFromSet));
} }
addBasicLands(q.shopList, 10, 5); addBasicLands(q.shopList, 10, 5);
final int BOOSTERS_T2 = 2;
final int BOOSTERS_EXT_BUT_T2 = 2;
final int BOOSTERS_MODERN_BUT_EXT = 2;
final int BOOSTERS_NOT_MODERN = 2;
Predicate<CardSet> filterT2 = CardSet.Predicates.isLegalInFormat(SetUtils.getStandard());
q.shopList.addAllCards(filterT2.random(SetUtils.getAllSets(), BOOSTERS_T2, BoosterPack.fnFromSet));
Predicate<CardSet> filterExt = CardSet.Predicates.isLegalInFormat(SetUtils.getExtended());
Predicate<CardSet> filterExtButT2 = Predicate.and(filterExt, Predicate.not(filterT2));
q.shopList.addAllCards(filterExtButT2.random(SetUtils.getAllSets(), BOOSTERS_EXT_BUT_T2, BoosterPack.fnFromSet));
Predicate<CardSet> filterModern = CardSet.Predicates.isLegalInFormat(SetUtils.getModern());
Predicate<CardSet> filterModernButExt = Predicate.and(filterModern, Predicate.not(filterExt));
q.shopList.addAllCards(filterModernButExt.random(SetUtils.getAllSets(), BOOSTERS_MODERN_BUT_EXT, BoosterPack.fnFromSet));
Predicate<CardSet> filterNotModern = Predicate.not(filterModern);
q.shopList.addAllCards(filterNotModern.random(SetUtils.getAllSets(), BOOSTERS_NOT_MODERN, BoosterPack.fnFromSet));
} }
public ItemPool<InventoryItem> getCardpool() { public ItemPool<InventoryItem> getCardpool() {