92 lines
1.4 KiB
Elm
92 lines
1.4 KiB
Elm
module Names.Bugbear exposing (..)
|
|
|
|
{-| This module exposes a generator for Bugbear names.
|
|
|
|
For more name generators, make sure to check out <https://www.fantasynamegenerators.com/>
|
|
|
|
|
|
# Copyright (C) 2012 - 2020 FantasyNameGenerators.com.
|
|
|
|
-}
|
|
|
|
import Names.Tools as Tools
|
|
import Random exposing (Generator)
|
|
import String.Extra
|
|
|
|
|
|
female : Generator String
|
|
female =
|
|
Tools.chooseFrom2
|
|
(Tools.map5 nm1 nm2 nm3 nm4 nm5)
|
|
(Tools.map3 nm1 nm2 nm5)
|
|
|> Random.map String.Extra.toTitleCase
|
|
|
|
|
|
male : Generator String
|
|
male =
|
|
female
|
|
|
|
|
|
lastName : Generator String
|
|
lastName =
|
|
female
|
|
|
|
|
|
nm1 : Generator String
|
|
nm1 =
|
|
Random.uniform "b"
|
|
[ "br"
|
|
, "chr"
|
|
, "d"
|
|
, "g"
|
|
, "gh"
|
|
, "hr"
|
|
, "kh"
|
|
, "n"
|
|
, "r"
|
|
, "st"
|
|
, "t"
|
|
, "th"
|
|
, "v"
|
|
, "z"
|
|
, "zh"
|
|
]
|
|
|
|
|
|
nm2 : Generator String
|
|
nm2 =
|
|
Random.uniform "a" [ "e", "i", "o", "u" ]
|
|
|
|
|
|
nm3 : Generator String
|
|
nm3 =
|
|
Random.uniform "d"
|
|
[ "dd"
|
|
, "dr"
|
|
, "g"
|
|
, "gh"
|
|
, "gg"
|
|
, "gr"
|
|
, "rr"
|
|
, "rd"
|
|
, "rg"
|
|
, "rn"
|
|
, "t"
|
|
, "tt"
|
|
, "tr"
|
|
, "v"
|
|
, "vr"
|
|
, "z"
|
|
, "zz"
|
|
]
|
|
|
|
|
|
nm4 : Generator String
|
|
nm4 =
|
|
Random.uniform "a" [ "i", "o", "u" ]
|
|
|
|
|
|
nm5 : Generator String
|
|
nm5 =
|
|
Random.uniform "k" [ "lk", "mkk", "n", "nn", "nk", "r", "rk", "rr", "th" ]
|