From 5d8aca1b4eab4416de777aa12b34e702261409e5 Mon Sep 17 00:00:00 2001 From: Bryce Wilson Date: Sat, 20 Apr 2024 18:56:08 -0600 Subject: [PATCH] Pokemon Emerald: Temporary fix for missing items (#3162) --- worlds/pokemon_emerald/CHANGELOG.md | 2 ++ worlds/pokemon_emerald/client.py | 7 +++++++ 2 files changed, 9 insertions(+) diff --git a/worlds/pokemon_emerald/CHANGELOG.md b/worlds/pokemon_emerald/CHANGELOG.md index ec23ba5c..db92d980 100644 --- a/worlds/pokemon_emerald/CHANGELOG.md +++ b/worlds/pokemon_emerald/CHANGELOG.md @@ -3,6 +3,8 @@ ### Fixes - Changed "Ho-oh" to "Ho-Oh" in options +- Temporary fix to alleviate problems with sometimes not receiving certain items just after connecting if `remote_items` +is `true`. - Temporarily disable a possible location for Marine Cave to spawn, as its causes an overflow # 2.0.0 diff --git a/worlds/pokemon_emerald/client.py b/worlds/pokemon_emerald/client.py index 169a5a79..41dae57d 100644 --- a/worlds/pokemon_emerald/client.py +++ b/worlds/pokemon_emerald/client.py @@ -199,6 +199,13 @@ class PokemonEmeraldClient(BizHawkClient): "items_handling": ctx.items_handling }])) + # Need to make sure items handling updates and we get the correct list of received items + # before continuing. Otherwise we might give some duplicate items and skip others. + # Should patch remote_items option value into the ROM in the future to guarantee we get the + # right item list before entering this part of the code + await asyncio.sleep(0.75) + return + try: guards: Dict[str, Tuple[int, bytes, str]] = {}