mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-20 12:48:00 +00:00
- The art indexes in .dck files now start at 1, not at 0, and thus match the image file name conventions (e.g. index 1 for a Forest matches Forest1.full.jpg). Note that if you had decks created with different art in mind prior to this beta, the art in your decks will be slightly off (index 0 will be treated as index 1 for the sake of limited backwards compatibility). Please update your decks if necessary.
This commit is contained in:
@@ -169,13 +169,15 @@ public final class CardDb implements ICardDatabase {
|
||||
final String cardName = isFoil ? this.removeFoilSuffix(cardName0) : cardName0;
|
||||
|
||||
final List<String> splitName = CardDb.splitCardName(cardName);
|
||||
final int artIndex = Integer.parseInt(splitName.get(2));
|
||||
final int effectiveArtIndex = artIndex == 0 ? 1 : artIndex - 1;
|
||||
|
||||
final PaperCard res = splitName.get(1) == null
|
||||
? ( fromLastSet ? this.uniqueCardsByName.get(splitName.get(0)) : tryGetCard(splitName.get(0), Aggregates.random(this.allCardsByName.get(splitName.get(0))).getEdition(), -1))
|
||||
: tryGetCard(splitName.get(0), splitName.get(1), Integer.parseInt(splitName.get(2)));
|
||||
: tryGetCard(splitName.get(0), splitName.get(1), effectiveArtIndex);
|
||||
|
||||
if (fromLastSet && null != res && CardEdition.UNKNOWN.getCode() != res.getEdition()) {
|
||||
final PaperCard res_randart = tryGetCard(res.getName(), res.getEdition(), Integer.parseInt(splitName.get(2)));
|
||||
final PaperCard res_randart = tryGetCard(res.getName(), res.getEdition(), effectiveArtIndex);
|
||||
return null != res_randart && isFoil ? getFoiled(res_randart) : res_randart;
|
||||
}
|
||||
|
||||
@@ -186,11 +188,14 @@ public final class CardDb implements ICardDatabase {
|
||||
public PaperCard tryGetCardPrintedByDate(final String name0, final boolean fromLatestSet, final Date printedBefore) {
|
||||
final boolean isFoil = this.isFoil(name0);
|
||||
final String cardName = isFoil ? this.removeFoilSuffix(name0) : name0;
|
||||
|
||||
final List<String> splitName = CardDb.splitCardName(cardName);
|
||||
final int artIndex = Integer.parseInt(splitName.get(2));
|
||||
final int effectiveArtIndex = artIndex == 0 ? 1 : artIndex - 1;
|
||||
|
||||
PaperCard res = null;
|
||||
if (null != splitName.get(1)) // set explicitly requested, should return card from it and disregard the date
|
||||
res = tryGetCard(splitName.get(0), splitName.get(1), Integer.parseInt(splitName.get(2)));
|
||||
res = tryGetCard(splitName.get(0), splitName.get(1), effectiveArtIndex);
|
||||
else {
|
||||
Collection<PaperCard> cards = this.allCardsByName.get(splitName.get(0)); // cards are sorted by datetime desc
|
||||
int idxRightSet = 0;
|
||||
|
||||
@@ -229,7 +229,7 @@ public class Deck extends DeckBase implements Iterable<Entry<DeckSection, CardPo
|
||||
sb.append("|").append(card.getEdition());
|
||||
|
||||
if (artCount > 1) {
|
||||
sb.append("|").append(card.getArtIndex());
|
||||
sb.append("|").append(card.getArtIndex() + 1); // indexes start at 1 to match image file name conventions
|
||||
}
|
||||
}
|
||||
if(card.isFoil()) {
|
||||
|
||||
Reference in New Issue
Block a user