summaryrefslogtreecommitdiff
path: root/src/game/unit_soldier.cpp
diff options
context:
space:
mode:
authorPaweł Redman <pawel.redman@gmail.com>2018-04-21 14:13:00 +0200
committerPaweł Redman <pawel.redman@gmail.com>2018-04-21 14:13:00 +0200
commit09500ff4141db2588ec3ed7da8fb6d9c75d32dbb (patch)
tree5144d20e27545ea41df8a6cdb91aba57bf7e1b52 /src/game/unit_soldier.cpp
parent48ad062a28fe0545e2e09a0e2c4f899db46bd80f (diff)
Avatars.
Diffstat (limited to 'src/game/unit_soldier.cpp')
-rw-r--r--src/game/unit_soldier.cpp24
1 files changed, 23 insertions, 1 deletions
diff --git a/src/game/unit_soldier.cpp b/src/game/unit_soldier.cpp
index 31def92..7985df6 100644
--- a/src/game/unit_soldier.cpp
+++ b/src/game/unit_soldier.cpp
@@ -19,6 +19,28 @@ along with Minitrem. If not, see <http://www.gnu.org/licenses/>.
namespace game {
+static const char *initials[] = {
+ "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M",
+ "N", "O", "Ö", "P", "R", "S", "Ś", "T", "U", "Ü", "V", "W", "X",
+ "Z"
+};
+
+static std::string soldier_name(procgen::prng_t *prng)
+{
+ std::stringstream ss;
+ static const char *names[] = {
+ "Kowalski", "Jackson", "Carter", "O'Neill", "Hammond",
+ "Mitchell", "Hitler", "Stalin", "Wyspiański", "Bush",
+ "Washington"
+ };
+
+ ss << initials[prng->next() % (sizeof(initials) / sizeof(initials[0]))];
+ ss << ". ";
+ ss << names[prng->next() % (sizeof(names) / sizeof(names[0]))];
+
+ return ss.str();
+}
+
unit_soldier_t::unit_soldier_t(game::state_t *game) : unit_t(game, UNIT_SOLDIER)
{
size[0] = v2f_t(-0.3f, +0.0f);
@@ -28,7 +50,7 @@ unit_soldier_t::unit_soldier_t(game::state_t *game) : unit_t(game, UNIT_SOLDIER)
cmodel.cflags = CF_BODY;
move.cflags = CF_SOLID | CF_BODY | CF_WATER;
- name = text::get(text::UNIT_NAME_SOLDIER);
+ name = soldier_name(&game->prng);
wake();
friendly = true;