mirror of
https://github.com/Cockatrice/Cockatrice.git
synced 2026-07-30 23:50:19 -07:00
Combine card legalities in Oracle (#5370)
- Some printings have different legalities, which cause Oracle to bug out - Fix #4783
This commit is contained in:
@@ -16,6 +16,8 @@ SplitCardPart::SplitCardPart(const QString &_name,
|
||||
{
|
||||
}
|
||||
|
||||
const QRegularExpression OracleImporter::formatRegex = QRegularExpression("^format-");
|
||||
|
||||
OracleImporter::OracleImporter(const QString &_dataDir, QObject *parent) : CardDatabase(parent), dataDir(_dataDir)
|
||||
{
|
||||
}
|
||||
@@ -118,6 +120,9 @@ CardInfoPtr OracleImporter::addCard(QString name,
|
||||
if (cards.contains(name)) {
|
||||
CardInfoPtr card = cards.value(name);
|
||||
card->addToSet(setInfo.getPtr(), setInfo);
|
||||
if (card->getProperties().filter(formatRegex).empty()) {
|
||||
card->combineLegalities(properties);
|
||||
}
|
||||
return card;
|
||||
}
|
||||
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
#define ORACLEIMPORTER_H
|
||||
|
||||
#include <QMap>
|
||||
#include <QRegularExpression>
|
||||
#include <QVariant>
|
||||
#include <game/cards/card_database.h>
|
||||
#include <utility>
|
||||
@@ -122,6 +123,7 @@ class OracleImporter : public CardDatabase
|
||||
private:
|
||||
const QStringList mainCardTypes = {"Planeswalker", "Creature", "Land", "Sorcery",
|
||||
"Instant", "Artifact", "Enchantment"};
|
||||
static const QRegularExpression formatRegex;
|
||||
QList<SetToDownload> allSets;
|
||||
QVariantMap setsMap;
|
||||
QString dataDir;
|
||||
|
||||
Reference in New Issue
Block a user