Files
dockipelago/worlds/dc2/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

81 lines
2.5 KiB
Python

import typing
from dataclasses import dataclass
from Options import Toggle, DefaultOnToggle, Option, Range, Choice, ItemDict, DeathLink, PerGameCommonOptions
class FishsanityOption(DefaultOnToggle):
"""Include catching all fish"""
display_name = "Randomize Fish Locations"
class SphedasanityOption(DefaultOnToggle):
"""Include completing all spheda"""
display_name = "Randomize Spheda Locations"
class MedalsanityOption(DefaultOnToggle):
"""Include completing all Medals"""
display_name = "Randomize Medal Locations"
class GeoramasanityOption(DefaultOnToggle):
"""Include 100% completing all Georama"""
display_name = "Randomize Georama Locations"
class PhotosanityOption(DefaultOnToggle):
"""Include taking all photos"""
display_name = "Randomize Photo ideas Locations"
class InventionsanityOption(DefaultOnToggle):
"""Include discovering all inventions"""
display_name = "Randomize invention Locations"
class IncludeResourcePacksOption(Range):
"""Adds packs of useful items"""
display_name = "Number of resource packs to include in the pool"
range_start = 0
range_end = 100
default = 20
class ChapterGoalCountOption(Range):
"""Amount of chapters to complete for the goal"""
display_name = "Number of chapters that must be completed"
range_start = 1
range_end = 8
default = 4
class ABSMultiplierOption(Range):
"""Multiply ABS by this amount"""
display_name = "Multiplier for received ABS (weapon exp)"
range_start = 1
range_end = 10
default = 1
class GildaMultiplierOption(Range):
"""Multiply Gilda dropped by enemies by this amount"""
display_name = "Multiplier for enemy-dropped gilda"
range_start = 1
range_end = 10
default = 1
class GuaranteedItemsOption(ItemDict):
"""Guarantees that the specified items will be in the item pool"""
display_name = "Guaranteed Items"
class EnableEnemyRandomiserOption(DefaultOnToggle):
"""Randomise all enemies"""
display_name = "Enable Enemy Randomiser"
@dataclass
class DC2Option(PerGameCommonOptions):
#fishsanity: FishsanityOption
#sphedasanity: SphedasanityOption
#medalsanity: MedalsanityOption
#georamasanity: GeoramasanityOption
#photosanity: PhotosanityOption
#inventionsanity: InventionsanityOption
resource_pack_count: IncludeResourcePacksOption
abs_multiplier: ABSMultiplierOption
gilda_multiplier: GildaMultiplierOption
guaranteed_items: GuaranteedItemsOption
enable_enemy_randomiser: EnableEnemyRandomiserOption