diff --git a/worlds/timespinner/Locations.py b/worlds/timespinner/Locations.py index 74cf4c42..a1f474de 100644 --- a/worlds/timespinner/Locations.py +++ b/worlds/timespinner/Locations.py @@ -217,7 +217,34 @@ def get_locations(world: Optional[MultiWorld], player: Optional[int]) -> Tuple[L LocationData('Left Side forest Caves', 'Cantoran', 1337176), ) - # 1337177 - 1337236 Reserved for future use + # 1337177 - 1337198 Lore Checks + if not world or is_option_enabled(world, player, "LoreChecks"): + location_table += ( + LocationData('Lower lake desolation', 'Memory - Coyote Jump (Time Messenger)', 1337177), + LocationData('Library', 'Memory - Waterway (A Message)', 1337178), + LocationData('Library top', 'Memory - Library Gap (Lachiemi Sun)', 1337179), + LocationData('Library top', 'Memory - Mr. Hat Portrait (Moonlit Night)', 1337180), + LocationData('Varndagroth tower left', 'Memory - Left Elevator (Nomads)', 1337181, lambda state: state.has('Elevator Keycard', player)), + LocationData('Varndagroth tower right (lower)', 'Memory - Siren Elevator (Childhood)', 1337182, lambda state: state._timespinner_has_keycard_B(world, player)), + LocationData('Varndagroth tower right (lower)', 'Memory - Varndagroth Right Bottom (Faron)', 1337183), + LocationData('Military Fortress', 'Memory - Bomber Climb (A Solution)', 1337184, lambda state: state.has('Timespinner Wheel', player) and state._timespinner_has_doublejump_of_npc(world, player)), + LocationData('The lab', 'Memory - Genza\'s Secret Stash 1 (An Old Friend)', 1337185, lambda state: state._timespinner_can_break_walls(world, player)), + LocationData('The lab', 'Memory - Genza\'s Secret Stash 2 (Twilight Dinner)', 1337186, lambda state: state._timespinner_can_break_walls(world, player)), + LocationData('Emperors tower', 'Memory - Way Up There (Final Circle)', 1337187), + LocationData('Forest', 'Journal - Forest Rats (Lachiem Expedition)', 1337188), + LocationData('Forest', 'Journal - Forest Bat Jump Ledge (Peace Treaty)', 1337189, lambda state: state._timespinner_has_doublejump_of_npc(world, player) or state._timespinner_has_forwarddash_doublejump(world, player) or state._timespinner_has_fastjump_on_npc(world, player)), + LocationData('Castle Ramparts', 'Journal - Floating in Moat (Prime Edicts)', 1337190), + LocationData('Castle Ramparts', 'Journal - Archer + Knight (Declaration of Independence)', 1337191), + LocationData('Castle Keep', 'Journal - Under the Twins (Letter of Reference)', 1337192), + LocationData('Castle Keep', 'Journal - Castle Loop Giantess (Political Advice)', 1337193), + LocationData('Royal towers (lower)', 'Journal - Aleana\'s Room (Diplomatic Missive)', 1337194, lambda state: state._timespinner_has_pink(world, player)), + LocationData('Royal towers (upper)', 'Journal - Top Struggle Juggle Base (War of the Sisters)', 1337195), + LocationData('Royal towers (upper)', 'Journal - Aleana Boss (Stained Letter)', 1337196), + LocationData('Royal towers', 'Journal - Near Bottom Struggle Juggle (Mission Findings)', 1337197), + LocationData('Caves of Banishment (Maw)', 'Journal - Lower Left Maw Caves (Naivety)', 1337198) + ) + + # 1337199 - 1337236 Reserved for future use # 1337237 - 1337245 GyreArchives if not world or is_option_enabled(world, player, "GyreArchives"): diff --git a/worlds/timespinner/Options.py b/worlds/timespinner/Options.py index da3cff08..9bdc689e 100644 --- a/worlds/timespinner/Options.py +++ b/worlds/timespinner/Options.py @@ -50,6 +50,10 @@ class Cantoran(Toggle): "Cantoran's fight and check are available upon revisiting his room" display_name = "Cantoran" +class LoreChecks(Toggle): + "Memories and journal entries contain items." + display_name = "Lore Checks" + class DamageRando(Toggle): "Each orb has a high chance of having lower base damage and a low chance of having much higher base damage." display_name = "Damage Rando" @@ -68,6 +72,7 @@ timespinner_options: Dict[str, Toggle] = { #"StinkyMaw": StinkyMaw, "GyreArchives": GyreArchives, "Cantoran": Cantoran, + "LoreChecks": LoreChecks, "DamageRando": DamageRando, "DeathLink": DeathLink, } diff --git a/worlds/timespinner/__init__.py b/worlds/timespinner/__init__.py index cba17c95..0e9d7a36 100644 --- a/worlds/timespinner/__init__.py +++ b/worlds/timespinner/__init__.py @@ -18,7 +18,7 @@ class TimespinnerWorld(World): game = "Timespinner" topology_present = True remote_items = False - data_version = 5 + data_version = 6 item_name_to_id = {name: data.code for name, data in item_table.items()} location_name_to_id = {location.name: location.code for location in get_locations(None, None)}