/* This file was generated by scramble.py. */
#line 1 "src/names.py"
#include "names.h"
static char* _add_one(char * name, ...);
#line 3
static char* _add_one(char * name, ...) {
    va_list args;
    va_start(args, name);
    str s [100];
    int n = 0;
    while (n < 100) {
        s [n] = va_arg(args, char *);
        if (! s [n]) {
#line 10
            break;
        }
#line 11
        n++;
    }
#line 12
    int r = land_rand(0, n - 1);
    land_concatenate(& name, s [r]);
    va_end(args);
    return name;
}
char* names_generate_troll(void) {
    // e.g. Brad, Bart, Bill, Bob
    char * name = land_strdup("");
    name = _add_one(name, "B", NULL);
    name = _add_one(name, "r", "", NULL);
    name = _add_one(name, "a", "e", "i", "o", "u", NULL);
    name = _add_one(name, "r", "", NULL);
    name = _add_one(name, "d", "t", "ll", "b", "dy", "ck", NULL);
    return name;
}
char* names_generate_knight(void) {
    // e.g. Sir Wilbusott of Landfell
    char * name = land_strdup("");
    name = _add_one(name, "Sir ", "Lady ", "", NULL);
    name = _add_one(name, "Rod", "Wil", "Adal", "Her", "Mon", "Ott", NULL);
    name = _add_one(name, "rick", "bert", "helm", "bus", "min", "mond", "dard", "old", "ili", NULL);
    name = _add_one(name, "a", "ina", "ott", "", NULL);
    name = _add_one(name, " of ", " on the ", " ", NULL);
    name = _add_one(name, "Hill", "Forest", "Mountain", "River", "Land", "Rock", "Town", NULL);
    name = _add_one(name, "fort", "ton", "age", "ford", "fell", "mouth", NULL);
    return name;
}
char* names_generate_elf(void) {
    char * name = land_strdup("");
    name = _add_one(name, "Ae'", "Arw'", "Eo'", "Gae'", "Lur'", "Yv'", NULL);
    name = _add_one(name, "len", "ein", "nele", "thul", NULL);
    name = _add_one(name, "wen", "gwen", "lith", "driel", "dolin", "ien", "eth", NULL);
    return name;
}
char* names_generate_rat(void) {
    char * name = land_strdup("");
    name = _add_one(name, "M", "R", "Fr", "Fl", NULL);
    name = _add_one(name, "i", "a", "o", "u", "e", NULL);
    name = _add_one(name, "cky", "ddy", "nny", "tty", "bby", "ffy", NULL);
    return name;
}
char* names_generate_demon(void) {
    char * name = land_strdup("");
    name = _add_one(name, "Xar'", "Zur'", "Zel'", "Thra'", "Drog'", "Vla'", "Gor'", NULL);
    name = _add_one(name, "ma", "mo", "me", "hi", "pheg", "gor", NULL);
    name = _add_one(name, "lech", "log", "mor", "mon", "lacht", "tash", "lak", "none", NULL);
    return name;
}
char* names_generate_dragon(void) {
    char * name = land_strdup("");
    name = _add_one(name, "Black", "Fire", "Cloud", "Scarlet", "Hell", NULL);
    name = _add_one(name, "Wing", "Fang", "Tongue", "Wyrm", "Claw", "Maw", "Tail", NULL);
    return name;
}
char* names_generate_ranger(void) {
    char * name = land_strdup("");
    name = _add_one(name, "Silva", "Galliarius", "Quercus", "Arbusto", "Robin", "Palma", "Laurus", NULL);
    name = _add_one(name, " ", " the ", NULL);
    name = _add_one(name, "Forest", "Plains", "Glade", "Swamp", "Fen", "Bog", "Meadow", "Mire", "Marsh", "Water", "Pond", "Spring", NULL);
    name = _add_one(name, "runner", "seeker", "foot", "eye", "ear", "bow", "arrow", NULL);
    return name;
}
char* names_generate_mage(void) {
    char * name = land_strdup("");
    name = _add_one(name, "B", "C", "D", "F", "G", "H", "J", "K", "L", "M", "N", "P", "Qu", "R", "S", "T", "V", "W", "X", "Z", NULL);
    name = _add_one(name, "er", "an", "and", "ergu", "aru", "umble", "indle", NULL);
    name = _add_one(name, "o", "u", NULL);
    name = _add_one(name, "lin", "alf", "man", "issa", "dore", "mione", "fittich", NULL);
    return name;
}
/* This file was generated by scramble.py. */
