Files
dockipelago/worlds/khcom/Options.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

68 lines
1.8 KiB
Python

from dataclasses import dataclass
from Options import Choice, Range, Option, Toggle, DeathLink, DefaultOnToggle, OptionSet, PerGameCommonOptions, StartInventoryPool
class PacksOrSets(Choice):
"""
Packs contain cards that are randomized upon receipt at the lua script level
Sets are static card sets (i.e. You received Card Set Lady Luck 4-6)
"""
display_name = "Packs or Sets"
option_sets = 1
option_packs = 2
default = 1
class StartingPacks(Range):
"""
If Packs are enabled, sets how many you start with
"""
display_name = "Starting Packs"
default = 4
range_start = 0
range_end = 10
class Zeroes(DefaultOnToggle):
"""
Toggle whether 0 value card's should be included in the item pool. Innefective if you are using card packs
"""
display_name = "Zeroes"
class Cure(DefaultOnToggle):
"""
Toggle whether Cure cards should be included in the item pool. Innefective if you are using card packs
"""
display_name = "Cure"
class EarlyCure(DefaultOnToggle):
"""
Toggles whether one of the starting locations should contain Cure 4-6?
"""
display_name = "Early Cure"
class EnemyCards(DefaultOnToggle):
"""
Toggles whether enemy cards should be shuffled into the item pool.
"""
display_name = "Enemy Cards"
class StartingWorlds(Range):
"""
Number of random world cards to start with in addition to Traverse Town, which is always available.
"""
display_name = "Starting Worlds"
default = 3
range_start = 0
range_end = 11
@dataclass
class KHCOMOptions(PerGameCommonOptions):
packs_or_sets: PacksOrSets
starting_packs: StartingPacks
zeroes: Zeroes
cure: Cure
early_cure: EarlyCure
enemy_cards: EnemyCards
starting_worlds: StartingWorlds
start_inventory_from_pool: StartInventoryPool