mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-18 03:38:01 +00:00
uppercase token set and fallback token
This commit is contained in:
@@ -72,14 +72,14 @@ public class PaperToken implements InventoryItemFromSet, IPaperCard {
|
|||||||
}
|
}
|
||||||
// TODO make better image file names when collector number is known
|
// TODO make better image file names when collector number is known
|
||||||
// for the right index, we need to count the ones with wrong collector number too
|
// for the right index, we need to count the ones with wrong collector number too
|
||||||
this.imageFileName.add(String.format("%s|%s|%s|%d", imageFileName, edition.getCode().toLowerCase(), collectorNumber, idx));
|
this.imageFileName.add(String.format("%s|%s|%s|%d", imageFileName, edition.getCode(), collectorNumber, idx));
|
||||||
}
|
}
|
||||||
this.artIndex = this.imageFileName.size();
|
this.artIndex = this.imageFileName.size();
|
||||||
} else if (null == edition || CardEdition.UNKNOWN == edition) {
|
} else if (null == edition || CardEdition.UNKNOWN == edition) {
|
||||||
this.imageFileName.add(imageFileName);
|
this.imageFileName.add(imageFileName);
|
||||||
} else {
|
} else {
|
||||||
// Fallback if CollectorNumber is not used
|
// Fallback if CollectorNumber is not used
|
||||||
this.imageFileName.add(String.format("%s|%s", imageFileName, edition.getCode().toLowerCase()));
|
this.imageFileName.add(String.format("%s|%s", imageFileName, edition.getCode()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -75,6 +75,17 @@ public class TokenDb implements ITokenDatabase {
|
|||||||
return new PaperToken(rulesByName.get(name), edition, name, t.collectorNumber, t.artistName);
|
return new PaperToken(rulesByName.get(name), edition, name, t.collectorNumber, t.artistName);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// try all editions to find token
|
||||||
|
protected PaperToken fallbackToken(String name) {
|
||||||
|
for (CardEdition edition : this.editions) {
|
||||||
|
String fullName = String.format("%s_%s", name, edition.getCode().toLowerCase());
|
||||||
|
if (loadTokenFromSet(edition, name)) {
|
||||||
|
return Aggregates.random(allTokenByName.get(fullName));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public PaperToken getToken(String tokenName) {
|
public PaperToken getToken(String tokenName) {
|
||||||
return getToken(tokenName, CardEdition.UNKNOWN.getCode());
|
return getToken(tokenName, CardEdition.UNKNOWN.getCode());
|
||||||
@@ -89,6 +100,10 @@ public class TokenDb implements ITokenDatabase {
|
|||||||
if (loadTokenFromSet(realEdition, tokenName)) {
|
if (loadTokenFromSet(realEdition, tokenName)) {
|
||||||
return Aggregates.random(allTokenByName.get(fullName));
|
return Aggregates.random(allTokenByName.get(fullName));
|
||||||
}
|
}
|
||||||
|
PaperToken fallback = this.fallbackToken(tokenName);
|
||||||
|
if (fallback != null) {
|
||||||
|
return fallback;
|
||||||
|
}
|
||||||
|
|
||||||
if (!extraTokensByName.containsKey(fullName)) {
|
if (!extraTokensByName.containsKey(fullName)) {
|
||||||
try {
|
try {
|
||||||
|
|||||||
Reference in New Issue
Block a user