forked from mirror/Archipelago
Some checks failed
Analyze modified files / flake8 (push) Failing after 2m28s
Build / build-win (push) Has been cancelled
Build / build-ubuntu2204 (push) Has been cancelled
ctest / Test C++ ubuntu-latest (push) Has been cancelled
ctest / Test C++ windows-latest (push) Has been cancelled
Analyze modified files / mypy (push) Has been cancelled
Build and Publish Docker Images / Push Docker image to Docker Hub (push) Successful in 5m4s
Native Code Static Analysis / scan-build (push) Failing after 5m2s
type check / pyright (push) Successful in 1m7s
unittests / Test Python 3.11.2 ubuntu-latest (push) Failing after 16m23s
unittests / Test Python 3.12 ubuntu-latest (push) Failing after 28m19s
unittests / Test Python 3.13 ubuntu-latest (push) Failing after 14m49s
unittests / Test hosting with 3.13 on ubuntu-latest (push) Successful in 5m0s
unittests / Test Python 3.13 macos-latest (push) Has been cancelled
unittests / Test Python 3.11 windows-latest (push) Has been cancelled
unittests / Test Python 3.13 windows-latest (push) Has been cancelled
72 lines
2.0 KiB
Python
72 lines
2.0 KiB
Python
from dataclasses import dataclass
|
|
from Options import Toggle, DefaultOnToggle, DeathLink, Range, Choice, PerGameCommonOptions, ExcludeLocations # , OptionGroup
|
|
|
|
|
|
class Goal(Choice):
|
|
"""
|
|
Which Titan to defeat in order to complete the randomizer
|
|
|
|
Note: Only Giganto/Kronos Island for this release
|
|
"""
|
|
display_name = "Goal"
|
|
option_defeat_giganto = 0
|
|
#option_defeat_wyvern = 1
|
|
#option_defeat_knight = 2
|
|
#option_defeat_supreme = 3
|
|
default = 0
|
|
class MemoryTokenSanity(Toggle):
|
|
"""
|
|
Set whether All Memory Tokens should be locations
|
|
"""
|
|
display_name = "Memory Token Sanity"
|
|
default = 0
|
|
class MapChallenges(DefaultOnToggle):
|
|
display_name = "Map Challenge Sanity"
|
|
class HarderCyberspaceTimes(Toggle):
|
|
"""
|
|
This makes all Cyberspace stages have a harder S-Rank requirement.
|
|
|
|
Note: This is meant for speedrunners, do not enable this unless you're up for a challenge.
|
|
"""
|
|
display_name = "Harder Cyberspace Challenge Times"
|
|
default = 0
|
|
|
|
class MusicNotes(Toggle):
|
|
"""
|
|
Set whether Music Notes should be locations
|
|
"""
|
|
display_name = "Music Notes"
|
|
default = 0
|
|
class ChallengeKocos(Toggle):
|
|
"""
|
|
Set whether Challenge Kocos should be locations
|
|
"""
|
|
display_name = "Challenge Kocos"
|
|
default = 0
|
|
class CyberspaceStages(Toggle):
|
|
display_name = "Cyberspace Stages Missions"
|
|
default = 0
|
|
class PurpleCoinSanity(Toggle):
|
|
"""
|
|
Set whether All Purple Coins should be locations
|
|
"""
|
|
display_name = "Purple Coin Sanity"
|
|
default = 0
|
|
class KocoSanity(Toggle):
|
|
"""
|
|
Set whether All Kocos should be locations
|
|
"""
|
|
display_name = "Koco Sanity"
|
|
default = 0
|
|
|
|
@dataclass
|
|
class SonicFrontiersOptions(PerGameCommonOptions):
|
|
goal: Goal
|
|
death_link: DeathLink
|
|
memory_token_sanity: MemoryTokenSanity
|
|
cyberspace_times: HarderCyberspaceTimes
|
|
music_notes: MusicNotes
|
|
challenge_kocos: ChallengeKocos
|
|
purple_coin_sanity: PurpleCoinSanity
|
|
koco_sanity: KocoSanity
|