mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-15 18:28:00 +00:00
Fixed ClassCastException at the end of quest games
This commit is contained in:
@@ -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" : ""));
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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());
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user