From b41d76749c56f0c080df6d7af44a073a7e175e58 Mon Sep 17 00:00:00 2001 From: tool4EvEr Date: Sun, 1 May 2022 17:03:21 +0200 Subject: [PATCH] Fix duplicating cards in quest mode --- .../screens/deckeditor/controllers/DeckController.java | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/DeckController.java b/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/DeckController.java index e7a49dfb20b..3d109153ce0 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/DeckController.java +++ b/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/DeckController.java @@ -91,8 +91,10 @@ public class DeckController { } public void loadDeck(Deck deck, boolean substituteCurrentDeck) { boolean isStored; - if (view.getCatalogManager().isInfinite()) { - Deck currentDeck = view.getHumanDeck(); + boolean isInfinite = view.getCatalogManager().isInfinite(); + Deck currentDeck = view.getHumanDeck(); + + if (isInfinite) { if (substituteCurrentDeck || currentDeck.isEmpty()) { newModel(); isStored = false; @@ -107,10 +109,12 @@ public class DeckController { isStored = false; } - Deck currentDeck = view.getHumanDeck(); for (DeckSection section: EnumSet.allOf(DeckSection.class)) { if (view.isSectionImportable(section)) { CardPool sectionCards = currentDeck.getOrCreate(section); + if (!isInfinite) { + sectionCards.clear(); + } sectionCards.addAll(deck.getOrCreate(section)); } }