diff options
author | Paweł Redman <pawel.redman@gmail.com> | 2018-04-21 14:13:00 +0200 |
---|---|---|
committer | Paweł Redman <pawel.redman@gmail.com> | 2018-04-21 14:13:00 +0200 |
commit | 09500ff4141db2588ec3ed7da8fb6d9c75d32dbb (patch) | |
tree | 5144d20e27545ea41df8a6cdb91aba57bf7e1b52 /src/game/unit_soldier.cpp | |
parent | 48ad062a28fe0545e2e09a0e2c4f899db46bd80f (diff) |
Avatars.
Diffstat (limited to 'src/game/unit_soldier.cpp')
-rw-r--r-- | src/game/unit_soldier.cpp | 24 |
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; |