diff options
| author | 2020-10-18 14:25:39 +0200 | |
|---|---|---|
| committer | 2020-10-18 14:25:39 +0200 | |
| commit | d1a947bed91963e788287e186f831202b8355eea (patch) | |
| tree | e410ca44307718e28f669d1efd276d61c6be57db | |
| parent | ecc521d139a733f805e8c237698adba42ed2469c (diff) | |
| download | OneRoll-d1a947bed91963e788287e186f831202b8355eea.tar.gz OneRoll-d1a947bed91963e788287e186f831202b8355eea.zip | |
Display explosion and fix %2
| -rw-r--r-- | cli/main.cpp | 9 | ||||
| -rw-r--r-- | parsingtoolbox.cpp | 12 |
2 files changed, 18 insertions, 3 deletions
diff --git a/cli/main.cpp b/cli/main.cpp index 2788b7b..e28e0e6 100644 --- a/cli/main.cpp +++ b/cli/main.cpp @@ -103,7 +103,16 @@ void displayMarkdown(QString json) { auto objval= diceval.toObject(); auto resultStr= QString::number(objval["value"].toDouble()); + + auto subvalues= objval["subvalues"].toArray(); + QStringList subValueStr; + for(auto sub : subvalues) + { + subValueStr << QString::number(sub.toDouble()); + } diceResults << resultStr; + if(!subValueStr.isEmpty()) + diceResults << QString("[%1]").arg(subValueStr.join(" ")); } } auto diceList= diceResults.join(" "); diff --git a/parsingtoolbox.cpp b/parsingtoolbox.cpp index dd29d8f..adf1222 100644 --- a/parsingtoolbox.cpp +++ b/parsingtoolbox.cpp @@ -664,9 +664,10 @@ QList<ExportedDiceResult> ParsingToolBox::diceResultFromEachInstruction() const return resultList; } -QStringList listOfDiceResult(const QList<ExportedDiceResult>& list) +QStringList listOfDiceResult(const QList<ExportedDiceResult>& list, bool removeDouble= false) { QStringList listOfDiceResult; + std::set<QString> alreadyAdded; for(auto map : list) { for(auto key : map.keys()) @@ -677,6 +678,11 @@ QStringList listOfDiceResult(const QList<ExportedDiceResult>& 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); } |