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,
 | |
| }
 |