mirror of
https://github.com/correl/mage.git
synced 2024-12-26 03:00:11 +00:00
Fixed a problem with bosster generation for boosters with partners and basic lands.
This commit is contained in:
parent
af9f2c93dd
commit
2413f956ee
2 changed files with 20 additions and 8 deletions
|
@ -15,7 +15,6 @@ public final class Battlebond extends ExpansionSet {
|
||||||
return instance;
|
return instance;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private Battlebond() {
|
private Battlebond() {
|
||||||
super("Battlebond", "BBD", ExpansionSet.buildDate(2018, 6, 8), SetType.SUPPLEMENTAL);
|
super("Battlebond", "BBD", ExpansionSet.buildDate(2018, 6, 8), SetType.SUPPLEMENTAL);
|
||||||
this.blockName = "Battlebond";
|
this.blockName = "Battlebond";
|
||||||
|
@ -28,6 +27,8 @@ public final class Battlebond extends ExpansionSet {
|
||||||
this.numBoosterRare = 1;
|
this.numBoosterRare = 1;
|
||||||
this.ratioBoosterMythic = 8;
|
this.ratioBoosterMythic = 8;
|
||||||
|
|
||||||
|
this.maxCardNumberInBooster = 254; // Don't use the 2 foil mystics copies because it would influence a random ratio
|
||||||
|
|
||||||
cards.add(new SetCardInfo("Aim High", 189, Rarity.UNCOMMON, mage.cards.a.AimHigh.class));
|
cards.add(new SetCardInfo("Aim High", 189, Rarity.UNCOMMON, mage.cards.a.AimHigh.class));
|
||||||
cards.add(new SetCardInfo("Angel of Retribution", 86, Rarity.UNCOMMON, mage.cards.a.AngelOfRetribution.class));
|
cards.add(new SetCardInfo("Angel of Retribution", 86, Rarity.UNCOMMON, mage.cards.a.AngelOfRetribution.class));
|
||||||
cards.add(new SetCardInfo("Angelic Chorus", 87, Rarity.RARE, mage.cards.a.AngelicChorus.class));
|
cards.add(new SetCardInfo("Angelic Chorus", 87, Rarity.RARE, mage.cards.a.AngelicChorus.class));
|
||||||
|
|
|
@ -1,5 +1,8 @@
|
||||||
package mage.cards;
|
package mage.cards;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.util.*;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
import mage.ObjectColor;
|
import mage.ObjectColor;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.keyword.PartnerWithAbility;
|
import mage.abilities.keyword.PartnerWithAbility;
|
||||||
|
@ -12,10 +15,6 @@ import mage.util.CardUtil;
|
||||||
import mage.util.RandomUtil;
|
import mage.util.RandomUtil;
|
||||||
import org.apache.log4j.Logger;
|
import org.apache.log4j.Logger;
|
||||||
|
|
||||||
import java.io.Serializable;
|
|
||||||
import java.util.*;
|
|
||||||
import java.util.stream.Collectors;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author BetaSteward_at_googlemail.com
|
* @author BetaSteward_at_googlemail.com
|
||||||
*/
|
*/
|
||||||
|
@ -270,8 +269,8 @@ public abstract class ExpansionSet implements Serializable {
|
||||||
}
|
}
|
||||||
|
|
||||||
protected boolean validateColors(List<Card> booster) {
|
protected boolean validateColors(List<Card> booster) {
|
||||||
List<ObjectColor> magicColors =
|
List<ObjectColor> magicColors
|
||||||
Arrays.asList(ObjectColor.WHITE, ObjectColor.BLUE, ObjectColor.BLACK, ObjectColor.RED, ObjectColor.GREEN);
|
= Arrays.asList(ObjectColor.WHITE, ObjectColor.BLUE, ObjectColor.BLACK, ObjectColor.RED, ObjectColor.GREEN);
|
||||||
|
|
||||||
// all cards colors
|
// all cards colors
|
||||||
Map<ObjectColor, Integer> colorWeight = new HashMap<>();
|
Map<ObjectColor, Integer> colorWeight = new HashMap<>();
|
||||||
|
@ -354,7 +353,6 @@ public abstract class ExpansionSet implements Serializable {
|
||||||
addToBooster(booster, commons);
|
addToBooster(booster, commons);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
List<CardInfo> rares = getCardsByRarity(Rarity.RARE);
|
List<CardInfo> rares = getCardsByRarity(Rarity.RARE);
|
||||||
List<CardInfo> mythics = getCardsByRarity(Rarity.MYTHIC);
|
List<CardInfo> mythics = getCardsByRarity(Rarity.MYTHIC);
|
||||||
for (int i = 0; i < numBoosterRare; i++) {
|
for (int i = 0; i < numBoosterRare; i++) {
|
||||||
|
@ -384,6 +382,19 @@ public abstract class ExpansionSet implements Serializable {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (numBoosterLands > 0) {
|
||||||
|
List<CardInfo> specialLands = getSpecialLand();
|
||||||
|
List<CardInfo> basicLands = getCardsByRarity(Rarity.LAND);
|
||||||
|
for (int i = 0; i < numBoosterLands; i++) {
|
||||||
|
if (ratioBoosterSpecialLand > 0 && RandomUtil.nextInt(ratioBoosterSpecialLand) < ratioBoosterSpecialLandNumerator && specialLands != null) {
|
||||||
|
addToBooster(booster, specialLands);
|
||||||
|
} else {
|
||||||
|
addToBooster(booster, basicLands);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return booster;
|
return booster;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue