From 09500ff4141db2588ec3ed7da8fb6d9c75d32dbb Mon Sep 17 00:00:00 2001 From: Paweł Redman Date: Sat, 21 Apr 2018 14:13:00 +0200 Subject: Avatars. --- src/game/unit_soldier.cpp | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) (limited to 'src/game/unit_soldier.cpp') 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 . 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; -- cgit