- Added two new pets (bird and hound). - Some tweaks to the quest GUI main menu.

This commit is contained in:
jendave
2011-08-06 05:21:00 +00:00
parent 6958183d11
commit c20361fcca
6 changed files with 313 additions and 11 deletions

View File

@@ -23,7 +23,7 @@ public class QuestData_State implements Serializable {
private static final long serialVersionUID = 7007940230351051937L;
int rankIndex, win, lost;
int plantLevel, wolfPetLevel, crocPetLevel, life, estatesLevel, luckyCoinLevel, sleightOfHandLevel, gearLevel, questsPlayed;
int plantLevel, wolfPetLevel, crocPetLevel, birdPetLevel, houndPetLevel, life, estatesLevel, luckyCoinLevel, sleightOfHandLevel, gearLevel, questsPlayed;
long credits;
String difficulty, mode, selectedPet;
@@ -43,6 +43,6 @@ public class QuestData_State implements Serializable {
for(Entry<String, Deck> deck:this.aiDecks.entrySet()) {
aiDecks.put(deck.getKey(), deck.getValue().migrate());
}
return new forge.QuestData_State(rankIndex, win, lost, plantLevel, wolfPetLevel, crocPetLevel, selectedPet, life, estatesLevel, luckyCoinLevel, sleightOfHandLevel, gearLevel, questsPlayed, availableQuests, completedQuests,credits, difficulty, mode, cardPool, shopList, myDecks, aiDecks);
return new forge.QuestData_State(rankIndex, win, lost, plantLevel, wolfPetLevel, crocPetLevel, birdPetLevel, houndPetLevel, selectedPet, life, estatesLevel, luckyCoinLevel, sleightOfHandLevel, gearLevel, questsPlayed, availableQuests, completedQuests,credits, difficulty, mode, cardPool, shopList, myDecks, aiDecks);
}
}

View File

@@ -140,11 +140,67 @@ public class Gui_PetShop extends JFrame implements NewConstants{
sb.append("Gives Swampwalk to your croc.<br>");
sb.append("<u><b>Level 4</b></u>: 3/1 Swampwalk<br>");
}
/*
else if (questData.getCrocPetLevel() >= 4)
{
sb.append("Croc Level Maxed out.<br>");
}
}
*/
else 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>");
}
else 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>");
}
}//wolfPetLevel >= 4
sb.append("</html>");
return sb.toString();
@@ -171,6 +227,22 @@ public class Gui_PetShop extends JFrame implements NewConstants{
l = 450;
else if (questData.getCrocPetLevel() == 3)
l = 600;
else 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;
else 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;
}
return l;
}
@@ -191,6 +263,20 @@ public class Gui_PetShop extends JFrame implements NewConstants{
else
s = "Train " + pet;
}
else if (pet.equals("Bird"))
{
if (questData.getBirdPetLevel() == 0)
s = "Buy " + pet;
else
s = "Train " + pet;
}
else if (pet.equals("Hound"))
{
if (questData.getHoundPetLevel() == 0)
s = "Buy " + pet;
else
s = "Train " + pet;
}
return s;
}
@@ -208,7 +294,7 @@ public class Gui_PetShop extends JFrame implements NewConstants{
sb.append(" Wolf Pet (current level ");
sb.append(questData.getWolfPetLevel());
} //getWolfPetLevel < 4
else if (questData.getCrocPetLevel() <= 4)
else if (questData.getCrocPetLevel() < 4)
{
if (questData.getCrocPetLevel() == 1)
sb.append("1/1");
@@ -220,6 +306,30 @@ public class Gui_PetShop extends JFrame implements NewConstants{
sb.append(" Croc Pet (current level ");
sb.append(questData.getCrocPetLevel());
}
else if (questData.getBirdPetLevel() < 4)
{
if (questData.getBirdPetLevel() == 1)
sb.append("0/1");
else if (questData.getBirdPetLevel() == 2)
sb.append("1/1");
else if (questData.getBirdPetLevel() >= 3)
sb.append("2/1");
sb.append(" Bird Pet (current level ");
sb.append(questData.getBirdPetLevel());
}
else if (questData.getHoundPetLevel() <= 4)
{
if (questData.getHoundPetLevel() == 1)
sb.append("1/1");
else if (questData.getHoundPetLevel() == 2)
sb.append("1/1");
else if (questData.getHoundPetLevel() >= 3)
sb.append("2/1");
sb.append(" Hound Pet (current level ");
sb.append(questData.getHoundPetLevel());
}
sb.append("/4)");
if (questData.getWolfPetLevel() == 0)
@@ -231,7 +341,8 @@ public class Gui_PetShop extends JFrame implements NewConstants{
private String getImageString()
{
String s = "";
if (questData.getWolfPetLevel() < 4) {
if (questData.getWolfPetLevel() < 4)
{
if (questData.getWolfPetLevel() == 0)
s = "g_1_1_wolf_pet_small.jpg";
else if (questData.getWolfPetLevel() == 1)
@@ -252,6 +363,29 @@ public class Gui_PetShop extends JFrame implements NewConstants{
else if (questData.getCrocPetLevel() == 3)
s = "b_3_1_crocodile_pet_swampwalk_small.jpg";
}
else if (questData.getBirdPetLevel() < 4)
{
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";
}
else if (questData.getHoundPetLevel() < 4)
{
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";
}
return s;
}
@@ -289,9 +423,13 @@ public class Gui_PetShop extends JFrame implements NewConstants{
buyPetButton.setText(getButtonText("Wolf"));
else if (questData.getCrocPetLevel() < 4)
buyPetButton.setText(getButtonText("Croc"));
else if (questData.getBirdPetLevel() < 4)
buyPetButton.setText(getButtonText("Bird"));
else if (questData.getHoundPetLevel() < 4)
buyPetButton.setText(getButtonText("Hound"));
buyPetButton.setEnabled(true);
if (questData.getCredits() < getPrice() || questData.getCrocPetLevel() >= 4)
if (questData.getCredits() < getPrice() || questData.getHoundPetLevel() >= 4)
buyPetButton.setEnabled(false);
quitButton.setBounds(new Rectangle(140, 297, 120, 50));
@@ -336,6 +474,10 @@ public class Gui_PetShop extends JFrame implements NewConstants{
questData.addWolfPetLevel();
else if (questData.getCrocPetLevel() < 4)
questData.addCrocPetLevel();
else if (questData.getBirdPetLevel() < 4)
questData.addBirdPetLevel();
else if (questData.getHoundPetLevel() < 4)
questData.addHoundPetLevel();
QuestData.saveData(questData);
jbInit();

View File

@@ -262,7 +262,7 @@ public class Gui_Quest extends JFrame implements NewConstants{
smoothLandCheckBox.setText("Stack AI land");
smoothLandCheckBox.setBounds(new Rectangle(65, 62, 153, 21));
//smoothLandCheckBox.setSelected(true);
resizeCheckbox.setText("Resizable Game Area");
resizeCheckbox.setText("New GUI");
resizeCheckbox.setBounds(new Rectangle(65, 28, 165, 24));
millLoseCheckBox.setText("Milling = Loss Condition");
millLoseCheckBox.setBounds(new Rectangle(65, 94, 190, 25));
@@ -579,7 +579,7 @@ public class Gui_Quest extends JFrame implements NewConstants{
sb.append("\r\n");
sb.append("Samantha Stephens 3 hard Sloth' Painter's Servant Grindstone deck, an interesting combo");
sb.append("\r\n");
sb.append("Saruman 3 hard Sloth' Discard deck with Megrim, Liliana's Caress and Burning Inquiry ");
sb.append("Saruman 3 hard Sloth' Discard deck with Megrim, Liliana's Caress and Burning Inquiry ");
sb.append("\r\n");
sb.append("Scooby Doo 3 hard Rares' Red deck, Dragonmaster Outcast, Rakdos Pit Dragon, Kamahl, Pit Fighter");
sb.append("\r\n");
@@ -643,7 +643,7 @@ public class Gui_Quest extends JFrame implements NewConstants{
File file = new File(base, "notesIcon.png");
ImageIcon icon = new ImageIcon(file.toString());
JTextArea area = new JTextArea(sb.toString(), 35, 70);
JTextArea area = new JTextArea(sb.toString(), 35, 120);
area.setWrapStyleWord(true);
area.setLineWrap(true);
area.setEditable(false);

View File

@@ -55,6 +55,8 @@ public class QuestData implements NewConstants {
private int plantLevel;
private int wolfPetLevel;
private int crocPetLevel;
private int birdPetLevel;
private int houndPetLevel;
private String selectedPet;
@@ -261,6 +263,8 @@ public class QuestData implements NewConstants {
data.plantLevel = state.plantLevel;
data.wolfPetLevel = state.wolfPetLevel;
data.crocPetLevel = state.crocPetLevel;
data.birdPetLevel = state.birdPetLevel;
data.houndPetLevel = state.houndPetLevel;
data.selectedPet = state.selectedPet;
data.life = state.life;
data.estatesLevel = state.estatesLevel;
@@ -667,6 +671,26 @@ public class QuestData implements NewConstants {
return crocPetLevel;
}
public void addBirdPetLevel()
{
birdPetLevel++;
}
public int getBirdPetLevel()
{
return birdPetLevel;
}
public void addHoundPetLevel()
{
houndPetLevel++;
}
public int getHoundPetLevel()
{
return houndPetLevel;
}
public void setSelectedPet(String s)
{
selectedPet = s;
@@ -858,6 +882,8 @@ public class QuestData implements NewConstants {
state.plantLevel = q.plantLevel;
state.wolfPetLevel = q.wolfPetLevel;
state.crocPetLevel = q.crocPetLevel;
state.birdPetLevel = q.birdPetLevel;
state.houndPetLevel = q.houndPetLevel;
state.selectedPet = q.selectedPet;
state.life = q.life;
state.estatesLevel = q.estatesLevel;

View File

@@ -24,7 +24,7 @@ public class QuestData_State implements Serializable {
private static final long serialVersionUID = 7007940230351051937L;
int rankIndex, win, lost;
int plantLevel, wolfPetLevel, crocPetLevel, life, estatesLevel, luckyCoinLevel, sleightOfHandLevel, gearLevel, questsPlayed;
int plantLevel, wolfPetLevel, crocPetLevel, birdPetLevel, houndPetLevel, life, estatesLevel, luckyCoinLevel, sleightOfHandLevel, gearLevel, questsPlayed;
long credits;
String difficulty, mode, selectedPet;
@@ -38,7 +38,7 @@ public class QuestData_State implements Serializable {
* This constructor is used by QestData_State in the default package to create a replacement object for the
* obsolete class.
*/
public QuestData_State(int rankIndex, int win, int lost, int plantLevel, int wolfPetLevel, int crocPetLevel, String selectedPet, int life, int estatesLevel, int luckyCoinLevel, int sleightOfHandLevel, int gearLevel, int questsPlayed,
public QuestData_State(int rankIndex, int win, int lost, int plantLevel, int wolfPetLevel, int crocPetLevel, int birdPetLevel, int houndPetLevel, String selectedPet, int life, int estatesLevel, int luckyCoinLevel, int sleightOfHandLevel, int gearLevel, int questsPlayed,
ArrayList<Integer> availableQuests, ArrayList<Integer> completedQuests, long credits, String difficulty, String mode,
ArrayList<String> cardPool, ArrayList<String> shopList, Map<String, Deck> myDecks, Map<String, Deck> aiDecks) {
this.rankIndex = rankIndex;
@@ -47,6 +47,8 @@ public class QuestData_State implements Serializable {
this.plantLevel = plantLevel;
this.wolfPetLevel = wolfPetLevel;
this.crocPetLevel = crocPetLevel;
this.birdPetLevel = birdPetLevel;
this.houndPetLevel = houndPetLevel;
this.life = life;
this.estatesLevel = estatesLevel;
this.luckyCoinLevel = luckyCoinLevel;

View File

@@ -43,6 +43,10 @@ public class QuestUtil {
list.add(getWolfPetToken(qd.getWolfPetLevel()));
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)
@@ -270,6 +274,123 @@ public class QuestUtil {
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(Constant.Player.Human);
c.setOwner(Constant.Player.Human);
c.setManaCost("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 = 0;
}
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(Constant.Player.Human);
c.setOwner(Constant.Player.Human);
c.setManaCost("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>();
@@ -277,6 +398,11 @@ public class QuestUtil {
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;
}
@@ -313,6 +439,9 @@ public class QuestUtil {
else if (id == 2) //Blue Dungeon
{
for (int i=0;i<3;i++)
qa.addCompy("Merfolk of the Pearl Trident");
qa.setCardRewardList(pack.getRare(3, 3));
}
@@ -323,6 +452,9 @@ public class QuestUtil {
else if (id == 4) //Red Dungeon
{
for (int i=0;i<3;i++)
qa.addCompy("Mons's Goblin Raiders");
qa.setCardRewardList(pack.getRare(3, 5));
}