diff --git a/forge-core/src/main/java/forge/ImageKeys.java b/forge-core/src/main/java/forge/ImageKeys.java index c4c002e9cc2..946bb85f181 100644 --- a/forge-core/src/main/java/forge/ImageKeys.java +++ b/forge-core/src/main/java/forge/ImageKeys.java @@ -119,13 +119,22 @@ public final class ImageKeys { if (file != null) { return file; } } - // try without set name if (dir.equals(CACHE_TOKEN_PICS_DIR)) { int index = filename.lastIndexOf('_'); if (index != -1) { String setlessFilename = filename.substring(0, index); + String setCode = filename.substring(index + 1, filename.length()); + // try with upper case set + file = findFile(dir, setlessFilename + "_" + setCode.toUpperCase()); + if (file != null) { return file; } + // try without set name file = findFile(dir, setlessFilename); if (file != null) { return file; } + // if there's an art variant try without it + if (setlessFilename.matches(".*[0-9]*$")) { + file = findFile(dir, setlessFilename.replaceAll("[0-9]*$", "")); + if (file != null) { return file; } + } } } else if (filename.contains("/")) { String setlessFilename = filename.substring(filename.indexOf('/') + 1);