[Pokemon R/B] Allow 0 exp setting and add logic rule to Cinnabar Gym to ensure higher level Pokémon are catchable
This commit is contained in:
parent
395d35571c
commit
caf63dd737
worlds/pokemon_rb
|
@ -80,3 +80,8 @@ class PokemonLogic(LogicMixin):
|
|||
return (self.can_reach('Mt Moon 1F - Southwest Item', 'Location', player) and
|
||||
self.can_reach('Cinnabar Island - Lab Scientist', 'Location', player) and len(
|
||||
[item for item in ["Dome Fossil", "Helix Fossil", "Old Amber"] if self.has(item, player)]) >= count)
|
||||
|
||||
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))
|
|
@ -199,7 +199,7 @@ class OaksAidRt15(Range):
|
|||
class ExpModifier(SpecialRange):
|
||||
"""Modifier for EXP gained. When specifying a number, exp is multiplied by this amount and divided by 16."""
|
||||
display_name = "Exp Modifier"
|
||||
range_start = 1
|
||||
range_start = 0
|
||||
range_end = 255
|
||||
default = 16
|
||||
special_range_names = {
|
||||
|
|
|
@ -248,7 +248,7 @@ def create_regions(multiworld: MultiWorld, player: int):
|
|||
connect(multiworld, player, "Viridian City", "Viridian City North", lambda state: state.has("Oak's Parcel", player) or state.multiworld.old_man[player].value == 2 or state.pokemon_rb_can_cut(player))
|
||||
connect(multiworld, player, "Route 3", "Mt Moon 1F", one_way=True)
|
||||
connect(multiworld, player, "Route 11", "Route 11 East", lambda state: state.pokemon_rb_can_strength(player))
|
||||
connect(multiworld, player, "Cinnabar Island", "Cinnabar Gym", lambda state: state.has("Secret Key", player), one_way=True)
|
||||
connect(multiworld, player, "Cinnabar Island", "Cinnabar Gym", lambda state: state.has("Secret Key", player) and state.pokemon_rb_cinnabar_gym(player), one_way=True)
|
||||
connect(multiworld, player, "Cinnabar Island", "Pokemon Mansion 1F", lambda state: state.has("Mansion Key", player) or not state.multiworld.extra_key_items[player].value, one_way=True)
|
||||
connect(multiworld, player, "Seafoam Islands 1F", "Seafoam Islands B1F", one_way=True)
|
||||
connect(multiworld, player, "Seafoam Islands B1F", "Seafoam Islands B2F", one_way=True)
|
||||
|
|
Loading…
Reference in New Issue