Skip to content

Commit 0e21a3e

Browse files
authored
Pokémon R/B: Fix broken options (#2162)
1 parent 5eef7a3 commit 0e21a3e

File tree

3 files changed

+15
-14
lines changed

3 files changed

+15
-14
lines changed

worlds/pokemon_rb/__init__.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@ def encode_name(name, t):
138138

139139
if self.multiworld.key_items_only[self.player]:
140140
self.multiworld.trainersanity[self.player] = self.multiworld.trainersanity[self.player].from_text("off")
141-
self.multiworld.dexsanity[self.player] = self.multiworld.dexsanity[self.player].from_text("false")
141+
self.multiworld.dexsanity[self.player].value = 0
142142
self.multiworld.randomize_hidden_items[self.player] = \
143143
self.multiworld.randomize_hidden_items[self.player].from_text("off")
144144

worlds/pokemon_rb/logic.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ def has_key_items(state, count, player):
5353
"Hideout Key", "Card Key 2F", "Card Key 3F", "Card Key 4F", "Card Key 5F",
5454
"Card Key 6F", "Card Key 7F", "Card Key 8F", "Card Key 9F", "Card Key 10F",
5555
"Card Key 11F", "Exp. All", "Fire Stone", "Thunder Stone", "Water Stone",
56-
"Leaf Stone"] if state.has(item, player)])
56+
"Leaf Stone", "Moon Stone"] if state.has(item, player)])
5757
+ min(state.count("Progressive Card Key", player), 10))
5858
return key_items >= count
5959

worlds/pokemon_rb/rom.py

+13-12
Original file line numberDiff line numberDiff line change
@@ -238,18 +238,19 @@ def generate_output(self, output_directory: str):
238238
data[address] = 0 if "Elevator" in connected_map_name else warp_to_ids[i]
239239
data[address + 1] = map_ids[connected_map_name]
240240

241-
for i, gym_leader in enumerate(("Pewter Gym - Brock TM", "Cerulean Gym - Misty TM",
242-
"Vermilion Gym - Lt. Surge TM", "Celadon Gym - Erika TM",
243-
"Fuchsia Gym - Koga TM", "Saffron Gym - Sabrina TM",
244-
"Cinnabar Gym - Blaine TM", "Viridian Gym - Giovanni TM")):
245-
item_name = self.multiworld.get_location(gym_leader, self.player).item.name
246-
if item_name.startswith("TM"):
247-
try:
248-
tm = int(item_name[2:4])
249-
move = poke_data.moves[self.local_tms[tm - 1]]["id"]
250-
data[rom_addresses["Gym_Leader_Moves"] + (2 * i)] = move
251-
except KeyError:
252-
pass
241+
if not self.multiworld.key_items_only[self.player]:
242+
for i, gym_leader in enumerate(("Pewter Gym - Brock TM", "Cerulean Gym - Misty TM",
243+
"Vermilion Gym - Lt. Surge TM", "Celadon Gym - Erika TM",
244+
"Fuchsia Gym - Koga TM", "Saffron Gym - Sabrina TM",
245+
"Cinnabar Gym - Blaine TM", "Viridian Gym - Giovanni TM")):
246+
item_name = self.multiworld.get_location(gym_leader, self.player).item.name
247+
if item_name.startswith("TM"):
248+
try:
249+
tm = int(item_name[2:4])
250+
move = poke_data.moves[self.local_tms[tm - 1]]["id"]
251+
data[rom_addresses["Gym_Leader_Moves"] + (2 * i)] = move
252+
except KeyError:
253+
pass
253254

254255
def set_trade_mon(address, loc):
255256
mon = self.multiworld.get_location(loc, self.player).item.name

0 commit comments

Comments
 (0)