From 75d6ea6537920a0a4915be0261dd7441a11d6afc Mon Sep 17 00:00:00 2001 From: Agetian Date: Mon, 23 Apr 2018 09:21:55 +0300 Subject: [PATCH] - Unifying the list for card exceptions in DeckFormat, as suggested and coded by Austinio. --- forge-core/src/main/java/forge/deck/DeckFormat.java | 7 +++++++ .../forge/screens/deckeditor/controllers/ACEditorBase.java | 5 +---- forge-gui-mobile/src/forge/deck/FDeckEditor.java | 5 +---- forge-gui/src/main/java/forge/quest/QuestSpellShop.java | 4 ++-- 4 files changed, 11 insertions(+), 10 deletions(-) diff --git a/forge-core/src/main/java/forge/deck/DeckFormat.java b/forge-core/src/main/java/forge/deck/DeckFormat.java index f28d981b708..35c10525726 100644 --- a/forge-core/src/main/java/forge/deck/DeckFormat.java +++ b/forge-core/src/main/java/forge/deck/DeckFormat.java @@ -123,6 +123,13 @@ public enum DeckFormat { private final static String ADVPROCLAMATION = "Advantageous Proclamation"; private final static String SOVREALM = "Sovereign's Realm"; + private static final List limitExceptions = Arrays.asList( + new String[]{"Relentless Rats", "Shadowborn Apostle", "Rat Colony"}); + + public static List getLimitExceptions(){ + return limitExceptions; + } + private DeckFormat(Range mainRange0, Range sideRange0, int maxCardCopies0, Predicate cardPoolFilter0, Predicate paperCardPoolFilter0) { mainRange = mainRange0; sideRange = sideRange0; diff --git a/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/ACEditorBase.java b/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/ACEditorBase.java index eacc8abf6d1..8e54b6a07e3 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/ACEditorBase.java +++ b/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/ACEditorBase.java @@ -178,9 +178,6 @@ public abstract class ACEditorBase limitExceptions = Arrays.asList( - new String[]{"Relentless Rats", "Shadowborn Apostle", "Rat Colony"}); - /** * @return pool of additions allowed to deck */ @@ -212,7 +209,7 @@ public abstract class ACEditorBase { protected abstract void onCardActivated(PaperCard card); protected abstract void buildMenu(final FDropDownMenu menu, final PaperCard card); - private static final List limitExceptions = Arrays.asList( - new String[]{"Relentless Rats", "Shadowborn Apostle", "Rat Colony"}); - private ItemPool getAllowedAdditions(Iterable> itemsToAdd, boolean isAddSource) { ItemPool additions = new ItemPool(cardManager.getGenericType()); CardLimit limit = parentScreen.getCardLimit(); @@ -733,7 +730,7 @@ public class FDeckEditor extends TabPageScreen { if (deck == null || card == null) { max = Integer.MAX_VALUE; } - else if (limit == CardLimit.None || card.getRules().getType().isBasic() || limitExceptions.contains(card.getName())) { + else if (limit == CardLimit.None || card.getRules().getType().isBasic() || DeckFormat.getLimitExceptions().contains(card.getName())) { max = Integer.MAX_VALUE; if (parentScreen.isLimitedEditor() && !isAddSource) { //prevent adding more than is in other pool when editing limited decks diff --git a/forge-gui/src/main/java/forge/quest/QuestSpellShop.java b/forge-gui/src/main/java/forge/quest/QuestSpellShop.java index 2ec911003f8..e9196e417df 100644 --- a/forge-gui/src/main/java/forge/quest/QuestSpellShop.java +++ b/forge-gui/src/main/java/forge/quest/QuestSpellShop.java @@ -4,6 +4,7 @@ import com.google.common.base.Function; import forge.GuiBase; import forge.deck.CardPool; import forge.deck.Deck; +import forge.deck.DeckFormat; import forge.deck.DeckSection; import forge.item.*; import forge.itemmanager.IItemManager; @@ -345,8 +346,7 @@ public class QuestSpellShop { PaperCard card = (PaperCard)item.getKey(); int numToKeep = card.getRules().getType().isBasic() ? FModel.getQuestPreferences().getPrefInt(QPref.PLAYSET_BASIC_LAND_SIZE) : FModel.getQuestPreferences().getPrefInt(QPref.PLAYSET_SIZE); - if (card.getName().equals("Relentless Rats") || card.getName().equals("Shadowborn Apostle") - || card.getName().equals("Rat Colony")) { + if (DeckFormat.getLimitExceptions().contains(card.getName())) { numToKeep = FModel.getQuestPreferences().getPrefInt(QPref.PLAYSET_ANY_NUMBER_SIZE); } if (numToKeep < item.getValue()) {