aboutsummaryrefslogtreecommitdiff
path: root/src/cmd_query.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/cmd_query.cc')
-rw-r--r--src/cmd_query.cc11
1 files changed, 4 insertions, 7 deletions
diff --git a/src/cmd_query.cc b/src/cmd_query.cc
index 5172cda..e13876f 100644
--- a/src/cmd_query.cc
+++ b/src/cmd_query.cc
@@ -22,25 +22,22 @@ namespace cmd {
std::string rollName = utils::join(args, " ");
utils::lower(rollName);
int rolled = dice::roll(20);
- auto printResults = [&text](std::string name, std::string type, int rolled, int bonus) {
- text << name << " " << type << ": " << rolled << " (d20) + " << bonus << " (" << name << " " << type << " bonus) = " << rolled + bonus << std::endl;
- };
// Search through skills, saves, and attacks to roll
if(rollName == "init" or rollName == "initiative") {
- printResults("Initiative", "check", rolled, c->getInitiative());
+ text << formatRoll("Initiative", "check", rolled, c->getInitiative());
}
rules::Skill skill = rules::tryGetAbilityOrSkill<rules::Skill>(rollName);
rules::Ability ability = rules::tryGetAbilityOrSkill<rules::Ability>(rollName);
if(skill) {
- printResults(skill.getName(), "check", rolled, c->getSkillBonus(skill));
+ text << formatRoll(skill.getName(), "check", rolled, c->getSkillBonus(skill));
} else if(ability) {
- printResults(ability.getFull(), "save", rolled, c->getAbilitySaveBonus(ability));
+ text << formatRoll(ability.getFull(), "save", rolled, c->getAbilitySaveBonus(ability));
} else {
for(auto w : creature::getAttacks(*c)) {
if(w->getName() == rollName) {
text << w->getText(*c) << std::endl;
int bonus = w->getToHitBonus(*c);
- printResults(w->getName(), "attack", rolled, bonus);
+ text << formatRoll(w->getName(), "attack", rolled, bonus);
text << " on hit: " << entry::formatDmg(*w, *c) << std::endl;
break;
}