mirror of
https://github.com/MarioSpore/Grinch-AP.git
synced 2025-10-21 12:11:33 -06:00

* Baseline patching and logic for DKC3 * Client can send, but not yet receive * Alpha Test Baseline * Bug Fixes and Starting Lives Option * Finish BBH, add world hints * Add music shuffle * Boomer Costs Text * Stubbed in Collect behaviour * Adjust Gyrocopter option * Add Bonus Coin junk replacement and tracker support * Delete bad logs * Undo host.yaml change * Refactored SNIClient * Make Swanky Free * Fix Typo * Undo SNIClient run_game hack * Fix Typo * Remove Bosses from Level Shuffle * Remove duplicate kivy Data * Add DKC3 Docs and increment Data version * Remove dead code * Fix mislabeled region * Add Dark Souls 3 to README * Always force Cog on Rocket Rush Flag * Fix Single Ski lock and too many DK Coins * Update Retroarch version number * Don't send DKC3 through LttP Adjuster * Comment Location ROM Table * Change ROM Hash prefix to D3 * Remove redundant constructor * Add ROM Change Safeguards * Properly mark WRAM accesses * Remove outdated region connect * Fix syntax error * Fix Game description * Fix SNES Bank Access * Add isso_setup for DKC3 * Double Quote strings * Escape single quotes I guess
133 lines
3.3 KiB
Python
133 lines
3.3 KiB
Python
import typing
|
|
|
|
from Options import Choice, Range, Option, Toggle, DeathLink, DefaultOnToggle, OptionList
|
|
|
|
|
|
class Goal(Choice):
|
|
"""
|
|
Determines the goal of the seed
|
|
Knautilus: Reach the Knautilus and defeat Baron K. Roolenstein
|
|
Banana Bird Hunt: Find a certain number of Banana Birds and rescue their mother
|
|
"""
|
|
display_name = "Goal"
|
|
option_knautilus = 0
|
|
option_banana_bird_hunt = 1
|
|
default = 0
|
|
|
|
|
|
class IncludeTradeSequence(Toggle):
|
|
"""
|
|
Allows logic to place items at the various steps of the trade sequence
|
|
"""
|
|
display_name = "Include Trade Sequence"
|
|
|
|
|
|
class DKCoinsForGyrocopter(Range):
|
|
"""
|
|
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
|
|
one-time upgrade to the next non-unlocked boat, until you return to Funky. Logic does not assume
|
|
that you will use this.
|
|
"""
|
|
display_name = "DK Coins for Gyrocopter"
|
|
range_start = 10
|
|
range_end = 41
|
|
default = 30
|
|
|
|
|
|
class KrematoaBonusCoinCost(Range):
|
|
"""
|
|
How many Bonus Coins are needed to unlock each level in Krematoa
|
|
"""
|
|
display_name = "Krematoa Bonus Coins Cost"
|
|
range_start = 1
|
|
range_end = 17
|
|
default = 15
|
|
|
|
|
|
class PercentageOfExtraBonusCoins(Range):
|
|
"""
|
|
What Percentage of unneeded Bonus Coins are included in the item pool
|
|
"""
|
|
display_name = "Percentage of Extra Bonus Coins"
|
|
range_start = 0
|
|
range_end = 100
|
|
default = 100
|
|
|
|
|
|
class NumberOfBananaBirds(Range):
|
|
"""
|
|
How many Banana Birds are put into the item pool
|
|
"""
|
|
display_name = "Number of Banana Birds"
|
|
range_start = 5
|
|
range_end = 15
|
|
default = 15
|
|
|
|
|
|
class PercentageOfBananaBirds(Range):
|
|
"""
|
|
What Percentage of Banana Birds in the item pool are required for Banana Bird Hunt
|
|
"""
|
|
display_name = "Percentage of Banana Birds"
|
|
range_start = 20
|
|
range_end = 100
|
|
default = 100
|
|
|
|
|
|
class LevelShuffle(Toggle):
|
|
"""
|
|
Whether levels are shuffled
|
|
"""
|
|
display_name = "Level Shuffle"
|
|
|
|
|
|
class MusicShuffle(Toggle):
|
|
"""
|
|
Whether music is shuffled
|
|
"""
|
|
display_name = "Music Shuffle"
|
|
|
|
|
|
class KongPaletteSwap(Choice):
|
|
"""
|
|
Which Palette to use for the Kongs
|
|
"""
|
|
display_name = "Kong Palette Swap"
|
|
option_default = 0
|
|
option_purple = 1
|
|
option_spooky = 2
|
|
option_dark = 3
|
|
option_chocolate = 4
|
|
option_shadow = 5
|
|
option_red_gold = 6
|
|
option_gbc = 7
|
|
option_halloween = 8
|
|
default = 0
|
|
|
|
|
|
class StartingLifeCount(Range):
|
|
"""
|
|
How many extra lives to start the game with
|
|
"""
|
|
display_name = "Starting Life Count"
|
|
range_start = 1
|
|
range_end = 99
|
|
default = 5
|
|
|
|
|
|
dkc3_options: typing.Dict[str, type(Option)] = {
|
|
#"death_link": DeathLink, # Disabled
|
|
"goal": Goal,
|
|
#"include_trade_sequence": IncludeTradeSequence, # Disabled
|
|
"dk_coins_for_gyrocopter": DKCoinsForGyrocopter,
|
|
"krematoa_bonus_coin_cost": KrematoaBonusCoinCost,
|
|
"percentage_of_extra_bonus_coins": PercentageOfExtraBonusCoins,
|
|
"number_of_banana_birds": NumberOfBananaBirds,
|
|
"percentage_of_banana_birds": PercentageOfBananaBirds,
|
|
"level_shuffle": LevelShuffle,
|
|
"music_shuffle": MusicShuffle,
|
|
"kong_palette_swap": KongPaletteSwap,
|
|
"starting_life_count": StartingLifeCount,
|
|
}
|