From b83aec5c12d19a3ba7cf2c0f8661ce2a223cce26 Mon Sep 17 00:00:00 2001 From: Alchav <59858495+Alchav@users.noreply.github.com> Date: Sun, 18 Dec 2022 16:52:28 -0500 Subject: [PATCH] [Pokemon R/B] add logic to Fighting Dojo and check for non-vanilla old_man setting for cinnabar gym --- worlds/pokemon_rb/logic.py | 9 +++++++-- worlds/pokemon_rb/regions.py | 2 +- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/worlds/pokemon_rb/logic.py b/worlds/pokemon_rb/logic.py index 892513a0..70e825c2 100644 --- a/worlds/pokemon_rb/logic.py +++ b/worlds/pokemon_rb/logic.py @@ -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)) \ No newline at end of file + 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)) diff --git a/worlds/pokemon_rb/regions.py b/worlds/pokemon_rb/regions.py index da693c00..e6bfad59 100644 --- a/worlds/pokemon_rb/regions.py +++ b/worlds/pokemon_rb/regions.py @@ -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))