diff options
| author | 2019-09-05 00:41:16 +0200 | |
|---|---|---|
| committer | 2019-09-05 00:41:16 +0200 | |
| commit | 557bf93930c7fa7e040047b61de681473ceaf7d1 (patch) | |
| tree | 36d430b77fb3cd8dc4588c3294cd5991310946a3 | |
| parent | 1c875b651df3afafe1df6b8ae412124d67e526a6 (diff) | |
| download | OneRoll-557bf93930c7fa7e040047b61de681473ceaf7d1.tar.gz OneRoll-557bf93930c7fa7e040047b61de681473ceaf7d1.zip | |
Set alias as json parameter text
| -rw-r--r-- | cli/main.cpp | 56 |
1 files changed, 32 insertions, 24 deletions
diff --git a/cli/main.cpp b/cli/main.cpp index c597dea..6a4613e 100644 --- a/cli/main.cpp +++ b/cli/main.cpp @@ -284,6 +284,7 @@ int startDiceParsing(QStringList& cmds, QString& treeFile, bool withColor, EXPOR int rt= 0; for(QString cmd : cmds) { + if(parser.parseLine(cmd)) { parser.start(); @@ -324,32 +325,30 @@ int startDiceParsing(QStringList& cmds, QString& treeFile, bool withColor, EXPOR } scalarText= QString("%1").arg(strLst.join(',')); } - if(!list.isEmpty()) + + for(auto map : list) { - for(auto map : list) + for(auto key : map.keys()) { - for(auto key : map.keys()) + auto dice= map[key]; + QString stringVal; + for(auto val : dice) { - auto dice= map[key]; - QString stringVal; - for(auto val : dice) + qint64 total= 0; + QStringList dicelist; + for(auto score : val.getResult()) + { + total+= score; + dicelist << QString::number(score); + } + if(val.getResult().size() > 1) + { + stringVal= QString("%1 [%2]").arg(total).arg(dicelist.join(',')); + listOfDiceResult << stringVal; + } + else { - qint64 total= 0; - QStringList dicelist; - for(auto score : val.getResult()) - { - total+= score; - dicelist << QString::number(score); - } - if(val.getResult().size() > 1) - { - stringVal= QString("%1 [%2]").arg(total).arg(dicelist.join(',')); - listOfDiceResult << stringVal; - } - else - { - listOfDiceResult << QString::number(total); - } + listOfDiceResult << QString::number(total); } } } @@ -472,6 +471,9 @@ int main(int argc, char* argv[]) QCommandLineOption alias(QStringList() << "a" << "alias", "path to alias json files: <aliasfile>", "aliasfile"); + + QCommandLineOption aliasData(QStringList() << "alias-data", "alias in json data <aliasdata>", "aliasdata"); + QCommandLineOption character(QStringList() << "s" << "charactersheet", "set Parameters to simulate character sheet: <sheetfile>", "sheetfile"); @@ -503,6 +505,7 @@ int main(int argc, char* argv[]) optionParser.addOption(reset); optionParser.addOption(dotFile); optionParser.addOption(alias); + optionParser.addOption(aliasData); optionParser.addOption(character); optionParser.addOption(markdown); optionParser.addOption(bot); @@ -561,11 +564,10 @@ int main(int argc, char* argv[]) QStringList cmdList= optionParser.positionalArguments(); // cmdList << "8d10;\$1c[>6];\$1c[=1];\$2-\$3i:[>0]{\"%3 Success[%2]\"}{i:[<0]{\"Critical fail %3 [%2]\"}{\"Fail %3 // [%2]\"}}"; - QString aliasstr; QJsonArray aliases; if(optionParser.isSet(alias)) { - aliasstr= optionParser.value(alias); + auto aliasstr= optionParser.value(alias); QFile file(aliasstr); @@ -575,6 +577,12 @@ int main(int argc, char* argv[]) aliases= doc.array(); } } + else if(optionParser.isSet(aliasData)) + { + auto aliasstr= optionParser.value(aliasData); + QJsonDocument doc= QJsonDocument::fromJson(aliasstr.toUtf8()); + aliases= doc.array(); + } returnValue= startDiceParsing(cmdList, dotFileStr, colorb, format, aliases); if(optionParser.isSet(help)) |