diff --git a/forge-game/src/main/java/forge/Dependencies.java b/forge-game/src/main/java/forge/Dependencies.java index f4d4fb72677..86698b916ac 100644 --- a/forge-game/src/main/java/forge/Dependencies.java +++ b/forge-game/src/main/java/forge/Dependencies.java @@ -8,7 +8,6 @@ public class Dependencies { @Deprecated public abstract boolean getCloneModeSource(); @Deprecated public abstract String getLogEntryType(); @Deprecated public abstract String getCurrentAiProfile(); - @Deprecated public abstract boolean canRandomFoil(); @Deprecated public abstract boolean isManaBurnEnabled(); @Deprecated public abstract boolean areBlocksFree(); } diff --git a/forge-game/src/main/java/forge/game/Match.java b/forge-game/src/main/java/forge/game/Match.java index 6954e59c5fa..206fe35ec1f 100644 --- a/forge-game/src/main/java/forge/game/Match.java +++ b/forge-game/src/main/java/forge/game/Match.java @@ -16,7 +16,6 @@ import com.google.common.collect.Iterables; import com.google.common.collect.Lists; import com.google.common.collect.Multimap; -import forge.Dependencies; import forge.deck.CardPool; import forge.deck.Deck; import forge.deck.DeckSection; @@ -97,14 +96,13 @@ public class Match { * TODO: Write javadoc for this method. */ public void startGame(final Game game, final CountDownLatch latch) { - final boolean canRandomFoil = Dependencies.preferences.canRandomFoil() && gameType == GameType.Constructed; + // This code could be run run from EDT. game.getAction().invoke(new Runnable() { @Override public void run() { - prepareAllZones(game, canRandomFoil); - + prepareAllZones(game); if (useAnte) { // Deciding which cards go to ante Multimap list = game.chooseCardsForAnte(); for (Entry kv : list.entries()) { @@ -254,7 +252,7 @@ public class Match { library.setCards(newLibrary); } - private void prepareAllZones(final Game game, final boolean canRandomFoil) { + private void prepareAllZones(final Game game) { // need this code here, otherwise observables fail Trigger.resetIDs(); game.getTriggerHandler().clearDelayedTrigger(); @@ -305,9 +303,9 @@ public class Match { Random generator = MyRandom.getRandom(); - preparePlayerLibrary(player, ZoneType.Library, myDeck.getMain(), canRandomFoil, generator); + preparePlayerLibrary(player, ZoneType.Library, myDeck.getMain(), psc.useRandomFoil(), generator); if (myDeck.has(DeckSection.Sideboard)) { - preparePlayerLibrary(player, ZoneType.Sideboard, myDeck.get(DeckSection.Sideboard), canRandomFoil, generator); + preparePlayerLibrary(player, ZoneType.Sideboard, myDeck.get(DeckSection.Sideboard), psc.useRandomFoil(), generator); } player.shuffle(null); diff --git a/forge-game/src/main/java/forge/game/player/RegisteredPlayer.java b/forge-game/src/main/java/forge/game/player/RegisteredPlayer.java index 98a8809057e..821c220eea2 100644 --- a/forge-game/src/main/java/forge/game/player/RegisteredPlayer.java +++ b/forge-game/src/main/java/forge/game/player/RegisteredPlayer.java @@ -155,4 +155,13 @@ public class RegisteredPlayer { public void restoreDeck() { currentDeck = (Deck) originalDeck.copyTo(originalDeck.getName()); } + + private boolean randomFoil = false; + public void setRandomFoil(boolean useRandomFoil) { + this.randomFoil = useRandomFoil; + } + + public boolean useRandomFoil() { + return randomFoil; + } } diff --git a/forge-gui/src/main/java/forge/PreferencesProvider.java b/forge-gui/src/main/java/forge/PreferencesProvider.java index 40c84557656..a34723a14fc 100644 --- a/forge-gui/src/main/java/forge/PreferencesProvider.java +++ b/forge-gui/src/main/java/forge/PreferencesProvider.java @@ -23,11 +23,6 @@ public class PreferencesProvider implements Dependencies.PreferencesMethods { return Singletons.getModel().getPreferences().getPref(FPref.UI_CURRENT_AI_PROFILE); } - @Override - public boolean canRandomFoil() { - return Singletons.getModel().getPreferences().getPrefBoolean(FPref.UI_RANDOM_FOIL); - } - @Override public boolean isManaBurnEnabled() { // TODO Auto-generated method stub diff --git a/forge-gui/src/main/java/forge/control/FControl.java b/forge-gui/src/main/java/forge/control/FControl.java index 0b3fd3d48c2..a972aad143f 100644 --- a/forge-gui/src/main/java/forge/control/FControl.java +++ b/forge-gui/src/main/java/forge/control/FControl.java @@ -558,6 +558,12 @@ public enum FControl implements KeyEventDispatcher { } public void startMatch(GameType gameType, List starter) { + + boolean useRandomFoil = Singletons.getModel().getPreferences().getPrefBoolean(FPref.UI_RANDOM_FOIL); + for(RegisteredPlayer rp : starter) { + rp.setRandomFoil(useRandomFoil); + } + boolean useAnte = Singletons.getModel().getPreferences().getPrefBoolean(FPref.UI_ANTE); final Match mc = new Match(gameType, starter, useAnte); SOverlayUtils.startGameOverlay();