initial import
This commit is contained in:
@@ -0,0 +1,13 @@
|
||||
### Halfling
|
||||
|
||||
Halfings speak a trilling, lilting language with meaning and inflection rooted
|
||||
in meter. It has proven to be nearly impossisble for most non-Halflings to
|
||||
master, to the point that most cosmopolitan Halfings choose a Common nickname
|
||||
by which they are known.
|
||||
|
||||
*Siheme'li'ba'e lo'neno'ne'o, mo'tepa'ga'i wezyropi'a lo'se'ni'metyo zevypiwee vyta'mo'a, da'na'jo'lee ti'soe fe'soe!*
|
||||
|
||||
**Halfling Names:**
|
||||
* Hi'rina'pa'no'y Nylao Pe'lawyle'lo'a "Temperate"
|
||||
* Jo'la'rogi'o Mi'li're'ne'pe'y Terinite've'e "Wise"
|
||||
* Sa'la're'ta'je'o Re'dya Fetobo'a "Meritorious"
|
||||
@@ -0,0 +1,7 @@
|
||||
"""
|
||||
Halfling
|
||||
"""
|
||||
from .base import Language
|
||||
from .names import Name, NobleName
|
||||
|
||||
__all__ = [Language, Name, NobleName]
|
||||
@@ -0,0 +1,54 @@
|
||||
from language import types
|
||||
|
||||
from .rules import rules
|
||||
|
||||
vowels = types.equal_weights(["a'", "e'", "i'", "o'"], 1.0, blank=False) + types.equal_weights(
|
||||
["a", "e", "i", "o", "y"], 0.5, blank=False
|
||||
)
|
||||
|
||||
consonants = types.WeightedSet(
|
||||
("b", 0.5),
|
||||
("d", 0.5),
|
||||
("f", 0.3),
|
||||
("g", 0.3),
|
||||
("h", 0.5),
|
||||
("j", 0.2),
|
||||
("l", 1.0),
|
||||
("m", 0.5),
|
||||
("n", 1.0),
|
||||
("p", 0.5),
|
||||
("r", 1.0),
|
||||
("s", 1.0),
|
||||
("t", 1.0),
|
||||
("v", 0.3),
|
||||
("w", 0.2),
|
||||
("z", 0.1),
|
||||
)
|
||||
|
||||
suffixes = types.equal_weights(
|
||||
[
|
||||
"a",
|
||||
"e",
|
||||
"i",
|
||||
"o",
|
||||
"y",
|
||||
],
|
||||
1.0,
|
||||
blank=False,
|
||||
)
|
||||
|
||||
Language = types.Language(
|
||||
name="halfling",
|
||||
vowels=vowels,
|
||||
consonants=consonants,
|
||||
prefixes=None,
|
||||
suffixes=suffixes,
|
||||
syllables=types.SyllableSet(
|
||||
(types.Syllable(template="consonant,vowel") * 2, 0.5),
|
||||
(types.Syllable(template="consonant,vowel") * 3, 0.75),
|
||||
(types.Syllable(template="consonant,vowel") * 4, 1.0),
|
||||
(types.Syllable(template="consonant,vowel") * 5, 1.0),
|
||||
),
|
||||
rules=rules,
|
||||
minimum_grapheme_count=2,
|
||||
)
|
||||
@@ -0,0 +1,17 @@
|
||||
from language import defaults, types
|
||||
from language.languages.halfling import Language
|
||||
|
||||
|
||||
class HalflingNameGenerator(types.NameGenerator):
|
||||
def get_name(self) -> str:
|
||||
return super().get_name().lower().capitalize()
|
||||
|
||||
|
||||
Name = HalflingNameGenerator(
|
||||
language=Language,
|
||||
nicknames=defaults.positive_adjectives,
|
||||
templates=types.NameSet(
|
||||
(types.NameTemplate("name,name,name,nickname"), 1.0),
|
||||
),
|
||||
)
|
||||
NobleName = Name
|
||||
@@ -0,0 +1,7 @@
|
||||
import logging
|
||||
|
||||
from language.rules import default_rules
|
||||
|
||||
logger = logging.getLogger()
|
||||
|
||||
rules = default_rules
|
||||
Reference in New Issue
Block a user