Skip to content

Commit

Permalink
Added option to keep Jag1 & Jag2, or to skip jaguar fights entirely.
Browse files Browse the repository at this point in the history
  • Loading branch information
wossnameGitHub authored and Avasam committed Jun 8, 2024
1 parent dec9017 commit ed98fcc
Show file tree
Hide file tree
Showing 3 changed files with 21 additions and 3 deletions.
9 changes: 9 additions & 0 deletions Dolphin scripts/Entrance Randomizer/CONFIGS.py
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down
9 changes: 6 additions & 3 deletions Dolphin scripts/Entrance Randomizer/__main__.py
Original file line number Diff line number Diff line change
Expand Up @@ -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(
Expand Down
6 changes: 6 additions & 0 deletions Dolphin scripts/Entrance Randomizer/lib/entrance_rando.py
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down

0 comments on commit ed98fcc

Please sign in to comment.