Compare commits

...

3 Commits

Author SHA1 Message Date
Bram van den Heuvel 0dbc38aebc Add Aasimar names 2023-09-03 09:01:50 +02:00
Bram van den Heuvel 51084fd0af Add Aarakocra names 2023-09-03 09:01:29 +02:00
Bram van den Heuvel 02e7e5485e Add Elm repository 2023-09-03 08:59:10 +02:00
3 changed files with 558 additions and 0 deletions

32
elm.json Normal file
View File

@ -0,0 +1,32 @@
{
"type": "application",
"source-directories": [
"src"
],
"elm-version": "0.19.1",
"dependencies": {
"direct": {
"Evelios/elm-hash": "1.0.0",
"elm/browser": "1.0.2",
"elm/core": "1.0.5",
"elm/html": "1.0.0",
"elm/json": "1.1.3",
"elm/random": "1.0.0",
"elm-community/string-extra": "4.0.1",
"miniBill/elm-fast-dict": "1.1.0"
},
"indirect": {
"bonzaico/murmur3": "1.0.0",
"chain-partners/elm-bignum": "1.0.1",
"elm/regex": "1.0.0",
"elm/time": "1.0.0",
"elm/url": "1.0.0",
"elm/virtual-dom": "1.0.3",
"myrho/elm-round": "1.0.5"
}
},
"test-dependencies": {
"direct": {},
"indirect": {}
}
}

159
src/Names/Aarakocra.elm Normal file
View File

@ -0,0 +1,159 @@
module Names.Aarakocra exposing (female, lastName, male)
{-| This module exposes a generator for Aarakocra 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.map3 (\a b c -> a ++ b ++ c) nm1 nm2 nm3
|> Random.map String.Extra.toTitleCase
)
[ Random.map5 (\a b c d e -> a ++ b ++ c ++ d ++ e) nm1 nm2 nm3 nm4 nm5
|> Random.map String.Extra.toTitleCase
]
|> Random.andThen identity
male : Generator String
male =
female
lastName : Generator String
lastName =
female
nm1 : Generator String
nm1 =
Random.uniform ""
[ ""
, ""
, ""
, ""
, "c"
, "cl"
, "cr"
, "d"
, "g"
, "gr"
, "h"
, "k"
, "kh"
, "kl"
, "kr"
, "q"
, "qh"
, "ql"
, "qr"
, "r"
, "rh"
, "s"
, "y"
, "z"
]
nm2 : Generator String
nm2 =
Random.uniform "a"
[ "e"
, "i"
, "u"
, "a"
, "e"
, "i"
, "u"
, "a"
, "e"
, "i"
, "u"
, "a"
, "e"
, "i"
, "u"
, "a"
, "e"
, "i"
, "u"
, "a"
, "e"
, "i"
, "u"
, "a"
, "e"
, "i"
, "u"
, "ae"
, "aia"
, "ee"
, "oo"
, "ou"
, "ua"
, "uie"
]
nm3 : Generator String
nm3 =
Random.uniform "c" [ "cc", "k", "kk", "l", "ll", "q", "r", "rr" ]
nm4 : Generator String
nm4 =
Random.uniform "a"
[ "e"
, "i"
, "a"
, "e"
, "i"
, "a"
, "e"
, "i"
, "a"
, "e"
, "i"
, "a"
, "e"
, "i"
, "aa"
, "ea"
, "ee"
, "ia"
, "ie"
]
nm5 : Generator String
nm5 =
Random.uniform ""
[ ""
, ""
, ""
, "c"
, "ck"
, "d"
, "f"
, "g"
, "hk"
, "k"
, "l"
, "r"
, "rr"
, "rc"
, "rk"
, "rrk"
, "s"
, "ss"
]

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"
]