Fixed ClassCastException at the end of quest games

This commit is contained in:
Fnoed
2012-03-17 23:50:58 +00:00
parent 2df62d75f6
commit 8bc45fe020
3 changed files with 1024 additions and 1042 deletions

View File

@@ -1,15 +1,5 @@
package forge.gui.home.quest;
import java.io.File;
import java.util.Set;
import javax.swing.ImageIcon;
import javax.swing.SwingUtilities;
import javax.swing.SwingWorker;
import org.apache.commons.lang3.StringUtils;
import net.miginfocom.swing.MigLayout;
import forge.AllZone;
import forge.Command;
import forge.Constant;
@@ -29,7 +19,6 @@ import forge.properties.NewConstants;
import forge.quest.QuestChallenge;
import forge.quest.QuestController;
import forge.quest.QuestEvent;
import forge.quest.QuestEvent.QuestEventType;
import forge.quest.QuestUtil;
import forge.quest.data.QuestAchievements;
import forge.quest.data.QuestAssets;
@@ -37,6 +26,14 @@ import forge.quest.data.QuestMode;
import forge.quest.data.QuestPreferences.QPref;
import forge.quest.data.item.QuestItemType;
import forge.quest.data.pet.QuestPetAbstract;
import net.miginfocom.swing.MigLayout;
import org.apache.commons.lang3.StringUtils;
import javax.swing.*;
import java.io.File;
import java.util.Set;
import static forge.quest.QuestEvent.QuestEventType.CHALLENGE;
/**
* Utilities for the quest submenu, all over the MVC spectrum.
@@ -217,7 +214,7 @@ public class SubmenuQuestUtil {
int lifeAI = 20;
int lifeHuman = 20;
if (selectedOpponent.getEvent().getEventType().equals(QuestEventType.CHALLENGE)) {
if (selectedOpponent.getEvent().getEventType() == CHALLENGE) {
int extraLife = 0;
// If zeppelin has been purchased, gear will be at level 2.
@@ -300,7 +297,7 @@ public class SubmenuQuestUtil {
// Name
final FLabel lblName = new FLabel.Builder().hoverable(false).build();
if (event.getEventType().equals(QuestEventType.CHALLENGE)) {
if (event.getEventType() == CHALLENGE) {
lblName.setText(event.getTitle() + ": "
+ StringUtils.capitalize(event.getDifficulty())
+ (((QuestChallenge) event).isRepeatable() ? ", Repeatable" : ""));

View File

@@ -17,15 +17,12 @@
*/
package forge.quest;
import forge.*;
import forge.quest.data.QuestAssets;
import java.util.List;
import forge.AllZone;
import forge.Card;
import forge.CardList;
import forge.CardUtil;
import forge.Player;
import forge.quest.QuestEvent.QuestEventType;
import forge.quest.data.QuestAssets;
import static forge.quest.QuestEvent.QuestEventType.CHALLENGE;
/**
* <p>
@@ -65,7 +62,7 @@ public class QuestUtil {
public static CardList getComputerStartingCards(final QuestEvent qe) {
final CardList list = new CardList();
if (qe.getEventType().equals(QuestEventType.CHALLENGE)) {
if (qe.getEventType() == CHALLENGE) {
final List<String> extras = ((QuestChallenge) qe).getAIExtraCards();
for (final String s : extras) {
@@ -116,7 +113,7 @@ public class QuestUtil {
public static CardList getHumanStartingCards(final QuestAssets qa, final QuestEvent qe) {
final CardList list = QuestUtil.getHumanStartingCards(qa);
if (qe.getEventType().equals(QuestEventType.CHALLENGE)) {
if (qe.getEventType() == CHALLENGE) {
final List<String> extras = ((QuestChallenge) qe).getHumanExtraCards();
for (final String s : extras) {

View File

@@ -17,31 +17,11 @@
*/
package forge.view.match;
import java.awt.Color;
import java.awt.Dimension;
import java.util.ArrayList;
import java.util.List;
import javax.swing.BorderFactory;
import javax.swing.ImageIcon;
import javax.swing.JLabel;
import javax.swing.SwingConstants;
import net.slightlymagic.braids.util.UtilFunctions;
import forge.AllZone;
import forge.CardList;
import forge.Constant;
import forge.*;
import forge.Constant.Zone;
import forge.Player;
import forge.Singletons;
import forge.control.FControl;
import forge.control.match.ControlWinLose;
import forge.game.GameEndReason;
import forge.game.GameFormat;
import forge.game.GameLossReason;
import forge.game.GameNew;
import forge.game.GamePlayerRating;
import forge.game.GameSummary;
import forge.game.*;
import forge.gui.GuiUtils;
import forge.gui.ListChooser;
import forge.gui.OverlayUtils;
@@ -55,12 +35,20 @@ import forge.quest.QuestChallenge;
import forge.quest.QuestController;
import forge.quest.QuestEvent;
import forge.quest.QuestUtil;
import forge.quest.QuestEvent.QuestEventType;
import forge.quest.data.QuestAssets;
import forge.quest.data.QuestMode;
import forge.quest.data.QuestPreferences.QPref;
import forge.quest.data.item.QuestItemType;
import forge.util.MyRandom;
import net.slightlymagic.braids.util.UtilFunctions;
import javax.swing.*;
import java.awt.Color;
import java.awt.Dimension;
import java.util.ArrayList;
import java.util.List;
import static forge.quest.QuestEvent.QuestEventType.CHALLENGE;
/**
* <p>
@@ -120,7 +108,7 @@ public class QuestWinLoseHandler extends ControlWinLose {
if (qData.getMode() == QuestMode.Fantasy) {
int extraLife = 0;
if (qEvent.getEventType().equals(QuestEventType.CHALLENGE)) {
if (qEvent.getEventType() == CHALLENGE) {
if (qa.hasItem(QuestItemType.ZEPPELIN)) {
extraLife = 3;
}
@@ -131,7 +119,7 @@ public class QuestWinLoseHandler extends ControlWinLose {
final int humanLife = qa.getLife(qData.getMode()) + extraLife;
int computerLife = 20;
if (qEvent.getEventType().equals("challenge")) {
if (qEvent.getEventType() == CHALLENGE) {
computerLife = ((QuestChallenge) qEvent).getAILife();
}
@@ -194,7 +182,7 @@ public class QuestWinLoseHandler extends ControlWinLose {
this.awardEventCredits();
// Challenge reward credits
if (qEvent.getEventType().equals(QuestEventType.CHALLENGE)) {
if (qEvent.getEventType() == CHALLENGE) {
this.awardChallengeWin();
}
@@ -289,7 +277,7 @@ public class QuestWinLoseHandler extends ControlWinLose {
qData.getCards().clearShopList();
if (!((QuestChallenge) qEvent).isRepeatable()) {
if (qEvent.getEventType() == CHALLENGE && !((QuestChallenge) qEvent).isRepeatable()) {
qData.getAchievements().addCompletedChallenge(((QuestChallenge) qEvent).getId());
}