def apply_necessary_tweaks(self): tweaks.apply_patch(self, "custom_funcs") tweaks.apply_patch(self, "necessary_fixes") tweaks.skip_wakeup_intro_and_start_at_dock(self) tweaks.start_ship_at_outset(self) tweaks.fix_deku_leaf_model(self) tweaks.allow_all_items_to_be_field_items(self) tweaks.remove_shop_item_forced_uniqueness_bit(self) tweaks.remove_forsaken_fortress_2_cutscenes(self) tweaks.make_items_progressive(self) tweaks.add_ganons_tower_warp_to_ff2(self) tweaks.add_chest_in_place_medli_grappling_hook_gift(self) tweaks.add_chest_in_place_queen_fairy_cutscene(self) #tweaks.add_cube_to_earth_temple_first_room(self) tweaks.add_more_magic_jars_to_dungeons(self) tweaks.remove_title_and_ending_videos(self) tweaks.modify_title_screen_logo(self) tweaks.update_game_name_icon_and_banners(self) tweaks.allow_dungeon_items_to_appear_anywhere(self) #tweaks.remove_ballad_of_gales_warp_in_cutscene(self) tweaks.fix_shop_item_y_offsets(self) tweaks.shorten_zephos_event(self) tweaks.update_korl_dialogue(self) tweaks.set_num_starting_triforce_shards(self) tweaks.add_pirate_ship_to_windfall(self) tweaks.remove_makar_kidnapping_event(self) tweaks.increase_player_movement_speeds(self) tweaks.add_chart_number_to_item_get_messages(self) tweaks.change_starting_clothes(self) customizer.replace_link_model(self) customizer.change_player_clothes_color(self)
def randomize(self): options_completed = 0 yield("Modifying game code...", options_completed) if not self.dry_run: self.apply_necessary_tweaks() if self.options.get("swift_sail"): tweaks.make_sail_behave_like_swift_sail(self) if self.options.get("instant_text_boxes"): tweaks.make_all_text_instant(self) if self.options.get("reveal_full_sea_chart"): tweaks.apply_patch(self, "reveal_sea_chart") if self.options.get("add_shortcut_warps_between_dungeons"): tweaks.add_inter_dungeon_warp_pots(self) options_completed += 1 yield("Randomizing...", options_completed) if self.options.get("randomize_charts"): charts.randomize_charts(self) if self.options.get("randomize_starting_island"): starting_island.randomize_starting_island(self) if self.options.get("randomize_dungeon_entrances"): dungeon_entrances.randomize_dungeon_entrances(self) items.randomize_items(self) options_completed += 2 yield("Saving items...", options_completed) if not self.dry_run: items.write_changed_items(self) if not self.dry_run: self.apply_necessary_post_randomization_tweaks() options_completed += 7 yield("Saving randomized ISO...", options_completed) if not self.dry_run: self.save_randomized_iso() options_completed += 9 yield("Writing logs...", options_completed) if self.options.get("generate_spoiler_log"): self.write_spoiler_log() self.write_non_spoiler_log() yield("Done", -1)
def apply_necessary_tweaks(self): tweaks.apply_patch(self, "custom_funcs") tweaks.apply_patch(self, "necessary_fixes") #tweaks.skip_wakeup_intro_and_start_at_dock(self) #tweaks.add_inter_dungeon_warp_pots(self) # tweaks.make_all_text_instant(self) # tweaks.b_skips(self) # tweaks.modify_title_screen_logo(self) # tweaks.make_sail_behave_like_swift_sail(self) # tweaks.update_game_name_icon_and_banners(self) # tweaks.increase_player_movement_speeds(self) # tweaks.increase_grapple_animation_speed(self) # tweaks.increase_block_moving_animation(self) # tweaks.increase_misc_animations(self) tweaks.make_tingle_statue_reward_rupee_rainbow_colored(self) customizer.replace_link_model(self) # tweaks.change_starting_clothes(self) customizer.change_player_clothes_color(self)
def apply_necessary_tweaks(self): tweaks.apply_patch(self, "custom_funcs") tweaks.apply_patch(self, "necessary_fixes") tweaks.skip_wakeup_intro_and_start_at_dock(self) tweaks.start_ship_at_outset(self) tweaks.fix_deku_leaf_model(self) tweaks.allow_all_items_to_be_field_items(self) tweaks.remove_shop_item_forced_uniqueness_bit(self) tweaks.remove_forsaken_fortress_2_cutscenes(self) tweaks.make_items_progressive(self) tweaks.add_ganons_tower_warp_to_ff2(self) tweaks.add_chest_in_place_medli_grappling_hook_gift(self) tweaks.add_chest_in_place_queen_fairy_cutscene(self) #tweaks.add_cube_to_earth_temple_first_room(self) tweaks.add_more_magic_jars(self) tweaks.modify_title_screen_logo(self) tweaks.update_game_name_icon_and_banners(self) tweaks.allow_dungeon_items_to_appear_anywhere(self) #tweaks.remove_ballad_of_gales_warp_in_cutscene(self) tweaks.fix_shop_item_y_offsets(self) tweaks.shorten_zephos_event(self) tweaks.update_korl_dialogue(self) tweaks.set_num_starting_triforce_shards(self) tweaks.set_starting_health(self) tweaks.add_pirate_ship_to_windfall(self) tweaks.remove_makar_kidnapping_event(self) tweaks.increase_player_movement_speeds(self) tweaks.add_chart_number_to_item_get_messages(self) tweaks.increase_grapple_animation_speed(self) tweaks.increase_block_moving_animation(self) tweaks.increase_misc_animations(self) tweaks.shorten_auction_intro_event(self) tweaks.disable_invisible_walls(self) tweaks.add_hint_signs(self) tweaks.prevent_door_boulder_softlocks(self) tweaks.update_tingle_statue_item_get_funcs(self) tweaks.apply_patch(self, "tingle_chests_without_tuner") tweaks.make_tingle_statue_reward_rupee_rainbow_colored(self) tweaks.show_seed_hash_on_name_entry_screen(self) tweaks.fix_ghost_ship_chest_crash(self) tweaks.implement_key_bag(self) tweaks.add_chest_in_place_of_jabun_cutscene(self) tweaks.add_chest_in_place_of_master_sword(self) tweaks.update_beedle_spoil_selling_text(self) tweaks.fix_totg_warp_out_spawn_pos(self) tweaks.remove_phantom_ganon_requirement_from_eye_reefs(self) tweaks.fix_forsaken_fortress_door_softlock(self) tweaks.add_new_bog_warp(self) tweaks.make_rat_holes_visible_from_behind(self) tweaks.add_failsafe_id_0_spawns(self) customizer.replace_link_model(self) tweaks.change_starting_clothes(self) tweaks.check_hide_ship_sail(self) customizer.change_player_clothes_color(self)
def randomize(self): options_completed = 0 yield ("Modifying game code...", options_completed) if not self.dry_run: self.apply_necessary_tweaks() if self.options.get("swift_sail"): tweaks.make_sail_behave_like_swift_sail(self) if self.options.get("instant_text_boxes"): tweaks.make_all_text_instant(self) if self.options.get("reveal_full_sea_chart"): tweaks.apply_patch(self, "reveal_sea_chart") if self.options.get("add_shortcut_warps_between_dungeons"): tweaks.add_inter_dungeon_warp_pots(self) if self.options.get("invert_camera_x_axis"): tweaks.apply_patch(self, "invert_camera_x_axis") tweaks.update_skip_rematch_bosses_game_variable(self) tweaks.update_sword_mode_game_variable(self) if self.options.get("sword_mode") == "Swordless": tweaks.apply_patch(self, "swordless") tweaks.update_text_for_swordless(self) if self.options.get("randomize_entrances") not in [ "Disabled", None, "Dungeons" ]: tweaks.disable_ice_ring_isle_and_fire_mountain_effects_indoors( self) tweaks.update_starting_gear(self) if self.options.get("disable_tingle_chests_with_tingle_bombs"): tweaks.apply_patch(self, "disable_tingle_bombs_on_tingle_chests") if self.test_room_args is not None: tweaks.test_room(self) options_completed += 1 yield ("Randomizing...", options_completed) if self.options.get("randomize_charts"): charts.randomize_charts(self) if self.options.get("randomize_starting_island"): starting_island.randomize_starting_island(self) if self.options.get("randomize_entrances") not in ["Disabled", None]: entrances.randomize_entrances(self) if self.options.get("randomize_bgm"): bgm.randomize_bgm(self) items.randomize_items(self) options_completed += 2 yield ("Saving items...", options_completed) if not self.dry_run: items.write_changed_items(self) if not self.dry_run: self.apply_necessary_post_randomization_tweaks() options_completed += 7 yield ("Saving randomized ISO...", options_completed) if not self.dry_run: self.save_randomized_iso() options_completed += 9 yield ("Writing logs...", options_completed) if self.options.get("generate_spoiler_log"): self.write_spoiler_log() self.write_non_spoiler_log() yield ("Done", -1)
def randomize(self): options_completed = 0 yield ("Modifying game code...", options_completed) if not self.dry_run: self.apply_necessary_tweaks() if self.options.get("instant_text_boxes"): tweaks.make_all_text_instant(self) if self.options.get("reveal_full_sea_chart"): tweaks.apply_patch(self, "reveal_sea_chart") if self.options.get("invert_camera_x_axis"): tweaks.apply_patch(self, "invert_camera_x_axis") if self.options.get("swift_sail"): tweaks.make_sail_behave_like_swift_sail(self) if self.options.get("increase_player_movement_speeds"): tweaks.increase_player_movement_speeds(self) if self.options.get("increase_grapple_animation_speed"): tweaks.increase_grapple_animation_speed(self) if self.options.get("increase_block_moving_animation"): tweaks.increase_block_moving_animation(self) if self.options.get("increase_misc_animations"): tweaks.increase_misc_animations(self) if self.options.get("tingle_chests_without_tuner"): tweaks.apply_patch(self, "tingle_chests_without_tuner") if self.options.get("KORL_control"): tweaks.apply_patch(self, "KORL_control") if self.options.get("song_no_replay"): tweaks.apply_patch(self, "song_no_replay") if self.options.get("swing_turn"): tweaks.apply_patch(self, "swing_turn") if self.options.get("remove_title_and_ending_videos"): tweaks.remove_title_and_ending_videos(self) tweaks.apply_patch(self, "skipintro") if self.options.get("ballad"): tweaks.apply_patch(self, "ballad") if self.options.get("titlelogo"): tweaks.modify_title_screen_logo(self) if self.options.get("memorylogo"): tweaks.update_game_name_icon_and_banners(self) if self.options.get("brisk_sail"): tweaks.make_sail_behave_like_brisk_sail(self) if self.options.get("brisk_sail2"): tweaks.make_sail_behave_like_brisk_sail2(self) if self.options.get("swift_sail2"): tweaks.make_sail_behave_like_swift_sail2(self) options_completed += 1 yield ("Patching...", options_completed) options_completed += 2 options_completed += 7 yield ("Saving patched ISO...", options_completed) if not self.dry_run: self.save_randomized_iso() options_completed += 9 yield ("Done", -1)
def randomize(self): options_completed = 0 yield ("Modifying game code...", options_completed) customizer.decide_on_link_model(self) if not self.dry_run: self.apply_necessary_tweaks() if self.options.get("swift_sail"): tweaks.make_sail_behave_like_swift_sail(self) if self.options.get("instant_text_boxes"): tweaks.make_all_text_instant(self) if self.options.get("reveal_full_sea_chart"): tweaks.apply_patch(self, "reveal_sea_chart") if self.options.get("add_shortcut_warps_between_dungeons"): tweaks.add_inter_dungeon_warp_pots(self) if self.options.get("invert_camera_x_axis"): tweaks.apply_patch(self, "invert_camera_x_axis") tweaks.update_skip_rematch_bosses_game_variable(self) tweaks.update_sword_mode_game_variable(self) if self.options.get("sword_mode") == "Swordless": tweaks.apply_patch(self, "swordless") tweaks.update_text_for_swordless(self) if self.options.get("randomize_entrances") not in [ "Disabled", None, "Dungeons" ]: tweaks.disable_ice_ring_isle_and_fire_mountain_effects_indoors( self) tweaks.update_starting_gear(self) if self.options.get("disable_tingle_chests_with_tingle_bombs"): tweaks.apply_patch(self, "disable_tingle_bombs_on_tingle_chests") if self.options.get("remove_title_and_ending_videos"): tweaks.remove_title_and_ending_videos(self) if self.options.get("remove_music"): tweaks.apply_patch(self, "remove_music") if self.map_select: tweaks.apply_patch(self, "map_select") if IS_RUNNING_FROM_SOURCE: tweaks.enable_developer_mode(self) if self.test_room_args is not None: tweaks.test_room(self) options_completed += 1 yield ("Randomizing...", options_completed) if self.options.get("randomize_charts"): charts.randomize_charts(self) if self.options.get("randomize_starting_island"): starting_island.randomize_starting_island(self) if self.options.get("randomize_entrances") not in ["Disabled", None]: entrances.randomize_entrances(self) if self.options.get("randomize_music"): music.randomize_music(self) options_completed += 1 # Enemies must be randomized before items in order for the enemy logic to properly take into account what items you do and don't start with. if self.options.get("randomize_enemies"): yield ("Randomizing enemy locations...", options_completed) enemies.randomize_enemies(self) if self.options.get("randomize_enemy_palettes"): yield ("Randomizing enemy colors...", options_completed) palettes.randomize_enemy_palettes(self) options_completed += 10 # Reset RNG before doing item randomization so other randomization options don't affect item layout. self.rng = self.get_new_rng() yield ("Randomizing items...", options_completed) if self.randomize_items: items.randomize_items(self) options_completed += 2 yield ("Saving items...", options_completed) if self.randomize_items and not self.dry_run: items.write_changed_items(self) if not self.dry_run: self.apply_necessary_post_randomization_tweaks() options_completed += 7 yield ("Saving randomized ISO...", options_completed) if not self.dry_run: self.save_randomized_iso() options_completed += 9 yield ("Writing logs...", options_completed) if self.randomize_items: if not self.options.get("do_not_generate_spoiler_log"): self.write_spoiler_log() self.write_non_spoiler_log() yield ("Done", -1)