* don't sort split card halves alphabetically
fixes#4241
introduces new issue: aftermath cards are now switched upside down
* use list instead of multimap to enforce preservation of a given order
* Fix#4043, Support MTGJSONv5 format in Oracle downloader
* Auto redirect V4 downloads to V5, as we won't support V4 after this change
* clangify >_>
* Remove null values and account for IDs missing
* fix split cards and double faced cards somewhat
* do not consider double faced cards duplicates
* fix promo double sided cards
* typo
* fix alternative versions of cards with (letter)
* zach says this is more readable
* pre qt 5.10 compatibility
Co-authored-by: ebbit1q <ebbit1q@gmail.com>
mana artifacts will use the stack and be placed in the normal tablerow
if you want to put it with your lands you're free to do so, as long as
you promise to not say oh this should not be here three turns after
shatterstorm resolved
* consider cards with frameEffects promos
* skip duplicates entirely
all cards that are not "promo" or something like it will only retain the first copy instead of parsing all of them and keeping the last
* ignore stars and promos but only sometimes
this will correct #3706 and #3715 being a bit overzealous in removing
cards and thus fix scheme cards being removed in entirety
fix#3845
note that this causes a lot more cards to be added that are in promo
sets, if these promo sets should prove to be problematic they should be
disabled somehow as having them as an option is still nice.
* remove debug lines
* add support for adventures to oracle
this causes cockatrice to correctly fetch the front of the card for the adventure portion rather than sending lots of bad requests to scryfall
* treat adventures more like split cards
* dont hardcode `maintype: creature`
* Deal with recent Qt methods deprecation
* Use std::sort, std::less instead of qSort/qLess
* Use QFontMetrics::horizontalAdvance instead of ::width
* Use qApp->primaryScreen() instead of QDesktopWidget
* use lambas instead of QSignalMapper
* Use QTreeWidgetItem::setForeground instead of ::setTextColor
* Use QDir::setPath instead of operator=(QString)
* Use QList::swapItemsAt instead of ::swap
* fix error