diff --git a/cockatrice/src/game/cards/card_database.cpp b/cockatrice/src/game/cards/card_database.cpp index a0eaaa85c..552a56d49 100644 --- a/cockatrice/src/game/cards/card_database.cpp +++ b/cockatrice/src/game/cards/card_database.cpp @@ -635,6 +635,27 @@ CardInfoPerSet CardDatabase::getPreferredSetForCard(const QString &cardName) return CardInfoPerSet(nullptr); } +CardInfoPerSet CardDatabase::getSpecificSetForCard(const QString &cardName, const QString &uuid) const +{ + CardInfoPtr cardInfo = getCard(cardName); + if (!cardInfo) { + return CardInfoPerSet(nullptr); + } + + CardInfoPerSetMap setMap = cardInfo->getSets(); + if (setMap.empty()) { + return CardInfoPerSet(nullptr); + } + + for (auto &cardInfoForSet : setMap) { + if (cardInfoForSet.getProperty("uuid") == uuid) { + return cardInfoForSet; + } + } + + return CardInfoPerSet(nullptr); +} + QString CardDatabase::getPreferredPrintingUUIDForCard(const QString &cardName) { CardInfoPerSet preferredSetCardInfo = getPreferredSetForCard(cardName); diff --git a/cockatrice/src/game/cards/card_database.h b/cockatrice/src/game/cards/card_database.h index fcce08683..617245868 100644 --- a/cockatrice/src/game/cards/card_database.h +++ b/cockatrice/src/game/cards/card_database.h @@ -431,6 +431,7 @@ public: QList getCards(const QStringList &cardNames) const; CardInfoPtr getCardByNameAndUUID(const QString &cardName, const QString &uuid) const; CardInfoPerSet getPreferredSetForCard(const QString &cardName); + CardInfoPerSet getSpecificSetForCard(const QString &cardName, const QString &uuid) const; QString getPreferredPrintingUUIDForCard(const QString &cardName); CardInfoPtr guessCard(const QString &cardName) const;