From d1a947bed91963e788287e186f831202b8355eea Mon Sep 17 00:00:00 2001 From: Renaud G Date: Sun, 18 Oct 2020 14:25:39 +0200 Subject: Display explosion and fix %2 --- parsingtoolbox.cpp | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'parsingtoolbox.cpp') diff --git a/parsingtoolbox.cpp b/parsingtoolbox.cpp index dd29d8f..adf1222 100644 --- a/parsingtoolbox.cpp +++ b/parsingtoolbox.cpp @@ -664,9 +664,10 @@ QList ParsingToolBox::diceResultFromEachInstruction() const return resultList; } -QStringList listOfDiceResult(const QList& list) +QStringList listOfDiceResult(const QList& list, bool removeDouble= false) { QStringList listOfDiceResult; + std::set alreadyAdded; for(auto map : list) { for(auto key : map.keys()) @@ -677,6 +678,11 @@ QStringList listOfDiceResult(const QList& list) QString stringVal; for(auto val : dice) { + if(removeDouble && (alreadyAdded.end() != alreadyAdded.find(val.uuid()))) + continue; + + alreadyAdded.insert(val.uuid()); + qint64 total= 0; QStringList dicelist; for(auto score : val.result()) @@ -717,7 +723,7 @@ QString ParsingToolBox::finalStringResult() const auto pairScalar= finalScalarResult(); stringResult.replace("%1", pairScalar.first); - stringResult.replace("%2", listOfDiceResult(diceResultFromEachInstruction()).join(",").trimmed()); + stringResult.replace("%2", listOfDiceResult(diceResultFromEachInstruction(), true).join(",").trimmed()); stringResult.replace("%3", pairScalar.second); stringResult.replace("\\n", "\n"); @@ -2343,7 +2349,7 @@ QString ParsingToolBox::number(qreal value) { if(value > 1000000) return QString::number(value, 'f', 20); - else + else return QString::number(value); } -- cgit v1.2.3-70-g09d2