From d1bf8a4b14398035c33bd0256d6e4a2adbaf5f03 Mon Sep 17 00:00:00 2001 From: Doublestrike Date: Sun, 18 Sep 2011 11:28:27 +0000 Subject: [PATCH] In quest mode, "Quests" universally renamed to "Challenges". Quest mode now features events, such as duels and challenges. --- .gitattributes | 4 +- res/quest/quest.properties | 6 - src/main/java/forge/AllZone.java | 23 ++-- src/main/java/forge/GameAction.java | 10 +- src/main/java/forge/Gui_WinLose.java | 46 +++---- .../java/forge/properties/NewConstants.java | 13 -- src/main/java/forge/quest/data/QuestData.java | 28 ++-- src/main/java/forge/quest/data/QuestUtil.java | 19 ++- .../java/forge/quest/gui/QuestMainPanel.java | 110 ++++++++-------- .../{QuestQuest.java => QuestChallenge.java} | 2 +- ...estPanel.java => QuestChallengePanel.java} | 14 +- .../quest/gui/main/QuestEventManager.java | 120 ++++++++++-------- 12 files changed, 189 insertions(+), 206 deletions(-) rename src/main/java/forge/quest/gui/main/{QuestQuest.java => QuestChallenge.java} (98%) rename src/main/java/forge/quest/gui/main/{QuestQuestPanel.java => QuestChallengePanel.java} (56%) diff --git a/.gitattributes b/.gitattributes index d22f8cbdd01..2b79d5ee00b 100644 --- a/.gitattributes +++ b/.gitattributes @@ -9872,12 +9872,12 @@ src/main/java/forge/quest/gui/bazaar/QuestBazaarItem.java svneol=native#text/pla src/main/java/forge/quest/gui/bazaar/QuestBazaarPanel.java svneol=native#text/plain src/main/java/forge/quest/gui/bazaar/QuestBazaarStall.java svneol=native#text/plain src/main/java/forge/quest/gui/bazaar/package-info.java svneol=native#text/plain +src/main/java/forge/quest/gui/main/QuestChallenge.java svneol=native#text/plain +src/main/java/forge/quest/gui/main/QuestChallengePanel.java -text src/main/java/forge/quest/gui/main/QuestDuel.java svneol=native#text/plain src/main/java/forge/quest/gui/main/QuestDuelPanel.java -text src/main/java/forge/quest/gui/main/QuestEvent.java -text src/main/java/forge/quest/gui/main/QuestEventManager.java svneol=native#text/plain -src/main/java/forge/quest/gui/main/QuestQuest.java svneol=native#text/plain -src/main/java/forge/quest/gui/main/QuestQuestPanel.java -text src/main/java/forge/quest/gui/main/QuestSelectablePanel.java -text src/main/java/forge/quest/gui/main/package-info.java svneol=native#text/plain src/main/java/forge/quest/gui/package-info.java svneol=native#text/plain diff --git a/res/quest/quest.properties b/res/quest/quest.properties index 72557702c77..f5d302e5400 100644 --- a/res/quest/quest.properties +++ b/res/quest/quest.properties @@ -4,12 +4,6 @@ rare--file=rare.txt price--file=all-prices.txt boosterprice--file=booster-prices.txt -quests--file=quests.txt - -easy--file=easy.txt -medium--file=medium.txt -hard--file=hard.txt -veryhard--file=veryhard.txt data-xml--file=questData.dat data--file=questData diff --git a/src/main/java/forge/AllZone.java b/src/main/java/forge/AllZone.java index d74209b8385..08f034a4f43 100644 --- a/src/main/java/forge/AllZone.java +++ b/src/main/java/forge/AllZone.java @@ -17,7 +17,7 @@ import forge.properties.ForgeProps; import forge.properties.NewConstants; import forge.quest.data.QuestMatchState; import forge.quest.data.QuestData; -import forge.quest.gui.main.QuestQuest; +import forge.quest.gui.main.QuestChallenge; /** * Please use public getters and setters instead of direct field access. @@ -42,8 +42,8 @@ public final class AllZone implements NewConstants { /** Global questData. */ private static forge.quest.data.QuestData questData = null; - /** Global QuestAssignment. */ - private static QuestQuest questquest = null; + /** Global QuestChallenge. */ + private static QuestChallenge questChallenge = null; /** Constant NAME_CHANGER. */ private static final NameChanger NAME_CHANGER = new NameChanger(); @@ -62,7 +62,7 @@ public final class AllZone implements NewConstants { private static GameSummary gameInfo = new GameSummary(); /** - * Match State for quests are stored in a QuestMatchState class instance. + * Match State for challenges are stored in a QuestMatchState class instance. * * @deprecated Variable 'matchState' must be private and have accessor methods. */ @@ -132,23 +132,22 @@ public final class AllZone implements NewConstants { } /** - *

getQuestAssignment.

+ *

getQuestChallenge.

* * @return a {@link forge.Quest_Assignment} object. * @since 1.0.15 */ - public static QuestQuest getQuestQuest() { - return questquest; + public static QuestChallenge getQuestChallenge() { + return questChallenge; } /** - *

setQuestAssignment.

+ *

setQuestChallenge.

* - * @param assignment a {@link forge.Quest_Assignment} object. - * @since 1.0.15 + * @param q */ - public static void setQuestQuest(final QuestQuest q) { - questquest = q; + public static void setQuestChallenge(final QuestChallenge q) { + questChallenge = q; } /** diff --git a/src/main/java/forge/GameAction.java b/src/main/java/forge/GameAction.java index f7b5c84d87e..9fb8e3eb444 100644 --- a/src/main/java/forge/GameAction.java +++ b/src/main/java/forge/GameAction.java @@ -29,7 +29,7 @@ import forge.gui.input.Input_PayManaCost_Ability; import forge.item.CardPrinted; import forge.properties.ForgeProps; import forge.properties.NewConstants.LANG.GameAction.GAMEACTION_TEXT; -import forge.quest.gui.main.QuestQuest; +import forge.quest.gui.main.QuestChallenge; import java.util.ArrayList; import java.util.Comparator; @@ -654,7 +654,7 @@ public class GameAction { AllZone.getDisplay().savePrefs(); frame.setEnabled(false); //frame.dispose(); - Gui_WinLose gwl = new Gui_WinLose(AllZone.getMatchState(), AllZone.getQuestData(), AllZone.getQuestQuest()); + Gui_WinLose gwl = new Gui_WinLose(AllZone.getMatchState(), AllZone.getQuestData(), AllZone.getQuestChallenge()); //gwl.setAlwaysOnTop(true); gwl.toFront(); canShowWinLose = false; @@ -1090,15 +1090,15 @@ public class GameAction { * @param computer a {@link forge.CardList} object. */ public final void newGame(final Deck humanDeck, final Deck computerDeck, final CardList human, - final CardList computer, final int humanLife, final int computerLife, final QuestQuest qq) + final CardList computer, final int humanLife, final int computerLife, final QuestChallenge qc) { this.newGame(humanDeck, computerDeck); AllZone.getComputerPlayer().setLife(computerLife, null); AllZone.getHumanPlayer().setLife(humanLife, null); - if (qq != null) { - computer.addAll(forge.quest.data.QuestUtil.getComputerStartingCards(AllZone.getQuestData(), AllZone.getQuestQuest())); + if (qc != null) { + computer.addAll(forge.quest.data.QuestUtil.getComputerStartingCards(AllZone.getQuestData(), AllZone.getQuestChallenge())); } for (Card c : human) { diff --git a/src/main/java/forge/Gui_WinLose.java b/src/main/java/forge/Gui_WinLose.java index 43b48e13f1f..4fddbe16446 100644 --- a/src/main/java/forge/Gui_WinLose.java +++ b/src/main/java/forge/Gui_WinLose.java @@ -17,7 +17,7 @@ import forge.quest.data.QuestData; import forge.quest.data.QuestMatchState; import forge.quest.data.QuestPreferences; import forge.quest.gui.QuestFrame; -import forge.quest.gui.main.QuestQuest; +import forge.quest.gui.main.QuestChallenge; import forge.view.swing.OldGuiNewGame; import net.miginfocom.swing.MigLayout; @@ -66,7 +66,7 @@ public class Gui_WinLose extends JFrame implements NewConstants { private class WinLoseModel { public QuestMatchState match; public QuestData quest; - public QuestQuest qq; + public QuestChallenge qc; } private WinLoseModel model; @@ -76,13 +76,13 @@ public class Gui_WinLose extends JFrame implements NewConstants { * * @param matchState a QuestMatchState * @param quest a QuestData object - * @param qa a Quest_Assignment object + * @param chall a QuestChallenge object */ - public Gui_WinLose(final QuestMatchState matchState, final QuestData quest, final QuestQuest qq) { + public Gui_WinLose(final QuestMatchState matchState, final QuestData quest, final QuestChallenge chall) { model = new WinLoseModel(); model.match = matchState; model.quest = quest; - model.qq = qq; + model.qc = chall; try { jbInit(); @@ -187,25 +187,25 @@ public class Gui_WinLose extends JFrame implements NewConstants { void prepareForNextRound() { if (Constant.Quest.fantasyQuest[0]) { int extraLife = 0; - if (model.qq != null) { + if (model.qc != null) { if (model.quest.getInventory().hasItem("Zeppelin")) { extraLife = 3; } } //AllZone.getGameAction().newGame(Constant.Runtime.HumanDeck[0], Constant.Runtime.ComputerDeck[0], //humanList, computerList, humanLife, computerLife); - CardList humanList = forge.quest.data.QuestUtil.getHumanStartingCards(model.quest, model.qq); + CardList humanList = forge.quest.data.QuestUtil.getHumanStartingCards(model.quest, model.qc); CardList computerList = new CardList(); int humanLife = model.quest.getLife() + extraLife; int computerLife = 20; - if (model.qq != null) { - computerLife = model.qq.getAILife(); + if (model.qc != null) { + computerLife = model.qc.getAILife(); } AllZone.getGameAction().newGame(Constant.Runtime.HumanDeck[0], Constant.Runtime.ComputerDeck[0], - humanList, computerList, humanLife, computerLife, model.qq); + humanList, computerList, humanLife, computerLife, model.qc); } else { AllZone.getGameAction().newGame(Constant.Runtime.HumanDeck[0], Constant.Runtime.ComputerDeck[0]); } @@ -355,15 +355,15 @@ public class Gui_WinLose extends JFrame implements NewConstants { model.quest.getCards().clearShopList(); - if (model.quest.getAvailableQuests() != null) { - model.quest.clearAvailableQuests(); + if (model.quest.getAvailableChallenges() != null) { + model.quest.clearAvailableChallenges(); } model.quest.getCards().resetNewList(); giveQuestRewards(wonMatch); model.match.reset(); - AllZone.setQuestQuest(null); + AllZone.setQuestChallenge(null); model.quest.saveData(); @@ -441,32 +441,32 @@ public class Gui_WinLose extends JFrame implements NewConstants { } // Rewards from QuestAssignment - if (wonMatch && model.qq != null) { - model.quest.addQuestsPlayed(); + if (wonMatch && model.qc != null) { + model.quest.addChallengesPlayed(); - List questRewardCards = model.qq.getCardRewardList(); - long questRewardCredits = model.qq.getCreditsReward(); + List challengeRewardCards = model.qc.getCardRewardList(); + long questRewardCredits = model.qc.getCreditsReward(); StringBuilder sb = new StringBuilder(); - sb.append("Quest Completed - \r\n"); + sb.append("Challenge Completed - \r\n"); - if (questRewardCards != null) { + if (challengeRewardCards != null) { sb.append("You won the following cards:\r\n\r\n"); - for (CardPrinted cardName : questRewardCards) { + for (CardPrinted cardName : challengeRewardCards) { sb.append(cardName.getName()); sb.append("\r\n"); } - model.quest.getCards().addAllCards(questRewardCards); + model.quest.getCards().addAllCards(challengeRewardCards); sb.append("\r\n"); } - sb.append("Quest Bounty: "); + sb.append("Challenge Bounty: "); sb.append(questRewardCredits); model.quest.addCredits(questRewardCredits); String fileName = "BoxIcon.png"; ImageIcon icon = getIcon(fileName); - String title = "Quest Rewards for " + model.qq.getTitle(); + String title = "Challenge Rewards for " + model.qc.getTitle(); JOptionPane.showMessageDialog(null, sb.toString(), title, JOptionPane.INFORMATION_MESSAGE, icon); } /* diff --git a/src/main/java/forge/properties/NewConstants.java b/src/main/java/forge/properties/NewConstants.java index f999a2604a6..3169ce54322 100644 --- a/src/main/java/forge/properties/NewConstants.java +++ b/src/main/java/forge/properties/NewConstants.java @@ -148,21 +148,8 @@ public interface NewConstants { /** Property path for a rare card. */ String RARE = "quest/rare"; - /** Property path for price. */ String PRICE = "quest/price"; - /** Property path for price. */ String BOOSTER_PRICE= "quest/boosterprice"; - /** Property path for quests. */ - String QUESTS = "quest/quests"; - - /** Property path for easy quest difficulty. */ - String EASY = "quest/easy"; - /** Property path for medium quest difficulty. */ - String MEDIUM = "quest/medium"; - /** Property path for hard quest difficulty. */ - String HARD = "quest/hard"; - /** Property path for very hard quest difficulty. */ - String VERYHARD = "quest/veryhard"; String DATA = "quest/data"; String PREFS = "quest/prefs"; diff --git a/src/main/java/forge/quest/data/QuestData.java b/src/main/java/forge/quest/data/QuestData.java index b4590059f5e..5201d9c46da 100644 --- a/src/main/java/forge/quest/data/QuestData.java +++ b/src/main/java/forge/quest/data/QuestData.java @@ -23,10 +23,6 @@ import net.slightlymagic.maxmtg.Predicate; //you have to call one of these two methods below //see Gui_QuestOptions for more details -//static readAIQuestDeckFiles(QuestDataOld data, ArrayList aiDeckNames) -//OR non-static readAIQuestDeckFiles() -//which reads the files "questDecks-easy", "questDecks-medium","questDecks-hard", - /** *

QuestData class.

* @@ -72,10 +68,10 @@ public final class QuestData { ItemPool shopList = new ItemPool(InventoryItem.class); // the current shop list ItemPool newCardList = new ItemPool(InventoryItem.class); // cards acquired since last game-win/loss - // Quests history - int questsPlayed; - List availableQuests = new ArrayList(); - List completedQuests = new ArrayList(); + // Challenge history + int challengesPlayed; + List availableChallenges = new ArrayList(); + List completedChallenges = new ArrayList(); // own randomizer seed private long randomSeed = 0; @@ -140,14 +136,14 @@ public final class QuestData { public QuestUtilCards getCards() { return myCards; } public QuestUtilRewards getRewards() { return myRewards; } - // Quests performance - public int getQuestsPlayed() { return questsPlayed; } - public void addQuestsPlayed() { questsPlayed++; } + // Challenge performance + public int getChallengesPlayed() { return challengesPlayed; } + public void addChallengesPlayed() { challengesPlayed++; } - public List getAvailableQuests() { return availableQuests != null ? new ArrayList(availableQuests) : null; } - public void setAvailableQuests(final List list) { availableQuests = list; } - public void clearAvailableQuests() { availableQuests.clear(); } - public List getCompletedQuests() { return completedQuests != null ? new ArrayList(completedQuests) : null; } + public List getAvailableChallenges() { return availableChallenges != null ? new ArrayList(availableChallenges) : null; } + public void setAvailableChallenges(final List list) { availableChallenges = list; } + public void clearAvailableChallenges() { availableChallenges.clear(); } + public List getCompletedChallenges() { return completedChallenges != null ? new ArrayList(completedChallenges) : null; } // Wins & Losses public int getLost() { return lost; } @@ -229,7 +225,7 @@ public final class QuestData { randomSeed = MyRandom.random.nextLong(); } - // SERIALIZATION - relared things + // SERIALIZATION - related things // This must be called by XML-serializer via reflection public Object readResolve() { diff --git a/src/main/java/forge/quest/data/QuestUtil.java b/src/main/java/forge/quest/data/QuestUtil.java index 23902b7e87d..9b3e9798842 100644 --- a/src/main/java/forge/quest/data/QuestUtil.java +++ b/src/main/java/forge/quest/data/QuestUtil.java @@ -6,7 +6,7 @@ import forge.Constant; import forge.card.CardRarity; import forge.card.BoosterUtils; import forge.item.CardPrinted; -import forge.quest.gui.main.QuestQuest; +import forge.quest.gui.main.QuestChallenge; import java.util.List; @@ -33,14 +33,14 @@ public class QuestUtil { * Returns extra AI cards in play at start of quest. * * @param qd a {@link forge.quest.data.QuestData} object. - * @param qa a {@link forge.Quest_Assignment} object. + * @param qc a QuestChallenge object. * @return a {@link forge.CardList} object. */ - public static CardList getComputerStartingCards(final QuestData qd, QuestQuest qq) { + public static CardList getComputerStartingCards(final QuestData qd, QuestChallenge qc) { CardList list = new CardList(); - if (qq != null) { - list.addAll(qq.getAIExtraCards()); + if (qc != null) { + list.addAll(qc.getAIExtraCards()); } return list; } @@ -72,14 +72,14 @@ public class QuestUtil { * and cards in play at start of quest. * * @param qd a {@link forge.quest.data.QuestData} object. - * @param qa a {@link forge.Quest_Assignment} object. + * @param qc a QuestChallenge object. * @return a {@link forge.CardList} object. */ - public static CardList getHumanStartingCards(final QuestData qd, QuestQuest qq) { + public static CardList getHumanStartingCards(final QuestData qd, QuestChallenge qc) { CardList list = getHumanStartingCards(qd); - if (qq != null) { - list.addAll(qq.getHumanExtraCards()); + if (qc != null) { + list.addAll(qc.getHumanExtraCards()); } return list; @@ -160,7 +160,6 @@ public class QuestUtil { col = Constant.Color.White; } - System.out.println(rar+" "+col+" "+qty); return BoosterUtils.generateCards(qty, rar, col); } diff --git a/src/main/java/forge/quest/gui/QuestMainPanel.java b/src/main/java/forge/quest/gui/QuestMainPanel.java index 89227f85cd9..9b9c7426f8f 100644 --- a/src/main/java/forge/quest/gui/QuestMainPanel.java +++ b/src/main/java/forge/quest/gui/QuestMainPanel.java @@ -10,8 +10,8 @@ import forge.quest.data.QuestData; import forge.quest.data.item.QuestItemZeppelin; import forge.quest.gui.main.QuestDuel; import forge.quest.gui.main.QuestDuelPanel; -import forge.quest.gui.main.QuestQuest; -import forge.quest.gui.main.QuestQuestPanel; +import forge.quest.gui.main.QuestChallenge; +import forge.quest.gui.main.QuestChallengePanel; import forge.quest.gui.main.QuestSelectablePanel; import javax.swing.*; @@ -49,7 +49,7 @@ public class QuestMainPanel extends QuestAbstractPanel { JComboBox petComboBox = new JComboBox(); JComboBox deckComboBox = new JComboBox(); - JButton questButton = new JButton("Quests"); + JButton eventButton = new JButton("Challenges"); JButton playButton = new JButton("Play"); private QuestSelectablePanel selectedOpponent; @@ -57,7 +57,7 @@ public class QuestMainPanel extends QuestAbstractPanel { JPanel nextMatchPanel = new JPanel(); CardLayout nextMatchLayout; - boolean isShowingQuests = false; + boolean isShowingChallenges = false; private JCheckBox devModeCheckBox = new JCheckBox("Developer Mode"); //private JCheckBox newGUICheckbox = new JCheckBox("Use new UI", true); private JCheckBox smoothLandCheckBox = new JCheckBox("Adjust AI Land"); @@ -66,10 +66,10 @@ public class QuestMainPanel extends QuestAbstractPanel { private JCheckBox plantBox = new JCheckBox("Summon Plant"); /** Constant NO_DECKS_AVAILABLE="No decks available" */ private static final String NO_DECKS_AVAILABLE = "No decks available"; - /** Constant BATTLES="Battles" */ - private static final String BATTLES = "Battles"; - /** Constant QUESTS="Quests" */ - private static final String QUESTS = "Quests"; + /** Constant DUELS="Duels" */ + private static final String DUELS = "Duels"; + /** Constant CHALLENGES="Challenges" */ + private static final String CHALLENGES = "Challenges"; //TODO: Make this ordering permanent /** Constant lastUsedDeck="//TODO: Make this ordering permanent" */ @@ -198,14 +198,14 @@ public class QuestMainPanel extends QuestAbstractPanel { } - questButton.addActionListener(new ActionListener() { + eventButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent actionEvent) { - QuestMainPanel.this.showQuests(); + QuestMainPanel.this.showChallenges(); } }); - eastComponents.add(questButton); - questButton.setFont(new Font(Font.SANS_SERIF, Font.BOLD, 18)); - questButton.setPreferredSize(new Dimension(0, 60)); + eastComponents.add(eventButton); + eventButton.setFont(new Font(Font.SANS_SERIF, Font.BOLD, 18)); + eventButton.setPreferredSize(new Dimension(0, 60)); playButton.addActionListener(new ActionListener() { @@ -249,7 +249,7 @@ public class QuestMainPanel extends QuestAbstractPanel { panel.add(Box.createVerticalGlue()); - panel.add(questButton); + panel.add(eventButton); this.nextQuestLabel.setFont(new Font(Font.DIALOG, Font.PLAIN, 11)); panel.add(nextQuestLabel); GuiUtils.addGap(panel); @@ -398,7 +398,7 @@ public class QuestMainPanel extends QuestAbstractPanel { JPanel DuelPanel = new JPanel(); QuestDuelPanel duelEvent; DuelPanel.setLayout(new BoxLayout(DuelPanel, BoxLayout.Y_AXIS)); - DuelPanel.setBorder(new TitledBorder(new EtchedBorder(), "Available Battles")); + DuelPanel.setBorder(new TitledBorder(new EtchedBorder(), "Available Duels")); List duels = TEST.qem.generateDuels(); @@ -416,30 +416,30 @@ public class QuestMainPanel extends QuestAbstractPanel { } /** - *

createQuestPanel.

- * Makes a parent panel, then selectable panel instances for all available battles. + *

createChallengePanel.

+ * Makes a parent panel, then selectable panel instances for all available challenges. * * @return a {@link javax.swing.JPanel} object. */ - private JPanel createQuestPanel() { - JPanel QuestPanel = new JPanel(); + private JPanel createChallengePanel() { + JPanel ChallengePanel = new JPanel(); QuestSelectablePanel selpan; - QuestPanel.setLayout(new BoxLayout(QuestPanel, BoxLayout.Y_AXIS)); - QuestPanel.setBorder(new TitledBorder(new EtchedBorder(), "Available Quests")); + ChallengePanel.setLayout(new BoxLayout(ChallengePanel, BoxLayout.Y_AXIS)); + ChallengePanel.setBorder(new TitledBorder(new EtchedBorder(), "Available Challenges")); - List quests = TEST.qem.generateQuests(); + List challenges = TEST.qem.generateChallenges(); - for (QuestQuest qq : quests) { - selpan = new QuestQuestPanel(qq); - QuestPanel.add(selpan); + for (QuestChallenge qc : challenges) { + selpan = new QuestChallengePanel(qc); + ChallengePanel.add(selpan); selpan.addMouseListener(new SelectionAdapter(selpan)); - GuiUtils.addGap(QuestPanel, 3); + GuiUtils.addGap(ChallengePanel, 3); } - return QuestPanel; + return ChallengePanel; } /** @@ -485,7 +485,7 @@ public class QuestMainPanel extends QuestAbstractPanel { } deckComboBox.setMinimumSize(new Dimension(150, 0)); - questButton.setEnabled(nextQuestInWins() == 0); + eventButton.setEnabled(nextChallengeInWins() == 0); playButton.setEnabled(canGameBeLaunched()); @@ -536,10 +536,10 @@ public class QuestMainPanel extends QuestAbstractPanel { } - if (nextQuestInWins() > 0) { - nextQuestLabel.setText("Next Quest in " + nextQuestInWins() + " Wins."); + if (nextChallengeInWins() > 0) { + nextQuestLabel.setText("Next challenge in " + nextChallengeInWins() + " Wins."); } else { - nextQuestLabel.setText("Next Quest available now."); + nextQuestLabel.setText("Next challenge available now."); } nextMatchLayout = new CardLayout(); @@ -554,21 +554,21 @@ public class QuestMainPanel extends QuestAbstractPanel { nextMatchPanel.removeAll(); nextMatchLayout = new CardLayout(); nextMatchPanel.setLayout(nextMatchLayout); - nextMatchPanel.add(createDuelPanel(), BATTLES); - nextMatchPanel.add(createQuestPanel(), QUESTS); - if (isShowingQuests) { - this.nextMatchLayout.show(nextMatchPanel, QUESTS); + nextMatchPanel.add(createDuelPanel(), DUELS); + nextMatchPanel.add(createChallengePanel(), CHALLENGES); + if (isShowingChallenges) { + this.nextMatchLayout.show(nextMatchPanel, CHALLENGES); } else { - this.nextMatchLayout.show(nextMatchPanel, BATTLES); + this.nextMatchLayout.show(nextMatchPanel, DUELS); } } /** - *

nextQuestInWins.

+ *

nextChallengeInWins.

* * @return a int. */ - private int nextQuestInWins() { + private int nextChallengeInWins() { // Number of wins was 25, lowereing the number to 20 to help short term questers. if (questData.getWin() < 20) { @@ -576,7 +576,7 @@ public class QuestMainPanel extends QuestAbstractPanel { } // The int mul has been lowered by one, should face special opps more frequently. - int questsPlayed = questData.getQuestsPlayed(); + int challengesPlayed = questData.getChallengesPlayed(); int mul = 5; if (questData.getInventory().hasItem("Zeppelin")) { @@ -585,7 +585,7 @@ public class QuestMainPanel extends QuestAbstractPanel { mul = 4; } - int delta = (questsPlayed * mul) - questData.getWin(); + int delta = (challengesPlayed * mul) - questData.getWin(); return (delta > 0) ? delta : 0; } @@ -679,8 +679,8 @@ public class QuestMainPanel extends QuestAbstractPanel { Constant.Runtime.Smooth[0] = smoothLandCheckBox.isSelected(); AllZone.getMatchState().reset(); - if (isShowingQuests) { - setupQuest(humanDeck); + if (isShowingChallenges) { + setupChallenge(humanDeck); } else { setupDuel(humanDeck); } @@ -706,17 +706,17 @@ public class QuestMainPanel extends QuestAbstractPanel { } /** - *

setupQuest.

+ *

setupChallenge.

* * @param humanDeck a {@link forge.deck.Deck} object. */ - private void setupQuest(Deck humanDeck) { - QuestQuest selectedQuest = (QuestQuest)selectedOpponent.getEvent(); + private void setupChallenge(Deck humanDeck) { + QuestChallenge selectedChallenge = (QuestChallenge)selectedOpponent.getEvent(); Deck computer = selectedOpponent.getEvent().getEventDeck(); Constant.Runtime.ComputerDeck[0] = computer; - AllZone.setQuestQuest(selectedQuest); + AllZone.setQuestChallenge(selectedChallenge); int extraLife = 0; @@ -725,8 +725,8 @@ public class QuestMainPanel extends QuestAbstractPanel { } AllZone.getGameAction().newGame(humanDeck, computer, - forge.quest.data.QuestUtil.getHumanStartingCards(questData, selectedQuest), new CardList(), - questData.getLife() + extraLife, selectedQuest.getAILife(), selectedQuest); + forge.quest.data.QuestUtil.getHumanStartingCards(questData, selectedChallenge), new CardList(), + questData.getLife() + extraLife, selectedChallenge.getAILife(), selectedChallenge); } @@ -740,15 +740,15 @@ public class QuestMainPanel extends QuestAbstractPanel { } /** - *

showQuests.

+ *

showChallenges.

*/ - void showQuests() { - if (isShowingQuests) { - isShowingQuests = false; - questButton.setText("Quests"); + void showChallenges() { + if (isShowingChallenges) { + isShowingChallenges = false; + eventButton.setText("Challenges"); } else { - isShowingQuests = true; - questButton.setText("Battles"); + isShowingChallenges = true; + eventButton.setText("Duels"); } if (selectedOpponent != null) { diff --git a/src/main/java/forge/quest/gui/main/QuestQuest.java b/src/main/java/forge/quest/gui/main/QuestChallenge.java similarity index 98% rename from src/main/java/forge/quest/gui/main/QuestQuest.java rename to src/main/java/forge/quest/gui/main/QuestChallenge.java index 6c9ad3458c8..6e53834a589 100644 --- a/src/main/java/forge/quest/gui/main/QuestQuest.java +++ b/src/main/java/forge/quest/gui/main/QuestChallenge.java @@ -13,7 +13,7 @@ import java.util.List; * deck, and quest-specific properties. * */ -public class QuestQuest extends QuestEvent { +public class QuestChallenge extends QuestEvent { // ID (default -1, should be explicitly set at later time.) public int id = -1; diff --git a/src/main/java/forge/quest/gui/main/QuestQuestPanel.java b/src/main/java/forge/quest/gui/main/QuestChallengePanel.java similarity index 56% rename from src/main/java/forge/quest/gui/main/QuestQuestPanel.java rename to src/main/java/forge/quest/gui/main/QuestChallengePanel.java index cc53dc735b0..ce4c7fd48f3 100644 --- a/src/main/java/forge/quest/gui/main/QuestQuestPanel.java +++ b/src/main/java/forge/quest/gui/main/QuestChallengePanel.java @@ -8,25 +8,25 @@ package forge.quest.gui.main; */ @SuppressWarnings("serial") -public class QuestQuestPanel extends QuestSelectablePanel { +public class QuestChallengePanel extends QuestSelectablePanel { //private JLabel repeatabilityLabel; - /**

QuestQuestPanel.

- * Constructor, using quest data instance. + /**

QuestChallengePanel.

+ * Constructor, using challenge data instance. * - * @param {@link forge.quest.gui.main.QuestDuel} + * @param {@link forge.quest.gui.main.QuestChallenge} */ - public QuestQuestPanel(QuestQuest q) { + public QuestChallengePanel(QuestChallenge q) { super(q); // Repeatability is currently meaningless. // Can be added here later if necessary. /* * if (q.getRepeatable()) { - repeatabilityLabel = new JLabel("This quest is repeatable"); + repeatabilityLabel = new JLabel("This challenge is repeatable"); } else { - repeatabilityLabel = new JLabel("This quest is not repeatable"); + repeatabilityLabel = new JLabel("This challenge is not repeatable"); } super.rootPanel.add(repeatabilityLabel); diff --git a/src/main/java/forge/quest/gui/main/QuestEventManager.java b/src/main/java/forge/quest/gui/main/QuestEventManager.java index 36d7901f612..d1edb13d998 100644 --- a/src/main/java/forge/quest/gui/main/QuestEventManager.java +++ b/src/main/java/forge/quest/gui/main/QuestEventManager.java @@ -28,17 +28,16 @@ public class QuestEventManager { public List hardAIduels = null; public List veryHardAIduels = null; - public List allDuels = null; - public List allQuests = null; + public List allDuels = null; + public List allChallenges = null; /**

assembleAllEvents.

* - * Reads all quest and battle files to extract quest data. - * Instantiates all duel and quest events, and difficulty lists accordingly. - * Should be used sparingly. + * Reads all duel and challenge files and instantiates all events, + * and difficulty lists accordingly. Should be used sparingly. */ public void assembleAllEvents() { this.allDuels = new ArrayList(); - this.allQuests = new ArrayList(); + this.allChallenges = new ArrayList(); List contents; QuestEvent tempEvent; @@ -53,9 +52,9 @@ public class QuestEventManager { contents = FileUtil.readFile(f); if(contents.get(0).trim().equals("[quest]")) { - tempEvent = new QuestQuest(); - assembleQuestUniquedata(contents,(QuestQuest)tempEvent); - allQuests.add((QuestQuest)tempEvent); + tempEvent = new QuestChallenge(); + assembleChallengeUniquedata(contents,(QuestChallenge)tempEvent); + allChallenges.add((QuestChallenge)tempEvent); } // End if([quest]) else { tempEvent = new QuestDuel(); @@ -99,13 +98,13 @@ public class QuestEventManager { } /** - *

assembleQuestUniquedata.

- * Handler for any unique data contained in quest files. + *

assembleChallengeUniquedata.

+ * Handler for any unique data contained in a challenge file. * * @param contents - * @param qq + * @param qc */ - private void assembleQuestUniquedata(List contents, QuestQuest qq) { + private void assembleChallengeUniquedata(List contents, QuestChallenge qc) { int eqpos; String key, value; @@ -120,23 +119,23 @@ public class QuestEventManager { value = s.substring(eqpos + 1).trim(); if (key.equalsIgnoreCase("ID")) { - qq.id = Integer.parseInt(value); + qc.id = Integer.parseInt(value); } else if (key.equalsIgnoreCase("Repeat")) { - qq.repeatable = Boolean.parseBoolean(value); + qc.repeatable = Boolean.parseBoolean(value); } else if (key.equalsIgnoreCase("AILife")) { - qq.aiLife = Integer.parseInt(value); + qc.aiLife = Integer.parseInt(value); } else if (key.equalsIgnoreCase("Wins")) { - qq.winsReqd = Integer.parseInt(value); + qc.winsReqd = Integer.parseInt(value); } else if (key.equalsIgnoreCase("Credit Reward")) { - qq.creditsReward = Integer.parseInt(value); + qc.creditsReward = Integer.parseInt(value); } else if (key.equalsIgnoreCase("Card Reward")) { - qq.cardReward = value; - qq.cardRewardList = QuestUtil.generateCardRewardList(value); + qc.cardReward = value; + qc.cardRewardList = QuestUtil.generateCardRewardList(value); } // Human extra card list assembled here. else if(key.equalsIgnoreCase("HumanExtras") && !value.equals("")) { @@ -147,7 +146,7 @@ public class QuestEventManager { templist.add(readExtraCard(n, AllZone.getHumanPlayer())); } - qq.humanExtraCards = templist; + qc.humanExtraCards = templist; } // AI extra card list assembled here. else if(key.equalsIgnoreCase("AIExtras") && !value.equals("")) { @@ -158,12 +157,12 @@ public class QuestEventManager { templist.add(readExtraCard(n, AllZone.getComputerPlayer())); } - qq.aiExtraCards = templist; + qc.aiExtraCards = templist; } // Card reward list assembled here. else if(key.equalsIgnoreCase("Card Reward")) { - qq.cardReward = value; - qq.cardRewardList = QuestUtil.generateCardRewardList(value); + qc.cardReward = value; + qc.cardRewardList = QuestUtil.generateCardRewardList(value); } } } @@ -246,13 +245,13 @@ public class QuestEventManager { } /** - *

getAllQuests.

- * Returns complete list of all quest objects. + *

getAllChallenges.

+ * Returns complete list of all challenge objects. * * @return a {@link java.util.List} object. */ - public List getAllQuests() { - return this.allQuests; + public List getAllChallenges() { + return this.allChallenges; } /** @@ -300,10 +299,19 @@ public class QuestEventManager { return deckListCopy.get(n); } - private QuestQuest getQuestOpponentByNumber(int n) { - for(QuestQuest qq : allQuests) { - if(qq.getId()==n) { - return qq; + /** + *

getChallengeOpponentByNumber.

+ * Returns specific challenge event using its ID. + * This is to make sure that the opponents do not change + * when the deck editor is launched. + * + * @param n + * @return + */ + private QuestChallenge getChallengeEventByNumber(int n) { + for(QuestChallenge qc : allChallenges) { + if(qc.getId()==n) { + return qc; } } return null; @@ -358,51 +366,51 @@ public class QuestEventManager { } /** - *

generateQuests.

- * Generates an array of new quest opponents based on current win conditions. + *

generateChallenges.

+ * Generates an array of new challenge opponents based on current win conditions. * * @return a {@link java.util.List} object. */ - public List generateQuests() { + public List generateChallenges() { forge.quest.data.QuestData questData = AllZone.getQuestData(); - List questOpponents = new ArrayList(); + List challengeOpponents = new ArrayList(); - int maxQuests = questData.getWin() / 10; - if (maxQuests > 5) { - maxQuests = 5; + int maxChallenges = questData.getWin() / 10; + if (maxChallenges > 5) { + maxChallenges = 5; } - // Generate IDs as needed. - if (questData.getAvailableQuests() == null || - questData.getAvailableQuests().size() < maxQuests) { + // Generate IDs as needed. + if (questData.getAvailableChallenges() == null || + questData.getAvailableChallenges().size() < maxChallenges) { - List unlockedQuestIds = new ArrayList(); - List availableQuestIds = new ArrayList(); + List unlockedChallengeIds = new ArrayList(); + List availableChallengeIds = new ArrayList(); - for(QuestQuest qq : allQuests) { - if (qq.getWinsReqd() <= questData.getWin() && - !questData.getCompletedQuests().contains(qq.getId())) { - unlockedQuestIds.add(qq.getId()); + for(QuestChallenge qc : allChallenges) { + if (qc.getWinsReqd() <= questData.getWin() && + !questData.getCompletedChallenges().contains(qc.getId())) { + unlockedChallengeIds.add(qc.getId()); } } - Collections.shuffle(unlockedQuestIds); + Collections.shuffle(unlockedChallengeIds); - for (int i = 0; i < maxQuests; i++) { - availableQuestIds.add(unlockedQuestIds.get(i)); + for (int i = 0; i < maxChallenges; i++) { + availableChallengeIds.add(unlockedChallengeIds.get(i)); } - questData.setAvailableQuests(availableQuestIds); + questData.setAvailableChallenges(availableChallengeIds); questData.saveData(); } - // Finally, pull quest events from available IDs and return. - for(int i : questData.getAvailableQuests()) { - questOpponents.add(getQuestOpponentByNumber(i)); + // Finally, pull challenge events from available IDs and return. + for(int i : questData.getAvailableChallenges()) { + challengeOpponents.add(getChallengeEventByNumber(i)); } - return questOpponents; + return challengeOpponents; } }