mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-20 20:58:03 +00:00
Deprecated old QuestData, updated all references to use the new QuestData structure
Refactored pets, all pet logic decoupled from the UI. This should make adding/changing pets much easier.
This commit is contained in:
28
.gitattributes
vendored
28
.gitattributes
vendored
@@ -7256,7 +7256,7 @@ src/forge/GUI_DeckAnalysis.java -text svneol=native#text/plain
|
|||||||
src/forge/GUI_Filter.java -text svneol=native#text/plain
|
src/forge/GUI_Filter.java -text svneol=native#text/plain
|
||||||
src/forge/GUI_ImportPicture.java -text svneol=native#text/plain
|
src/forge/GUI_ImportPicture.java -text svneol=native#text/plain
|
||||||
src/forge/GUI_Quest_Filter.java -text svneol=native#text/plain
|
src/forge/GUI_Quest_Filter.java -text svneol=native#text/plain
|
||||||
src/forge/GameAction.java -text svneol=native#text/plain
|
src/forge/GameAction.java svneol=native#text/plain
|
||||||
src/forge/GameActionUtil.java -text svneol=native#text/plain
|
src/forge/GameActionUtil.java -text svneol=native#text/plain
|
||||||
src/forge/GameInfo.java -text svneol=native#text/plain
|
src/forge/GameInfo.java -text svneol=native#text/plain
|
||||||
src/forge/Generate2ColorDeck.java -text svneol=native#text/plain
|
src/forge/Generate2ColorDeck.java -text svneol=native#text/plain
|
||||||
@@ -7268,7 +7268,7 @@ src/forge/GenerateSealedDeck.java svneol=native#text/plain
|
|||||||
src/forge/GenerateThemeDeck.java -text svneol=native#text/plain
|
src/forge/GenerateThemeDeck.java -text svneol=native#text/plain
|
||||||
src/forge/GuiDisplay.java svneol=native#text/plain
|
src/forge/GuiDisplay.java svneol=native#text/plain
|
||||||
src/forge/GuiDisplay2.java svneol=native#text/plain
|
src/forge/GuiDisplay2.java svneol=native#text/plain
|
||||||
src/forge/GuiDisplay3.java -text svneol=native#text/plain
|
src/forge/GuiDisplay3.java svneol=native#text/plain
|
||||||
src/forge/GuiDisplay4.java svneol=native#text/plain
|
src/forge/GuiDisplay4.java svneol=native#text/plain
|
||||||
src/forge/GuiDisplayUtil.java svneol=native#text/plain
|
src/forge/GuiDisplayUtil.java svneol=native#text/plain
|
||||||
src/forge/GuiInput.java svneol=native#text/plain
|
src/forge/GuiInput.java svneol=native#text/plain
|
||||||
@@ -7281,23 +7281,23 @@ src/forge/Gui_DownloadPictures.java svneol=native#text/plain
|
|||||||
src/forge/Gui_DownloadPictures_LQ.java -text svneol=native#text/plain
|
src/forge/Gui_DownloadPictures_LQ.java -text svneol=native#text/plain
|
||||||
src/forge/Gui_DownloadPrices.java -text svneol=native#text/plain
|
src/forge/Gui_DownloadPrices.java -text svneol=native#text/plain
|
||||||
src/forge/Gui_DownloadSetPictures_LQ.java -text svneol=native#text/plain
|
src/forge/Gui_DownloadSetPictures_LQ.java -text svneol=native#text/plain
|
||||||
src/forge/Gui_ElixirShop.java -text svneol=native#text/plain
|
src/forge/Gui_ElixirShop.java svneol=native#text/plain
|
||||||
src/forge/Gui_Gear.java -text svneol=native#text/plain
|
src/forge/Gui_Gear.java svneol=native#text/plain
|
||||||
src/forge/Gui_Library.java -text svneol=native#text/plain
|
src/forge/Gui_Library.java svneol=native#text/plain
|
||||||
src/forge/Gui_MultipleBlockers.java svneol=native#text/plain
|
src/forge/Gui_MultipleBlockers.java svneol=native#text/plain
|
||||||
src/forge/Gui_NewGame.java svneol=native#text/plain
|
src/forge/Gui_NewGame.java svneol=native#text/plain
|
||||||
src/forge/Gui_PetShop.java -text svneol=native#text/plain
|
src/forge/Gui_PetShop.java svneol=native#text/plain
|
||||||
src/forge/Gui_PlantShop.java -text svneol=native#text/plain
|
src/forge/Gui_PlantShop.java svneol=native#text/plain
|
||||||
src/forge/Gui_Quest.java svneol=native#text/plain
|
src/forge/Gui_Quest.java svneol=native#text/plain
|
||||||
src/forge/Gui_QuestOptions.java svneol=native#text/plain
|
src/forge/Gui_QuestOptions.java svneol=native#text/plain
|
||||||
src/forge/Gui_Quest_Assignments.java svneol=native#text/plain
|
src/forge/Gui_Quest_Assignments.java svneol=native#text/plain
|
||||||
src/forge/Gui_Quest_DeckEditor.java -text svneol=native#text/plain
|
src/forge/Gui_Quest_DeckEditor.java svneol=native#text/plain
|
||||||
src/forge/Gui_Quest_DeckEditor_Menu.java -text svneol=native#text/plain
|
src/forge/Gui_Quest_DeckEditor_Menu.java svneol=native#text/plain
|
||||||
src/forge/Gui_Quest_Deck_Info.java svneol=native#text/plain
|
src/forge/Gui_Quest_Deck_Info.java svneol=native#text/plain
|
||||||
src/forge/Gui_SealedDeck.java svneol=native#text/plain
|
src/forge/Gui_SealedDeck.java svneol=native#text/plain
|
||||||
src/forge/Gui_SetEditor.java svneol=native#text/plain
|
src/forge/Gui_SetEditor.java svneol=native#text/plain
|
||||||
src/forge/Gui_Shops.java -text svneol=native#text/plain
|
src/forge/Gui_Shops.java -text svneol=native#text/plain
|
||||||
src/forge/Gui_Treasury.java -text svneol=native#text/plain
|
src/forge/Gui_Treasury.java svneol=native#text/plain
|
||||||
src/forge/Gui_Welcome.java svneol=native#text/plain
|
src/forge/Gui_Welcome.java svneol=native#text/plain
|
||||||
src/forge/Gui_WinLose.java svneol=native#text/plain
|
src/forge/Gui_WinLose.java svneol=native#text/plain
|
||||||
src/forge/HandSizeOp.java -text svneol=native#text/plain
|
src/forge/HandSizeOp.java -text svneol=native#text/plain
|
||||||
@@ -7350,15 +7350,15 @@ src/forge/PrintCardNames.java svneol=native#text/plain
|
|||||||
src/forge/PrintCardPictures.java svneol=native#text/plain
|
src/forge/PrintCardPictures.java svneol=native#text/plain
|
||||||
src/forge/QuestData.java svneol=native#text/plain
|
src/forge/QuestData.java svneol=native#text/plain
|
||||||
src/forge/QuestData_BoosterPack.java svneol=native#text/plain
|
src/forge/QuestData_BoosterPack.java svneol=native#text/plain
|
||||||
src/forge/QuestData_Prefs.java -text svneol=native#text/plain
|
src/forge/QuestData_Prefs.java svneol=native#text/plain
|
||||||
src/forge/QuestData_State.java svneol=native#text/plain
|
src/forge/QuestData_State.java svneol=native#text/plain
|
||||||
src/forge/QuestUtil.java -text svneol=native#text/plain
|
src/forge/QuestUtil.java svneol=native#text/plain
|
||||||
src/forge/Quest_Assignment.java -text svneol=native#text/plain
|
src/forge/Quest_Assignment.java -text svneol=native#text/plain
|
||||||
src/forge/ReadBoosterPack.java svneol=native#text/plain
|
src/forge/ReadBoosterPack.java svneol=native#text/plain
|
||||||
src/forge/ReadCard.java svneol=native#text/plain
|
src/forge/ReadCard.java svneol=native#text/plain
|
||||||
src/forge/ReadDraftBoosterPack.java -text svneol=native#text/plain
|
src/forge/ReadDraftBoosterPack.java -text svneol=native#text/plain
|
||||||
src/forge/ReadPriceList.java -text svneol=native#text/plain
|
src/forge/ReadPriceList.java -text svneol=native#text/plain
|
||||||
src/forge/ReadQuest_Assignment.java -text svneol=native#text/plain
|
src/forge/ReadQuest_Assignment.java svneol=native#text/plain
|
||||||
src/forge/Run.java svneol=native#text/plain
|
src/forge/Run.java svneol=native#text/plain
|
||||||
src/forge/RunTest.java svneol=native#text/plain
|
src/forge/RunTest.java svneol=native#text/plain
|
||||||
src/forge/SetInfo.java -text svneol=native#text/plain
|
src/forge/SetInfo.java -text svneol=native#text/plain
|
||||||
@@ -7428,8 +7428,8 @@ src/forge/quest/data/QuestUtil.java svneol=native#text/plain
|
|||||||
src/forge/quest/data/pet/QuestPetAbstract.java svneol=native#text/plain
|
src/forge/quest/data/pet/QuestPetAbstract.java svneol=native#text/plain
|
||||||
src/forge/quest/data/pet/QuestPetBird.java svneol=native#text/plain
|
src/forge/quest/data/pet/QuestPetBird.java svneol=native#text/plain
|
||||||
src/forge/quest/data/pet/QuestPetCrocodile.java svneol=native#text/plain
|
src/forge/quest/data/pet/QuestPetCrocodile.java svneol=native#text/plain
|
||||||
src/forge/quest/data/pet/QuestPetFactory.java svneol=native#text/plain
|
|
||||||
src/forge/quest/data/pet/QuestPetHound.java svneol=native#text/plain
|
src/forge/quest/data/pet/QuestPetHound.java svneol=native#text/plain
|
||||||
|
src/forge/quest/data/pet/QuestPetManager.java svneol=native#text/plain
|
||||||
src/forge/quest/data/pet/QuestPetPlant.java svneol=native#text/plain
|
src/forge/quest/data/pet/QuestPetPlant.java svneol=native#text/plain
|
||||||
src/forge/quest/data/pet/QuestPetWolf.java svneol=native#text/plain
|
src/forge/quest/data/pet/QuestPetWolf.java svneol=native#text/plain
|
||||||
src/forge/quest/gui/QuestAbstractPanel.java svneol=native#text/plain
|
src/forge/quest/gui/QuestAbstractPanel.java svneol=native#text/plain
|
||||||
|
|||||||
@@ -19,6 +19,8 @@ import java.util.Map.Entry;
|
|||||||
*
|
*
|
||||||
* @author Clemens Koza
|
* @author Clemens Koza
|
||||||
*/
|
*/
|
||||||
|
@SuppressWarnings({"deprecation"})
|
||||||
|
@Deprecated
|
||||||
public class QuestData_State implements Serializable {
|
public class QuestData_State implements Serializable {
|
||||||
private static final long serialVersionUID = 7007940230351051937L;
|
private static final long serialVersionUID = 7007940230351051937L;
|
||||||
|
|
||||||
|
|||||||
@@ -1,13 +1,13 @@
|
|||||||
package forge;
|
package forge;
|
||||||
|
|
||||||
|
|
||||||
|
import forge.properties.ForgeProps;
|
||||||
|
import forge.properties.NewConstants;
|
||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
import forge.properties.ForgeProps;
|
|
||||||
import forge.properties.NewConstants;
|
|
||||||
|
|
||||||
|
|
||||||
public class AllZone implements NewConstants {
|
public class AllZone implements NewConstants {
|
||||||
//only for testing, should read decks from local directory
|
//only for testing, should read decks from local directory
|
||||||
@@ -16,7 +16,7 @@ public class AllZone implements NewConstants {
|
|||||||
public static final Player HumanPlayer = new HumanPlayer("Human");
|
public static final Player HumanPlayer = new HumanPlayer("Human");
|
||||||
public static final Player ComputerPlayer = new AIPlayer("Computer");
|
public static final Player ComputerPlayer = new AIPlayer("Computer");
|
||||||
|
|
||||||
public static QuestData QuestData = null;
|
public static forge.quest.data.QuestData QuestData = null;
|
||||||
public static Quest_Assignment QuestAssignment = null;
|
public static Quest_Assignment QuestAssignment = null;
|
||||||
public static final NameChanger NameChanger = new NameChanger();
|
public static final NameChanger NameChanger = new NameChanger();
|
||||||
|
|
||||||
|
|||||||
@@ -2,12 +2,13 @@
|
|||||||
package forge;
|
package forge;
|
||||||
|
|
||||||
|
|
||||||
|
import forge.quest.data.QuestMatchState;
|
||||||
|
|
||||||
|
import javax.swing.*;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import javax.swing.ImageIcon;
|
|
||||||
|
|
||||||
|
|
||||||
public interface Constant {
|
public interface Constant {
|
||||||
public static final String ProgramName = "Forge - http://cardforge.org";
|
public static final String ProgramName = "Forge - http://cardforge.org";
|
||||||
@@ -17,7 +18,7 @@ public interface Constant {
|
|||||||
public static final Deck[] HumanDeck = new Deck[1];
|
public static final Deck[] HumanDeck = new Deck[1];
|
||||||
public static final Deck[] ComputerDeck = new Deck[1];
|
public static final Deck[] ComputerDeck = new Deck[1];
|
||||||
public static final String[] GameType = new String[1];
|
public static final String[] GameType = new String[1];
|
||||||
public static final WinLose WinLose = new WinLose();
|
public static final QuestMatchState matchState = new QuestMatchState();
|
||||||
public static final boolean[] Smooth = new boolean[1];
|
public static final boolean[] Smooth = new boolean[1];
|
||||||
public static final boolean[] Mill = new boolean[1];
|
public static final boolean[] Mill = new boolean[1];
|
||||||
public static final boolean[] DevMode = new boolean[1]; // one for normal mode one for quest mode
|
public static final boolean[] DevMode = new boolean[1]; // one for normal mode one for quest mode
|
||||||
|
|||||||
@@ -2,20 +2,13 @@
|
|||||||
package forge;
|
package forge;
|
||||||
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.Arrays;
|
|
||||||
import java.util.Comparator;
|
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.Iterator;
|
|
||||||
import java.util.Random;
|
|
||||||
|
|
||||||
import javax.swing.JFrame;
|
|
||||||
import javax.swing.JOptionPane;
|
|
||||||
|
|
||||||
import forge.gui.GuiUtils;
|
import forge.gui.GuiUtils;
|
||||||
import forge.properties.ForgeProps;
|
import forge.properties.ForgeProps;
|
||||||
import forge.properties.NewConstants.LANG.GameAction.GAMEACTION_TEXT;
|
import forge.properties.NewConstants.LANG.GameAction.GAMEACTION_TEXT;
|
||||||
|
|
||||||
|
import javax.swing.*;
|
||||||
|
import java.util.*;
|
||||||
|
|
||||||
public class GameAction {
|
public class GameAction {
|
||||||
|
|
||||||
public void resetActivationsPerTurn(){
|
public void resetActivationsPerTurn(){
|
||||||
@@ -418,15 +411,15 @@ public class GameAction {
|
|||||||
Player computer = AllZone.ComputerPlayer;
|
Player computer = AllZone.ComputerPlayer;
|
||||||
Player human = AllZone.HumanPlayer;
|
Player human = AllZone.HumanPlayer;
|
||||||
|
|
||||||
int gameWon = Constant.Runtime.WinLose.getWin();
|
int gameWon = Constant.Runtime.matchState.getWin();
|
||||||
|
|
||||||
if (human.hasWon()){ // Winning Conditions can be worth more than losing conditions
|
if (human.hasWon()){ // Winning Conditions can be worth more than losing conditions
|
||||||
// Human wins
|
// Human wins
|
||||||
humanWins = true;
|
humanWins = true;
|
||||||
if (human.getAltWin()){
|
if (human.getAltWin()){
|
||||||
Constant.Runtime.WinLose.setWinMethod(gameWon, human.getWinCondition());
|
Constant.Runtime.matchState.setWinMethod(gameWon, human.getWinCondition());
|
||||||
}
|
}
|
||||||
Constant.Runtime.WinLose.addWin();
|
Constant.Runtime.matchState.addWin();
|
||||||
}
|
}
|
||||||
|
|
||||||
else if (computer.hasLost()){
|
else if (computer.hasLost()){
|
||||||
@@ -434,9 +427,9 @@ public class GameAction {
|
|||||||
humanWins = true;
|
humanWins = true;
|
||||||
|
|
||||||
if (computer.getAltLose()){
|
if (computer.getAltLose()){
|
||||||
Constant.Runtime.WinLose.setWinMethod(gameWon, computer.getLoseCondition());
|
Constant.Runtime.matchState.setWinMethod(gameWon, computer.getLoseCondition());
|
||||||
}
|
}
|
||||||
Constant.Runtime.WinLose.addWin();
|
Constant.Runtime.matchState.addWin();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -448,7 +441,7 @@ public class GameAction {
|
|||||||
|
|
||||||
// Computer wins
|
// Computer wins
|
||||||
computerWins = true;
|
computerWins = true;
|
||||||
Constant.Runtime.WinLose.addLose();
|
Constant.Runtime.matchState.addLose();
|
||||||
}
|
}
|
||||||
|
|
||||||
return humanWins || computerWins;
|
return humanWins || computerWins;
|
||||||
@@ -2250,7 +2243,7 @@ public class GameAction {
|
|||||||
AllZone.HumanPlayer.setLife(humanLife, null);
|
AllZone.HumanPlayer.setLife(humanLife, null);
|
||||||
|
|
||||||
if (qa != null){
|
if (qa != null){
|
||||||
computer.addAll(QuestUtil.getComputerCreatures(AllZone.QuestData, AllZone.QuestAssignment).toArray());
|
computer.addAll(forge.quest.data.QuestUtil.getComputerCreatures(AllZone.QuestData, AllZone.QuestAssignment).toArray());
|
||||||
}
|
}
|
||||||
|
|
||||||
for (Card c : human)
|
for (Card c : human)
|
||||||
@@ -2418,7 +2411,7 @@ public class GameAction {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Only cut/coin toss if it's the first game of the match
|
// Only cut/coin toss if it's the first game of the match
|
||||||
if (Constant.Runtime.WinLose.countWinLose() == 0)
|
if (Constant.Runtime.matchState.countWinLose() == 0)
|
||||||
{
|
{
|
||||||
// New code to determine who goes first. Delete this if it doesn't work properly
|
// New code to determine who goes first. Delete this if it doesn't work properly
|
||||||
if(Start_Cut)
|
if(Start_Cut)
|
||||||
@@ -2426,7 +2419,7 @@ public class GameAction {
|
|||||||
else
|
else
|
||||||
seeWhoPlaysFirst_CoinToss();
|
seeWhoPlaysFirst_CoinToss();
|
||||||
}
|
}
|
||||||
else if (Constant.Runtime.WinLose.didWinRecently()) // if player won last, AI starts
|
else if (Constant.Runtime.matchState.didWinRecently()) // if player won last, AI starts
|
||||||
computerStartsGame();
|
computerStartsGame();
|
||||||
|
|
||||||
for(int i = 0; i < 7; i++) {
|
for(int i = 0; i < 7; i++) {
|
||||||
|
|||||||
@@ -2,24 +2,6 @@
|
|||||||
package forge;
|
package forge;
|
||||||
|
|
||||||
|
|
||||||
import java.awt.BorderLayout;
|
|
||||||
import java.awt.Frame;
|
|
||||||
import java.awt.event.ActionEvent;
|
|
||||||
import java.awt.event.ActionListener;
|
|
||||||
import java.awt.event.MouseAdapter;
|
|
||||||
import java.awt.event.MouseEvent;
|
|
||||||
import java.awt.event.MouseMotionAdapter;
|
|
||||||
import java.util.Observable;
|
|
||||||
import java.util.Observer;
|
|
||||||
|
|
||||||
import javax.swing.JCheckBoxMenuItem;
|
|
||||||
import javax.swing.JLabel;
|
|
||||||
import javax.swing.JMenu;
|
|
||||||
import javax.swing.JMenuBar;
|
|
||||||
import javax.swing.JMenuItem;
|
|
||||||
import javax.swing.JPanel;
|
|
||||||
import javax.swing.JSeparator;
|
|
||||||
|
|
||||||
import forge.gui.GuiUtils;
|
import forge.gui.GuiUtils;
|
||||||
import forge.gui.game.CardDetailPanel;
|
import forge.gui.game.CardDetailPanel;
|
||||||
import forge.gui.game.CardPanel;
|
import forge.gui.game.CardPanel;
|
||||||
@@ -27,6 +9,13 @@ import forge.gui.game.CardPicturePanel;
|
|||||||
import forge.properties.ForgeProps;
|
import forge.properties.ForgeProps;
|
||||||
import forge.properties.NewConstants;
|
import forge.properties.NewConstants;
|
||||||
|
|
||||||
|
import javax.swing.*;
|
||||||
|
import java.awt.BorderLayout;
|
||||||
|
import java.awt.Frame;
|
||||||
|
import java.awt.event.*;
|
||||||
|
import java.util.Observable;
|
||||||
|
import java.util.Observer;
|
||||||
|
|
||||||
|
|
||||||
public class GuiDisplay2 extends javax.swing.JFrame implements CardContainer, Display, NewConstants {
|
public class GuiDisplay2 extends javax.swing.JFrame implements CardContainer, Display, NewConstants {
|
||||||
private static final long serialVersionUID = 8974795337536720207L;
|
private static final long serialVersionUID = 8974795337536720207L;
|
||||||
@@ -109,7 +98,7 @@ public class GuiDisplay2 extends javax.swing.JFrame implements CardContainer, Di
|
|||||||
concedeGame.addActionListener(new ActionListener() {
|
concedeGame.addActionListener(new ActionListener() {
|
||||||
public void actionPerformed(ActionEvent actionEvent) {
|
public void actionPerformed(ActionEvent actionEvent) {
|
||||||
dispose();
|
dispose();
|
||||||
Constant.Runtime.WinLose.addLose();
|
Constant.Runtime.matchState.addLose();
|
||||||
new Gui_WinLose();
|
new Gui_WinLose();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@@ -796,7 +785,7 @@ public class GuiDisplay2 extends javax.swing.JFrame implements CardContainer, Di
|
|||||||
private void exitForm(java.awt.event.WindowEvent evt)//GEN-FIRST:event_exitForm
|
private void exitForm(java.awt.event.WindowEvent evt)//GEN-FIRST:event_exitForm
|
||||||
{
|
{
|
||||||
dispose();
|
dispose();
|
||||||
Constant.Runtime.WinLose.addLose();
|
Constant.Runtime.matchState.addLose();
|
||||||
new Gui_WinLose();
|
new Gui_WinLose();
|
||||||
}//GEN-LAST:event_exitForm
|
}//GEN-LAST:event_exitForm
|
||||||
|
|
||||||
|
|||||||
@@ -2,63 +2,6 @@
|
|||||||
package forge;
|
package forge;
|
||||||
|
|
||||||
|
|
||||||
import static org.jdesktop.swingx.MultiSplitLayout.parseModel;
|
|
||||||
|
|
||||||
import java.awt.BorderLayout;
|
|
||||||
import java.awt.Color;
|
|
||||||
import java.awt.Component;
|
|
||||||
import java.awt.Dimension;
|
|
||||||
import java.awt.FlowLayout;
|
|
||||||
import java.awt.Font;
|
|
||||||
import java.awt.Frame;
|
|
||||||
import java.awt.GridLayout;
|
|
||||||
import java.awt.Insets;
|
|
||||||
import java.awt.Rectangle;
|
|
||||||
import java.awt.event.ActionEvent;
|
|
||||||
import java.awt.event.ActionListener;
|
|
||||||
import java.awt.event.KeyAdapter;
|
|
||||||
import java.awt.event.KeyEvent;
|
|
||||||
import java.awt.event.MouseAdapter;
|
|
||||||
import java.awt.event.MouseEvent;
|
|
||||||
import java.awt.event.MouseMotionAdapter;
|
|
||||||
import java.awt.event.WindowAdapter;
|
|
||||||
import java.awt.event.WindowEvent;
|
|
||||||
import java.beans.XMLDecoder;
|
|
||||||
import java.beans.XMLEncoder;
|
|
||||||
import java.io.BufferedInputStream;
|
|
||||||
import java.io.BufferedOutputStream;
|
|
||||||
import java.io.File;
|
|
||||||
import java.io.FileInputStream;
|
|
||||||
import java.io.FileOutputStream;
|
|
||||||
import java.io.IOException;
|
|
||||||
import java.util.Observable;
|
|
||||||
import java.util.Observer;
|
|
||||||
|
|
||||||
import javax.swing.Action;
|
|
||||||
import javax.swing.BorderFactory;
|
|
||||||
import javax.swing.ImageIcon;
|
|
||||||
import javax.swing.JButton;
|
|
||||||
import javax.swing.JCheckBoxMenuItem;
|
|
||||||
import javax.swing.JDialog;
|
|
||||||
import javax.swing.JFrame;
|
|
||||||
import javax.swing.JLabel;
|
|
||||||
import javax.swing.JMenu;
|
|
||||||
import javax.swing.JMenuBar;
|
|
||||||
import javax.swing.JMenuItem;
|
|
||||||
import javax.swing.JPanel;
|
|
||||||
import javax.swing.JScrollPane;
|
|
||||||
import javax.swing.JSeparator;
|
|
||||||
import javax.swing.JTextArea;
|
|
||||||
import javax.swing.ScrollPaneConstants;
|
|
||||||
import javax.swing.SwingConstants;
|
|
||||||
import javax.swing.border.Border;
|
|
||||||
import javax.swing.border.EmptyBorder;
|
|
||||||
import javax.swing.border.EtchedBorder;
|
|
||||||
import javax.swing.border.TitledBorder;
|
|
||||||
|
|
||||||
import org.jdesktop.swingx.JXMultiSplitPane;
|
|
||||||
import org.jdesktop.swingx.MultiSplitLayout.Node;
|
|
||||||
|
|
||||||
import forge.error.ErrorViewer;
|
import forge.error.ErrorViewer;
|
||||||
import forge.gui.ForgeAction;
|
import forge.gui.ForgeAction;
|
||||||
import forge.gui.GuiUtils;
|
import forge.gui.GuiUtils;
|
||||||
@@ -68,6 +11,24 @@ import forge.gui.game.CardPicturePanel;
|
|||||||
import forge.properties.ForgePreferences;
|
import forge.properties.ForgePreferences;
|
||||||
import forge.properties.ForgeProps;
|
import forge.properties.ForgeProps;
|
||||||
import forge.properties.NewConstants;
|
import forge.properties.NewConstants;
|
||||||
|
import org.jdesktop.swingx.JXMultiSplitPane;
|
||||||
|
import org.jdesktop.swingx.MultiSplitLayout.Node;
|
||||||
|
|
||||||
|
import javax.swing.*;
|
||||||
|
import javax.swing.border.Border;
|
||||||
|
import javax.swing.border.EmptyBorder;
|
||||||
|
import javax.swing.border.EtchedBorder;
|
||||||
|
import javax.swing.border.TitledBorder;
|
||||||
|
import java.awt.*;
|
||||||
|
import java.awt.Color;
|
||||||
|
import java.awt.event.*;
|
||||||
|
import java.beans.XMLDecoder;
|
||||||
|
import java.beans.XMLEncoder;
|
||||||
|
import java.io.*;
|
||||||
|
import java.util.Observable;
|
||||||
|
import java.util.Observer;
|
||||||
|
|
||||||
|
import static org.jdesktop.swingx.MultiSplitLayout.parseModel;
|
||||||
|
|
||||||
public class GuiDisplay3 extends JFrame implements CardContainer, Display, NewConstants, NewConstants.GUI.GuiDisplay, NewConstants.LANG.GuiDisplay {
|
public class GuiDisplay3 extends JFrame implements CardContainer, Display, NewConstants, NewConstants.GUI.GuiDisplay, NewConstants.LANG.GuiDisplay {
|
||||||
private static final long serialVersionUID = 4519302185194841060L;
|
private static final long serialVersionUID = 4519302185194841060L;
|
||||||
@@ -1007,15 +968,15 @@ public class GuiDisplay3 extends JFrame implements CardContainer, Display, NewCo
|
|||||||
private void concede() {
|
private void concede() {
|
||||||
savePrefs();
|
savePrefs();
|
||||||
dispose();
|
dispose();
|
||||||
Constant.Runtime.WinLose.addLose();
|
Constant.Runtime.matchState.addLose();
|
||||||
if (!Constant.Quest.fantasyQuest[0])
|
if (!Constant.Quest.fantasyQuest[0])
|
||||||
new Gui_WinLose();
|
new Gui_WinLose();
|
||||||
else {
|
else {
|
||||||
//new Gui_WinLose(Constant.Quest.humanList[0], Constant.Quest.computerList[0],Constant.Quest.humanLife[0], Constant.Quest.computerLife[0]);
|
//new Gui_WinLose(Constant.Quest.humanList[0], Constant.Quest.computerList[0],Constant.Quest.humanLife[0], Constant.Quest.computerLife[0]);
|
||||||
CardList humanList = QuestUtil.getHumanPlantAndPet(AllZone.QuestData, AllZone.QuestAssignment);
|
CardList humanList = forge.quest.data.QuestUtil.getHumanPlantAndPet(AllZone.QuestData, AllZone.QuestAssignment);
|
||||||
CardList computerList = QuestUtil.getComputerCreatures(AllZone.QuestData, AllZone.QuestAssignment);
|
CardList computerList = forge.quest.data.QuestUtil.getComputerCreatures(AllZone.QuestData, AllZone.QuestAssignment);
|
||||||
|
|
||||||
int humanLife = QuestUtil.getLife(AllZone.QuestData);
|
int humanLife = AllZone.QuestData.getLife();
|
||||||
int computerLife = 20;
|
int computerLife = 20;
|
||||||
|
|
||||||
if (AllZone.QuestAssignment!=null)
|
if (AllZone.QuestAssignment!=null)
|
||||||
|
|||||||
@@ -1,68 +1,6 @@
|
|||||||
package forge;
|
package forge;
|
||||||
|
|
||||||
|
|
||||||
import static org.jdesktop.swingx.MultiSplitLayout.parseModel;
|
|
||||||
|
|
||||||
import java.awt.BorderLayout;
|
|
||||||
import java.awt.Color;
|
|
||||||
import java.awt.Component;
|
|
||||||
import java.awt.FlowLayout;
|
|
||||||
import java.awt.Font;
|
|
||||||
import java.awt.Frame;
|
|
||||||
import java.awt.GridLayout;
|
|
||||||
import java.awt.Insets;
|
|
||||||
import java.awt.Point;
|
|
||||||
import java.awt.Rectangle;
|
|
||||||
import java.awt.event.ActionEvent;
|
|
||||||
import java.awt.event.ActionListener;
|
|
||||||
import java.awt.event.KeyAdapter;
|
|
||||||
import java.awt.event.KeyEvent;
|
|
||||||
import java.awt.event.MouseAdapter;
|
|
||||||
import java.awt.event.MouseEvent;
|
|
||||||
import java.awt.event.MouseMotionAdapter;
|
|
||||||
import java.awt.event.WindowAdapter;
|
|
||||||
import java.awt.event.WindowEvent;
|
|
||||||
import java.beans.XMLDecoder;
|
|
||||||
import java.beans.XMLEncoder;
|
|
||||||
import java.io.BufferedInputStream;
|
|
||||||
import java.io.BufferedOutputStream;
|
|
||||||
import java.io.File;
|
|
||||||
import java.io.FileInputStream;
|
|
||||||
import java.io.FileOutputStream;
|
|
||||||
import java.io.IOException;
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.Arrays;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Observable;
|
|
||||||
import java.util.Observer;
|
|
||||||
|
|
||||||
import javax.swing.Action;
|
|
||||||
import javax.swing.BorderFactory;
|
|
||||||
import javax.swing.ImageIcon;
|
|
||||||
import javax.swing.JButton;
|
|
||||||
import javax.swing.JCheckBoxMenuItem;
|
|
||||||
import javax.swing.JDialog;
|
|
||||||
import javax.swing.JFrame;
|
|
||||||
import javax.swing.JLabel;
|
|
||||||
import javax.swing.JLayeredPane;
|
|
||||||
import javax.swing.JMenu;
|
|
||||||
import javax.swing.JMenuBar;
|
|
||||||
import javax.swing.JMenuItem;
|
|
||||||
import javax.swing.JPanel;
|
|
||||||
import javax.swing.JScrollPane;
|
|
||||||
import javax.swing.JSeparator;
|
|
||||||
import javax.swing.JTextArea;
|
|
||||||
import javax.swing.ScrollPaneConstants;
|
|
||||||
import javax.swing.SwingConstants;
|
|
||||||
import javax.swing.SwingUtilities;
|
|
||||||
import javax.swing.border.Border;
|
|
||||||
import javax.swing.border.EmptyBorder;
|
|
||||||
import javax.swing.border.EtchedBorder;
|
|
||||||
import javax.swing.border.TitledBorder;
|
|
||||||
|
|
||||||
import org.jdesktop.swingx.JXMultiSplitPane;
|
|
||||||
import org.jdesktop.swingx.MultiSplitLayout.Node;
|
|
||||||
|
|
||||||
import arcane.ui.HandArea;
|
import arcane.ui.HandArea;
|
||||||
import arcane.ui.PlayArea;
|
import arcane.ui.PlayArea;
|
||||||
import arcane.ui.ViewPanel;
|
import arcane.ui.ViewPanel;
|
||||||
@@ -75,6 +13,24 @@ import forge.gui.game.CardPanel;
|
|||||||
import forge.properties.ForgePreferences;
|
import forge.properties.ForgePreferences;
|
||||||
import forge.properties.ForgeProps;
|
import forge.properties.ForgeProps;
|
||||||
import forge.properties.NewConstants;
|
import forge.properties.NewConstants;
|
||||||
|
import org.jdesktop.swingx.JXMultiSplitPane;
|
||||||
|
import org.jdesktop.swingx.MultiSplitLayout.Node;
|
||||||
|
|
||||||
|
import javax.swing.*;
|
||||||
|
import javax.swing.border.Border;
|
||||||
|
import javax.swing.border.EmptyBorder;
|
||||||
|
import javax.swing.border.EtchedBorder;
|
||||||
|
import javax.swing.border.TitledBorder;
|
||||||
|
import java.awt.*;
|
||||||
|
import java.awt.Color;
|
||||||
|
import java.awt.event.*;
|
||||||
|
import java.beans.XMLDecoder;
|
||||||
|
import java.beans.XMLEncoder;
|
||||||
|
import java.io.*;
|
||||||
|
import java.util.*;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import static org.jdesktop.swingx.MultiSplitLayout.parseModel;
|
||||||
|
|
||||||
|
|
||||||
public class GuiDisplay4 extends JFrame implements CardContainer, Display, NewConstants, NewConstants.GUI.GuiDisplay, NewConstants.LANG.GuiDisplay {
|
public class GuiDisplay4 extends JFrame implements CardContainer, Display, NewConstants, NewConstants.GUI.GuiDisplay, NewConstants.LANG.GuiDisplay {
|
||||||
@@ -995,15 +951,15 @@ public class GuiDisplay4 extends JFrame implements CardContainer, Display, NewCo
|
|||||||
private void concede() {
|
private void concede() {
|
||||||
savePrefs();
|
savePrefs();
|
||||||
dispose();
|
dispose();
|
||||||
Constant.Runtime.WinLose.addLose();
|
Constant.Runtime.matchState.addLose();
|
||||||
if (!Constant.Quest.fantasyQuest[0])
|
if (!Constant.Quest.fantasyQuest[0])
|
||||||
new Gui_WinLose();
|
new Gui_WinLose();
|
||||||
else {
|
else {
|
||||||
//new Gui_WinLose(Constant.Quest.humanList[0], Constant.Quest.computerList[0],Constant.Quest.humanLife[0], Constant.Quest.computerLife[0]);
|
//new Gui_WinLose(Constant.Quest.humanList[0], Constant.Quest.computerList[0],Constant.Quest.humanLife[0], Constant.Quest.computerLife[0]);
|
||||||
CardList humanList = QuestUtil.getHumanPlantAndPet(AllZone.QuestData, AllZone.QuestAssignment);
|
CardList humanList = forge.quest.data.QuestUtil.getHumanPlantAndPet(AllZone.QuestData, AllZone.QuestAssignment);
|
||||||
CardList computerList = QuestUtil.getComputerCreatures(AllZone.QuestData, AllZone.QuestAssignment);
|
CardList computerList = forge.quest.data.QuestUtil.getComputerCreatures(AllZone.QuestData, AllZone.QuestAssignment);
|
||||||
|
|
||||||
int humanLife = QuestUtil.getLife(AllZone.QuestData);
|
int humanLife = AllZone.QuestData.getLife();
|
||||||
int computerLife = 20;
|
int computerLife = 20;
|
||||||
|
|
||||||
if (AllZone.QuestAssignment!=null)
|
if (AllZone.QuestAssignment!=null)
|
||||||
|
|||||||
@@ -2,45 +2,26 @@
|
|||||||
package forge;
|
package forge;
|
||||||
|
|
||||||
|
|
||||||
import java.awt.Color;
|
import forge.error.ErrorViewer;
|
||||||
import java.awt.Component;
|
import forge.gui.game.CardDetailPanel;
|
||||||
import java.awt.Container;
|
import forge.gui.game.CardPicturePanel;
|
||||||
import java.awt.Dimension;
|
import forge.properties.NewConstants;
|
||||||
import java.awt.GridLayout;
|
|
||||||
import java.awt.Image;
|
|
||||||
import java.awt.Point;
|
|
||||||
import java.awt.Rectangle;
|
|
||||||
import java.awt.event.ActionEvent;
|
|
||||||
import java.awt.event.MouseAdapter;
|
|
||||||
import java.awt.event.MouseEvent;
|
|
||||||
import java.awt.event.WindowAdapter;
|
|
||||||
import java.awt.event.WindowEvent;
|
|
||||||
import java.text.DecimalFormat;
|
|
||||||
import java.text.NumberFormat;
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.Map;
|
|
||||||
import java.util.Random;
|
|
||||||
|
|
||||||
import javax.swing.BorderFactory;
|
import javax.swing.*;
|
||||||
import javax.swing.JButton;
|
|
||||||
import javax.swing.JFrame;
|
|
||||||
import javax.swing.JLabel;
|
|
||||||
import javax.swing.JOptionPane;
|
|
||||||
import javax.swing.JPanel;
|
|
||||||
import javax.swing.JScrollPane;
|
|
||||||
import javax.swing.JTable;
|
|
||||||
import javax.swing.SwingUtilities;
|
|
||||||
import javax.swing.border.Border;
|
import javax.swing.border.Border;
|
||||||
import javax.swing.border.EtchedBorder;
|
import javax.swing.border.EtchedBorder;
|
||||||
import javax.swing.border.TitledBorder;
|
import javax.swing.border.TitledBorder;
|
||||||
import javax.swing.event.MouseInputListener;
|
import javax.swing.event.MouseInputListener;
|
||||||
import javax.swing.table.DefaultTableCellRenderer;
|
import javax.swing.table.DefaultTableCellRenderer;
|
||||||
import javax.swing.table.TableCellRenderer;
|
import javax.swing.table.TableCellRenderer;
|
||||||
|
import java.awt.Color;
|
||||||
import forge.error.ErrorViewer;
|
import java.awt.*;
|
||||||
import forge.gui.game.CardDetailPanel;
|
import java.awt.event.*;
|
||||||
import forge.gui.game.CardPicturePanel;
|
import java.text.DecimalFormat;
|
||||||
import forge.properties.NewConstants;
|
import java.text.NumberFormat;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.Random;
|
||||||
|
|
||||||
public class Gui_CardShop extends JFrame implements CardContainer, DeckDisplay, NewConstants {
|
public class Gui_CardShop extends JFrame implements CardContainer, DeckDisplay, NewConstants {
|
||||||
|
|
||||||
@@ -84,7 +65,7 @@ public class Gui_CardShop extends JFrame implements CardContainer, DeckDisplay,
|
|||||||
private CardPicturePanel picture = new CardPicturePanel(null);
|
private CardPicturePanel picture = new CardPicturePanel(null);
|
||||||
private JPanel glassPane;
|
private JPanel glassPane;
|
||||||
|
|
||||||
private QuestData questData;
|
private forge.quest.data.QuestData questData;
|
||||||
@Override
|
@Override
|
||||||
public void setTitle(String message) {
|
public void setTitle(String message) {
|
||||||
super.setTitle(message);
|
super.setTitle(message);
|
||||||
@@ -281,49 +262,57 @@ public class Gui_CardShop extends JFrame implements CardContainer, DeckDisplay,
|
|||||||
}
|
}
|
||||||
else //grab existing shopList
|
else //grab existing shopList
|
||||||
{
|
{
|
||||||
ArrayList<String> shopList = questData.getShopList();
|
java.util.List<String> shopList = questData.getShopList();
|
||||||
shop = new CardList();
|
shop = new CardList();
|
||||||
|
|
||||||
for(int i = 0; i < shopList.size(); i++) {
|
for (String aShopList : shopList) {
|
||||||
Card c = AllZone.CardFactory.getCard(shopList.get(i).toString(), null);
|
Card c = AllZone.CardFactory.getCard(aShopList, null);
|
||||||
c.setRarity(pack.getRarity(c.getName()));
|
c.setRarity(pack.getRarity(c.getName()));
|
||||||
if (map.containsKey(c.getName()))
|
if (map.containsKey(c.getName())) {
|
||||||
c.setValue(map.get(c.getName()));
|
c.setValue(map.get(c.getName()));
|
||||||
else //card is not on pricelist
|
}
|
||||||
{
|
else //card is not on pricelist
|
||||||
System.out.println("Card " + c.getName() + " is not in the price list.");
|
{
|
||||||
if (c.getRarity().equals("Common"))
|
System.out.println("Card " + c.getName() + " is not in the price list.");
|
||||||
c.setValue(10);
|
if (c.getRarity().equals("Common")) {
|
||||||
else if (c.getRarity().equals("Uncommon"))
|
c.setValue(10);
|
||||||
c.setValue(50);
|
}
|
||||||
else if (c.getRarity().equals("Rare"))
|
else if (c.getRarity().equals("Uncommon")) {
|
||||||
c.setValue(200);
|
c.setValue(50);
|
||||||
}
|
}
|
||||||
|
else if (c.getRarity().equals("Rare")) {
|
||||||
|
c.setValue(200);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
shop.add(c);
|
shop.add(c);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
ArrayList<String> list = questData.getCardpool();
|
java.util.List<String> list = questData.getCardpool();
|
||||||
CardList owned = new CardList();
|
CardList owned = new CardList();
|
||||||
|
|
||||||
for(int i = 0; i < list.size(); i++) {
|
for (String aList : list) {
|
||||||
Card c = AllZone.CardFactory.getCard(list.get(i).toString(), null);
|
Card c = AllZone.CardFactory.getCard(aList, null);
|
||||||
|
|
||||||
c.setRarity(pack.getRarity(c.getName()));
|
c.setRarity(pack.getRarity(c.getName()));
|
||||||
if (map.containsKey(c.getName()))
|
if (map.containsKey(c.getName())) {
|
||||||
c.setValue(map.get(c.getName()));
|
c.setValue(map.get(c.getName()));
|
||||||
|
}
|
||||||
else //card is not on pricelist
|
else //card is not on pricelist
|
||||||
{
|
{
|
||||||
System.out.println("Card " + c.getName() + " is not in the price list.");
|
System.out.println("Card " + c.getName() + " is not in the price list.");
|
||||||
if (c.getRarity().equals("Common"))
|
if (c.getRarity().equals("Common")) {
|
||||||
c.setValue(10);
|
c.setValue(10);
|
||||||
else if (c.getRarity().equals("Uncommon"))
|
}
|
||||||
c.setValue(50);
|
else if (c.getRarity().equals("Uncommon")) {
|
||||||
else if (c.getRarity().equals("Rare"))
|
c.setValue(50);
|
||||||
c.setValue(200);
|
}
|
||||||
|
else if (c.getRarity().equals("Rare")) {
|
||||||
|
c.setValue(200);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
owned.add(c);
|
owned.add(c);
|
||||||
}
|
}
|
||||||
|
|
||||||
customMenu.populateShop(shop, owned);
|
customMenu.populateShop(shop, owned);
|
||||||
@@ -402,7 +391,7 @@ public class Gui_CardShop extends JFrame implements CardContainer, DeckDisplay,
|
|||||||
if (multi > 0.6)
|
if (multi > 0.6)
|
||||||
multi = 0.6;
|
multi = 0.6;
|
||||||
|
|
||||||
if (questData.getMode().equals(QuestData.FANTASY))
|
if (questData.getMode().equals(forge.quest.data.QuestData.FANTASY))
|
||||||
{
|
{
|
||||||
if (questData.getEstatesLevel()==1)
|
if (questData.getEstatesLevel()==1)
|
||||||
multi+=0.01;
|
multi+=0.01;
|
||||||
@@ -443,7 +432,7 @@ public class Gui_CardShop extends JFrame implements CardContainer, DeckDisplay,
|
|||||||
// setExtendedState(Frame.MAXIMIZED_BOTH);
|
// setExtendedState(Frame.MAXIMIZED_BOTH);
|
||||||
}//setupAndDisplay()
|
}//setupAndDisplay()
|
||||||
|
|
||||||
public Gui_CardShop(QuestData qd) {
|
public Gui_CardShop(forge.quest.data.QuestData qd) {
|
||||||
questData = qd;
|
questData = qd;
|
||||||
try {
|
try {
|
||||||
jbInit();
|
jbInit();
|
||||||
@@ -625,7 +614,7 @@ public class Gui_CardShop extends JFrame implements CardContainer, DeckDisplay,
|
|||||||
creditsLabel.setText("Total credits: " + questData.getCredits());
|
creditsLabel.setText("Total credits: " + questData.getCredits());
|
||||||
|
|
||||||
//remove sold cards from all decks:
|
//remove sold cards from all decks:
|
||||||
ArrayList<String> deckNames = questData.getDeckNames();
|
java.util.List<String> deckNames = questData.getDeckNames();
|
||||||
for (String deckName:deckNames)
|
for (String deckName:deckNames)
|
||||||
{
|
{
|
||||||
Deck deck = questData.getDeck(deckName);
|
Deck deck = questData.getDeck(deckName);
|
||||||
@@ -633,7 +622,7 @@ public class Gui_CardShop extends JFrame implements CardContainer, DeckDisplay,
|
|||||||
{
|
{
|
||||||
//count occurences:
|
//count occurences:
|
||||||
int cardPoolCount = 0;
|
int cardPoolCount = 0;
|
||||||
ArrayList<String> cpList = questData.getCards();
|
java.util.List<String> cpList = questData.getCards();
|
||||||
while(cpList.contains(c.getName()))
|
while(cpList.contains(c.getName()))
|
||||||
{
|
{
|
||||||
cpList.remove(cpList.indexOf(c.getName()));
|
cpList.remove(cpList.indexOf(c.getName()));
|
||||||
|
|||||||
@@ -1,5 +1,10 @@
|
|||||||
package forge;
|
package forge;
|
||||||
|
|
||||||
|
import forge.error.ErrorViewer;
|
||||||
|
import forge.properties.ForgeProps;
|
||||||
|
import forge.properties.NewConstants;
|
||||||
|
|
||||||
|
import javax.swing.*;
|
||||||
import java.awt.Dimension;
|
import java.awt.Dimension;
|
||||||
import java.awt.Font;
|
import java.awt.Font;
|
||||||
import java.awt.Rectangle;
|
import java.awt.Rectangle;
|
||||||
@@ -7,16 +12,6 @@ import java.awt.event.ActionEvent;
|
|||||||
import java.awt.event.WindowEvent;
|
import java.awt.event.WindowEvent;
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
|
|
||||||
import javax.swing.ImageIcon;
|
|
||||||
import javax.swing.JButton;
|
|
||||||
import javax.swing.JFrame;
|
|
||||||
import javax.swing.JLabel;
|
|
||||||
import javax.swing.SwingConstants;
|
|
||||||
|
|
||||||
import forge.error.ErrorViewer;
|
|
||||||
import forge.properties.ForgeProps;
|
|
||||||
import forge.properties.NewConstants;
|
|
||||||
|
|
||||||
public class Gui_ElixirShop extends JFrame implements NewConstants{
|
public class Gui_ElixirShop extends JFrame implements NewConstants{
|
||||||
|
|
||||||
private static final long serialVersionUID = 2409591658245091210L;
|
private static final long serialVersionUID = 2409591658245091210L;
|
||||||
@@ -36,7 +31,7 @@ public class Gui_ElixirShop extends JFrame implements NewConstants{
|
|||||||
private JButton buyPotionButton = new JButton();
|
private JButton buyPotionButton = new JButton();
|
||||||
private JButton quitButton = new JButton();
|
private JButton quitButton = new JButton();
|
||||||
|
|
||||||
private QuestData questData = AllZone.QuestData;
|
private forge.quest.data.QuestData questData = AllZone.QuestData;
|
||||||
|
|
||||||
public Gui_ElixirShop(JFrame parent) {
|
public Gui_ElixirShop(JFrame parent) {
|
||||||
try {
|
try {
|
||||||
@@ -193,7 +188,7 @@ public class Gui_ElixirShop extends JFrame implements NewConstants{
|
|||||||
void buyPotionButton_actionPerformed(ActionEvent e) throws Exception {
|
void buyPotionButton_actionPerformed(ActionEvent e) throws Exception {
|
||||||
questData.subtractCredits(getPrice());
|
questData.subtractCredits(getPrice());
|
||||||
questData.addLife(1);
|
questData.addLife(1);
|
||||||
QuestData.saveData(questData);
|
questData.saveData();
|
||||||
jbInit();
|
jbInit();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -206,7 +201,7 @@ public class Gui_ElixirShop extends JFrame implements NewConstants{
|
|||||||
}
|
}
|
||||||
|
|
||||||
void quitButton_actionPerformed(ActionEvent e) {
|
void quitButton_actionPerformed(ActionEvent e) {
|
||||||
QuestData.saveData(questData);
|
questData.saveData();
|
||||||
//new Gui_Shops();
|
//new Gui_Shops();
|
||||||
shopsGUI.setVisible(true);
|
shopsGUI.setVisible(true);
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,10 @@
|
|||||||
package forge;
|
package forge;
|
||||||
|
|
||||||
|
import forge.error.ErrorViewer;
|
||||||
|
import forge.properties.ForgeProps;
|
||||||
|
import forge.properties.NewConstants;
|
||||||
|
|
||||||
|
import javax.swing.*;
|
||||||
import java.awt.Dimension;
|
import java.awt.Dimension;
|
||||||
import java.awt.Font;
|
import java.awt.Font;
|
||||||
import java.awt.Rectangle;
|
import java.awt.Rectangle;
|
||||||
@@ -7,16 +12,6 @@ import java.awt.event.ActionEvent;
|
|||||||
import java.awt.event.WindowEvent;
|
import java.awt.event.WindowEvent;
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
|
|
||||||
import javax.swing.ImageIcon;
|
|
||||||
import javax.swing.JButton;
|
|
||||||
import javax.swing.JFrame;
|
|
||||||
import javax.swing.JLabel;
|
|
||||||
import javax.swing.SwingConstants;
|
|
||||||
|
|
||||||
import forge.error.ErrorViewer;
|
|
||||||
import forge.properties.ForgeProps;
|
|
||||||
import forge.properties.NewConstants;
|
|
||||||
|
|
||||||
public class Gui_Gear extends JFrame implements NewConstants{
|
public class Gui_Gear extends JFrame implements NewConstants{
|
||||||
|
|
||||||
private static final long serialVersionUID = -2124386606846472829L;
|
private static final long serialVersionUID = -2124386606846472829L;
|
||||||
@@ -36,7 +31,7 @@ public class Gui_Gear extends JFrame implements NewConstants{
|
|||||||
private JButton gearButton = new JButton();
|
private JButton gearButton = new JButton();
|
||||||
private JButton quitButton = new JButton();
|
private JButton quitButton = new JButton();
|
||||||
|
|
||||||
private QuestData questData = AllZone.QuestData;
|
private forge.quest.data.QuestData questData = AllZone.QuestData;
|
||||||
|
|
||||||
public Gui_Gear(JFrame parent) {
|
public Gui_Gear(JFrame parent) {
|
||||||
try {
|
try {
|
||||||
@@ -194,7 +189,7 @@ public class Gui_Gear extends JFrame implements NewConstants{
|
|||||||
{
|
{
|
||||||
questData.addGearLevel(1);
|
questData.addGearLevel(1);
|
||||||
}
|
}
|
||||||
QuestData.saveData(questData);
|
questData.saveData();
|
||||||
jbInit();
|
jbInit();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -207,7 +202,7 @@ public class Gui_Gear extends JFrame implements NewConstants{
|
|||||||
}
|
}
|
||||||
|
|
||||||
void quitButton_actionPerformed(ActionEvent e) {
|
void quitButton_actionPerformed(ActionEvent e) {
|
||||||
QuestData.saveData(questData);
|
questData.saveData();
|
||||||
//new Gui_Shops();
|
//new Gui_Shops();
|
||||||
shopsGUI.setVisible(true);
|
shopsGUI.setVisible(true);
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,10 @@
|
|||||||
package forge;
|
package forge;
|
||||||
|
|
||||||
|
import forge.error.ErrorViewer;
|
||||||
|
import forge.properties.ForgeProps;
|
||||||
|
import forge.properties.NewConstants;
|
||||||
|
|
||||||
|
import javax.swing.*;
|
||||||
import java.awt.Dimension;
|
import java.awt.Dimension;
|
||||||
import java.awt.Font;
|
import java.awt.Font;
|
||||||
import java.awt.Rectangle;
|
import java.awt.Rectangle;
|
||||||
@@ -7,16 +12,6 @@ import java.awt.event.ActionEvent;
|
|||||||
import java.awt.event.WindowEvent;
|
import java.awt.event.WindowEvent;
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
|
|
||||||
import javax.swing.ImageIcon;
|
|
||||||
import javax.swing.JButton;
|
|
||||||
import javax.swing.JFrame;
|
|
||||||
import javax.swing.JLabel;
|
|
||||||
import javax.swing.SwingConstants;
|
|
||||||
|
|
||||||
import forge.error.ErrorViewer;
|
|
||||||
import forge.properties.ForgeProps;
|
|
||||||
import forge.properties.NewConstants;
|
|
||||||
|
|
||||||
public class Gui_Library extends JFrame implements NewConstants{
|
public class Gui_Library extends JFrame implements NewConstants{
|
||||||
|
|
||||||
private static final long serialVersionUID = 2409591658245091210L;
|
private static final long serialVersionUID = 2409591658245091210L;
|
||||||
@@ -36,7 +31,7 @@ public class Gui_Library extends JFrame implements NewConstants{
|
|||||||
private JButton sleightOfHandButton= new JButton();
|
private JButton sleightOfHandButton= new JButton();
|
||||||
private JButton quitButton = new JButton();
|
private JButton quitButton = new JButton();
|
||||||
|
|
||||||
private QuestData questData = AllZone.QuestData;
|
private forge.quest.data.QuestData questData = AllZone.QuestData;
|
||||||
|
|
||||||
public Gui_Library(JFrame parent) {
|
public Gui_Library(JFrame parent) {
|
||||||
try {
|
try {
|
||||||
@@ -182,7 +177,7 @@ public class Gui_Library extends JFrame implements NewConstants{
|
|||||||
{
|
{
|
||||||
questData.addSleightOfHandLevel(1);
|
questData.addSleightOfHandLevel(1);
|
||||||
}
|
}
|
||||||
QuestData.saveData(questData);
|
questData.saveData();
|
||||||
jbInit();
|
jbInit();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -195,7 +190,7 @@ public class Gui_Library extends JFrame implements NewConstants{
|
|||||||
}
|
}
|
||||||
|
|
||||||
void quitButton_actionPerformed(ActionEvent e) {
|
void quitButton_actionPerformed(ActionEvent e) {
|
||||||
QuestData.saveData(questData);
|
questData.saveData();
|
||||||
//new Gui_Shops();
|
//new Gui_Shops();
|
||||||
shopsGUI.setVisible(true);
|
shopsGUI.setVisible(true);
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,24 @@
|
|||||||
package forge;
|
package forge;
|
||||||
|
|
||||||
|
import arcane.ui.util.ManaSymbols;
|
||||||
|
import arcane.util.MultiplexOutputStream;
|
||||||
|
import com.esotericsoftware.minlog.Log;
|
||||||
|
import forge.error.ErrorViewer;
|
||||||
|
import forge.error.ExceptionHandler;
|
||||||
|
import forge.gui.GuiUtils;
|
||||||
|
import forge.gui.ListChooser;
|
||||||
|
import forge.properties.ForgePreferences;
|
||||||
|
import forge.properties.ForgePreferences.CardSizeType;
|
||||||
|
import forge.properties.ForgePreferences.StackOffsetType;
|
||||||
|
import forge.properties.ForgeProps;
|
||||||
|
import forge.properties.NewConstants;
|
||||||
|
import forge.properties.NewConstants.LANG.Gui_NewGame.MENU_BAR.MENU;
|
||||||
|
import forge.properties.NewConstants.LANG.Gui_NewGame.MENU_BAR.OPTIONS;
|
||||||
|
import net.miginfocom.swing.MigLayout;
|
||||||
|
|
||||||
|
import javax.swing.*;
|
||||||
|
import javax.swing.UIManager.LookAndFeelInfo;
|
||||||
|
import javax.swing.border.TitledBorder;
|
||||||
import java.awt.Color;
|
import java.awt.Color;
|
||||||
import java.awt.Component;
|
import java.awt.Component;
|
||||||
import java.awt.Font;
|
import java.awt.Font;
|
||||||
@@ -8,59 +27,8 @@ import java.awt.event.ActionEvent;
|
|||||||
import java.awt.event.ActionListener;
|
import java.awt.event.ActionListener;
|
||||||
import java.awt.event.WindowAdapter;
|
import java.awt.event.WindowAdapter;
|
||||||
import java.awt.event.WindowEvent;
|
import java.awt.event.WindowEvent;
|
||||||
import java.io.BufferedOutputStream;
|
import java.io.*;
|
||||||
import java.io.File;
|
import java.util.*;
|
||||||
import java.io.FileNotFoundException;
|
|
||||||
import java.io.FileOutputStream;
|
|
||||||
import java.io.OutputStream;
|
|
||||||
import java.io.PrintStream;
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.Arrays;
|
|
||||||
import java.util.Collections;
|
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.Iterator;
|
|
||||||
import java.util.Random;
|
|
||||||
|
|
||||||
import javax.swing.AbstractAction;
|
|
||||||
import javax.swing.Action;
|
|
||||||
import javax.swing.BorderFactory;
|
|
||||||
import javax.swing.ButtonGroup;
|
|
||||||
import javax.swing.ImageIcon;
|
|
||||||
import javax.swing.JButton;
|
|
||||||
import javax.swing.JCheckBox;
|
|
||||||
import javax.swing.JCheckBoxMenuItem;
|
|
||||||
import javax.swing.JComboBox;
|
|
||||||
import javax.swing.JFrame;
|
|
||||||
import javax.swing.JLabel;
|
|
||||||
import javax.swing.JMenu;
|
|
||||||
import javax.swing.JMenuBar;
|
|
||||||
import javax.swing.JOptionPane;
|
|
||||||
import javax.swing.JPanel;
|
|
||||||
import javax.swing.JRadioButton;
|
|
||||||
import javax.swing.JTextArea;
|
|
||||||
import javax.swing.SwingConstants;
|
|
||||||
import javax.swing.SwingUtilities;
|
|
||||||
import javax.swing.UIManager;
|
|
||||||
import javax.swing.UIManager.LookAndFeelInfo;
|
|
||||||
import javax.swing.border.TitledBorder;
|
|
||||||
|
|
||||||
import net.miginfocom.swing.MigLayout;
|
|
||||||
import arcane.ui.util.ManaSymbols;
|
|
||||||
import arcane.util.MultiplexOutputStream;
|
|
||||||
|
|
||||||
import com.esotericsoftware.minlog.Log;
|
|
||||||
|
|
||||||
import forge.error.ErrorViewer;
|
|
||||||
import forge.error.ExceptionHandler;
|
|
||||||
import forge.gui.GuiUtils;
|
|
||||||
import forge.gui.ListChooser;
|
|
||||||
import forge.properties.ForgePreferences;
|
|
||||||
import forge.properties.ForgeProps;
|
|
||||||
import forge.properties.NewConstants;
|
|
||||||
import forge.properties.ForgePreferences.CardSizeType;
|
|
||||||
import forge.properties.ForgePreferences.StackOffsetType;
|
|
||||||
import forge.properties.NewConstants.LANG.Gui_NewGame.MENU_BAR.MENU;
|
|
||||||
import forge.properties.NewConstants.LANG.Gui_NewGame.MENU_BAR.OPTIONS;
|
|
||||||
|
|
||||||
|
|
||||||
/*CHOPPIC*/
|
/*CHOPPIC*/
|
||||||
@@ -193,7 +161,7 @@ public class Gui_NewGame extends JFrame implements NewConstants, NewConstants.LA
|
|||||||
|
|
||||||
AllZone.QuestData = null;
|
AllZone.QuestData = null;
|
||||||
allDecks = getDecks();
|
allDecks = getDecks();
|
||||||
Constant.Runtime.WinLose.reset();
|
Constant.Runtime.matchState.reset();
|
||||||
|
|
||||||
if(Constant.Runtime.width[0] == 0) Constant.Runtime.width[0] = 70;
|
if(Constant.Runtime.width[0] == 0) Constant.Runtime.width[0] = 70;
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,10 @@
|
|||||||
package forge;
|
package forge;
|
||||||
|
|
||||||
|
import forge.error.ErrorViewer;
|
||||||
|
import forge.properties.ForgeProps;
|
||||||
|
import forge.properties.NewConstants;
|
||||||
|
|
||||||
|
import javax.swing.*;
|
||||||
import java.awt.Dimension;
|
import java.awt.Dimension;
|
||||||
import java.awt.Font;
|
import java.awt.Font;
|
||||||
import java.awt.Rectangle;
|
import java.awt.Rectangle;
|
||||||
@@ -7,40 +12,30 @@ import java.awt.event.ActionEvent;
|
|||||||
import java.awt.event.WindowEvent;
|
import java.awt.event.WindowEvent;
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
|
|
||||||
import javax.swing.ImageIcon;
|
public class Gui_PetShop extends JFrame implements NewConstants {
|
||||||
import javax.swing.JButton;
|
|
||||||
import javax.swing.JFrame;
|
|
||||||
import javax.swing.JLabel;
|
|
||||||
import javax.swing.SwingConstants;
|
|
||||||
|
|
||||||
import forge.error.ErrorViewer;
|
private static final long serialVersionUID = -2910767196498677881L;
|
||||||
import forge.properties.ForgeProps;
|
private JFrame shopsGUI;
|
||||||
import forge.properties.NewConstants;
|
private JLabel titleLabel = new JLabel();
|
||||||
|
|
||||||
public class Gui_PetShop extends JFrame implements NewConstants{
|
private JLabel petDescLabel = new JLabel();
|
||||||
|
private JLabel petStatsLabel = new JLabel();
|
||||||
|
private JLabel petPriceLabel = new JLabel();
|
||||||
|
private JLabel petIconLabel = new JLabel();
|
||||||
|
|
||||||
private static final long serialVersionUID = -2910767196498677881L;
|
private JLabel creditsLabel = new JLabel();
|
||||||
private JFrame shopsGUI;
|
|
||||||
private JLabel titleLabel = new JLabel();
|
|
||||||
|
|
||||||
private JLabel petDescLabel = new JLabel();
|
private ImageIcon petIcon = new ImageIcon();
|
||||||
private JLabel petStatsLabel = new JLabel();
|
|
||||||
private JLabel petPriceLabel = new JLabel();
|
|
||||||
private JLabel petIconLabel = new JLabel();
|
|
||||||
|
|
||||||
private JLabel creditsLabel = new JLabel();
|
private JButton buyPetButton = new JButton();
|
||||||
|
private JButton quitButton = new JButton();
|
||||||
|
|
||||||
private ImageIcon petIcon = new ImageIcon();
|
private forge.quest.data.QuestData questData = AllZone.QuestData;
|
||||||
|
|
||||||
private JButton buyPetButton = new JButton();
|
|
||||||
private JButton quitButton = new JButton();
|
|
||||||
|
|
||||||
private QuestData questData = AllZone.QuestData;
|
|
||||||
|
|
||||||
public Gui_PetShop(JFrame parent) {
|
public Gui_PetShop(JFrame parent) {
|
||||||
try {
|
try {
|
||||||
jbInit();
|
jbInit();
|
||||||
} catch(Exception ex) {
|
} catch (Exception ex) {
|
||||||
ErrorViewer.showError(ex);
|
ErrorViewer.showError(ex);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -62,332 +57,356 @@ public class Gui_PetShop extends JFrame implements NewConstants{
|
|||||||
|
|
||||||
//only do this ONCE:
|
//only do this ONCE:
|
||||||
private void setup() {
|
private void setup() {
|
||||||
//String fileName = "LeafIconSmall.png";
|
//String fileName = "LeafIconSmall.png";
|
||||||
//ImageIcon icon = getIcon(fileName);
|
//ImageIcon icon = getIcon(fileName);
|
||||||
buyPetButton.setBounds(new Rectangle(10, 297, 120, 50));
|
buyPetButton.setBounds(new Rectangle(10, 297, 120, 50));
|
||||||
|
|
||||||
buyPetButton.addActionListener(new java.awt.event.ActionListener() {
|
buyPetButton.addActionListener(new java.awt.event.ActionListener() {
|
||||||
public void actionPerformed(ActionEvent e) {
|
public void actionPerformed(ActionEvent e) {
|
||||||
try {
|
try {
|
||||||
buyPetButton_actionPerformed(e);
|
buyPetButton_actionPerformed(e);
|
||||||
} catch (Exception e1) {
|
} catch (Exception e1) {
|
||||||
// TODO Auto-generated catch block
|
// TODO Auto-generated catch block
|
||||||
e1.printStackTrace();
|
e1.printStackTrace();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
}//setup();
|
}//setup();
|
||||||
|
|
||||||
private String getDesc()
|
private String getDesc() {
|
||||||
{
|
StringBuilder sb = new StringBuilder();
|
||||||
StringBuilder sb = new StringBuilder();
|
sb.append("<html>");
|
||||||
sb.append("<html>");
|
if (questData.getPetManager().getPet("Wolf").getLevel() == 0) {
|
||||||
if (questData.getWolfPetLevel() == 0)
|
sb.append(
|
||||||
{
|
"This ferocious animal may have been raised<br> in captivity, but it has been trained to kill.<br>");
|
||||||
sb.append("This ferocious animal may have been raised<br> in captivity, but it has been trained to kill.<br>");
|
sb.append("Eats goblins for breakfast.<br><br>");
|
||||||
sb.append("Eats goblins for breakfast.<br><br>");
|
sb.append("<u><b>Level 1</b></u>: 1/1<br>");
|
||||||
sb.append("<u><b>Level 1</b></u>: 1/1<br>");
|
sb.append("<u><b>Next Level</b></u>: 1/2<br>");
|
||||||
sb.append("<u><b>Next Level</b></u>: 1/2<br>");
|
sb.append("<u><b>Can learn</b></u>: Flanking");
|
||||||
sb.append("<u><b>Can learn</b></u>: Flanking");
|
}
|
||||||
}
|
else if (questData.getPetManager().getPet("Wolf").getLevel() == 1) {
|
||||||
else if (questData.getWolfPetLevel() == 1)
|
sb.append("Improve the toughness of your wolf.<br>");
|
||||||
{
|
sb.append("<u><b>Level 2</b></u>: 1/2<br>");
|
||||||
sb.append("Improve the toughness of your wolf.<br>");
|
sb.append("<u><b>Next Level</b></u>: 2/2<br>");
|
||||||
sb.append("<u><b>Level 2</b></u>: 1/2<br>");
|
sb.append("<u><b>Can learn</b></u>: Flanking");
|
||||||
sb.append("<u><b>Next Level</b></u>: 2/2<br>");
|
}
|
||||||
sb.append("<u><b>Can learn</b></u>: Flanking");
|
else if (questData.getPetManager().getPet("Wolf").getLevel() == 2) {
|
||||||
}
|
sb.append("Improve the attack power of your wolf.<br>");
|
||||||
else if (questData.getWolfPetLevel() == 2)
|
sb.append("<u><b>Level 3</b></u>: 2/2<br>");
|
||||||
{
|
sb.append("<u><b>Next Level</b></u>: Flanking<br>");
|
||||||
sb.append("Improve the attack power of your wolf.<br>");
|
sb.append("<u><b>Can learn</b></u>: Flanking");
|
||||||
sb.append("<u><b>Level 3</b></u>: 2/2<br>");
|
}
|
||||||
sb.append("<u><b>Next Level</b></u>: Flanking<br>");
|
else if (questData.getPetManager().getPet("Wolf").getLevel() == 3) {
|
||||||
sb.append("<u><b>Can learn</b></u>: Flanking");
|
sb.append("Gives Flanking to your wolf.<br>");
|
||||||
}
|
sb.append("<u><b>Level 4</b></u>: 2/2 Flanking<br>");
|
||||||
else if (questData.getWolfPetLevel() == 3)
|
}
|
||||||
{
|
else if (questData.getPetManager().getPet("Wolf").getLevel() >= 4) {
|
||||||
sb.append("Gives Flanking to your wolf.<br>");
|
//sb.append("Wolf Level Maxed out.<br>");
|
||||||
sb.append("<u><b>Level 4</b></u>: 2/2 Flanking<br>");
|
|
||||||
}
|
|
||||||
else if (questData.getWolfPetLevel() >= 4)
|
|
||||||
{
|
|
||||||
//sb.append("Wolf Level Maxed out.<br>");
|
|
||||||
|
|
||||||
if (questData.getCrocPetLevel() == 0)
|
if (questData.getPetManager().getPet("Crocodile").getLevel() == 0) {
|
||||||
{
|
sb.append("With its razor sharp teeth, this swamp-dwelling monster is extremely dangerous.");
|
||||||
sb.append("With its razor sharp teeth, this swamp-dwelling monster is extremely dangerous.");
|
sb.append("Crikey mate!<br><br>");
|
||||||
sb.append("Crikey mate!<br><br>");
|
sb.append("<u><b>Level 1</b></u>: 1/1<br>");
|
||||||
sb.append("<u><b>Level 1</b></u>: 1/1<br>");
|
sb.append("<u><b>Next Level</b></u>: 2/1<br>");
|
||||||
sb.append("<u><b>Next Level</b></u>: 2/1<br>");
|
sb.append("<u><b>Can learn</b></u>: Swampwalk");
|
||||||
sb.append("<u><b>Can learn</b></u>: Swampwalk");
|
}
|
||||||
}
|
else if (questData.getPetManager().getPet("Crocodile").getLevel() == 1) {
|
||||||
else if (questData.getCrocPetLevel() == 1)
|
sb.append("Improve the attack power of your croc.<br>");
|
||||||
{
|
sb.append("<u><b>Level 2</b></u>: 2/1<br>");
|
||||||
sb.append("Improve the attack power of your croc.<br>");
|
sb.append("<u><b>Next Level</b></u>: 3/1<br>");
|
||||||
sb.append("<u><b>Level 2</b></u>: 2/1<br>");
|
sb.append("<u><b>Can learn</b></u>: Swampwalk");
|
||||||
sb.append("<u><b>Next Level</b></u>: 3/1<br>");
|
}
|
||||||
sb.append("<u><b>Can learn</b></u>: Swampwalk");
|
else if (questData.getPetManager().getPet("Crocodile").getLevel() == 2) {
|
||||||
}
|
sb.append("Improve the attack power of your croc.<br>");
|
||||||
else if (questData.getCrocPetLevel() == 2)
|
sb.append("<u><b>Level 3</b></u>: 3/1<br>");
|
||||||
{
|
sb.append("<u><b>Next Level</b></u>: 3/1 Swampwalk<br>");
|
||||||
sb.append("Improve the attack power of your croc.<br>");
|
}
|
||||||
sb.append("<u><b>Level 3</b></u>: 3/1<br>");
|
else if (questData.getPetManager().getPet("Crocodile").getLevel() == 3) {
|
||||||
sb.append("<u><b>Next Level</b></u>: 3/1 Swampwalk<br>");
|
sb.append("Gives Swampwalk to your croc.<br>");
|
||||||
}
|
sb.append("<u><b>Level 4</b></u>: 3/1 Swampwalk<br>");
|
||||||
else if (questData.getCrocPetLevel() == 3)
|
}
|
||||||
{
|
/*
|
||||||
sb.append("Gives Swampwalk to your croc.<br>");
|
else if (questData.getPetManager().getPet("Crocodile").getLevel() >= 4)
|
||||||
sb.append("<u><b>Level 4</b></u>: 3/1 Swampwalk<br>");
|
{
|
||||||
}
|
sb.append("Croc Level Maxed out.<br>");
|
||||||
/*
|
}
|
||||||
else if (questData.getCrocPetLevel() >= 4)
|
*/
|
||||||
{
|
|
||||||
sb.append("Croc Level Maxed out.<br>");
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
|
|
||||||
else if (questData.getBirdPetLevel() == 0)
|
else if (questData.getPetManager().getPet("Bird").getLevel() == 0) {
|
||||||
{
|
sb.append("Unmatched in speed, agility and awareness,<br>");
|
||||||
sb.append("Unmatched in speed, agility and awareness,<br>");
|
sb.append("this trained hawk makes a fantastic hunter.<br><br>");
|
||||||
sb.append("this trained hawk makes a fantastic hunter.<br><br>");
|
sb.append("<u><b>Level 1</b></u>: 0/1 Flying<br>");
|
||||||
sb.append("<u><b>Level 1</b></u>: 0/1 Flying<br>");
|
sb.append("<u><b>Next Level</b></u>: 1/1<br>");
|
||||||
sb.append("<u><b>Next Level</b></u>: 1/1<br>");
|
sb.append("<u><b>Can learn</b></u>: First strike");
|
||||||
sb.append("<u><b>Can learn</b></u>: First strike");
|
}
|
||||||
}
|
else if (questData.getPetManager().getPet("Bird").getLevel() == 1) {
|
||||||
else if (questData.getBirdPetLevel() == 1)
|
sb.append("Improve the attack power of your bird.<br>");
|
||||||
{
|
sb.append("<u><b>Level 2</b></u>: 1/1<br>");
|
||||||
sb.append("Improve the attack power of your bird.<br>");
|
sb.append("<u><b>Next Level</b></u>: 2/1 <br>");
|
||||||
sb.append("<u><b>Level 2</b></u>: 1/1<br>");
|
sb.append("<u><b>Can learn</b></u>: First strike");
|
||||||
sb.append("<u><b>Next Level</b></u>: 2/1 <br>");
|
}
|
||||||
sb.append("<u><b>Can learn</b></u>: First strike");
|
else if (questData.getPetManager().getPet("Bird").getLevel() == 2) {
|
||||||
}
|
sb.append("Improve the attack power of your bird.<br>");
|
||||||
else if (questData.getBirdPetLevel() == 2)
|
sb.append("<u><b>Level 3</b></u>: 2/1<br>");
|
||||||
{
|
sb.append("<u><b>Next Level</b></u>: 2/1 First strike<br>");
|
||||||
sb.append("Improve the attack power of your bird.<br>");
|
}
|
||||||
sb.append("<u><b>Level 3</b></u>: 2/1<br>");
|
else if (questData.getPetManager().getPet("Bird").getLevel() == 3) {
|
||||||
sb.append("<u><b>Next Level</b></u>: 2/1 First strike<br>");
|
sb.append("Gives First strike to your bird.<br>");
|
||||||
}
|
sb.append("<u><b>Level 4</b></u>: 2/1 First strike<br>");
|
||||||
else if (questData.getBirdPetLevel() == 3)
|
}
|
||||||
{
|
else if (questData.getPetManager().getPet("Hound").getLevel() == 0) {
|
||||||
sb.append("Gives First strike to your bird.<br>");
|
sb.append("Dogs are said to be man's best friend.<br>");
|
||||||
sb.append("<u><b>Level 4</b></u>: 2/1 First strike<br>");
|
sb.append("Definitely not this one.<br><br>");
|
||||||
}
|
sb.append("<u><b>Level 1</b></u>: 1/1<br>");
|
||||||
else if (questData.getHoundPetLevel() == 0)
|
sb.append("<u><b>Next Level</b></u>: 1/1 Haste<br>");
|
||||||
{
|
sb.append(
|
||||||
sb.append("Dogs are said to be man's best friend.<br>");
|
"<u><b>Can learn</b></u>: Whenever this creature attacks alone,<br> it gets +2/+0 until end of turn.");
|
||||||
sb.append("Definitely not this one.<br><br>");
|
}
|
||||||
sb.append("<u><b>Level 1</b></u>: 1/1<br>");
|
else if (questData.getPetManager().getPet("Hound").getLevel() == 1) {
|
||||||
sb.append("<u><b>Next Level</b></u>: 1/1 Haste<br>");
|
sb.append("Gives haste to your hound.<br>");
|
||||||
sb.append("<u><b>Can learn</b></u>: Whenever this creature attacks alone,<br> it gets +2/+0 until end of turn.");
|
sb.append("<u><b>Level 2</b></u>: 1/1 Haste<br>");
|
||||||
}
|
sb.append("<u><b>Next Level</b></u>: 2/1 Haste<br>");
|
||||||
else if (questData.getHoundPetLevel() == 1)
|
sb.append(
|
||||||
{
|
"<u><b>Can learn</b></u>: Whenever this creature attacks alone,<br> it gets +2/+0 until end of turn.");
|
||||||
sb.append("Gives haste to your hound.<br>");
|
}
|
||||||
sb.append("<u><b>Level 2</b></u>: 1/1 Haste<br>");
|
else if (questData.getPetManager().getPet("Hound").getLevel() == 2) {
|
||||||
sb.append("<u><b>Next Level</b></u>: 2/1 Haste<br>");
|
sb.append("Improve the attack power of your hound.<br>");
|
||||||
sb.append("<u><b>Can learn</b></u>: Whenever this creature attacks alone,<br> it gets +2/+0 until end of turn.");
|
sb.append("<u><b>Level 3</b></u>: 2/1 Haste<br>");
|
||||||
}
|
sb.append(
|
||||||
else if (questData.getHoundPetLevel() == 2)
|
"<u><b>Next Level</b></u>: 2/1 Whenever this creature attacks<br> alone, it gets +2/+0 until end of turn.<br>");
|
||||||
{
|
}
|
||||||
sb.append("Improve the attack power of your hound.<br>");
|
else if (questData.getPetManager().getPet("Hound").getLevel() == 3) {
|
||||||
sb.append("<u><b>Level 3</b></u>: 2/1 Haste<br>");
|
sb.append("Greatly improves your hound's attack power if it<br> attacks alone.<br>");
|
||||||
sb.append("<u><b>Next Level</b></u>: 2/1 Whenever this creature attacks<br> alone, it gets +2/+0 until end of turn.<br>");
|
sb.append(
|
||||||
}
|
"<u><b>Level 4</b></u>: 2/1 Haste, whenever this creature attacks alone, it gets +2/+0 until end of turn.<br>");
|
||||||
else if (questData.getHoundPetLevel() == 3)
|
}
|
||||||
{
|
}//wolfPetLevel >= 4
|
||||||
sb.append("Greatly improves your hound's attack power if it<br> attacks alone.<br>");
|
|
||||||
sb.append("<u><b>Level 4</b></u>: 2/1 Haste, whenever this creature attacks alone, it gets +2/+0 until end of turn.<br>");
|
|
||||||
}
|
|
||||||
}//wolfPetLevel >= 4
|
|
||||||
|
|
||||||
|
|
||||||
sb.append("</html>");
|
sb.append("</html>");
|
||||||
return sb.toString();
|
return sb.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
private long getPrice()
|
private long getPrice() {
|
||||||
{
|
long l = 0;
|
||||||
long l = 0;
|
if (questData.getPetManager().getPet("Wolf").getLevel() == 0) {
|
||||||
if (questData.getWolfPetLevel() == 0)
|
l = 250;
|
||||||
l = 250;
|
}
|
||||||
else if (questData.getWolfPetLevel() == 1)
|
else if (questData.getPetManager().getPet("Wolf").getLevel() == 1) {
|
||||||
l = 250;
|
l = 250;
|
||||||
else if (questData.getWolfPetLevel() == 2)
|
}
|
||||||
l = 500;
|
else if (questData.getPetManager().getPet("Wolf").getLevel() == 2) {
|
||||||
else if (questData.getWolfPetLevel() == 3)
|
l = 500;
|
||||||
l = 550;
|
}
|
||||||
else if (questData.getWolfPetLevel() >= 4)
|
else if (questData.getPetManager().getPet("Wolf").getLevel() == 3) {
|
||||||
{
|
l = 550;
|
||||||
if (questData.getCrocPetLevel() == 0)
|
}
|
||||||
l = 250;
|
|
||||||
else if (questData.getCrocPetLevel() == 1)
|
else if (questData.getPetManager().getPet("Crocodile").getLevel() == 0) {
|
||||||
l = 300;
|
l = 250;
|
||||||
else if (questData.getCrocPetLevel() == 2)
|
}
|
||||||
l = 450;
|
else if (questData.getPetManager().getPet("Crocodile").getLevel() == 1) {
|
||||||
else if (questData.getCrocPetLevel() == 3)
|
l = 300;
|
||||||
l = 600;
|
}
|
||||||
else if (questData.getBirdPetLevel() == 0)
|
else if (questData.getPetManager().getPet("Crocodile").getLevel() == 2) {
|
||||||
l = 200;
|
l = 450;
|
||||||
else if (questData.getBirdPetLevel() == 1)
|
}
|
||||||
l = 300;
|
else if (questData.getPetManager().getPet("Crocodile").getLevel() == 3) {
|
||||||
else if (questData.getBirdPetLevel() == 2)
|
l = 600;
|
||||||
l = 450;
|
}
|
||||||
else if (questData.getBirdPetLevel() == 3)
|
else if (questData.getPetManager().getPet("Bird").getLevel() == 0) {
|
||||||
l = 400;
|
l = 200;
|
||||||
else if (questData.getHoundPetLevel() == 0)
|
}
|
||||||
l = 200;
|
else if (questData.getPetManager().getPet("Bird").getLevel() == 1) {
|
||||||
else if (questData.getHoundPetLevel() == 1)
|
l = 300;
|
||||||
l = 350;
|
}
|
||||||
else if (questData.getHoundPetLevel() == 2)
|
else if (questData.getPetManager().getPet("Bird").getLevel() == 2) {
|
||||||
l = 450;
|
l = 450;
|
||||||
else if (questData.getHoundPetLevel() == 3)
|
}
|
||||||
l = 750;
|
else if (questData.getPetManager().getPet("Bird").getLevel() == 3) {
|
||||||
}
|
l = 400;
|
||||||
return l;
|
}
|
||||||
|
else if (questData.getPetManager().getPet("Hound").getLevel() == 0) {
|
||||||
|
l = 200;
|
||||||
|
}
|
||||||
|
else if (questData.getPetManager().getPet("Hound").getLevel() == 1) {
|
||||||
|
l = 350;
|
||||||
|
}
|
||||||
|
else if (questData.getPetManager().getPet("Hound").getLevel() == 2) {
|
||||||
|
l = 450;
|
||||||
|
}
|
||||||
|
else if (questData.getPetManager().getPet("Hound").getLevel() == 3) {
|
||||||
|
l = 750;
|
||||||
|
}
|
||||||
|
return l;
|
||||||
}
|
}
|
||||||
|
|
||||||
private String getButtonText(String pet)
|
private String getButtonText(String pet) {
|
||||||
{
|
String s = "";
|
||||||
String s = "";
|
if (pet.equals("Wolf")) {
|
||||||
if (pet.equals("Wolf")) {
|
if (questData.getPetManager().getPet("Wolf").getLevel() == 0) {
|
||||||
if (questData.getWolfPetLevel() == 0)
|
s = "Buy " + pet;
|
||||||
s = "Buy " + pet;
|
}
|
||||||
else
|
else {
|
||||||
s = "Train " + pet;
|
s = "Train " + pet;
|
||||||
}
|
}
|
||||||
else if (pet.equals("Croc"))
|
}
|
||||||
{
|
else if (pet.equals("Croc")) {
|
||||||
if (questData.getCrocPetLevel() == 0)
|
if (questData.getPetManager().getPet("Crocodile").getLevel() == 0) {
|
||||||
s = "Buy " + pet;
|
s = "Buy " + pet;
|
||||||
else
|
}
|
||||||
s = "Train " + pet;
|
else {
|
||||||
}
|
s = "Train " + pet;
|
||||||
else if (pet.equals("Bird"))
|
}
|
||||||
{
|
}
|
||||||
if (questData.getBirdPetLevel() == 0)
|
else if (pet.equals("Bird")) {
|
||||||
s = "Buy " + pet;
|
if (questData.getPetManager().getPet("Bird").getLevel() == 0) {
|
||||||
else
|
s = "Buy " + pet;
|
||||||
s = "Train " + pet;
|
}
|
||||||
}
|
else {
|
||||||
else if (pet.equals("Hound"))
|
s = "Train " + pet;
|
||||||
{
|
}
|
||||||
if (questData.getHoundPetLevel() == 0)
|
}
|
||||||
s = "Buy " + pet;
|
else if (pet.equals("Hound")) {
|
||||||
else
|
if (questData.getPetManager().getPet("Hound").getLevel() == 0) {
|
||||||
s = "Train " + pet;
|
s = "Buy " + pet;
|
||||||
}
|
}
|
||||||
return s;
|
else {
|
||||||
|
s = "Train " + pet;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return s;
|
||||||
}
|
}
|
||||||
|
|
||||||
private String getPetStats()
|
private String getPetStats() {
|
||||||
{
|
StringBuilder sb = new StringBuilder();
|
||||||
StringBuilder sb = new StringBuilder();
|
if (questData.getPetManager().getPet("Wolf").getLevel() < 4) {
|
||||||
if (questData.getWolfPetLevel() < 4) {
|
if (questData.getPetManager().getPet("Wolf").getLevel() == 1) {
|
||||||
if (questData.getWolfPetLevel() == 1)
|
sb.append("1/1");
|
||||||
sb.append("1/1");
|
}
|
||||||
else if (questData.getWolfPetLevel() == 2)
|
else if (questData.getPetManager().getPet("Wolf").getLevel() == 2) {
|
||||||
sb.append("1/2");
|
sb.append("1/2");
|
||||||
else if (questData.getWolfPetLevel() >= 3)
|
}
|
||||||
sb.append("2/2");
|
else if (questData.getPetManager().getPet("Wolf").getLevel() >= 3) {
|
||||||
|
sb.append("2/2");
|
||||||
|
}
|
||||||
|
|
||||||
sb.append(" Wolf Pet (current level ");
|
sb.append(" Wolf Pet (current level ");
|
||||||
sb.append(questData.getWolfPetLevel());
|
sb.append(questData.getPetManager().getPet("Wolf").getLevel());
|
||||||
} //getWolfPetLevel < 4
|
} //getWolfPetLevel < 4
|
||||||
else if (questData.getCrocPetLevel() < 4)
|
else if (questData.getPetManager().getPet("Crocodile").getLevel() < 4) {
|
||||||
{
|
if (questData.getPetManager().getPet("Crocodile").getLevel() == 1) {
|
||||||
if (questData.getCrocPetLevel() == 1)
|
sb.append("1/1");
|
||||||
sb.append("1/1");
|
}
|
||||||
else if (questData.getCrocPetLevel() == 2)
|
else if (questData.getPetManager().getPet("Crocodile").getLevel() == 2) {
|
||||||
sb.append("2/1");
|
sb.append("2/1");
|
||||||
else if (questData.getCrocPetLevel() >= 3)
|
}
|
||||||
sb.append("3/1");
|
else if (questData.getPetManager().getPet("Crocodile").getLevel() >= 3) {
|
||||||
|
sb.append("3/1");
|
||||||
|
}
|
||||||
|
|
||||||
sb.append(" Croc Pet (current level ");
|
sb.append(" Croc Pet (current level ");
|
||||||
sb.append(questData.getCrocPetLevel());
|
sb.append(questData.getPetManager().getPet("Crocodile").getLevel());
|
||||||
}
|
}
|
||||||
else if (questData.getBirdPetLevel() < 4)
|
else if (questData.getPetManager().getPet("Bird").getLevel() < 4) {
|
||||||
{
|
if (questData.getPetManager().getPet("Bird").getLevel() == 1) {
|
||||||
if (questData.getBirdPetLevel() == 1)
|
sb.append("0/1");
|
||||||
sb.append("0/1");
|
}
|
||||||
else if (questData.getBirdPetLevel() == 2)
|
else if (questData.getPetManager().getPet("Bird").getLevel() == 2) {
|
||||||
sb.append("1/1");
|
sb.append("1/1");
|
||||||
else if (questData.getBirdPetLevel() >= 3)
|
}
|
||||||
sb.append("2/1");
|
else if (questData.getPetManager().getPet("Bird").getLevel() >= 3) {
|
||||||
|
sb.append("2/1");
|
||||||
|
}
|
||||||
|
|
||||||
sb.append(" Bird Pet (current level ");
|
sb.append(" Bird Pet (current level ");
|
||||||
sb.append(questData.getBirdPetLevel());
|
sb.append(questData.getPetManager().getPet("Bird").getLevel());
|
||||||
}
|
}
|
||||||
else if (questData.getHoundPetLevel() <= 4)
|
else if (questData.getPetManager().getPet("Hound").getLevel() <= 4) {
|
||||||
{
|
if (questData.getPetManager().getPet("Hound").getLevel() == 1) {
|
||||||
if (questData.getHoundPetLevel() == 1)
|
sb.append("1/1");
|
||||||
sb.append("1/1");
|
}
|
||||||
else if (questData.getHoundPetLevel() == 2)
|
else if (questData.getPetManager().getPet("Hound").getLevel() == 2) {
|
||||||
sb.append("1/1");
|
sb.append("1/1");
|
||||||
else if (questData.getHoundPetLevel() >= 3)
|
}
|
||||||
sb.append("2/1");
|
else if (questData.getPetManager().getPet("Hound").getLevel() >= 3) {
|
||||||
|
sb.append("2/1");
|
||||||
|
}
|
||||||
|
|
||||||
sb.append(" Hound Pet (current level ");
|
sb.append(" Hound Pet (current level ");
|
||||||
sb.append(questData.getHoundPetLevel());
|
sb.append(questData.getPetManager().getPet("Hound").getLevel());
|
||||||
}
|
}
|
||||||
|
|
||||||
sb.append("/4)");
|
sb.append("/4)");
|
||||||
if (questData.getWolfPetLevel() == 0)
|
if (questData.getPetManager().getPet("Wolf").getLevel() == 0) {
|
||||||
return "";
|
return "";
|
||||||
|
}
|
||||||
|
|
||||||
return sb.toString();
|
return sb.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
private String getImageString()
|
private String getImageString() {
|
||||||
{
|
String s = "";
|
||||||
String s = "";
|
if (questData.getPetManager().getPet("Wolf").getLevel() < 4) {
|
||||||
if (questData.getWolfPetLevel() < 4)
|
if (questData.getPetManager().getPet("Wolf").getLevel() == 0) {
|
||||||
{
|
s = "g_1_1_wolf_pet_small.jpg";
|
||||||
if (questData.getWolfPetLevel() == 0)
|
}
|
||||||
s = "g_1_1_wolf_pet_small.jpg";
|
else if (questData.getPetManager().getPet("Wolf").getLevel() == 1) {
|
||||||
else if (questData.getWolfPetLevel() == 1)
|
s = "g_1_2_wolf_pet_small.jpg";
|
||||||
s = "g_1_2_wolf_pet_small.jpg";
|
}
|
||||||
else if (questData.getWolfPetLevel() == 2)
|
else if (questData.getPetManager().getPet("Wolf").getLevel() == 2) {
|
||||||
s = "g_2_2_wolf_pet_small.jpg";
|
s = "g_2_2_wolf_pet_small.jpg";
|
||||||
else if (questData.getWolfPetLevel() == 3)
|
}
|
||||||
s = "g_2_2_wolf_pet_flanking_small.jpg";
|
else if (questData.getPetManager().getPet("Wolf").getLevel() == 3) {
|
||||||
}
|
s = "g_2_2_wolf_pet_flanking_small.jpg";
|
||||||
else if (questData.getCrocPetLevel() < 4)
|
}
|
||||||
{
|
}
|
||||||
if (questData.getCrocPetLevel() == 0)
|
else if (questData.getPetManager().getPet("Crocodile").getLevel() < 4) {
|
||||||
s = "b_1_1_crocodile_pet_small.jpg";
|
if (questData.getPetManager().getPet("Crocodile").getLevel() == 0) {
|
||||||
else if (questData.getCrocPetLevel() == 1)
|
s = "b_1_1_crocodile_pet_small.jpg";
|
||||||
s = "b_2_1_crocodile_pet_small.jpg";
|
}
|
||||||
else if (questData.getCrocPetLevel() == 2)
|
else if (questData.getPetManager().getPet("Crocodile").getLevel() == 1) {
|
||||||
s = "b_3_1_crocodile_pet_small.jpg";
|
s = "b_2_1_crocodile_pet_small.jpg";
|
||||||
else if (questData.getCrocPetLevel() == 3)
|
}
|
||||||
s = "b_3_1_crocodile_pet_swampwalk_small.jpg";
|
else if (questData.getPetManager().getPet("Crocodile").getLevel() == 2) {
|
||||||
}
|
s = "b_3_1_crocodile_pet_small.jpg";
|
||||||
else if (questData.getBirdPetLevel() < 4)
|
}
|
||||||
{
|
else if (questData.getPetManager().getPet("Crocodile").getLevel() == 3) {
|
||||||
if (questData.getBirdPetLevel() == 0)
|
s = "b_3_1_crocodile_pet_swampwalk_small.jpg";
|
||||||
s = "w_0_1_bird_pet_small.jpg";
|
}
|
||||||
else if (questData.getBirdPetLevel() == 1)
|
}
|
||||||
s = "w_1_1_bird_pet_small.jpg";
|
else if (questData.getPetManager().getPet("Bird").getLevel() < 4) {
|
||||||
else if (questData.getBirdPetLevel() == 2)
|
if (questData.getPetManager().getPet("Bird").getLevel() == 0) {
|
||||||
s = "w_2_1_bird_pet_small.jpg";
|
s = "w_0_1_bird_pet_small.jpg";
|
||||||
else if (questData.getBirdPetLevel() == 3)
|
}
|
||||||
s = "w_2_1_bird_pet_first_strike_small.jpg";
|
else if (questData.getPetManager().getPet("Bird").getLevel() == 1) {
|
||||||
}
|
s = "w_1_1_bird_pet_small.jpg";
|
||||||
|
}
|
||||||
|
else if (questData.getPetManager().getPet("Bird").getLevel() == 2) {
|
||||||
|
s = "w_2_1_bird_pet_small.jpg";
|
||||||
|
}
|
||||||
|
else if (questData.getPetManager().getPet("Bird").getLevel() == 3) {
|
||||||
|
s = "w_2_1_bird_pet_first_strike_small.jpg";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
else if (questData.getHoundPetLevel() < 4)
|
else if (questData.getPetManager().getPet("Hound").getLevel() < 4) {
|
||||||
{
|
if (questData.getPetManager().getPet("Hound").getLevel() == 0) {
|
||||||
if (questData.getHoundPetLevel() == 0)
|
s = "r_1_1_hound_pet_small.jpg";
|
||||||
s = "r_1_1_hound_pet_small.jpg";
|
}
|
||||||
else if (questData.getHoundPetLevel() == 1)
|
else if (questData.getPetManager().getPet("Hound").getLevel() == 1) {
|
||||||
s = "r_1_1_hound_pet_haste_small.jpg";
|
s = "r_1_1_hound_pet_haste_small.jpg";
|
||||||
else if (questData.getHoundPetLevel() == 2)
|
}
|
||||||
s = "r_2_1_hound_pet_small.jpg";
|
else if (questData.getPetManager().getPet("Hound").getLevel() == 2) {
|
||||||
else if (questData.getHoundPetLevel() == 3)
|
s = "r_2_1_hound_pet_small.jpg";
|
||||||
s = "r_2_1_hound_pet_alone_small.jpg";
|
}
|
||||||
}
|
else if (questData.getPetManager().getPet("Hound").getLevel() == 3) {
|
||||||
|
s = "r_2_1_hound_pet_alone_small.jpg";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return s;
|
return s;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void jbInit() throws Exception {
|
private void jbInit() throws Exception {
|
||||||
@@ -419,18 +438,23 @@ public class Gui_PetShop extends JFrame implements NewConstants{
|
|||||||
petIconLabel.setBounds(new Rectangle(280, 65, 201, 280));
|
petIconLabel.setBounds(new Rectangle(280, 65, 201, 280));
|
||||||
petIconLabel.setIconTextGap(0);
|
petIconLabel.setIconTextGap(0);
|
||||||
|
|
||||||
if (questData.getWolfPetLevel() < 4)
|
if (questData.getPetManager().getPet("Wolf").getLevel() < 4) {
|
||||||
buyPetButton.setText(getButtonText("Wolf"));
|
buyPetButton.setText(getButtonText("Wolf"));
|
||||||
else if (questData.getCrocPetLevel() < 4)
|
}
|
||||||
buyPetButton.setText(getButtonText("Croc"));
|
else if (questData.getPetManager().getPet("Crocodile").getLevel() < 4) {
|
||||||
else if (questData.getBirdPetLevel() < 4)
|
buyPetButton.setText(getButtonText("Croc"));
|
||||||
buyPetButton.setText(getButtonText("Bird"));
|
}
|
||||||
else if (questData.getHoundPetLevel() < 4)
|
else if (questData.getPetManager().getPet("Bird").getLevel() < 4) {
|
||||||
buyPetButton.setText(getButtonText("Hound"));
|
buyPetButton.setText(getButtonText("Bird"));
|
||||||
|
}
|
||||||
|
else if (questData.getPetManager().getPet("Hound").getLevel() < 4) {
|
||||||
|
buyPetButton.setText(getButtonText("Hound"));
|
||||||
|
}
|
||||||
|
|
||||||
buyPetButton.setEnabled(true);
|
buyPetButton.setEnabled(true);
|
||||||
if (questData.getCredits() < getPrice() || questData.getHoundPetLevel() >= 4)
|
if (questData.getCredits() < getPrice() || questData.getPetManager().getPet("Hound").getLevel() >= 4) {
|
||||||
buyPetButton.setEnabled(false);
|
buyPetButton.setEnabled(false);
|
||||||
|
}
|
||||||
|
|
||||||
quitButton.setBounds(new Rectangle(140, 297, 120, 50));
|
quitButton.setBounds(new Rectangle(140, 297, 120, 50));
|
||||||
quitButton.setText("Quit");
|
quitButton.setText("Quit");
|
||||||
@@ -449,7 +473,7 @@ public class Gui_PetShop extends JFrame implements NewConstants{
|
|||||||
this.getContentPane().add(petIconLabel, null);
|
this.getContentPane().add(petIconLabel, null);
|
||||||
this.getContentPane().add(petPriceLabel, null);
|
this.getContentPane().add(petPriceLabel, null);
|
||||||
this.getContentPane().add(creditsLabel, null);
|
this.getContentPane().add(creditsLabel, null);
|
||||||
this.getContentPane().add(quitButton,null);
|
this.getContentPane().add(quitButton, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
void editDeckButton_actionPerformed(ActionEvent e) {
|
void editDeckButton_actionPerformed(ActionEvent e) {
|
||||||
@@ -468,41 +492,44 @@ public class Gui_PetShop extends JFrame implements NewConstants{
|
|||||||
}//editDeckButton_actionPerformed()
|
}//editDeckButton_actionPerformed()
|
||||||
|
|
||||||
void buyPetButton_actionPerformed(ActionEvent e) throws Exception {
|
void buyPetButton_actionPerformed(ActionEvent e) throws Exception {
|
||||||
questData.subtractCredits(getPrice());
|
questData.subtractCredits(getPrice());
|
||||||
|
|
||||||
if (questData.getWolfPetLevel() < 4)
|
if (questData.getPetManager().getPet("Wolf").getLevel() < 4) {
|
||||||
questData.addWolfPetLevel();
|
questData.getPetManager().addPetLevel("Wolf");
|
||||||
else if (questData.getCrocPetLevel() < 4)
|
}
|
||||||
questData.addCrocPetLevel();
|
else if (questData.getPetManager().getPet("Crocodile").getLevel() < 4) {
|
||||||
else if (questData.getBirdPetLevel() < 4)
|
questData.getPetManager().addPetLevel("Crocodile");
|
||||||
questData.addBirdPetLevel();
|
}
|
||||||
else if (questData.getHoundPetLevel() < 4)
|
else if (questData.getPetManager().getPet("Bird").getLevel() < 4) {
|
||||||
questData.addHoundPetLevel();
|
questData.getPetManager().addPetLevel("Bird");
|
||||||
|
}
|
||||||
|
else if (questData.getPetManager().getPet("Hound").getLevel() < 4) {
|
||||||
|
questData.getPetManager().addPetLevel("hound");
|
||||||
|
}
|
||||||
|
|
||||||
QuestData.saveData(questData);
|
questData.saveData();
|
||||||
jbInit();
|
jbInit();
|
||||||
}
|
}
|
||||||
|
|
||||||
void restartButton_actionPerformed(ActionEvent e) {
|
void restartButton_actionPerformed(ActionEvent e) {
|
||||||
Constant.Runtime.WinLose.reset();
|
Constant.Runtime.matchState.reset();
|
||||||
AllZone.GameAction.newGame(Constant.Runtime.HumanDeck[0], Constant.Runtime.ComputerDeck[0]);
|
AllZone.GameAction.newGame(Constant.Runtime.HumanDeck[0], Constant.Runtime.ComputerDeck[0]);
|
||||||
AllZone.Display.setVisible(true);
|
AllZone.Display.setVisible(true);
|
||||||
|
|
||||||
dispose();
|
dispose();
|
||||||
}
|
}
|
||||||
|
|
||||||
private ImageIcon getIcon(String fileName)
|
private ImageIcon getIcon(String fileName) {
|
||||||
{
|
File base = ForgeProps.getFile(IMAGE_ICON);
|
||||||
File base = ForgeProps.getFile(IMAGE_ICON);
|
File file = new File(base, fileName);
|
||||||
File file = new File(base, fileName);
|
ImageIcon icon = new ImageIcon(file.toString());
|
||||||
ImageIcon icon = new ImageIcon(file.toString());
|
return icon;
|
||||||
return icon;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void quitButton_actionPerformed(ActionEvent e) {
|
void quitButton_actionPerformed(ActionEvent e) {
|
||||||
QuestData.saveData(questData);
|
questData.saveData();
|
||||||
//new Gui_Shops();
|
//new Gui_Shops();
|
||||||
shopsGUI.setVisible(true);
|
shopsGUI.setVisible(true);
|
||||||
|
|
||||||
|
|
||||||
dispose();
|
dispose();
|
||||||
|
|||||||
@@ -1,5 +1,10 @@
|
|||||||
package forge;
|
package forge;
|
||||||
|
|
||||||
|
import forge.error.ErrorViewer;
|
||||||
|
import forge.properties.ForgeProps;
|
||||||
|
import forge.properties.NewConstants;
|
||||||
|
|
||||||
|
import javax.swing.*;
|
||||||
import java.awt.Dimension;
|
import java.awt.Dimension;
|
||||||
import java.awt.Font;
|
import java.awt.Font;
|
||||||
import java.awt.Rectangle;
|
import java.awt.Rectangle;
|
||||||
@@ -7,16 +12,6 @@ import java.awt.event.ActionEvent;
|
|||||||
import java.awt.event.WindowEvent;
|
import java.awt.event.WindowEvent;
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
|
|
||||||
import javax.swing.ImageIcon;
|
|
||||||
import javax.swing.JButton;
|
|
||||||
import javax.swing.JFrame;
|
|
||||||
import javax.swing.JLabel;
|
|
||||||
import javax.swing.SwingConstants;
|
|
||||||
|
|
||||||
import forge.error.ErrorViewer;
|
|
||||||
import forge.properties.ForgeProps;
|
|
||||||
import forge.properties.NewConstants;
|
|
||||||
|
|
||||||
public class Gui_PlantShop extends JFrame implements NewConstants{
|
public class Gui_PlantShop extends JFrame implements NewConstants{
|
||||||
|
|
||||||
private static final long serialVersionUID = 2409591658245091210L;
|
private static final long serialVersionUID = 2409591658245091210L;
|
||||||
@@ -35,7 +30,7 @@ public class Gui_PlantShop extends JFrame implements NewConstants{
|
|||||||
private JButton buyPlantButton = new JButton();
|
private JButton buyPlantButton = new JButton();
|
||||||
private JButton quitButton = new JButton();
|
private JButton quitButton = new JButton();
|
||||||
|
|
||||||
private QuestData questData = AllZone.QuestData;
|
private forge.quest.data.QuestData questData = AllZone.QuestData;
|
||||||
|
|
||||||
public Gui_PlantShop(JFrame parent) {
|
public Gui_PlantShop(JFrame parent) {
|
||||||
try {
|
try {
|
||||||
@@ -78,7 +73,7 @@ public class Gui_PlantShop extends JFrame implements NewConstants{
|
|||||||
{
|
{
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
sb.append("<html>");
|
sb.append("<html>");
|
||||||
if (questData.getPlantLevel() == 0)
|
if (questData.getPetManager().getPlant().getLevel() == 0)
|
||||||
{
|
{
|
||||||
sb.append("Start each of your battles with this lush, <br> verdant plant on your side.<br>");
|
sb.append("Start each of your battles with this lush, <br> verdant plant on your side.<br>");
|
||||||
sb.append("Excellent at blocking the nastiest of critters!<br><br>");
|
sb.append("Excellent at blocking the nastiest of critters!<br><br>");
|
||||||
@@ -86,34 +81,34 @@ public class Gui_PlantShop extends JFrame implements NewConstants{
|
|||||||
sb.append("<u><b>Next Level</b></u>: 0/2<br>");
|
sb.append("<u><b>Next Level</b></u>: 0/2<br>");
|
||||||
sb.append("<u><b>Can learn</b></u>: Deathtouch");
|
sb.append("<u><b>Can learn</b></u>: Deathtouch");
|
||||||
}
|
}
|
||||||
else if (questData.getPlantLevel() == 1)
|
else if (questData.getPetManager().getPlant().getLevel() == 1)
|
||||||
{
|
{
|
||||||
sb.append("Improve the toughness of your plant.<br>");
|
sb.append("Improve the toughness of your plant.<br>");
|
||||||
sb.append("<u><b>Level 2</b></u>: 0/2<br>");
|
sb.append("<u><b>Level 2</b></u>: 0/2<br>");
|
||||||
sb.append("<u><b>Next Level</b></u>: 0/3<br>");
|
sb.append("<u><b>Next Level</b></u>: 0/3<br>");
|
||||||
sb.append("<u><b>Can learn</b></u>: Deathtouch");
|
sb.append("<u><b>Can learn</b></u>: Deathtouch");
|
||||||
}
|
}
|
||||||
else if (questData.getPlantLevel() == 2)
|
else if (questData.getPetManager().getPlant().getLevel() == 2)
|
||||||
{
|
{
|
||||||
sb.append("Improve the toughness of your plant.<br>");
|
sb.append("Improve the toughness of your plant.<br>");
|
||||||
sb.append("<u><b>Level 3</b></u>: 0/3<br>");
|
sb.append("<u><b>Level 3</b></u>: 0/3<br>");
|
||||||
sb.append("<u><b>Next Level</b></u>: 1/3<br>");
|
sb.append("<u><b>Next Level</b></u>: 1/3<br>");
|
||||||
sb.append("<u><b>Can learn</b></u>: Deathtouch");
|
sb.append("<u><b>Can learn</b></u>: Deathtouch");
|
||||||
}
|
}
|
||||||
else if (questData.getPlantLevel() == 3)
|
else if (questData.getPetManager().getPlant().getLevel() == 3)
|
||||||
{
|
{
|
||||||
sb.append("Improve the power of your plant.<br>");
|
sb.append("Improve the power of your plant.<br>");
|
||||||
sb.append("<u><b>Level 4</b></u>: 1/3<br>");
|
sb.append("<u><b>Level 4</b></u>: 1/3<br>");
|
||||||
sb.append("<u><b>Next Level</b></u>: Deathtouch<br>");
|
sb.append("<u><b>Next Level</b></u>: Deathtouch<br>");
|
||||||
sb.append("<u><b>Can learn</b></u>: Deathtouch");
|
sb.append("<u><b>Can learn</b></u>: Deathtouch");
|
||||||
}
|
}
|
||||||
else if (questData.getPlantLevel() == 4)
|
else if (questData.getPetManager().getPlant().getLevel() == 4)
|
||||||
{
|
{
|
||||||
sb.append("Grow venomous thorns on your plant.<br>");
|
sb.append("Grow venomous thorns on your plant.<br>");
|
||||||
sb.append("<u><b>Level 5</b></u>: Deathtouch<br>");
|
sb.append("<u><b>Level 5</b></u>: Deathtouch<br>");
|
||||||
sb.append("<u><b>Next Level</b></u>: 1/4<br>");
|
sb.append("<u><b>Next Level</b></u>: 1/4<br>");
|
||||||
}
|
}
|
||||||
else if (questData.getPlantLevel() == 5)
|
else if (questData.getPetManager().getPlant().getLevel() == 5)
|
||||||
{
|
{
|
||||||
sb.append("As well as gaining more toughness,<br>");
|
sb.append("As well as gaining more toughness,<br>");
|
||||||
sb.append("your plant will have healing properties.<br>");
|
sb.append("your plant will have healing properties.<br>");
|
||||||
@@ -131,17 +126,17 @@ public class Gui_PlantShop extends JFrame implements NewConstants{
|
|||||||
private long getPrice()
|
private long getPrice()
|
||||||
{
|
{
|
||||||
long l = 0;
|
long l = 0;
|
||||||
if (questData.getPlantLevel() == 0)
|
if (questData.getPetManager().getPlant().getLevel() == 0)
|
||||||
l = 100;
|
l = 100;
|
||||||
else if (questData.getPlantLevel() == 1)
|
else if (questData.getPetManager().getPlant().getLevel() == 1)
|
||||||
l = 150;
|
l = 150;
|
||||||
else if (questData.getPlantLevel() == 2)
|
else if (questData.getPetManager().getPlant().getLevel() == 2)
|
||||||
l = 200;
|
l = 200;
|
||||||
else if (questData.getPlantLevel() == 3)
|
else if (questData.getPetManager().getPlant().getLevel() == 3)
|
||||||
l = 300;
|
l = 300;
|
||||||
else if (questData.getPlantLevel() == 4)
|
else if (questData.getPetManager().getPlant().getLevel() == 4)
|
||||||
l = 750;
|
l = 750;
|
||||||
else if (questData.getPlantLevel() == 5)
|
else if (questData.getPetManager().getPlant().getLevel() == 5)
|
||||||
l = 1000;
|
l = 1000;
|
||||||
return l;
|
return l;
|
||||||
}
|
}
|
||||||
@@ -149,7 +144,7 @@ public class Gui_PlantShop extends JFrame implements NewConstants{
|
|||||||
private String getButtonText()
|
private String getButtonText()
|
||||||
{
|
{
|
||||||
String s = "";
|
String s = "";
|
||||||
if (questData.getPlantLevel() == 0)
|
if (questData.getPetManager().getPlant().getLevel() == 0)
|
||||||
s = "Buy Plant";
|
s = "Buy Plant";
|
||||||
else
|
else
|
||||||
s = "Upgrade Plant";
|
s = "Upgrade Plant";
|
||||||
@@ -159,21 +154,21 @@ public class Gui_PlantShop extends JFrame implements NewConstants{
|
|||||||
private String getStats()
|
private String getStats()
|
||||||
{
|
{
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
if (questData.getPlantLevel() == 0)
|
if (questData.getPetManager().getPlant().getLevel() == 0)
|
||||||
sb.append("0/1");
|
sb.append("0/1");
|
||||||
else if (questData.getPlantLevel() == 1)
|
else if (questData.getPetManager().getPlant().getLevel() == 1)
|
||||||
sb.append("0/2");
|
sb.append("0/2");
|
||||||
else if (questData.getPlantLevel() == 2)
|
else if (questData.getPetManager().getPlant().getLevel() == 2)
|
||||||
sb.append("0/3");
|
sb.append("0/3");
|
||||||
else if (questData.getPlantLevel() == 3)
|
else if (questData.getPetManager().getPlant().getLevel() == 3)
|
||||||
sb.append("1/3");
|
sb.append("1/3");
|
||||||
else if (questData.getPlantLevel() == 4)
|
else if (questData.getPetManager().getPlant().getLevel() == 4)
|
||||||
sb.append("1/3");
|
sb.append("1/3");
|
||||||
else
|
else
|
||||||
sb.append("1/4");
|
sb.append("1/4");
|
||||||
|
|
||||||
sb.append(" Plant Wall (current level ");
|
sb.append(" Plant Wall (current level ");
|
||||||
sb.append(questData.getPlantLevel());
|
sb.append(questData.getPetManager().getPlant().getLevel());
|
||||||
sb.append("/6)");
|
sb.append("/6)");
|
||||||
|
|
||||||
return sb.toString();
|
return sb.toString();
|
||||||
@@ -182,17 +177,17 @@ public class Gui_PlantShop extends JFrame implements NewConstants{
|
|||||||
private String getImageString()
|
private String getImageString()
|
||||||
{
|
{
|
||||||
String s = "";
|
String s = "";
|
||||||
if (questData.getPlantLevel() == 0)
|
if (questData.getPetManager().getPlant().getLevel() == 0)
|
||||||
s = "g_0_1_plant_wall_small.jpg";
|
s = "g_0_1_plant_wall_small.jpg";
|
||||||
else if (questData.getPlantLevel() == 1)
|
else if (questData.getPetManager().getPlant().getLevel() == 1)
|
||||||
s = "g_0_2_plant_wall_small.jpg";
|
s = "g_0_2_plant_wall_small.jpg";
|
||||||
else if (questData.getPlantLevel() == 2)
|
else if (questData.getPetManager().getPlant().getLevel() == 2)
|
||||||
s = "g_0_3_plant_wall_small.jpg";
|
s = "g_0_3_plant_wall_small.jpg";
|
||||||
else if (questData.getPlantLevel() == 3)
|
else if (questData.getPetManager().getPlant().getLevel() == 3)
|
||||||
s = "g_1_3_plant_wall_small.jpg";
|
s = "g_1_3_plant_wall_small.jpg";
|
||||||
else if (questData.getPlantLevel() == 4)
|
else if (questData.getPetManager().getPlant().getLevel() == 4)
|
||||||
s = "g_1_3_plant_wall_deathtouch_small.jpg";
|
s = "g_1_3_plant_wall_deathtouch_small.jpg";
|
||||||
else if (questData.getPlantLevel() == 5)
|
else if (questData.getPetManager().getPlant().getLevel() == 5)
|
||||||
s = "g_1_4_plant_wall_small.jpg";
|
s = "g_1_4_plant_wall_small.jpg";
|
||||||
|
|
||||||
return s;
|
return s;
|
||||||
@@ -234,7 +229,7 @@ public class Gui_PlantShop extends JFrame implements NewConstants{
|
|||||||
|
|
||||||
|
|
||||||
buyPlantButton.setEnabled(true);
|
buyPlantButton.setEnabled(true);
|
||||||
if (questData.getCredits() < getPrice() || questData.getPlantLevel() >= 6)
|
if (questData.getCredits() < getPrice() || questData.getPetManager().getPlant().getLevel() >= 6)
|
||||||
buyPlantButton.setEnabled(false);
|
buyPlantButton.setEnabled(false);
|
||||||
|
|
||||||
quitButton.setBounds(new Rectangle(140, 297, 120, 50));
|
quitButton.setBounds(new Rectangle(140, 297, 120, 50));
|
||||||
@@ -274,12 +269,12 @@ public class Gui_PlantShop extends JFrame implements NewConstants{
|
|||||||
|
|
||||||
void buyPlantButton_actionPerformed(ActionEvent e) throws Exception {
|
void buyPlantButton_actionPerformed(ActionEvent e) throws Exception {
|
||||||
questData.subtractCredits(getPrice());
|
questData.subtractCredits(getPrice());
|
||||||
questData.addPlantLevel();
|
questData.getPetManager().addPlantLevel();
|
||||||
jbInit();
|
jbInit();
|
||||||
}
|
}
|
||||||
|
|
||||||
void restartButton_actionPerformed(ActionEvent e) {
|
void restartButton_actionPerformed(ActionEvent e) {
|
||||||
Constant.Runtime.WinLose.reset();
|
Constant.Runtime.matchState.reset();
|
||||||
AllZone.GameAction.newGame(Constant.Runtime.HumanDeck[0], Constant.Runtime.ComputerDeck[0]);
|
AllZone.GameAction.newGame(Constant.Runtime.HumanDeck[0], Constant.Runtime.ComputerDeck[0]);
|
||||||
AllZone.Display.setVisible(true);
|
AllZone.Display.setVisible(true);
|
||||||
|
|
||||||
@@ -295,7 +290,7 @@ public class Gui_PlantShop extends JFrame implements NewConstants{
|
|||||||
}
|
}
|
||||||
|
|
||||||
void quitButton_actionPerformed(ActionEvent e) {
|
void quitButton_actionPerformed(ActionEvent e) {
|
||||||
QuestData.saveData(questData);
|
questData.saveData();
|
||||||
//new Gui_Shops();
|
//new Gui_Shops();
|
||||||
shopsGUI.setVisible(true);
|
shopsGUI.setVisible(true);
|
||||||
|
|
||||||
|
|||||||
@@ -1,28 +1,20 @@
|
|||||||
package forge;
|
package forge;
|
||||||
|
|
||||||
|
import forge.error.ErrorViewer;
|
||||||
|
import forge.properties.NewConstants;
|
||||||
|
|
||||||
|
import javax.swing.*;
|
||||||
|
import javax.swing.border.Border;
|
||||||
|
import javax.swing.border.TitledBorder;
|
||||||
import java.awt.Color;
|
import java.awt.Color;
|
||||||
import java.awt.Dimension;
|
import java.awt.Dimension;
|
||||||
import java.awt.Rectangle;
|
import java.awt.Rectangle;
|
||||||
import java.awt.event.ActionEvent;
|
import java.awt.event.ActionEvent;
|
||||||
import java.awt.event.WindowAdapter;
|
import java.awt.event.WindowAdapter;
|
||||||
import java.awt.event.WindowEvent;
|
import java.awt.event.WindowEvent;
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
|
import java.util.List;
|
||||||
import javax.swing.BorderFactory;
|
import java.util.Set;
|
||||||
import javax.swing.ButtonGroup;
|
|
||||||
import javax.swing.JButton;
|
|
||||||
import javax.swing.JCheckBox;
|
|
||||||
import javax.swing.JComboBox;
|
|
||||||
import javax.swing.JFrame;
|
|
||||||
import javax.swing.JLabel;
|
|
||||||
import javax.swing.JPanel;
|
|
||||||
import javax.swing.JRadioButton;
|
|
||||||
import javax.swing.SwingConstants;
|
|
||||||
import javax.swing.border.Border;
|
|
||||||
import javax.swing.border.TitledBorder;
|
|
||||||
|
|
||||||
import forge.error.ErrorViewer;
|
|
||||||
import forge.properties.NewConstants;
|
|
||||||
|
|
||||||
|
|
||||||
//presumes AllZone.QuestData is not null
|
//presumes AllZone.QuestData is not null
|
||||||
@@ -30,7 +22,7 @@ import forge.properties.NewConstants;
|
|||||||
public class Gui_Quest extends JFrame implements NewConstants{
|
public class Gui_Quest extends JFrame implements NewConstants{
|
||||||
private static final long serialVersionUID = -6432089669283627896L;
|
private static final long serialVersionUID = -6432089669283627896L;
|
||||||
|
|
||||||
private QuestData questData;
|
private forge.quest.data.QuestData questData;
|
||||||
|
|
||||||
private JLabel jLabel1 = new JLabel();
|
private JLabel jLabel1 = new JLabel();
|
||||||
private JLabel difficultyLabel = new JLabel();
|
private JLabel difficultyLabel = new JLabel();
|
||||||
@@ -100,7 +92,7 @@ public class Gui_Quest extends JFrame implements NewConstants{
|
|||||||
rankLabel.setText(questData.getRank());
|
rankLabel.setText(questData.getRank());
|
||||||
creditsLabel.setText("Credits: " + questData.getCredits());
|
creditsLabel.setText("Credits: " + questData.getCredits());
|
||||||
|
|
||||||
if (questData.getMode().equals(QuestData.FANTASY))
|
if (questData.getMode().equals(forge.quest.data.QuestData.FANTASY))
|
||||||
{
|
{
|
||||||
int life = questData.getLife();
|
int life = questData.getLife();
|
||||||
if (life<15)
|
if (life<15)
|
||||||
@@ -121,14 +113,16 @@ public class Gui_Quest extends JFrame implements NewConstants{
|
|||||||
|
|
||||||
|
|
||||||
//get deck names as Strings
|
//get deck names as Strings
|
||||||
ArrayList<String> list = questData.getDeckNames();
|
List<String> list = questData.getDeckNames();
|
||||||
Collections.sort(list);
|
Collections.sort(list);
|
||||||
for(int i = 0; i < list.size(); i++)
|
|
||||||
deckComboBox.addItem(list.get(i));
|
for (String aList : list) {
|
||||||
|
deckComboBox.addItem(aList);
|
||||||
|
}
|
||||||
|
|
||||||
if(Constant.Runtime.HumanDeck[0] != null) deckComboBox.setSelectedItem(Constant.Runtime.HumanDeck[0].getName());
|
if(Constant.Runtime.HumanDeck[0] != null) deckComboBox.setSelectedItem(Constant.Runtime.HumanDeck[0].getName());
|
||||||
|
|
||||||
if (QuestData.FANTASY.equals(questData.getMode()))
|
if (forge.quest.data.QuestData.FANTASY.equals(questData.getMode()))
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -178,7 +172,7 @@ public class Gui_Quest extends JFrame implements NewConstants{
|
|||||||
});
|
});
|
||||||
|
|
||||||
//if (questData.getMode().equals("Fantasy"))
|
//if (questData.getMode().equals("Fantasy"))
|
||||||
if (QuestData.FANTASY.equals(questData.getMode()))
|
if (forge.quest.data.QuestData.FANTASY.equals(questData.getMode()))
|
||||||
{
|
{
|
||||||
refreshPets();
|
refreshPets();
|
||||||
|
|
||||||
@@ -272,7 +266,7 @@ public class Gui_Quest extends JFrame implements NewConstants{
|
|||||||
jPanel2.add(oppOneRadio, null);
|
jPanel2.add(oppOneRadio, null);
|
||||||
jPanel2.add(oppTwoRadio, null);
|
jPanel2.add(oppTwoRadio, null);
|
||||||
jPanel2.add(oppThreeRadio, null);
|
jPanel2.add(oppThreeRadio, null);
|
||||||
if (QuestData.FANTASY.equals(questData.getMode())) {
|
if (forge.quest.data.QuestData.FANTASY.equals(questData.getMode())) {
|
||||||
this.getContentPane().add(otherShopsButton, null);
|
this.getContentPane().add(otherShopsButton, null);
|
||||||
this.getContentPane().add(lifeLabel,null);
|
this.getContentPane().add(lifeLabel,null);
|
||||||
this.getContentPane().add(questsButton, null);
|
this.getContentPane().add(questsButton, null);
|
||||||
@@ -316,9 +310,11 @@ public class Gui_Quest extends JFrame implements NewConstants{
|
|||||||
|
|
||||||
void refreshPets(){
|
void refreshPets(){
|
||||||
petComboBox.removeAllItems();
|
petComboBox.removeAllItems();
|
||||||
ArrayList<String> petList = QuestUtil.getPetNames(questData);
|
Set<String> petList = questData.getPetManager().getAvailablePetNames();
|
||||||
for (int i=0;i<petList.size();i++)
|
|
||||||
petComboBox.addItem(petList.get(i));
|
for (String s : petList) {
|
||||||
|
petComboBox.addItem(s);
|
||||||
|
}
|
||||||
|
|
||||||
petComboBox.addItem("None");
|
petComboBox.addItem("None");
|
||||||
petComboBox.addItem("No Plant/Pet");
|
petComboBox.addItem("No Plant/Pet");
|
||||||
@@ -344,7 +340,7 @@ public class Gui_Quest extends JFrame implements NewConstants{
|
|||||||
|
|
||||||
public void execute() {
|
public void execute() {
|
||||||
//saves all deck data
|
//saves all deck data
|
||||||
QuestData.saveData(AllZone.QuestData);
|
AllZone.QuestData.saveData();
|
||||||
|
|
||||||
new Gui_Quest();
|
new Gui_Quest();
|
||||||
}
|
}
|
||||||
@@ -372,7 +368,7 @@ public class Gui_Quest extends JFrame implements NewConstants{
|
|||||||
|
|
||||||
public void execute() {
|
public void execute() {
|
||||||
//saves all deck data
|
//saves all deck data
|
||||||
QuestData.saveData(AllZone.QuestData);
|
AllZone.QuestData.saveData();
|
||||||
|
|
||||||
new Gui_Quest();
|
new Gui_Quest();
|
||||||
}
|
}
|
||||||
@@ -413,16 +409,16 @@ public class Gui_Quest extends JFrame implements NewConstants{
|
|||||||
|
|
||||||
Constant.Runtime.Smooth[0] = smoothLandCheckBox.isSelected();
|
Constant.Runtime.Smooth[0] = smoothLandCheckBox.isSelected();
|
||||||
|
|
||||||
if (questData.getMode().equals(QuestData.REALISTIC))
|
if (questData.getMode().equals(forge.quest.data.QuestData.REALISTIC))
|
||||||
AllZone.GameAction.newGame(human, computer);
|
AllZone.GameAction.newGame(human, computer);
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Object pet = petComboBox.getSelectedItem();
|
Object petName = petComboBox.getSelectedItem();
|
||||||
if (pet != null)
|
if (petName != null)
|
||||||
questData.setSelectedPet(pet.toString());
|
questData.getPetManager().setSelectedPet((String) petName);
|
||||||
|
|
||||||
CardList hCl = QuestUtil.getHumanPlantAndPet(questData);
|
CardList hCl = forge.quest.data.QuestUtil.getHumanPlantAndPet(questData);
|
||||||
int hLife = QuestUtil.getLife(questData);
|
int hLife = questData.getLife();
|
||||||
AllZone.GameAction.newGame(human, computer, hCl, new CardList(), hLife, 20, null);
|
AllZone.GameAction.newGame(human, computer, hCl, new CardList(), hLife, 20, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -448,7 +444,7 @@ public class Gui_Quest extends JFrame implements NewConstants{
|
|||||||
|
|
||||||
Object pet = petComboBox.getSelectedItem();
|
Object pet = petComboBox.getSelectedItem();
|
||||||
if (pet != null)
|
if (pet != null)
|
||||||
questData.setSelectedPet(pet.toString());
|
questData.getPetManager().setSelectedPet((String) pet);
|
||||||
|
|
||||||
Gui_Quest_Assignments g = new Gui_Quest_Assignments(this, human);
|
Gui_Quest_Assignments g = new Gui_Quest_Assignments(this, human);
|
||||||
g.setVisible(true);
|
g.setVisible(true);
|
||||||
|
|||||||
@@ -13,12 +13,11 @@ import java.awt.Rectangle;
|
|||||||
import java.awt.event.ActionEvent;
|
import java.awt.event.ActionEvent;
|
||||||
import java.awt.event.WindowAdapter;
|
import java.awt.event.WindowAdapter;
|
||||||
import java.awt.event.WindowEvent;
|
import java.awt.event.WindowEvent;
|
||||||
import java.util.ArrayList;
|
|
||||||
|
|
||||||
public class Gui_QuestOptions extends JFrame {
|
public class Gui_QuestOptions extends JFrame {
|
||||||
private static final long serialVersionUID = 2018518804206822235L;
|
private static final long serialVersionUID = 2018518804206822235L;
|
||||||
|
|
||||||
private QuestData questData = new QuestData();
|
private forge.quest.data.QuestData questData = new forge.quest.data.QuestData();
|
||||||
|
|
||||||
private JLabel jLabel1 = new JLabel();
|
private JLabel jLabel1 = new JLabel();
|
||||||
private JButton continueQuestButton = new JButton();
|
private JButton continueQuestButton = new JButton();
|
||||||
@@ -79,7 +78,7 @@ public class Gui_QuestOptions extends JFrame {
|
|||||||
|
|
||||||
//show total number of games for each difficulty
|
//show total number of games for each difficulty
|
||||||
private void setupRadioButtonText() {
|
private void setupRadioButtonText() {
|
||||||
String[] diff = questData.getDifficutlyChoices();
|
String[] diff = questData.getDifficultyChoices();
|
||||||
JRadioButton[] b = {easyRadio, mediumRadio, hardRadio, veryHardRadio};
|
JRadioButton[] b = {easyRadio, mediumRadio, hardRadio, veryHardRadio};
|
||||||
|
|
||||||
for(int i = 0; i < diff.length; i++) {
|
for(int i = 0; i < diff.length; i++) {
|
||||||
@@ -188,7 +187,7 @@ public class Gui_QuestOptions extends JFrame {
|
|||||||
|
|
||||||
void continueQuestButton_actionPerformed(ActionEvent e) {
|
void continueQuestButton_actionPerformed(ActionEvent e) {
|
||||||
//set global variable
|
//set global variable
|
||||||
AllZone.QuestData = QuestData.loadData();
|
AllZone.QuestData = forge.quest.data.QuestData.loadData();
|
||||||
AllZone.QuestData.setDifficultyIndex();
|
AllZone.QuestData.setDifficultyIndex();
|
||||||
dispose();
|
dispose();
|
||||||
|
|
||||||
@@ -207,7 +206,7 @@ public class Gui_QuestOptions extends JFrame {
|
|||||||
void newQuestButton_actionPerformed(ActionEvent e) {
|
void newQuestButton_actionPerformed(ActionEvent e) {
|
||||||
int difficulty = 0;
|
int difficulty = 0;
|
||||||
|
|
||||||
String mode = fantasyRadio.isSelected() ? QuestData.FANTASY : QuestData.REALISTIC;
|
String mode = fantasyRadio.isSelected() ? forge.quest.data.QuestData.FANTASY : forge.quest.data.QuestData.REALISTIC;
|
||||||
|
|
||||||
if(easyRadio.isSelected()) difficulty = 0;
|
if(easyRadio.isSelected()) difficulty = 0;
|
||||||
|
|
||||||
@@ -234,10 +233,8 @@ public class Gui_QuestOptions extends JFrame {
|
|||||||
//give the user a few cards to build a deck
|
//give the user a few cards to build a deck
|
||||||
questData.newGame(difficulty, mode);
|
questData.newGame(difficulty, mode);
|
||||||
|
|
||||||
copyAIDecks(questData, QuestData.loadData());
|
questData.saveData();
|
||||||
QuestData.saveData(questData);
|
|
||||||
|
|
||||||
questData.readAIQuestDeckFiles();
|
|
||||||
|
|
||||||
//set global variable
|
//set global variable
|
||||||
AllZone.QuestData = questData;
|
AllZone.QuestData = questData;
|
||||||
@@ -254,9 +251,10 @@ public class Gui_QuestOptions extends JFrame {
|
|||||||
}
|
}
|
||||||
|
|
||||||
//copy AI decks from old to newData
|
//copy AI decks from old to newData
|
||||||
void copyAIDecks(QuestData newData, QuestData old) {
|
void copyAIDecks(forge.quest.data.QuestData newData, forge.quest.data.QuestData old) {
|
||||||
ArrayList<String> a = old.ai_getDeckNames();
|
java.util.List<String> oldDeckNames = old.ai_getDeckNames();
|
||||||
for(int i = 0; i < a.size(); i++)
|
for (String oldDeckName : oldDeckNames) {
|
||||||
newData.ai_addDeck(old.ai_getDeck(a.get(i).toString()));
|
newData.ai_addDeck(old.ai_getDeck(oldDeckName));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -13,6 +13,7 @@ import java.io.File;
|
|||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.Enumeration;
|
import java.util.Enumeration;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
public class Gui_Quest_Assignments extends JFrame implements NewConstants{
|
public class Gui_Quest_Assignments extends JFrame implements NewConstants{
|
||||||
|
|
||||||
@@ -26,7 +27,7 @@ public class Gui_Quest_Assignments extends JFrame implements NewConstants{
|
|||||||
|
|
||||||
private ButtonGroup buttonGroup = new ButtonGroup();
|
private ButtonGroup buttonGroup = new ButtonGroup();
|
||||||
|
|
||||||
private QuestData questData;
|
private forge.quest.data.QuestData questData;
|
||||||
|
|
||||||
private Deck hDeck;
|
private Deck hDeck;
|
||||||
|
|
||||||
@@ -79,11 +80,11 @@ public class Gui_Quest_Assignments extends JFrame implements NewConstants{
|
|||||||
read = new ReadQuest_Assignment(ForgeProps.getFile(QUEST.QUESTS), questData);
|
read = new ReadQuest_Assignment(ForgeProps.getFile(QUEST.QUESTS), questData);
|
||||||
read.run();
|
read.run();
|
||||||
|
|
||||||
ArrayList<Quest_Assignment> questsToDisplay = new ArrayList<Quest_Assignment>();
|
List<Quest_Assignment> questsToDisplay = new ArrayList<Quest_Assignment>();
|
||||||
|
|
||||||
if (questData.getAvailableQuests()!= null && questData.getAvailableQuests().size() > 0)
|
if (questData.getAvailableQuests()!= null && questData.getAvailableQuests().size() > 0)
|
||||||
{
|
{
|
||||||
ArrayList<Quest_Assignment> availableQuests = read.getQuestsByIds(questData.getAvailableQuests());
|
List<Quest_Assignment> availableQuests = read.getQuestsByIds(questData.getAvailableQuests());
|
||||||
questsToDisplay = availableQuests;
|
questsToDisplay = availableQuests;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -97,7 +98,7 @@ public class Gui_Quest_Assignments extends JFrame implements NewConstants{
|
|||||||
else //generate some random quests
|
else //generate some random quests
|
||||||
{
|
{
|
||||||
//System.out.println("null");
|
//System.out.println("null");
|
||||||
ArrayList<Quest_Assignment> allAvailableQuests = read.getQuests();
|
List<Quest_Assignment> allAvailableQuests = read.getQuests();
|
||||||
|
|
||||||
ArrayList<Integer> availableInts = new ArrayList<Integer>();
|
ArrayList<Integer> availableInts = new ArrayList<Integer>();
|
||||||
|
|
||||||
@@ -116,7 +117,7 @@ public class Gui_Quest_Assignments extends JFrame implements NewConstants{
|
|||||||
questsToDisplay.add(qa);
|
questsToDisplay.add(qa);
|
||||||
}
|
}
|
||||||
questData.setAvailableQuests(availableInts);
|
questData.setAvailableQuests(availableInts);
|
||||||
QuestData.saveData(questData);
|
questData.saveData();
|
||||||
}//else
|
}//else
|
||||||
|
|
||||||
JRadioButton radio;
|
JRadioButton radio;
|
||||||
@@ -262,7 +263,7 @@ public class Gui_Quest_Assignments extends JFrame implements NewConstants{
|
|||||||
if(Gui_Quest.newGUICheckbox.isSelected()) AllZone.Display = new GuiDisplay4();
|
if(Gui_Quest.newGUICheckbox.isSelected()) AllZone.Display = new GuiDisplay4();
|
||||||
else AllZone.Display = new GuiDisplay3();
|
else AllZone.Display = new GuiDisplay3();
|
||||||
|
|
||||||
AllZone.GameAction.newGame(hDeck, computerDeck, QuestUtil.getHumanPlantAndPet(questData, selectedQuest), new CardList(), questData.getLife()+extraLife,
|
AllZone.GameAction.newGame(hDeck, computerDeck, forge.quest.data.QuestUtil.getHumanPlantAndPet(questData, selectedQuest), new CardList(), questData.getLife()+extraLife,
|
||||||
selectedQuest.getComputerLife(), selectedQuest);
|
selectedQuest.getComputerLife(), selectedQuest);
|
||||||
|
|
||||||
AllZone.Display.setVisible(true);
|
AllZone.Display.setVisible(true);
|
||||||
@@ -278,7 +279,7 @@ public class Gui_Quest_Assignments extends JFrame implements NewConstants{
|
|||||||
}
|
}
|
||||||
|
|
||||||
void quitButton_actionPerformed(ActionEvent e) {
|
void quitButton_actionPerformed(ActionEvent e) {
|
||||||
//QuestData.saveData(questData);
|
//questData.saveData();
|
||||||
//new Gui_Shops();
|
//new Gui_Shops();
|
||||||
questGui.setVisible(true);
|
questGui.setVisible(true);
|
||||||
|
|
||||||
|
|||||||
@@ -2,40 +2,14 @@
|
|||||||
package forge;
|
package forge;
|
||||||
|
|
||||||
|
|
||||||
import java.awt.Color;
|
import forge.error.ErrorViewer;
|
||||||
import java.awt.Component;
|
import forge.gui.game.CardDetailPanel;
|
||||||
import java.awt.Container;
|
import forge.gui.game.CardPicturePanel;
|
||||||
import java.awt.Dimension;
|
import forge.properties.ForgeProps;
|
||||||
import java.awt.Font;
|
import forge.properties.NewConstants;
|
||||||
import java.awt.GridLayout;
|
import forge.quest.data.QuestBoosterPack;
|
||||||
import java.awt.Image;
|
|
||||||
import java.awt.Point;
|
|
||||||
import java.awt.Rectangle;
|
|
||||||
import java.awt.event.ActionEvent;
|
|
||||||
import java.awt.event.ItemEvent;
|
|
||||||
import java.awt.event.ItemListener;
|
|
||||||
import java.awt.event.MouseAdapter;
|
|
||||||
import java.awt.event.MouseEvent;
|
|
||||||
import java.awt.event.WindowAdapter;
|
|
||||||
import java.awt.event.WindowEvent;
|
|
||||||
import java.io.File;
|
|
||||||
import java.io.FileInputStream;
|
|
||||||
import java.io.FileOutputStream;
|
|
||||||
import java.io.IOException;
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.Random;
|
|
||||||
|
|
||||||
import javax.swing.BorderFactory;
|
import javax.swing.*;
|
||||||
import javax.swing.JButton;
|
|
||||||
import javax.swing.JCheckBox;
|
|
||||||
import javax.swing.JFileChooser;
|
|
||||||
import javax.swing.JFrame;
|
|
||||||
import javax.swing.JLabel;
|
|
||||||
import javax.swing.JOptionPane;
|
|
||||||
import javax.swing.JPanel;
|
|
||||||
import javax.swing.JScrollPane;
|
|
||||||
import javax.swing.JTable;
|
|
||||||
import javax.swing.SwingUtilities;
|
|
||||||
import javax.swing.border.Border;
|
import javax.swing.border.Border;
|
||||||
import javax.swing.border.EtchedBorder;
|
import javax.swing.border.EtchedBorder;
|
||||||
import javax.swing.border.TitledBorder;
|
import javax.swing.border.TitledBorder;
|
||||||
@@ -43,12 +17,14 @@ import javax.swing.event.MouseInputListener;
|
|||||||
import javax.swing.event.TableModelEvent;
|
import javax.swing.event.TableModelEvent;
|
||||||
import javax.swing.event.TableModelListener;
|
import javax.swing.event.TableModelListener;
|
||||||
import javax.swing.filechooser.FileFilter;
|
import javax.swing.filechooser.FileFilter;
|
||||||
|
import java.awt.Color;
|
||||||
import forge.error.ErrorViewer;
|
import java.awt.*;
|
||||||
import forge.gui.game.CardDetailPanel;
|
import java.awt.event.*;
|
||||||
import forge.gui.game.CardPicturePanel;
|
import java.io.File;
|
||||||
import forge.properties.ForgeProps;
|
import java.io.FileInputStream;
|
||||||
import forge.properties.NewConstants;
|
import java.io.FileOutputStream;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.util.Random;
|
||||||
|
|
||||||
|
|
||||||
public class Gui_Quest_DeckEditor extends JFrame implements CardContainer, DeckDisplay, NewConstants {
|
public class Gui_Quest_DeckEditor extends JFrame implements CardContainer, DeckDisplay, NewConstants {
|
||||||
@@ -127,9 +103,9 @@ public class Gui_Quest_DeckEditor extends JFrame implements CardContainer, DeckD
|
|||||||
|
|
||||||
Card c;
|
Card c;
|
||||||
String cardName;
|
String cardName;
|
||||||
QuestData_BoosterPack pack = new QuestData_BoosterPack();
|
QuestBoosterPack pack = new QuestBoosterPack();
|
||||||
|
|
||||||
ArrayList<String> addedList = AllZone.QuestData.getAddedCards();
|
java.util.List<String> addedList = AllZone.QuestData.getAddedCards();
|
||||||
|
|
||||||
|
|
||||||
//update top
|
//update top
|
||||||
@@ -356,7 +332,7 @@ public class Gui_Quest_DeckEditor extends JFrame implements CardContainer, DeckD
|
|||||||
this.setJMenuBar(customMenu);
|
this.setJMenuBar(customMenu);
|
||||||
|
|
||||||
|
|
||||||
QuestData questData = AllZone.QuestData;
|
forge.quest.data.QuestData questData = AllZone.QuestData;
|
||||||
Deck deck = null;
|
Deck deck = null;
|
||||||
|
|
||||||
//open deck that the player used if QuestData has it
|
//open deck that the player used if QuestData has it
|
||||||
@@ -380,7 +356,7 @@ public class Gui_Quest_DeckEditor extends JFrame implements CardContainer, DeckD
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
ArrayList<String> list = AllZone.QuestData.getCardpool();
|
java.util.List<String> list = AllZone.QuestData.getCardpool();
|
||||||
CardList cardpool = Gui_Quest_DeckEditor_Menu.covertToCardList(list);
|
CardList cardpool = Gui_Quest_DeckEditor_Menu.covertToCardList(list);
|
||||||
|
|
||||||
//remove bottom cards that are in the deck from the card pool
|
//remove bottom cards that are in the deck from the card pool
|
||||||
|
|||||||
@@ -2,34 +2,19 @@
|
|||||||
package forge;
|
package forge;
|
||||||
|
|
||||||
|
|
||||||
import java.awt.event.ActionEvent;
|
import forge.error.ErrorViewer;
|
||||||
import java.awt.event.ActionListener;
|
import forge.gui.GuiUtils;
|
||||||
import java.io.File;
|
|
||||||
import java.io.FileInputStream;
|
|
||||||
import java.io.FileOutputStream;
|
|
||||||
import java.io.FileWriter;
|
|
||||||
import java.io.ObjectInputStream;
|
|
||||||
import java.io.ObjectOutputStream;
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.Arrays;
|
|
||||||
import java.util.Collections;
|
|
||||||
|
|
||||||
import javax.swing.JDialog;
|
import javax.swing.*;
|
||||||
import javax.swing.JFileChooser;
|
|
||||||
import javax.swing.JList;
|
|
||||||
import javax.swing.JMenu;
|
|
||||||
import javax.swing.JMenuBar;
|
|
||||||
import javax.swing.JMenuItem;
|
|
||||||
import javax.swing.JOptionPane;
|
|
||||||
import javax.swing.JScrollPane;
|
|
||||||
import javax.swing.JTextArea;
|
|
||||||
import javax.swing.ListSelectionModel;
|
|
||||||
import javax.swing.event.ListSelectionEvent;
|
import javax.swing.event.ListSelectionEvent;
|
||||||
import javax.swing.event.ListSelectionListener;
|
import javax.swing.event.ListSelectionListener;
|
||||||
import javax.swing.filechooser.FileFilter;
|
import javax.swing.filechooser.FileFilter;
|
||||||
|
import java.awt.event.ActionEvent;
|
||||||
import forge.error.ErrorViewer;
|
import java.awt.event.ActionListener;
|
||||||
import forge.gui.GuiUtils;
|
import java.io.*;
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.Collections;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
|
||||||
//presumes AllZone.QuestData is not null
|
//presumes AllZone.QuestData is not null
|
||||||
@@ -46,7 +31,7 @@ public class Gui_Quest_DeckEditor_Menu extends JMenuBar {
|
|||||||
private static File previousDirectory = null;
|
private static File previousDirectory = null;
|
||||||
|
|
||||||
private Command exitCommand;
|
private Command exitCommand;
|
||||||
private QuestData questData;
|
private forge.quest.data.QuestData questData;
|
||||||
private Deck currentDeck;
|
private Deck currentDeck;
|
||||||
|
|
||||||
//the class DeckDisplay is in the file "Gui_DeckEditor_Menu.java"
|
//the class DeckDisplay is in the file "Gui_DeckEditor_Menu.java"
|
||||||
@@ -443,7 +428,7 @@ public class Gui_Quest_DeckEditor_Menu extends JMenuBar {
|
|||||||
|
|
||||||
//convert ArrayList of card names (Strings), into Card objects
|
//convert ArrayList of card names (Strings), into Card objects
|
||||||
cardpool = new CardList();
|
cardpool = new CardList();
|
||||||
ArrayList<String> list = questData.getCardpool();
|
List<String> list = questData.getCardpool();
|
||||||
|
|
||||||
for(int i = 0; i < list.size(); i++)
|
for(int i = 0; i < list.size(); i++)
|
||||||
cardpool.add(AllZone.CardFactory.getCard(list.get(i).toString(), null));
|
cardpool.add(AllZone.CardFactory.getCard(list.get(i).toString(), null));
|
||||||
@@ -495,7 +480,7 @@ public class Gui_Quest_DeckEditor_Menu extends JMenuBar {
|
|||||||
//AI
|
//AI
|
||||||
viewAllDecks.addActionListener(new ActionListener() {
|
viewAllDecks.addActionListener(new ActionListener() {
|
||||||
public void actionPerformed(ActionEvent a) {
|
public void actionPerformed(ActionEvent a) {
|
||||||
ArrayList<String> nameList = questData.ai_getDeckNames();
|
List<String> nameList = questData.ai_getDeckNames();
|
||||||
Collections.sort(nameList);
|
Collections.sort(nameList);
|
||||||
|
|
||||||
Deck deck;
|
Deck deck;
|
||||||
@@ -980,7 +965,7 @@ public class Gui_Quest_DeckEditor_Menu extends JMenuBar {
|
|||||||
}
|
}
|
||||||
|
|
||||||
//if user cancels, returns ""
|
//if user cancels, returns ""
|
||||||
private String getUserInput_GetDeckName(ArrayList<String> nameList) {
|
private String getUserInput_GetDeckName(List<String> nameList) {
|
||||||
Object o = JOptionPane.showInputDialog(null, "", "Deck Name", JOptionPane.OK_CANCEL_OPTION);
|
Object o = JOptionPane.showInputDialog(null, "", "Deck Name", JOptionPane.OK_CANCEL_OPTION);
|
||||||
|
|
||||||
if(o == null) return "";
|
if(o == null) return "";
|
||||||
@@ -997,8 +982,8 @@ public class Gui_Quest_DeckEditor_Menu extends JMenuBar {
|
|||||||
|
|
||||||
|
|
||||||
//if user cancels, it will return ""
|
//if user cancels, it will return ""
|
||||||
private String getUserInput_OpenDeck(ArrayList<String> deckNameList) {
|
private String getUserInput_OpenDeck(List<String> deckNameList) {
|
||||||
ArrayList<String> choices = deckNameList;
|
List<String> choices = deckNameList;
|
||||||
if(choices.size() == 0) {
|
if(choices.size() == 0) {
|
||||||
JOptionPane.showMessageDialog(null, "No decks found", "Open Deck", JOptionPane.PLAIN_MESSAGE);
|
JOptionPane.showMessageDialog(null, "No decks found", "Open Deck", JOptionPane.PLAIN_MESSAGE);
|
||||||
return "";
|
return "";
|
||||||
@@ -1031,11 +1016,11 @@ public class Gui_Quest_DeckEditor_Menu extends JMenuBar {
|
|||||||
|
|
||||||
//returns CardList of Card objects,
|
//returns CardList of Card objects,
|
||||||
//argument ArrayList holds String card names
|
//argument ArrayList holds String card names
|
||||||
public static CardList covertToCardList(ArrayList<String> list) {
|
public static CardList covertToCardList(List<String> list) {
|
||||||
CardList c = new CardList();
|
CardList c = new CardList();
|
||||||
Card card;
|
Card card;
|
||||||
for(int i = 0; i < list.size(); i++) {
|
for (String aList : list) {
|
||||||
card = AllZone.CardFactory.getCard(list.get(i).toString(), null);
|
card = AllZone.CardFactory.getCard(aList, null);
|
||||||
c.add(card);
|
c.add(card);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,10 @@
|
|||||||
package forge;
|
package forge;
|
||||||
|
|
||||||
|
import forge.error.ErrorViewer;
|
||||||
|
import forge.properties.ForgeProps;
|
||||||
|
import forge.properties.NewConstants;
|
||||||
|
|
||||||
|
import javax.swing.*;
|
||||||
import java.awt.Dimension;
|
import java.awt.Dimension;
|
||||||
import java.awt.Font;
|
import java.awt.Font;
|
||||||
import java.awt.Rectangle;
|
import java.awt.Rectangle;
|
||||||
@@ -7,16 +12,6 @@ import java.awt.event.ActionEvent;
|
|||||||
import java.awt.event.WindowEvent;
|
import java.awt.event.WindowEvent;
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
|
|
||||||
import javax.swing.ImageIcon;
|
|
||||||
import javax.swing.JButton;
|
|
||||||
import javax.swing.JFrame;
|
|
||||||
import javax.swing.JLabel;
|
|
||||||
import javax.swing.SwingConstants;
|
|
||||||
|
|
||||||
import forge.error.ErrorViewer;
|
|
||||||
import forge.properties.ForgeProps;
|
|
||||||
import forge.properties.NewConstants;
|
|
||||||
|
|
||||||
public class Gui_Treasury extends JFrame implements NewConstants{
|
public class Gui_Treasury extends JFrame implements NewConstants{
|
||||||
|
|
||||||
private static final long serialVersionUID = 2409591658245091210L;
|
private static final long serialVersionUID = 2409591658245091210L;
|
||||||
@@ -36,7 +31,7 @@ public class Gui_Treasury extends JFrame implements NewConstants{
|
|||||||
private JButton learnEstatesButton= new JButton();
|
private JButton learnEstatesButton= new JButton();
|
||||||
private JButton quitButton = new JButton();
|
private JButton quitButton = new JButton();
|
||||||
|
|
||||||
private QuestData questData = AllZone.QuestData;
|
private forge.quest.data.QuestData questData = AllZone.QuestData;
|
||||||
|
|
||||||
public Gui_Treasury(JFrame parent) {
|
public Gui_Treasury(JFrame parent) {
|
||||||
try {
|
try {
|
||||||
@@ -221,7 +216,7 @@ public class Gui_Treasury extends JFrame implements NewConstants{
|
|||||||
{
|
{
|
||||||
questData.addLuckyCoinLevel(1);
|
questData.addLuckyCoinLevel(1);
|
||||||
}
|
}
|
||||||
QuestData.saveData(questData);
|
questData.saveData();
|
||||||
jbInit();
|
jbInit();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -234,7 +229,7 @@ public class Gui_Treasury extends JFrame implements NewConstants{
|
|||||||
}
|
}
|
||||||
|
|
||||||
void quitButton_actionPerformed(ActionEvent e) {
|
void quitButton_actionPerformed(ActionEvent e) {
|
||||||
QuestData.saveData(questData);
|
questData.saveData();
|
||||||
//new Gui_Shops();
|
//new Gui_Shops();
|
||||||
shopsGUI.setVisible(true);
|
shopsGUI.setVisible(true);
|
||||||
|
|
||||||
|
|||||||
@@ -6,6 +6,8 @@ import forge.error.ErrorViewer;
|
|||||||
import forge.properties.ForgeProps;
|
import forge.properties.ForgeProps;
|
||||||
import forge.properties.NewConstants;
|
import forge.properties.NewConstants;
|
||||||
import forge.properties.NewConstants.LANG.Gui_WinLose.WINLOSE_TEXT;
|
import forge.properties.NewConstants.LANG.Gui_WinLose.WINLOSE_TEXT;
|
||||||
|
import forge.quest.data.QuestMatchState;
|
||||||
|
import forge.quest.data.QuestPreferences;
|
||||||
import forge.quest.gui.QuestFrame;
|
import forge.quest.gui.QuestFrame;
|
||||||
import net.miginfocom.swing.MigLayout;
|
import net.miginfocom.swing.MigLayout;
|
||||||
|
|
||||||
@@ -46,8 +48,8 @@ public class Gui_WinLose extends JFrame implements NewConstants {
|
|||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
Constant.Runtime.GameType[0] = Constant.GameType.Sealed;
|
Constant.Runtime.GameType[0] = Constant.GameType.Sealed;
|
||||||
|
|
||||||
Constant.Runtime.WinLose.addWin();
|
Constant.Runtime.matchState.addWin();
|
||||||
Constant.Runtime.WinLose.addLose();
|
Constant.Runtime.matchState.addLose();
|
||||||
|
|
||||||
//setup limited deck
|
//setup limited deck
|
||||||
Deck deck = new Deck(Constant.GameType.Sealed);
|
Deck deck = new Deck(Constant.GameType.Sealed);
|
||||||
@@ -114,7 +116,7 @@ public class Gui_WinLose extends JFrame implements NewConstants {
|
|||||||
|
|
||||||
private void setup() {
|
private void setup() {
|
||||||
AllZone.GameInfo.clearColorChanges();
|
AllZone.GameInfo.clearColorChanges();
|
||||||
WinLose winLose = Constant.Runtime.WinLose;
|
QuestMatchState winLose = Constant.Runtime.matchState;
|
||||||
Phase.GameBegins = 0;
|
Phase.GameBegins = 0;
|
||||||
//3 is the match length, 3 is the number of games
|
//3 is the match length, 3 is the number of games
|
||||||
//disable buttons if match is up, or human player won 2 or lost 2 games already
|
//disable buttons if match is up, or human player won 2 or lost 2 games already
|
||||||
@@ -228,16 +230,16 @@ public class Gui_WinLose extends JFrame implements NewConstants {
|
|||||||
else{
|
else{
|
||||||
int extraLife = 0;
|
int extraLife = 0;
|
||||||
if (AllZone.QuestAssignment != null) {
|
if (AllZone.QuestAssignment != null) {
|
||||||
QuestUtil.setupQuest(AllZone.QuestAssignment);
|
forge.quest.data.QuestUtil.setupQuest(AllZone.QuestAssignment);
|
||||||
if (AllZone.QuestData.getGearLevel() == 2)
|
if (AllZone.QuestData.getGearLevel() == 2)
|
||||||
extraLife = 3;
|
extraLife = 3;
|
||||||
}
|
}
|
||||||
//AllZone.GameAction.newGame(Constant.Runtime.HumanDeck[0], Constant.Runtime.ComputerDeck[0], humanList, computerList, humanLife, computerLife);
|
//AllZone.GameAction.newGame(Constant.Runtime.HumanDeck[0], Constant.Runtime.ComputerDeck[0], humanList, computerList, humanLife, computerLife);
|
||||||
CardList humanList = QuestUtil.getHumanPlantAndPet(AllZone.QuestData, AllZone.QuestAssignment);
|
CardList humanList = forge.quest.data.QuestUtil.getHumanPlantAndPet(AllZone.QuestData, AllZone.QuestAssignment);
|
||||||
CardList computerList = new CardList();
|
CardList computerList = new CardList();
|
||||||
|
|
||||||
|
|
||||||
int humanLife = QuestUtil.getLife(AllZone.QuestData) + extraLife;
|
int humanLife = AllZone.QuestData.getLife() + extraLife;
|
||||||
int computerLife = 20;
|
int computerLife = 20;
|
||||||
if (AllZone.QuestAssignment!=null)
|
if (AllZone.QuestAssignment!=null)
|
||||||
computerLife = AllZone.QuestAssignment.getComputerLife();
|
computerLife = AllZone.QuestAssignment.getComputerLife();
|
||||||
@@ -250,7 +252,7 @@ public class Gui_WinLose extends JFrame implements NewConstants {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void restartButton_actionPerformed(ActionEvent e) {
|
void restartButton_actionPerformed(ActionEvent e) {
|
||||||
Constant.Runtime.WinLose.reset();
|
Constant.Runtime.matchState.reset();
|
||||||
|
|
||||||
if (!Constant.Quest.fantasyQuest[0])
|
if (!Constant.Quest.fantasyQuest[0])
|
||||||
AllZone.GameAction.newGame(Constant.Runtime.HumanDeck[0], Constant.Runtime.ComputerDeck[0]);
|
AllZone.GameAction.newGame(Constant.Runtime.HumanDeck[0], Constant.Runtime.ComputerDeck[0]);
|
||||||
@@ -258,16 +260,16 @@ public class Gui_WinLose extends JFrame implements NewConstants {
|
|||||||
int extraLife = 0;
|
int extraLife = 0;
|
||||||
//AllZone.GameAction.newGame(Constant.Runtime.HumanDeck[0], Constant.Runtime.ComputerDeck[0], humanList, computerList, humanLife, computerLife);
|
//AllZone.GameAction.newGame(Constant.Runtime.HumanDeck[0], Constant.Runtime.ComputerDeck[0], humanList, computerList, humanLife, computerLife);
|
||||||
if (AllZone.QuestAssignment != null) {
|
if (AllZone.QuestAssignment != null) {
|
||||||
QuestUtil.setupQuest(AllZone.QuestAssignment);
|
forge.quest.data.QuestUtil.setupQuest(AllZone.QuestAssignment);
|
||||||
if (AllZone.QuestData.getGearLevel() == 2)
|
if (AllZone.QuestData.getGearLevel() == 2)
|
||||||
extraLife = 3;
|
extraLife = 3;
|
||||||
}
|
}
|
||||||
|
|
||||||
CardList humanList = QuestUtil.getHumanPlantAndPet(AllZone.QuestData, AllZone.QuestAssignment);
|
CardList humanList = forge.quest.data.QuestUtil.getHumanPlantAndPet(AllZone.QuestData, AllZone.QuestAssignment);
|
||||||
//CardList computerList = QuestUtil.getComputerCreatures(AllZone.QuestData, AllZone.QuestAssignment);
|
//CardList computerList = QuestUtil.getComputerCreatures(AllZone.QuestData, AllZone.QuestAssignment);
|
||||||
CardList computerList = new CardList();
|
CardList computerList = new CardList();
|
||||||
|
|
||||||
int humanLife = QuestUtil.getLife(AllZone.QuestData) +extraLife;
|
int humanLife = AllZone.QuestData.getLife() +extraLife;
|
||||||
int computerLife = 20;
|
int computerLife = 20;
|
||||||
|
|
||||||
if (AllZone.QuestAssignment!=null)
|
if (AllZone.QuestAssignment!=null)
|
||||||
@@ -280,7 +282,7 @@ public class Gui_WinLose extends JFrame implements NewConstants {
|
|||||||
dispose();
|
dispose();
|
||||||
}
|
}
|
||||||
|
|
||||||
private String getWinText(long creds, WinLose winLose, QuestData q)
|
private String getWinText(long creds, QuestMatchState winLose, forge.quest.data.QuestData q)
|
||||||
{
|
{
|
||||||
// todo use q.qdPrefs to write bonus credits in prefs file
|
// todo use q.qdPrefs to write bonus credits in prefs file
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
@@ -288,7 +290,7 @@ public class Gui_WinLose extends JFrame implements NewConstants {
|
|||||||
|
|
||||||
sb.append("<html>");
|
sb.append("<html>");
|
||||||
|
|
||||||
QuestData_Prefs qdPrefs = q.qdPrefs;
|
QuestPreferences qdPrefs = q.getQuestPreferences();
|
||||||
|
|
||||||
for (String s : wins)
|
for (String s : wins)
|
||||||
{
|
{
|
||||||
@@ -394,11 +396,11 @@ public class Gui_WinLose extends JFrame implements NewConstants {
|
|||||||
new Gui_NewGame();
|
new Gui_NewGame();
|
||||||
}
|
}
|
||||||
else { //Quest
|
else { //Quest
|
||||||
WinLose winLose = Constant.Runtime.WinLose;
|
QuestMatchState matchState = Constant.Runtime.matchState;
|
||||||
QuestData quest = AllZone.QuestData;
|
forge.quest.data.QuestData quest = AllZone.QuestData;
|
||||||
|
|
||||||
boolean wonMatch = false;
|
boolean wonMatch = false;
|
||||||
if(winLose.getWin() == 2){
|
if(matchState.getWin() == 2){
|
||||||
quest.addWin();
|
quest.addWin();
|
||||||
wonMatch = true;
|
wonMatch = true;
|
||||||
}
|
}
|
||||||
@@ -425,8 +427,8 @@ public class Gui_WinLose extends JFrame implements NewConstants {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (wonMatch){
|
if (wonMatch){
|
||||||
long creds = quest.getCreditsToAdd(winLose);
|
long creds = quest.getCreditsToAdd(matchState);
|
||||||
String s = getWinText(creds, winLose, quest);
|
String s = getWinText(creds, matchState, quest);
|
||||||
|
|
||||||
String fileName = "GoldIcon.png";
|
String fileName = "GoldIcon.png";
|
||||||
ImageIcon icon = getIcon(fileName);
|
ImageIcon icon = getIcon(fileName);
|
||||||
@@ -489,11 +491,11 @@ public class Gui_WinLose extends JFrame implements NewConstants {
|
|||||||
JOptionPane.showMessageDialog(null, "", "You have won a random rare.", JOptionPane.INFORMATION_MESSAGE, icon);
|
JOptionPane.showMessageDialog(null, "", "You have won a random rare.", JOptionPane.INFORMATION_MESSAGE, icon);
|
||||||
}
|
}
|
||||||
|
|
||||||
winLose.reset();
|
matchState.reset();
|
||||||
|
|
||||||
AllZone.QuestAssignment = null;
|
AllZone.QuestAssignment = null;
|
||||||
|
|
||||||
QuestData.saveData(quest);
|
quest.saveData();
|
||||||
if (AllZone.QuestData.useNewQuestUI){
|
if (AllZone.QuestData.useNewQuestUI){
|
||||||
new QuestFrame();
|
new QuestFrame();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,24 +1,14 @@
|
|||||||
|
|
||||||
package forge;
|
package forge;
|
||||||
|
|
||||||
import java.io.File;
|
|
||||||
import java.io.FileInputStream;
|
|
||||||
import java.io.FileOutputStream;
|
|
||||||
import java.io.ObjectInputStream;
|
|
||||||
import java.io.ObjectOutputStream;
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.Collections;
|
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.Iterator;
|
|
||||||
import java.util.Map;
|
|
||||||
import java.util.Random;
|
|
||||||
|
|
||||||
import com.esotericsoftware.minlog.Log;
|
import com.esotericsoftware.minlog.Log;
|
||||||
|
|
||||||
import forge.error.ErrorViewer;
|
import forge.error.ErrorViewer;
|
||||||
import forge.properties.ForgeProps;
|
import forge.properties.ForgeProps;
|
||||||
import forge.properties.NewConstants;
|
import forge.properties.NewConstants;
|
||||||
|
|
||||||
|
import java.io.*;
|
||||||
|
import java.util.*;
|
||||||
|
|
||||||
|
|
||||||
//when you create QuestData and AFTER you copy the AI decks over
|
//when you create QuestData and AFTER you copy the AI decks over
|
||||||
//you have to call one of these two methods below
|
//you have to call one of these two methods below
|
||||||
@@ -27,6 +17,8 @@ import forge.properties.NewConstants;
|
|||||||
//static readAIQuestDeckFiles(QuestData data, ArrayList aiDeckNames)
|
//static readAIQuestDeckFiles(QuestData data, ArrayList aiDeckNames)
|
||||||
//OR non-static readAIQuestDeckFiles()
|
//OR non-static readAIQuestDeckFiles()
|
||||||
//which reads the files "questDecks-easy", "questDecks-medium","questDecks-hard",
|
//which reads the files "questDecks-easy", "questDecks-medium","questDecks-hard",
|
||||||
|
@SuppressWarnings({"deprecation"})
|
||||||
|
@Deprecated
|
||||||
public class QuestData implements NewConstants {
|
public class QuestData implements NewConstants {
|
||||||
QuestData_Prefs qdPrefs = null;
|
QuestData_Prefs qdPrefs = null;
|
||||||
|
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ import java.util.*;
|
|||||||
|
|
||||||
//balance the number of colors and creature/spells for
|
//balance the number of colors and creature/spells for
|
||||||
//new cards that are won in quest mode
|
//new cards that are won in quest mode
|
||||||
|
@Deprecated
|
||||||
public class QuestData_BoosterPack implements NewConstants {
|
public class QuestData_BoosterPack implements NewConstants {
|
||||||
// final private static String comment = "//";
|
// final private static String comment = "//";
|
||||||
|
|
||||||
|
|||||||
@@ -1,12 +1,13 @@
|
|||||||
package forge;
|
package forge;
|
||||||
|
|
||||||
|
import forge.properties.ForgeProps;
|
||||||
|
import forge.properties.NewConstants.QUEST;
|
||||||
|
|
||||||
import java.io.BufferedReader;
|
import java.io.BufferedReader;
|
||||||
import java.io.FileReader;
|
import java.io.FileReader;
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
|
|
||||||
import forge.properties.ForgeProps;
|
@Deprecated
|
||||||
import forge.properties.NewConstants.QUEST;
|
|
||||||
|
|
||||||
public class QuestData_Prefs implements Serializable {
|
public class QuestData_Prefs implements Serializable {
|
||||||
private static final long serialVersionUID = 3266336025656577905L;
|
private static final long serialVersionUID = 3266336025656577905L;
|
||||||
|
|
||||||
|
|||||||
@@ -20,6 +20,9 @@ import java.util.Map;
|
|||||||
* @version V0.0 26.10.2009
|
* @version V0.0 26.10.2009
|
||||||
* @author Clemens Koza
|
* @author Clemens Koza
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
@Deprecated
|
||||||
public class QuestData_State implements Serializable {
|
public class QuestData_State implements Serializable {
|
||||||
private static final long serialVersionUID = 7007940230351051937L;
|
private static final long serialVersionUID = 7007940230351051937L;
|
||||||
|
|
||||||
|
|||||||
@@ -2,6 +2,8 @@ package forge;
|
|||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
|
||||||
|
@Deprecated
|
||||||
|
@SuppressWarnings("deprecation")
|
||||||
public class QuestUtil {
|
public class QuestUtil {
|
||||||
|
|
||||||
public static int getLife(QuestData qd)
|
public static int getLife(QuestData qd)
|
||||||
|
|||||||
@@ -1,13 +1,14 @@
|
|||||||
package forge;
|
package forge;
|
||||||
import java.io.BufferedReader;
|
|
||||||
import java.io.File;
|
|
||||||
import java.io.FileReader;
|
|
||||||
import java.util.ArrayList;
|
|
||||||
|
|
||||||
import forge.error.ErrorViewer;
|
import forge.error.ErrorViewer;
|
||||||
import forge.properties.ForgeProps;
|
import forge.properties.ForgeProps;
|
||||||
import forge.properties.NewConstants;
|
import forge.properties.NewConstants;
|
||||||
|
|
||||||
|
import java.io.BufferedReader;
|
||||||
|
import java.io.File;
|
||||||
|
import java.io.FileReader;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
|
||||||
public class ReadQuest_Assignment implements Runnable, NewConstants {
|
public class ReadQuest_Assignment implements Runnable, NewConstants {
|
||||||
@@ -15,7 +16,7 @@ public class ReadQuest_Assignment implements Runnable, NewConstants {
|
|||||||
private ArrayList<Quest_Assignment> allQuests = new ArrayList<Quest_Assignment>();
|
private ArrayList<Quest_Assignment> allQuests = new ArrayList<Quest_Assignment>();
|
||||||
|
|
||||||
private int totalWins;
|
private int totalWins;
|
||||||
private ArrayList<Integer> completedQuests = new ArrayList<Integer>();
|
private List<Integer> completedQuests = new ArrayList<Integer>();
|
||||||
|
|
||||||
public static void main(String args[]) throws Exception {
|
public static void main(String args[]) throws Exception {
|
||||||
try {
|
try {
|
||||||
@@ -40,12 +41,12 @@ public class ReadQuest_Assignment implements Runnable, NewConstants {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public ArrayList<Quest_Assignment> getQuests() {
|
public List<Quest_Assignment> getQuests() {
|
||||||
return new ArrayList<Quest_Assignment>(allQuests);
|
return new ArrayList<Quest_Assignment>(allQuests);
|
||||||
}
|
}
|
||||||
|
|
||||||
public ArrayList<Quest_Assignment> getQuestsByIds(ArrayList<Integer> availableQuestIds) {
|
public List<Quest_Assignment> getQuestsByIds(List<Integer> availableQuestIds) {
|
||||||
ArrayList<Quest_Assignment> quests = new ArrayList<Quest_Assignment>();
|
List<Quest_Assignment> quests = new ArrayList<Quest_Assignment>();
|
||||||
|
|
||||||
for(Quest_Assignment qa:allQuests)
|
for(Quest_Assignment qa:allQuests)
|
||||||
{
|
{
|
||||||
@@ -72,11 +73,11 @@ public class ReadQuest_Assignment implements Runnable, NewConstants {
|
|||||||
}
|
}
|
||||||
*/
|
*/
|
||||||
|
|
||||||
public ReadQuest_Assignment(String filename, QuestData questData) {
|
public ReadQuest_Assignment(String filename, forge.quest.data.QuestData questData) {
|
||||||
this(new File(filename), questData);
|
this(new File(filename), questData);
|
||||||
}
|
}
|
||||||
|
|
||||||
public ReadQuest_Assignment(File file, QuestData questData) {
|
public ReadQuest_Assignment(File file, forge.quest.data.QuestData questData) {
|
||||||
|
|
||||||
if (questData != null) {
|
if (questData != null) {
|
||||||
totalWins = questData.getWin();
|
totalWins = questData.getWin();
|
||||||
@@ -171,7 +172,7 @@ public class ReadQuest_Assignment implements Runnable, NewConstants {
|
|||||||
|
|
||||||
ids.add(qa.getId());
|
ids.add(qa.getId());
|
||||||
if (qa.getRequiredNumberWins() <= totalWins && !completedQuests.contains(qa.getId()) ) {
|
if (qa.getRequiredNumberWins() <= totalWins && !completedQuests.contains(qa.getId()) ) {
|
||||||
QuestUtil.setupQuest(qa);
|
forge.quest.data.QuestUtil.setupQuest(qa);
|
||||||
allQuests.add(qa);
|
allQuests.add(qa);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
package forge;
|
package forge;
|
||||||
|
@Deprecated
|
||||||
public class WinLose
|
public class WinLose
|
||||||
{
|
{
|
||||||
//the way wins were achieved:
|
//the way wins were achieved:
|
||||||
|
|||||||
@@ -1,28 +1,19 @@
|
|||||||
package forge.gui;
|
package forge.gui;
|
||||||
|
|
||||||
import java.awt.Component;
|
|
||||||
import java.awt.Dimension;
|
|
||||||
import java.awt.Font;
|
|
||||||
import java.awt.Frame;
|
|
||||||
import java.awt.Image;
|
|
||||||
import java.awt.Rectangle;
|
|
||||||
import java.awt.image.BufferedImage;
|
|
||||||
import java.io.File;
|
|
||||||
import java.util.Collection;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import javax.swing.Box;
|
|
||||||
import javax.swing.ImageIcon;
|
|
||||||
import javax.swing.JList;
|
|
||||||
import javax.swing.JPanel;
|
|
||||||
import javax.swing.event.ListSelectionEvent;
|
|
||||||
import javax.swing.event.ListSelectionListener;
|
|
||||||
|
|
||||||
import forge.AllZone;
|
import forge.AllZone;
|
||||||
import forge.Card;
|
import forge.Card;
|
||||||
import forge.properties.ForgeProps;
|
import forge.properties.ForgeProps;
|
||||||
import forge.properties.NewConstants;
|
import forge.properties.NewConstants;
|
||||||
|
|
||||||
|
import javax.swing.*;
|
||||||
|
import javax.swing.event.ListSelectionEvent;
|
||||||
|
import javax.swing.event.ListSelectionListener;
|
||||||
|
import java.awt.*;
|
||||||
|
import java.awt.image.BufferedImage;
|
||||||
|
import java.io.File;
|
||||||
|
import java.util.Collection;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public class GuiUtils {
|
public class GuiUtils {
|
||||||
@@ -87,11 +78,11 @@ public class GuiUtils {
|
|||||||
public static ImageIcon getIconFromFile(String iconName) {
|
public static ImageIcon getIconFromFile(String iconName) {
|
||||||
File base = ForgeProps.getFile(NewConstants.IMAGE_ICON);
|
File base = ForgeProps.getFile(NewConstants.IMAGE_ICON);
|
||||||
File file = new File(base, iconName);
|
File file = new File(base, iconName);
|
||||||
if (file.exists()) {
|
if (iconName.equals("") || !file.exists()) {
|
||||||
return new ImageIcon(file.toString());
|
return null;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
return null;
|
return new ImageIcon(file.toString());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -14,66 +14,60 @@ import java.util.zip.GZIPInputStream;
|
|||||||
import java.util.zip.GZIPOutputStream;
|
import java.util.zip.GZIPOutputStream;
|
||||||
|
|
||||||
|
|
||||||
//when you create QuestData and AFTER you copy the AI decks over
|
//when you create QuestDataOld and AFTER you copy the AI decks over
|
||||||
//you have to call one of these two methods below
|
//you have to call one of these two methods below
|
||||||
//see Gui_QuestOptions for more details
|
//see Gui_QuestOptions for more details
|
||||||
|
|
||||||
//
|
//
|
||||||
//static readAIQuestDeckFiles(QuestData data, ArrayList aiDeckNames)
|
//static readAIQuestDeckFiles(QuestDataOld data, ArrayList aiDeckNames)
|
||||||
//OR non-static readAIQuestDeckFiles()
|
//OR non-static readAIQuestDeckFiles()
|
||||||
//which reads the files "questDecks-easy", "questDecks-medium","questDecks-hard",
|
//which reads the files "questDecks-easy", "questDecks-medium","questDecks-hard",
|
||||||
public class QuestData {
|
public class QuestData {
|
||||||
QuestPreferences qdPrefs = null;
|
QuestPreferences preferences = null;
|
||||||
|
|
||||||
private int rankIndex;
|
private int rankIndex;
|
||||||
private int win;
|
private int win;
|
||||||
private int lost;
|
private int lost;
|
||||||
|
|
||||||
private List<QuestPetAbstract> pets;
|
|
||||||
|
|
||||||
private QuestPetAbstract selectedPet;
|
|
||||||
|
|
||||||
private int life;
|
private int life;
|
||||||
private int estatesLevel;
|
private int estatesLevel;
|
||||||
private int luckyCoinLevel;
|
private int luckyCoinLevel;
|
||||||
private int sleightOfHandLevel;
|
private int sleightOfHandLevel;
|
||||||
|
|
||||||
private int gearLevel;
|
private int gearLevel;
|
||||||
|
|
||||||
private int questsPlayed;
|
private int questsPlayed;
|
||||||
|
|
||||||
private long credits;
|
private long credits;
|
||||||
|
|
||||||
private int diffIndex;
|
private int diffIndex;
|
||||||
private String difficulty;
|
private String difficulty;
|
||||||
|
|
||||||
private String mode = "";
|
private String mode = "";
|
||||||
|
|
||||||
private transient ArrayList<String> easyAIDecks;
|
private transient Map<String, Deck> aiDecks;
|
||||||
private transient ArrayList<String> mediumAIDecks;
|
private transient List<String> easyAIDecks;
|
||||||
private transient ArrayList<String> hardAIDecks;
|
private transient List<String> mediumAIDecks;
|
||||||
|
private transient List<String> hardAIDecks;
|
||||||
|
|
||||||
private Map<String, Deck> myDecks = new HashMap<String, Deck>();
|
private Map<String, Deck> myDecks = new HashMap<String, Deck>();
|
||||||
private transient Map<String, Deck> aiDecks = new HashMap<String, Deck>();
|
|
||||||
|
|
||||||
//holds String card names
|
//holds String card names
|
||||||
private ArrayList<String> cardPool = new ArrayList<String>();
|
private List<String> cardPool = new ArrayList<String>();
|
||||||
private ArrayList<String> newCardList = new ArrayList<String>();
|
private List<String> newCardList = new ArrayList<String>();
|
||||||
private ArrayList<String> shopList = new ArrayList<String>();
|
|
||||||
|
|
||||||
private ArrayList<Integer> availableQuests = new ArrayList<Integer>();
|
private List<String> shopList = new ArrayList<String>();
|
||||||
private ArrayList<Integer> completedQuests = new ArrayList<Integer>();
|
private List<Integer> availableQuests = new ArrayList<Integer>();
|
||||||
|
|
||||||
private transient QuestBoosterPack boosterPack = new QuestBoosterPack();
|
private List<Integer> completedQuests = new ArrayList<Integer>();
|
||||||
|
|
||||||
|
private transient QuestBoosterPack boosterPack;
|
||||||
|
|
||||||
//used by shouldAddAdditionalCards()
|
//used by shouldAddAdditionalCards()
|
||||||
private Random random = new Random();
|
private Random random = new Random();
|
||||||
|
|
||||||
//feel free to change this to something funnier
|
|
||||||
private transient String[] rankArray = {
|
|
||||||
"Level 0 - Confused Wizard", "Level 1 - Mana Mage", "Level 2 - Death by Megrim",
|
|
||||||
"Level 3 - Shattered the Competition", "Level 4 - Black Knighted", "Level 5 - Shockingly Good",
|
|
||||||
"Level 6 - Regressed into Timmy", "Level 7 - Loves Blue Control", "Level 8 - Immobilized by Fear",
|
|
||||||
"Level 9 - Lands = Friends", "Saltblasted for your talent", "Serra Angel is your girlfriend",};
|
|
||||||
|
|
||||||
|
//feel free to change this to something funnier
|
||||||
|
private transient String[] rankArray;
|
||||||
|
|
||||||
public static final String FANTASY = "Fantasy";
|
public static final String FANTASY = "Fantasy";
|
||||||
public static final String REALISTIC = "Realistic";
|
public static final String REALISTIC = "Realistic";
|
||||||
@@ -81,10 +75,12 @@ public class QuestData {
|
|||||||
//TODO: Temporary.
|
//TODO: Temporary.
|
||||||
public boolean useNewQuestUI = false;
|
public boolean useNewQuestUI = false;
|
||||||
|
|
||||||
public QuestData() {
|
public final QuestPetManager petManager = new QuestPetManager();
|
||||||
qdPrefs = new QuestPreferences();
|
|
||||||
|
|
||||||
for (int i = 0; i < qdPrefs.getStartingBasic(); i++) {
|
public QuestData() {
|
||||||
|
preferences = new QuestPreferences();
|
||||||
|
|
||||||
|
for (int i = 0; i < preferences.getStartingBasic(); i++) {
|
||||||
cardPool.add("Forest");
|
cardPool.add("Forest");
|
||||||
cardPool.add("Mountain");
|
cardPool.add("Mountain");
|
||||||
cardPool.add("Swamp");
|
cardPool.add("Swamp");
|
||||||
@@ -92,7 +88,7 @@ public class QuestData {
|
|||||||
cardPool.add("Plains");
|
cardPool.add("Plains");
|
||||||
}
|
}
|
||||||
|
|
||||||
for (int i = 0; i < qdPrefs.getStartingSnowBasic(); i++) {
|
for (int i = 0; i < preferences.getStartingSnowBasic(); i++) {
|
||||||
cardPool.add("Snow-Covered Forest");
|
cardPool.add("Snow-Covered Forest");
|
||||||
cardPool.add("Snow-Covered Mountain");
|
cardPool.add("Snow-Covered Mountain");
|
||||||
cardPool.add("Snow-Covered Swamp");
|
cardPool.add("Snow-Covered Swamp");
|
||||||
@@ -100,21 +96,46 @@ public class QuestData {
|
|||||||
cardPool.add("Snow-Covered Plains");
|
cardPool.add("Snow-Covered Plains");
|
||||||
}
|
}
|
||||||
|
|
||||||
readAIQuestDeckFiles();
|
initTransients();
|
||||||
}//QuestData
|
}
|
||||||
|
|
||||||
|
private void initTransients() {
|
||||||
|
aiDecks = new HashMap<String, Deck>();
|
||||||
|
List<String> aiDeckNames = ai_getDeckNames();
|
||||||
|
easyAIDecks = readFile(ForgeProps.getFile(NewConstants.QUEST.EASY), aiDeckNames);
|
||||||
|
mediumAIDecks = readFile(ForgeProps.getFile(NewConstants.QUEST.MEDIUM), aiDeckNames);
|
||||||
|
hardAIDecks = readFile(ForgeProps.getFile(NewConstants.QUEST.HARD), aiDeckNames);
|
||||||
|
|
||||||
|
rankArray = new String[]{
|
||||||
|
"Level 0 - Confused Wizard",
|
||||||
|
"Level 1 - Mana Mage",
|
||||||
|
"Level 2 - Death by Megrim",
|
||||||
|
"Level 3 - Shattered the Competition",
|
||||||
|
"Level 4 - Black Knighted",
|
||||||
|
"Level 5 - Shockingly Good",
|
||||||
|
"Level 6 - Regressed into Timmy",
|
||||||
|
"Level 7 - Loves Blue Control",
|
||||||
|
"Level 8 - Immobilized by Fear",
|
||||||
|
"Level 9 - Lands = Friends",
|
||||||
|
"Saltblasted for your talent",
|
||||||
|
"Serra Angel is your girlfriend",};
|
||||||
|
|
||||||
|
boosterPack = new QuestBoosterPack();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
//adds cards to card pool and sets difficulty
|
//adds cards to card pool and sets difficulty
|
||||||
public void newGame(int difficulty, String m) {
|
public void newGame(int difficulty, String m) {
|
||||||
setDifficulty(difficulty);
|
setDifficulty(difficulty);
|
||||||
|
|
||||||
ArrayList<String> list = new ArrayList<String>();
|
ArrayList<String> list = new ArrayList<String>();
|
||||||
list.addAll(boosterPack.getCommon(qdPrefs.getStartingCommons(difficulty)));
|
list.addAll(boosterPack.getCommon(preferences.getStartingCommons(difficulty)));
|
||||||
list.addAll(boosterPack.getUncommon(qdPrefs.getStartingUncommons(difficulty)));
|
list.addAll(boosterPack.getUncommon(preferences.getStartingUncommons(difficulty)));
|
||||||
list.addAll(boosterPack.getRare(qdPrefs.getStartingRares(difficulty)));
|
list.addAll(boosterPack.getRare(preferences.getStartingRares(difficulty)));
|
||||||
|
|
||||||
//because cardPool already has basic land added to it
|
//because cardPool already has basic land added to it
|
||||||
cardPool.addAll(list);
|
cardPool.addAll(list);
|
||||||
credits = qdPrefs.getStartingCredits();
|
credits = preferences.getStartingCredits();
|
||||||
|
|
||||||
mode = m;
|
mode = m;
|
||||||
if (mode.equals(FANTASY)) {
|
if (mode.equals(FANTASY)) {
|
||||||
@@ -125,36 +146,28 @@ public class QuestData {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public String[] getOpponents() {
|
public String[] getOpponents() {
|
||||||
int index = getDifficultyIndex();
|
int index = getDifficultyIndex();
|
||||||
|
|
||||||
if (getWin() < qdPrefs.getWinsForMediumAI(index)) {
|
if (getWin() < preferences.getWinsForMediumAI(index)) {
|
||||||
return getOpponents(easyAIDecks);
|
return getOpponents(easyAIDecks);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (getWin() < qdPrefs.getWinsForHardAI(index)) {
|
if (getWin() < preferences.getWinsForHardAI(index)) {
|
||||||
return getOpponents(mediumAIDecks);
|
return getOpponents(mediumAIDecks);
|
||||||
}
|
}
|
||||||
|
|
||||||
return getOpponents(hardAIDecks);
|
return getOpponents(hardAIDecks);
|
||||||
}//getOpponents()
|
|
||||||
|
|
||||||
|
|
||||||
private void readAIQuestDeckFiles(QuestData data, ArrayList<String> aiDeckNames) {
|
|
||||||
data.easyAIDecks = readFile(ForgeProps.getFile(NewConstants.QUEST.EASY), aiDeckNames);
|
|
||||||
data.mediumAIDecks = readFile(ForgeProps.getFile(NewConstants.QUEST.MEDIUM), aiDeckNames);
|
|
||||||
data.hardAIDecks = readFile(ForgeProps.getFile(NewConstants.QUEST.HARD), aiDeckNames);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public String[] getOpponents(ArrayList<String> aiDeck) {
|
public String[] getOpponents(List<String> aiDeck) {
|
||||||
Collections.shuffle(aiDeck);
|
Collections.shuffle(aiDeck);
|
||||||
|
|
||||||
return new String[]{aiDeck.get(0).toString(), aiDeck.get(1).toString(), aiDeck.get(2).toString()};
|
return new String[]{aiDeck.get(0).toString(), aiDeck.get(1).toString(), aiDeck.get(2).toString()};
|
||||||
|
|
||||||
}//getOpponents()
|
}
|
||||||
|
|
||||||
private static ArrayList<String> readFile(File file, ArrayList<String> aiDecks) {
|
private static List<String> readFile(File file, List<String> aiDecks) {
|
||||||
ArrayList<String> list = FileUtil.readFile(file);
|
ArrayList<String> list = FileUtil.readFile(file);
|
||||||
|
|
||||||
//remove any blank lines
|
//remove any blank lines
|
||||||
@@ -177,7 +190,7 @@ public class QuestData {
|
|||||||
|
|
||||||
for (int i = 0; i < list.size(); i++)
|
for (int i = 0; i < list.size(); i++)
|
||||||
/*if(!aiDecks.contains(list.get(i).toString())) ErrorViewer.showError(new Exception(),
|
/*if(!aiDecks.contains(list.get(i).toString())) ErrorViewer.showError(new Exception(),
|
||||||
"QuestData : readFile() error, file %s contains the invalid ai deck name: %s", file,
|
"QuestDataOld : readFile() error, file %s contains the invalid ai deck name: %s", file,
|
||||||
list.get(i));*/ {
|
list.get(i));*/ {
|
||||||
if (!aiDecks.contains(list.get(i).toString())) {
|
if (!aiDecks.contains(list.get(i).toString())) {
|
||||||
aiDecks.add(list.get(i).toString());
|
aiDecks.add(list.get(i).toString());
|
||||||
@@ -186,12 +199,9 @@ public class QuestData {
|
|||||||
|
|
||||||
|
|
||||||
return list;
|
return list;
|
||||||
}//readFile()
|
|
||||||
|
|
||||||
public void readAIQuestDeckFiles() {
|
|
||||||
readAIQuestDeckFiles(this, ai_getDeckNames());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static public QuestData loadData() {
|
static public QuestData loadData() {
|
||||||
try {
|
try {
|
||||||
//read file "questData"
|
//read file "questData"
|
||||||
@@ -213,7 +223,6 @@ public class QuestData {
|
|||||||
XStream xStream = new XStream();
|
XStream xStream = new XStream();
|
||||||
|
|
||||||
data = (QuestData) xStream.fromXML(zin);
|
data = (QuestData) xStream.fromXML(zin);
|
||||||
data.readAIQuestDeckFiles(data, new ArrayList<String>());
|
|
||||||
|
|
||||||
zin.close();
|
zin.close();
|
||||||
}
|
}
|
||||||
@@ -226,6 +235,24 @@ public class QuestData {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void saveData() {
|
||||||
|
try {
|
||||||
|
File f = ForgeProps.getFile(NewConstants.QUEST.XMLDATA);
|
||||||
|
BufferedOutputStream bout = new BufferedOutputStream(new FileOutputStream(f));
|
||||||
|
GZIPOutputStream zout = new GZIPOutputStream(bout);
|
||||||
|
|
||||||
|
XStream xStream = new XStream();
|
||||||
|
xStream.toXML(this, zout);
|
||||||
|
|
||||||
|
zout.flush();
|
||||||
|
zout.close();
|
||||||
|
} catch (Exception ex) {
|
||||||
|
ErrorViewer.showError(ex, "Error saving Quest Data");
|
||||||
|
throw new RuntimeException(ex);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@SuppressWarnings({"deprecation"})
|
||||||
private static QuestData convertSaveFormat() {
|
private static QuestData convertSaveFormat() {
|
||||||
forge.QuestData oldData = forge.QuestData.loadData();
|
forge.QuestData oldData = forge.QuestData.loadData();
|
||||||
QuestData newData = new QuestData();
|
QuestData newData = new QuestData();
|
||||||
@@ -233,7 +260,7 @@ public class QuestData {
|
|||||||
|
|
||||||
newData.difficulty = oldData.getDifficulty();
|
newData.difficulty = oldData.getDifficulty();
|
||||||
newData.diffIndex = oldData.getDiffIndex();
|
newData.diffIndex = oldData.getDiffIndex();
|
||||||
newData.rankIndex = oldData.getWin()/newData.qdPrefs.getWinsForRankIncrease(newData.diffIndex);
|
newData.rankIndex = oldData.getWin() / newData.preferences.getWinsForRankIncrease(newData.diffIndex);
|
||||||
|
|
||||||
newData.win = oldData.getWin();
|
newData.win = oldData.getWin();
|
||||||
newData.lost = oldData.getLost();
|
newData.lost = oldData.getLost();
|
||||||
@@ -259,46 +286,47 @@ public class QuestData {
|
|||||||
newData.availableQuests = oldData.getAvailableQuests();
|
newData.availableQuests = oldData.getAvailableQuests();
|
||||||
newData.completedQuests = oldData.getCompletedQuests();
|
newData.completedQuests = oldData.getCompletedQuests();
|
||||||
|
|
||||||
newData.pets = new ArrayList<QuestPetAbstract>();
|
|
||||||
QuestPetAbstract newPet;
|
QuestPetAbstract newPet;
|
||||||
|
|
||||||
if(oldData.getBirdPetLevel() > 0){
|
if (oldData.getBirdPetLevel() > 0) {
|
||||||
newPet = new QuestPetBird();
|
newPet = new QuestPetBird();
|
||||||
newPet.setLevel(oldData.getBirdPetLevel());
|
newPet.setLevel(oldData.getBirdPetLevel());
|
||||||
newData.pets.add(newPet);
|
newData.petManager.addPet(newPet);
|
||||||
}
|
}
|
||||||
if(oldData.getHoundPetLevel() > 0){
|
if (oldData.getHoundPetLevel() > 0) {
|
||||||
newPet = new QuestPetHound();
|
newPet = new QuestPetHound();
|
||||||
newPet.setLevel(oldData.getHoundPetLevel());
|
newPet.setLevel(oldData.getHoundPetLevel());
|
||||||
newData.pets.add(newPet);
|
newData.petManager.addPet(newPet);
|
||||||
}
|
}
|
||||||
if(oldData.getWolfPetLevel() > 0){
|
if (oldData.getWolfPetLevel() > 0) {
|
||||||
newPet = new QuestPetWolf();
|
newPet = new QuestPetWolf();
|
||||||
newPet.setLevel(oldData.getWolfPetLevel());
|
newPet.setLevel(oldData.getWolfPetLevel());
|
||||||
newData.pets.add(newPet);
|
newData.petManager.addPet(newPet);
|
||||||
}
|
}
|
||||||
if(oldData.getCrocPetLevel() > 0){
|
if (oldData.getCrocPetLevel() > 0) {
|
||||||
newPet = new QuestPetCrocodile();
|
newPet = new QuestPetCrocodile();
|
||||||
newPet.setLevel(oldData.getCrocPetLevel());
|
newPet.setLevel(oldData.getCrocPetLevel());
|
||||||
newData.pets.add(newPet);
|
newData.petManager.addPet(newPet);
|
||||||
}
|
}
|
||||||
if(oldData.getPlantLevel() > 0){
|
if (oldData.getPlantLevel() > 0) {
|
||||||
newPet = new QuestPetPlant();
|
newPet = new QuestPetPlant();
|
||||||
newPet.setLevel(oldData.getPlantLevel());
|
newPet.setLevel(oldData.getPlantLevel());
|
||||||
newData.pets.add(newPet);
|
newData.petManager.getPlant().setLevel(oldData.getPlantLevel());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
newData.getPetManager().setSelectedPet(null);
|
||||||
|
|
||||||
return newData;
|
return newData;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//returns Strings of the card names
|
//returns Strings of the card names
|
||||||
public ArrayList<String> getCardpool() {
|
public List<String> getCardpool() {
|
||||||
//make a copy so the internal ArrrayList cannot be changed externally
|
//make a copy so the internal ArrrayList cannot be changed externally
|
||||||
return new ArrayList<String>(cardPool);
|
return new ArrayList<String>(cardPool);
|
||||||
}
|
}
|
||||||
|
|
||||||
public ArrayList<String> getShopList() {
|
public List<String> getShopList() {
|
||||||
if (shopList != null) {
|
if (shopList != null) {
|
||||||
return new ArrayList<String>(shopList);
|
return new ArrayList<String>(shopList);
|
||||||
}
|
}
|
||||||
@@ -307,12 +335,12 @@ public class QuestData {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setShopList(ArrayList<String> list) {
|
public void setShopList(List<String> list) {
|
||||||
shopList = list;
|
shopList = list;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public ArrayList<Integer> getAvailableQuests() {
|
public List<Integer> getAvailableQuests() {
|
||||||
if (availableQuests != null) {
|
if (availableQuests != null) {
|
||||||
return new ArrayList<Integer>(availableQuests);
|
return new ArrayList<Integer>(availableQuests);
|
||||||
}
|
}
|
||||||
@@ -321,7 +349,7 @@ public class QuestData {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setAvailableQuests(ArrayList<Integer> list) {
|
public void setAvailableQuests(List<Integer> list) {
|
||||||
availableQuests = list;
|
availableQuests = list;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -329,7 +357,7 @@ public class QuestData {
|
|||||||
availableQuests.clear();
|
availableQuests.clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
public ArrayList<Integer> getCompletedQuests() {
|
public List<Integer> getCompletedQuests() {
|
||||||
if (completedQuests != null) {
|
if (completedQuests != null) {
|
||||||
return new ArrayList<Integer>(completedQuests);
|
return new ArrayList<Integer>(completedQuests);
|
||||||
}
|
}
|
||||||
@@ -338,7 +366,7 @@ public class QuestData {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setCompletedQuests(ArrayList<Integer> list) {
|
public void setCompletedQuests(List<Integer> list) {
|
||||||
completedQuests = list;
|
completedQuests = list;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -347,8 +375,6 @@ public class QuestData {
|
|||||||
shopList.clear();
|
shopList.clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
//rename - removeDeck, addDeck
|
|
||||||
//copy - addDeck
|
|
||||||
|
|
||||||
public void removeDeck(String deckName) {
|
public void removeDeck(String deckName) {
|
||||||
myDecks.remove(deckName);
|
myDecks.remove(deckName);
|
||||||
@@ -416,18 +442,18 @@ public class QuestData {
|
|||||||
|
|
||||||
//returns human player decks
|
//returns human player decks
|
||||||
//returns ArrayList of String deck names
|
//returns ArrayList of String deck names
|
||||||
public ArrayList<String> getDeckNames() {
|
public List<String> getDeckNames() {
|
||||||
return getDeckNames_String(myDecks);
|
return getDeckNames_String(myDecks);
|
||||||
}//getDecks()
|
}
|
||||||
|
|
||||||
//returns AI computer decks
|
//returns AI computer decks
|
||||||
//returns ArrayList of String deck names
|
//returns ArrayList of String deck names
|
||||||
public ArrayList<String> ai_getDeckNames() {
|
public List<String> ai_getDeckNames() {
|
||||||
return getDeckNames_String(aiDecks);
|
return getDeckNames_String(aiDecks);
|
||||||
}
|
}
|
||||||
|
|
||||||
//returns ArrayList of Deck String names
|
//returns ArrayList of Deck String names
|
||||||
private ArrayList<String> getDeckNames_String(Map<String, Deck> map) {
|
private List<String> getDeckNames_String(Map<String, Deck> map) {
|
||||||
ArrayList<String> out = new ArrayList<String>();
|
ArrayList<String> out = new ArrayList<String>();
|
||||||
|
|
||||||
Iterator<String> it = map.keySet().iterator();
|
Iterator<String> it = map.keySet().iterator();
|
||||||
@@ -439,16 +465,16 @@ public class QuestData {
|
|||||||
}
|
}
|
||||||
|
|
||||||
//get new cards that were added to your card pool by addCards()
|
//get new cards that were added to your card pool by addCards()
|
||||||
public ArrayList<String> getAddedCards() {
|
public List<String> getAddedCards() {
|
||||||
return new ArrayList<String>(newCardList);
|
return new ArrayList<String>(newCardList);
|
||||||
}
|
}
|
||||||
|
|
||||||
//adds 11 cards, to the current card pool
|
//adds 11 cards, to the current card pool
|
||||||
//(I chose 11 cards instead of 15 in order to make things more challenging)
|
//(I chose 11 cards instead of 15 in order to make things more challenging)
|
||||||
public void addCards() {
|
public void addCards() {
|
||||||
int nCommon = qdPrefs.getNumCommon();
|
int nCommon = preferences.getNumCommon();
|
||||||
int nUncommon = qdPrefs.getNumUncommon();
|
int nUncommon = preferences.getNumUncommon();
|
||||||
int nRare = qdPrefs.getNumRare();
|
int nRare = preferences.getNumRare();
|
||||||
|
|
||||||
ArrayList<String> newCards = new ArrayList<String>();
|
ArrayList<String> newCards = new ArrayList<String>();
|
||||||
newCards.addAll(boosterPack.getCommon(nCommon));
|
newCards.addAll(boosterPack.getCommon(nCommon));
|
||||||
@@ -461,18 +487,6 @@ public class QuestData {
|
|||||||
//getAddedCards() uses newCardList
|
//getAddedCards() uses newCardList
|
||||||
newCardList = newCards;
|
newCardList = newCards;
|
||||||
|
|
||||||
}//addCards()
|
|
||||||
|
|
||||||
public ArrayList<String> getRandomRares(int n, int colorIndex) {
|
|
||||||
ArrayList<String> newCards = new ArrayList<String>();
|
|
||||||
newCards.addAll(boosterPack.getRare(n, colorIndex));
|
|
||||||
|
|
||||||
/*
|
|
||||||
for(String s : newCards ) {
|
|
||||||
Card c = AllZone.CardFactory.getCard(s, AllZone.HumanPlayer);
|
|
||||||
list.add(c);
|
|
||||||
}*/
|
|
||||||
return newCards;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void addRandomRare(int n) {
|
public void addRandomRare(int n) {
|
||||||
@@ -541,49 +555,49 @@ public class QuestData {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public long getCreditsToAdd(QuestMatchState matchState) {
|
public long getCreditsToAdd(QuestMatchState matchState) {
|
||||||
long creds = (long) (qdPrefs.getMatchRewardBase() + (qdPrefs.getMatchRewardTotalWins() * win));
|
long creds = (long) (preferences.getMatchRewardBase() + (preferences.getMatchRewardTotalWins() * win));
|
||||||
String[] wins = matchState.getWinMethods();
|
String[] wins = matchState.getWinMethods();
|
||||||
int[] winTurns = matchState.getWinTurns();
|
int[] winTurns = matchState.getWinTurns();
|
||||||
boolean[] mulliganedToZero = matchState.getMulliganedToZero();
|
boolean[] mulliganedToZero = matchState.getMulliganedToZero();
|
||||||
|
|
||||||
if (matchState.getLose() == 0) {
|
if (matchState.getLose() == 0) {
|
||||||
creds += qdPrefs.getMatchRewardNoLosses();
|
creds += preferences.getMatchRewardNoLosses();
|
||||||
}
|
}
|
||||||
|
|
||||||
for (String s : wins) {
|
for (String s : wins) {
|
||||||
if (s != null) {
|
if (s != null) {
|
||||||
if (s.equals("Poison Counters")) {
|
if (s.equals("Poison Counters")) {
|
||||||
creds += qdPrefs.getMatchRewardPoisonWinBonus();
|
creds += preferences.getMatchRewardPoisonWinBonus();
|
||||||
}
|
}
|
||||||
else if (s.equals("Milled")) {
|
else if (s.equals("Milled")) {
|
||||||
creds += qdPrefs.getMatchRewardMilledWinBonus();
|
creds += preferences.getMatchRewardMilledWinBonus();
|
||||||
}
|
}
|
||||||
else if (s.equals("Battle of Wits") || s.equals("Felidar Sovereign") || s.equals("Helix Pinnacle") ||
|
else if (s.equals("Battle of Wits") || s.equals("Felidar Sovereign") || s.equals("Helix Pinnacle") ||
|
||||||
s.equals("Epic Struggle") || s.equals("Door to Nothingness") || s.equals("Barren Glory") ||
|
s.equals("Epic Struggle") || s.equals("Door to Nothingness") || s.equals("Barren Glory") ||
|
||||||
s.equals("Near-Death Experience") || s.equals("Mortal Combat") || s.equals("Test of Endurance")) {
|
s.equals("Near-Death Experience") || s.equals("Mortal Combat") || s.equals("Test of Endurance")) {
|
||||||
creds += qdPrefs.getMatchRewardAltWinBonus();
|
creds += preferences.getMatchRewardAltWinBonus();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
for (int i : winTurns) {
|
for (int i : winTurns) {
|
||||||
if (i == 1) {
|
if (i == 1) {
|
||||||
creds += qdPrefs.getMatchRewardWinFirst();
|
creds += preferences.getMatchRewardWinFirst();
|
||||||
}
|
}
|
||||||
else if (i <= 5) {
|
else if (i <= 5) {
|
||||||
creds += qdPrefs.getMatchRewardWinByFifth();
|
creds += preferences.getMatchRewardWinByFifth();
|
||||||
}
|
}
|
||||||
else if (i <= 10) {
|
else if (i <= 10) {
|
||||||
creds += qdPrefs.getMatchRewardWinByTen();
|
creds += preferences.getMatchRewardWinByTen();
|
||||||
}
|
}
|
||||||
else if (i <= 15) {
|
else if (i <= 15) {
|
||||||
creds += qdPrefs.getMatchRewardWinByFifteen();
|
creds += preferences.getMatchRewardWinByFifteen();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
for (boolean b : mulliganedToZero) {
|
for (boolean b : mulliganedToZero) {
|
||||||
if (b == true) {
|
if (b == true) {
|
||||||
creds += qdPrefs.getMatchMullToZero();
|
creds += preferences.getMatchMullToZero();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -603,7 +617,7 @@ public class QuestData {
|
|||||||
}
|
}
|
||||||
|
|
||||||
//gets all of the cards that are in the cardpool
|
//gets all of the cards that are in the cardpool
|
||||||
public ArrayList<String> getCards() {
|
public List<String> getCards() {
|
||||||
//copy CardList in order to keep private variables private
|
//copy CardList in order to keep private variables private
|
||||||
//if we just return cardPool, it could be changed externally
|
//if we just return cardPool, it could be changed externally
|
||||||
return new ArrayList<String>(cardPool);
|
return new ArrayList<String>(cardPool);
|
||||||
@@ -613,7 +627,7 @@ public class QuestData {
|
|||||||
public int getTotalNumberOfGames(int difficulty) {
|
public int getTotalNumberOfGames(int difficulty) {
|
||||||
//-2 because you start a level 1, and the last level is secret
|
//-2 because you start a level 1, and the last level is secret
|
||||||
int numberLevels = rankArray.length - 2;
|
int numberLevels = rankArray.length - 2;
|
||||||
int nMatches = qdPrefs.getWinsForRankIncrease(difficulty);
|
int nMatches = preferences.getWinsForRankIncrease(difficulty);
|
||||||
|
|
||||||
return numberLevels * nMatches;
|
return numberLevels * nMatches;
|
||||||
}
|
}
|
||||||
@@ -622,10 +636,10 @@ public class QuestData {
|
|||||||
public void addWin() {
|
public void addWin() {
|
||||||
win++;
|
win++;
|
||||||
|
|
||||||
if (win % qdPrefs.getWinsForRankIncrease(diffIndex) == 0) {
|
if (win % preferences.getWinsForRankIncrease(diffIndex) == 0) {
|
||||||
rankIndex++;
|
rankIndex++;
|
||||||
}
|
}
|
||||||
}//addWin()
|
}
|
||||||
|
|
||||||
public void addLost() {
|
public void addLost() {
|
||||||
lost++;
|
lost++;
|
||||||
@@ -641,15 +655,6 @@ public class QuestData {
|
|||||||
|
|
||||||
//********************FANTASY STUFF START***********************
|
//********************FANTASY STUFF START***********************
|
||||||
|
|
||||||
|
|
||||||
public void setSelectedPet(QuestPetAbstract pet) {
|
|
||||||
selectedPet = pet;
|
|
||||||
}
|
|
||||||
|
|
||||||
public QuestPetAbstract getSelectedPet() {
|
|
||||||
return selectedPet;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setLife(int n) {
|
public void setLife(int n) {
|
||||||
life = n;
|
life = n;
|
||||||
}
|
}
|
||||||
@@ -726,6 +731,10 @@ public class QuestData {
|
|||||||
return mode;
|
return mode;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//should be called first, because the difficultly won't change
|
||||||
|
public String getDifficulty() {
|
||||||
|
return difficulty;
|
||||||
|
}
|
||||||
|
|
||||||
public int getDifficultyIndex() {
|
public int getDifficultyIndex() {
|
||||||
return diffIndex;
|
return diffIndex;
|
||||||
@@ -733,14 +742,26 @@ public class QuestData {
|
|||||||
|
|
||||||
public void setDifficulty(int i) {
|
public void setDifficulty(int i) {
|
||||||
diffIndex = i;
|
diffIndex = i;
|
||||||
difficulty = qdPrefs.getDifficulty(i);
|
difficulty = preferences.getDifficulty(i);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setDifficultyIndex() {
|
||||||
|
String[] diffStr = preferences.getDifficulty();
|
||||||
|
for (int i = 0; i < diffStr.length; i++) {
|
||||||
|
if (difficulty.equals(diffStr[i])) {
|
||||||
|
diffIndex = i;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public String[] getDifficultyChoices() {
|
||||||
|
return preferences.getDifficulty();
|
||||||
|
}
|
||||||
|
|
||||||
public String getRank() {
|
public String getRank() {
|
||||||
//is rankIndex too big?
|
//is rankIndex too big?
|
||||||
if (rankIndex == rankArray.length) {
|
if (rankIndex >= rankArray.length) {
|
||||||
rankIndex--;
|
rankIndex = rankArray.length - 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
return rankArray[rankIndex];
|
return rankArray[rankIndex];
|
||||||
@@ -748,7 +769,7 @@ public class QuestData {
|
|||||||
|
|
||||||
//add cards after a certain number of wins or losses
|
//add cards after a certain number of wins or losses
|
||||||
public boolean shouldAddCards(boolean didWin) {
|
public boolean shouldAddCards(boolean didWin) {
|
||||||
int n = qdPrefs.getWinsForBooster(diffIndex);
|
int n = preferences.getWinsForBooster(diffIndex);
|
||||||
|
|
||||||
if (didWin) {
|
if (didWin) {
|
||||||
return getWin() % n == 0;
|
return getWin() % n == 0;
|
||||||
@@ -777,26 +798,10 @@ public class QuestData {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public boolean hasSaveFile() {
|
public boolean hasSaveFile() {
|
||||||
return ForgeProps.getFile(NewConstants.QUEST.DATA).exists();
|
return ForgeProps.getFile(NewConstants.QUEST.DATA).exists()||
|
||||||
|
ForgeProps.getFile(NewConstants.QUEST.XMLDATA).exists();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void saveData() {
|
|
||||||
try {
|
|
||||||
File f = ForgeProps.getFile(NewConstants.QUEST.XMLDATA);
|
|
||||||
BufferedOutputStream bout = new BufferedOutputStream(new FileOutputStream(f));
|
|
||||||
GZIPOutputStream zout = new GZIPOutputStream(bout);
|
|
||||||
|
|
||||||
XStream xStream = new XStream();
|
|
||||||
xStream.toXML(this, zout);
|
|
||||||
|
|
||||||
zout.flush();
|
|
||||||
zout.close();
|
|
||||||
} catch (Exception ex) {
|
|
||||||
ErrorViewer.showError(ex, "Error saving Quest Data");
|
|
||||||
throw new RuntimeException(ex);
|
|
||||||
}
|
|
||||||
}//saveData()
|
|
||||||
|
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
QuestData q = new QuestData();
|
QuestData q = new QuestData();
|
||||||
for (int i = 0; i < 20; i++) {
|
for (int i = 0; i < 20; i++) {
|
||||||
@@ -811,5 +816,21 @@ public class QuestData {
|
|||||||
System.exit(1);
|
System.exit(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public QuestPetManager getPetManager() {
|
||||||
|
return petManager;
|
||||||
|
}
|
||||||
|
|
||||||
|
public QuestPreferences getQuestPreferences() {
|
||||||
|
return preferences;
|
||||||
|
}
|
||||||
|
|
||||||
|
//get new cards that were added to your card pool by addCards()
|
||||||
|
public void addToNewList(ArrayList<String> added) {
|
||||||
|
newCardList.addAll(added);
|
||||||
|
}
|
||||||
|
|
||||||
|
public Object readResolve() {
|
||||||
|
initTransients();
|
||||||
|
return this;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,11 +6,6 @@ import java.util.ArrayList;
|
|||||||
|
|
||||||
public class QuestUtil {
|
public class QuestUtil {
|
||||||
|
|
||||||
public static int getLife(QuestData qd)
|
|
||||||
{
|
|
||||||
return qd.getLife();
|
|
||||||
}
|
|
||||||
|
|
||||||
public static CardList getComputerCreatures(QuestData qd)
|
public static CardList getComputerCreatures(QuestData qd)
|
||||||
{
|
{
|
||||||
return new CardList();
|
return new CardList();
|
||||||
@@ -40,23 +35,13 @@ public class QuestUtil {
|
|||||||
{
|
{
|
||||||
CardList list = new CardList();
|
CardList list = new CardList();
|
||||||
|
|
||||||
if (qd.getSelectedPet() != null)
|
if (qd.getPetManager().shouldPetBeUsed()){
|
||||||
{
|
list.add(qd.getPetManager().getSelectedPet().getPetCard());
|
||||||
if (qd.getSelectedPet().equals("No Plant/Pet"))
|
}
|
||||||
return list;
|
|
||||||
|
|
||||||
if (qd.getSelectedPet().equals("Wolf") && qd.getWolfPetLevel() > 0)
|
if (qd.getPetManager().shouldPlantBeUsed()){
|
||||||
list.add(getWolfPetToken(qd.getWolfPetLevel()));
|
list.add(qd.getPetManager().getPlant().getPetCard());
|
||||||
else if (qd.getSelectedPet().equals("Croc") && qd.getCrocPetLevel() > 0)
|
}
|
||||||
list.add(getCrocPetToken(qd.getCrocPetLevel()));
|
|
||||||
else if (qd.getSelectedPet().equals("Bird") && qd.getBirdPetLevel() > 0)
|
|
||||||
list.add(getBirdPetToken(qd.getBirdPetLevel()));
|
|
||||||
else if (qd.getSelectedPet().equals("Hound") && qd.getHoundPetLevel() > 0)
|
|
||||||
list.add(getHoundPetToken(qd.getHoundPetLevel()));
|
|
||||||
}
|
|
||||||
|
|
||||||
if (qd.getPlantLevel() > 0)
|
|
||||||
list.add(getPlantToken(qd.getPlantLevel()));
|
|
||||||
|
|
||||||
return list;
|
return list;
|
||||||
}
|
}
|
||||||
@@ -71,356 +56,6 @@ public class QuestUtil {
|
|||||||
return list;
|
return list;
|
||||||
}
|
}
|
||||||
|
|
||||||
//makeToken(String name, String imageName, Card source, String manaCost, String[] types, int baseAttack, int baseDefense, String[] intrinsicKeywords) {
|
|
||||||
|
|
||||||
public static Card getPlantToken(int level)
|
|
||||||
{
|
|
||||||
String imageName = "";
|
|
||||||
int baseAttack = 0;
|
|
||||||
int baseDefense = 0;
|
|
||||||
|
|
||||||
String keyword = "";
|
|
||||||
|
|
||||||
if (level == 1)
|
|
||||||
{
|
|
||||||
imageName = "G 0 1 Plant Wall";
|
|
||||||
baseDefense = 1;
|
|
||||||
}
|
|
||||||
else if (level == 2)
|
|
||||||
{
|
|
||||||
imageName = "G 0 2 Plant Wall";
|
|
||||||
baseDefense = 2;
|
|
||||||
}
|
|
||||||
else if (level == 3)
|
|
||||||
{
|
|
||||||
imageName = "G 0 3 Plant Wall";
|
|
||||||
baseDefense = 3;
|
|
||||||
}
|
|
||||||
else if (level == 4)
|
|
||||||
{
|
|
||||||
imageName = "G 1 3 Plant Wall";
|
|
||||||
baseDefense = 3;
|
|
||||||
baseAttack = 1;
|
|
||||||
}
|
|
||||||
else if (level == 5)
|
|
||||||
{
|
|
||||||
imageName = "G 1 3 Plant Wall Deathtouch";
|
|
||||||
baseDefense = 3;
|
|
||||||
baseAttack = 1;
|
|
||||||
keyword = "Deathtouch";
|
|
||||||
}
|
|
||||||
|
|
||||||
else if (level == 6)
|
|
||||||
{
|
|
||||||
imageName = "G 1 4 Plant Wall";
|
|
||||||
baseDefense = 4;
|
|
||||||
baseAttack = 1;
|
|
||||||
keyword = "Deathtouch";
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Card c = new Card();
|
|
||||||
c.setName("Plant Wall");
|
|
||||||
|
|
||||||
c.setImageName(imageName);
|
|
||||||
|
|
||||||
c.setController(AllZone.HumanPlayer);
|
|
||||||
c.setOwner(AllZone.HumanPlayer);
|
|
||||||
|
|
||||||
//c.setManaCost("G");
|
|
||||||
c.addColor("G");
|
|
||||||
c.setToken(true);
|
|
||||||
|
|
||||||
c.addType("Creature");
|
|
||||||
c.addType("Plant");
|
|
||||||
c.addType("Wall");
|
|
||||||
|
|
||||||
c.addIntrinsicKeyword("Defender");
|
|
||||||
if (!keyword.equals(""))
|
|
||||||
c.addIntrinsicKeyword("Deathtouch");
|
|
||||||
|
|
||||||
c.setBaseAttack(baseAttack);
|
|
||||||
c.setBaseDefense(baseDefense);
|
|
||||||
|
|
||||||
if (level == 6)
|
|
||||||
{
|
|
||||||
final Card crd = c;
|
|
||||||
Ability_Cost abCost = new Ability_Cost("T", crd.getName(), true);
|
|
||||||
final SpellAbility ability = new Ability_Activated(crd, abCost, null){
|
|
||||||
private static final long serialVersionUID = 7546242087593613719L;
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean canPlayAI() {
|
|
||||||
return AllZone.Phase.getPhase().equals(Constant.Phase.Main2);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void resolve() {
|
|
||||||
crd.getController().gainLife(1, crd);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
c.addSpellAbility(ability);
|
|
||||||
ability.setDescription("tap: You gain 1 life.");
|
|
||||||
|
|
||||||
StringBuilder sb = new StringBuilder();
|
|
||||||
sb.append("Plant Wall - ").append(c.getController()).append(" gains 1 life.");
|
|
||||||
ability.setStackDescription(sb.toString());
|
|
||||||
|
|
||||||
c.setText("tap: You gain 1 life.");
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
return c;
|
|
||||||
}//getPlantToken
|
|
||||||
|
|
||||||
public static Card getWolfPetToken(int level)
|
|
||||||
{
|
|
||||||
String imageName = "";
|
|
||||||
int baseAttack = 0;
|
|
||||||
int baseDefense = 0;
|
|
||||||
|
|
||||||
if (level == 1)
|
|
||||||
{
|
|
||||||
imageName = "G 1 1 Wolf Pet";
|
|
||||||
baseDefense = 1;
|
|
||||||
baseAttack = 1;
|
|
||||||
}
|
|
||||||
else if (level == 2)
|
|
||||||
{
|
|
||||||
imageName = "G 1 2 Wolf Pet";
|
|
||||||
baseDefense = 2;
|
|
||||||
baseAttack = 1;
|
|
||||||
}
|
|
||||||
else if (level == 3)
|
|
||||||
{
|
|
||||||
imageName = "G 2 2 Wolf Pet";
|
|
||||||
baseDefense = 2;
|
|
||||||
baseAttack = 2;
|
|
||||||
}
|
|
||||||
else if (level == 4)
|
|
||||||
{
|
|
||||||
imageName = "G 2 2 Wolf Pet Flanking";
|
|
||||||
baseDefense = 2;
|
|
||||||
baseAttack = 2;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
Card c = new Card();
|
|
||||||
c.setName("Wolf Pet");
|
|
||||||
|
|
||||||
c.setImageName(imageName);
|
|
||||||
|
|
||||||
c.setController(AllZone.HumanPlayer);
|
|
||||||
c.setOwner(AllZone.HumanPlayer);
|
|
||||||
|
|
||||||
//c.setManaCost("G");
|
|
||||||
c.addColor("G");
|
|
||||||
c.setToken(true);
|
|
||||||
|
|
||||||
c.addType("Creature");
|
|
||||||
c.addType("Wolf");
|
|
||||||
c.addType("Pet");
|
|
||||||
|
|
||||||
if (level >= 4)
|
|
||||||
c.addIntrinsicKeyword("Flanking");
|
|
||||||
|
|
||||||
c.setBaseAttack(baseAttack);
|
|
||||||
c.setBaseDefense(baseDefense);
|
|
||||||
|
|
||||||
return c;
|
|
||||||
}//getWolfPetToken
|
|
||||||
|
|
||||||
public static Card getCrocPetToken(int level)
|
|
||||||
{
|
|
||||||
String imageName = "";
|
|
||||||
int baseAttack = 0;
|
|
||||||
int baseDefense = 0;
|
|
||||||
|
|
||||||
if (level == 1)
|
|
||||||
{
|
|
||||||
imageName = "B 1 1 Crocodile Pet";
|
|
||||||
baseDefense = 1;
|
|
||||||
baseAttack = 1;
|
|
||||||
}
|
|
||||||
else if (level == 2)
|
|
||||||
{
|
|
||||||
imageName = "B 2 1 Crocodile Pet";
|
|
||||||
baseDefense = 1;
|
|
||||||
baseAttack = 2;
|
|
||||||
}
|
|
||||||
else if (level == 3)
|
|
||||||
{
|
|
||||||
imageName = "B 3 1 Crocodile Pet";
|
|
||||||
baseDefense = 1;
|
|
||||||
baseAttack = 3;
|
|
||||||
}
|
|
||||||
else if (level == 4)
|
|
||||||
{
|
|
||||||
imageName = "B 3 1 Crocodile Pet Swampwalk";
|
|
||||||
baseDefense = 1;
|
|
||||||
baseAttack = 3;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
Card c = new Card();
|
|
||||||
c.setName("Crocodile Pet");
|
|
||||||
|
|
||||||
c.setImageName(imageName);
|
|
||||||
|
|
||||||
c.setController(AllZone.HumanPlayer);
|
|
||||||
c.setOwner(AllZone.HumanPlayer);
|
|
||||||
|
|
||||||
//c.setManaCost("B");
|
|
||||||
c.addColor("B");
|
|
||||||
c.setToken(true);
|
|
||||||
|
|
||||||
c.addType("Creature");
|
|
||||||
c.addType("Crocodile");
|
|
||||||
c.addType("Pet");
|
|
||||||
|
|
||||||
if (level >= 4)
|
|
||||||
c.addIntrinsicKeyword("Swampwalk");
|
|
||||||
|
|
||||||
c.setBaseAttack(baseAttack);
|
|
||||||
c.setBaseDefense(baseDefense);
|
|
||||||
|
|
||||||
return c;
|
|
||||||
}//getCrocPetToken
|
|
||||||
|
|
||||||
public static Card getBirdPetToken(int level)
|
|
||||||
{
|
|
||||||
String imageName = "";
|
|
||||||
int baseAttack = 0;
|
|
||||||
int baseDefense = 0;
|
|
||||||
|
|
||||||
if (level == 1)
|
|
||||||
{
|
|
||||||
imageName = "W 0 1 Bird Pet";
|
|
||||||
baseDefense = 1;
|
|
||||||
baseAttack = 0;
|
|
||||||
}
|
|
||||||
else if (level == 2)
|
|
||||||
{
|
|
||||||
imageName = "W 1 1 Bird Pet";
|
|
||||||
baseDefense = 1;
|
|
||||||
baseAttack = 1;
|
|
||||||
}
|
|
||||||
else if (level == 3)
|
|
||||||
{
|
|
||||||
imageName = "W 2 1 Bird Pet";
|
|
||||||
baseDefense = 1;
|
|
||||||
baseAttack = 2;
|
|
||||||
}
|
|
||||||
else if (level == 4)
|
|
||||||
{
|
|
||||||
imageName = "W 2 1 Bird Pet First Strike";
|
|
||||||
baseDefense = 1;
|
|
||||||
baseAttack = 2;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
Card c = new Card();
|
|
||||||
c.setName("Bird Pet");
|
|
||||||
|
|
||||||
c.setImageName(imageName);
|
|
||||||
|
|
||||||
c.setController(AllZone.HumanPlayer);
|
|
||||||
c.setOwner(AllZone.HumanPlayer);
|
|
||||||
|
|
||||||
//c.setManaCost("W");
|
|
||||||
c.addColor("W");
|
|
||||||
c.setToken(true);
|
|
||||||
|
|
||||||
c.addType("Creature");
|
|
||||||
c.addType("Bird");
|
|
||||||
c.addType("Pet");
|
|
||||||
|
|
||||||
c.addIntrinsicKeyword("Flying");
|
|
||||||
|
|
||||||
if (level >= 4)
|
|
||||||
c.addIntrinsicKeyword("First Strike");
|
|
||||||
|
|
||||||
c.setBaseAttack(baseAttack);
|
|
||||||
c.setBaseDefense(baseDefense);
|
|
||||||
|
|
||||||
return c;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static Card getHoundPetToken(int level)
|
|
||||||
{
|
|
||||||
String imageName = "";
|
|
||||||
int baseAttack = 0;
|
|
||||||
int baseDefense = 0;
|
|
||||||
|
|
||||||
if (level == 1)
|
|
||||||
{
|
|
||||||
imageName = "R 1 1 Hound Pet";
|
|
||||||
baseDefense = 1;
|
|
||||||
baseAttack = 1;
|
|
||||||
}
|
|
||||||
else if (level == 2)
|
|
||||||
{
|
|
||||||
imageName = "R 1 1 Hound Pet Haste";
|
|
||||||
baseDefense = 1;
|
|
||||||
baseAttack = 1;
|
|
||||||
}
|
|
||||||
else if (level == 3)
|
|
||||||
{
|
|
||||||
imageName = "R 2 1 Hound Pet";
|
|
||||||
baseDefense = 1;
|
|
||||||
baseAttack = 2;
|
|
||||||
}
|
|
||||||
else if (level == 4)
|
|
||||||
{
|
|
||||||
imageName = "R 2 1 Hound Pet Alone";
|
|
||||||
baseDefense = 1;
|
|
||||||
baseAttack = 2;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
Card c = new Card();
|
|
||||||
c.setName("Hound Pet");
|
|
||||||
|
|
||||||
c.setImageName(imageName);
|
|
||||||
|
|
||||||
c.setController(AllZone.HumanPlayer);
|
|
||||||
c.setOwner(AllZone.HumanPlayer);
|
|
||||||
|
|
||||||
//c.setManaCost("R");
|
|
||||||
c.addColor("R");
|
|
||||||
c.setToken(true);
|
|
||||||
|
|
||||||
c.addType("Creature");
|
|
||||||
c.addType("Hound");
|
|
||||||
c.addType("Pet");
|
|
||||||
|
|
||||||
if (level >= 2)
|
|
||||||
c.addIntrinsicKeyword("Haste");
|
|
||||||
|
|
||||||
if (level >= 4)
|
|
||||||
c.addIntrinsicKeyword("Whenever this creature attacks alone, it gets +2/+0 until end of turn.");
|
|
||||||
|
|
||||||
c.setBaseAttack(baseAttack);
|
|
||||||
c.setBaseDefense(baseDefense);
|
|
||||||
|
|
||||||
return c;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static ArrayList<String> getPetNames(QuestData questData)
|
|
||||||
{
|
|
||||||
ArrayList<String> list = new ArrayList<String>();
|
|
||||||
if (questData.getWolfPetLevel() > 0)
|
|
||||||
list.add("Wolf");
|
|
||||||
if (questData.getCrocPetLevel() > 0)
|
|
||||||
list.add("Croc");
|
|
||||||
if (questData.getBirdPetLevel() > 0)
|
|
||||||
list.add("Bird");
|
|
||||||
if (questData.getHoundPetLevel() > 0)
|
|
||||||
list.add("Hound");
|
|
||||||
|
|
||||||
return list;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void setupQuest(Quest_Assignment qa)
|
public static void setupQuest(Quest_Assignment qa)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ package forge.quest.data.pet;
|
|||||||
|
|
||||||
import forge.Card;
|
import forge.Card;
|
||||||
|
|
||||||
public abstract class QuestPetAbstract {
|
public abstract class QuestPetAbstract implements Comparable{
|
||||||
int level;
|
int level;
|
||||||
private int maxLevel;
|
private int maxLevel;
|
||||||
private String name;
|
private String name;
|
||||||
@@ -55,4 +55,21 @@ public abstract class QuestPetAbstract {
|
|||||||
public void setLevel(int level){
|
public void setLevel(int level){
|
||||||
this.level = level;
|
this.level = level;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public String getDescription() {
|
||||||
|
return description;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getName() {
|
||||||
|
return name;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int compareTo(Object o) {
|
||||||
|
return name.compareTo(o.toString());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,17 +0,0 @@
|
|||||||
package forge.quest.data.pet;
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
public class QuestPetFactory {
|
|
||||||
static List<QuestPetAbstract> getAllPets(){
|
|
||||||
List<QuestPetAbstract> pets = new ArrayList<QuestPetAbstract>();
|
|
||||||
|
|
||||||
pets.add(new QuestPetWolf());
|
|
||||||
pets.add(new QuestPetCrocodile());
|
|
||||||
pets.add(new QuestPetBird());
|
|
||||||
pets.add(new QuestPetHound());
|
|
||||||
|
|
||||||
return pets;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
102
src/forge/quest/data/pet/QuestPetManager.java
Normal file
102
src/forge/quest/data/pet/QuestPetManager.java
Normal file
@@ -0,0 +1,102 @@
|
|||||||
|
package forge.quest.data.pet;
|
||||||
|
|
||||||
|
import java.util.*;
|
||||||
|
|
||||||
|
public class QuestPetManager{
|
||||||
|
|
||||||
|
public Map<String, QuestPetAbstract> pets = new HashMap<String, QuestPetAbstract>();
|
||||||
|
public QuestPetAbstract selectedPet;
|
||||||
|
public QuestPetAbstract plant;
|
||||||
|
public boolean usePlant;
|
||||||
|
|
||||||
|
public QuestPetManager() {
|
||||||
|
plant = new QuestPetPlant();
|
||||||
|
for (QuestPetAbstract pet : getAllPets()) {
|
||||||
|
addPet(pet);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setSelectedPet(String pet) {
|
||||||
|
selectedPet = (pet == null) ? null : getPet(pet);
|
||||||
|
}
|
||||||
|
|
||||||
|
public QuestPetAbstract getSelectedPet() {
|
||||||
|
return selectedPet;
|
||||||
|
}
|
||||||
|
|
||||||
|
public QuestPetAbstract getPlant() {
|
||||||
|
return plant;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void addPlantLevel() {
|
||||||
|
if (plant == null) {
|
||||||
|
plant = new QuestPetPlant();
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
plant.incrementLevel();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public QuestPetAbstract getPet(String petName) {
|
||||||
|
|
||||||
|
return pets.get(petName);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void addPet(QuestPetAbstract newPet) {
|
||||||
|
pets.put(newPet.getName(), newPet);
|
||||||
|
}
|
||||||
|
|
||||||
|
public Set<String> getPetNames() {
|
||||||
|
return pets.keySet();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void addPetLevel(String s) {
|
||||||
|
pets.get(s).incrementLevel();
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean shouldPlantBeUsed() {
|
||||||
|
return usePlant;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean shouldPetBeUsed() {
|
||||||
|
return selectedPet != null;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static Set<QuestPetAbstract> getAllPets() {
|
||||||
|
SortedSet<QuestPetAbstract> set = new TreeSet<QuestPetAbstract>();
|
||||||
|
|
||||||
|
set.add(new QuestPetBird());
|
||||||
|
set.add(new QuestPetCrocodile());
|
||||||
|
set.add(new QuestPetHound());
|
||||||
|
set.add(new QuestPetWolf());
|
||||||
|
|
||||||
|
return set;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public Set<String> getAvailablePetNames() {
|
||||||
|
SortedSet<String> set = new TreeSet<String>();
|
||||||
|
for (Map.Entry<String, QuestPetAbstract> pet : pets.entrySet()) {
|
||||||
|
if (pet.getValue().getLevel() > 0){
|
||||||
|
set.add(pet.getKey());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return set;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public Collection<QuestPetAbstract> getPets() {
|
||||||
|
return pets.values();
|
||||||
|
}
|
||||||
|
|
||||||
|
//Magic to support added pet types when reading saves.
|
||||||
|
private Object readResolve() {
|
||||||
|
for (QuestPetAbstract pet : getAllPets()) {
|
||||||
|
if (!pets.containsKey(pet.getName())) {
|
||||||
|
addPet(pet);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -2,7 +2,6 @@ package forge.quest.gui;
|
|||||||
|
|
||||||
import forge.AllZone;
|
import forge.AllZone;
|
||||||
import forge.Gui_NewGame;
|
import forge.Gui_NewGame;
|
||||||
import forge.QuestData;
|
|
||||||
import forge.gui.GuiUtils;
|
import forge.gui.GuiUtils;
|
||||||
import forge.quest.gui.bazaar.QuestBazaarPanel;
|
import forge.quest.gui.bazaar.QuestBazaarPanel;
|
||||||
import forge.quest.gui.main.QuestMainPanel;
|
import forge.quest.gui.main.QuestMainPanel;
|
||||||
@@ -24,7 +23,6 @@ public class QuestFrame extends JFrame {
|
|||||||
|
|
||||||
public static final String MAIN_PANEL = "Main";
|
public static final String MAIN_PANEL = "Main";
|
||||||
public static final String BAZAAR_PANEL = "Bazaar";
|
public static final String BAZAAR_PANEL = "Bazaar";
|
||||||
private static final String QUESTS_PANEL = "Quests";
|
|
||||||
|
|
||||||
Map<String, QuestAbstractPanel> subPanelMap = new HashMap<String, QuestAbstractPanel>();
|
Map<String, QuestAbstractPanel> subPanelMap = new HashMap<String, QuestAbstractPanel>();
|
||||||
|
|
||||||
@@ -79,7 +77,7 @@ public class QuestFrame extends JFrame {
|
|||||||
|
|
||||||
|
|
||||||
public void returnToMainMenu() {
|
public void returnToMainMenu() {
|
||||||
QuestData.saveData(AllZone.QuestData);
|
AllZone.QuestData.saveData();
|
||||||
(new Gui_NewGame()).setVisible(true) ;
|
(new Gui_NewGame()).setVisible(true) ;
|
||||||
this.dispose();
|
this.dispose();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
package forge.quest.gui.bazaar;
|
package forge.quest.gui.bazaar;
|
||||||
|
|
||||||
import forge.AllZone;
|
import forge.AllZone;
|
||||||
import forge.QuestData;
|
|
||||||
import forge.gui.GuiUtils;
|
import forge.gui.GuiUtils;
|
||||||
|
|
||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
@@ -72,7 +71,7 @@ public abstract class QuestAbstractBazaarItem {
|
|||||||
public void actionPerformed(ActionEvent e) {
|
public void actionPerformed(ActionEvent e) {
|
||||||
AllZone.QuestData.subtractCredits(price);
|
AllZone.QuestData.subtractCredits(price);
|
||||||
purchaseItem();
|
purchaseItem();
|
||||||
QuestData.saveData(AllZone.QuestData);
|
AllZone.QuestData.saveData();
|
||||||
QuestBazaarPanel.refreshLastInstance();
|
QuestBazaarPanel.refreshLastInstance();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
package forge.quest.gui.bazaar;
|
package forge.quest.gui.bazaar;
|
||||||
|
|
||||||
import forge.AllZone;
|
import forge.AllZone;
|
||||||
import forge.QuestData;
|
|
||||||
import forge.gui.GuiUtils;
|
import forge.gui.GuiUtils;
|
||||||
import forge.properties.NewConstants;
|
import forge.properties.NewConstants;
|
||||||
|
import forge.quest.data.QuestData;
|
||||||
|
|
||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
import javax.swing.border.EmptyBorder;
|
import javax.swing.border.EmptyBorder;
|
||||||
|
|||||||
@@ -1,133 +1,44 @@
|
|||||||
package forge.quest.gui.bazaar;
|
package forge.quest.gui.bazaar;
|
||||||
|
|
||||||
import forge.gui.GuiUtils;
|
import forge.gui.GuiUtils;
|
||||||
|
import forge.quest.data.pet.QuestPetAbstract;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
public class QuestNurseryStall extends QuestAbstractBazaarStall{
|
public class QuestNurseryStall extends QuestAbstractBazaarStall {
|
||||||
private static final long serialVersionUID = 9217496944324343390L;
|
private static final long serialVersionUID = 9217496944324343390L;
|
||||||
|
|
||||||
public QuestNurseryStall() {
|
public QuestNurseryStall() {
|
||||||
super("Nursery", "LeafIconSmall.png", "The smells of the one hundred and one different plants forms a unique fragrance.");
|
super("Nursery",
|
||||||
|
"LeafIconSmall.png",
|
||||||
|
"The smells of the one hundred and one different plants forms a unique fragrance.");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected List<QuestAbstractBazaarItem> populateItems() {
|
protected List<QuestAbstractBazaarItem> populateItems() {
|
||||||
if (questData.getPlantLevel()>=6){
|
QuestPetAbstract plant = questData.getPetManager().getPlant();
|
||||||
|
|
||||||
|
if (plant.getLevel() >= 6) {
|
||||||
return new ArrayList<QuestAbstractBazaarItem>();
|
return new ArrayList<QuestAbstractBazaarItem>();
|
||||||
}
|
}
|
||||||
|
|
||||||
List<QuestAbstractBazaarItem> itemList = new ArrayList<QuestAbstractBazaarItem>();
|
List<QuestAbstractBazaarItem> itemList = new ArrayList<QuestAbstractBazaarItem>();
|
||||||
|
|
||||||
itemList.add(new QuestAbstractBazaarItem("Wall of plants",
|
|
||||||
getDesc(),
|
itemList.add(new QuestAbstractBazaarItem(plant.getName(),
|
||||||
getPrice(),
|
plant.getUpgradeDescription(),
|
||||||
GuiUtils.getIconFromFile(getImageString())) {
|
plant.getUpgradePrice(),
|
||||||
|
GuiUtils.getIconFromFile(plant.getImageName())) {
|
||||||
@Override
|
@Override
|
||||||
public void purchaseItem() {
|
public void purchaseItem() {
|
||||||
questData.addPlantLevel();
|
questData.getPetManager().getPlant().incrementLevel();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
return itemList;
|
return itemList;
|
||||||
}
|
}
|
||||||
|
|
||||||
private String getDesc()
|
|
||||||
{
|
|
||||||
StringBuilder sb = new StringBuilder();
|
|
||||||
sb.append("<html>");
|
|
||||||
if (questData.getPlantLevel() == 0)
|
|
||||||
{
|
|
||||||
sb.append("<br>Start each of your battles with this lush, verdant plant on your side.<br>");
|
|
||||||
sb.append("Excellent at blocking the nastiest of critters!<br><br>");
|
|
||||||
sb.append("<u><b>Current Level</b></u>: <em>Not purchased</em><br>");
|
|
||||||
sb.append("<u><b>Level 1</b></u>: 0/1<br>");
|
|
||||||
sb.append("<u><b>Level 2</b></u>: 0/2<br>");
|
|
||||||
sb.append("<u><b>Can learn</b></u>: Deathtouch");
|
|
||||||
}
|
|
||||||
else if (questData.getPlantLevel() == 1)
|
|
||||||
{
|
|
||||||
sb.append("Improve the toughness of your plant.<br>");
|
|
||||||
sb.append("<u><b>Current Level</b></u>: 0/1 <br>");
|
|
||||||
sb.append("<u><b>Level 2</b></u>: 0/2<br>");
|
|
||||||
sb.append("<u><b>Level 3</b></u>: 0/3<br>");
|
|
||||||
sb.append("<u><b>Can learn</b></u>: Deathtouch");
|
|
||||||
}
|
|
||||||
else if (questData.getPlantLevel() == 2)
|
|
||||||
{
|
|
||||||
sb.append("Improve the toughness of your plant.<br>");
|
|
||||||
sb.append("<u><b>Current Level</b></u>: 0/2 <br>");
|
|
||||||
sb.append("<u><b>Level 3</b></u>: 0/3<br>");
|
|
||||||
sb.append("<u><b>Level 4</b></u>: 1/3<br>");
|
|
||||||
sb.append("<u><b>Can learn</b></u>: Deathtouch");
|
|
||||||
}
|
|
||||||
else if (questData.getPlantLevel() == 3)
|
|
||||||
{
|
|
||||||
sb.append("Improve the power of your plant.<br>");
|
|
||||||
sb.append("<u><b>Current Level</b></u>: 0/3 <br>");
|
|
||||||
sb.append("<u><b>Level 4</b></u>: 1/3<br>");
|
|
||||||
sb.append("<u><b>Level 5</b></u>: Deathtouch<br>");
|
|
||||||
sb.append("<u><b>Can learn</b></u>: Deathtouch");
|
|
||||||
}
|
|
||||||
else if (questData.getPlantLevel() == 4)
|
|
||||||
{
|
|
||||||
sb.append("Grow venomous thorns on your plant.<br>");
|
|
||||||
sb.append("<u><b>Current Level</b></u>: 1/3 <br>");
|
|
||||||
sb.append("<u><b>Level 5</b></u>: 1/3, Deathtouch<br>");
|
|
||||||
sb.append("<u><b>Level 6</b></u>: 1/4, Deathtouch, Tap: you gain 1 life.<br>");
|
|
||||||
}
|
|
||||||
else if (questData.getPlantLevel() == 5)
|
|
||||||
{
|
|
||||||
sb.append("As well as gaining more toughness,<br>");
|
|
||||||
sb.append("your plant will have healing properties.<br>");
|
|
||||||
sb.append("<u><b>Current Level</b></u>: 1/3, Deathtouch<br>");
|
|
||||||
sb.append("<u><b>Level 6</b></u>: 1/4, Deathtouch, Tap: you gain 1 life.");
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
sb.append("Plant Level Maxed out.");
|
|
||||||
}
|
|
||||||
|
|
||||||
sb.append("</html>");
|
|
||||||
return sb.toString();
|
|
||||||
}
|
|
||||||
|
|
||||||
private int getPrice()
|
|
||||||
{
|
|
||||||
int l = 0;
|
|
||||||
if (questData.getPlantLevel() == 0)
|
|
||||||
l = 100;
|
|
||||||
else if (questData.getPlantLevel() == 1)
|
|
||||||
l = 150;
|
|
||||||
else if (questData.getPlantLevel() == 2)
|
|
||||||
l = 200;
|
|
||||||
else if (questData.getPlantLevel() == 3)
|
|
||||||
l = 300;
|
|
||||||
else if (questData.getPlantLevel() == 4)
|
|
||||||
l = 750;
|
|
||||||
else if (questData.getPlantLevel() == 5)
|
|
||||||
l = 1000;
|
|
||||||
return l;
|
|
||||||
}
|
|
||||||
|
|
||||||
private String getImageString()
|
|
||||||
{
|
|
||||||
String s = "";
|
|
||||||
if (questData.getPlantLevel() == 0)
|
|
||||||
s = "g_0_1_plant_wall_small.jpg";
|
|
||||||
else if (questData.getPlantLevel() == 1)
|
|
||||||
s = "g_0_2_plant_wall_small.jpg";
|
|
||||||
else if (questData.getPlantLevel() == 2)
|
|
||||||
s = "g_0_3_plant_wall_small.jpg";
|
|
||||||
else if (questData.getPlantLevel() == 3)
|
|
||||||
s = "g_1_3_plant_wall_small.jpg";
|
|
||||||
else if (questData.getPlantLevel() == 4)
|
|
||||||
s = "g_1_3_plant_wall_deathtouch_small.jpg";
|
|
||||||
else if (questData.getPlantLevel() == 5)
|
|
||||||
s = "g_1_4_plant_wall_small.jpg";
|
|
||||||
|
|
||||||
return s;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,8 +1,10 @@
|
|||||||
package forge.quest.gui.bazaar;
|
package forge.quest.gui.bazaar;
|
||||||
|
|
||||||
import forge.gui.GuiUtils;
|
import forge.gui.GuiUtils;
|
||||||
|
import forge.quest.data.pet.QuestPetAbstract;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.Collection;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
public class QuestPetStall extends QuestAbstractBazaarStall {
|
public class QuestPetStall extends QuestAbstractBazaarStall {
|
||||||
@@ -17,246 +19,25 @@ public class QuestPetStall extends QuestAbstractBazaarStall {
|
|||||||
protected List<QuestAbstractBazaarItem> populateItems() {
|
protected List<QuestAbstractBazaarItem> populateItems() {
|
||||||
List<QuestAbstractBazaarItem> itemList = new ArrayList<QuestAbstractBazaarItem>();
|
List<QuestAbstractBazaarItem> itemList = new ArrayList<QuestAbstractBazaarItem>();
|
||||||
|
|
||||||
if (questData.getWolfPetLevel()<=3){
|
Collection<QuestPetAbstract> pets = questData.getPetManager().getPets();
|
||||||
itemList.add(new QuestAbstractBazaarItem("Wolf Pet",
|
|
||||||
getDesc(WOLF),
|
for (final QuestPetAbstract pet : pets) {
|
||||||
getPrice(WOLF),
|
if (pet.getLevel() < pet.getMaxLevel()){
|
||||||
GuiUtils.getIconFromFile(getImageString(WOLF))) {
|
itemList.add(new QuestAbstractBazaarItem(
|
||||||
@Override
|
pet.getName(),
|
||||||
public void purchaseItem() {
|
pet.getUpgradeDescription(),
|
||||||
questData.addWolfPetLevel();
|
pet.getUpgradePrice(),
|
||||||
}
|
GuiUtils.getIconFromFile(pet.getImageName())) {
|
||||||
});
|
@Override
|
||||||
}
|
public void purchaseItem() {
|
||||||
if (questData.getCrocPetLevel()<=3){
|
questData.getPetManager().addPetLevel(pet.getName());
|
||||||
itemList.add(new QuestAbstractBazaarItem("Crocodile Pet",
|
}
|
||||||
getDesc(CROC),
|
});
|
||||||
getPrice(CROC),
|
}
|
||||||
GuiUtils.getIconFromFile(getImageString(CROC))) {
|
|
||||||
@Override
|
|
||||||
public void purchaseItem() {
|
|
||||||
questData.addCrocPetLevel();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
if (questData.getBirdPetLevel()<=3){
|
|
||||||
itemList.add(new QuestAbstractBazaarItem("Bird Pet",
|
|
||||||
getDesc(BIRD),
|
|
||||||
getPrice(BIRD),
|
|
||||||
GuiUtils.getIconFromFile(getImageString(BIRD))) {
|
|
||||||
@Override
|
|
||||||
public void purchaseItem() {
|
|
||||||
questData.addBirdPetLevel();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
if (questData.getHoundPetLevel()<=3){
|
|
||||||
itemList.add(new QuestAbstractBazaarItem("Hound Pet",
|
|
||||||
getDesc(HOUND),
|
|
||||||
getPrice(HOUND),
|
|
||||||
GuiUtils.getIconFromFile(getImageString(HOUND))) {
|
|
||||||
@Override
|
|
||||||
public void purchaseItem() {
|
|
||||||
questData.addHoundPetLevel();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return itemList;
|
return itemList;
|
||||||
}
|
}
|
||||||
|
|
||||||
private String getDesc(int petType) {
|
|
||||||
StringBuilder sb = new StringBuilder();
|
|
||||||
sb.append("<html><br>");
|
|
||||||
|
|
||||||
switch (petType) {
|
|
||||||
case WOLF:
|
|
||||||
if (questData.getWolfPetLevel() == 0) {
|
|
||||||
sb.append("This ferocious animal may have been raised in captivity, but it has been trained to<br>kill.<br>");
|
|
||||||
sb.append("<em>Eats goblins for breakfast.<em><br><br>");
|
|
||||||
sb.append("<u><b>Level 1</b></u>: 1/1<br>");
|
|
||||||
sb.append("<u><b>Next Level</b></u>: 1/2<br>");
|
|
||||||
sb.append("<u><b>Can learn</b></u>: Flanking");
|
|
||||||
} else if (questData.getWolfPetLevel() == 1) {
|
|
||||||
sb.append("Improve the toughness of your wolf.<br>");
|
|
||||||
sb.append("<u><b>Level 2</b></u>: 1/2<br>");
|
|
||||||
sb.append("<u><b>Next Level</b></u>: 2/2<br>");
|
|
||||||
sb.append("<u><b>Can learn</b></u>: Flanking");
|
|
||||||
} else if (questData.getWolfPetLevel() == 2) {
|
|
||||||
sb.append("Improve the attack power of your wolf.<br>");
|
|
||||||
sb.append("<u><b>Level 3</b></u>: 2/2<br>");
|
|
||||||
sb.append("<u><b>Next Level</b></u>: Flanking<br>");
|
|
||||||
sb.append("<u><b>Can learn</b></u>: Flanking");
|
|
||||||
} else if (questData.getWolfPetLevel() == 3) {
|
|
||||||
sb.append("Gives Flanking to your wolf.<br>");
|
|
||||||
sb.append("<u><b>Level 4</b></u>: 2/2 Flanking<br>");
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case CROC:
|
|
||||||
if (questData.getCrocPetLevel() == 0) {
|
|
||||||
sb.append("With its razor sharp teeth, this swamp-dwelling monster is extremely dangerous.<br>");
|
|
||||||
sb.append("<em>Crikey mate!<em><br><br>");
|
|
||||||
sb.append("<u><b>Level 1</b></u>: 1/1<br>");
|
|
||||||
sb.append("<u><b>Next Level</b></u>: 2/1<br>");
|
|
||||||
sb.append("<u><b>Can learn</b></u>: Swampwalk");
|
|
||||||
} else if (questData.getCrocPetLevel() == 1) {
|
|
||||||
sb.append("Improve the attack power of your croc.<br>");
|
|
||||||
sb.append("<u><b>Level 2</b></u>: 2/1<br>");
|
|
||||||
sb.append("<u><b>Next Level</b></u>: 3/1<br>");
|
|
||||||
sb.append("<u><b>Can learn</b></u>: Swampwalk");
|
|
||||||
} else if (questData.getCrocPetLevel() == 2) {
|
|
||||||
sb.append("Improve the attack power of your croc.<br>");
|
|
||||||
sb.append("<u><b>Level 3</b></u>: 3/1<br>");
|
|
||||||
sb.append("<u><b>Next Level</b></u>: 3/1 Swampwalk<br>");
|
|
||||||
} else if (questData.getCrocPetLevel() == 3) {
|
|
||||||
sb.append("Gives Swampwalk to your croc.<br>");
|
|
||||||
sb.append("<u><b>Level 4</b></u>: 3/1 Swampwalk<br>");
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case BIRD:
|
|
||||||
if (questData.getBirdPetLevel() == 0) {
|
|
||||||
sb.append("Unmatched in speed, agility and awareness,<br>");
|
|
||||||
sb.append("this trained hawk makes a fantastic hunter.<br><br>");
|
|
||||||
sb.append("<u><b>Level 1</b></u>: 0/1 Flying<br>");
|
|
||||||
sb.append("<u><b>Next Level</b></u>: 1/1<br>");
|
|
||||||
sb.append("<u><b>Can learn</b></u>: First strike");
|
|
||||||
} else if (questData.getBirdPetLevel() == 1) {
|
|
||||||
sb.append("Improve the attack power of your bird.<br>");
|
|
||||||
sb.append("<u><b>Level 2</b></u>: 1/1<br>");
|
|
||||||
sb.append("<u><b>Next Level</b></u>: 2/1 <br>");
|
|
||||||
sb.append("<u><b>Can learn</b></u>: First strike");
|
|
||||||
} else if (questData.getBirdPetLevel() == 2) {
|
|
||||||
sb.append("Improve the attack power of your bird.<br>");
|
|
||||||
sb.append("<u><b>Level 3</b></u>: 2/1<br>");
|
|
||||||
sb.append("<u><b>Next Level</b></u>: 2/1 First strike<br>");
|
|
||||||
} else if (questData.getBirdPetLevel() == 3) {
|
|
||||||
sb.append("Gives First strike to your bird.<br>");
|
|
||||||
sb.append("<u><b>Level 4</b></u>: 2/1 First strike<br>");
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case HOUND:
|
|
||||||
if (questData.getHoundPetLevel() == 0) {
|
|
||||||
sb.append("Dogs are said to be man's best friend.<br>");
|
|
||||||
sb.append("Definitely not this one.<br><br>");
|
|
||||||
sb.append("<u><b>Level 1</b></u>: 1/1<br>");
|
|
||||||
sb.append("<u><b>Next Level</b></u>: 1/1 Haste<br>");
|
|
||||||
sb.append("<u><b>Can learn</b></u>: Whenever this creature attacks alone,<br> it gets +2/+0 until end of turn.");
|
|
||||||
} else if (questData.getHoundPetLevel() == 1) {
|
|
||||||
sb.append("Gives haste to your hound.<br>");
|
|
||||||
sb.append("<u><b>Level 2</b></u>: 1/1 Haste<br>");
|
|
||||||
sb.append("<u><b>Next Level</b></u>: 2/1 Haste<br>");
|
|
||||||
sb.append("<u><b>Can learn</b></u>: Whenever this creature attacks alone,<br> it gets +2/+0 until end of turn.");
|
|
||||||
} else if (questData.getHoundPetLevel() == 2) {
|
|
||||||
sb.append("Improve the attack power of your hound.<br>");
|
|
||||||
sb.append("<u><b>Level 3</b></u>: 2/1 Haste<br>");
|
|
||||||
sb.append("<u><b>Next Level</b></u>: 2/1 Whenever this creature attacks<br> alone, it gets +2/+0 until end of turn.<br>");
|
|
||||||
} else if (questData.getHoundPetLevel() == 3) {
|
|
||||||
sb.append("Greatly improves your hound's attack power if it<br> attacks alone.<br>");
|
|
||||||
sb.append("<u><b>Level 4</b></u>: 2/1 Haste, whenever this creature attacks alone, it gets +2/+0 until end of turn.<br>");
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
sb.append("</html>");
|
|
||||||
return sb.toString();
|
|
||||||
}
|
|
||||||
|
|
||||||
private int getPrice(int petType) {
|
|
||||||
int l = 0;
|
|
||||||
switch (petType) {
|
|
||||||
case WOLF:
|
|
||||||
if (questData.getWolfPetLevel() == 0)
|
|
||||||
l = 250;
|
|
||||||
else if (questData.getWolfPetLevel() == 1)
|
|
||||||
l = 250;
|
|
||||||
else if (questData.getWolfPetLevel() == 2)
|
|
||||||
l = 500;
|
|
||||||
else if (questData.getWolfPetLevel() == 3)
|
|
||||||
l = 550;
|
|
||||||
break;
|
|
||||||
case CROC:
|
|
||||||
if (questData.getCrocPetLevel() == 0)
|
|
||||||
l = 250;
|
|
||||||
else if (questData.getCrocPetLevel() == 1)
|
|
||||||
l = 300;
|
|
||||||
else if (questData.getCrocPetLevel() == 2)
|
|
||||||
l = 450;
|
|
||||||
else if (questData.getCrocPetLevel() == 3)
|
|
||||||
l = 600;
|
|
||||||
break;
|
|
||||||
case BIRD:
|
|
||||||
if (questData.getBirdPetLevel() == 0)
|
|
||||||
l = 200;
|
|
||||||
else if (questData.getBirdPetLevel() == 1)
|
|
||||||
l = 300;
|
|
||||||
else if (questData.getBirdPetLevel() == 2)
|
|
||||||
l = 450;
|
|
||||||
else if (questData.getBirdPetLevel() == 3)
|
|
||||||
l = 400;
|
|
||||||
break;
|
|
||||||
case HOUND:
|
|
||||||
if (questData.getHoundPetLevel() == 0)
|
|
||||||
l = 200;
|
|
||||||
else if (questData.getHoundPetLevel() == 1)
|
|
||||||
l = 350;
|
|
||||||
else if (questData.getHoundPetLevel() == 2)
|
|
||||||
l = 450;
|
|
||||||
else if (questData.getHoundPetLevel() == 3)
|
|
||||||
l = 750;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
return l;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
private String getImageString(int petType) {
|
|
||||||
String s = null;
|
|
||||||
|
|
||||||
switch (petType) {
|
|
||||||
case WOLF:
|
|
||||||
if (questData.getWolfPetLevel() == 0)
|
|
||||||
s = "g_1_1_wolf_pet_small.jpg";
|
|
||||||
else if (questData.getWolfPetLevel() == 1)
|
|
||||||
s = "g_1_2_wolf_pet_small.jpg";
|
|
||||||
else if (questData.getWolfPetLevel() == 2)
|
|
||||||
s = "g_2_2_wolf_pet_small.jpg";
|
|
||||||
else if (questData.getWolfPetLevel() == 3)
|
|
||||||
s = "g_2_2_wolf_pet_flanking_small.jpg";
|
|
||||||
break;
|
|
||||||
case CROC:
|
|
||||||
if (questData.getCrocPetLevel() == 0)
|
|
||||||
s = "b_1_1_crocodile_pet_small.jpg";
|
|
||||||
else if (questData.getCrocPetLevel() == 1)
|
|
||||||
s = "b_2_1_crocodile_pet_small.jpg";
|
|
||||||
else if (questData.getCrocPetLevel() == 2)
|
|
||||||
s = "b_3_1_crocodile_pet_small.jpg";
|
|
||||||
else if (questData.getCrocPetLevel() == 3)
|
|
||||||
s = "b_3_1_crocodile_pet_swampwalk_small.jpg";
|
|
||||||
break;
|
|
||||||
case BIRD:
|
|
||||||
if (questData.getBirdPetLevel() == 0)
|
|
||||||
s = "w_0_1_bird_pet_small.jpg";
|
|
||||||
else if (questData.getBirdPetLevel() == 1)
|
|
||||||
s = "w_1_1_bird_pet_small.jpg";
|
|
||||||
else if (questData.getBirdPetLevel() == 2)
|
|
||||||
s = "w_2_1_bird_pet_small.jpg";
|
|
||||||
else if (questData.getBirdPetLevel() == 3)
|
|
||||||
s = "w_2_1_bird_pet_first_strike_small.jpg";
|
|
||||||
case HOUND:
|
|
||||||
if (questData.getHoundPetLevel() == 0)
|
|
||||||
s = "r_1_1_hound_pet_small.jpg";
|
|
||||||
else if (questData.getHoundPetLevel() == 1)
|
|
||||||
s = "r_1_1_hound_pet_haste_small.jpg";
|
|
||||||
else if (questData.getHoundPetLevel() == 2)
|
|
||||||
s = "r_2_1_hound_pet_small.jpg";
|
|
||||||
else if (questData.getHoundPetLevel() == 3)
|
|
||||||
s = "r_2_1_hound_pet_alone_small.jpg";
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
return s;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static final int WOLF = 1;
|
|
||||||
public static final int CROC = 2;
|
|
||||||
public static final int HOUND = 3;
|
|
||||||
public static final int BIRD = 4;
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,8 +2,8 @@ package forge.quest.gui.main;
|
|||||||
|
|
||||||
|
|
||||||
import forge.AllZone;
|
import forge.AllZone;
|
||||||
import forge.QuestData;
|
|
||||||
import forge.gui.GuiUtils;
|
import forge.gui.GuiUtils;
|
||||||
|
import forge.quest.data.QuestData;
|
||||||
|
|
||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
@@ -233,23 +233,23 @@ public class QuestBattle extends QuestSelectablePanel {
|
|||||||
public static List<QuestSelectablePanel> getBattles(){
|
public static List<QuestSelectablePanel> getBattles(){
|
||||||
List<QuestSelectablePanel> opponentList = new ArrayList<QuestSelectablePanel>();
|
List<QuestSelectablePanel> opponentList = new ArrayList<QuestSelectablePanel>();
|
||||||
|
|
||||||
try{
|
|
||||||
QuestData questData = AllZone.QuestData;
|
QuestData questData = AllZone.QuestData;
|
||||||
String[] opponentNames = questData.getOpponents();
|
String[] opponentNames = questData.getOpponents();
|
||||||
for (String opponentName : opponentNames) {
|
for (String opponentName : opponentNames) {
|
||||||
String oppIconName = opponentName.substring(0, opponentName.length() - 1).trim() + ".jpg";
|
try {
|
||||||
ImageIcon icon = GuiUtils.getIconFromFile(oppIconName);
|
String oppIconName = opponentName.substring(0, opponentName.length() - 1).trim() + ".jpg";
|
||||||
|
ImageIcon icon = GuiUtils.getIconFromFile(oppIconName);
|
||||||
|
|
||||||
opponentList.add(new QuestBattle(opponentName,
|
opponentList.add(new QuestBattle(opponentName,
|
||||||
nameDeckMap.get(opponentName).difficulty,
|
nameDeckMap.get(opponentName).difficulty,
|
||||||
nameDeckMap.get(opponentName).description,
|
nameDeckMap.get(opponentName).description,
|
||||||
icon));
|
icon));
|
||||||
}
|
}
|
||||||
}
|
catch (NullPointerException e) {
|
||||||
catch (NullPointerException e)
|
System.out.println("Caught NPE, Fix me:" + opponentName);
|
||||||
{
|
}
|
||||||
System.out.println("Break Here");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return opponentList;
|
return opponentList;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ package forge.quest.gui.main;
|
|||||||
|
|
||||||
import forge.*;
|
import forge.*;
|
||||||
import forge.gui.GuiUtils;
|
import forge.gui.GuiUtils;
|
||||||
|
import forge.quest.data.QuestData;
|
||||||
import forge.quest.gui.QuestAbstractPanel;
|
import forge.quest.gui.QuestAbstractPanel;
|
||||||
import forge.quest.gui.QuestFrame;
|
import forge.quest.gui.QuestFrame;
|
||||||
|
|
||||||
@@ -14,17 +15,15 @@ import java.awt.event.ActionEvent;
|
|||||||
import java.awt.event.ActionListener;
|
import java.awt.event.ActionListener;
|
||||||
import java.awt.event.MouseAdapter;
|
import java.awt.event.MouseAdapter;
|
||||||
import java.awt.event.MouseEvent;
|
import java.awt.event.MouseEvent;
|
||||||
import java.util.ArrayList;
|
import java.util.*;
|
||||||
import java.util.Collections;
|
|
||||||
import java.util.Comparator;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
|
||||||
//presumes AllZone.QuestData is not null
|
//presumes AllZone.QuestDataOld is not null
|
||||||
|
|
||||||
//AllZone.QuestData should be set by Gui_QuestOptions
|
//AllZone.QuestDataOld should be set by Gui_QuestOptions
|
||||||
public class QuestMainPanel extends QuestAbstractPanel {
|
public class QuestMainPanel extends QuestAbstractPanel {
|
||||||
private QuestData questData;
|
private forge.quest.data.QuestData questData;
|
||||||
|
|
||||||
JLabel creditsLabel = new JLabel();
|
JLabel creditsLabel = new JLabel();
|
||||||
JLabel lifeLabel = new JLabel();
|
JLabel lifeLabel = new JLabel();
|
||||||
@@ -148,7 +147,7 @@ public class QuestMainPanel extends QuestAbstractPanel {
|
|||||||
cardShopButton.setFont(new Font(Font.SANS_SERIF, Font.PLAIN, 20));
|
cardShopButton.setFont(new Font(Font.SANS_SERIF, Font.PLAIN, 20));
|
||||||
|
|
||||||
JButton bazaarButton = null;
|
JButton bazaarButton = null;
|
||||||
if (questData.getMode().equals(QuestData.FANTASY)) {
|
if (questData.getMode().equals(forge.quest.data.QuestData.FANTASY)) {
|
||||||
|
|
||||||
bazaarButton = new JButton("Bazaar");
|
bazaarButton = new JButton("Bazaar");
|
||||||
bazaarButton.addActionListener(new ActionListener() {
|
bazaarButton.addActionListener(new ActionListener() {
|
||||||
@@ -192,7 +191,7 @@ public class QuestMainPanel extends QuestAbstractPanel {
|
|||||||
panel.add(Box.createVerticalGlue());
|
panel.add(Box.createVerticalGlue());
|
||||||
panel.add(Box.createVerticalGlue());
|
panel.add(Box.createVerticalGlue());
|
||||||
|
|
||||||
if (questData.getMode().equals(QuestData.FANTASY)) {
|
if (questData.getMode().equals(forge.quest.data.QuestData.FANTASY)) {
|
||||||
|
|
||||||
panel.add(this.lifeLabel);
|
panel.add(this.lifeLabel);
|
||||||
this.lifeLabel.setFont(new Font(Font.DIALOG, Font.BOLD, 14));
|
this.lifeLabel.setFont(new Font(Font.DIALOG, Font.BOLD, 14));
|
||||||
@@ -206,7 +205,7 @@ public class QuestMainPanel extends QuestAbstractPanel {
|
|||||||
GuiUtils.addGap(panel, 10);
|
GuiUtils.addGap(panel, 10);
|
||||||
panel.add(cardShopButton);
|
panel.add(cardShopButton);
|
||||||
|
|
||||||
if (questData.getMode().equals(QuestData.FANTASY)) {
|
if (questData.getMode().equals(forge.quest.data.QuestData.FANTASY)) {
|
||||||
GuiUtils.addGap(panel);
|
GuiUtils.addGap(panel);
|
||||||
panel.add(bazaarButton);
|
panel.add(bazaarButton);
|
||||||
}
|
}
|
||||||
@@ -274,17 +273,17 @@ public class QuestMainPanel extends QuestAbstractPanel {
|
|||||||
|
|
||||||
GuiUtils.addGap(matchPanel);
|
GuiUtils.addGap(matchPanel);
|
||||||
|
|
||||||
if (questData.getMode().equals(QuestData.FANTASY)) {
|
if (questData.getMode().equals(forge.quest.data.QuestData.FANTASY)) {
|
||||||
JPanel petPanel = new JPanel();
|
JPanel petPanel = new JPanel();
|
||||||
petPanel.setLayout(new BoxLayout(petPanel, BoxLayout.X_AXIS));
|
petPanel.setLayout(new BoxLayout(petPanel, BoxLayout.X_AXIS));
|
||||||
|
|
||||||
this.petCheckBox.addActionListener(new ActionListener() {
|
this.petCheckBox.addActionListener(new ActionListener() {
|
||||||
public void actionPerformed(ActionEvent actionEvent) {
|
public void actionPerformed(ActionEvent actionEvent) {
|
||||||
if (petCheckBox.isSelected()) {
|
if (petCheckBox.isSelected()) {
|
||||||
questData.setSelectedPet((String) petComboBox.getSelectedItem());
|
questData.getPetManager().setSelectedPet((String) petComboBox.getSelectedItem());
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
questData.setSelectedPet("No Plant/Pet");
|
questData.getPetManager().setSelectedPet(null);
|
||||||
}
|
}
|
||||||
|
|
||||||
petComboBox.setEnabled(petCheckBox.isSelected());
|
petComboBox.setEnabled(petCheckBox.isSelected());
|
||||||
@@ -296,10 +295,10 @@ public class QuestMainPanel extends QuestAbstractPanel {
|
|||||||
this.petComboBox.addActionListener(new ActionListener() {
|
this.petComboBox.addActionListener(new ActionListener() {
|
||||||
public void actionPerformed(ActionEvent actionEvent) {
|
public void actionPerformed(ActionEvent actionEvent) {
|
||||||
if (petCheckBox.isSelected()) {
|
if (petCheckBox.isSelected()) {
|
||||||
questData.setSelectedPet((String) petComboBox.getSelectedItem());
|
questData.getPetManager().setSelectedPet((String) petComboBox.getSelectedItem());
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
questData.setSelectedPet("No Plant/Pet");
|
questData.getPetManager().setSelectedPet(null);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@@ -350,7 +349,7 @@ public class QuestMainPanel extends QuestAbstractPanel {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void refresh() {
|
void refresh() {
|
||||||
QuestData.saveData(AllZone.QuestData);
|
AllZone.QuestData.saveData();
|
||||||
|
|
||||||
devModeCheckBox.setSelected(Constant.Runtime.DevMode[0]);
|
devModeCheckBox.setSelected(Constant.Runtime.DevMode[0]);
|
||||||
smoothLandCheckBox.setSelected(Constant.Runtime.Smooth[0]);
|
smoothLandCheckBox.setSelected(Constant.Runtime.Smooth[0]);
|
||||||
@@ -400,7 +399,7 @@ public class QuestMainPanel extends QuestAbstractPanel {
|
|||||||
|
|
||||||
petComboBox.removeAllItems();
|
petComboBox.removeAllItems();
|
||||||
|
|
||||||
List<String> petList = QuestUtil.getPetNames(questData);
|
Set<String> petList = questData.getPetManager().getAvailablePetNames();
|
||||||
|
|
||||||
if (petList.size() > 0) {
|
if (petList.size() > 0) {
|
||||||
petComboBox.setEnabled(true);
|
petComboBox.setEnabled(true);
|
||||||
@@ -416,13 +415,13 @@ public class QuestMainPanel extends QuestAbstractPanel {
|
|||||||
petCheckBox.setEnabled(false);
|
petCheckBox.setEnabled(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (questData.getSelectedPet() == null || questData.getSelectedPet().equals("No Plant/Pet")) {
|
if (!questData.getPetManager().shouldPetBeUsed()) {
|
||||||
petCheckBox.setSelected(false);
|
petCheckBox.setSelected(false);
|
||||||
petComboBox.setEnabled(false);
|
petComboBox.setEnabled(false);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
petCheckBox.setSelected(true);
|
petCheckBox.setSelected(true);
|
||||||
petComboBox.setSelectedItem(questData.getSelectedPet());
|
petComboBox.setSelectedItem(questData.getPetManager().getSelectedPet().getName());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -462,7 +461,7 @@ public class QuestMainPanel extends QuestAbstractPanel {
|
|||||||
|
|
||||||
public void execute() {
|
public void execute() {
|
||||||
//saves all deck data
|
//saves all deck data
|
||||||
QuestData.saveData(AllZone.QuestData);
|
AllZone.QuestData.saveData();
|
||||||
|
|
||||||
new QuestFrame();
|
new QuestFrame();
|
||||||
}
|
}
|
||||||
@@ -485,7 +484,7 @@ public class QuestMainPanel extends QuestAbstractPanel {
|
|||||||
|
|
||||||
public void execute() {
|
public void execute() {
|
||||||
//saves all deck data
|
//saves all deck data
|
||||||
QuestData.saveData(AllZone.QuestData);
|
AllZone.QuestData.saveData();
|
||||||
|
|
||||||
new QuestFrame();
|
new QuestFrame();
|
||||||
}
|
}
|
||||||
@@ -549,9 +548,9 @@ public class QuestMainPanel extends QuestAbstractPanel {
|
|||||||
AllZone.GameAction.newGame(
|
AllZone.GameAction.newGame(
|
||||||
humanDeck,
|
humanDeck,
|
||||||
computer,
|
computer,
|
||||||
QuestUtil.getHumanPlantAndPet(questData),
|
forge.quest.data.QuestUtil.getHumanPlantAndPet(questData),
|
||||||
new CardList(),
|
new CardList(),
|
||||||
QuestUtil.getLife(questData),
|
questData.getLife(),
|
||||||
20,
|
20,
|
||||||
null);
|
null);
|
||||||
}
|
}
|
||||||
@@ -573,7 +572,7 @@ public class QuestMainPanel extends QuestAbstractPanel {
|
|||||||
AllZone.GameAction.newGame(
|
AllZone.GameAction.newGame(
|
||||||
humanDeck,
|
humanDeck,
|
||||||
computerDeck,
|
computerDeck,
|
||||||
QuestUtil.getHumanPlantAndPet(questData, selectedQuest),
|
forge.quest.data.QuestUtil.getHumanPlantAndPet(questData, selectedQuest),
|
||||||
new CardList(),
|
new CardList(),
|
||||||
questData.getLife() + extraLife,
|
questData.getLife() + extraLife,
|
||||||
selectedQuest.getComputerLife(),
|
selectedQuest.getComputerLife(),
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
package forge.quest.gui.main;
|
package forge.quest.gui.main;
|
||||||
|
|
||||||
import forge.AllZone;
|
import forge.AllZone;
|
||||||
import forge.QuestData;
|
|
||||||
import forge.Quest_Assignment;
|
import forge.Quest_Assignment;
|
||||||
import forge.ReadQuest_Assignment;
|
import forge.ReadQuest_Assignment;
|
||||||
import forge.gui.GuiUtils;
|
import forge.gui.GuiUtils;
|
||||||
@@ -46,21 +45,21 @@ public class QuestQuest extends QuestSelectablePanel {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private static List<Quest_Assignment> readQuests() {
|
private static List<Quest_Assignment> readQuests() {
|
||||||
QuestData questData = AllZone.QuestData;
|
forge.quest.data.QuestData questData = AllZone.QuestData;
|
||||||
ReadQuest_Assignment read = new ReadQuest_Assignment(ForgeProps.getFile(NewConstants.QUEST.QUESTS), questData);
|
ReadQuest_Assignment read = new ReadQuest_Assignment(ForgeProps.getFile(NewConstants.QUEST.QUESTS), questData);
|
||||||
read.run();
|
read.run();
|
||||||
|
|
||||||
ArrayList<Quest_Assignment> questsToDisplay = new ArrayList<Quest_Assignment>();
|
List<Quest_Assignment> questsToDisplay = new ArrayList<Quest_Assignment>();
|
||||||
|
|
||||||
if (questData.getAvailableQuests() != null && questData.getAvailableQuests().size() > 0) {
|
if (questData.getAvailableQuests() != null && questData.getAvailableQuests().size() > 0) {
|
||||||
ArrayList<Quest_Assignment> availableQuests = read.getQuestsByIds(questData.getAvailableQuests());
|
List<Quest_Assignment> availableQuests = read.getQuestsByIds(questData.getAvailableQuests());
|
||||||
questsToDisplay = availableQuests;
|
questsToDisplay = availableQuests;
|
||||||
|
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
ArrayList<Quest_Assignment> allAvailableQuests = read.getQuests();
|
List<Quest_Assignment> allAvailableQuests = read.getQuests();
|
||||||
|
|
||||||
ArrayList<Integer> availableInts = new ArrayList<Integer>();
|
List<Integer> availableInts = new ArrayList<Integer>();
|
||||||
|
|
||||||
int maxQuests = questData.getWin() / 10;
|
int maxQuests = questData.getWin() / 10;
|
||||||
if (maxQuests > 5) {
|
if (maxQuests > 5) {
|
||||||
@@ -80,7 +79,7 @@ public class QuestQuest extends QuestSelectablePanel {
|
|||||||
questsToDisplay.add(qa);
|
questsToDisplay.add(qa);
|
||||||
}
|
}
|
||||||
questData.setAvailableQuests(availableInts);
|
questData.setAvailableQuests(availableInts);
|
||||||
QuestData.saveData(questData);
|
questData.saveData();
|
||||||
}//else
|
}//else
|
||||||
return questsToDisplay;
|
return questsToDisplay;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user