summary refs log tree commit diff stats
path: root/apworld/__init__.py
blob: 1544c7b0363ffa5ea294268992dd88e1cb3481eb (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
"""
Archipelago init file for Lingo 2
"""
from worlds.AutoWorld import WebWorld, World
from .options import Lingo2Options
from .player_logic import Lingo2PlayerLogic
from .regions import create_regions
from .static_logic import Lingo2StaticLogic


class Lingo2WebWorld(WebWorld):
    rich_text_options_doc = True
    theme = "grass"


class Lingo2World(World):
    """
    Lingo 2 is a first person indie puzzle game where you solve word puzzles in a labyrinthe world. Compared to its
    predecessor, Lingo 2 has new mechanics, more areas, and a unique progression system where you have to unlock letters
    before using them in puzzle solutions.
    """
    game = "Lingo 2"
    web = Lingo2WebWorld()

    options_dataclass = Lingo2Options
    options: Lingo2Options

    static_logic = Lingo2StaticLogic()
    item_name_to_id = static_logic.item_name_to_id
    location_name_to_id = static_logic.location_name_to_id

    player_logic: Lingo2PlayerLogic

    def generate_early(self):
        self.player_logic = Lingo2PlayerLogic(self)

    def create_regions(self):
        create_regions(self)