191 lines
		
	
	
		
			11 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
		
		
			
		
	
	
			191 lines
		
	
	
		
			11 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
|   | from typing import Any, Dict | ||
|  | 
 | ||
|  | from Options import Accessibility, ProgressionBalancing | ||
|  | from .options import IgnoreCleansing, AutoRun, DSSPatch, AlwaysAllowSpeedDash, IronMaidenBehavior, BuffRangedFamiliars,\ | ||
|  |     BuffSubWeapons, BuffShooterStrength, ItemDropRandomization, HalveDSSCardsPlaced, Countdown, SubWeaponShuffle,\ | ||
|  |     DisableBattleArenaMPDrain, RequiredSkirmishes, EarlyEscapeItem, CVCotMDeathLink, CompletionGoal, SkipDialogues,\ | ||
|  |     NerfRocWing, SkipTutorials, BattleArenaMusic, PlutoGriffinAirSpeed | ||
|  | 
 | ||
|  | all_random_options = { | ||
|  |     "progression_balancing":         "random", | ||
|  |     "accessibility":                 "random", | ||
|  |     "ignore_cleansing":              "random", | ||
|  |     "auto_run":                      "random", | ||
|  |     "dss_patch":                     "random", | ||
|  |     "always_allow_speed_dash":       "random", | ||
|  |     "iron_maiden_behavior":          "random", | ||
|  |     "required_last_keys":            "random", | ||
|  |     "available_last_keys":           "random", | ||
|  |     "buff_ranged_familiars":         "random", | ||
|  |     "buff_sub_weapons":              "random", | ||
|  |     "buff_shooter_strength":         "random", | ||
|  |     "item_drop_randomization":       "random", | ||
|  |     "halve_dss_cards_placed":        "random", | ||
|  |     "countdown":                     "random", | ||
|  |     "sub_weapon_shuffle":            "random", | ||
|  |     "disable_battle_arena_mp_drain": "random", | ||
|  |     "required_skirmishes":           "random", | ||
|  |     "pluto_griffin_air_speed":       "random", | ||
|  |     "skip_dialogues":                "random", | ||
|  |     "skip_tutorials":                "random", | ||
|  |     "nerf_roc_wing":                 "random", | ||
|  |     "early_escape_item":             "random", | ||
|  |     "battle_arena_music":            "random", | ||
|  |     "death_link":                    CVCotMDeathLink.option_off, | ||
|  |     "completion_goal":               "random", | ||
|  | } | ||
|  | 
 | ||
|  | beginner_mode_options = { | ||
|  |     "progression_balancing":         ProgressionBalancing.default, | ||
|  |     "accessibility":                 Accessibility.option_full, | ||
|  |     "ignore_cleansing":              IgnoreCleansing.option_false, | ||
|  |     "auto_run":                      AutoRun.option_true, | ||
|  |     "dss_patch":                     DSSPatch.option_true, | ||
|  |     "always_allow_speed_dash":       AlwaysAllowSpeedDash.option_true, | ||
|  |     "iron_maiden_behavior":          IronMaidenBehavior.option_start_broken, | ||
|  |     "required_last_keys":            3, | ||
|  |     "available_last_keys":           6, | ||
|  |     "buff_ranged_familiars":         BuffRangedFamiliars.option_true, | ||
|  |     "buff_sub_weapons":              BuffSubWeapons.option_true, | ||
|  |     "buff_shooter_strength":         BuffShooterStrength.option_true, | ||
|  |     "item_drop_randomization":       ItemDropRandomization.option_normal, | ||
|  |     "halve_dss_cards_placed":        HalveDSSCardsPlaced.option_false, | ||
|  |     "countdown":                     Countdown.option_majors, | ||
|  |     "sub_weapon_shuffle":            SubWeaponShuffle.option_false, | ||
|  |     "disable_battle_arena_mp_drain": DisableBattleArenaMPDrain.option_true, | ||
|  |     "required_skirmishes":           RequiredSkirmishes.option_none, | ||
|  |     "pluto_griffin_air_speed":       PlutoGriffinAirSpeed.option_false, | ||
|  |     "skip_dialogues":                SkipDialogues.option_false, | ||
|  |     "skip_tutorials":                SkipTutorials.option_false, | ||
|  |     "nerf_roc_wing":                 NerfRocWing.option_false, | ||
|  |     "early_escape_item":             EarlyEscapeItem.option_double, | ||
|  |     "battle_arena_music":            BattleArenaMusic.option_nothing, | ||
|  |     "death_link":                    CVCotMDeathLink.option_off, | ||
|  |     "completion_goal":               CompletionGoal.option_dracula, | ||
|  | } | ||
|  | 
 | ||
|  | standard_competitive_options = { | ||
|  |     "progression_balancing":         ProgressionBalancing.default, | ||
|  |     "accessibility":                 Accessibility.option_full, | ||
|  |     "ignore_cleansing":              IgnoreCleansing.option_false, | ||
|  |     "auto_run":                      AutoRun.option_false, | ||
|  |     "dss_patch":                     DSSPatch.option_true, | ||
|  |     "always_allow_speed_dash":       AlwaysAllowSpeedDash.option_true, | ||
|  |     "iron_maiden_behavior":          IronMaidenBehavior.option_start_broken, | ||
|  |     "required_last_keys":            3, | ||
|  |     "available_last_keys":           5, | ||
|  |     "buff_ranged_familiars":         BuffRangedFamiliars.option_true, | ||
|  |     "buff_sub_weapons":              BuffSubWeapons.option_true, | ||
|  |     "buff_shooter_strength":         BuffShooterStrength.option_false, | ||
|  |     "item_drop_randomization":       ItemDropRandomization.option_normal, | ||
|  |     "halve_dss_cards_placed":        HalveDSSCardsPlaced.option_true, | ||
|  |     "countdown":                     Countdown.option_majors, | ||
|  |     "sub_weapon_shuffle":            SubWeaponShuffle.option_true, | ||
|  |     "disable_battle_arena_mp_drain": DisableBattleArenaMPDrain.option_false, | ||
|  |     "required_skirmishes":           RequiredSkirmishes.option_none, | ||
|  |     "pluto_griffin_air_speed":       PlutoGriffinAirSpeed.option_false, | ||
|  |     "skip_dialogues":                SkipDialogues.option_true, | ||
|  |     "skip_tutorials":                SkipTutorials.option_true, | ||
|  |     "nerf_roc_wing":                 NerfRocWing.option_false, | ||
|  |     "early_escape_item":             EarlyEscapeItem.option_double, | ||
|  |     "battle_arena_music":            BattleArenaMusic.option_nothing, | ||
|  |     "death_link":                    CVCotMDeathLink.option_off, | ||
|  |     "completion_goal":               CompletionGoal.option_dracula, | ||
|  | } | ||
|  | 
 | ||
|  | randomania_2023_options = { | ||
|  |     "progression_balancing":         ProgressionBalancing.default, | ||
|  |     "accessibility":                 Accessibility.option_full, | ||
|  |     "ignore_cleansing":              IgnoreCleansing.option_false, | ||
|  |     "auto_run":                      AutoRun.option_false, | ||
|  |     "dss_patch":                     DSSPatch.option_true, | ||
|  |     "always_allow_speed_dash":       AlwaysAllowSpeedDash.option_true, | ||
|  |     "iron_maiden_behavior":          IronMaidenBehavior.option_vanilla, | ||
|  |     "required_last_keys":            3, | ||
|  |     "available_last_keys":           5, | ||
|  |     "buff_ranged_familiars":         BuffRangedFamiliars.option_true, | ||
|  |     "buff_sub_weapons":              BuffSubWeapons.option_true, | ||
|  |     "buff_shooter_strength":         BuffShooterStrength.option_false, | ||
|  |     "item_drop_randomization":       ItemDropRandomization.option_normal, | ||
|  |     "halve_dss_cards_placed":        HalveDSSCardsPlaced.option_false, | ||
|  |     "countdown":                     Countdown.option_majors, | ||
|  |     "sub_weapon_shuffle":            SubWeaponShuffle.option_true, | ||
|  |     "disable_battle_arena_mp_drain": DisableBattleArenaMPDrain.option_false, | ||
|  |     "required_skirmishes":           RequiredSkirmishes.option_none, | ||
|  |     "pluto_griffin_air_speed":       PlutoGriffinAirSpeed.option_false, | ||
|  |     "skip_dialogues":                SkipDialogues.option_false, | ||
|  |     "skip_tutorials":                SkipTutorials.option_false, | ||
|  |     "nerf_roc_wing":                 NerfRocWing.option_false, | ||
|  |     "early_escape_item":             EarlyEscapeItem.option_double, | ||
|  |     "battle_arena_music":            BattleArenaMusic.option_nothing, | ||
|  |     "death_link":                    CVCotMDeathLink.option_off, | ||
|  |     "completion_goal":               CompletionGoal.option_dracula, | ||
|  | } | ||
|  | 
 | ||
|  | competitive_all_bosses_options = { | ||
|  |     "progression_balancing":         ProgressionBalancing.default, | ||
|  |     "accessibility":                 Accessibility.option_full, | ||
|  |     "ignore_cleansing":              IgnoreCleansing.option_false, | ||
|  |     "auto_run":                      AutoRun.option_false, | ||
|  |     "dss_patch":                     DSSPatch.option_true, | ||
|  |     "always_allow_speed_dash":       AlwaysAllowSpeedDash.option_true, | ||
|  |     "iron_maiden_behavior":          IronMaidenBehavior.option_vanilla, | ||
|  |     "required_last_keys":            8, | ||
|  |     "available_last_keys":           8, | ||
|  |     "buff_ranged_familiars":         BuffRangedFamiliars.option_true, | ||
|  |     "buff_sub_weapons":              BuffSubWeapons.option_true, | ||
|  |     "buff_shooter_strength":         BuffShooterStrength.option_false, | ||
|  |     "item_drop_randomization":       ItemDropRandomization.option_tiered, | ||
|  |     "halve_dss_cards_placed":        HalveDSSCardsPlaced.option_true, | ||
|  |     "countdown":                     Countdown.option_none, | ||
|  |     "sub_weapon_shuffle":            SubWeaponShuffle.option_true, | ||
|  |     "disable_battle_arena_mp_drain": DisableBattleArenaMPDrain.option_false, | ||
|  |     "required_skirmishes":           RequiredSkirmishes.option_all_bosses, | ||
|  |     "pluto_griffin_air_speed":       PlutoGriffinAirSpeed.option_false, | ||
|  |     "skip_dialogues":                SkipDialogues.option_true, | ||
|  |     "skip_tutorials":                SkipTutorials.option_true, | ||
|  |     "nerf_roc_wing":                 NerfRocWing.option_false, | ||
|  |     "early_escape_item":             EarlyEscapeItem.option_double, | ||
|  |     "battle_arena_music":            BattleArenaMusic.option_nothing, | ||
|  |     "death_link":                    CVCotMDeathLink.option_off, | ||
|  |     "completion_goal":               CompletionGoal.option_dracula, | ||
|  | } | ||
|  | 
 | ||
|  | hardcore_mode_options = { | ||
|  |     "progression_balancing":         ProgressionBalancing.default, | ||
|  |     "accessibility":                 Accessibility.option_minimal, | ||
|  |     "ignore_cleansing":              IgnoreCleansing.option_true, | ||
|  |     "auto_run":                      AutoRun.option_false, | ||
|  |     "dss_patch":                     DSSPatch.option_true, | ||
|  |     "always_allow_speed_dash":       AlwaysAllowSpeedDash.option_false, | ||
|  |     "iron_maiden_behavior":          IronMaidenBehavior.option_vanilla, | ||
|  |     "required_last_keys":            9, | ||
|  |     "available_last_keys":           9, | ||
|  |     "buff_ranged_familiars":         BuffRangedFamiliars.option_false, | ||
|  |     "buff_sub_weapons":              BuffSubWeapons.option_false, | ||
|  |     "buff_shooter_strength":         BuffShooterStrength.option_false, | ||
|  |     "item_drop_randomization":       ItemDropRandomization.option_tiered, | ||
|  |     "halve_dss_cards_placed":        HalveDSSCardsPlaced.option_true, | ||
|  |     "countdown":                     Countdown.option_none, | ||
|  |     "sub_weapon_shuffle":            SubWeaponShuffle.option_true, | ||
|  |     "disable_battle_arena_mp_drain": DisableBattleArenaMPDrain.option_false, | ||
|  |     "required_skirmishes":           RequiredSkirmishes.option_none, | ||
|  |     "pluto_griffin_air_speed":       PlutoGriffinAirSpeed.option_false, | ||
|  |     "skip_dialogues":                SkipDialogues.option_false, | ||
|  |     "skip_tutorials":                SkipTutorials.option_false, | ||
|  |     "nerf_roc_wing":                 NerfRocWing.option_false, | ||
|  |     "early_escape_item":             EarlyEscapeItem.option_double, | ||
|  |     "battle_arena_music":            BattleArenaMusic.option_nothing, | ||
|  |     "death_link":                    CVCotMDeathLink.option_off, | ||
|  |     "completion_goal":               CompletionGoal.option_battle_arena_and_dracula, | ||
|  | } | ||
|  | 
 | ||
|  | cvcotm_options_presets: Dict[str, Dict[str, Any]] = { | ||
|  |     "All Random": all_random_options, | ||
|  |     "Beginner Mode": beginner_mode_options, | ||
|  |     "Standard Competitive": standard_competitive_options, | ||
|  |     "Randomania 2023": randomania_2023_options, | ||
|  |     "Competitive All Bosses": competitive_all_bosses_options, | ||
|  |     "Hardcore Mode": hardcore_mode_options, | ||
|  | } |