summary refs log tree commit diff stats
path: root/apworld/options.py
blob: dacbc465ced11cfd7ba1ed6070947d5ecfd88c38 (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
39
40
41
42
from dataclasses import dataclass

from Options import PerGameCommonOptions, Toggle, Choice


class ShuffleDoors(Toggle):
    """If enabled, most doors will open from receiving an item rather than fulfilling the in-game requirements."""
    display_name = "Shuffle Doors"


class KeyholderSanity(Toggle):
    """
    If enabled, 26 locations will be created for placing each key into its respective Green Ending keyholder.

    NOTE: This does not apply to the two disappearing keyholders in The Congruent, as they are not part of Green Ending.
    """
    display_name = "Keyholder Sanity"


class VictoryCondition(Choice):
    """Victory condition."""
    display_name = "Victory Condition"
    option_gray_ending = 0
    option_purple_ending = 1
    option_mint_ending = 2
    option_black_ending = 3
    option_blue_ending = 4
    option_cyan_ending = 5
    option_red_ending = 6
    option_plum_ending = 7
    option_orange_ending = 8
    option_gold_ending = 9
    option_yellow_ending = 10
    option_green_ending = 11
    option_white_ending = 12


@dataclass
class Lingo2Options(PerGameCommonOptions):
    shuffle_doors: ShuffleDoors
    keyholder_sanity: KeyholderSanity
    victory_condition: VictoryCondition