Investigamer/Proxyshop

Feature request: Possibility to configure a template to default to scraping earliest printing from scryfall instead of latest

Closed this issue · 1 comments

Background

In the current version of Proxyshop, when fetching card layout info from scryfall, if a user has not explicitly specified the set code in the art file — for example the user has Force of Will.jpg instead of Force of Will [ALL].jpg — then Proxyshop will default to picking the latest printing available on scryfall.

This is problematic for a couple of reasons:

1. Super recent reprints = defaults to cube symbol instead of better alternatives

If the card has been reprinted in a set that is brand new, then it's possible that the set symbol does not yet exist in Proxyshop. And in this case it will default to using the default "cube" set symbol (or whatever is in the config.ini as the default). Indeed, this is exactly what is currently happening with Force of Will — it is reprinted in Dominaria United (DMR), which does not yet have its set symbol in Proxyshop. So it defaults to the cube symbol. But in my opinion it would be better to have it default to pretty much any set symbol other than the cube symbol — either 2XM, J14, or ALL.

2. Latest printing makes sense as a default layout for M15 templates, but not pre-M15 templates

While I do see how it makes sense for cards rendered with an M15 template (i.e. normal.psd) to default to the latest printing, I would argue this makes less sense as the default behavior for old-school templates like "normal-classic.psd" (or for basically any pre-M15 template). Ideally, the normal-classic template would default to the latest printing prior to 8th edition, if such a printing exists; else earliest printing across all sets (because 8th is when wotc stopped using the normal-classic frame), However, since I fear that this logic might be a bit too complex, then it's probably simpler to just default to earliest printing across all sets — call it a a happy compromise.

User story

So, what exactly am I asking for?

As a ...

Proxyshop template/plugin creator (whose primary interest is in creating templates for old-school and pre-M15 cards),

I wish to ...

be able to change the default behavior of Proxyshop from "use latest printing" to "use earliest printing" (ideally by having some parameter I can invoke in, say, the init part of of my custom template class (or anywhere, really),

so that ...

people who use my template(s) won't be required to manually specify the set for all their cards in order to avoid getting a strange and anachronistic mix like a "Dominaria United" version of a card rendered on an old-school frame (see screenshot below)

Because, if they are using an old-school template to render a card like Force of Will, then it's quite clear that their intention is to produce an old printing of that card (like Alliances or 2XU); not the Dominaria United version.

Screenshot

image

Feature has been added in latest commit!