Files
Jonathan Tinney 7971961166
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
add schedule I, sonic 1/frontiers/heroes, spirit island
2026-04-02 23:46:36 -07:00

76 lines
1.9 KiB
Python

from dataclasses import dataclass
from Options import PerGameCommonOptions, Choice, OptionGroup, Toggle
class AdditionRandomization(Choice):
"""
Controls how character Additions are unlocked.
Off:
Additions will not be added to the item pool.
Progressive (Character):
Progressive addition items are added to the item pool
and unlock additions for their respective character.
Addition Sanity:
Each addition unlock is its own item in the item pool
and can be placed in any world.
Starting additions are randomly chosen.
"""
display_name = "Addition Randomization"
option_off = 0
option_addition_sanity = 1
option_progressive_character = 2
default = 0
class Shopsanity(Toggle):
"""
Toggles all shop items to be locations. This disables vanilla behavior and makes all items one-time purchases.
"""
display_name = "Shopsanity"
default = True
class CompletionCondition(Choice):
"""
Set the goal for completing the game.
- Chapter 1: Goal after defeating Dragoon Doel
- Chapter 2: Goal after defeating Lenus & Regole
- Chapter 3: Goal after defeating Lloyd 2
- Chapter 4: Goal after defeating Melbu Frahma
"""
display_name = "Completion Condition"
option_chapter_1 = 1
option_chapter_2 = 2
option_chapter_3 = 3
option_chapter_4 = 4
default = 1
@dataclass
class LegendOfDragoonOptions(PerGameCommonOptions):
addition_randomizer: AdditionRandomization
lod_completion_condition: CompletionCondition
enable_shopsanity: Shopsanity
option_groups = [
OptionGroup("Goal Requirements", [
CompletionCondition,
], False),
OptionGroup("Addition Settings", [
AdditionRandomization,
]),
OptionGroup("Rando Options", [
Shopsanity
], False),
# OptionGroup("Starting Choices", [
# ])
]
option_presets = {
}