Archipelago/worlds/smz3/TotalSMZ3/Config.py

90 lines
2.0 KiB
Python

from enum import Enum
from typing import Dict, List
class GameMode(Enum):
Normal = 0
Multiworld = 1
class Z3Logic(Enum):
Normal = 0
Nmg = 1
Owg = 2
class SMLogic(Enum):
Normal = 0
Hard = 1
class SwordLocation(Enum):
Randomized = 0
Early = 1
Uncle = 2
class MorphLocation(Enum):
Randomized = 0
Early = 1
Original = 2
class Goal(Enum):
DefeatBoth = 0
FastGanonDefeatMotherBrain = 1
AllDungeonsDefeatMotherBrain = 2
class KeyShuffle(Enum):
Null = 0
Keysanity = 1
class OpenTower(Enum):
Random = -1
NoCrystals = 0
OneCrystal = 1
TwoCrystals = 2
ThreeCrystals = 3
FourCrystals = 4
FiveCrystals = 5
SixCrystals = 6
SevenCrystals = 7
class GanonVulnerable(Enum):
Random = -1
NoCrystals = 0
OneCrystal = 1
TwoCrystals = 2
ThreeCrystals = 3
FourCrystals = 4
FiveCrystals = 5
SixCrystals = 6
SevenCrystals = 7
class OpenTourian(Enum):
Random = -1
NoBosses = 0
OneBoss = 1
TwoBosses = 2
ThreeBosses = 3
FourBosses = 4
class Config:
GameMode: GameMode = GameMode.Multiworld
Z3Logic: Z3Logic = Z3Logic.Normal
SMLogic: SMLogic = SMLogic.Normal
SwordLocation: SwordLocation= SwordLocation.Randomized
MorphLocation: MorphLocation = MorphLocation.Randomized
Goal: Goal = Goal.DefeatBoth
KeyShuffle: KeyShuffle = KeyShuffle.Null
Race: bool = False
OpenTower: OpenTower = OpenTower.SevenCrystals
GanonVulnerable: GanonVulnerable = GanonVulnerable.SevenCrystals
OpenTourian: OpenTourian = OpenTourian.FourBosses
@property
def SingleWorld(self) -> bool:
return self.GameMode == GameMode.Normal
@property
def Multiworld(self) -> bool:
return self.GameMode == GameMode.Multiworld
@property
def Keysanity(self) -> bool:
return self.KeyShuffle != KeyShuffle.Null