From bcfefeaf919281911a53c94b91bc7ec016bd6775 Mon Sep 17 00:00:00 2001 From: Paweł Redman Date: Thu, 26 Apr 2018 17:26:18 +0200 Subject: Improve says a bit. --- src/game/unit_soldier.cpp | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) (limited to 'src/game/unit_soldier.cpp') diff --git a/src/game/unit_soldier.cpp b/src/game/unit_soldier.cpp index 969075a..0e58d0c 100644 --- a/src/game/unit_soldier.cpp +++ b/src/game/unit_soldier.cpp @@ -62,6 +62,11 @@ unit_soldier_t::unit_soldier_t(game::state_t *game) : unit_t(game, UNIT_SOLDIER) storage.max_grenades = 3; } +std::string german_plural(size_t count, const char *sg, const char *pl) +{ + return std::to_string(count) + " " + (count == 1 ? sg : pl); +} + static v2f_t spread_aim(v2f_t x, v2f_t aim, float cof, procgen::prng_t *prng) { float r, r_, dth; @@ -116,7 +121,7 @@ void unit_soldier_t::fire_shotgun(v2f_t aim) if (!storage.shells) { next_attack = game->time + SEC(1); - say("Keine Munition mehr!"); + say("Keine Schrotpatronen mehr!"); return; } @@ -306,15 +311,18 @@ void unit_soldier_t::command_restock(bool grenades) if (grenades) say("Ich konnte keine Granaten finden."); else - say("Ich konnte keine Munition finden."); + say("Ich konnte keine Schrotpatronen finden."); return; } - if (grenades) + if (grenades) { storage.grenades += taken; - else + say("Ich habe " + german_plural(taken, "Granate", "Granaten") + " abgenommen." ); + } else { storage.shells += taken; + say("Ich habe " + german_plural(taken, "Schrotpatrone", "Schrotpatronen") + " abgenommen." ); + } } void unit_soldier_t::render_to(render::state_t *render) -- cgit