From 10d68be254ddc6a1632707a3365bfdc05f3046d4 Mon Sep 17 00:00:00 2001 From: Christian Daniel Jensen Date: Mon, 2 Nov 2026 05:49:51 -0700 Subject: [PATCH] Render and filter Continuum Universes Essence symbols instead of MTG mana --- .../additional_info/mana_cost_widget.cpp | 26 +++---------------- 1 file changed, 3 insertions(+), 23 deletions(-) diff --git a/cockatrice/src/interface/widgets/cards/additional_info/mana_cost_widget.cpp b/cockatrice/src/interface/widgets/cards/additional_info/mana_cost_widget.cpp index f6efd267e..cc10f76bf 100644 --- a/cockatrice/src/interface/widgets/cards/additional_info/mana_cost_widget.cpp +++ b/cockatrice/src/interface/widgets/cards/additional_info/mana_cost_widget.cpp @@ -1,6 +1,7 @@ #include "mana_cost_widget.h" #include "libcockatrice/card/card_info.h" +#include #include "mana_symbol_widget.h" #include @@ -51,28 +52,7 @@ void ManaCostWidget::resizeEvent(QResizeEvent *event) } } -QStringList ManaCostWidget::parseManaCost(const QString &cmc) +QStringList ManaCostWidget::parseManaCost(const QString &essenceCost) { - QStringList symbols; - - // Handle split costs (e.g., "3U // 4UU") - QStringList splitCosts = cmc.split(" // "); - for (const QString &part : splitCosts) { - QRegularExpression regex(R"(\{([^}]+)\}|(\d+)|([WUBRGCSPX]))"); - QRegularExpressionMatchIterator matches = regex.globalMatch(part); - while (matches.hasNext()) { - QRegularExpressionMatch match = matches.next(); - if (match.captured(1).isEmpty()) { // If no `{}` group was captured, check other groups - if (!match.captured(2).isEmpty()) { - symbols.append(match.captured(2)); // Number match - } else { - symbols.append(match.captured(3)); // Single mana letter match - } - } else { - symbols.append(match.captured(1)); // `{}` enclosed match - } - } - } - - return symbols; + return Essence::parseCost(essenceCost); }