From 455acffeab276b6e2f42cad54513dee384555af7 Mon Sep 17 00:00:00 2001 From: leriomaggio Date: Fri, 10 Sep 2021 18:23:36 +0100 Subject: [PATCH] Update to SmartCardArt accounting for any preferred art. If there is any preferredArt, update will never be applied. The scenario is: if card was originally without any specified edition, AND there is preferred art, that would've been returned in the first place. Thus, if the smartCardArt optimisation is enabled, any card with the preferred art won't be updated iff edition and artIndex coincide. Signed-off-by: leriomaggio --- forge-core/src/main/java/forge/card/CardDb.java | 4 ++++ forge-core/src/main/java/forge/deck/Deck.java | 6 ++++++ 2 files changed, 10 insertions(+) diff --git a/forge-core/src/main/java/forge/card/CardDb.java b/forge-core/src/main/java/forge/card/CardDb.java index 266ec4403fa..590d4f0f63f 100644 --- a/forge-core/src/main/java/forge/card/CardDb.java +++ b/forge-core/src/main/java/forge/card/CardDb.java @@ -402,6 +402,10 @@ public final class CardDb implements ICardDatabase, IDeckGenPool { return false; } + public boolean hasPreferredArt(String cardName){ + return artPrefs.getOrDefault(cardName, null) != null; + } + public CardRules getRules(String cardName) { CardRules result = rulesByName.get(cardName); if (result != null) { diff --git a/forge-core/src/main/java/forge/deck/Deck.java b/forge-core/src/main/java/forge/deck/Deck.java index 1aba50342f6..97505c987b4 100644 --- a/forge-core/src/main/java/forge/deck/Deck.java +++ b/forge-core/src/main/java/forge/deck/Deck.java @@ -443,6 +443,12 @@ public class Deck extends DeckBase implements Iterable