Merge branch 'draft-bugs' into 'master'

Resolve #921, #922

Closes #921 and #922

See merge request core-developers/forge!1478
This commit is contained in:
Michael Kamensky
2019-03-25 03:53:44 +00:00
3 changed files with 8 additions and 4 deletions

View File

@@ -581,12 +581,11 @@ public final class CardRulesPredicates {
public static final Predicate<CardRules> IS_VANGUARD = CardRulesPredicates.coreType(true, CardType.CoreType.Vanguard);
public static final Predicate<CardRules> IS_CONSPIRACY = CardRulesPredicates.coreType(true, CardType.CoreType.Conspiracy);
public static final Predicate<CardRules> IS_NON_LAND = CardRulesPredicates.coreType(false, CardType.CoreType.Land);
public static final Predicate<CardRules> IS_NON_CREATURE_SPELL = Predicates.not(Predicates.or(Presets.IS_CREATURE, Presets.IS_LAND));
public static final Predicate<CardRules> CAN_BE_BRAWL_COMMANDER = Predicates.or(Presets.IS_PLANESWALKER,
Predicates.and(Presets.IS_CREATURE, Presets.IS_LEGENDARY));
/** The Constant IS_NONCREATURE_SPELL_FOR_GENERATOR. **/
public static final Predicate<CardRules> IS_NONCREATURE_SPELL_FOR_GENERATOR = com.google.common.base.Predicates
/** The Constant IS_NON_CREATURE_SPELL. **/
public static final Predicate<CardRules> IS_NON_CREATURE_SPELL = com.google.common.base.Predicates
.or(Presets.IS_SORCERY, Presets.IS_INSTANT, Presets.IS_PLANESWALKER, Presets.IS_ENCHANTMENT,
Predicates.and(Presets.IS_ARTIFACT, Predicates.not(Presets.IS_CREATURE)));

View File

@@ -100,7 +100,7 @@ public abstract class DeckGeneratorBase {
trace.append("Creatures to add:").append(creatCnt).append("\n");
addCmcAdjusted(creatures, creatCnt, cmcLevels);
Predicate<PaperCard> preSpells = Predicates.compose(CardRulesPredicates.Presets.IS_NONCREATURE_SPELL_FOR_GENERATOR, PaperCard.FN_GET_RULES);
Predicate<PaperCard> preSpells = Predicates.compose(CardRulesPredicates.Presets.IS_NON_CREATURE_SPELL, PaperCard.FN_GET_RULES);
final Iterable<PaperCard> spells = Iterables.filter(cards, preSpells);
final int spellCnt = (int) Math.ceil(getSpellPercentage() * size);
trace.append("Spells to add:").append(spellCnt).append("\n");

View File

@@ -92,6 +92,7 @@ public class LimitedDeckBuilder extends DeckGeneratorBase {
final Iterable<PaperCard> conspiracies = Iterables.filter(aiPlayables,
Predicates.compose(CardRulesPredicates.coreType(true, "Conspiracy"), PaperCard.FN_GET_RULES));
this.draftedConspiracies = Lists.newArrayList(conspiracies);
this.aiPlayables.removeAll(draftedConspiracies);
findBasicLandSets();
}
@@ -176,6 +177,7 @@ public class LimitedDeckBuilder extends DeckGeneratorBase {
if (card != null) {
deckList.add(card);
aiPlayables.remove(card);
rankedColorList.remove(card);
landsNeeded--;
if (logToConsole) {
System.out.println("Low CMC: " + card.getName());
@@ -290,6 +292,7 @@ public class LimitedDeckBuilder extends DeckGeneratorBase {
final PaperCard c = aiPlayables.get(MyRandom.getRandom().nextInt(aiPlayables.size() - 1));
deckList.add(c);
aiPlayables.remove(c);
rankedColorList.remove(c);
if (logToConsole) {
System.out.println(" - Added " + c.getName() + " randomly.");
}
@@ -297,6 +300,7 @@ public class LimitedDeckBuilder extends DeckGeneratorBase {
final PaperCard c = aiPlayables.get(0);
deckList.add(c);
aiPlayables.remove(c);
rankedColorList.remove(c);
if (logToConsole) {
System.out.println(" - Added " + c.getName() + " randomly.");
}
@@ -521,6 +525,7 @@ public class LimitedDeckBuilder extends DeckGeneratorBase {
}
deckList.addAll(toAdd);
aiPlayables.removeAll(toAdd);
rankedColorList.removeAll(toAdd);
}
}