diff --git a/Dolphin scripts/Entrance Randomizer/CONFIGS.py b/Dolphin scripts/Entrance Randomizer/CONFIGS.py index 2303d6c..f2e9ed3 100644 --- a/Dolphin scripts/Entrance Randomizer/CONFIGS.py +++ b/Dolphin scripts/Entrance Randomizer/CONFIGS.py @@ -28,6 +28,15 @@ default = True """ +SKIP_JAGUAR: bool = True +""" +If True, you will completely skip both Jaguar fights. +If False, you will fight Jaguar 1 when you start a New Game (and go to STARTING_AREA afterwards), +and you will fight Jaguar 2 before fighting Pusca. + +default = True +""" + DISABLE_MAPS_IN_SHOP: bool = True """ Whether you can buy maps in the Shaman Shop. diff --git a/Dolphin scripts/Entrance Randomizer/__main__.py b/Dolphin scripts/Entrance Randomizer/__main__.py index caad9fc..85f05c2 100644 --- a/Dolphin scripts/Entrance Randomizer/__main__.py +++ b/Dolphin scripts/Entrance Randomizer/__main__.py @@ -82,9 +82,12 @@ async def main_loop(): if memory.read_u32(ADDRESSES.item_swap) == 1: memory.write_u32(ADDRESSES.item_swap, 0) - # Skip the intro fight and cutscene - if highjack_transition(LevelCRC.MAIN_MENU, LevelCRC.JAGUAR, starting_area): - return + # Skip both Jaguar fights if configured + if CONFIGS.SKIP_JAGUAR: + if highjack_transition(LevelCRC.MAIN_MENU, LevelCRC.JAGUAR, starting_area): + return + if highjack_transition(LevelCRC.GATES_OF_EL_DORADO, LevelCRC.JAGUAR, LevelCRC.PUSCA): + return # Standardize the Altar of Ages exit to remove the Altar -> BBCamp transition if highjack_transition( diff --git a/Dolphin scripts/Entrance Randomizer/lib/entrance_rando.py b/Dolphin scripts/Entrance Randomizer/lib/entrance_rando.py index deaedb2..9e00193 100644 --- a/Dolphin scripts/Entrance Randomizer/lib/entrance_rando.py +++ b/Dolphin scripts/Entrance Randomizer/lib/entrance_rando.py @@ -101,6 +101,12 @@ def set_transitions_map(): _possible_transitions_bucket = list(starmap(Transition, ALL_POSSIBLE_TRANSITIONS)) """A temporary container of transitions to pick from until it is empty.""" transitions_map.clear() + if not CONFIGS.SKIP_JAGUAR: + starting_default = TRANSITION_INFOS_DICT[starting_area].default_entrance + tutorial_original = Transition(from_=LevelCRC.JAGUAR, to=LevelCRC.PLANE_CUTSCENE) + tutorial_redirect = Transition(from_=starting_default, to=starting_area) + transitions_map[tutorial_original] = tutorial_redirect + for area in TRANSITION_INFOS_DICT.values(): for to_og in (exit_.area_id for exit_ in area.exits): original = Transition(from_=area.area_id, to=to_og)