mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-16 10:48:00 +00:00
Added rewards for maintaining large win streaks in quest mode.
This commit is contained in:
@@ -137,6 +137,7 @@ public class QuestWinLose extends ControlWinLose {
|
||||
qc.getCards().loseCards(anteResult.lostCards);
|
||||
this.anteReport(anteResult.wonCards, anteResult.lostCards, questPlayer.equals(outcome.getWinningPlayer()));
|
||||
}
|
||||
System.err.println(outcome.getWinningPlayer() + ", " + outcome.getLastTurnNumber());
|
||||
}
|
||||
|
||||
if (!lastGame.getMatch().isMatchOver()) {
|
||||
@@ -173,6 +174,8 @@ public class QuestWinLose extends ControlWinLose {
|
||||
this.awardRandomRare("You've won a random rare for winning against a very hard deck.");
|
||||
}
|
||||
}
|
||||
|
||||
this.awardWinStreakBonus();
|
||||
|
||||
// Random rare given at 50% chance (65% with luck upgrade)
|
||||
if (this.getLuckyCoinResult()) {
|
||||
@@ -486,6 +489,61 @@ public class QuestWinLose extends ControlWinLose {
|
||||
this.view.getPnlCustom().add(cv, QuestWinLose.CONSTRAINTS_CARDS);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* awardWinStreakBonus.
|
||||
* </p>
|
||||
* Generates and displays a reward for maintaining a win streak.
|
||||
*
|
||||
*/
|
||||
private void awardWinStreakBonus() {
|
||||
|
||||
int currentStreak = qData.getAchievements().getWinStreakCurrent() + 1;
|
||||
|
||||
final List<PaperCard> cardsWon = new ArrayList<>();
|
||||
String typeWon = "";
|
||||
|
||||
switch (currentStreak) {
|
||||
case 3:
|
||||
cardsWon.addAll(qData.getCards().addRandomCommon(1));
|
||||
typeWon = "common";
|
||||
break;
|
||||
case 5:
|
||||
cardsWon.addAll(qData.getCards().addRandomUncommon(1));
|
||||
typeWon = "uncommon";
|
||||
break;
|
||||
case 7:
|
||||
cardsWon.addAll(qData.getCards().addRandomRareNotMythic(1));
|
||||
typeWon = "rare";
|
||||
break;
|
||||
case 10:
|
||||
cardsWon.addAll(qData.getCards().addRandomMythicRare(1));
|
||||
typeWon = "mythic rare";
|
||||
break;
|
||||
case 25:
|
||||
cardsWon.addAll(qData.getCards().addRandomMythicRare(5));
|
||||
typeWon = "mythic rare";
|
||||
break;
|
||||
case 50:
|
||||
cardsWon.addAll(qData.getCards().addRandomMythicRare(10));
|
||||
typeWon = "mythic rare";
|
||||
break;
|
||||
default:
|
||||
return;
|
||||
}
|
||||
|
||||
this.lblTemp1 = new TitleLabel("You have achieved a " + currentStreak + " win streak and won " + cardsWon.size() + " " + typeWon + " card" + ((cardsWon.size() != 1) ? "s" : "") + "!");
|
||||
final QuestWinLoseCardViewer cv = new QuestWinLoseCardViewer(cardsWon);
|
||||
|
||||
this.view.getPnlCustom().add(this.lblTemp1, QuestWinLose.CONSTRAINTS_TITLE);
|
||||
if (FModel.getPreferences().getPrefBoolean(FPref.UI_LARGE_CARD_VIEWERS)) {
|
||||
this.view.getPnlCustom().add(cv, QuestWinLose.CONSTRAINTS_CARDS_LARGE);
|
||||
} else {
|
||||
this.view.getPnlCustom().add(cv, QuestWinLose.CONSTRAINTS_CARDS);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* <p>
|
||||
|
||||
Reference in New Issue
Block a user