diff --git a/src/main/java/forge/AllZone.java b/src/main/java/forge/AllZone.java
index b08894d351f..b9af4528876 100644
--- a/src/main/java/forge/AllZone.java
+++ b/src/main/java/forge/AllZone.java
@@ -18,6 +18,7 @@ import forge.properties.NewConstants;
import forge.quest.data.QuestMatchState;
import forge.quest.data.QuestData;
import forge.quest.gui.main.QuestChallenge;
+import forge.quest.gui.main.QuestEvent;
import forge.quest.gui.main.QuestEventManager;
/**
@@ -39,12 +40,16 @@ public final class AllZone implements NewConstants {
// blank
}
-
/** Global questData. */
private static forge.quest.data.QuestData questData = null;
/** Global QuestChallenge. */
private static QuestChallenge questChallenge = null;
+ // QuestChallenge extends QuestEvent. This global will be deprecated shortly,
+ // and the QuestEvent global used instead. doublestrike 28-09-11
+
+ /** Global QuestChallenge. */
+ private static QuestEvent questEvent = null;
/** Global questEventManager. */
private static QuestEventManager questEventManager = null;
@@ -140,9 +145,11 @@ public final class AllZone implements NewConstants {
/**
*
getQuestChallenge.
* - * @return a {@link forge.Quest_Assignment} object. + * @return a {@link forge.quest.gui.main.QuestChallenge} object. * @since 1.0.15 */ + // QuestChallenge extends QuestEvent. This global will be deprecated shortly, + // and the QuestEvent global used instead. doublestrike 28-09-11 public static QuestChallenge getQuestChallenge() { return questChallenge; } @@ -150,16 +157,35 @@ public final class AllZone implements NewConstants { /** *setQuestChallenge.
* - * @param q + * @param {@link forge.quest.gui.main.QuestChallenge} object. */ public static void setQuestChallenge(final QuestChallenge q) { questChallenge = q; } /** - *getQuestEvents.
+ *getQuestEvent.
* - * @return a QuestChallenge object. + * @return a {@link forge.quest.gui.main.QuestEvent} object. + * @since 1.0.15 + */ + public static QuestEvent getQuestEvent() { + return questEvent; + } + + /** + *setQuestEvent.
+ * + * @param {@link forge.quest.gui.main.QuestEvent} object. + */ + public static void setQuestEvent(final QuestEvent q) { + questEvent = q; + } + + /** + *getQuestEventManager.
+ * + * @return {@link forge.quest.gui.main.QuestEventManager} object. * @since 1.0.15 */ public static QuestEventManager getQuestEventManager() { @@ -167,9 +193,9 @@ public final class AllZone implements NewConstants { } /** - *setQuestEvents.
+ *setQuestEventManager.
* - * @param q + * @param {@link forge.quest.gui.main.QuestEventManager} object */ public static void setQuestEventManager(final QuestEventManager qem) { questEventManager = qem; diff --git a/src/main/java/forge/quest/data/QuestUtilRewards.java b/src/main/java/forge/quest/data/QuestUtilRewards.java index 328b1bc8ec5..4441e304a46 100644 --- a/src/main/java/forge/quest/data/QuestUtilRewards.java +++ b/src/main/java/forge/quest/data/QuestUtilRewards.java @@ -44,9 +44,27 @@ public class QuestUtilRewards { * @return a long. */ public long getCreditsToAdd(final QuestMatchState matchState) { - long creds = (long) (QuestPreferences.getMatchRewardBase() + + int base = QuestPreferences.getMatchRewardBase(); + double multiplier = 1; + + String diff = AllZone.getQuestEvent().getDifficulty(); + if(diff.equalsIgnoreCase("medium")) { + multiplier = 1.5; + } + else if(diff.equalsIgnoreCase("hard")) { + multiplier = 2; + } + else if(diff.equalsIgnoreCase("very hard")) { + multiplier = 2.5; + } + else if(diff.equalsIgnoreCase("expert")) { + multiplier = 3; + } + + long creds = (long) (base*multiplier + (QuestPreferences.getMatchRewardTotalWins() * q.getWin())); - + boolean hasNeverLost = true; Player computer = AllZone.getComputerPlayer(); for (GameSummary game : matchState.getGamesPlayed()) { diff --git a/src/main/java/forge/quest/gui/QuestMainPanel.java b/src/main/java/forge/quest/gui/QuestMainPanel.java index 42d84a70e28..b80899c09a3 100644 --- a/src/main/java/forge/quest/gui/QuestMainPanel.java +++ b/src/main/java/forge/quest/gui/QuestMainPanel.java @@ -703,6 +703,9 @@ public class QuestMainPanel extends QuestAbstractPanel { Deck computer = selectedOpponent.getEvent().getEventDeck(); Constant.Runtime.ComputerDeck[0] = computer; + QuestDuel selectedDuel = (QuestDuel)selectedOpponent.getEvent(); + AllZone.setQuestEvent(selectedDuel); + AllZone.getGameAction().newGame(humanDeck, computer, forge.quest.data.QuestUtil.getHumanStartingCards(questData), new CardList(), questData.getLife(), 20, null); } @@ -718,7 +721,10 @@ public class QuestMainPanel extends QuestAbstractPanel { Deck computer = selectedOpponent.getEvent().getEventDeck(); Constant.Runtime.ComputerDeck[0] = computer; - AllZone.setQuestChallenge(selectedChallenge); + AllZone.setQuestEvent(selectedChallenge); + + // will be deprecated in favor of setQuestEvent, see note in AllZone. doublestrike 28-09-11 + AllZone.setQuestChallenge(selectedChallenge); int extraLife = 0;