Exemple #1
0
class Country(Land):
    default_name = "country of {}{}"
    name_parts = [
        Thing.list_factory([
            "Li", "Arme", "Le", "Molda", "Slove", "Tur", "Afgha", "Alba",
            "Alge", "Tu", "Fran", "Baha", "Su", "Austra", "Germa", "In", "Ara",
            "Austri", "Be", "Ba", "Bra", "Ru", "Chi", "Ja", "Tai", "Bangla",
            "Gha", "Bou", "Bo", "Tas", "Ze", "Mon", "Mo", "Ne", "Neder",
            "Spai", "Portu", "Po", "Por", "Mol", "Bul", "Bru", "Bur", "Gro",
            "Syl", "Gui", "Da", "Gree", "Bri", "Ita"
        ]),
        Thing.list_factory([
            "ly",
            "dania",
            "mas",
            "vania",
            "ce",
            "nea",
            "nau",
            "topia",
            "garia",
            "gal",
            "laska",
            "golia",
            "nisia",
            "land",
            "snia",
            "livia",
            "mania",
            "than",
            "nin",
            "pan",
            "wan",
            "zil",
            "ssia",
            "na",
            "rein",
            "lgium",
            "bia",
            "ny",
            "ce",
            "stan",
            "distan",
            "nistan",
            "dan",
            "lia",
            "nia",
            "via",
            "sia",
            "tia",
            "key",
            "desh",
            "dia",
        ]),
    ]
Exemple #2
0
 def children_data(cls):
     yield dummy.Door.multiple_factory(1, 4)
     yield dummy.Window.multiple_factory(0, 6)
     yield Thing.list_factory([
         MedievalWall.multiple_factory(4),
         MedievalWall.multiple_factory(4, 8),
     ])
Exemple #3
0
class AncientLand(Land):
    default_name = "{} land"
    biome_types = Thing.list_factory([
        "hilly",
        "rainy",
        "lush",
        "foggy",
        "desertic",
        "green",
        "tropical",
        "rich",
        "barren",
        "scorched",
    ])

    @classmethod
    def generate_name(cls):
        return cls.default_name.format(cls.biome_types.generate())

    @classmethod
    def region_factory(cls):
        yield from []

    @classmethod
    def battlefield_factory(cls):
        yield from []

    @classmethod
    def biome_factory(cls):
        yield from AncientBiome.children_data()
Exemple #4
0
class Region(Thing):
    default_name = "{}{} region"
    directions = Thing.list_factory([
        "north ",
        "east ",
        "south ",
        "west ",
        "north-west ",
        "north-east ",
        "south-west ",
        "south-east ",
        "center ",
        "oversea ",
    ])
    biome_types = Thing.list_factory([
        "hilly",
        "rainy",
        "lush",
        "foggy",
        "desertic",
        "green",
        "tropical",
        "rich",
        "barren",
        "scorched",
    ])

    @classmethod
    def children_data(cls):
        yield town.Capital
        yield town.City.multiple_factory(1, 10)
        yield town.Village.multiple_factory(2, 15)

    @property
    def capital(self):
        return self.find_one(town.Capital)

    @property
    def cities(self):
        return self.find(town.City)

    @property
    def villages(self):
        return self.find(town.Village)
Exemple #5
0
class AncientBiome(Biome):
    forest_types = Thing.list_factory([
        dummy.AncientForest.multiple_factory(0, 4),
        dummy.AncientJungle.multiple_factory(0, 4),
    ])

    @classmethod
    def children_data(cls):
        yield dummy.AncientPlain.multiple_factory(1, 10)
        yield cls.forest_types.generate()
        yield Mountain.multiple_factory(0, 3)
Exemple #6
0
class Biome(Thing):
    default_name = "biome"
    forest_types = Thing.list_factory([
        dummy.Forest.multiple_factory(0, 4),
        dummy.Jungle.multiple_factory(0, 4),
    ])

    @classmethod
    def children_data(cls):
        yield dummy.Plain.multiple_factory(1, 5)
        yield cls.forest_types.next()
        yield dummy.Mountain.multiple_factory(0, 3)
Exemple #7
0
class MedievalRegion(Region):
    default_name = "{} {}"
    biome_types = Thing.list_factory([
        "hilly", "rainy", "lush", "foggy", "desertic", "green", "tropical",
        "rich", "barren", "scorched"
    ])
    region_types = Thing.list_factory(
        ["shire", "province", "county", "parish", "pale"])

    @classmethod
    def generate_name(cls):
        return cls.default_name.format(
            cls.biome_types.next(),
            cls.region_types.next(),
        )

    @classmethod
    def children_data(cls):
        yield town.MedievalCapital
        yield town.MedievalVillage.multiple_factory(2, 6)
        yield dummy.Dungeon.probable_factory(15)
        yield dummy.Dungeon.probable_factory(5)
Exemple #8
0
class MedievalTemple(MedievalRoom):
    default_name = "{} {} {}"
    temple_types = Thing.list_factory([
        "temple of the", "church of the", "chapel of the", "house of the", "abbey of the", "cathedral of the",
        "shrine of the", "sanctuary of the", "priory of the",
    ])
    deity_epithets = Thing.list_factory([
        "blinding", "sacred", "holy", "unholy", "bloody", "cursed", "marvellous", "wondrous", "pious", "miraculous",
        "endless", "unending", "undying", "infinite", "unworldly", "worldly", "divine", "demonic", "ghostly",
        "monstrous", "tentacled", "all-knowing", "rational", "pretty good", "vengeful", "hallowed"
    ])
    temple_deities = Thing.list_factory([
        "light", "star", "beam", "sphere", "goddess", "god", "lords", "sisterhood", "brotherhood", "skies", "pact",
        "sect", "harmony", "discord", "child", "entity", "ghost", "builders", "makers", "guide", "wit", "story", "tale",
        "unicorn", "flame", "fountain", "locust", "squid", "gembaby", "father", "mother",
    ])

    @classmethod
    def generate_name(cls):
        return cls.default_name.format(
            cls.temple_types.next(),
            cls.deity_epithets.next(),
            cls.temple_deities.next(),
        )

    @classmethod
    def children_data(cls):
        yield dummy.MedievalPriest.multiple_factory(1, 3)
        yield dummy.MedievalNoble.multiple_factory(0, 2)
        yield dummy.MedievalPeasant.multiple_factory(0, 4)
        yield dummy.MedievalAltar.multiple_factory(1, 2)
        yield dummy.MedievalTable.probable_factory(70)
        yield dummy.MedievalBench.multiple_factory(2, 6)
        yield dummy.MedievalChair.multiple_factory(1, 3)
        yield dummy.MedievalChest.multiple_factory(1, 4)
        yield dummy.MedievalClutter.multiple_factory(0, 4)
        yield MedievalFireplace.probable_factory(20)
        yield from MedievalRoom.children_data()
Exemple #9
0
class MedievalMonument(Thing):
    monument_types = Thing.list_factory([
        "fountain", "memorial", "statue", "well", "altar",
    ])

    @classmethod
    def generate_name(cls):
        return cls.monument_types.next()

    @classmethod
    def children_data(cls):
        yield Thing.list_factory([
            dummy.Stone,
            dummy.Dirt,
        ])
Exemple #10
0
class MedievalHouse(MedievalBuilding):
    house_types = Thing.list_factory([
        "a small", "a large", "a big", "a cozy", "a bland", "a boring", "an old", "a new", "a freshly-painted",
        "a pretty", "an old-fashioned", "a creepy", "a spooky", "a gloomy", "a tall", "a tiny", "a fine",
        "a happy little",
    ])
    default_name = "{} hovel"

    @classmethod
    def generate_name(cls):
        return cls.default_name.format(cls.house_types.next())

    @classmethod
    def children_data(cls):
        yield MedievalLivingQuarters
        yield MedievalBedroom
        yield MedievalBedroom.probable_factory(50)
        yield from MedievalBuilding.children_data()
Exemple #11
0
 def children_data(cls):
     yield Thing.list_factory([
         dummy.Stone,
         dummy.Dirt,
     ])
Exemple #12
0
 def children_data(cls):
     yield Thing.list_factory([
         dummy.Dragon,
         dummy.SeaMonster,
     ])
Exemple #13
0
class MedievalLand(Land):
    default_name = "{} of {}{}{}{}{}{}"
    land_types = Thing.list_factory(["realm", "kingdom", "empire", "dominion"])
    land_name_parts = [
        Thing.list_factory([
            "G",
            "P",
            "S",
            "St",
            "Sh",
            "B",
            "F",
            "K",
            "Z",
            "Az",
            "Oz",
        ]),
        Thing.list_factory([
            "",
            "",
            "",
            "r",
            "l",
        ]),
        Thing.list_factory([
            "u",
            "o",
            "a",
            "e",
        ]),
        Thing.list_factory([
            "r",
            "sh",
            "nd",
            "st",
            "sd",
            "kl",
            "kt",
            "pl",
            "fr",
            "ck",
            "sh",
            "ff",
            "gg",
            "l",
            "lig",
            "rag",
            "sha",
            "pta",
            "lir",
            "limd",
            "lim",
            "shim",
            "stel",
        ]),
        Thing.list_factory([
            "i",
            "u",
            "o",
            "oo",
            "e",
            "ee",
            "y",
            "a",
        ]),
        Thing.list_factory([
            "ll",
            "th",
            "h",
            "k",
            "lm",
            "r",
            "g",
            "gh",
            "n",
            "m",
            "p",
            "s",
            "rg",
            "lg",
        ]),
    ]

    @classmethod
    def generate_name(cls):
        return cls.default_name.format(
            cls.land_types.next(),
            cls.land_name_parts[0].next(),
            cls.land_name_parts[1].next(),
            cls.land_name_parts[2].next(),
            cls.land_name_parts[3].next(),
            cls.land_name_parts[4].next(),
            cls.land_name_parts[5].next(),
        )

    @classmethod
    def region_factory(cls):
        yield MedievalRegion.multiple_factory(1, 10)

    @classmethod
    def battlefield_factory(cls):
        yield dummy.MedievalBattlefield.probable_factory(10)
Exemple #14
0
class ModernContinent(Continent):
    default_name = "continent of {}{}"
    name_parts = [
        Thing.list_factory([
            "A",
            "Eu",
            "Ame",
            "Ocea",
            "Anta",
            "Atla",
        ]),
        Thing.list_factory([
            "frica",
            "rtica",
            "ropa",
            "rica",
            "nia",
            "sia",
            "ntide",
        ]),
        Thing.list_factory([
            "Eu",
            "A",
            "O",
            "E",
        ]),
        Thing.list_factory([
            "rt",
            "lt",
            "rm",
            "t",
            "tr",
            "tl",
            "str",
            "s",
            "m",
            "fr",
        ]),
        Thing.list_factory([
            "a",
            "o",
            "e",
            "i",
        ]),
        Thing.list_factory([
            "ri",
            "ni",
            "ti",
            "fri",
            "",
            "",
        ]),
        Thing.list_factory([
            "sia",
            "nia",
            "ca",
        ]),
    ]

    @classmethod
    def generate_name(cls):
        return cls.default_name.format(
            cls.name_parts[0].generate(),
            cls.name_parts[1].generate(),
        )