Files
dockipelago/worlds/tloz_oos/Settings.py
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

60 lines
2.5 KiB
Python

from typing import Union
import settings
from .data.Constants import ROM_HASH, AGES_ROM_HASH
class OracleOfSeasonsSettings(settings.Group):
class RomFile(settings.UserFilePath):
"""File name of the Oracle of Seasons US ROM"""
copy_to = "Legend of Zelda, The - Oracle of Seasons (USA).gbc"
description = "OoS ROM File"
md5s = [ROM_HASH]
class AgesRomFile(settings.UserFilePath):
"""File name of the Oracle of Ages US ROM (only needed for cross items)"""
copy_to = "Legend of Zelda, The - Oracle of Ages (USA).gbc"
description = "OoA ROM File"
md5s = [AGES_ROM_HASH]
class OoSCharacterSprite(str):
"""
The name of the sprite file to use (from "data/sprites/oos_ooa/").
Putting "link" as a value uses the default game sprite.
Putting "random" as a value randomly picks a sprite from your sprites directory for each generated ROM.
If you want some weighted result, you can arrange the options like in your option yaml.
"""
class OoSCharacterPalette(str):
"""
The color palette used for character sprite throughout the game.
Valid values are: "green", "red", "blue", "orange", and "random"
If you want some weighted result, you can arrange the options like in your option yaml.
If you want a color weight to only apply to a specific sprite, you can write color|sprite: weight.
For example, red|link: 1 would add red in the possible palettes with a weight of 1 only if link is the selected sprite
"""
class OoSRevealDiggingSpots(str):
"""
If enabled, hidden digging spots in Subrosia are revealed as diggable tiles.
"""
class OoSHeartBeepInterval(str):
"""
A factor applied to the infamous heart beep sound interval.
Valid values are: "vanilla", "half", "quarter", "disabled"
"""
class OoSRemoveMusic(str):
"""
If true, no music will be played in the game while sound effects remain untouched
"""
rom_file: RomFile = RomFile(RomFile.copy_to)
ages_rom_file: AgesRomFile = AgesRomFile(AgesRomFile.copy_to)
rom_start: bool = True
character_sprite: Union[OoSCharacterSprite, str] = "link"
character_palette: Union[OoSCharacterPalette, str] = "green"
reveal_hidden_subrosia_digging_spots: Union[OoSRevealDiggingSpots, bool] = True
heart_beep_interval: Union[OoSHeartBeepInterval, str] = "vanilla"
remove_music: Union[OoSRemoveMusic, bool] = False