diff options
author | Paweł Redman <pawel.redman@gmail.com> | 2017-12-14 23:42:02 +0100 |
---|---|---|
committer | Paweł Redman <pawel.redman@gmail.com> | 2017-12-14 23:42:02 +0100 |
commit | f484859620b73ab4219fe201df35268eb375622d (patch) | |
tree | e27ca88f73ba2428fd10050a460f252eaa21b6b4 /src/game | |
parent | ac86313ae58e8274454aa5999d8bdd4d91faa04e (diff) |
Terser combat messages.
Diffstat (limited to 'src/game')
-rw-r--r-- | src/game/units.cpp | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/src/game/units.cpp b/src/game/units.cpp index 201b7be..0f992f9 100644 --- a/src/game/units.cpp +++ b/src/game/units.cpp @@ -209,16 +209,18 @@ void unit_t::try_attack(unit_t *target) return; } - ss << " (" << text::get((hit_roll == 20 ? text::UNIT_CRITICAL_HIT : text::UNIT_HIT)) << ")"; - game->interface->print(ss.str()); - dmg_roll = game->roll(&cs.damage_roll); - ss.str(std::string()); - ss << name << " " << text::get(text::UNIT_DAMAGE) << " " << target->name << ": "; - ss << dmg_roll - cs.damage_roll.bonus << " + " << cs.damage_roll.bonus << " = " << dmg_roll; - game->interface->print(ss.str()); + if (hit_roll < 20) { + ss << ", " << text::get(text::UNIT_DAMAGE) << ": "; + ss << dmg_roll - cs.damage_roll.bonus << " + " << cs.damage_roll.bonus << " = " << dmg_roll; + } else { + ss << " (" << text::get(text::UNIT_CRITICAL_HIT) << ")" << ", " << text::get(text::UNIT_DAMAGE) << ": "; + ss << "(" << dmg_roll - cs.damage_roll.bonus << " + " << cs.damage_roll.bonus << ") x 2 = " << dmg_roll * 2; + dmg_roll *= 2; + } + game->interface->print(ss.str()); target->damage(dmg_roll, this); } |