initial import

This commit is contained in:
evilchili
2023-11-24 08:48:03 -05:00
commit 45f4d6e401
66 changed files with 3601 additions and 0 deletions
+14
View File
@@ -0,0 +1,14 @@
### Lizardfolk
The Lizardfolk language is a unique form of telepathy borne by pheramonne
exchange. It is literally impossible for non-Lizardfolk to speak it, though
with practice they can learn to recognize particular smells. Lizardfolk names
are collections of scent pattterns, the first of which denotes the Lizardfolk's
family origins.
*[No written language]*
**Lizardfolk Name Scents:**
* Carmelized Roast Pomegranate
* Rotting Hazelnut Citric
* Pepper Broth Grape
@@ -0,0 +1,7 @@
"""
Lizardfolk
"""
from .base import Language
from .names import Name, NobleName
__all__ = [Language, Name, NobleName]
+118
View File
@@ -0,0 +1,118 @@
from language import types
scents = types.equal_weights(
[
"honey",
"caramel",
"maple syrup",
"molasses",
"dark chocolate",
"chocolate",
"almond",
"hazelnut",
"peanut",
"clove",
"cinnamon",
"nutmeg",
"anise",
"malt",
"grain",
"roast",
"smoke",
"ash",
"acrid",
"rubber",
"skunk",
"petroleum",
"medicine",
"salt",
"bitter",
"phrenolic",
"meat",
"broth",
"animal",
"musty",
"earth",
"mould",
"damp",
"wood",
"paper",
"cardboard",
"stale",
"herb",
"hay",
"grass",
"peapod",
"whisky",
"wine",
"malic",
"citric",
"isovaleric",
"butyric",
"acetic",
"lime",
"lemon",
"orange",
"grapefruit",
"pear",
"peach",
"apple",
"grape",
"pineapple",
"pomegranate",
"cherry",
"coconut",
"prune",
"raisin",
"strawberry",
"blueberry",
"raspberry",
"blackberry",
"jasmine",
"rose",
"camomile",
"tobacco",
],
1.0,
blank=False,
)
family = types.equal_weights(
[
"sweet",
"floral",
"fruity",
"sour",
"fermented",
"green",
"vegetal",
"old",
"roasted",
"spiced",
"nutty",
"cocoa",
"pepper",
"pungent",
"burnt",
"carmelized",
"raw",
"rotting",
"dead",
"young",
],
1.0,
blank=False,
)
Language = types.Language(
name="lizardfolk",
vowels=scents,
consonants=family,
prefixes=None,
suffixes=None,
syllables=types.SyllableSet(
(types.Syllable(template="vowel"), 1.0),
),
rules=(),
minimum_grapheme_count=1,
)
+19
View File
@@ -0,0 +1,19 @@
from language import types
from language.languages.lizardfolk import Language
class LizardfolkNameGenerator(types.NameGenerator):
def __init__(self):
super().__init__(
language=Language,
templates=types.NameSet(
(types.NameTemplate("surname,name,name"), 1.0),
),
)
def get_surname(self) -> str:
return self.language.consonants.random().title()
Name = LizardfolkNameGenerator()
NobleName = Name