mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-15 18:28:00 +00:00
- Fixing logic error in QuestWinLose that prevent WinGameEffects from awarding alternate win bonus
- Fix issue with not actually using the alt win number that's calculated and using the wrong preference value where it is calculated
This commit is contained in:
@@ -365,31 +365,32 @@ public class QuestWinLose extends ControlWinLose {
|
|||||||
|
|
||||||
final PlayerOutcome outcome = kvRating.getValue().getOutcome();
|
final PlayerOutcome outcome = kvRating.getValue().getOutcome();
|
||||||
final GameLossReason whyAiLost = outcome.lossState;
|
final GameLossReason whyAiLost = outcome.lossState;
|
||||||
final int altReward = this.getCreditsRewardForAltWin(whyAiLost);
|
int altReward = this.getCreditsRewardForAltWin(whyAiLost);
|
||||||
|
|
||||||
|
String winConditionName = "Unknown (bug)";
|
||||||
|
if (game.getWinCondition() == GameEndReason.WinsGameSpellEffect) {
|
||||||
|
winConditionName = game.getWinSpellEffect();
|
||||||
|
altReward = this.getCreditsRewardForAltWin(null);
|
||||||
|
} else {
|
||||||
|
switch (whyAiLost) {
|
||||||
|
case Poisoned:
|
||||||
|
winConditionName = "Poison";
|
||||||
|
break;
|
||||||
|
case Milled:
|
||||||
|
winConditionName = "Milled";
|
||||||
|
break;
|
||||||
|
case SpellEffect:
|
||||||
|
winConditionName = outcome.loseConditionSpell;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (altReward > 0) {
|
if (altReward > 0) {
|
||||||
String winConditionName = "Unknown (bug)";
|
credGameplay += altReward;
|
||||||
if (game.getWinCondition() == GameEndReason.WinsGameSpellEffect) {
|
|
||||||
winConditionName = game.getWinSpellEffect();
|
|
||||||
} else {
|
|
||||||
switch (whyAiLost) {
|
|
||||||
case Poisoned:
|
|
||||||
winConditionName = "Poison";
|
|
||||||
break;
|
|
||||||
case Milled:
|
|
||||||
winConditionName = "Milled";
|
|
||||||
break;
|
|
||||||
case SpellEffect:
|
|
||||||
winConditionName = outcome.loseConditionSpell;
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
credGameplay += 50;
|
|
||||||
sb.append(String.format("Alternate win condition: <u>%s</u>! " + "Bonus: %d credits.<br>",
|
sb.append(String.format("Alternate win condition: <u>%s</u>! " + "Bonus: %d credits.<br>",
|
||||||
winConditionName, 50));
|
winConditionName, altReward));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// Mulligan to zero
|
// Mulligan to zero
|
||||||
@@ -756,7 +757,7 @@ public class QuestWinLose extends ControlWinLose {
|
|||||||
QuestPreferences qp = Singletons.getModel().getQuestPreferences();
|
QuestPreferences qp = Singletons.getModel().getQuestPreferences();
|
||||||
if (null == whyAiLost) {
|
if (null == whyAiLost) {
|
||||||
// Felidar, Helix Pinnacle, etc.
|
// Felidar, Helix Pinnacle, etc.
|
||||||
return qp.getPreferenceInt(QPref.REWARDS_UNDEFEATED);
|
return qp.getPreferenceInt(QPref.REWARDS_ALTERNATIVE);
|
||||||
}
|
}
|
||||||
switch (whyAiLost) {
|
switch (whyAiLost) {
|
||||||
case LifeReachedZero:
|
case LifeReachedZero:
|
||||||
@@ -766,7 +767,7 @@ public class QuestWinLose extends ControlWinLose {
|
|||||||
case Poisoned:
|
case Poisoned:
|
||||||
return qp.getPreferenceInt(QPref.REWARDS_POISON);
|
return qp.getPreferenceInt(QPref.REWARDS_POISON);
|
||||||
case SpellEffect: // Door to Nothingness, etc.
|
case SpellEffect: // Door to Nothingness, etc.
|
||||||
return qp.getPreferenceInt(QPref.REWARDS_UNDEFEATED);
|
return qp.getPreferenceInt(QPref.REWARDS_ALTERNATIVE);
|
||||||
default:
|
default:
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user