From dadd7d469375e8e31dec4f3005802f1046050911 Mon Sep 17 00:00:00 2001 From: espeon65536 Date: Wed, 25 May 2022 23:52:04 -0500 Subject: [PATCH] OoT: big poe count option returns --- data/lua/OOT/oot_connector.lua | 5 +++-- worlds/oot/Options.py | 10 +++++++++- worlds/oot/__init__.py | 1 - 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/data/lua/OOT/oot_connector.lua b/data/lua/OOT/oot_connector.lua index eebc12b6..96eee4f7 100644 --- a/data/lua/OOT/oot_connector.lua +++ b/data/lua/OOT/oot_connector.lua @@ -9,8 +9,7 @@ local script_version = 1 -- Heavily modified form of RiptideSage's tracker -------------------------------------------------- --- TODO: read this from the ROM -local NUM_BIG_POES_REQUIRED = 1 +local NUM_BIG_POES_REQUIRED = 10 -- The offset constants are all from N64 RAM start. Offsets in the check statements are relative. local save_context_offset = 0x11A5D0 @@ -1556,6 +1555,8 @@ local item_queue = {} local first_connect = true local game_complete = false +NUM_BIG_POES_REQUIRED = mainmemory.read_u8(rando_context + 0x0CEE) + local bytes_to_string = function(bytes) local string = '' for i=0,#(bytes) do diff --git a/worlds/oot/Options.py b/worlds/oot/Options.py index beac7639..50b6c26c 100644 --- a/worlds/oot/Options.py +++ b/worlds/oot/Options.py @@ -532,6 +532,14 @@ class ChickenCount(Range): default = 7 +class BigPoeCount(Range): + """Number of Big Poes required for the Poe Collector's item.""" + display_name = "Big Poe Count" + range_start = 1 + range_end = 10 + default = 1 + + timesavers_options: typing.Dict[str, type(Option)] = { "skip_child_zelda": SkipChildZelda, "no_escape_sequence": SkipEscape, @@ -544,7 +552,7 @@ timesavers_options: typing.Dict[str, type(Option)] = { "free_scarecrow": FreeScarecrow, "fast_bunny_hood": FastBunny, "chicken_count": ChickenCount, - # "big_poe_count": make_range(1, 10, 1), + "big_poe_count": BigPoeCount, } diff --git a/worlds/oot/__init__.py b/worlds/oot/__init__.py index 43120b69..c134eba6 100644 --- a/worlds/oot/__init__.py +++ b/worlds/oot/__init__.py @@ -208,7 +208,6 @@ class OOTWorld(World): # Not implemented for now, but needed to placate the generator. Remove as they are implemented self.mq_dungeons_random = False # this will be a deprecated option later self.ocarina_songs = False # just need to pull in the OcarinaSongs module - self.big_poe_count = 1 # disabled due to client-side issues for now self.mix_entrance_pools = False self.decouple_entrances = False