Added rewards for maintaining large win streaks in quest mode.

This commit is contained in:
Krazy
2014-04-28 19:18:34 +00:00
parent f770986aa9
commit f1f07e7c92
3 changed files with 123 additions and 4 deletions

View File

@@ -181,7 +181,11 @@ public final class QuestUtilCards {
this.qa.getNewCardList().add(card, qty);
}
private static final Predicate<PaperCard> COMMON_PREDICATE = IPaperCard.Predicates.Presets.IS_COMMON;
private static final Predicate<PaperCard> UNCOMMON_PREDICATE = IPaperCard.Predicates.Presets.IS_UNCOMMON;
private static final Predicate<PaperCard> RARE_PREDICATE = IPaperCard.Predicates.Presets.IS_RARE_OR_MYTHIC;
private static final Predicate<PaperCard> ONLY_RARE_PREDICATE = IPaperCard.Predicates.Presets.IS_RARE;
private static final Predicate<PaperCard> MYTHIC_PREDICATE = IPaperCard.Predicates.Presets.IS_MYTHIC_RARE;
/**
@@ -208,6 +212,32 @@ public final class QuestUtilCards {
return card;
}
/**
* Adds a random common.
*
* @param n the number of cards to add
* @return the list of cards added
*/
public List<PaperCard> addRandomCommon(final int n) {
final Predicate<PaperCard> myFilter = applyFormatFilter(QuestUtilCards.COMMON_PREDICATE);
final List<PaperCard> newCards = Aggregates.random(Iterables.filter(FModel.getMagicDb().getCommonCards().getAllCards(), myFilter), n);
this.addAllCards(newCards);
return newCards;
}
/**
* Adds a random uncommon.
*
* @param n the number of cards to add
* @return the list of cards added
*/
public List<PaperCard> addRandomUncommon(final int n) {
final Predicate<PaperCard> myFilter = applyFormatFilter(QuestUtilCards.UNCOMMON_PREDICATE);
final List<PaperCard> newCards = Aggregates.random(Iterables.filter(FModel.getMagicDb().getCommonCards().getAllCards(), myFilter), n);
this.addAllCards(newCards);
return newCards;
}
/**
* Adds the random rare.
*
@@ -223,6 +253,36 @@ public final class QuestUtilCards {
return newCards;
}
/**
* Adds the random rare.
*
* @param n
* the n
* @return the list
*/
public List<PaperCard> addRandomRareNotMythic(final int n) {
final Predicate<PaperCard> myFilter = applyFormatFilter(QuestUtilCards.ONLY_RARE_PREDICATE);
final List<PaperCard> newCards = Aggregates.random(Iterables.filter(FModel.getMagicDb().getCommonCards().getAllCards(), myFilter), n);
this.addAllCards(newCards);
return newCards;
}
/**
* Adds the random rare.
*
* @param n
* the n
* @return the list
*/
public List<PaperCard> addRandomMythicRare(final int n) {
final Predicate<PaperCard> myFilter = applyFormatFilter(QuestUtilCards.MYTHIC_PREDICATE);
final List<PaperCard> newCards = Aggregates.random(Iterables.filter(FModel.getMagicDb().getCommonCards().getAllCards(), myFilter), n);
this.addAllCards(newCards);
return newCards;
}
/**
* Setup new game card pool.
*