diff --git a/RandomSettingsGenerator.py b/RandomSettingsGenerator.py index 52f75c0..41ee64a 100644 --- a/RandomSettingsGenerator.py +++ b/RandomSettingsGenerator.py @@ -15,7 +15,7 @@ global_override_fname = None # Please set the weights file you with to load -WEIGHTS = "RSL" # The default Random Settings League Season 6 weights +WEIGHTS = "RSL" # The default Random Settings League Season 7 weights # Every setting with even weights # WEIGHTS = "full-random" # Provide your own weights file. If the specified file does not exist, this will create it @@ -110,7 +110,7 @@ def main(): # If we only want to check for new/changed settings if args["check_new_settings"]: - _, _, rslweights = rs.load_weights_file("weights/rsl_season6.json") + _, _, rslmultis, rslweights = rs.load_weights_file("weights/rsl_season7.json") tools.check_for_setting_changes(rslweights, rs.generate_balanced_weights(None)) return diff --git a/conditionals.py b/conditionals.py index f9524f5..14a6ad2 100644 --- a/conditionals.py +++ b/conditionals.py @@ -241,7 +241,7 @@ def limit_overworld_entrances_in_mixed_entrance_pools(random_settings, **kwargs) overworld_probability = string_to_int(kwargs['cparams'][0]) includeOverworld = random.random()*100 < overworld_probability # If needed, remove overworld from mixed pools - if not includeOverworld: + if not includeOverworld and "Overworld" in random_settings["mix_entrance_pools"]: random_settings["mix_entrance_pools"].remove("Overworld") diff --git a/roll_settings.py b/roll_settings.py index 4266323..01bbf60 100644 --- a/roll_settings.py +++ b/roll_settings.py @@ -129,7 +129,7 @@ def draw_dungeon_shortcuts(random_settings): def generate_weights_override(weights, override_weights_fname): # Load the weight dictionary if weights == "RSL": - weight_options, conditionals, weight_multiselect, weight_dict = load_weights_file("weights/rsl_season6.json") + weight_options, conditionals, weight_multiselect, weight_dict = load_weights_file("weights/rsl_season7.json") elif weights == "full-random": weight_options = None weight_dict = generate_balanced_weights(None) diff --git a/rslversion.py b/rslversion.py index 8be273a..4264a50 100644 --- a/rslversion.py +++ b/rslversion.py @@ -1,9 +1,9 @@ -__version__ = "2.7.4" +__version__ = "2.8.0" # Randomizer Info randomizer_repo = 'rrealmuto/OoT-Randomizer' -randomizer_version = '8.1.81 Rob-117' -randomizer_commit = '10c20567d10cf1a1f477f1c5752e170ec518338d' +randomizer_version = '8.2.50 Rob-128' +randomizer_commit = '2030053144ce99f3364244117db64ba9585a1513' # Requirements MIN_PY_VERSION = (3, 9) diff --git a/weights/rsl_season7.json b/weights/rsl_season7.json new file mode 100644 index 0000000..fd9f1e5 --- /dev/null +++ b/weights/rsl_season7.json @@ -0,0 +1,809 @@ +{ + "options": { + "bridge_tokens_max": 100, + "ganon_bosskey_tokens_max": 100, + "bridge_hearts_min": 4, + "ganon_bosskey_hearts_min": 4, + "bridge_hearts_max": 20, + "ganon_bosskey_hearts_max": 20, + "triforce_goal_per_world_max": 100, + "starting_items": true, + "misc_hints": [ + "altar", + "dampe_diary", + "ganondorf", + "warp_songs_and_owls", + "mask_shop", + "unique_merchants" + ], + "tricks": [ + "logic_fewer_tunic_requirements", + "logic_grottos_without_agony", + "logic_child_deadhand", + "logic_man_on_roof", + "logic_dc_jump", + "logic_rusted_switches", + "logic_windmill_poh", + "logic_crater_bean_poh_with_hovers", + "logic_forest_vines", + "logic_lens_botw", + "logic_lens_castle", + "logic_lens_gtg", + "logic_lens_shadow", + "logic_lens_spirit", + "logic_visible_collisions", + "logic_deku_b1_webs_with_bow", + "logic_lens_shadow", + "logic_lens_shadow_platform", + "logic_lens_bongo" + ], + "disabled_locations": [] + }, + "conditionals": { + "constant_triforce_hunt_extras": [true], + "exclude_ice_trap_misery": [true], + "disable_keysanity_independence": [true], + "random_scrubs_start_wallet": [true], + "split_collectible_bridge_conditions": [true, "15%", "50/50", "40/40/20"], + "replace_dampe_diary_hint_with_lightarrow": [true], + "adjust_chaos_hint_distro": [true], + "exclude_mapcompass_info_remove": [true], + "ohko_starts_with_nayrus": [true], + "shuffle_valley_lake_exit": [true], + "select_one_pots_crates_freestanding": [true, "20%", "1/1/1", "1/1/1"], + "geometrically_draw_dungeon_shortcuts": [true], + "limit_overworld_entrances_in_mixed_entrance_pools": [true, "20%"], + "restrict_one_entrance_randomizer": [false], + "disable_pot_chest_texture_independence": [false], + "shuffle_goal_hints": [false, "50%"], + "invert_dungeons_mq_count": [false, "0%"], + "exclude_minimal_triforce_hunt": [false], + "limit_mixed_pool_entrances": [false, 2, false], + "keysanity_key_get_keyrings": [false] + }, + "multiselect": { + "key_rings": 20, + "silver_rupee_pouches": 100, + "dungeon_shortcuts": 0, + "mix_entrance_pools": 30, + "spawn_positions": 50, + "shuffle_child_trade": 20, + "minor_items_as_major_chest": 0, + "adult_trade_start": 100, + "potcrate_textures_specific": 100, + "chest_textures_specific": 100 + }, + "weights": { + "shuffle_loach_reward": { + "off": 1, + "vanilla": 0, + "easy": 0 + }, + "shuffle_tcgkeys": { + "remove": 0, + "vanilla": 8, + "regional": 1, + "overworld": 0, + "any_dungeon": 0, + "keysanity": 1 + }, + "shuffle_hideout_entrances": { + "true": 0, + "false": 1 + }, + "logic_rules": { + "glitchless": 1, + "glitched": 0, + "none": 0 + }, + "shuffle_freestanding_items": { + "off": 1, + "all": 0, + "overworld": 0, + "dungeons": 0 + }, + "shuffle_pots": { + "off": 1, + "all": 0, + "overworld": 0, + "dungeons": 0 + }, + "shuffle_crates": { + "off": 1, + "all": 0, + "overworld": 0, + "dungeons": 0 + }, + "shuffle_beehives": { + "true": 0, + "false": 1 + }, + "shuffle_silver_rupees": { + "remove": 1, + "vanilla": 16, + "dungeon": 1, + "overworld": 0, + "any_dungeon": 0, + "regional": 1, + "anywhere": 1 + }, + "silver_rupee_pouches_choice": { + "off": 0, + "choice": 0, + "all": 1, + "random": 0 + }, + "correct_potcrate_appearances": { + "off": 0, + "textures_content": 1, + "textures_unchecked": 0 + }, + "shuffle_gerudo_valley_river_exit": { + "true": 0, + "false": 1 + }, + "keyring_give_bk": { + "true": 1, + "false": 3 + }, + "free_bombchu_drops": { + "true": 1, + "false": 1 + }, + "adult_trade_shuffle": { + "true": 1, + "false": 4 + }, + "open_forest": { + "open": 1, + "closed_deku": 1, + "closed": 0 + }, + "open_kakariko": { + "open": 1, + "zelda": 1, + "closed": 0 + }, + "open_door_of_time": { + "true": 1, + "false": 1 + }, + "zora_fountain": { + "closed": 1, + "adult": 0, + "open": 1 + }, + "gerudo_fortress": { + "normal": 1, + "fast": 1, + "open": 1 + }, + "bridge": { + "open": 1, + "vanilla": 1, + "stones": 1, + "medallions": 1, + "dungeons": 1, + "tokens": 0, + "hearts": 0, + "random": 0 + }, + "bridge_medallions": { + "1": 1, + "2": 1, + "3": 2, + "4": 2, + "5": 4, + "6": 10 + }, + "bridge_stones": { + "1": 1, + "2": 4, + "3": 5 + }, + "bridge_rewards": { + "1": 1, + "2": 1, + "3": 2, + "4": 2, + "5": 2, + "6": 4, + "7": 4, + "8": 4, + "9": 20 + }, + "triforce_hunt": { + "true": 1, + "false": 9 + }, + "one_item_per_dungeon": { + "true": 0, + "false": 1 + }, + "trials_random": { + "true": 1, + "false": 0 + }, + "trials": { + "0": 1, + "1": 1, + "2": 1, + "3": 1, + "4": 1, + "5": 1, + "6": 1 + }, + "starting_age": { + "child": 0, + "adult": 0, + "random": 1 + }, + "shuffle_interior_entrances": { + "off": 2, + "simple": 1, + "all": 1 + }, + "shuffle_grotto_entrances": { + "true": 1, + "false": 1 + }, + "shuffle_dungeon_entrances": { + "off": 9, + "simple": 9, + "all": 2 + }, + "shuffle_bosses": { + "off": 4, + "limited": 0, + "full": 1 + }, + "shuffle_overworld_entrances": { + "true": 1, + "false": 3 + }, + "decouple_entrances": { + "true": 0, + "false": 1 + }, + "owl_drops": { + "true": 1, + "false": 1 + }, + "warp_songs": { + "true": 1, + "false": 1 + }, + "dungeon_shortcuts_choice": { + "off": 0, + "choice": 1, + "all": 0, + "random": 0 + }, + "empty_dungeons_mode": { + "none": 1, + "specific": 0, + "count": 0, + "rewards": 0 + }, + "key_rings_choice": { + "off": 0, + "choice": 1, + "all": 0, + "random": 0 + }, + "mq_dungeons_mode": { + "random": 0, + "count": 0, + "vanilla": 1, + "mq": 0, + "specific": 0 + }, + "mq_dungeons_count": { + "0": 1, + "1": 0, + "2": 0, + "3": 0, + "4": 0, + "5": 0, + "6": 0, + "7": 0, + "8": 0, + "9": 0, + "10": 0, + "11": 0, + "12": 0 + }, + "shopsanity": { + "off": 2, + "0": 1, + "1": 1, + "2": 1, + "3": 1, + "4": 1, + "random": 2 + }, + "tokensanity": { + "off": 6, + "dungeons": 5, + "overworld": 5, + "all": 4 + }, + "shuffle_scrubs": { + "off": 5, + "low": 5, + "regular": 3, + "random": 2 + }, + "shuffle_cows": { + "true": 1, + "false": 1 + }, + "shuffle_song_items": { + "song": 4, + "dungeon": 2, + "any": 4 + }, + "shuffle_kokiri_sword": { + "true": 1, + "false": 1 + }, + "shuffle_ocarinas": { + "true": 1, + "false": 1 + }, + "shuffle_gerudo_card": { + "true": 1, + "false": 1 + }, + "shuffle_beans": { + "true": 1, + "false": 1 + }, + "shuffle_expensive_merchants": { + "true": 2, + "false": 3 + }, + "shuffle_frog_song_rupees": { + "true": 3, + "false": 17 + }, + "shuffle_mapcompass": { + "remove": 1, + "startwith": 1, + "vanilla": 1, + "dungeon": 1, + "overworld": 1, + "any_dungeon": 1, + "keysanity": 1, + "regional": 1 + }, + "shuffle_smallkeys": { + "remove": 2, + "vanilla": 2, + "dungeon": 2, + "overworld": 1, + "any_dungeon": 1, + "keysanity": 2, + "regional": 1 + }, + "shuffle_hideoutkeys": { + "vanilla": 1, + "overworld": 0, + "any_dungeon": 0, + "keysanity": 0, + "regional": 0, + "fortress": 0 + }, + "shuffle_bosskeys": { + "remove": 2, + "vanilla": 2, + "dungeon": 2, + "overworld": 0, + "any_dungeon": 0, + "keysanity": 2, + "regional": 2 + }, + "shuffle_ganon_bosskey": { + "remove": 3, + "vanilla": 3, + "dungeon": 3, + "overworld": 1, + "any_dungeon": 1, + "keysanity": 1, + "on_lacs": 2, + "medallions": 1, + "stones": 1, + "dungeons": 1, + "tokens": 0, + "hearts": 0, + "regional": 1 + }, + "ganon_bosskey_medallions": { + "1": 1, + "2": 1, + "3": 2, + "4": 2, + "5": 4, + "6": 10 + }, + "ganon_bosskey_stones": { + "1": 1, + "2": 4, + "3": 5 + }, + "ganon_bosskey_rewards": { + "1": 1, + "2": 1, + "3": 2, + "4": 2, + "5": 2, + "6": 4, + "7": 4, + "8": 4, + "9": 20 + }, + "enhance_map_compass": { + "true": 1, + "false": 1 + }, + "reachable_locations": { + "all": 1, + "goals": 0, + "beatable": 1 + }, + "logic_no_night_tokens_without_suns_song": { + "true": 0, + "false": 1 + }, + "no_escape_sequence": { + "true": 3, + "false": 2 + }, + "no_guard_stealth": { + "true": 1, + "false": 0 + }, + "no_epona_race": { + "true": 3, + "false": 2 + }, + "skip_some_minigame_phases": { + "true": 1, + "false": 0 + }, + "useful_cutscenes": { + "true": 0, + "false": 1 + }, + "fast_chests": { + "true": 1, + "false": 0 + }, + "free_scarecrow": { + "true": 1, + "false": 1 + }, + "chicken_count_random": { + "true": 1, + "false": 0 + }, + "complete_mask_quest": { + "true": 1, + "false": 1 + }, + "plant_beans": { + "true": 3, + "false": 7 + }, + "chicken_count": { + "0": 1, + "1": 1, + "2": 1, + "3": 1, + "4": 1, + "5": 1, + "6": 1, + "7": 1 + }, + "big_poe_count_random": { + "true": 1, + "false": 0 + }, + "big_poe_count": { + "1": 1, + "2": 1, + "3": 1, + "4": 1, + "5": 1, + "6": 1, + "7": 1, + "8": 1, + "9": 1, + "10": 1 + }, + "ocarina_songs": { + "off": 1, + "frog": 0, + "warp": 0, + "all": 0 + }, + "correct_chest_appearances": { + "off": 4, + "textures": 3, + "both": 3, + "classic": 0 + }, + "invisible_chests": { + "true": 0, + "false": 1 + }, + "shopsanity_prices": { + "random": 1, + "random_starting": 1, + "random_adult": 1, + "random_giant": 1, + "random_tycoon": 0, + "affordable": 1 + }, + "fast_bunny_hood": { + "true": 1, + "false": 0 + }, + "blue_fire_arrows": { + "true": 3, + "false": 7 + }, + "easier_fire_arrow_entry": { + "true": 0, + "false": 1 + }, + "fae_torch_count": { + "1": 1, + "2": 1, + "3": 1, + "4": 1, + "5": 1, + "6": 1, + "7": 1, + "8": 1, + "9": 1, + "10": 1, + "11": 1, + "12": 1, + "13": 1, + "14": 1, + "15": 1, + "16": 1, + "17": 1, + "18": 1, + "19": 1, + "20": 1, + "21": 1, + "22": 1, + "23": 1 + }, + "clearer_hints": { + "true": 1, + "false": 0 + }, + "hints": { + "none": 0, + "mask": 0, + "agony": 0, + "always": 1 + }, + "hint_dist": { + "balanced": 0, + "bingo": 0, + "ddr": 0, + "scrubs": 0, + "strong": 0, + "tournament": 0, + "tournament_s3": 0, + "useless": 0, + "very_strong": 0, + "mw3": 0, + "league": 0, + "coop2": 0, + "chaos": 1, + "very_strong_magic": 0, + "weekly": 0 + }, + "text_shuffle": { + "none": 1, + "except_hints": 0, + "complete": 0 + }, + "damage_multiplier": { + "half": 3, + "normal": 10, + "double": 5, + "quadruple": 2, + "ohko": 0 + }, + "deadly_bonks": { + "none": 1, + "half": 0, + "normal": 0, + "double": 0, + "quadruple": 0, + "ohko": 0 + }, + "no_collectible_hearts": { + "true": 0, + "false": 1 + }, + "starting_tod": { + "default": 1, + "random": 1, + "sunrise": 1, + "morning": 1, + "noon": 1, + "afternoon": 1, + "sunset": 1, + "evening": 1, + "midnight": 1, + "witching-hour": 1 + }, + "item_pool_value": { + "plentiful": 4, + "balanced": 19, + "scarce": 11, + "minimal": 6, + "ludicrous": 0 + }, + "junk_ice_traps": { + "off": 11, + "normal": 5, + "on": 3, + "mayhem": 1, + "onslaught": 0, + "custom_count": 0, + "custom_percent": 0 + }, + "ice_trap_appearance": { + "major_only": 1, + "junk_only": 1, + "anything": 1 + }, + "start_with_consumables": { + "true": 1, + "false": 1 + }, + "start_with_rupees": { + "true": 1, + "false": 1 + }, + "starting_hearts": { + "3": 131072, + "4": 65536, + "5": 32768, + "6": 16384, + "7": 8192, + "8": 4096, + "9": 2048, + "10": 1024, + "11": 512, + "12": 256, + "13": 128, + "14": 64, + "15": 32, + "16": 16, + "17": 8, + "18": 4, + "19": 2, + "20": 1 + }, + "auto_equip_masks": { + "true": 0, + "false": 1 + }, + "key_appearance_match_dungeon": { + "true": 0, + "false": 1 + }, + "shuffle_individual_ocarina_notes": { + "true": 1, + "false": 9 + }, + "ruto_already_f1_jabu": { + "true": 1, + "false": 1 + }, + "shuffle_enemy_spawns": { + "off": 17, + "all": 1, + "bosses": 1, + "regional": 1 + }, + "shuffle_empty_pots": { + "true": 0, + "false": 1 + }, + "fix_broken_actors": { + "true": 0, + "false": 1 + }, + "shuffle_grass": { + "true": 0, + "false": 1 + }, + "prevent_guay_respawns": { + "true": 0, + "false": 1 + }, + "shuffle_gossipstones": { + "true": 0, + "false": 1 + }, + "shuffle_fishies": { + "true": 0, + "false": 1 + }, + "shuffle_enemy_drops": { + "true": 0, + "false": 1 + }, + "dogs_anywhere": { + "true": 0, + "false": 1 + }, + "minimap_enemy_tracker": { + "true": 0, + "false": 1 + }, + "shuffle_boulders": { + "true": 1, + "false": 9 + }, + "shuffle_wonderitems": { + "true": 0, + "false": 1 + }, + "shuffle_empty_crates": { + "true": 0, + "false": 1 + }, + "soa_unlocks_chest_texture": { + "true": 0, + "false": 1 + }, + "soa_unlocks_potcrate_texture": { + "true": 0, + "false": 1 + }, + "skip_reward_from_rauru": { + "true": 1, + "false": 0 + }, + "shuffle_dungeon_rewards": { + "vanilla": 0, + "reward": 1, + "dungeon": 0, + "regional": 0, + "overworld": 0, + "any_dungeon": 0, + "anywhere": 0 + }, + "fast_shadow_boat": { + "true": 0, + "false": 1 + }, + "shuffle_gerudo_fortress_heart_piece": { + "true": 0, + "false": 1 + }, + "shuffle_ganon_tower": { + "true": 0, + "false": 1 + }, + "tcg_requires_lens": { + "true": 1, + "false": 0 + }, + "golden_boulders": { + "true": 0, + "false": 1 + } + } +} diff --git a/weights/rsl_season6.json b/weights/rsl_seasonal_archive/rsl_season6.json similarity index 100% rename from weights/rsl_season6.json rename to weights/rsl_seasonal_archive/rsl_season6.json