diff options
author | Your Name <you@example.com> | 2022-01-03 16:25:45 -0500 |
---|---|---|
committer | Your Name <you@example.com> | 2022-01-03 16:25:45 -0500 |
commit | 3f78a7e1647ba94129236bd2bf4fc855c109628a (patch) | |
tree | 0a1538d44715738c8cbbae00bf1995777227b963 /src/cmd.cc | |
parent | d222c5a39943ed9f83f11d63a42bdff4978179af (diff) | |
download | dmtool-3f78a7e1647ba94129236bd2bf4fc855c109628a.tar.gz dmtool-3f78a7e1647ba94129236bd2bf4fc855c109628a.tar.bz2 dmtool-3f78a7e1647ba94129236bd2bf4fc855c109628a.zip |
Added command to force a saving throw
Diffstat (limited to 'src/cmd.cc')
-rw-r--r-- | src/cmd.cc | 15 |
1 files changed, 15 insertions, 0 deletions
@@ -36,4 +36,19 @@ namespace cmd { text << name << " " << type << ": " << rolled << " (d20) + " << bonus << " (" << name << " " << type << " bonus) = " << rolled + bonus << std::endl; return text.str(); } + + std::vector<rules::Qualifier> parseQualifiers(std::map<std::string, std::string> flags) { + std::vector<rules::Qualifier> qualifiers; + for(auto flagPair : flags) { + auto flag = flagPair.first; + if(flag == "m" || flag == "magical") { + qualifiers.push_back(rules::Qualifier::Magical()); + } else if(flag == "s" || flag == "silvered") { + qualifiers.push_back(rules::Qualifier::Silvered()); + } else if(flag == "a" || flag == "adamantine") { + qualifiers.push_back(rules::Qualifier::Adamantine()); + } + } + return qualifiers; + } } |