DKC3: Option Groups (#3322)
* DKC3: Option Groups * Retarget OptionGroup import
This commit is contained in:
parent
61be79b7ea
commit
a1c2e8715e
|
@ -1,13 +1,15 @@
|
||||||
from dataclasses import dataclass
|
from dataclasses import dataclass
|
||||||
import typing
|
import typing
|
||||||
|
|
||||||
from Options import Choice, Range, Option, Toggle, DeathLink, DefaultOnToggle, OptionList, PerGameCommonOptions
|
from Options import Choice, Range, Toggle, DeathLink, DefaultOnToggle, OptionGroup, PerGameCommonOptions
|
||||||
|
|
||||||
|
|
||||||
class Goal(Choice):
|
class Goal(Choice):
|
||||||
"""
|
"""
|
||||||
Determines the goal of the seed
|
Determines the goal of the seed
|
||||||
|
|
||||||
Knautilus: Scuttle the Knautilus in Krematoa and defeat Baron K. Roolenstein
|
Knautilus: Scuttle the Knautilus in Krematoa and defeat Baron K. Roolenstein
|
||||||
|
|
||||||
Banana Bird Hunt: Find a certain number of Banana Birds and rescue their mother
|
Banana Bird Hunt: Find a certain number of Banana Birds and rescue their mother
|
||||||
"""
|
"""
|
||||||
display_name = "Goal"
|
display_name = "Goal"
|
||||||
|
@ -26,6 +28,7 @@ class IncludeTradeSequence(Toggle):
|
||||||
class DKCoinsForGyrocopter(Range):
|
class DKCoinsForGyrocopter(Range):
|
||||||
"""
|
"""
|
||||||
How many DK Coins are needed to unlock the Gyrocopter
|
How many DK Coins are needed to unlock the Gyrocopter
|
||||||
|
|
||||||
Note: Achieving this number before unlocking the Turbo Ski will cause the game to grant you a
|
Note: Achieving this number before unlocking the Turbo Ski will cause the game to grant you a
|
||||||
one-time upgrade to the next non-unlocked boat, until you return to Funky. Logic does not assume
|
one-time upgrade to the next non-unlocked boat, until you return to Funky. Logic does not assume
|
||||||
that you will use this.
|
that you will use this.
|
||||||
|
@ -93,6 +96,7 @@ class LevelShuffle(Toggle):
|
||||||
class Difficulty(Choice):
|
class Difficulty(Choice):
|
||||||
"""
|
"""
|
||||||
Which Difficulty Level to use
|
Which Difficulty Level to use
|
||||||
|
|
||||||
NORML: The Normal Difficulty
|
NORML: The Normal Difficulty
|
||||||
HARDR: Many DK Barrels are removed
|
HARDR: Many DK Barrels are removed
|
||||||
TUFST: Most DK Barrels and all Midway Barrels are removed
|
TUFST: Most DK Barrels and all Midway Barrels are removed
|
||||||
|
@ -159,19 +163,40 @@ class StartingLifeCount(Range):
|
||||||
default = 5
|
default = 5
|
||||||
|
|
||||||
|
|
||||||
|
dkc3_option_groups = [
|
||||||
|
OptionGroup("Goal Options", [
|
||||||
|
Goal,
|
||||||
|
KrematoaBonusCoinCost,
|
||||||
|
PercentageOfExtraBonusCoins,
|
||||||
|
NumberOfBananaBirds,
|
||||||
|
PercentageOfBananaBirds,
|
||||||
|
]),
|
||||||
|
OptionGroup("Aesthetics", [
|
||||||
|
Autosave,
|
||||||
|
MERRY,
|
||||||
|
MusicShuffle,
|
||||||
|
KongPaletteSwap,
|
||||||
|
StartingLifeCount,
|
||||||
|
]),
|
||||||
|
]
|
||||||
|
|
||||||
|
|
||||||
@dataclass
|
@dataclass
|
||||||
class DKC3Options(PerGameCommonOptions):
|
class DKC3Options(PerGameCommonOptions):
|
||||||
#death_link: DeathLink # Disabled
|
#death_link: DeathLink # Disabled
|
||||||
goal: Goal
|
|
||||||
#include_trade_sequence: IncludeTradeSequence # Disabled
|
#include_trade_sequence: IncludeTradeSequence # Disabled
|
||||||
dk_coins_for_gyrocopter: DKCoinsForGyrocopter
|
|
||||||
|
goal: Goal
|
||||||
krematoa_bonus_coin_cost: KrematoaBonusCoinCost
|
krematoa_bonus_coin_cost: KrematoaBonusCoinCost
|
||||||
percentage_of_extra_bonus_coins: PercentageOfExtraBonusCoins
|
percentage_of_extra_bonus_coins: PercentageOfExtraBonusCoins
|
||||||
number_of_banana_birds: NumberOfBananaBirds
|
number_of_banana_birds: NumberOfBananaBirds
|
||||||
percentage_of_banana_birds: PercentageOfBananaBirds
|
percentage_of_banana_birds: PercentageOfBananaBirds
|
||||||
|
|
||||||
|
dk_coins_for_gyrocopter: DKCoinsForGyrocopter
|
||||||
kongsanity: KONGsanity
|
kongsanity: KONGsanity
|
||||||
level_shuffle: LevelShuffle
|
level_shuffle: LevelShuffle
|
||||||
difficulty: Difficulty
|
difficulty: Difficulty
|
||||||
|
|
||||||
autosave: Autosave
|
autosave: Autosave
|
||||||
merry: MERRY
|
merry: MERRY
|
||||||
music_shuffle: MusicShuffle
|
music_shuffle: MusicShuffle
|
||||||
|
|
|
@ -4,20 +4,21 @@ import typing
|
||||||
import math
|
import math
|
||||||
import threading
|
import threading
|
||||||
|
|
||||||
import settings
|
|
||||||
from BaseClasses import Item, MultiWorld, Tutorial, ItemClassification
|
from BaseClasses import Item, MultiWorld, Tutorial, ItemClassification
|
||||||
from Options import PerGameCommonOptions
|
from Options import PerGameCommonOptions
|
||||||
from .Items import DKC3Item, ItemData, item_table, inventory_table, junk_table
|
|
||||||
from .Locations import DKC3Location, all_locations, setup_locations
|
|
||||||
from .Options import DKC3Options
|
|
||||||
from .Regions import create_regions, connect_regions
|
|
||||||
from .Levels import level_list
|
|
||||||
from .Rules import set_rules
|
|
||||||
from .Names import ItemName, LocationName
|
|
||||||
from .Client import DKC3SNIClient
|
|
||||||
from worlds.AutoWorld import WebWorld, World
|
|
||||||
from .Rom import LocalRom, patch_rom, get_base_rom_path, DKC3DeltaPatch
|
|
||||||
import Patch
|
import Patch
|
||||||
|
import settings
|
||||||
|
from worlds.AutoWorld import WebWorld, World
|
||||||
|
|
||||||
|
from .Client import DKC3SNIClient
|
||||||
|
from .Items import DKC3Item, ItemData, item_table, inventory_table, junk_table
|
||||||
|
from .Levels import level_list
|
||||||
|
from .Locations import DKC3Location, all_locations, setup_locations
|
||||||
|
from .Names import ItemName, LocationName
|
||||||
|
from .Options import DKC3Options, dkc3_option_groups
|
||||||
|
from .Regions import create_regions, connect_regions
|
||||||
|
from .Rom import LocalRom, patch_rom, get_base_rom_path, DKC3DeltaPatch
|
||||||
|
from .Rules import set_rules
|
||||||
|
|
||||||
|
|
||||||
class DK3Settings(settings.Group):
|
class DK3Settings(settings.Group):
|
||||||
|
@ -44,6 +45,8 @@ class DKC3Web(WebWorld):
|
||||||
|
|
||||||
tutorials = [setup_en]
|
tutorials = [setup_en]
|
||||||
|
|
||||||
|
option_groups = dkc3_option_groups
|
||||||
|
|
||||||
|
|
||||||
class DKC3World(World):
|
class DKC3World(World):
|
||||||
"""
|
"""
|
||||||
|
|
Loading…
Reference in New Issue