[Pokemon R/B] add logic to Fighting Dojo and check for non-vanilla old_man setting for cinnabar gym

This commit is contained in:
Alchav 2022-12-18 16:52:28 -05:00 committed by Fabian Dill
parent caf63dd737
commit b83aec5c12
2 changed files with 8 additions and 3 deletions

View File

@ -83,5 +83,10 @@ class PokemonLogic(LogicMixin):
def pokemon_rb_cinnabar_gym(self, player):
# ensures higher level Pokémon are obtainable before Cinnabar Gym is in logic
return ((not self.multiworld.extra_key_items[player]) or self.has("Mansion Key", player)
or self.has("Oak's Parcel", player) or self.pokemon_rb_can_surf(player))
return ((self.multiworld.old_man[player] != "vanilla") or (not self.multiworld.extra_key_items[player]) or
self.has("Mansion Key", player) or self.has("Oak's Parcel", player) or self.pokemon_rb_can_surf(player))
def pokemon_rb_dojo(self, player):
# ensures higher level Pokémon are obtainable before Fighting Dojo is in logic
return (self.pokemon_rb_can_pass_guards(player) or self.has("Oak's Parcel", player) or
self.pokemon_rb_can_surf(player))

View File

@ -190,7 +190,7 @@ def create_regions(multiworld: MultiWorld, player: int):
connect(multiworld, player, "Pokemon Tower 6F", "Pokemon Tower 7F", lambda state: state.has("Silph Scope", player))
connect(multiworld, player, "Cerulean City", "Route 5")
connect(multiworld, player, "Route 5", "Saffron City", lambda state: state.pokemon_rb_can_pass_guards(player))
connect(multiworld, player, "Saffron City", "Fighting Dojo", one_way=True)
connect(multiworld, player, "Saffron City", "Fighting Dojo", lambda state: state.pokemon_rb_dojo(player), one_way=True)
connect(multiworld, player, "Route 5", "Underground Tunnel North-South")
connect(multiworld, player, "Route 6", "Underground Tunnel North-South")
connect(multiworld, player, "Route 6", "Saffron City", lambda state: state.pokemon_rb_can_pass_guards(player))