mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-19 20:28:00 +00:00
booster distribution: 40% t2, 35% ext (not t2), 25% legacy
This commit is contained in:
@@ -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() {
|
||||||
|
|||||||
Reference in New Issue
Block a user