diff --git a/.gitattributes b/.gitattributes index 02e9b1084e3..bc657d60d12 100644 --- a/.gitattributes +++ b/.gitattributes @@ -11234,6 +11234,7 @@ src/main/java/forge/item/InventoryItem.java -text src/main/java/forge/item/InventoryItemFromSet.java -text src/main/java/forge/item/ItemPool.java -text src/main/java/forge/item/ItemPoolView.java -text +src/main/java/forge/item/PreconDeck.java -text src/main/java/forge/item/package-info.java -text src/main/java/forge/model/BuildInfo.java -text src/main/java/forge/model/FGameState.java -text @@ -11248,12 +11249,18 @@ src/main/java/forge/properties/NewConstants.java svneol=native#text/plain src/main/java/forge/properties/Preferences.java svneol=native#text/plain src/main/java/forge/properties/SavePreferencesListener.java svneol=native#text/plain src/main/java/forge/properties/package-info.java svneol=native#text/plain +src/main/java/forge/quest/ReadPriceList.java svneol=native#text/plain +src/main/java/forge/quest/SellRules.java -text +src/main/java/forge/quest/data/QuestChallenge.java svneol=native#text/plain src/main/java/forge/quest/data/QuestData.java svneol=native#text/plain src/main/java/forge/quest/data/QuestDataIO.java svneol=native#text/plain +src/main/java/forge/quest/data/QuestDuel.java svneol=native#text/plain +src/main/java/forge/quest/data/QuestEvent.java -text +src/main/java/forge/quest/data/QuestEventManager.java svneol=native#text/plain +src/main/java/forge/quest/data/QuestPreconManager.java -text src/main/java/forge/quest/data/QuestPreferences.java svneol=native#text/plain src/main/java/forge/quest/data/QuestUtil.java svneol=native#text/plain src/main/java/forge/quest/data/QuestUtilCards.java -text -src/main/java/forge/quest/data/ReadPriceList.java svneol=native#text/plain src/main/java/forge/quest/data/bazaar/QuestStallDefinition.java svneol=native#text/plain src/main/java/forge/quest/data/bazaar/QuestStallManager.java svneol=native#text/plain src/main/java/forge/quest/data/bazaar/QuestStallPurchasable.java svneol=native#text/plain @@ -11286,12 +11293,8 @@ src/main/java/forge/quest/gui/bazaar/QuestBazaarItem.java svneol=native#text/pla src/main/java/forge/quest/gui/bazaar/QuestBazaarPanel.java svneol=native#text/plain src/main/java/forge/quest/gui/bazaar/QuestBazaarStall.java svneol=native#text/plain src/main/java/forge/quest/gui/bazaar/package-info.java svneol=native#text/plain -src/main/java/forge/quest/gui/main/QuestChallenge.java svneol=native#text/plain src/main/java/forge/quest/gui/main/QuestChallengePanel.java -text -src/main/java/forge/quest/gui/main/QuestDuel.java svneol=native#text/plain src/main/java/forge/quest/gui/main/QuestDuelPanel.java -text -src/main/java/forge/quest/gui/main/QuestEvent.java -text -src/main/java/forge/quest/gui/main/QuestEventManager.java svneol=native#text/plain src/main/java/forge/quest/gui/main/QuestSelectablePanel.java -text src/main/java/forge/quest/gui/main/package-info.java svneol=native#text/plain src/main/java/forge/quest/gui/package-info.java svneol=native#text/plain diff --git a/src/main/java/forge/AllZone.java b/src/main/java/forge/AllZone.java index 74833602734..1456be7a443 100644 --- a/src/main/java/forge/AllZone.java +++ b/src/main/java/forge/AllZone.java @@ -34,8 +34,8 @@ import forge.model.FMatchState; import forge.properties.ForgeProps; import forge.properties.NewConstants; import forge.quest.data.QuestData; -import forge.quest.gui.main.QuestEvent; -import forge.quest.gui.main.QuestEventManager; +import forge.quest.data.QuestEvent; +import forge.quest.data.QuestEventManager; import forge.view.toolbox.FOverlay; /** @@ -172,7 +172,7 @@ public final class AllZone { * getQuestEvent. *
* - * @return a {@link forge.quest.gui.main.QuestEvent} object. + * @return a {@link forge.quest.data.QuestEvent} object. * @since 1.0.15 */ public static QuestEvent getQuestEvent() { @@ -185,7 +185,7 @@ public final class AllZone { * * * @param q - * a {@link forge.quest.gui.main.QuestEvent} object. + * a {@link forge.quest.data.QuestEvent} object. */ public static void setQuestEvent(final QuestEvent q) { AllZone.questEvent = q; @@ -196,7 +196,7 @@ public final class AllZone { * getQuestEventManager. * * - * @return {@link forge.quest.gui.main.QuestEventManager} object. + * @return {@link forge.quest.data.QuestEventManager} object. * @since 1.0.15 */ public static QuestEventManager getQuestEventManager() { @@ -209,7 +209,7 @@ public final class AllZone { * * * @param qem - * a {@link forge.quest.gui.main.QuestEventManager} object + * a {@link forge.quest.data.QuestEventManager} object */ public static void setQuestEventManager(final QuestEventManager qem) { AllZone.questEventManager = qem; diff --git a/src/main/java/forge/ImageCache.java b/src/main/java/forge/ImageCache.java index 967561f5436..9f68807b03b 100644 --- a/src/main/java/forge/ImageCache.java +++ b/src/main/java/forge/ImageCache.java @@ -114,7 +114,7 @@ public class ImageCache { } File file = null; - final String fName = key.endsWith(".png") ? key : key + ".jpg"; + final String fName = key.endsWith(".png") || key.endsWith(".jpg") ? key : key + ".jpg"; file = new File(path, fName); if (!file.exists()) { // DEBUG diff --git a/src/main/java/forge/control/home/ControlQuest.java b/src/main/java/forge/control/home/ControlQuest.java index a0fbef83d9b..5aa7f8aaf87 100644 --- a/src/main/java/forge/control/home/ControlQuest.java +++ b/src/main/java/forge/control/home/ControlQuest.java @@ -16,11 +16,11 @@ import forge.deck.Deck; import forge.game.GameType; import forge.gui.deckeditor.DeckEditorQuest; import forge.gui.deckeditor.DeckEditorShop; +import forge.quest.data.QuestChallenge; import forge.quest.data.QuestData; +import forge.quest.data.QuestEvent; import forge.quest.data.QuestUtil; import forge.quest.data.item.QuestItemZeppelin; -import forge.quest.gui.main.QuestChallenge; -import forge.quest.gui.main.QuestEvent; import forge.view.GuiTopLevel; import forge.view.home.ViewQuest; diff --git a/src/main/java/forge/deck/DeckIO.java b/src/main/java/forge/deck/DeckIO.java index 7a672398560..a233a6bb1eb 100644 --- a/src/main/java/forge/deck/DeckIO.java +++ b/src/main/java/forge/deck/DeckIO.java @@ -95,19 +95,22 @@ public class DeckIO { * a {@link java.io.File} object. * @return a {@link forge.deck.Deck} object. */ - public static Deck readDeck(final File deckFile) { - final List
@@ -295,6 +296,8 @@ public final class DeckEditorShop extends DeckEditorBase {
}
} else if (card instanceof BoosterPack) {
return 395;
+ } else if (card instanceof PreconDeck) {
+ return ((PreconDeck)card).getRecommendedDeals().getCost();
}
return 1337;
}
@@ -308,14 +311,17 @@ public final class DeckEditorShop extends DeckEditorBase {
final int value = this.getCardValue(item);
if (value <= this.questData.getCredits()) {
+
if (item instanceof CardPrinted) {
+ this.getTopTableWithCards().removeCard(item);
+
final CardPrinted card = (CardPrinted) item;
this.getBottomTableWithCards().addCard(card);
- this.getTopTableWithCards().removeCard(card);
-
this.questData.getCards().buyCard(card, value);
+
} else if (item instanceof BoosterPack) {
this.getTopTableWithCards().removeCard(item);
+
final BoosterPack booster = (BoosterPack) ((BoosterPack) item).clone();
this.questData.getCards().buyBooster(booster, value);
final List
diff --git a/src/main/java/forge/quest/gui/main/QuestEvent.java b/src/main/java/forge/quest/data/QuestEvent.java
similarity index 94%
rename from src/main/java/forge/quest/gui/main/QuestEvent.java
rename to src/main/java/forge/quest/data/QuestEvent.java
index 7d2a8ad3b95..752a4e65109 100644
--- a/src/main/java/forge/quest/gui/main/QuestEvent.java
+++ b/src/main/java/forge/quest/data/QuestEvent.java
@@ -15,7 +15,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see
@@ -63,7 +61,7 @@ public class QuestUtil {
* @param qd
* a {@link forge.quest.data.QuestData} object.
* @param qe
- * a {@link forge.quest.gui.main.QuestEvent} object.
+ * a {@link forge.quest.data.QuestEvent} object.
* @return a {@link forge.CardList} object.
*/
public static CardList getComputerStartingCards(final QuestData qd, final QuestEvent qe) {
@@ -114,7 +112,7 @@ public class QuestUtil {
* @param qd
* a {@link forge.quest.data.QuestData} object.
* @param qe
- * a {@link forge.quest.gui.main.QuestEvent} object.
+ * a {@link forge.quest.data.QuestEvent} object.
* @return a {@link forge.CardList} object.
*/
public static CardList getHumanStartingCards(final QuestData qd, final QuestEvent qe) {
diff --git a/src/main/java/forge/quest/data/QuestUtilCards.java b/src/main/java/forge/quest/data/QuestUtilCards.java
index 6a3843046ef..0cda96119ee 100644
--- a/src/main/java/forge/quest/data/QuestUtilCards.java
+++ b/src/main/java/forge/quest/data/QuestUtilCards.java
@@ -35,6 +35,7 @@ import forge.item.CardPrinted;
import forge.item.InventoryItem;
import forge.item.ItemPool;
import forge.item.ItemPoolView;
+import forge.item.PreconDeck;
import forge.util.MyRandom;
/**
@@ -204,6 +205,15 @@ public final class QuestUtilCards {
}
}
+ public void buyPreconDeck(final PreconDeck precon, final int value) {
+ if (this.q.getCredits() >= value) {
+ this.q.setCredits(this.q.getCredits() - value);
+ this.q.getShopList().remove(precon);
+ this.q.addDeck(precon.getDeck());
+ this.addAllCards(precon.getDeck().getMain().toFlatList());
+ }
+ }
+
/**
* Sell card.
*
@@ -293,6 +303,30 @@ public final class QuestUtilCards {
/**
* Generate cards in shop.
*/
+ final Predicate
diff --git a/src/main/java/forge/quest/gui/main/QuestDuelPanel.java b/src/main/java/forge/quest/gui/main/QuestDuelPanel.java
index 66b66796856..725d8bf92ba 100644
--- a/src/main/java/forge/quest/gui/main/QuestDuelPanel.java
+++ b/src/main/java/forge/quest/gui/main/QuestDuelPanel.java
@@ -17,6 +17,8 @@
*/
package forge.quest.gui.main;
+import forge.quest.data.QuestDuel;
+
/**
*
* QuestDuelPanel.
diff --git a/src/main/java/forge/quest/gui/main/QuestSelectablePanel.java b/src/main/java/forge/quest/gui/main/QuestSelectablePanel.java
index 6be13e88a7c..8b5984a5148 100644
--- a/src/main/java/forge/quest/gui/main/QuestSelectablePanel.java
+++ b/src/main/java/forge/quest/gui/main/QuestSelectablePanel.java
@@ -34,6 +34,7 @@ import javax.swing.border.LineBorder;
import forge.gui.GuiUtils;
import forge.properties.ForgeProps;
import forge.properties.NewConstants;
+import forge.quest.data.QuestEvent;
/**
*
diff --git a/src/main/java/forge/view/home/ViewQuest.java b/src/main/java/forge/view/home/ViewQuest.java
index c51a44a0f26..aa9c636ec16 100644
--- a/src/main/java/forge/view/home/ViewQuest.java
+++ b/src/main/java/forge/view/home/ViewQuest.java
@@ -31,14 +31,14 @@ import forge.control.home.ControlQuest;
import forge.gui.GuiUtils;
import forge.properties.ForgeProps;
import forge.properties.NewConstants;
+import forge.quest.data.QuestChallenge;
import forge.quest.data.QuestData;
import forge.quest.data.QuestDataIO;
+import forge.quest.data.QuestDuel;
+import forge.quest.data.QuestEvent;
+import forge.quest.data.QuestEventManager;
import forge.quest.data.item.QuestItemZeppelin;
import forge.quest.data.pet.QuestPetAbstract;
-import forge.quest.gui.main.QuestChallenge;
-import forge.quest.gui.main.QuestDuel;
-import forge.quest.gui.main.QuestEvent;
-import forge.quest.gui.main.QuestEventManager;
import forge.view.toolbox.FList;
import forge.view.toolbox.FProgressBar;
import forge.view.toolbox.FScrollPane;
NEW_DECKS="decks-dir". */
public static final String NEW_DECKS = "decks-dir";
+
/** Constant TOKENS="tokens". */
public static final String TOKENS = "tokens";
@@ -206,6 +207,8 @@ public final class NewConstants {
/** The PET_TOKEN_IMAGES. */
public static final String PET_TOKEN_IMAGES = "quest/pet/tokens";
+
+ public static final String PRECONS = "quest/precons-dir";
}
/**
diff --git a/src/main/java/forge/quest/data/ReadPriceList.java b/src/main/java/forge/quest/ReadPriceList.java
similarity index 99%
rename from src/main/java/forge/quest/data/ReadPriceList.java
rename to src/main/java/forge/quest/ReadPriceList.java
index b489c46afd7..f944bde852e 100644
--- a/src/main/java/forge/quest/data/ReadPriceList.java
+++ b/src/main/java/forge/quest/ReadPriceList.java
@@ -15,7 +15,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see