diff --git a/forge-core/src/main/java/forge/card/CardDb.java b/forge-core/src/main/java/forge/card/CardDb.java index 22fe40aa112..7fcfbfd2a49 100644 --- a/forge-core/src/main/java/forge/card/CardDb.java +++ b/forge-core/src/main/java/forge/card/CardDb.java @@ -312,14 +312,18 @@ public final class CardDb implements ICardDatabase, IDeckGenPool { return tryGetCard(request); } - public String getCardCollectorNumber(String cardName, String reqEdition) { + public String getCardCollectorNumber(String cardName, String reqEdition, int artIndex) { cardName = getName(cardName); CardEdition edition = editions.get(reqEdition); if (edition == null) return null; + int numMatches = 0; for (CardInSet card : edition.getCards()) { if (card.name.equalsIgnoreCase(cardName)) { - return card.collectorNumber; + numMatches += 1; + if (numMatches == artIndex) { + return card.collectorNumber; + } } } return null; diff --git a/forge-gui/src/main/java/forge/util/ImageFetcher.java b/forge-gui/src/main/java/forge/util/ImageFetcher.java index 323b9c39189..0ab7b0ed0e8 100644 --- a/forge-gui/src/main/java/forge/util/ImageFetcher.java +++ b/forge-gui/src/main/java/forge/util/ImageFetcher.java @@ -50,8 +50,9 @@ public abstract class ImageFetcher { setDownload.append(ImageUtil.getDownloadUrl(paperCard, backFace)); downloadUrls.add(setDownload.toString()); + int artIndex = Integer.parseInt(imageKey.split("\\|")[2]); final StaticData data = StaticData.instance(); - final String cardNum = data.getCommonCards().getCardCollectorNumber(paperCard.getName(), paperCard.getEdition()); + final String cardNum = data.getCommonCards().getCardCollectorNumber(paperCard.getName(), paperCard.getEdition(), artIndex); if (cardNum != null) { String suffix = ""; if (paperCard.getRules().getOtherPart() != null) {