Add Aasimar names

main
Bram van den Heuvel 2023-09-03 09:01:50 +02:00
parent 51084fd0af
commit 0dbc38aebc
1 changed files with 367 additions and 0 deletions

367
src/Names/Aasimar.elm Normal file
View File

@ -0,0 +1,367 @@
module Names.Aasimar exposing (female, lastName, male)
{-| This module exposes a generator for Aasimar names.
For more name generators, make sure to check out <https://www.fantasynamegenerators.com/>
# Copyright (C) 2012 - 2020 FantasyNameGenerators.com.
-}
import Random exposing (Generator)
import String.Extra
female : Generator String
female =
Random.uniform
(Random.map5
(\a b c d e -> a ++ " " ++ b ++ " " ++ c ++ " " ++ d ++ " " ++ e)
nm7
nm8
nm9
nm10
nm13
)
[ Random.map5
(\( a, b ) ( c, d ) e f g ->
a ++ " " ++ b ++ " " ++ c ++ " " ++ d ++ " " ++ e ++ " " ++ f ++ " " ++ g
)
(Random.map2 Tuple.pair nm7 nm8)
(Random.map2 Tuple.pair nm9 nm10)
nm11
nm12
nm13
]
|> Random.andThen identity
|> Random.map String.Extra.toTitleCase
male : Generator String
male =
Random.uniform
(Random.map5
(\a b c d e -> a ++ " " ++ b ++ " " ++ c ++ " " ++ d ++ " " ++ e)
nm1
nm2
nm3
nm4
nm6
)
[ Random.map5
(\( a, b ) ( c, d ) e f g ->
a ++ " " ++ b ++ " " ++ c ++ " " ++ d ++ " " ++ e ++ " " ++ f ++ " " ++ g
)
(Random.map2 Tuple.pair nm1 nm2)
(Random.map2 Tuple.pair nm3 nm4)
nm5
nm4
nm6
]
|> Random.andThen identity
|> Random.map String.Extra.toTitleCase
lastName : Generator String
lastName =
Random.map5
(\( a, b ) ( c, d ) e f g ->
a ++ " " ++ b ++ " " ++ c ++ " " ++ d ++ " " ++ e ++ " " ++ f ++ " " ++ g
)
(Random.map2 Tuple.pair nm1 nm2)
(Random.map2 Tuple.pair nm3 nm4)
nm11
nm12
nm13
|> Random.map String.Extra.toTitleCase
nm1 : Generator String
nm1 =
Random.uniform ""
[ ""
, ""
, ""
, "b"
, "br"
, "c"
, "cr"
, "h"
, "l"
, "m"
, "n"
, "p"
, "r"
, "t"
, "v"
, "w"
, "z"
]
nm2 : Generator String
nm2 =
Random.uniform "a"
[ "e"
, "i"
, "o"
, "u"
, "y"
, "a"
, "e"
, "i"
, "o"
, "u"
, "y"
, "a"
, "e"
, "i"
, "o"
, "u"
, "y"
, "au"
, "ai"
, "ea"
, "ei"
]
nm3 : Generator String
nm3 =
Random.uniform "d"
[ "dr"
, "g"
, "gg"
, "gr"
, "gw"
, "k"
, "kr"
, "kl"
, "l"
, "ld"
, "lg"
, "lw"
, "lr"
, "lt"
, "n"
, "nr"
, "nw"
, "nl"
, "r"
, "rn"
, "rr"
, "rw"
, "rl"
, "v"
, "vr"
, "w"
]
nm4 : Generator String
nm4 =
Random.uniform "a"
[ "i"
, "a"
, "i"
, "a"
, "i"
, "a"
, "i"
, "a"
, "i"
, "a"
, "i"
, "e"
, "a"
, "i"
, "e"
, "a"
, "i"
, "e"
, "o"
, "o"
, "u"
, "u"
, "ee"
, "ia"
, "ie"
, "ai"
, "ei"
]
nm5 : Generator String
nm5 =
Random.uniform "d" [ "l", "m", "n", "t", "v" ]
nm6 : Generator String
nm6 =
Random.uniform "l" [ "m", "n", "nt", "r" ]
nm7 : Generator String
nm7 =
Random.uniform ""
[ ""
, ""
, ""
, ""
, "br"
, "d"
, "dr"
, "h"
, "l"
, "m"
, "n"
, "ph"
, "r"
, "rh"
, "th"
, "v"
, "w"
, "z"
]
nm8 : Generator String
nm8 =
Random.uniform "a"
[ "i"
, "o"
, "a"
, "i"
, "o"
, "a"
, "i"
, "o"
, "a"
, "i"
, "o"
, "a"
, "i"
, "o"
, "a"
, "i"
, "o"
, "e"
, "e"
, "ia"
, "io"
, "ea"
, "eo"
]
nm9 : Generator String
nm9 =
Random.uniform "d"
[ "j"
, "l"
, "ld"
, "ldr"
, "lv"
, "ll"
, "lt"
, "m"
, "mm"
, "mn"
, "n"
, "nr"
, "nv"
, "nl"
, "ndr"
, "nm"
, "r"
, "rd"
, "rk"
, "rs"
, "s"
, "sr"
, "sl"
, "v"
]
nm10 : Generator String
nm10 =
Random.uniform "a"
[ "e"
, "i"
, "o"
, "a"
, "e"
, "i"
, "o"
, "a"
, "e"
, "i"
, "o"
, "a"
, "e"
, "i"
, "o"
, "a"
, "e"
, "i"
, "o"
, "ea"
, "ia"
, "ie"
]
nm11 : Generator String
nm11 =
Random.uniform "l"
[ "m", "n", "r", "s", "z" ]
nm12 : Generator String
nm12 =
Random.uniform "a"
[ "e"
, "i"
, "a"
, "e"
, "i"
, "a"
, "e"
, "i"
, "a"
, "e"
, "i"
, "a"
, "e"
, "i"
, "au"
, "ou"
, "oe"
]
nm13 : Generator String
nm13 =
Random.uniform ""
[ ""
, ""
, ""
, ""
, ""
, ""
, ""
, ""
, ""
, ""
, ""
, ""
, ""
, ""
, "h"
, "l"
, "m"
, "n"
, "r"
]