From cfa49ee7573b4b5a847ebcec2f4d1aba37d24ff4 Mon Sep 17 00:00:00 2001
From: lordlou <87331798+lordlou@users.noreply.github.com>
Date: Tue, 15 Mar 2022 08:55:57 -0400
Subject: [PATCH] Add SMZ3 support (#270)

---
 Patch.py                                      |  21 +-
 SNIClient.py                                  | 102 ++-
 WebHostLib/static/assets/gameInfo/en_SMZ3.md  |  35 +
 .../assets/tutorial/smz3/multiworld_en.md     | 146 ++++
 WebHostLib/templates/macros.html              |   2 +-
 host.yaml                                     |  11 +-
 worlds/smz3/LICENSE                           |  21 +
 worlds/smz3/Options.py                        |  63 ++
 worlds/smz3/Rom.py                            |  76 ++
 worlds/smz3/TotalSMZ3/Config.py               | 107 +++
 worlds/smz3/TotalSMZ3/Item.py                 | 782 +++++++++++++++++
 worlds/smz3/TotalSMZ3/Location.py             | 112 +++
 worlds/smz3/TotalSMZ3/Patch.py                | 809 ++++++++++++++++++
 worlds/smz3/TotalSMZ3/Region.py               |  63 ++
 .../Regions/SuperMetroid/Brinstar/Blue.py     |  26 +
 .../Regions/SuperMetroid/Brinstar/Green.py    |  37 +
 .../Regions/SuperMetroid/Brinstar/Kraid.py    |  25 +
 .../Regions/SuperMetroid/Brinstar/Pink.py     |  44 +
 .../Regions/SuperMetroid/Brinstar/Red.py      |  36 +
 .../Regions/SuperMetroid/Brinstar/__init__.py |   0
 .../Regions/SuperMetroid/Crateria/Central.py  |  23 +
 .../Regions/SuperMetroid/Crateria/East.py     |  59 ++
 .../Regions/SuperMetroid/Crateria/West.py     |  38 +
 .../Regions/SuperMetroid/Crateria/__init__.py |   0
 .../Regions/SuperMetroid/Maridia/Inner.py     | 110 +++
 .../Regions/SuperMetroid/Maridia/Outer.py     |  37 +
 .../Regions/SuperMetroid/Maridia/__init__.py  |   0
 .../Regions/SuperMetroid/NorfairLower/East.py |  60 ++
 .../Regions/SuperMetroid/NorfairLower/West.py |  67 ++
 .../SuperMetroid/NorfairLower/__init__.py     |   0
 .../SuperMetroid/NorfairUpper/Crocomire.py    |  69 ++
 .../Regions/SuperMetroid/NorfairUpper/East.py |  94 ++
 .../Regions/SuperMetroid/NorfairUpper/West.py |  44 +
 .../SuperMetroid/NorfairUpper/__init__.py     |   0
 .../Regions/SuperMetroid/WreckedShip.py       |  77 ++
 .../Regions/SuperMetroid/__init__.py          |   0
 .../TotalSMZ3/Regions/Zelda/CastleTower.py    |  25 +
 .../Zelda/DarkWorld/DeathMountain/East.py     |  28 +
 .../Zelda/DarkWorld/DeathMountain/West.py     |  16 +
 .../Zelda/DarkWorld/DeathMountain/__init__.py |   0
 .../TotalSMZ3/Regions/Zelda/DarkWorld/Mire.py |  20 +
 .../Regions/Zelda/DarkWorld/NorthEast.py      |  28 +
 .../Regions/Zelda/DarkWorld/NorthWest.py      |  32 +
 .../Regions/Zelda/DarkWorld/South.py          |  28 +
 .../Regions/Zelda/DarkWorld/__init__.py       |   0
 .../TotalSMZ3/Regions/Zelda/DesertPalace.py   |  42 +
 .../TotalSMZ3/Regions/Zelda/EasternPalace.py  |  27 +
 .../TotalSMZ3/Regions/Zelda/GanonsTower.py    | 146 ++++
 .../TotalSMZ3/Regions/Zelda/HyruleCastle.py   |  34 +
 .../smz3/TotalSMZ3/Regions/Zelda/IcePalace.py |  52 ++
 .../Zelda/LightWorld/DeathMountain/East.py    |  30 +
 .../Zelda/LightWorld/DeathMountain/West.py    |  23 +
 .../LightWorld/DeathMountain/__init__.py      |   0
 .../Regions/Zelda/LightWorld/NorthEast.py     |  28 +
 .../Regions/Zelda/LightWorld/NorthWest.py     |  44 +
 .../Regions/Zelda/LightWorld/South.py         |  45 +
 .../Regions/Zelda/LightWorld/__init__.py      |   0
 .../TotalSMZ3/Regions/Zelda/MiseryMire.py     |  43 +
 .../Regions/Zelda/PalaceOfDarkness.py         |  54 ++
 .../TotalSMZ3/Regions/Zelda/SkullWoods.py     |  35 +
 .../TotalSMZ3/Regions/Zelda/SwampPalace.py    |  43 +
 .../TotalSMZ3/Regions/Zelda/ThievesTown.py    |  39 +
 .../TotalSMZ3/Regions/Zelda/TowerOfHera.py    |  36 +
 .../TotalSMZ3/Regions/Zelda/TurtleRock.py     |  55 ++
 .../smz3/TotalSMZ3/Regions/Zelda/__init__.py  |   0
 worlds/smz3/TotalSMZ3/Regions/__init__.py     |   0
 worlds/smz3/TotalSMZ3/Text/Dialog.py          | 323 +++++++
 worlds/smz3/TotalSMZ3/Text/Scripts/Blind.txt  |  87 ++
 worlds/smz3/TotalSMZ3/Text/Scripts/Ganon.txt  | 189 ++++
 .../smz3/TotalSMZ3/Text/Scripts/General.yaml  | 385 +++++++++
 .../TotalSMZ3/Text/Scripts/StringTable.yaml   | 433 ++++++++++
 .../smz3/TotalSMZ3/Text/Scripts/TavernMan.txt | 354 ++++++++
 .../TotalSMZ3/Text/Scripts/TriforceRoom.txt   | 103 +++
 worlds/smz3/TotalSMZ3/Text/StringTable.py     |  87 ++
 worlds/smz3/TotalSMZ3/Text/Texts.py           |  97 +++
 worlds/smz3/TotalSMZ3/Text/__init__.py        |   0
 worlds/smz3/TotalSMZ3/World.py                | 166 ++++
 worlds/smz3/TotalSMZ3/__init__.py             |   0
 worlds/smz3/__init__.py                       | 438 ++++++++++
 .../data/custom_sprite/off_world_item.bin     | Bin 0 -> 264 bytes
 .../custom_sprite/off_world_prog_item.bin     | Bin 0 -> 264 bytes
 worlds/smz3/data/zsm.ips                      | Bin 0 -> 1460417 bytes
 worlds/smz3/ips.py                            | 252 ++++++
 83 files changed, 7047 insertions(+), 16 deletions(-)
 create mode 100644 WebHostLib/static/assets/gameInfo/en_SMZ3.md
 create mode 100644 WebHostLib/static/assets/tutorial/smz3/multiworld_en.md
 create mode 100644 worlds/smz3/LICENSE
 create mode 100644 worlds/smz3/Options.py
 create mode 100644 worlds/smz3/Rom.py
 create mode 100644 worlds/smz3/TotalSMZ3/Config.py
 create mode 100644 worlds/smz3/TotalSMZ3/Item.py
 create mode 100644 worlds/smz3/TotalSMZ3/Location.py
 create mode 100644 worlds/smz3/TotalSMZ3/Patch.py
 create mode 100644 worlds/smz3/TotalSMZ3/Region.py
 create mode 100644 worlds/smz3/TotalSMZ3/Regions/SuperMetroid/Brinstar/Blue.py
 create mode 100644 worlds/smz3/TotalSMZ3/Regions/SuperMetroid/Brinstar/Green.py
 create mode 100644 worlds/smz3/TotalSMZ3/Regions/SuperMetroid/Brinstar/Kraid.py
 create mode 100644 worlds/smz3/TotalSMZ3/Regions/SuperMetroid/Brinstar/Pink.py
 create mode 100644 worlds/smz3/TotalSMZ3/Regions/SuperMetroid/Brinstar/Red.py
 create mode 100644 worlds/smz3/TotalSMZ3/Regions/SuperMetroid/Brinstar/__init__.py
 create mode 100644 worlds/smz3/TotalSMZ3/Regions/SuperMetroid/Crateria/Central.py
 create mode 100644 worlds/smz3/TotalSMZ3/Regions/SuperMetroid/Crateria/East.py
 create mode 100644 worlds/smz3/TotalSMZ3/Regions/SuperMetroid/Crateria/West.py
 create mode 100644 worlds/smz3/TotalSMZ3/Regions/SuperMetroid/Crateria/__init__.py
 create mode 100644 worlds/smz3/TotalSMZ3/Regions/SuperMetroid/Maridia/Inner.py
 create mode 100644 worlds/smz3/TotalSMZ3/Regions/SuperMetroid/Maridia/Outer.py
 create mode 100644 worlds/smz3/TotalSMZ3/Regions/SuperMetroid/Maridia/__init__.py
 create mode 100644 worlds/smz3/TotalSMZ3/Regions/SuperMetroid/NorfairLower/East.py
 create mode 100644 worlds/smz3/TotalSMZ3/Regions/SuperMetroid/NorfairLower/West.py
 create mode 100644 worlds/smz3/TotalSMZ3/Regions/SuperMetroid/NorfairLower/__init__.py
 create mode 100644 worlds/smz3/TotalSMZ3/Regions/SuperMetroid/NorfairUpper/Crocomire.py
 create mode 100644 worlds/smz3/TotalSMZ3/Regions/SuperMetroid/NorfairUpper/East.py
 create mode 100644 worlds/smz3/TotalSMZ3/Regions/SuperMetroid/NorfairUpper/West.py
 create mode 100644 worlds/smz3/TotalSMZ3/Regions/SuperMetroid/NorfairUpper/__init__.py
 create mode 100644 worlds/smz3/TotalSMZ3/Regions/SuperMetroid/WreckedShip.py
 create mode 100644 worlds/smz3/TotalSMZ3/Regions/SuperMetroid/__init__.py
 create mode 100644 worlds/smz3/TotalSMZ3/Regions/Zelda/CastleTower.py
 create mode 100644 worlds/smz3/TotalSMZ3/Regions/Zelda/DarkWorld/DeathMountain/East.py
 create mode 100644 worlds/smz3/TotalSMZ3/Regions/Zelda/DarkWorld/DeathMountain/West.py
 create mode 100644 worlds/smz3/TotalSMZ3/Regions/Zelda/DarkWorld/DeathMountain/__init__.py
 create mode 100644 worlds/smz3/TotalSMZ3/Regions/Zelda/DarkWorld/Mire.py
 create mode 100644 worlds/smz3/TotalSMZ3/Regions/Zelda/DarkWorld/NorthEast.py
 create mode 100644 worlds/smz3/TotalSMZ3/Regions/Zelda/DarkWorld/NorthWest.py
 create mode 100644 worlds/smz3/TotalSMZ3/Regions/Zelda/DarkWorld/South.py
 create mode 100644 worlds/smz3/TotalSMZ3/Regions/Zelda/DarkWorld/__init__.py
 create mode 100644 worlds/smz3/TotalSMZ3/Regions/Zelda/DesertPalace.py
 create mode 100644 worlds/smz3/TotalSMZ3/Regions/Zelda/EasternPalace.py
 create mode 100644 worlds/smz3/TotalSMZ3/Regions/Zelda/GanonsTower.py
 create mode 100644 worlds/smz3/TotalSMZ3/Regions/Zelda/HyruleCastle.py
 create mode 100644 worlds/smz3/TotalSMZ3/Regions/Zelda/IcePalace.py
 create mode 100644 worlds/smz3/TotalSMZ3/Regions/Zelda/LightWorld/DeathMountain/East.py
 create mode 100644 worlds/smz3/TotalSMZ3/Regions/Zelda/LightWorld/DeathMountain/West.py
 create mode 100644 worlds/smz3/TotalSMZ3/Regions/Zelda/LightWorld/DeathMountain/__init__.py
 create mode 100644 worlds/smz3/TotalSMZ3/Regions/Zelda/LightWorld/NorthEast.py
 create mode 100644 worlds/smz3/TotalSMZ3/Regions/Zelda/LightWorld/NorthWest.py
 create mode 100644 worlds/smz3/TotalSMZ3/Regions/Zelda/LightWorld/South.py
 create mode 100644 worlds/smz3/TotalSMZ3/Regions/Zelda/LightWorld/__init__.py
 create mode 100644 worlds/smz3/TotalSMZ3/Regions/Zelda/MiseryMire.py
 create mode 100644 worlds/smz3/TotalSMZ3/Regions/Zelda/PalaceOfDarkness.py
 create mode 100644 worlds/smz3/TotalSMZ3/Regions/Zelda/SkullWoods.py
 create mode 100644 worlds/smz3/TotalSMZ3/Regions/Zelda/SwampPalace.py
 create mode 100644 worlds/smz3/TotalSMZ3/Regions/Zelda/ThievesTown.py
 create mode 100644 worlds/smz3/TotalSMZ3/Regions/Zelda/TowerOfHera.py
 create mode 100644 worlds/smz3/TotalSMZ3/Regions/Zelda/TurtleRock.py
 create mode 100644 worlds/smz3/TotalSMZ3/Regions/Zelda/__init__.py
 create mode 100644 worlds/smz3/TotalSMZ3/Regions/__init__.py
 create mode 100644 worlds/smz3/TotalSMZ3/Text/Dialog.py
 create mode 100644 worlds/smz3/TotalSMZ3/Text/Scripts/Blind.txt
 create mode 100644 worlds/smz3/TotalSMZ3/Text/Scripts/Ganon.txt
 create mode 100644 worlds/smz3/TotalSMZ3/Text/Scripts/General.yaml
 create mode 100644 worlds/smz3/TotalSMZ3/Text/Scripts/StringTable.yaml
 create mode 100644 worlds/smz3/TotalSMZ3/Text/Scripts/TavernMan.txt
 create mode 100644 worlds/smz3/TotalSMZ3/Text/Scripts/TriforceRoom.txt
 create mode 100644 worlds/smz3/TotalSMZ3/Text/StringTable.py
 create mode 100644 worlds/smz3/TotalSMZ3/Text/Texts.py
 create mode 100644 worlds/smz3/TotalSMZ3/Text/__init__.py
 create mode 100644 worlds/smz3/TotalSMZ3/World.py
 create mode 100644 worlds/smz3/TotalSMZ3/__init__.py
 create mode 100644 worlds/smz3/__init__.py
 create mode 100644 worlds/smz3/data/custom_sprite/off_world_item.bin
 create mode 100644 worlds/smz3/data/custom_sprite/off_world_prog_item.bin
 create mode 100644 worlds/smz3/data/zsm.ips
 create mode 100644 worlds/smz3/ips.py

diff --git a/Patch.py b/Patch.py
index 2b5ccf12..3cf7d001 100644
--- a/Patch.py
+++ b/Patch.py
@@ -18,12 +18,14 @@ current_patch_version = 3
 GAME_ALTTP = "A Link to the Past"
 GAME_SM = "Super Metroid"
 GAME_SOE = "Secret of Evermore"
-supported_games = {"A Link to the Past", "Super Metroid", "Secret of Evermore"}
+GAME_SMZ3 = "SMZ3"
+supported_games = {"A Link to the Past", "Super Metroid", "Secret of Evermore", "SMZ3"}
 
 preferred_endings = {
     GAME_ALTTP: "apbp",
     GAME_SM: "apm3",
-    GAME_SOE: "apsoe"
+    GAME_SOE: "apsoe",
+    GAME_SMZ3: "apsmz"
 }
 
 
@@ -34,6 +36,10 @@ def generate_yaml(patch: bytes, metadata: Optional[dict] = None, game: str = GAM
         from worlds.sm.Rom import JAP10HASH as HASH
     elif game == GAME_SOE:
         from worlds.soe.Patch import USHASH as HASH
+    elif game == GAME_SMZ3:
+        from worlds.alttp.Rom import JAP10HASH as ALTTPHASH
+        from worlds.sm.Rom import JAP10HASH as SMHASH
+        HASH = ALTTPHASH + SMHASH
     else:
         raise RuntimeError(f"Selected game {game} for base rom not found.")
 
@@ -63,7 +69,7 @@ def create_patch_file(rom_file_to_patch: str, server: str = "", destination: str
                            meta,
                            game)
     target = destination if destination else os.path.splitext(rom_file_to_patch)[0] + (
-        ".apbp" if game == GAME_ALTTP else ".apm3")
+        ".apbp" if game == GAME_ALTTP else ".apsmz" if game == GAME_SMZ3 else ".apm3")
     write_lzma(bytes, target)
     return target
 
@@ -90,6 +96,8 @@ def get_base_rom_data(game: str):
     elif game == GAME_SOE:
         file_name = Utils.get_options()["soe_options"]["rom_file"]
         get_base_rom_bytes = lambda: bytes(read_rom(open(file_name, "rb")))
+    elif game == GAME_SMZ3:
+        from worlds.smz3.Rom import get_base_rom_bytes
     else:
         raise RuntimeError("Selected game for base rom not found.")
     return get_base_rom_bytes()
@@ -218,6 +226,13 @@ if __name__ == "__main__":
                     if 'server' in data:
                         Utils.persistent_store("servers", data['hash'], data['server'])
                         print(f"Host is {data['server']}")
+                elif rom.endswith(".apsmz"):
+                    print(f"Applying patch {rom}")
+                    data, target = create_rom_file(rom)
+                    print(f"Created rom {target}.")
+                    if 'server' in data:
+                        Utils.persistent_store("servers", data['hash'], data['server'])
+                        print(f"Host is {data['server']}")
                 elif rom.endswith(".archipelago"):
                     import json
                     import zlib
diff --git a/SNIClient.py b/SNIClient.py
index 468a1da2..ba13818f 100644
--- a/SNIClient.py
+++ b/SNIClient.py
@@ -23,9 +23,10 @@ from NetUtils import *
 from worlds.alttp import Regions, Shops
 from worlds.alttp.Rom import ROM_PLAYER_LIMIT
 from worlds.sm.Rom import ROM_PLAYER_LIMIT as SM_ROM_PLAYER_LIMIT
+from worlds.smz3.Rom import ROM_PLAYER_LIMIT as SMZ3_ROM_PLAYER_LIMIT
 import Utils
 from CommonClient import CommonContext, server_loop, console_loop, ClientCommandProcessor, gui_enabled, get_base_parser
-from Patch import GAME_ALTTP, GAME_SM
+from Patch import GAME_ALTTP, GAME_SM, GAME_SMZ3
 
 snes_logger = logging.getLogger("SNES")
 
@@ -266,6 +267,18 @@ SM_RECV_ITEM_PLAYER_ADDR = SAVEDATA_START + 0x4D3   # 1 byte
 
 SM_DEATH_LINK_ACTIVE_ADDR = ROM_START + 0x277f04    # 1 byte
 
+# SMZ3
+SMZ3_ROMNAME_START = 0x00FFC0
+
+SMZ3_INGAME_MODES = {0x07, 0x09, 0x0b}
+SMZ3_ENDGAME_MODES = {0x26, 0x27}
+SMZ3_DEATH_MODES = {0x15, 0x17, 0x18, 0x19, 0x1A}
+
+SMZ3_RECV_PROGRESS_ADDR = SRAM_START + 0x4000         # 2 bytes
+SMZ3_RECV_ITEM_ADDR = SAVEDATA_START + 0x4D2          # 1 byte
+SMZ3_RECV_ITEM_PLAYER_ADDR = SAVEDATA_START + 0x4D3   # 1 byte
+
+
 location_shop_ids = set([info[0] for name, info in Shops.shop_table.items()])
 
 location_table_uw = {"Blind's Hideout - Top": (0x11d, 0x10),
@@ -968,23 +981,29 @@ async def game_watcher(ctx: Context):
             game_name = await snes_read(ctx, SM_ROMNAME_START, 2)
             if game_name is None:
                 continue
-            elif game_name == b"SM":
+            elif game_name[:2] == b"SM":
                 ctx.game = GAME_SM
                 ctx.items_handling = 0b001  # full local
             else:
-                ctx.game = GAME_ALTTP
-                ctx.items_handling = 0b001  # full local
+                game_name = await snes_read(ctx, SMZ3_ROMNAME_START, 3)
+                if game_name == b"ZSM":
+                    ctx.game = GAME_SMZ3
+                    ctx.items_handling = 0b101  # local items and remote start inventory
+                else:
+                    ctx.game = GAME_ALTTP
+                    ctx.items_handling = 0b001  # full local
 
-            rom = await snes_read(ctx, SM_ROMNAME_START if ctx.game == GAME_SM else ROMNAME_START, ROMNAME_SIZE)
+            rom = await snes_read(ctx, SM_ROMNAME_START if ctx.game == GAME_SM else SMZ3_ROMNAME_START if ctx.game == GAME_SMZ3 else ROMNAME_START, ROMNAME_SIZE)
             if rom is None or rom == bytes([0] * ROMNAME_SIZE):
                 continue
 
             ctx.rom = rom
-            death_link = await snes_read(ctx, DEATH_LINK_ACTIVE_ADDR if ctx.game == GAME_ALTTP else
-            SM_DEATH_LINK_ACTIVE_ADDR, 1)
-            if death_link:
-                ctx.death_link_allow_survive = bool(death_link[0] & 0b10)
-                await ctx.update_death_link(bool(death_link[0] & 0b1))
+            if ctx.game != GAME_SMZ3:
+                death_link = await snes_read(ctx, DEATH_LINK_ACTIVE_ADDR if ctx.game == GAME_ALTTP else
+                                             SM_DEATH_LINK_ACTIVE_ADDR, 1)
+                if death_link:
+                    ctx.death_link_allow_survive = bool(death_link[0] & 0b10)
+                    await ctx.update_death_link(bool(death_link[0] & 0b1))
             if not ctx.prev_rom or ctx.prev_rom != ctx.rom:
                 ctx.locations_checked = set()
                 ctx.locations_scouted = set()
@@ -1129,6 +1148,69 @@ async def game_watcher(ctx: Context):
                     color(ctx.player_names[item.player], 'yellow'),
                     ctx.location_name_getter(item.location), itemOutPtr, len(ctx.items_received)))
             await snes_flush_writes(ctx)
+        elif ctx.game == GAME_SMZ3:
+            currentGame = await snes_read(ctx, SRAM_START + 0x33FE, 2)
+            if (currentGame is not None):
+                if (currentGame[0] != 0):
+                    gamemode = await snes_read(ctx, WRAM_START + 0x0998, 1)
+                    endGameModes = SM_ENDGAME_MODES
+                else:
+                    gamemode = await snes_read(ctx, WRAM_START + 0x10, 1)
+                    endGameModes = ENDGAME_MODES
+
+            if gamemode is not None and (gamemode[0] in endGameModes):
+                if not ctx.finished_game:
+                    await ctx.send_msgs([{"cmd": "StatusUpdate", "status": ClientStatus.CLIENT_GOAL}])
+                    ctx.finished_game = True
+                continue
+
+            data = await snes_read(ctx, SMZ3_RECV_PROGRESS_ADDR + 0x680, 4)
+            if data is None:
+                continue
+
+            recv_index = data[0] | (data[1] << 8)
+            recv_item = data[2] | (data[3] << 8)
+
+            while (recv_index < recv_item):
+                itemAdress = recv_index * 8
+                message = await snes_read(ctx, SMZ3_RECV_PROGRESS_ADDR + 0x700 + itemAdress, 8)
+                # worldId = message[0] | (message[1] << 8)  # unused
+                # itemId = message[2] | (message[3] << 8)  # unused
+                isZ3Item = ((message[5] & 0x80) != 0)
+                maskedPart = (message[5] & 0x7F) if isZ3Item else message[5]
+                itemIndex = ((message[4] | (maskedPart << 8)) >> 3) + (256 if isZ3Item else 0)
+
+                recv_index += 1
+                snes_buffered_write(ctx, SMZ3_RECV_PROGRESS_ADDR + 0x680, bytes([recv_index & 0xFF, (recv_index >> 8) & 0xFF]))
+
+                from worlds.smz3.TotalSMZ3.Location import locations_start_id
+                location_id = locations_start_id + itemIndex
+
+                ctx.locations_checked.add(location_id)
+                location = ctx.location_name_getter(location_id)
+                snes_logger.info(f'New Check: {location} ({len(ctx.locations_checked)}/{len(ctx.missing_locations) + len(ctx.checked_locations)})')
+                await ctx.send_msgs([{"cmd": 'LocationChecks', "locations": [location_id]}])
+
+            data = await snes_read(ctx, SMZ3_RECV_PROGRESS_ADDR + 0x600, 4)
+            if data is None:
+                continue
+
+            # recv_itemOutPtr = data[0] | (data[1] << 8) # unused
+            itemOutPtr = data[2] | (data[3] << 8)
+
+            from worlds.smz3.TotalSMZ3.Item import items_start_id
+            if itemOutPtr < len(ctx.items_received):
+                item = ctx.items_received[itemOutPtr]
+                itemId = item.item - items_start_id
+
+                playerID = item.player if item.player <= SMZ3_ROM_PLAYER_LIMIT else 0
+                snes_buffered_write(ctx, SMZ3_RECV_PROGRESS_ADDR + itemOutPtr * 4, bytes([playerID & 0xFF, (playerID >> 8) & 0xFF, itemId & 0xFF, (itemId >> 8) & 0xFF]))
+                itemOutPtr += 1
+                snes_buffered_write(ctx, SMZ3_RECV_PROGRESS_ADDR + 0x602, bytes([itemOutPtr & 0xFF, (itemOutPtr >> 8) & 0xFF]))
+                logging.info('Received %s from %s (%s) (%d/%d in list)' % (
+                    color(ctx.item_name_getter(item.item), 'red', 'bold'), color(ctx.player_names[item.player], 'yellow'),
+                    ctx.location_name_getter(item.location), itemOutPtr, len(ctx.items_received)))
+            await snes_flush_writes(ctx)
 
 
 async def run_game(romfile):
diff --git a/WebHostLib/static/assets/gameInfo/en_SMZ3.md b/WebHostLib/static/assets/gameInfo/en_SMZ3.md
new file mode 100644
index 00000000..91dace7b
--- /dev/null
+++ b/WebHostLib/static/assets/gameInfo/en_SMZ3.md
@@ -0,0 +1,35 @@
+# SMZ3
+
+## Where is the settings page?
+
+The [player settings page for this game](../player-settings) contains all the options you need to configure and export a
+config file.
+
+## What does randomization do to this game?
+
+Items which the player would normally acquire throughout the game have been moved around. Logic remains, so the game is
+always able to be completed, but because of the item shuffle the player may need to access certain areas before they
+would in the vanilla game.
+
+## What items and locations get shuffled?
+
+All main inventory items, collectables, power-ups and ammunition can be shuffled, and all locations in the game which 
+could contain any of those items may have their contents changed.
+
+## Which items can be in another player's world?
+
+Any of the items which can be shuffled may also be placed into another player's world. It is possible to choose to limit
+certain items to your own world.
+
+## What does another world's item look like in Super Metroid?
+
+A unique item sprite has been added to the game to represent items belonging to another world.
+
+## What does another world's item look like in LttP?
+
+Items belonging to other worlds are represented by a Power Star from Super Mario World.
+
+## When the player receives an item, what happens?
+
+When the player receives an item, a text box will appear to show which item was received, and from whom.
+
diff --git a/WebHostLib/static/assets/tutorial/smz3/multiworld_en.md b/WebHostLib/static/assets/tutorial/smz3/multiworld_en.md
new file mode 100644
index 00000000..7fef4af0
--- /dev/null
+++ b/WebHostLib/static/assets/tutorial/smz3/multiworld_en.md
@@ -0,0 +1,146 @@
+# Super Metroid Setup Guide
+
+## Required Software
+
+- One of the client programs:
+  - [SNIClient](https://github.com/ArchipelagoMW/Archipelago/releases), included with the main 
+  Archipelago install. Make sure to check the box for `SNI Client - Super Metroid Patch Setup` and 
+  `SNI Client - A Link to the Past Patch Setup`
+- Hardware or software capable of loading and playing SNES ROM files
+    - An emulator capable of connecting to SNI such as:
+        - snes9x Multitroid
+          from: [snes9x Multitroid Download](https://drive.google.com/drive/folders/1_ej-pwWtCAHYXIrvs5Hro16A1s9Hi3Jz),
+        - BizHawk from: [BizHawk Website](http://tasvideos.org/BizHawk.html)
+    - An SD2SNES, FXPak Pro ([FXPak Pro Store Page](https://krikzz.com/store/home/54-fxpak-pro.html)), or other
+      compatible hardware
+- Your legally obtained Super Metroid ROM file, probably named `Super Metroid (Japan, USA).sfc` and
+  Your Japanese Zelda3 v1.0 ROM file, probably named `Zelda no Densetsu - Kamigami no Triforce (Japan).sfc`
+
+## Installation Procedures
+
+### Windows Setup
+
+1. During the installation of Archipelago, you will have been asked to install the SNI Client. If you did not do this,
+   or you are on an older version, you may run the installer again to install the SNI Client.
+2. During setup, you will be asked to locate your base ROM files. This is your Super Metroid and Zelda3 ROM files.
+3. If you are using an emulator, you should assign your Lua capable emulator as your default program for launching ROM
+   files.
+    1. Extract your emulator's folder to your Desktop, or somewhere you will remember.
+    2. Right-click on a ROM file and select **Open with...**
+    3. Check the box next to **Always use this app to open .sfc files**
+    4. Scroll to the bottom of the list and click the grey text **Look for another App on this PC**
+    5. Browse for your emulator's `.exe` file and click **Open**. This file should be located inside the folder you
+       extracted in step one.
+
+## Create a Config (.yaml) File
+
+### What is a config file and why do I need one?
+
+See the guide on setting up a basic YAML at the Archipelago setup
+guide: [Basic Multiworld Setup Guide](/tutorial/archipelago/setup/en)
+
+### Where do I get a config file?
+
+The Player Settings page on the website allows you to configure your personal settings and export a config file from
+them. Player settings page: [SMZ3 Player Settings Page](/games/SMZ3/player-settings)
+
+### Verifying your config file
+
+If you would like to validate your config file to make sure it works, you may do so on the YAML Validator page. YAML
+validator page: [YAML Validation page](/mysterycheck)
+
+## Generating a Single-Player Game
+
+1. Navigate to the Player Settings page, configure your options, and click the "Generate Game" button.
+    - Player Settings page: [SMZ3 Player Settings Page](/games/SMZ3/player-settings)
+2. You will be presented with a "Seed Info" page.
+3. Click the "Create New Room" link.
+4. You will be presented with a server page, from which you can download your patch file.
+5. Double-click on your patch file, and the SMZ3 Client will launch automatically, create your ROM from the
+   patch file, and open your emulator for you.
+6. Since this is a single-player game, you will no longer need the client, so feel free to close it.
+
+## Joining a MultiWorld Game
+
+### Obtain your patch file and create your ROM
+
+When you join a multiworld game, you will be asked to provide your config file to whoever is hosting. Once that is done,
+the host will provide you with either a link to download your patch file, or with a zip file containing everyone's patch
+files. Your patch file should have a `.apsmz` extension.
+
+Put your patch file on your desktop or somewhere convenient, and double click it. This should automatically launch the
+client, and will also create your ROM in the same place as your patch file.
+
+### Connect to the client
+
+#### With an emulator
+
+When the client launched automatically, SNI should have also automatically launched in the background. If this is its
+first time launching, you may be prompted to allow it to communicate through the Windows Firewall.
+
+##### snes9x Multitroid
+
+1. Load your ROM file if it hasn't already been loaded.
+2. Click on the File menu and hover on **Lua Scripting**
+3. Click on **New Lua Script Window...**
+4. In the new window, click **Browse...**
+5. Select the connector lua file included with your client
+    - SuperNintendoClient users should download `sniConnector.lua` from the client download page
+    - SNIClient users should look in their Archipelago folder for `/SNI/lua/x64` or `/SNI/lua/x86` depending on if the
+      emulator is 64-bit or 32-bit.
+
+##### BizHawk
+
+1. Ensure you have the BSNES core loaded. You may do this by clicking on the Tools menu in BizHawk and following these
+   menu options:  
+   `Config --> Cores --> SNES --> BSNES`  
+   Once you have changed the loaded core, you must restart BizHawk.
+2. Load your ROM file if it hasn't already been loaded.
+3. Click on the Tools menu and click on **Lua Console**
+4. Click the button to open a new Lua script.
+5. Select the `Connector.lua` file included with your client
+    - SuperNintendoClient users should download `sniConnector.lua` from the client download page
+    - SNIClient users should look in their Archipelago folder for `/SNI/lua/x64` or `/SNI/lua/x86` depending on if the
+      emulator is 64-bit or 32-bit. Please note the most recent versions of BizHawk are 64-bit only.
+
+#### With hardware
+
+This guide assumes you have downloaded the correct firmware for your device. If you have not done so already, please do
+this now. SD2SNES and FXPak Pro users may download the appropriate firmware on the SD2SNES releases page. SD2SNES
+releases page: [SD2SNES Releases Page](https://github.com/RedGuyyyy/sd2snes/releases)
+
+Other hardware may find helpful information on the usb2snes platforms
+page: [usb2snes Supported Platforms Page](http://usb2snes.com/#supported-platforms)
+
+1. Close your emulator, which may have auto-launched.
+2. Power on your device and load the ROM.
+
+### Connect to the Archipelago Server
+
+The patch file which launched your client should have automatically connected you to the AP Server. There are a few
+reasons this may not happen however, including if the game is hosted on the website but was generated elsewhere. If the
+client window shows "Server Status: Not Connected", simply ask the host for the address of the server, and copy/paste it
+into the "Server" input field then press enter.
+
+The client will attempt to reconnect to the new server address, and should momentarily show "Server Status: Connected".
+
+### Play the game
+
+When the client shows both SNES Device and Server as connected, you're ready to begin playing. Congratulations on
+successfully joining a multiworld game!
+
+## Hosting a MultiWorld game
+
+The recommended way to host a game is to use our hosting service. The process is relatively simple:
+
+1. Collect config files from your players.
+2. Create a zip file containing your players' config files.
+3. Upload that zip file to the Generate page above.
+    - Generate page: [WebHost Seed Generation Page](/generate)
+4. Wait a moment while the seed is generated.
+5. When the seed is generated, you will be redirected to a "Seed Info" page.
+6. Click "Create New Room". This will take you to the server page. Provide the link to this page to your players, so
+   they may download their patch files from there.
+7. Note that a link to a MultiWorld Tracker is at the top of the room page. The tracker shows the progress of all
+   players in the game. Any observers may also be given the link to this page.
+8. Once all players have joined, you may begin playing.
diff --git a/WebHostLib/templates/macros.html b/WebHostLib/templates/macros.html
index 9af0b89b..cb345976 100644
--- a/WebHostLib/templates/macros.html
+++ b/WebHostLib/templates/macros.html
@@ -40,7 +40,7 @@
                         {% elif patch.game == "Super Mario 64" and room.seed.slots|length == 1 %}
                         <a href="{{ url_for("download_slot_file", room_id=room.id, player_id=patch.player_id) }}" download>
                             Download APSM64EX File...</a>
-                        {% elif patch.game in ["A Link to the Past", "Secret of Evermore", "Super Metroid"] %}
+                        {% elif patch.game in ["A Link to the Past", "Secret of Evermore", "Super Metroid", "SMZ3"] %}
                         <a href="{{ url_for("download_patch", patch_id=patch.id, room_id=room.id) }}" download>
                             Download Patch File...</a>
                         {% else %}
diff --git a/host.yaml b/host.yaml
index 46fdd741..9b80b0b6 100644
--- a/host.yaml
+++ b/host.yaml
@@ -102,10 +102,10 @@ sm_options:
   rom_start: true
 factorio_options:
   executable: "factorio\\bin\\x64\\factorio"
-minecraft_options:
+minecraft_options: 
   forge_directory: "Minecraft Forge server"
   max_heap_size: "2G"
-oot_options:
+oot_options: 
   # File name of the OoT v1.0 ROM
   rom_file: "The Legend of Zelda - Ocarina of Time.z64"
 soe_options:
@@ -113,3 +113,10 @@ soe_options:
   rom_file: "Secret of Evermore (USA).sfc"
 ffr_options:
   display_msgs: true
+smz3_options:
+  # Set this to your SNI folder location if you want the MultiClient to attempt an auto start, does nothing if not found
+  sni: "SNI"
+  # Set this to false to never autostart a rom (such as after patching)
+  # True for operating system default program
+  # Alternatively, a path to a program to open the .sfc file with
+  rom_start: true
\ No newline at end of file
diff --git a/worlds/smz3/LICENSE b/worlds/smz3/LICENSE
new file mode 100644
index 00000000..725f036f
--- /dev/null
+++ b/worlds/smz3/LICENSE
@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2020 Thomas Backmark
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/worlds/smz3/Options.py b/worlds/smz3/Options.py
new file mode 100644
index 00000000..ad59bc6d
--- /dev/null
+++ b/worlds/smz3/Options.py
@@ -0,0 +1,63 @@
+import typing
+from Options import Choice, Option
+
+class SMLogic(Choice):
+    """This option selects what kind of logic to use for item placement inside
+    Super Metroid.
+
+    Normal - Normal logic includes only what Super Metroid teaches players
+    itself. Anything that's not demonstrated in-game or by the intro cutscenes
+    will not be required here.
+
+    Hard - Hard logic is based upon the "no major glitches" ruleset and
+    includes most tricks that are considered minor glitches, with some 
+    restrictions. You'll want to be somewhat of a Super Metroid veteran for
+    this logic.
+    
+    See https://samus.link/information for required moves."""
+    display_name = "SMLogic"
+    option_Normal = 0
+    option_Hard = 1
+    default = 0
+
+class SwordLocation(Choice):
+    """This option decides where the first sword will be placed.
+    Randomized - The sword can be placed anywhere.
+    Early - The sword will be placed in a location accessible from the start of
+    the game.
+    Unce assured - The sword will always be placed on Link's Uncle."""
+    display_name = "Sword Location"
+    option_Randomized = 0
+    option_Early = 1
+    option_Uncle = 2
+    default = 0
+
+class MorphLocation(Choice):
+    """This option decides where the morph ball will be placed.
+    Randomized - The morph ball can be placed anywhere.
+    Early - The morph ball will be placed in a location accessible from the 
+    start of the game.
+    Original location - The morph ball will always be placed at its original 
+    location."""
+    display_name = "Morph Location"
+    option_Randomized = 0
+    option_Early = 1
+    option_Original = 2
+    default = 0
+
+class KeyShuffle(Choice):
+    """This option decides how dungeon items such as keys are shuffled.
+    None - A Link to the Past dungeon items can only be placed inside the 
+    dungeon they belong to, and there are no changes to Super Metroid.
+    Keysanity - See https://samus.link/information"""
+    display_name = "Key Shuffle"
+    option_None = 0
+    option_Keysanity = 1
+    default = 0
+
+smz3_options: typing.Dict[str, type(Option)] = {
+    "sm_logic": SMLogic,
+    "sword_location": SwordLocation,
+    "morph_location": MorphLocation,
+    "key_shuffle": KeyShuffle
+    }
diff --git a/worlds/smz3/Rom.py b/worlds/smz3/Rom.py
new file mode 100644
index 00000000..eb78697b
--- /dev/null
+++ b/worlds/smz3/Rom.py
@@ -0,0 +1,76 @@
+import Utils
+from Patch import read_rom
+
+SMJAP10HASH = '21f3e98df4780ee1c667b84e57d88675'
+LTTPJAP10HASH = '03a63945398191337e896e5771f77173'
+ROM_PLAYER_LIMIT = 256
+
+import hashlib
+import os
+
+
+def get_base_rom_bytes(file_name: str = "") -> bytes:
+    base_rom_bytes = getattr(get_base_rom_bytes, "base_rom_bytes", None)
+    if not base_rom_bytes:
+        sm_file_name = get_sm_base_rom_path()
+        sm_base_rom_bytes = bytes(read_rom(open(sm_file_name, "rb")))
+
+        basemd5 = hashlib.md5()
+        basemd5.update(sm_base_rom_bytes)
+        if SMJAP10HASH != basemd5.hexdigest():
+            raise Exception('Supplied Base Rom does not match known MD5 for JAP(1.0) release. '
+                            'Get the correct game and version, then dump it')
+        lttp_file_name = get_lttp_base_rom_path()
+        lttp_base_rom_bytes = bytes(read_rom(open(lttp_file_name, "rb")))
+
+        basemd5 = hashlib.md5()
+        basemd5.update(lttp_base_rom_bytes)
+        if LTTPJAP10HASH != basemd5.hexdigest():
+            raise Exception('Supplied Base Rom does not match known MD5 for JAP(1.0) release. '
+                            'Get the correct game and version, then dump it')
+    
+        get_base_rom_bytes.base_rom_bytes = bytes(combine_smz3_rom(sm_base_rom_bytes, lttp_base_rom_bytes))
+    return get_base_rom_bytes.base_rom_bytes
+
+def get_sm_base_rom_path(file_name: str = "") -> str:
+    options = Utils.get_options()
+    if not file_name:
+        file_name = options["sm_options"]["rom_file"]
+    if not os.path.exists(file_name):
+        file_name = Utils.local_path(file_name)
+    return file_name
+
+def get_lttp_base_rom_path(file_name: str = "") -> str:
+    options = Utils.get_options()
+    if not file_name:
+        file_name = options["lttp_options"]["rom_file"]
+    if not os.path.exists(file_name):
+        file_name = Utils.local_path(file_name)
+    return file_name
+
+def combine_smz3_rom(sm_rom: bytes, lttp_rom: bytes):
+    combined = bytearray(0x600000)
+    # SM hi bank
+    pos = 0
+    srcpos = 0
+    for i in range(0x40):
+        combined[pos + 0x8000:pos + 0x8000 + 0x8000] = sm_rom[srcpos:srcpos + 0x8000]
+        srcpos += 0x8000
+        pos += 0x10000
+
+    # SM lo bank
+    pos = 0
+    for i in range(0x20):
+        combined[pos:pos + 0x8000] = sm_rom[srcpos:srcpos + 0x8000]
+        srcpos += 0x8000
+        pos += 0x10000
+
+    # Z3 hi bank
+    pos = 0x400000
+    srcpos = 0
+    for i in range(0x20):
+        combined[pos + 0x8000:pos + 0x8000 + 0x8000] = lttp_rom[srcpos:srcpos + 0x8000]
+        srcpos += 0x8000
+        pos += 0x10000
+
+    return combined
diff --git a/worlds/smz3/TotalSMZ3/Config.py b/worlds/smz3/TotalSMZ3/Config.py
new file mode 100644
index 00000000..bfcd541b
--- /dev/null
+++ b/worlds/smz3/TotalSMZ3/Config.py
@@ -0,0 +1,107 @@
+from enum import Enum
+from typing import Dict, List
+
+class GameMode(Enum):
+        Normal = 0
+        Multiworld = 1
+
+class Z3Logic(Enum):
+        Normal = 0
+        Nmg = 1
+        Owg = 2
+
+class SMLogic(Enum):
+        Normal = 0
+        Hard = 1
+
+class SwordLocation(Enum):
+        Randomized = 0
+        Early = 1
+        Uncle = 2   
+
+class MorphLocation(Enum):
+        Randomized = 0
+        Early = 1
+        Original = 2
+
+class Goal(Enum):
+        DefeatBoth = 0
+
+class KeyShuffle(Enum):
+        Null = 0
+        Keysanity = 1
+
+class GanonInvincible(Enum):
+        Never = 0
+        BeforeCrystals = 1
+        BeforeAllDungeons = 2
+        Always = 3
+
+class Config:
+    GameMode: GameMode = GameMode.Multiworld
+    Z3Logic: Z3Logic = Z3Logic.Normal
+    SMLogic: SMLogic = SMLogic.Normal
+    SwordLocation: SwordLocation= SwordLocation.Randomized
+    MorphLocation: MorphLocation = MorphLocation.Randomized
+    Goal: Goal = Goal.DefeatBoth
+    KeyShuffle: KeyShuffle = KeyShuffle.Null
+    Keysanity: bool = KeyShuffle != KeyShuffle.Null
+    Race: bool = False
+    GanonInvincible: GanonInvincible = GanonInvincible.BeforeCrystals
+
+    def __init__(self, options: Dict[str, str]):
+        self.GameMode = self.ParseOption(options, GameMode.Multiworld)
+        self.Z3Logic = self.ParseOption(options, Z3Logic.Normal)
+        self.SMLogic = self.ParseOption(options, SMLogic.Normal)
+        self.SwordLocation = self.ParseOption(options, SwordLocation.Randomized)
+        self.MorphLocation = self.ParseOption(options, MorphLocation.Randomized)
+        self.Goal = self.ParseOption(options, Goal.DefeatBoth)
+        self.GanonInvincible = self.ParseOption(options, GanonInvincible.BeforeCrystals)
+        self.KeyShuffle = self.ParseOption(options, KeyShuffle.Null)
+        self.Keysanity = self.KeyShuffle != KeyShuffle.Null
+        self.Race = self.ParseOptionWith(options, "Race", False)
+
+    def ParseOption(self, options:Dict[str, str], defaultValue:Enum):
+        enumKey = defaultValue.__class__.__name__.lower()
+        if (enumKey in options):
+            return defaultValue.__class__[options[enumKey]]
+        return defaultValue
+
+    def ParseOptionWith(self, options:Dict[str, str], option:str, defaultValue:bool):
+        if (option.lower() in options):
+            return options[option.lower()]
+        return defaultValue
+
+    """ public static RandomizerOption GetRandomizerOption<T>(string description, string defaultOption = "") where T : Enum {
+        var enumType = typeof(T);
+        var values = Enum.GetValues(enumType).Cast<Enum>();
+
+        return new RandomizerOption {
+            Key = enumType.Name.ToLower(),
+            Description = description,
+            Type = RandomizerOptionType.Dropdown,
+            Default = string.IsNullOrEmpty(defaultOption) ? GetDefaultValue<T>().ToLString() : defaultOption,
+            Values = values.ToDictionary(k => k.ToLString(), v => v.GetDescription())
+        };
+    }
+
+    public static RandomizerOption GetRandomizerOption(string name, string description, bool defaultOption = false) {
+        return new RandomizerOption {
+            Key = name.ToLower(),
+            Description = description,
+            Type = RandomizerOptionType.Checkbox,
+            Default = defaultOption.ToString().ToLower(),
+            Values = new Dictionary<string, string>()
+        };
+    }
+
+    public static TEnum GetDefaultValue<TEnum>() where TEnum : Enum {
+        Type t = typeof(TEnum);
+        var attributes = (DefaultValueAttribute[])t.GetCustomAttributes(typeof(DefaultValueAttribute), false);
+        if ((attributes?.Length ?? 0) > 0) {
+            return (TEnum)attributes.First().Value;
+        }
+        else {
+            return default;
+        }
+    } """
diff --git a/worlds/smz3/TotalSMZ3/Item.py b/worlds/smz3/TotalSMZ3/Item.py
new file mode 100644
index 00000000..bad16ce9
--- /dev/null
+++ b/worlds/smz3/TotalSMZ3/Item.py
@@ -0,0 +1,782 @@
+from enum import Enum
+import re
+import copy
+from typing import List
+
+from worlds.smz3.TotalSMZ3.Config import Config, SMLogic
+
+class ItemType(Enum):
+    Nothing = 0
+    MapHC = 0x7F
+    MapEP = 0x7D
+    MapDP = 0x7C
+    MapTH = 0x75
+    MapPD = 0x79
+    MapSP = 0x7A
+    MapSW = 0x77
+    MapTT = 0x74
+    MapIP = 0x76
+    MapMM = 0x78
+    MapTR = 0x73
+    MapGT = 0x72
+
+    CompassEP = 0x8D
+    CompassDP = 0x8C
+    CompassTH = 0x85
+    CompassPD = 0x89
+    CompassSP = 0x8A
+    CompassSW = 0x87
+    CompassTT = 0x84
+    CompassIP = 0x86
+    CompassMM = 0x88
+    CompassTR = 0x83
+    CompassGT = 0x82
+
+    BigKeyEP = 0x9D
+    BigKeyDP = 0x9C
+    BigKeyTH = 0x95
+    BigKeyPD = 0x99
+    BigKeySP = 0x9A
+    BigKeySW = 0x97
+    BigKeyTT = 0x94
+    BigKeyIP = 0x96
+    BigKeyMM = 0x98
+    BigKeyTR = 0x93
+    BigKeyGT = 0x92       
+    
+    KeyHC = 0xA0
+    KeyCT = 0xA4
+    KeyDP = 0xA3
+    KeyTH = 0xAA
+    KeyPD = 0xA6
+    KeySP = 0xA5
+    KeySW = 0xA8
+    KeyTT = 0xAB
+    KeyIP = 0xA9
+    KeyMM = 0xA7
+    KeyTR = 0xAC
+    KeyGT = 0xAD
+
+    Key = 0x24
+    Compass = 0x25
+    BigKey = 0x32
+    Map = 0x33
+
+    Something = 0x6B
+
+    ProgressiveTunic = 0x60
+    ProgressiveShield = 0x5F
+    ProgressiveSword = 0x5E
+    Bow = 0x0B
+    SilverArrows = 0x58
+    BlueBoomerang = 0x0C
+    RedBoomerang = 0x2A
+    Hookshot = 0x0A
+    Mushroom = 0x29
+    Powder = 0x0D
+    Firerod = 0x07
+    Icerod = 0x08
+    Bombos = 0x0f
+    Ether = 0x10
+    Quake = 0x11
+    Lamp = 0x12
+    Hammer = 0x09
+    Shovel = 0x13
+    Flute = 0x14
+    Bugnet = 0x21
+    Book = 0x1D
+    Bottle = 0x16
+    Somaria = 0x15
+    Byrna = 0x18
+    Cape = 0x19
+    Mirror = 0x1A
+    Boots = 0x4B
+    ProgressiveGlove = 0x61
+    Flippers = 0x1E
+    MoonPearl = 0x1F
+    HalfMagic = 0x4E
+    HeartPiece = 0x17
+    HeartContainer = 0x3E
+    HeartContainerRefill = 0x3F
+    ThreeBombs = 0x28
+    Arrow = 0x43
+    TenArrows = 0x44
+    OneRupee = 0x34
+    FiveRupees = 0x35
+    TwentyRupees = 0x36
+    TwentyRupees2 = 0x47
+    FiftyRupees = 0x41
+    OneHundredRupees = 0x40
+    ThreeHundredRupees = 0x46
+    BombUpgrade5 = 0x51
+    BombUpgrade10 = 0x52
+    ArrowUpgrade5 = 0x53
+    ArrowUpgrade10 = 0x54
+
+    CardCrateriaL1 = 0xD0
+    CardCrateriaL2 = 0xD1
+    CardCrateriaBoss = 0xD2
+    CardBrinstarL1 = 0xD3
+    CardBrinstarL2 = 0xD4
+    CardBrinstarBoss = 0xD5
+    CardNorfairL1 = 0xD6
+    CardNorfairL2 = 0xD7
+    CardNorfairBoss = 0xD8
+    CardMaridiaL1 = 0xD9
+    CardMaridiaL2 = 0xDA
+    CardMaridiaBoss = 0xDB
+    CardWreckedShipL1 = 0xDC
+    CardWreckedShipBoss = 0xDD
+    CardLowerNorfairL1 = 0xDE
+    CardLowerNorfairBoss = 0xDF
+
+    Missile = 0xC2
+    Super = 0xC3
+    PowerBomb = 0xC4
+    Grapple = 0xB0
+    XRay = 0xB1
+    ETank = 0xC0
+    ReserveTank = 0xC1
+    Charge = 0xBB
+    Ice = 0xBC
+    Wave = 0xBD
+    Spazer = 0xBE
+    Plasma = 0xBF
+    Varia = 0xB2
+    Gravity = 0xB6
+    Morph = 0xB4
+    Bombs = 0xB9
+    SpringBall = 0xB3
+    ScrewAttack = 0xB5
+    HiJump = 0xB7
+    SpaceJump = 0xB8
+    SpeedBooster = 0xBA
+
+    BottleWithRedPotion = 0x2B
+    BottleWithGreenPotion = 0x2C
+    BottleWithBluePotion = 0x2D
+    BottleWithFairy = 0x3D
+    BottleWithBee = 0x3C
+    BottleWithGoldBee = 0x48
+    RedContent = 0x2E
+    GreenContent = 0x2F
+    BlueContent = 0x30
+    BeeContent = 0x0E
+
+class Item:
+    Name: str
+    Type: ItemType
+    Progression: bool
+
+    dungeon = re.compile("^(BigKey|Key|Map|Compass)")
+    bigKey = re.compile("^BigKey")
+    key = re.compile("^Key")
+    map = re.compile("^Map")
+    compass = re.compile("^Compass")
+    keycard = re.compile("^Card")
+
+    def IsDungeonItem(self): return self.dungeon.match(self.Type.name)
+    def IsBigKey(self): return self.bigKey.match(self.Type.name)
+    def IsKey(self): return self.key.match(self.Type.name)
+    def IsMap(self): return self.map.match(self.Type.name)
+    def IsCompass(self): return self.compass.match(self.Type.name)
+    def IsKeycard(self): return self.keycard.match(self.Type.name)
+
+    def Is(self, type: ItemType, world):
+        return self.Type == type and self.World == world
+
+    def IsNot(self, type: ItemType, world):
+        return not self.Is(type, world)
+
+    def __init__(self, itemType: ItemType, world = None):
+        self.Type = itemType
+        self.World = world
+        self.Progression = False
+        #self.Name = itemType.GetDescription()
+
+    @staticmethod
+    def Nothing(world):
+        return Item(ItemType.Nothing, world)
+
+    @staticmethod
+    def AddRange(itemPool, count, item):
+        for i in range(count):
+            itemPool.append(copy.copy(item))
+
+    @staticmethod
+    def CreateProgressionPool(world):
+        itemPool = [
+            Item(ItemType.ProgressiveShield),
+            Item(ItemType.ProgressiveShield),
+            Item(ItemType.ProgressiveShield),
+            Item(ItemType.ProgressiveSword),
+            Item(ItemType.ProgressiveSword),
+            Item(ItemType.Bow),
+            Item(ItemType.Hookshot),
+            Item(ItemType.Mushroom),
+            Item(ItemType.Powder),
+            Item(ItemType.Firerod),
+            Item(ItemType.Icerod),
+            Item(ItemType.Bombos),
+            Item(ItemType.Ether),
+            Item(ItemType.Quake),
+            Item(ItemType.Lamp),
+            Item(ItemType.Hammer),
+            Item(ItemType.Shovel),
+            Item(ItemType.Flute),
+            Item(ItemType.Bugnet),
+            Item(ItemType.Book),
+            Item(ItemType.Bottle),
+            Item(ItemType.Somaria),
+            Item(ItemType.Byrna),
+            Item(ItemType.Cape),
+            Item(ItemType.Mirror),
+            Item(ItemType.Boots),
+            Item(ItemType.ProgressiveGlove),
+            Item(ItemType.ProgressiveGlove),
+            Item(ItemType.Flippers),
+            Item(ItemType.MoonPearl),
+            Item(ItemType.HalfMagic),
+
+            Item(ItemType.Grapple),
+            Item(ItemType.Charge),
+            Item(ItemType.Ice),
+            Item(ItemType.Wave),
+            Item(ItemType.Plasma),
+            Item(ItemType.Varia),
+            Item(ItemType.Gravity),
+            Item(ItemType.Morph),
+            Item(ItemType.Bombs),
+            Item(ItemType.SpringBall),
+            Item(ItemType.ScrewAttack),
+            Item(ItemType.HiJump),
+            Item(ItemType.SpaceJump),
+            Item(ItemType.SpeedBooster),
+
+            Item(ItemType.Missile),
+            Item(ItemType.Super),
+            Item(ItemType.PowerBomb),
+            Item(ItemType.PowerBomb),
+            Item(ItemType.ETank),
+            Item(ItemType.ETank),
+            Item(ItemType.ETank),
+            Item(ItemType.ETank),
+            Item(ItemType.ETank),
+
+            Item(ItemType.ReserveTank),
+            Item(ItemType.ReserveTank),
+            Item(ItemType.ReserveTank),
+            Item(ItemType.ReserveTank),
+        ]
+
+        for item in itemPool:
+            item.Progression = True
+            item.World = world
+        return itemPool
+
+    @staticmethod
+    def CreateNicePool(world):
+        itemPool = [
+            Item(ItemType.ProgressiveTunic),
+            Item(ItemType.ProgressiveTunic),
+            Item(ItemType.ProgressiveSword),
+            Item(ItemType.ProgressiveSword),
+            Item(ItemType.SilverArrows),
+            Item(ItemType.BlueBoomerang),
+            Item(ItemType.RedBoomerang),
+            Item(ItemType.Bottle),
+            Item(ItemType.Bottle),
+            Item(ItemType.Bottle),
+            Item(ItemType.HeartContainerRefill),
+
+            Item(ItemType.Spazer),
+            Item(ItemType.XRay),
+        ]
+
+        Item.AddRange(itemPool, 10, Item(ItemType.HeartContainer, world))
+
+        for item in itemPool:
+            item.World = world
+        return itemPool
+
+    @staticmethod
+    def CreateJunkPool(world):
+        itemPool = [
+            Item(ItemType.Arrow),
+            Item(ItemType.OneHundredRupees)
+        ]
+
+        Item.AddRange(itemPool, 24, Item(ItemType.HeartPiece))
+        Item.AddRange(itemPool, 8, Item(ItemType.TenArrows))
+        Item.AddRange(itemPool, 13, Item(ItemType.ThreeBombs))
+        Item.AddRange(itemPool, 4, Item(ItemType.ArrowUpgrade5))
+        Item.AddRange(itemPool, 4, Item(ItemType.BombUpgrade5))
+        Item.AddRange(itemPool, 2, Item(ItemType.OneRupee))
+        Item.AddRange(itemPool, 4, Item(ItemType.FiveRupees))
+        Item.AddRange(itemPool, 25 if world.Config.Keysanity else 28, Item(ItemType.TwentyRupees))
+        Item.AddRange(itemPool, 7, Item(ItemType.FiftyRupees))
+        Item.AddRange(itemPool, 5, Item(ItemType.ThreeHundredRupees))
+
+        Item.AddRange(itemPool, 9, Item(ItemType.ETank))
+        Item.AddRange(itemPool, 39, Item(ItemType.Missile))
+        Item.AddRange(itemPool, 15, Item(ItemType.Super))
+        Item.AddRange(itemPool, 8, Item(ItemType.PowerBomb))
+
+        for item in itemPool:
+            item.World = world
+
+        return itemPool
+
+    # The order of the dungeon pool is significant
+    @staticmethod
+    def CreateDungeonPool(world):
+        itemPool = [Item(ItemType.BigKeyGT)]
+        Item.AddRange(itemPool, 4, Item(ItemType.KeyGT))
+        if (not world.Config.Keysanity):
+            itemPool += [
+                Item(ItemType.MapGT),
+                Item(ItemType.CompassGT),
+                ]
+        itemPool += [
+            Item(ItemType.BigKeyEP),
+            Item(ItemType.BigKeyDP),
+            Item(ItemType.BigKeyTH),
+            Item(ItemType.BigKeyPD),
+            Item(ItemType.BigKeySP),
+            Item(ItemType.BigKeySW),
+            Item(ItemType.BigKeyTT),
+            Item(ItemType.BigKeyIP),
+            Item(ItemType.BigKeyMM),
+            Item(ItemType.BigKeyTR),
+        ]
+
+        Item.AddRange(itemPool, 1, Item(ItemType.KeyHC))
+        Item.AddRange(itemPool, 2, Item(ItemType.KeyCT))
+        Item.AddRange(itemPool, 1, Item(ItemType.KeyDP))
+        Item.AddRange(itemPool, 1, Item(ItemType.KeyTH))
+        Item.AddRange(itemPool, 6, Item(ItemType.KeyPD))
+        Item.AddRange(itemPool, 1, Item(ItemType.KeySP))
+        Item.AddRange(itemPool, 3, Item(ItemType.KeySW))
+        Item.AddRange(itemPool, 1, Item(ItemType.KeyTT))
+        Item.AddRange(itemPool, 2, Item(ItemType.KeyIP))
+        Item.AddRange(itemPool, 3, Item(ItemType.KeyMM))
+        Item.AddRange(itemPool, 4, Item(ItemType.KeyTR))
+
+        itemPool += [
+            Item(ItemType.MapEP),
+            Item(ItemType.MapDP),
+            Item(ItemType.MapTH),
+            Item(ItemType.MapPD),
+            Item(ItemType.MapSP),
+            Item(ItemType.MapSW),
+            Item(ItemType.MapTT),
+            Item(ItemType.MapIP),
+            Item(ItemType.MapMM),
+            Item(ItemType.MapTR),
+        ]
+        if (not world.Config.Keysanity):
+            itemPool += [
+                Item(ItemType.MapHC),
+                Item(ItemType.CompassEP),
+                Item(ItemType.CompassDP),
+                Item(ItemType.CompassTH),
+                Item(ItemType.CompassPD),
+                Item(ItemType.CompassSP),
+                Item(ItemType.CompassSW),
+                Item(ItemType.CompassTT),
+                Item(ItemType.CompassIP),
+                Item(ItemType.CompassMM),
+                Item(ItemType.CompassTR),
+            ]
+
+        for item in itemPool:
+            item.World = world
+
+        return itemPool
+
+    @staticmethod
+    def CreateKeycards(world):
+        itemPool =  [
+            Item(ItemType.CardCrateriaL1, world),
+            Item(ItemType.CardCrateriaL2, world),
+            Item(ItemType.CardCrateriaBoss, world),
+            Item(ItemType.CardBrinstarL1, world),
+            Item(ItemType.CardBrinstarL2, world),
+            Item(ItemType.CardBrinstarBoss, world),
+            Item(ItemType.CardNorfairL1, world),
+            Item(ItemType.CardNorfairL2, world),
+            Item(ItemType.CardNorfairBoss, world),
+            Item(ItemType.CardMaridiaL1, world),
+            Item(ItemType.CardMaridiaL2, world),
+            Item(ItemType.CardMaridiaBoss, world),
+            Item(ItemType.CardWreckedShipL1, world),
+            Item(ItemType.CardWreckedShipBoss, world),
+            Item(ItemType.CardLowerNorfairL1, world),
+            Item(ItemType.CardLowerNorfairBoss, world),
+        ]
+
+        for item in itemPool:
+            item.Progression = True
+            item.World = world
+
+        return itemPool
+
+    @staticmethod
+    def Get(items, itemType:ItemType):
+        item = next((i for i in items if i.Type == itemType), None)
+        if (item == None):
+            raise Exception(f"Could not find an item of type {itemType}")
+        return item
+
+    @staticmethod
+    def Get(items, itemType:ItemType, world):
+        item = next((i for i in items if i.Is(itemType, world)), None)
+        if (item == None):
+            raise Exception(f"Could not find an item of type {itemType} in world {world.Id}")
+        return item
+
+class Progression:
+    BigKeyEP: bool
+    BigKeyDP: bool
+    BigKeyTH: bool
+    BigKeyPD: bool
+    BigKeySP: bool
+    BigKeySW: bool
+    BigKeyTT: bool
+    BigKeyIP: bool
+    BigKeyMM: bool
+    BigKeyTR: bool
+    BigKeyGT: bool
+    KeyHC: bool
+    KeyDP: bool
+    KeyTH: bool
+    KeySP: bool
+    KeyTT: bool
+    KeyCT: bool
+    KeyPD: bool
+    KeySW: bool
+    KeyIP: bool
+    KeyMM: bool
+    KeyTR: bool
+    KeyGT: bool
+    CardCrateriaL1: bool
+    CardCrateriaL2: bool
+    CardCrateriaBoss: bool
+    CardBrinstarL1: bool
+    CardBrinstarL2: bool
+    CardBrinstarBoss: bool
+    CardNorfairL1: bool
+    CardNorfairL2: bool
+    CardNorfairBoss: bool
+    CardMaridiaL1: bool
+    CardMaridiaL2: bool
+    CardMaridiaBoss: bool
+    CardWreckedShipL1: bool
+    CardWreckedShipBoss: bool
+    CardLowerNorfairL1: bool
+    CardLowerNorfairBoss: bool
+    def CanBlockLasers(self): return self.shield >= 3
+    Sword: bool
+    MasterSword: bool
+    Bow: bool
+    Hookshot: bool
+    Mushroom: bool
+    Powder: bool
+    Firerod: bool
+    Icerod: bool
+    Bombos: bool
+    Ether: bool
+    Quake: bool
+    Lamp: bool
+    Hammer: bool
+    Shovel: bool
+    Flute: bool
+    Book: bool
+    Bottle: bool
+    Somaria: bool
+    Byrna: bool
+    Cape: bool
+    Mirror: bool
+    Boots: bool
+    Glove: bool
+    Mitt: bool
+    Flippers: bool
+    MoonPearl: bool
+    HalfMagic: bool
+    Grapple: bool
+    Charge: bool
+    Ice: bool
+    Wave: bool
+    Plasma: bool
+    Varia: bool
+    Gravity: bool
+    Morph: bool
+    Bombs: bool
+    SpringBall: bool
+    ScrewAttack: bool
+    HiJump: bool
+    SpaceJump: bool
+    SpeedBooster: bool
+    Missile: bool
+    Super: bool
+    PowerBomb: bool
+    TwoPowerBombs: bool
+    ETank: int
+    ReserveTank: int
+
+    shield: int
+
+    itemMapping = [
+        ItemType.BigKeyEP,
+        ItemType.BigKeyDP,
+        ItemType.BigKeyTH,
+        ItemType.BigKeyPD,
+        ItemType.BigKeySP,
+        ItemType.BigKeySW,
+        ItemType.BigKeyTT,
+        ItemType.BigKeyIP,
+        ItemType.BigKeyMM,
+        ItemType.BigKeyTR,
+        ItemType.BigKeyGT,
+        ItemType.KeyHC,
+        ItemType.KeyDP,
+        ItemType.KeyTH,
+        ItemType.KeySP,
+        ItemType.KeyTT,
+        ItemType.CardCrateriaL1,
+        ItemType.CardCrateriaL2,
+        ItemType.CardCrateriaBoss,
+        ItemType.CardBrinstarL1,
+        ItemType.CardBrinstarL2,
+        ItemType.CardBrinstarBoss,
+        ItemType.CardNorfairL1,
+        ItemType.CardNorfairL2,
+        ItemType.CardNorfairBoss,
+        ItemType.CardMaridiaL1,
+        ItemType.CardMaridiaL2,
+        ItemType.CardMaridiaBoss,
+        ItemType.CardWreckedShipL1,
+        ItemType.CardWreckedShipBoss,
+        ItemType.CardLowerNorfairL1,
+        ItemType.CardLowerNorfairBoss,
+        ItemType.Bow,
+        ItemType.Hookshot,
+        ItemType.Mushroom,
+        ItemType.Powder,
+        ItemType.Firerod,
+        ItemType.Icerod,
+        ItemType.Bombos,
+        ItemType.Ether,
+        ItemType.Quake,
+        ItemType.Lamp,
+        ItemType.Hammer,
+        ItemType.Shovel,
+        ItemType.Flute,
+        ItemType.Book,
+        ItemType.Bottle,
+        ItemType.Somaria,
+        ItemType.Byrna,
+        ItemType.Cape,
+        ItemType.Mirror,
+        ItemType.Boots,
+        ItemType.Flippers,
+        ItemType.MoonPearl,
+        ItemType.HalfMagic,
+        ItemType.Grapple,
+        ItemType.Charge,
+        ItemType.Ice,
+        ItemType.Wave,
+        ItemType.Plasma,
+        ItemType.Varia,
+        ItemType.Gravity,
+        ItemType.Morph,
+        ItemType.Bombs,
+        ItemType.SpringBall,
+        ItemType.ScrewAttack,
+        ItemType.HiJump,
+        ItemType.SpaceJump,
+        ItemType.SpeedBooster,
+        ItemType.Missile,
+        ItemType.Super,
+    ]
+
+    def __init__(self, items):
+        for item in Progression.itemMapping:
+            setattr(self, item.name, False)
+        self.KeyCT = 0
+        self.KeyPD = 0
+        self.KeySW = 0
+        self.KeyIP = 0
+        self.KeyMM = 0
+        self.KeyTR = 0
+        self.KeyGT = 0
+        self.ETank = 0
+        self.ReserveTank = 0
+        self.shield = 0
+        self.MasterSword = False
+        self.Sword = False
+        self.Mitt = False
+        self.Glove = False
+        self.TwoPowerBombs = False
+        self.PowerBomb = False
+        self.Add(items)
+
+    def Add(self, items:List[Item]):
+        for item in items:
+            found = item.Type in Progression.itemMapping
+            if found:
+                setattr(self, item.Type.name, True)
+                continue
+
+            if (item.Type == ItemType.KeyCT):
+                self.KeyCT += 1
+            elif (item.Type == ItemType.KeyPD):
+                self.KeyPD += 1
+            elif (item.Type == ItemType.KeySW):
+                self.KeySW += 1
+            elif (item.Type == ItemType.KeyIP):
+                self.KeyIP += 1
+            elif (item.Type == ItemType.KeyMM):
+                self.KeyMM += 1
+            elif (item.Type == ItemType.KeyTR):
+                self.KeyTR += 1
+            elif (item.Type == ItemType.KeyGT):
+                self.KeyGT += 1
+            elif (item.Type == ItemType.ETank):
+                self.ETank += 1
+            elif (item.Type == ItemType.ReserveTank):
+                self.ReserveTank += 1
+            elif (item.Type == ItemType.KeyPD):
+                self.shield += 1
+            elif (item.Type == ItemType.ProgressiveSword):
+                self.MasterSword = self.Sword
+                self.Sword = True
+            elif (item.Type == ItemType.ProgressiveGlove):
+                self.Mitt = self.Glove
+                self.Glove = True
+            elif (item.Type == ItemType.PowerBomb):
+                self.TwoPowerBombs = self.PowerBomb
+                self.PowerBomb = True     
+
+    def Remove(self, items:List[Item]):
+        for item in items:
+            found = item.Type in Progression.itemMapping
+            if found:
+                setattr(self, item.Type.name, False)
+                continue
+
+            if (item.Type == ItemType.KeyCT):
+                self.KeyCT -= 1
+            elif (item.Type == ItemType.KeyPD):
+                self.KeyPD -= 1
+            elif (item.Type == ItemType.KeySW):
+                self.KeySW -= 1
+            elif (item.Type == ItemType.KeyIP):
+                self.KeyIP -= 1
+            elif (item.Type == ItemType.KeyMM):
+                self.KeyMM -= 1
+            elif (item.Type == ItemType.KeyTR):
+                self.KeyTR -= 1
+            elif (item.Type == ItemType.KeyGT):
+                self.KeyGT -= 1
+            elif (item.Type == ItemType.ETank):
+                self.ETank -= 1
+            elif (item.Type == ItemType.ReserveTank):
+                self.ReserveTank -= 1
+            elif (item.Type == ItemType.KeyPD):
+                self.shield -= 1
+            elif (item.Type == ItemType.ProgressiveSword):
+                self.Sword = self.MasterSword
+                self.MasterSword = False
+            elif (item.Type == ItemType.ProgressiveGlove):
+                self.Glove = self.Mitt
+                self.Mitt = False
+            elif (item.Type == ItemType.PowerBomb):
+                self.PowerBomb = self.TwoPowerBombs
+                self.TwoPowerBombs = False           
+
+    def CanLiftLight(self): return self.Glove
+
+    def CanLiftHeavy(self): return self.Mitt
+
+    def CanLightTorches(self): return self.Firerod or self.Lamp
+
+    def CanMeltFreezors(self): return self.Firerod or self.Bombos and self.Sword
+
+    def CanExtendMagic(self, bars:int = 2): return (2 if self.HalfMagic else 1) * (2 if self.Bottle else 1) >= bars
+
+    def CanKillManyEnemies(self):
+        return self.Sword or self.Hammer or self.Bow or self.Firerod or \
+                self.Somaria or self.Byrna and self.CanExtendMagic()
+
+    def CanAccessDeathMountainPortal(self):
+        return (self.CanDestroyBombWalls() or self.SpeedBooster) and self.Super and self.Morph
+        
+
+    def CanAccessDarkWorldPortal(self, config: Config):
+        if (config.SMLogic == SMLogic.Normal):
+            return self.CardMaridiaL1 and self.CardMaridiaL2 and self.CanUsePowerBombs() and self.Super and self.Gravity and self.SpeedBooster
+        else:
+            return self.CardMaridiaL1 and self.CardMaridiaL2 and self.CanUsePowerBombs() and self.Super and \
+                (self.Charge or self.Super and self.Missile) and \
+                (self.Gravity or self.HiJump and self.Ice and self.Grapple) and \
+                (self.Ice or self.Gravity and self.SpeedBooster)
+
+
+    def CanAccessMiseryMirePortal(self, config: Config):
+        if (config.SMLogic == SMLogic.Normal):
+            return (self.CardNorfairL2 or (self.SpeedBooster and self.Wave)) and self.Varia and self.Super and (self.Gravity and self.SpaceJump) and self.CanUsePowerBombs()
+        else:
+            return (self.CardNorfairL2 or self.SpeedBooster) and self.Varia and self.Super and \
+                    (self.CanFly() or self.HiJump or self.SpeedBooster or self.CanSpringBallJump() or self.Ice) \
+                    and (self.Gravity or self.HiJump) and self.CanUsePowerBombs() 
+
+    def CanIbj(self):
+            return self.Morph and self.Bombs
+
+    def CanFly(self):
+            return self.SpaceJump or self.CanIbj()
+
+    def CanUsePowerBombs(self):
+            return self.Morph and self.PowerBomb
+
+    def CanPassBombPassages(self):
+            return self.Morph and (self.Bombs or self.PowerBomb)
+
+    def CanDestroyBombWalls(self):
+            return self.CanPassBombPassages() or self.ScrewAttack
+
+    def CanSpringBallJump(self):
+            return self.Morph and self.SpringBall
+
+    def CanHellRun(self):
+            return self.Varia or self.HasEnergyReserves(5)
+
+    def HasEnergyReserves(self, amount: int):
+            return (self.ETank + self.ReserveTank) >= amount
+
+    def CanOpenRedDoors(self):
+            return self.Missile or self.Super
+
+    def CanAccessNorfairUpperPortal(self):
+            return self.Flute or self.CanLiftLight() and self.Lamp
+
+    def CanAccessNorfairLowerPortal(self):
+            return self.Flute and self.CanLiftHeavy()
+
+    def CanAccessMaridiaPortal(self, world):
+        import worlds.smz3.TotalSMZ3.Region
+        if (world.Config.SMLogic == SMLogic.Normal):
+            return self.MoonPearl and self.Flippers and \
+                    self.Gravity and self.Morph and \
+                    (world.CanAquire(self, worlds.smz3.TotalSMZ3.Region.RewardType.Agahnim) or self.Hammer and self.CanLiftLight() or self.CanLiftHeavy())
+        else:
+            return self.MoonPearl and self.Flippers and \
+                    (self.CanSpringBallJump() or self.HiJump or self.Gravity) and self.Morph and \
+                    (world.CanAquire(self, worlds.smz3.TotalSMZ3.Region.RewardType.Agahnim) or self.Hammer and self.CanLiftLight() or self.CanLiftHeavy())
+
+# Start of AP integration
+items_start_id = 84000
+
+lookup_id_to_name = { items_start_id + enum.value : enum.name for enum in ItemType }
+lookup_name_to_id = { item_name : item_id for item_id, item_name in lookup_id_to_name.items() }
\ No newline at end of file
diff --git a/worlds/smz3/TotalSMZ3/Location.py b/worlds/smz3/TotalSMZ3/Location.py
new file mode 100644
index 00000000..377d1a33
--- /dev/null
+++ b/worlds/smz3/TotalSMZ3/Location.py
@@ -0,0 +1,112 @@
+from enum import Enum
+from typing import List, Callable
+from worlds.smz3.TotalSMZ3.Item import Progression
+import worlds.smz3.TotalSMZ3.Region as Region
+import worlds.smz3.TotalSMZ3.World as World
+
+class LocationType(Enum):
+    Regular = 0
+    HeraStandingKey = 1
+    Pedestal = 2
+    Ether = 3
+    Bombos = 4
+    NotInDungeon = 5
+
+    Visible = 6
+    Chozo = 7
+    Hidden = 8
+
+# delegate bool Requirement(Progression items);
+# delegate bool Verification(Item item, Progression items);
+
+class Location:
+    Id: int
+    Name: str
+    Type: LocationType
+    Address: int
+    Region: Region
+
+    def Weight(self): return self.weight if self.weight != None else self.Region.Weight
+
+    canAccess: Callable = lambda items: True
+    alwaysAllow: Callable = lambda item, items: True
+    allow: Callable = lambda item, items: True
+    weight: int
+
+    def ItemIs(self, type, world: World): 
+        item = self.APLocation.item.item if self.APLocation.item is not None and self.APLocation.item.game == "SMZ3" else None
+        return item.Is(type, world) if item != None else False
+    def ItemIsNot(self, type, world: World): return not self.ItemIs(type, world)
+
+    def __init__(self, region: Region, id: int, address: int, type: LocationType, name: str, access: Callable = lambda items : True):
+        self.Region = region
+        self.Id = id
+        self.Name = name
+        self.Type = type
+        self.Item = None
+        self.Address = address
+        self.canAccess = access
+        self.alwaysAllow = lambda item, items: False
+        self.allow = lambda item, items: True
+
+    def Weighted(self, weight: int):
+        self.weight = weight
+        return self
+
+    def AlwaysAllow(self, allow: Callable):
+        self.alwaysAllow = allow
+        return self
+
+    def Allow(self, allow: Callable):
+        self.allow = allow
+        return self
+
+    def Available(self, items: Progression):
+        return self.Region.CanEnter(items) and self.canAccess(items)
+
+    def CanFill(self, item, items: Progression):
+        oldItem = self.Item
+        self.Item = item
+        fillable = self.alwaysAllow(item, items) or (self.Region.CanFill(item) and self.allow(item, items) and self.Available(items))
+        self.Item = oldItem
+        return fillable
+
+    @staticmethod
+    def Get(locations, name: str):
+        loc = next((l for l in locations if l.Name == name), None)
+        if (loc == None):
+            raise Exception(f"Could not find location name {name}")
+        return loc
+
+    @staticmethod
+    def Empty(locations):
+        return [l for l in locations if l.Item == None]
+
+    @staticmethod
+    def Filled(locations):
+        return [l for l in locations if l.Item != None]
+
+    @staticmethod
+    def AvailableWithinWorld(locations, items):
+        result = []
+        worldList = []
+        [worldList.append(l.Region.World) for l in locations if l.Region.World not in worldList]
+        for world in worldList:
+            result += Location.AvailableGlobal([l for l in locations if l.Region.World == world], [i for i in items if i.World == world])
+        return result  
+
+    @staticmethod
+    def AvailableGlobal(locations, items):
+        progression = Progression(items)
+        return [l for l in locations if l.Available(progression)]
+
+    @staticmethod
+    def CanFillWithinWorld(locations, item, items):
+        itemWorldProgression = Progression([i for i in items if i.World == item.World].append(item))
+        worldList = []
+        [worldList.append(l.Region.World) for l in locations if l.Region.World not in worldList]
+        worldProgression = {world.Id : Progression([i for i in items if i.World == world]) for world in worldList}
+        return [l for l in locations if l.CanFill(item, worldProgression[l.Region.World.Id] and next(ll for ll in item.World.Locations if ll.Id == l.Id).Available(itemWorldProgression))]
+
+# Start of AP integration
+locations_start_id = 85000
\ No newline at end of file
diff --git a/worlds/smz3/TotalSMZ3/Patch.py b/worlds/smz3/TotalSMZ3/Patch.py
new file mode 100644
index 00000000..f54a9d07
--- /dev/null
+++ b/worlds/smz3/TotalSMZ3/Patch.py
@@ -0,0 +1,809 @@
+from enum import Enum
+from logging import exception
+from typing import Any, Callable, List, Sequence
+import random
+import typing
+from BaseClasses import Location
+from worlds.smz3.TotalSMZ3.Item import Item, ItemType
+from worlds.smz3.TotalSMZ3.Location import LocationType
+from worlds.smz3.TotalSMZ3.Region import IMedallionAccess, IReward, RewardType, SMRegion, Z3Region
+from worlds.smz3.TotalSMZ3.Regions.Zelda.EasternPalace import EasternPalace
+from worlds.smz3.TotalSMZ3.Regions.Zelda.DesertPalace import DesertPalace
+from worlds.smz3.TotalSMZ3.Regions.Zelda.TowerOfHera import TowerOfHera
+from worlds.smz3.TotalSMZ3.Regions.Zelda.PalaceOfDarkness import PalaceOfDarkness
+from worlds.smz3.TotalSMZ3.Regions.Zelda.SwampPalace import SwampPalace
+from worlds.smz3.TotalSMZ3.Regions.Zelda.SkullWoods import SkullWoods
+from worlds.smz3.TotalSMZ3.Regions.Zelda.ThievesTown import ThievesTown
+from worlds.smz3.TotalSMZ3.Regions.Zelda.IcePalace import IcePalace
+from worlds.smz3.TotalSMZ3.Regions.Zelda.MiseryMire import MiseryMire
+from worlds.smz3.TotalSMZ3.Regions.Zelda.TurtleRock import TurtleRock
+from worlds.smz3.TotalSMZ3.Regions.Zelda.GanonsTower import GanonsTower
+from worlds.smz3.TotalSMZ3.Text.StringTable import StringTable
+
+from worlds.smz3.TotalSMZ3.World import World
+from worlds.smz3.TotalSMZ3.Config import Config, GameMode, GanonInvincible
+from worlds.smz3.TotalSMZ3.Text.Texts import Texts
+from worlds.smz3.TotalSMZ3.Text.Dialog import Dialog
+
+class KeycardPlaque:
+    Level1 = 0xe0
+    Level2 = 0xe1
+    Boss = 0xe2
+    Null = 0x00  
+
+class KeycardDoors:
+    Left = 0xd414
+    Right = 0xd41a
+    Up = 0xd420
+    Down = 0xd426
+    BossLeft = 0xc842
+    BossRight = 0xc848
+
+
+class KeycardEvents:
+    CrateriaLevel1 = 0x0000
+    CrateriaLevel2 = 0x0100
+    CrateriaBoss = 0x0200
+    BrinstarLevel1 = 0x0300
+    BrinstarLevel2 = 0x0400
+    BrinstarBoss = 0x0500
+    NorfairLevel1 = 0x0600
+    NorfairLevel2 = 0x0700
+    NorfairBoss = 0x0800
+    MaridiaLevel1 = 0x0900
+    MaridiaLevel2 = 0x0a00
+    MaridiaBoss = 0x0b00
+    WreckedShipLevel1 = 0x0c00
+    WreckedShipBoss = 0x0d00
+    LowerNorfairLevel1 = 0x0e00
+    LowerNorfairBoss = 0x0f00
+
+class DropPrize(Enum):
+    Heart = 0xD8
+    Green = 0xD9
+    Blue = 0xDA
+    Red = 0xDB
+    Bomb1 = 0xDC
+    Bomb4 = 0xDD
+    Bomb8 = 0xDE
+    Magic = 0xDF
+    FullMagic = 0xE0
+    Arrow5 = 0xE1
+    Arrow10 = 0xE2
+    Fairy = 0xE3
+
+class Patch:
+    Major = 0
+    Minor = 1
+    allWorlds: List[World]
+    myWorld: World
+    seedGuid: str
+    seed: int
+    rnd: random.Random
+    patches: Sequence[Any]
+    stringTable: StringTable
+    silversWorldID: int
+
+    def __init__(self, myWorld: World, allWorlds: List[World], seedGuid: str, seed: int, rnd: random.Random, playerNames: List[str], silversWorldID: int):
+        self.myWorld = myWorld
+        self.allWorlds = allWorlds
+        self.seedGuid = seedGuid
+        self.seed = seed
+        self.rnd = rnd
+        self.playerNames = playerNames
+        self.playerIDToNames = {id:name for name, id in playerNames.items()}
+        self.silversWorldID = silversWorldID
+
+    def Create(self, config: Config):
+        self.stringTable = StringTable()
+        self.patches = []
+        self.title = ""
+
+        self.WriteMedallions()
+        self.WriteRewards()
+        self.WriteDungeonMusic(config.Keysanity)
+
+        self.WriteDiggingGameRng()
+
+        self.WritePrizeShuffle()
+
+        self.WriteRemoveEquipmentFromUncle( self.myWorld.GetLocation("Link's Uncle").APLocation.item.item if 
+                                            self.myWorld.GetLocation("Link's Uncle").APLocation.item.game == "SMZ3" else
+                                            Item(ItemType.Something))
+
+        self.WriteGanonInvicible(config.GanonInvincible)
+        self.WriteRngBlock()
+
+        self.WriteSaveAndQuitFromBossRoom()
+        self.WriteWorldOnAgahnimDeath()
+
+        self.WriteTexts(config)
+
+        self.WriteSMLocations([loc for region in self.myWorld.Regions for loc in region.Locations if isinstance(region, SMRegion)])
+        self.WriteZ3Locations([loc for region in self.myWorld.Regions for loc in region.Locations if isinstance(region, Z3Region)])
+
+        self.WriteStringTable()
+
+        self.WriteSMKeyCardDoors()
+        self.WriteZ3KeysanityFlags()
+
+        self.WritePlayerNames()
+        self.WriteSeedData()
+        self.WriteGameTitle()
+        self.WriteCommonFlags()
+
+        return {patch[0]:patch[1] for patch in self.patches}
+    
+    def WriteMedallions(self):
+        turtleRock = next(region for region in self.myWorld.Regions if isinstance(region, TurtleRock))
+        miseryMire = next(region for region in self.myWorld.Regions if isinstance(region, MiseryMire))
+
+        turtleRockAddresses = [0x308023, 0xD020, 0xD0FF, 0xD1DE ]
+        miseryMireAddresses = [ 0x308022, 0xCFF2, 0xD0D1, 0xD1B0 ]
+
+        if turtleRock.Medallion == ItemType.Bombos:
+            turtleRockValues = [0x00, 0x51, 0x10, 0x00]
+        elif turtleRock.Medallion == ItemType.Ether:
+            turtleRockValues = [0x01, 0x51, 0x18, 0x00]
+        elif turtleRock.Medallion == ItemType.Quake:
+            turtleRockValues = [0x02, 0x14, 0xEF, 0xC4]
+        else:
+            raise exception(f"Tried using {turtleRock.Medallion} in place of Turtle Rock medallion")
+
+        if miseryMire.Medallion == ItemType.Bombos:
+            miseryMireValues = [0x00, 0x51, 0x00, 0x00]
+        elif miseryMire.Medallion == ItemType.Ether:
+            miseryMireValues = [0x01, 0x13, 0x9F, 0xF1]
+        elif miseryMire.Medallion == ItemType.Quake:
+            miseryMireValues = [0x02, 0x51, 0x08, 0x00]
+        else:
+            raise exception(f"Tried using {miseryMire.Medallion} in place of Misery Mire medallion")
+
+        self.patches += [(Snes(addr), [value]) for addr, value in zip(turtleRockAddresses, turtleRockValues)]
+        self.patches += [(Snes(addr), [value]) for addr, value in zip(miseryMireAddresses, miseryMireValues)]
+
+    def WriteRewards(self):
+        crystalsBlue = [ 1, 2, 3, 4, 7 ]
+        self.rnd.shuffle(crystalsBlue)
+        crystalsRed = [ 5, 6 ]
+        self.rnd.shuffle(crystalsRed)
+        crystalRewards = crystalsBlue + crystalsRed
+
+        pendantsGreen = [ 1 ]
+        pendantsBlueRed = [ 2, 3 ]
+        self.rnd.shuffle(pendantsBlueRed)
+        pendantRewards = pendantsGreen + pendantsBlueRed
+
+        regions = [region for region in self.myWorld.Regions if isinstance(region, IReward)]
+        crystalRegions = [region for region in regions if region.Reward == RewardType.CrystalBlue] +  [region for region in regions if region.Reward == RewardType.CrystalRed]
+        pendantRegions = [region for region in regions if region.Reward == RewardType.PendantGreen] +  [region for region in regions if region.Reward == RewardType.PendantNonGreen]
+
+        self.patches += self.RewardPatches(crystalRegions, crystalRewards, self.CrystalValues)
+        self.patches += self.RewardPatches(pendantRegions, pendantRewards, self.PendantValues)
+
+    def RewardPatches(self, regions: List[IReward], rewards: List[int], rewardValues: Callable):
+        addresses = [self.RewardAddresses(region) for region in regions]
+        values = [rewardValues(reward) for reward in rewards]
+        associations = zip(addresses, values)
+        return [(Snes(i), [b]) for association in associations for i,b in zip(association[0], association[1])]
+
+    def RewardAddresses(self, region: IReward):
+        regionType = {
+                    EasternPalace : [ 0x2A09D, 0xABEF8, 0xABEF9, 0x308052, 0x30807C, 0x1C6FE ],
+                    DesertPalace : [ 0x2A09E, 0xABF1C, 0xABF1D, 0x308053, 0x308078, 0x1C6FF ],
+                    TowerOfHera : [ 0x2A0A5, 0xABF0A, 0xABF0B, 0x30805A, 0x30807A, 0x1C706 ],
+                    PalaceOfDarkness : [ 0x2A0A1, 0xABF00, 0xABF01, 0x308056, 0x30807D, 0x1C702 ],
+                    SwampPalace : [ 0x2A0A0, 0xABF6C, 0xABF6D, 0x308055, 0x308071, 0x1C701 ],
+                    SkullWoods : [ 0x2A0A3, 0xABF12, 0xABF13, 0x308058, 0x30807B, 0x1C704 ],
+                    ThievesTown : [ 0x2A0A6, 0xABF36, 0xABF37, 0x30805B, 0x308077, 0x1C707 ],
+                    IcePalace : [ 0x2A0A4, 0xABF5A, 0xABF5B, 0x308059, 0x308073, 0x1C705 ],
+                    MiseryMire : [ 0x2A0A2, 0xABF48, 0xABF49, 0x308057, 0x308075, 0x1C703 ],
+                    TurtleRock : [ 0x2A0A7, 0xABF24, 0xABF25, 0x30805C, 0x308079, 0x1C708 ]
+                    }
+        result = regionType.get(type(region), None)
+        if result is None:
+            raise exception(f"Region {region} should not be a dungeon reward region")
+        else:
+            return result
+
+    def CrystalValues(self, crystal: int):
+        crystalMap = {
+                1 : [ 0x02, 0x34, 0x64, 0x40, 0x7F, 0x06 ],
+                2 : [ 0x10, 0x34, 0x64, 0x40, 0x79, 0x06 ],
+                3 : [ 0x40, 0x34, 0x64, 0x40, 0x6C, 0x06 ],
+                4 : [ 0x20, 0x34, 0x64, 0x40, 0x6D, 0x06 ],
+                5 : [ 0x04, 0x32, 0x64, 0x40, 0x6E, 0x06 ],
+                6 : [ 0x01, 0x32, 0x64, 0x40, 0x6F, 0x06 ],
+                7 : [ 0x08, 0x34, 0x64, 0x40, 0x7C, 0x06 ],
+                }
+        result = crystalMap.get(crystal, None)
+        if result is None:
+            raise exception(f"Tried using {crystal} as a crystal number")
+        else:
+            return result
+
+    def PendantValues(self, pendant: int):
+        pendantMap = {
+                    1 : [ 0x04, 0x38, 0x62, 0x00, 0x69, 0x01 ],
+                    2 : [ 0x01, 0x32, 0x60, 0x00, 0x69, 0x03 ],
+                    3 : [ 0x02, 0x34, 0x60, 0x00, 0x69, 0x02 ],
+                    }
+        result = pendantMap.get(pendant, None)
+        if result is None:
+            raise exception(f"Tried using {pendant} as a pendant number")
+        else:
+            return result
+    
+    def WriteSMLocations(self, locations: List[Location]):
+        def GetSMItemPLM(location:Location):
+            itemMap = {
+                    ItemType.ETank : 0xEED7,
+                    ItemType.Missile : 0xEEDB,
+                    ItemType.Super : 0xEEDF,
+                    ItemType.PowerBomb : 0xEEE3,
+                    ItemType.Bombs : 0xEEE7,
+                    ItemType.Charge : 0xEEEB,
+                    ItemType.Ice : 0xEEEF,
+                    ItemType.HiJump : 0xEEF3,
+                    ItemType.SpeedBooster : 0xEEF7,
+                    ItemType.Wave : 0xEEFB,
+                    ItemType.Spazer : 0xEEFF,
+                    ItemType.SpringBall : 0xEF03,
+                    ItemType.Varia : 0xEF07,
+                    ItemType.Plasma : 0xEF13,
+                    ItemType.Grapple : 0xEF17,
+                    ItemType.Morph : 0xEF23,
+                    ItemType.ReserveTank : 0xEF27,
+                    ItemType.Gravity : 0xEF0B,
+                    ItemType.XRay : 0xEF0F,
+                    ItemType.SpaceJump : 0xEF1B,
+                    ItemType.ScrewAttack : 0xEF1F
+                    }
+            plmId = 0xEFE0 if self.myWorld.Config.GameMode == GameMode.Multiworld else \
+                                itemMap.get(location.APLocation.item.item.Type, 0xEFE0)
+            if (plmId == 0xEFE0):
+                plmId += 4 if location.Type == LocationType.Chozo else 8 if location.Type == LocationType.Hidden else 0
+            else:
+                plmId += 0x54 if location.Type == LocationType.Chozo else 0xA8 if location.Type == LocationType.Hidden else 0
+            return plmId
+
+        for location in locations:
+            if (self.myWorld.Config.GameMode == GameMode.Multiworld):
+                self.patches.append((Snes(location.Address), getWordArray(GetSMItemPLM(location))))
+                self.patches.append(self.ItemTablePatch(location, self.GetZ3ItemId(location)))
+            else:
+                plmId = GetSMItemPLM(location)
+                self.patches.append((Snes(location.Address), getWordArray(plmId)))
+                if (plmId >= 0xEFE0):
+                    self.patches.append((Snes(location.Address + 5), [self.GetZ3ItemId(location)]))
+
+    def WriteZ3Locations(self, locations: List[Location]):
+        for location in locations:
+            if (location.Type == LocationType.HeraStandingKey):
+                self.patches.append((Snes(0x9E3BB), [0xE4] if location.APLocation.item.game == "SMZ3" and location.APLocation.item.item.Type == ItemType.KeyTH else [0xEB]))
+            elif (location.Type in [LocationType.Pedestal, LocationType.Ether, LocationType.Bombos]):
+                text = Texts.ItemTextbox(location.APLocation.item.item if location.APLocation.item.game == "SMZ3" else Item(ItemType.Something))
+                dialog = Dialog.Simple(text)
+                if (location.Type == LocationType.Pedestal):
+                    self.stringTable.SetPedestalText(text)
+                    self.patches.append((Snes(0x308300), dialog))
+                elif (location.Type == LocationType.Ether):
+                    self.stringTable.SetEtherText(text)
+                    self.patches.append((Snes(0x308F00), dialog))
+                elif (location.Type == LocationType.Bombos):
+                    self.stringTable.SetBombosText(text)
+                    self.patches.append((Snes(0x309000), dialog))
+
+            if (self.myWorld.Config.GameMode == GameMode.Multiworld):
+                self.patches.append((Snes(location.Address), [(location.Id - 256)]))
+                self.patches.append(self.ItemTablePatch(location, self.GetZ3ItemId(location)))
+            else:
+                self.patches.append((Snes(location.Address), [self.GetZ3ItemId(location)]))
+
+    def GetZ3ItemId(self, location: Location):
+        if (location.APLocation.item.game == "SMZ3"):
+            item = location.APLocation.item.item
+            itemDungeon = None
+            if item.IsKey():
+                itemDungeon = ItemType.Key if (not item.World.Config.Keysanity or item.Type != ItemType.KeyHC) else ItemType.KeyHC
+            elif item.IsBigKey(): 
+                itemDungeon = ItemType.BigKey
+            elif item.IsMap():
+                itemDungeon = ItemType.Map if (not item.World.Config.Keysanity or item.Type != ItemType.MapHC) else ItemType.MapHC
+            elif item.IsCompass():
+                itemDungeon = ItemType.Compass
+
+            value = item.Type if location.Type == LocationType.NotInDungeon or \
+                not (item.IsDungeonItem() and location.Region.IsRegionItem(item) and item.World == self.myWorld) else itemDungeon
+            
+            return value.value
+        else:
+            return ItemType.Something.value
+
+    def ItemTablePatch(self, location: Location, itemId: int):
+        itemtype = 0 if location.APLocation.item.player == location.Region.world.Id else 1
+        owner = location.APLocation.item.player
+        return (0x386000 + (location.Id * 8), getWordArray(itemtype) + getWordArray(itemId) + getWordArray(owner))
+
+    def WriteDungeonMusic(self, keysanity: bool):
+        if (not keysanity):
+            regions = [region for region in self.myWorld.Regions if isinstance(region, IReward)]
+            music = []
+            pendantRegions = [region for region in regions if region.Reward in [RewardType.PendantGreen, RewardType.PendantNonGreen]]
+            crystalRegions = [region for region in regions if region.Reward in [RewardType.CrystalBlue, RewardType.CrystalRed]]
+            regions = pendantRegions + crystalRegions
+            music = [
+                        0x11, 0x11, 0x11, 0x16, 0x16,
+                        0x16, 0x16, 0x16, 0x16, 0x16,
+                    ]
+            self.patches += self.MusicPatches(regions, music)
+
+    #IEnumerable<byte> RandomDungeonMusic() {
+    #    while (true) yield return rnd.Next(2) == 0 ? (byte)0x11 : (byte)0x16;
+    #}
+
+    def MusicPatches(self, regions: List[IReward], music: List[int]):
+        addresses = [self.MusicAddresses(region) for region in regions]
+        associations = zip(addresses, music)
+        return [(Snes(i), [association[1]]) for association in associations for i in association[0]]
+
+    def MusicAddresses(self, region: IReward):
+        regionMap = {
+                        EasternPalace : [ 0x2D59A ],
+                        DesertPalace : [ 0x2D59B, 0x2D59C, 0x2D59D, 0x2D59E ],
+                        TowerOfHera : [ 0x2D5C5, 0x2907A, 0x28B8C ],
+                        PalaceOfDarkness : [ 0x2D5B8 ],
+                        SwampPalace : [ 0x2D5B7 ],
+                        SkullWoods : [ 0x2D5BA, 0x2D5BB, 0x2D5BC, 0x2D5BD, 0x2D608, 0x2D609, 0x2D60A, 0x2D60B ],
+                        ThievesTown : [ 0x2D5C6 ],
+                        IcePalace : [ 0x2D5BF ],
+                        MiseryMire : [ 0x2D5B9 ],
+                        TurtleRock : [ 0x2D5C7, 0x2D5A7, 0x2D5AA, 0x2D5AB ],
+                    }
+        result = regionMap.get(type(region), None)
+        if result is None:
+            raise exception(f"Region {region} should not be a dungeon music region")
+        else:
+            return result
+
+    def WritePrizeShuffle(self):
+        prizePackItems = 56
+        treePullItems = 3
+
+        bytes = []
+        drop = 0
+        final = 0
+
+        pool = [
+            DropPrize.Heart, DropPrize.Heart, DropPrize.Heart, DropPrize.Heart, DropPrize.Green, DropPrize.Heart, DropPrize.Heart, DropPrize.Green,         #// pack 1
+            DropPrize.Blue, DropPrize.Green, DropPrize.Blue, DropPrize.Red, DropPrize.Blue, DropPrize.Green, DropPrize.Blue, DropPrize.Blue,                #// pack 2
+            DropPrize.FullMagic, DropPrize.Magic, DropPrize.Magic, DropPrize.Blue, DropPrize.FullMagic, DropPrize.Magic, DropPrize.Heart, DropPrize.Magic,  #// pack 3
+            DropPrize.Bomb1, DropPrize.Bomb1, DropPrize.Bomb1, DropPrize.Bomb4, DropPrize.Bomb1, DropPrize.Bomb1, DropPrize.Bomb8, DropPrize.Bomb1,        #// pack 4
+            DropPrize.Arrow5, DropPrize.Heart, DropPrize.Arrow5, DropPrize.Arrow10, DropPrize.Arrow5, DropPrize.Heart, DropPrize.Arrow5, DropPrize.Arrow10,#// pack 5
+            DropPrize.Magic, DropPrize.Green, DropPrize.Heart, DropPrize.Arrow5, DropPrize.Magic, DropPrize.Bomb1, DropPrize.Green, DropPrize.Heart,       #// pack 6
+            DropPrize.Heart, DropPrize.Fairy, DropPrize.FullMagic, DropPrize.Red, DropPrize.Bomb8, DropPrize.Heart, DropPrize.Red, DropPrize.Arrow10,      #// pack 7
+            DropPrize.Green, DropPrize.Blue, DropPrize.Red,#// from pull trees
+            DropPrize.Green, DropPrize.Red,#// from prize crab
+            DropPrize.Green, #// stunned prize
+            DropPrize.Red,#// saved fish prize
+        ]
+
+        prizes = pool
+        self.rnd.shuffle(prizes)
+
+        #/* prize pack drop order */
+        (bytes, prizes) = SplitOff(prizes, prizePackItems)
+        self.patches.append((Snes(0x6FA78), [byte.value for byte in bytes]))
+
+        #/* tree pull prizes */
+        (bytes, prizes) = SplitOff(prizes, treePullItems)
+        self.patches.append((Snes(0x1DFBD4), [byte.value for byte in bytes]))
+
+        #/* crab prizes */
+        (drop, final, prizes) = (prizes[0], prizes[1], prizes[2:])
+        self.patches.append((Snes(0x6A9C8), [ drop.value ]))
+        self.patches.append((Snes(0x6A9C4), [ final.value ]))
+
+        #/* stun prize */
+        (drop, prizes) = (prizes[0], prizes[1:])
+        self.patches.append((Snes(0x6F993), [ drop.value ]))
+
+        #/* fish prize */
+        drop = prizes[0]
+        self.patches.append((Snes(0x1D82CC), [ drop.value ]))
+
+        self.patches += self.EnemyPrizePackDistribution()
+
+        #/* Pack drop chance */
+        #/* Normal difficulty is 50%. 0 => 100%, 1 => 50%, 3 => 25% */
+        nrPacks = 7
+        probability = 1
+        self.patches.append((Snes(0x6FA62), [probability] * nrPacks))
+
+    def EnemyPrizePackDistribution(self):
+        (prizePacks, duplicatePacks) = self.EnemyPrizePacks()
+
+        n = sum(len(x[1]) for x in prizePacks)
+        randomization = self.PrizePackRandomization(n, 1)
+        patches = []
+        for prizepack in prizePacks:
+            (packs, randomization) = SplitOff(randomization, len(prizepack[1]))
+            patches.append((prizepack[0], [(b | p) for b,p in zip(prizepack[1], packs)]))
+
+        duplicates = [(d[1], p[1])
+                        for d in duplicatePacks
+                        for p in patches
+                        if p[0] == d[0]]
+        patches += duplicates
+
+        return [(Snes(x[0]), x[1]) for x in patches]
+
+    #/* Guarantees at least s of each prize pack, over a total of n packs.
+    #* In each iteration, from the product n * m, use the guaranteed number
+    #* at k, where k is the "row" (integer division by m), when k falls
+    #* within the list boundary. Otherwise use the "column" (modulo by m)
+    #* as the random element.
+    #*/
+    def PrizePackRandomization(self, n: int, s: int):
+        m = 7
+        g = list(range(0, m)) * s
+
+        def randomization(n: int):
+            result = []
+            n = m * n
+            while (n > 0):
+                r = self.rnd.randrange(0, n)
+                k = r // m
+                result.append(g[k] if k < len(g) else r % m)
+                if (k < len(g)): del g[k]
+                n -= m
+            return result
+
+        return [(x + 1) for x in randomization(n)]
+
+    #/* Todo: Deadrock turns into $8F Blob when powdered, but those "onion blobs" always drop prize pack 1. */
+    def EnemyPrizePacks(self):
+        offset = 0xDB632
+        patches = [
+            #/* sprite_prep */
+            (0x6888D, [ 0x00 ]), #// Keese DW
+            (0x688A8, [ 0x00 ]), #// Rope
+            (0x68967, [ 0x00, 0x00 ]), #// Crow/Dacto
+            (0x69125, [ 0x00, 0x00 ]), #// Red/Blue Hardhat Bettle
+            #/* sprite properties */
+            (offset+0x01, [ 0x90 ]), #// Vulture
+            (offset+0x08, [ 0x00 ]), #// Octorok (One Way)
+            (offset+0x0A, [ 0x00 ]), #// Octorok (Four Way)
+            (offset+0x0D, [ 0x80, 0x90 ]), #// Buzzblob, Snapdragon
+            (offset+0x11, [ 0x90, 0x90, 0x00 ]), #// Hinox, Moblin, Mini Helmasaur
+            (offset+0x18, [ 0x90, 0x90 ]), #// Mini Moldorm, Poe/Hyu
+            (offset+0x20, [ 0x00 ]), #// Sluggula
+            (offset+0x22, [ 0x80, 0x00, 0x00 ]), #// Ropa, Red Bari, Blue Bari
+            #// Blue Soldier/Tarus, Green Soldier, Red Spear Soldier
+            #// Blue Assault Soldier, Red Assault Spear Soldier/Tarus
+            #// Blue Archer, Green Archer
+            #// Red Javelin Soldier, Red Bush Javelin Soldier
+            #// Red Bomb Soldiers, Green Soldier Recruits,
+            #// Geldman, Toppo
+            (offset+0x41, [ 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x10, 0x90, 0x90, 0x80 ]),
+            (offset+0x4F, [ 0x80 ]), #// Popo 2
+            (offset+0x51, [ 0x80 ]), #// Armos
+            (offset+0x55, [ 0x00, 0x00 ]), #// Ku, Zora
+            (offset+0x58, [ 0x90 ]), #// Crab
+            (offset+0x64, [ 0x80 ]), #// Devalant (Shooter)
+            (offset+0x6A, [ 0x90, 0x90 ]), #// Ball N' Chain Trooper, Cannon Soldier
+            (offset+0x6D, [ 0x80, 0x80 ]), #// Rat/Buzz, (Stal)Rope
+            (offset+0x71, [ 0x80 ]), #// Leever
+            (offset+0x7C, [ 0x90 ]), #// Initially Floating Stal
+            (offset+0x81, [ 0xC0 ]), #// Hover
+            #// Green Eyegore/Mimic, Red Eyegore/Mimic
+            #// Detached Stalfos Body, Kodongo
+            (offset+0x83, [ 0x10, 0x10, 0x10, 0x00 ]),
+            (offset+0x8B, [ 0x10 ]), #// Gibdo
+            (offset+0x8E, [ 0x00, 0x00 ]), #// Terrorpin, Blob
+            (offset+0x91, [ 0x10 ]), #// Stalfos Knight
+            (offset+0x99, [ 0x10 ]), #// Pengator
+            (offset+0x9B, [ 0x10 ]), #// Wizzrobe
+            #// Blue Zazak, Red Zazak, Stalfos
+            #// Green Zirro, Blue Zirro, Pikit
+            (offset+0xA5, [ 0x10, 0x10, 0x10, 0x80, 0x80, 0x80 ]),
+            (offset+0xC7, [ 0x10 ]), #// Hokku-Bokku
+            (offset+0xC9, [ 0x10 ]), #// Tektite
+            (offset+0xD0, [ 0x10 ]), #// Lynel
+            (offset+0xD3, [ 0x00 ]), #// Stal
+            ]
+        duplicates = [
+            #/* Popo2 -> Popo. Popo is not used in vanilla Z3, but we duplicate from Popo2 just to be sure */
+            (offset + 0x4F, offset + 0x4E),
+        ]
+        return (patches, duplicates)
+
+    def WriteTexts(self, config: Config):
+        regions = [region for region in self.myWorld.Regions if isinstance(region, IReward)]
+        greenPendantDungeon = [region for region in regions if region.Reward == RewardType.PendantGreen][0]
+        redCrystalDungeons = [region for region in regions if region.Reward == RewardType.CrystalRed]
+
+        sahasrahla = Texts.SahasrahlaReveal(greenPendantDungeon)
+        self.patches.append((Snes(0x308A00), Dialog.Simple(sahasrahla)))
+        self.stringTable.SetSahasrahlaRevealText(sahasrahla)
+
+        bombShop = Texts.BombShopReveal(redCrystalDungeons)
+        self.patches.append((Snes(0x308E00), Dialog.Simple(bombShop)))
+        self.stringTable.SetBombShopRevealText(bombShop)
+
+        blind = Texts.Blind(self.rnd)
+        self.patches.append((Snes(0x308800), Dialog.Simple(blind)))
+        self.stringTable.SetBlindText(blind)
+
+        tavernMan = Texts.TavernMan(self.rnd)
+        self.patches.append((Snes(0x308C00), Dialog.Simple(tavernMan)))
+        self.stringTable.SetTavernManText(tavernMan)
+
+        ganon = Texts.GanonFirstPhase(self.rnd)
+        self.patches.append((Snes(0x308600), Dialog.Simple(ganon)))
+        self.stringTable.SetGanonFirstPhaseText(ganon)
+
+        #// Todo: Verify these two are correct if ganon invincible patch is ever added
+        #// ganon_fall_in_alt in v30
+        ganonFirstPhaseInvincible = "You think you\nare ready to\nface me?\n\nI will not die\n\nunless you\ncomplete your\ngoals. Dingus!"
+        self.patches.append((Snes(0x309100), Dialog.Simple(ganonFirstPhaseInvincible)))
+
+        #// ganon_phase_3_alt in v30
+        ganonThirdPhaseInvincible = "Got wax in\nyour ears?\nI cannot die!"
+        self.patches.append((Snes(0x309200), Dialog.Simple(ganonThirdPhaseInvincible)))
+        #// ---
+
+        silversLocation = [loc for world in self.allWorlds for loc in world.Locations if loc.ItemIs(ItemType.SilverArrows, self.myWorld)]
+        if len(silversLocation) == 0:      
+            silvers = Texts.GanonThirdPhaseMulti(None, self.myWorld, self.silversWorldID, self.playerIDToNames[self.silversWorldID])
+        else:
+            silvers = Texts.GanonThirdPhaseMulti(silversLocation[0].Region, self.myWorld) if config.GameMode == GameMode.Multiworld else \
+                        Texts.GanonThirdPhaseSingle(silversLocation[0].Region)
+        self.patches.append((Snes(0x308700), Dialog.Simple(silvers)))
+        self.stringTable.SetGanonThirdPhaseText(silvers)
+
+        triforceRoom = Texts.TriforceRoom(self.rnd)
+        self.patches.append((Snes(0x308400), Dialog.Simple(triforceRoom)))
+        self.stringTable.SetTriforceRoomText(triforceRoom)
+
+    def WriteStringTable(self):
+        #// Todo: v12, base table in asm, use move instructions in seed patch
+        self.patches.append((Snes(0x1C8000), self.stringTable.GetPaddedBytes()))
+
+    def WritePlayerNames(self):
+        self.patches += [(0x385000 + (0 * 16), self.PlayerNameBytes("Archipelago"))]
+        self.patches += [(0x385000 + (id * 16), self.PlayerNameBytes(name)) for name, id in self.playerNames.items()]
+
+    def PlayerNameBytes(self, name: str):
+        name = (name[:16] if len(name) > 16 else name).center(16)
+        return bytearray(name, 'utf8') 
+
+    def WriteSeedData(self):
+        configField =                                                                            \
+            ((1 if self.myWorld.Config.Race else 0) << 15) |                                     \
+            ((1 if self.myWorld.Config.Keysanity else 0) << 13) |                                \
+            ((1 if self.myWorld.Config.GameMode == Config.GameMode.Multiworld else 0) << 12) |   \
+            (self.myWorld.Config.Z3Logic.value << 10) |                                          \
+            (self.myWorld.Config.SMLogic.value << 8) |                                           \
+            (Patch.Major << 4) |                                                                 \
+            (Patch.Minor << 0)
+
+        self.patches.append((Snes(0x80FF50), getWordArray(self.myWorld.Id)))
+        self.patches.append((Snes(0x80FF52), getWordArray(configField)))
+        self.patches.append((Snes(0x80FF54), getDoubleWordArray(self.seed)))
+        #/* Reserve the rest of the space for future use */
+        self.patches.append((Snes(0x80FF58), [0x00] * 8))
+        self.patches.append((Snes(0x80FF60), bytearray(self.seedGuid, 'utf8')))
+        self.patches.append((Snes(0x80FF80), bytearray(self.myWorld.Guid, 'utf8')))
+
+    def WriteCommonFlags(self):
+        #/* Common Combo Configuration flags at [asm]/config.asm */
+        if (self.myWorld.Config.GameMode == GameMode.Multiworld):
+            self.patches.append((Snes(0xF47000), getWordArray(0x0001)))
+        if (self.myWorld.Config.Keysanity):
+            self.patches.append((Snes(0xF47006), getWordArray(0x0001)))
+
+    def WriteGameTitle(self):
+        z3Glitch =  "N" if self.myWorld.Config.Z3Logic == Config.Z3Logic.Nmg else \
+                    "O" if self.myWorld.Config.Z3Logic == Config.Z3Logic.Owg else \
+                    "C"
+        smGlitch =  "N" if self.myWorld.Config.SMLogic == Config.SMLogic.Normal else \
+                    "H" if self.myWorld.Config.SMLogic == Config.SMLogic.Hard else \
+                    "X"
+
+        self.title = f"ZSM{Patch.Major}{Patch.Minor}{z3Glitch}{smGlitch}{self.myWorld.Id}{self.seed:08x}".ljust(21)[:21]
+        self.patches.append((Snes(0x00FFC0), bytearray(self.title, 'utf8')))
+        self.patches.append((Snes(0x80FFC0), bytearray(self.title, 'utf8')))
+    
+    def WriteZ3KeysanityFlags(self):
+        if (self.myWorld.Config.Keysanity):
+            self.patches.append((Snes(0x40003B), [ 1 ])) #// MapMode #$00 = Always On (default) - #$01 = Require Map Item
+            self.patches.append((Snes(0x400045), [ 0x0f ])) #// display ----dcba a: Small Keys, b: Big Key, c: Map, d: Compass
+
+    def WriteSMKeyCardDoors(self):
+        if (not self.myWorld.Config.Keysanity):
+            return
+
+        plaquePLm = 0xd410
+
+        doorList = [
+                        #// RoomId  Door Facing              yyxx  Keycard Event Type                   Plaque type               yyxx, Address (if 0 a dynamic PLM is created)
+                        #// Crateria
+                        [ 0x91F8, KeycardDoors.Right,      0x2601, KeycardEvents.CrateriaLevel1,        KeycardPlaque.Level1,   0x2400, 0x0000 ], #// Crateria - Landing Site - Door to gauntlet
+                        [ 0x91F8, KeycardDoors.Left,       0x168E, KeycardEvents.CrateriaLevel1,        KeycardPlaque.Level1,   0x148F, 0x801E ], #// Crateria - Landing Site - Door to landing site PB
+                        [ 0x948C, KeycardDoors.Left,       0x062E, KeycardEvents.CrateriaLevel2,        KeycardPlaque.Level2,   0x042F, 0x8222 ], #// Crateria - Before Moat - Door to moat (overwrite PB door)
+                        [ 0x99BD, KeycardDoors.Left,       0x660E, KeycardEvents.CrateriaBoss,          KeycardPlaque.Boss,     0x640F, 0x8470 ], #// Crateria - Before G4 - Door to G4
+                        [ 0x9879, KeycardDoors.Left,       0x062E, KeycardEvents.CrateriaBoss,          KeycardPlaque.Boss,     0x042F, 0x8420 ], #// Crateria - Before BT - Door to Bomb Torizo
+                        
+                        #// Brinstar
+                        [ 0x9F11, KeycardDoors.Left,       0x060E, KeycardEvents.BrinstarLevel1,        KeycardPlaque.Level1,   0x040F, 0x8784 ], #// Brinstar - Blue Brinstar - Door to ceiling e-tank room
+
+                        [ 0x9AD9, KeycardDoors.Right,      0xA601, KeycardEvents.BrinstarLevel2,        KeycardPlaque.Level2,   0xA400, 0x0000 ], #// Brinstar - Green Brinstar - Door to etecoon area                
+                        [ 0x9D9C, KeycardDoors.Down,       0x0336, KeycardEvents.BrinstarBoss,          KeycardPlaque.Boss,     0x0234, 0x863A ], #// Brinstar - Pink Brinstar - Door to spore spawn                
+                        [ 0xA130, KeycardDoors.Left,       0x161E, KeycardEvents.BrinstarLevel2,        KeycardPlaque.Level2,   0x141F, 0x881C ], #// Brinstar - Pink Brinstar - Door to wave gate e-tank
+                        [ 0xA0A4, KeycardDoors.Left,       0x062E, KeycardEvents.BrinstarLevel2,        KeycardPlaque.Level2,   0x042F, 0x0000 ], #// Brinstar - Pink Brinstar - Door to spore spawn super
+
+                        [ 0xA56B, KeycardDoors.Left,       0x161E, KeycardEvents.BrinstarBoss,          KeycardPlaque.Boss,     0x141F, 0x8A1A ], #// Brinstar - Before Kraid - Door to Kraid
+
+                        #// Upper Norfair
+                        [ 0xA7DE, KeycardDoors.Right,      0x3601, KeycardEvents.NorfairLevel1,         KeycardPlaque.Level1,   0x3400, 0x8B00 ], #// Norfair - Business Centre - Door towards Ice
+                        [ 0xA923, KeycardDoors.Right,      0x0601, KeycardEvents.NorfairLevel1,         KeycardPlaque.Level1,   0x0400, 0x0000 ], #// Norfair - Pre-Crocomire - Door towards Ice
+
+                        [ 0xA788, KeycardDoors.Left,       0x162E, KeycardEvents.NorfairLevel2,         KeycardPlaque.Level2,   0x142F, 0x8AEA ], #// Norfair - Lava Missile Room - Door towards Bubble Mountain
+                        [ 0xAF72, KeycardDoors.Left,       0x061E, KeycardEvents.NorfairLevel2,         KeycardPlaque.Level2,   0x041F, 0x0000 ], #// Norfair - After frog speedway - Door to Bubble Mountain
+                        [ 0xAEDF, KeycardDoors.Down,       0x0206, KeycardEvents.NorfairLevel2,         KeycardPlaque.Level2,   0x0204, 0x0000 ], #// Norfair - Below bubble mountain - Door to Bubble Mountain
+                        [ 0xAD5E, KeycardDoors.Right,      0x0601, KeycardEvents.NorfairLevel2,         KeycardPlaque.Level2,   0x0400, 0x0000 ], #// Norfair - LN Escape - Door to Bubble Mountain
+                        
+                        [ 0xA923, KeycardDoors.Up,         0x2DC6, KeycardEvents.NorfairBoss,           KeycardPlaque.Boss,     0x2EC4, 0x8B96 ], #// Norfair - Pre-Crocomire - Door to Crocomire
+
+                        #// Lower Norfair
+                        [ 0xB4AD, KeycardDoors.Left,       0x160E, KeycardEvents.LowerNorfairLevel1,    KeycardPlaque.Level1,   0x140F, 0x0000 ], #// Lower Norfair - WRITG - Door to Amphitheatre
+                        [ 0xAD5E, KeycardDoors.Left,       0x065E, KeycardEvents.LowerNorfairLevel1,    KeycardPlaque.Level1,   0x045F, 0x0000 ], #// Lower Norfair - Exit - Door to "Reverse LN Entry"
+                        [ 0xB37A, KeycardDoors.Right,      0x0601, KeycardEvents.LowerNorfairBoss,      KeycardPlaque.Boss,     0x0400, 0x8EA6 ], #// Lower Norfair - Pre-Ridley - Door to Ridley
+
+                        #// Maridia
+                        [ 0xD0B9, KeycardDoors.Left,       0x065E, KeycardEvents.MaridiaLevel1,         KeycardPlaque.Level1,   0x045F, 0x0000 ], #// Maridia - Mt. Everest - Door to Pink Maridia
+                        [ 0xD5A7, KeycardDoors.Right,      0x1601, KeycardEvents.MaridiaLevel1,         KeycardPlaque.Level1,   0x1400, 0x0000 ], #// Maridia - Aqueduct - Door towards Beach
+
+                        [ 0xD617, KeycardDoors.Left,       0x063E, KeycardEvents.MaridiaLevel2,         KeycardPlaque.Level2,   0x043F, 0x0000 ], #// Maridia - Pre-Botwoon - Door to Botwoon
+                        [ 0xD913, KeycardDoors.Right,      0x2601, KeycardEvents.MaridiaLevel2,         KeycardPlaque.Level2,   0x2400, 0x0000 ], #// Maridia - Pre-Colloseum - Door to post-botwoon
+
+                        [ 0xD78F, KeycardDoors.Right,      0x2601, KeycardEvents.MaridiaBoss,           KeycardPlaque.Boss,     0x2400, 0xC73B ], #// Maridia - Precious Room - Door to Draygon
+
+                        [ 0xDA2B, KeycardDoors.BossLeft,   0x164E, 0x00f0,                              KeycardPlaque.Null,     0x144F, 0x0000 ], #// Maridia - Change Cac Alley Door to Boss Door (prevents key breaking)
+
+                        #// Wrecked Ship
+                        [ 0x93FE, KeycardDoors.Left,       0x167E, KeycardEvents.WreckedShipLevel1,     KeycardPlaque.Level1,   0x147F, 0x0000 ], #// Wrecked Ship - Outside Wrecked Ship West - Door to Reserve Tank Check
+                        [ 0x968F, KeycardDoors.Left,       0x060E, KeycardEvents.WreckedShipLevel1,     KeycardPlaque.Level1,   0x040F, 0x0000 ], #// Wrecked Ship - Outside Wrecked Ship West - Door to Bowling Alley
+                        [ 0xCE40, KeycardDoors.Left,       0x060E, KeycardEvents.WreckedShipLevel1,     KeycardPlaque.Level1,   0x040F, 0x0000 ], #// Wrecked Ship - Gravity Suit - Door to Bowling Alley
+
+                        [ 0xCC6F, KeycardDoors.Left,       0x064E, KeycardEvents.WreckedShipBoss,       KeycardPlaque.Boss,     0x044F, 0xC29D ], #// Wrecked Ship - Pre-Phantoon - Door to Phantoon   
+        ]
+
+        doorId = 0x0000
+        plmTablePos = 0xf800
+        for door in doorList:
+            doorArgs = doorId | door[3] if door[4] != KeycardPlaque.Null else door[3]
+            if (door[6] == 0):
+                #// Write dynamic door
+                doorData = []
+                for x in door[0:3]:
+                    doorData += getWordArray(x)
+                doorData += getWordArray(doorArgs)
+                self.patches.append((Snes(0x8f0000 + plmTablePos), doorData))
+                plmTablePos += 0x08
+            else:
+                #// Overwrite existing door
+                doorData = []
+                for x in door[1:3]:
+                    doorData += getWordArray(x)
+                doorData += getWordArray(doorArgs)
+                self.patches.append((Snes(0x8f0000 + door[6]), doorData))
+                if((door[3] == KeycardEvents.BrinstarBoss and door[0] != 0x9D9C) or door[3] == KeycardEvents.LowerNorfairBoss or door[3] == KeycardEvents.MaridiaBoss or door[3] == KeycardEvents.WreckedShipBoss):
+                    #// Overwrite the extra parts of the Gadora with a PLM that just deletes itself
+                    self.patches.append((Snes(0x8f0000 + door[6] + 0x06), [ 0x2F, 0xB6, 0x00, 0x00, 0x00, 0x00, 0x2F, 0xB6, 0x00, 0x00, 0x00, 0x00 ]))
+
+            #// Plaque data
+            if (door[4] != KeycardPlaque.Null):
+                plaqueData = getWordArray(door[0]) + getWordArray(plaquePLm) + getWordArray(door[5]) + getWordArray(door[4])
+                self.patches.append((Snes(0x8f0000 + plmTablePos), plaqueData))
+                plmTablePos += 0x08
+            doorId += 1
+
+        self.patches.append((Snes(0x8f0000 + plmTablePos), [ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 ]))
+
+    def WriteDiggingGameRng(self):
+        digs = (self.rnd.randrange(30) + 1)
+        self.patches.append((Snes(0x308020), [ digs ]))
+        self.patches.append((Snes(0x1DFD95), [ digs ]))
+
+    #// Removes Sword/Shield from Uncle by moving the tiles for
+    #// sword/shield to his head and replaces them with his head.
+    def WriteRemoveEquipmentFromUncle(self, item: Item):
+        if (item.Type != ItemType.ProgressiveSword):
+            self.patches += [
+                    (Snes(0xDD263), [ 0x00, 0x00, 0xF6, 0xFF, 0x00, 0x0E ]),
+                    (Snes(0xDD26B), [ 0x00, 0x00, 0xF6, 0xFF, 0x00, 0x0E ]),
+                    (Snes(0xDD293), [ 0x00, 0x00, 0xF6, 0xFF, 0x00, 0x0E ]),
+                    (Snes(0xDD29B), [ 0x00, 0x00, 0xF7, 0xFF, 0x00, 0x0E ]),
+                    (Snes(0xDD2B3), [ 0x00, 0x00, 0xF6, 0xFF, 0x02, 0x0E ]),
+                    (Snes(0xDD2BB), [ 0x00, 0x00, 0xF6, 0xFF, 0x02, 0x0E ]),
+                    (Snes(0xDD2E3), [ 0x00, 0x00, 0xF7, 0xFF, 0x02, 0x0E ]),
+                    (Snes(0xDD2EB), [ 0x00, 0x00, 0xF7, 0xFF, 0x02, 0x0E ]),
+                    (Snes(0xDD31B), [ 0x00, 0x00, 0xE4, 0xFF, 0x08, 0x0E ]),
+                    (Snes(0xDD323), [ 0x00, 0x00, 0xE4, 0xFF, 0x08, 0x0E ]),
+                ]
+        if (item.Type != ItemType.ProgressiveShield):
+            self.patches += [
+                    (Snes(0xDD253), [ 0x00, 0x00, 0xF6, 0xFF, 0x00, 0x0E ]),
+                    (Snes(0xDD25B), [ 0x00, 0x00, 0xF6, 0xFF, 0x00, 0x0E ]),
+                    (Snes(0xDD283), [ 0x00, 0x00, 0xF6, 0xFF, 0x00, 0x0E ]),
+                    (Snes(0xDD28B), [ 0x00, 0x00, 0xF7, 0xFF, 0x00, 0x0E ]),
+                    (Snes(0xDD2CB), [ 0x00, 0x00, 0xF6, 0xFF, 0x02, 0x0E ]),
+                    (Snes(0xDD2FB), [ 0x00, 0x00, 0xF7, 0xFF, 0x02, 0x0E ]),
+                    (Snes(0xDD313), [ 0x00, 0x00, 0xE4, 0xFF, 0x08, 0x0E ]),
+                ]
+
+    def WriteGanonInvicible(self, invincible: GanonInvincible):
+        #/* Defaults to $00 (never) at [asm]/z3/randomizer/tables.asm */
+        invincibleMap = {
+                        GanonInvincible.Never : 0x00,
+                        GanonInvincible.Always : 0x01,
+                        GanonInvincible.BeforeAllDungeons : 0x02,
+                        GanonInvincible.BeforeCrystals : 0x03,
+                        }
+        value = invincibleMap.get(invincible, None)
+        if (value is None):
+            raise exception(f"Unknown Ganon invincible value {invincible}")
+        else:
+            self.patches.append((Snes(0x30803E), [value]))
+
+
+    def WriteRngBlock(self):
+        #/* Repoint RNG Block */
+        self.patches.append((0x420000, [self.rnd.randrange(0, 0x100) for x in range(0, 1024)]))
+
+    def WriteSaveAndQuitFromBossRoom(self):
+        #/* Defaults to $00 at [asm]/z3/randomizer/tables.asm */
+        self.patches.append((Snes(0x308042), [ 0x01 ]))
+
+    def WriteWorldOnAgahnimDeath(self):
+        pass
+        #/* Defaults to $01 at [asm]/z3/randomizer/tables.asm */
+        #// Todo: Z3r major glitches disables this, reconsider extending or dropping with glitched logic later.
+        #//patches.Add((Snes(0x3080A3), new byte[] { 0x01 }));
+
+def Snes(addr: int):
+    #/* Redirect hi bank $30 access into ExHiRom lo bank $40 */
+    if (addr & 0xFF8000) == 0x308000:
+        addr = 0x400000 | (addr & 0x7FFF)
+    else: #/* General case, add ExHi offset for banks < $80, and collapse mirroring */
+        addr = (0x400000 if addr < 0x800000 else 0)| (addr & 0x3FFFFF)
+    if (addr > 0x600000):
+        raise Exception(f"Unmapped pc address target ${addr:x}")
+    return addr
+
+def getWord(w):
+    return (w & 0x00FF, (w & 0xFF00) >> 8)
+
+def getWordArray(w):
+    return [w & 0x00FF, (w & 0xFF00) >> 8]
+
+def getDoubleWordArray(w):
+    return [w & 0x000000FF, (w & 0x0000FF00) >> 8, (w & 0x00FF0000) >> 16, (w & 0xFF000000) >> 24]
+
+"""
+    byte[] UintBytes(int value) => BitConverter.GetBytes((uint)value);
+
+    byte[] UshortBytes(int value) => BitConverter.GetBytes((ushort)value);
+
+    byte[] AsAscii(string text) => Encoding.ASCII.GetBytes(text);
+
+}
+
+}
+"""
+def SplitOff(source: List[Any], count: int):
+    head = source[:count]
+    tail = source[count:]
+    return (head, tail)
diff --git a/worlds/smz3/TotalSMZ3/Region.py b/worlds/smz3/TotalSMZ3/Region.py
new file mode 100644
index 00000000..f352247c
--- /dev/null
+++ b/worlds/smz3/TotalSMZ3/Region.py
@@ -0,0 +1,63 @@
+from enum import Enum
+from typing import Dict, List
+from worlds.smz3.TotalSMZ3.Config import *
+from worlds.smz3.TotalSMZ3.Item import Item, ItemType
+
+class RewardType(Enum):
+    Null = 0
+    Agahnim = 1
+    PendantGreen = 2
+    PendantNonGreen = 3
+    CrystalBlue = 4
+    CrystalRed = 5
+    GoldenFourBoss = 6
+
+class IReward:
+    Reward: RewardType
+    def CanComplete(self, items):
+        pass
+
+class IMedallionAccess:
+    Medallion: object
+
+class Region:
+    import worlds.smz3.TotalSMZ3.Location as Location
+    Name: str
+    Area: str
+
+    Locations: List[Location.Location]
+    Weight: int = 0
+
+    Config: Config
+
+    locationLookup: Dict[str, Location.Location]
+    
+    def GetLocation(self, name: str):
+        return self.locationLookup[name]
+
+    def __init__(self, world, config: Config):
+        self.Config = config
+        self.world = world
+        self.locationLookup = {}
+        self.RegionItems = []
+
+    def GenerateLocationLookup(self):
+        self.locationLookup = {loc.Name:loc for loc in self.Locations}
+
+    def IsRegionItem(self, item):
+        return item.Type in self.RegionItems
+
+    def CanFill(self, item):
+        return self.Config.Keysanity or not item.IsDungeonItem() or self.IsRegionItem(item)
+
+    def CanEnter(self, items):
+        return True
+
+class SMRegion(Region):
+    Logic: SMLogic = Config.SMLogic
+    def __init__(self, world, config: Config):
+        super().__init__(world, config)
+
+class Z3Region(Region):
+    def __init__(self, world, config: Config):
+        super().__init__(world, config)
diff --git a/worlds/smz3/TotalSMZ3/Regions/SuperMetroid/Brinstar/Blue.py b/worlds/smz3/TotalSMZ3/Regions/SuperMetroid/Brinstar/Blue.py
new file mode 100644
index 00000000..0b3d1f8b
--- /dev/null
+++ b/worlds/smz3/TotalSMZ3/Regions/SuperMetroid/Brinstar/Blue.py
@@ -0,0 +1,26 @@
+from worlds.smz3.TotalSMZ3.Region import SMRegion
+from worlds.smz3.TotalSMZ3.Config import Config, SMLogic
+from worlds.smz3.TotalSMZ3.Location import Location, LocationType
+
+class Blue(SMRegion):
+    Name = "Brinstar Blue"
+    Area = "Brinstar"
+
+    def __init__(self, world, config: Config):
+        super().__init__(world, config)
+        self.Locations = [
+            Location(self, 26, 0x8F86EC, LocationType.Visible, "Morphing Ball"),
+            Location(self, 27, 0x8F874C, LocationType.Visible, "Power Bomb (blue Brinstar)",
+                lambda items: items.CanUsePowerBombs()),
+            Location(self, 28, 0x8F8798, LocationType.Visible, "Missile (blue Brinstar middle)", 
+                lambda items: items.CardBrinstarL1 and items.Morph),
+            Location(self, 29, 0x8F879E, LocationType.Hidden, "Energy Tank, Brinstar Ceiling",
+                lambda items: items.CardBrinstarL1 and (items.CanFly() or items.HiJump or items.SpeedBooster or items.Ice) if self.Logic == SMLogic.Normal else \
+                lambda items: items.CardBrinstarL1),
+            Location(self, 34, 0x8F8802, LocationType.Chozo, "Missile (blue Brinstar bottom)", 
+                lambda items: items.Morph),
+            Location(self, 36, 0x8F8836, LocationType.Visible, "Missile (blue Brinstar top)", 
+                lambda items: items.CardBrinstarL1 and items.CanUsePowerBombs()),
+            Location(self, 37, 0x8F883C, LocationType.Hidden, "Missile (blue Brinstar behind missile)", 
+                lambda items: items.CardBrinstarL1 and items.CanUsePowerBombs())
+            ]
\ No newline at end of file
diff --git a/worlds/smz3/TotalSMZ3/Regions/SuperMetroid/Brinstar/Green.py b/worlds/smz3/TotalSMZ3/Regions/SuperMetroid/Brinstar/Green.py
new file mode 100644
index 00000000..380431df
--- /dev/null
+++ b/worlds/smz3/TotalSMZ3/Regions/SuperMetroid/Brinstar/Green.py
@@ -0,0 +1,37 @@
+from worlds.smz3.TotalSMZ3.Region import SMRegion
+from worlds.smz3.TotalSMZ3.Config import Config, SMLogic
+from worlds.smz3.TotalSMZ3.Location import Location, LocationType
+from worlds.smz3.TotalSMZ3.Item import Progression
+
+class Green(SMRegion):
+    Name = "Brinstar Green"
+    Area = "Brinstar"
+
+    def __init__(self, world, config: Config):
+        super().__init__(world, config)
+        self.Weight = -6
+        self.Locations = [
+            Location(self, 13, 0x8F84AC, LocationType.Chozo, "Power Bomb (green Brinstar bottom)", 
+                lambda items: items.CardBrinstarL2 and items.CanUsePowerBombs()),
+            Location(self, 15, 0x8F8518, LocationType.Visible, "Missile (green Brinstar below super missile)", 
+                lambda items: items.CanPassBombPassages() and items.CanOpenRedDoors()),
+            Location(self, 16, 0x8F851E, LocationType.Visible, "Super Missile (green Brinstar top)",
+                lambda items: items.CanOpenRedDoors() and items.SpeedBooster if self.Logic == SMLogic.Normal else \
+                lambda items: items.CanOpenRedDoors() and (items.Morph or items.SpeedBooster)),
+            Location(self, 17, 0x8F852C, LocationType.Chozo, "Reserve Tank, Brinstar", 
+                lambda items: items.CanOpenRedDoors() and items.SpeedBooster if self.Logic == SMLogic.Normal else \
+                lambda items: items.CanOpenRedDoors() and (items.Morph or items.SpeedBooster)),
+            Location(self, 18, 0x8F8532, LocationType.Hidden, "Missile (green Brinstar behind missile)", 
+                lambda items: items.SpeedBooster and items.CanPassBombPassages() and items.CanOpenRedDoors() if self.Logic == SMLogic.Normal else \
+                lambda items: (items.CanPassBombPassages() or items.Morph and items.ScrewAttack) and items.CanOpenRedDoors()),
+            Location(self, 19, 0x8F8538, LocationType.Visible, "Missile (green Brinstar behind reserve tank)",
+                lambda items: items.SpeedBooster and items.CanOpenRedDoors() and items.Morph if self.Logic == SMLogic.Normal else \
+                lambda items: items.CanOpenRedDoors() and items.Morph),
+            Location(self, 30, 0x8F87C2, LocationType.Visible, "Energy Tank, Etecoons", 
+                lambda items: items.CardBrinstarL2 and items.CanUsePowerBombs()),
+            Location(self, 31, 0x8F87D0, LocationType.Visible, "Super Missile (green Brinstar bottom)",
+                lambda items: items.CardBrinstarL2 and items.CanUsePowerBombs() and items.Super)
+        ]
+
+    def CanEnter(self, items: Progression):
+        return items.CanDestroyBombWalls() or items.SpeedBooster
diff --git a/worlds/smz3/TotalSMZ3/Regions/SuperMetroid/Brinstar/Kraid.py b/worlds/smz3/TotalSMZ3/Regions/SuperMetroid/Brinstar/Kraid.py
new file mode 100644
index 00000000..fe3f804d
--- /dev/null
+++ b/worlds/smz3/TotalSMZ3/Regions/SuperMetroid/Brinstar/Kraid.py
@@ -0,0 +1,25 @@
+from worlds.smz3.TotalSMZ3.Region import SMRegion, IReward, RewardType
+from worlds.smz3.TotalSMZ3.Config import Config
+from worlds.smz3.TotalSMZ3.Location import Location, LocationType
+from worlds.smz3.TotalSMZ3.Item import Progression
+
+class Kraid(SMRegion, IReward):
+    Name = "Brinstar Kraid"
+    Area = "Brinstar"
+
+    Reward = RewardType.GoldenFourBoss
+
+    def __init__(self, world, config: Config):
+        super().__init__(world, config)
+        self.Locations = [
+            Location(self, 43, 0x8F899C, LocationType.Hidden, "Energy Tank, Kraid", lambda items: items.CardBrinstarBoss),
+            Location(self, 48, 0x8F8ACA, LocationType.Chozo, "Varia Suit", lambda items: items.CardBrinstarBoss),
+            Location(self, 44, 0x8F89EC, LocationType.Hidden, "Missile (Kraid)", lambda items: items.CanUsePowerBombs())
+        ]
+
+    def CanEnter(self, items:Progression):
+        return (items.CanDestroyBombWalls() or items.SpeedBooster or items.CanAccessNorfairUpperPortal()) and \
+            items.Super and items.CanPassBombPassages()
+
+    def CanComplete(self, items:Progression):
+        return self.GetLocation("Varia Suit").Available(items)
diff --git a/worlds/smz3/TotalSMZ3/Regions/SuperMetroid/Brinstar/Pink.py b/worlds/smz3/TotalSMZ3/Regions/SuperMetroid/Brinstar/Pink.py
new file mode 100644
index 00000000..465f885b
--- /dev/null
+++ b/worlds/smz3/TotalSMZ3/Regions/SuperMetroid/Brinstar/Pink.py
@@ -0,0 +1,44 @@
+from worlds.smz3.TotalSMZ3.Region import SMRegion
+from worlds.smz3.TotalSMZ3.Config import Config, SMLogic
+from worlds.smz3.TotalSMZ3.Location import Location, LocationType
+from worlds.smz3.TotalSMZ3.Item import Progression
+
+class Pink(SMRegion):
+    Name = "Brinstar Pink"
+    Area = "Brinstar"
+
+    def __init__(self, world, config: Config):
+        super().__init__(world, config)
+        self.Weight = -4
+        self.Locations = [
+            Location(self, 14, 0x8F84E4, LocationType.Chozo, "Super Missile (pink Brinstar)", 
+                lambda items: items.CardBrinstarBoss and items.CanPassBombPassages() and items.Super if self.Logic == SMLogic.Normal else \
+                lambda items: (items.CardBrinstarBoss or items.CardBrinstarL2) and items.CanPassBombPassages() and items.Super),
+            Location(self, 21, 0x8F8608, LocationType.Visible, "Missile (pink Brinstar top)"),
+            Location(self, 22, 0x8F860E, LocationType.Visible, "Missile (pink Brinstar bottom)"),
+            Location(self, 23, 0x8F8614, LocationType.Chozo, "Charge Beam", 
+                lambda items: items.CanPassBombPassages()),
+            Location(self, 24, 0x8F865C, LocationType.Visible, "Power Bomb (pink Brinstar)", 
+                lambda items: items.CanUsePowerBombs() and items.Super and items.HasEnergyReserves(1) if self.Logic == SMLogic.Normal else \
+                lambda items: items.CanUsePowerBombs() and items.Super),
+            Location(self, 25, 0x8F8676, LocationType.Visible, "Missile (green Brinstar pipe)", 
+                lambda items: items.Morph and (items.PowerBomb or items.Super or items.CanAccessNorfairUpperPortal())),
+            Location(self, 33, 0x8F87FA, LocationType.Visible, "Energy Tank, Waterway", 
+                lambda items: items.CanUsePowerBombs() and items.CanOpenRedDoors() and items.SpeedBooster and (items.HasEnergyReserves(1) or items.Gravity)),
+            Location(self, 35, 0x8F8824, LocationType.Visible, "Energy Tank, Brinstar Gate", 
+                lambda items: items.CardBrinstarL2 and items.CanUsePowerBombs() and items.Wave and items.HasEnergyReserves(1) if self.Logic == SMLogic.Normal else \
+                lambda items: items.CardBrinstarL2 and items.CanUsePowerBombs() and (items.Wave or items.Super))
+        ]
+
+
+    def CanEnter(self, items: Progression):
+        if self.Logic == SMLogic.Normal:
+            return items.CanOpenRedDoors() and (items.CanDestroyBombWalls() or items.SpeedBooster) or \
+            items.CanUsePowerBombs() or \
+            items.CanAccessNorfairUpperPortal() and items.Morph and items.Wave and \
+                (items.Ice or items.HiJump or items.SpaceJump)
+        else:
+            return items.CanOpenRedDoors() and (items.CanDestroyBombWalls() or items.SpeedBooster) or \
+                items.CanUsePowerBombs() or \
+                items.CanAccessNorfairUpperPortal() and items.Morph and (items.CanOpenRedDoors() or items.Wave) and \
+                    (items.Ice or items.HiJump or items.CanSpringBallJump() or items.CanFly())
diff --git a/worlds/smz3/TotalSMZ3/Regions/SuperMetroid/Brinstar/Red.py b/worlds/smz3/TotalSMZ3/Regions/SuperMetroid/Brinstar/Red.py
new file mode 100644
index 00000000..cca64e4c
--- /dev/null
+++ b/worlds/smz3/TotalSMZ3/Regions/SuperMetroid/Brinstar/Red.py
@@ -0,0 +1,36 @@
+from worlds.smz3.TotalSMZ3.Region import SMRegion
+from worlds.smz3.TotalSMZ3.Config import Config, SMLogic
+from worlds.smz3.TotalSMZ3.Location import Location, LocationType
+from worlds.smz3.TotalSMZ3.Item import Progression
+
+class Red(SMRegion):
+    Name = "Brinstar Red"
+    Area = "Brinstar"
+
+    def __init__(self, world, config: Config):
+        super().__init__(world, config)
+        self.Locations = [
+            Location(self, 38, 0x8F8876, LocationType.Chozo, "X-Ray Scope",
+                lambda items: items.CanUsePowerBombs() and items.CanOpenRedDoors() and (items.Grapple or items.SpaceJump) if self.Logic == SMLogic.Normal else \
+                lambda items: items.CanUsePowerBombs() and items.CanOpenRedDoors() and (
+                    items.Grapple or items.SpaceJump or
+                    (items.CanIbj() or items.HiJump and items.SpeedBooster or items.CanSpringBallJump()) and
+                        (items.Varia and items.HasEnergyReserves(3) or items.HasEnergyReserves(5)))),
+            Location(self, 39, 0x8F88CA, LocationType.Visible, "Power Bomb (red Brinstar sidehopper room)",
+                lambda items: items.CanUsePowerBombs() and items.Super),
+            Location(self, 40, 0x8F890E, LocationType.Chozo, "Power Bomb (red Brinstar spike room)",
+                lambda items: (items.CanUsePowerBombs() or items.Ice) and items.Super if self.Logic == SMLogic.Normal else \
+                lambda items: items.Super),
+            Location(self, 41, 0x8F8914, LocationType.Visible, "Missile (red Brinstar spike room)",
+                lambda items: items.CanUsePowerBombs() and items.Super),
+            Location(self, 42, 0x8F896E, LocationType.Chozo, "Spazer", 
+                lambda items: items.CanPassBombPassages() and items.Super)
+        ]
+
+    def CanEnter(self, items: Progression):
+        if self.Logic == SMLogic.Normal:
+            return (items.CanDestroyBombWalls() or items.SpeedBooster) and items.Super and items.Morph or \
+                items.CanAccessNorfairUpperPortal() and (items.Ice or items.HiJump or items.SpaceJump)
+        else:
+            return (items.CanDestroyBombWalls() or items.SpeedBooster) and items.Super and items.Morph or \
+                items.CanAccessNorfairUpperPortal() and (items.Ice or items.CanSpringBallJump() or items.HiJump or items.CanFly())
\ No newline at end of file
diff --git a/worlds/smz3/TotalSMZ3/Regions/SuperMetroid/Brinstar/__init__.py b/worlds/smz3/TotalSMZ3/Regions/SuperMetroid/Brinstar/__init__.py
new file mode 100644
index 00000000..e69de29b
diff --git a/worlds/smz3/TotalSMZ3/Regions/SuperMetroid/Crateria/Central.py b/worlds/smz3/TotalSMZ3/Regions/SuperMetroid/Crateria/Central.py
new file mode 100644
index 00000000..14c8b08f
--- /dev/null
+++ b/worlds/smz3/TotalSMZ3/Regions/SuperMetroid/Crateria/Central.py
@@ -0,0 +1,23 @@
+from worlds.smz3.TotalSMZ3.Region import SMRegion
+from worlds.smz3.TotalSMZ3.Config import Config, SMLogic
+from worlds.smz3.TotalSMZ3.Location import Location, LocationType
+
+class Central(SMRegion):
+    Name = "Crateria Central"
+    Area = "Crateria"
+
+    def __init__(self, world, config: Config):
+        super().__init__(world, config)
+        self.Locations = [
+            Location(self, 0, 0x8F81CC, LocationType.Visible, "Power Bomb (Crateria surface)",
+                lambda items: (items.CardCrateriaL1 if config.Keysanity else items.CanUsePowerBombs()) and (items.SpeedBooster or items.CanFly())),
+            Location(self, 12, 0x8F8486, LocationType.Visible, "Missile (Crateria middle)",
+                lambda items: items.CanPassBombPassages()),
+            Location(self, 6, 0x8F83EE, LocationType.Visible, "Missile (Crateria bottom)",
+                lambda items: items.CanDestroyBombWalls()),
+            Location(self, 11, 0x8F8478, LocationType.Visible, "Super Missile (Crateria)", 
+                lambda items: items.CanUsePowerBombs() and items.HasEnergyReserves(2) and items.SpeedBooster),
+            Location(self, 7, 0x8F8404, LocationType.Chozo, "Bombs",
+                lambda items: (items.CardCrateriaBoss if config.Keysanity else items.CanOpenRedDoors()) and items.CanPassBombPassages() if self.Logic == SMLogic.Normal else \
+                lambda items: (items.CardCrateriaBoss if config.Keysanity else items.CanOpenRedDoors()) and items.Morph)
+            ]
diff --git a/worlds/smz3/TotalSMZ3/Regions/SuperMetroid/Crateria/East.py b/worlds/smz3/TotalSMZ3/Regions/SuperMetroid/Crateria/East.py
new file mode 100644
index 00000000..d223fd82
--- /dev/null
+++ b/worlds/smz3/TotalSMZ3/Regions/SuperMetroid/Crateria/East.py
@@ -0,0 +1,59 @@
+from worlds.smz3.TotalSMZ3.Region import SMRegion
+from worlds.smz3.TotalSMZ3.Config import Config, SMLogic
+from worlds.smz3.TotalSMZ3.Location import Location, LocationType
+from worlds.smz3.TotalSMZ3.Item import Progression
+
+class East(SMRegion):
+    Name = "Crateria East"
+    Area = "Crateria"
+
+    def __init__(self, world, config: Config):
+        super().__init__(world, config)
+        self.Locations = [
+            Location(self, 1, 0x8F81E8, LocationType.Visible, "Missile (outside Wrecked Ship bottom)",
+                lambda items: items.Morph and (
+                    items.SpeedBooster or items.Grapple or items.SpaceJump or
+                    items.Gravity and (items.CanIbj() or items.HiJump) or
+                    self.world.CanEnter("Wrecked Ship", items)) if self.Logic == SMLogic.Normal else \
+                lambda items: items.Morph),
+            Location(self, 2, 0x8F81EE, LocationType.Hidden, "Missile (outside Wrecked Ship top)",
+                lambda items: self.world.CanEnter("Wrecked Ship", items) and (not self.Config.Keysanity or items.CardWreckedShipBoss) and items.CanPassBombPassages()),
+            Location(self, 3, 0x8F81F4, LocationType.Visible, "Missile (outside Wrecked Ship middle)",
+                lambda items: self.world.CanEnter("Wrecked Ship", items) and (not self.Config.Keysanity or items.CardWreckedShipBoss) and items.CanPassBombPassages()),
+            Location(self, 4, 0x8F8248, LocationType.Visible, "Missile (Crateria moat)",
+                lambda items: True)
+            ]
+
+    def CanEnter(self, items:Progression):
+        if self.Logic == SMLogic.Normal:
+                # /* Ship -> Moat */
+            return (items.CardCrateriaL2 if self.Config.Keysanity else items.CanUsePowerBombs()) and items.Super or (
+                # /* UN Portal -> Red Tower -> Moat
+                items.CardCrateriaL2 if self.Config.Keysanity else items.CanUsePowerBombs()) and items.CanAccessNorfairUpperPortal() and (
+                    items.Ice or items.HiJump or items.SpaceJump) or (
+                # /*Through Maridia From Portal*/
+                items.CanAccessMaridiaPortal(self.world)) and items.Gravity and items.Super and (
+                    # /* Oasis -> Forgotten Highway */
+                    items.CardMaridiaL2 and items.CanDestroyBombWalls() or (
+                    # /* Draygon -> Cactus Alley -> Forgotten Highway */
+                    self.world.GetLocation("Space Jump").Available(items))) or (
+                # /*Through Maridia from Pipe*/
+                items.CanUsePowerBombs()) and items.Super and items.Gravity
+        else:
+                # /* Ship -> Moat */
+            return (items.CardCrateriaL2 if self.Config.Keysanity else  items.CanUsePowerBombs()) and items.Super or (
+                # /* UN Portal -> Red Tower -> Moat */
+                items.CardCrateriaL2  if self.Config.Keysanity else  items.CanUsePowerBombs()) and items.CanAccessNorfairUpperPortal() and (
+                    items.Ice or items.HiJump or items.CanFly() or items.CanSpringBallJump()) or (
+                # /*Through Maridia From Portal*/
+                items.CanAccessMaridiaPortal(self.world)) and (
+                    # /* Oasis -> Forgotten Highway */
+                    items.CardMaridiaL2 and items.Super and (
+                        items.HiJump and items.CanPassBombPassages() or
+                        items.Gravity and items.CanDestroyBombWalls()
+                    ) or
+                    # /* Draygon -> Cactus Alley -> Forgotten Highway */
+                    items.Gravity and self.world.GetLocation("Space Jump").Available(items)) or (
+                # /*Through Maridia from Pipe*/
+                items.CanUsePowerBombs()) and items.Super and (items.Gravity or items.HiJump and (items.Ice or items.CanSpringBallJump()) 
+                                                            and items.Grapple and items.CardMaridiaL1)
diff --git a/worlds/smz3/TotalSMZ3/Regions/SuperMetroid/Crateria/West.py b/worlds/smz3/TotalSMZ3/Regions/SuperMetroid/Crateria/West.py
new file mode 100644
index 00000000..5554b088
--- /dev/null
+++ b/worlds/smz3/TotalSMZ3/Regions/SuperMetroid/Crateria/West.py
@@ -0,0 +1,38 @@
+from worlds.smz3.TotalSMZ3.Region import SMRegion
+from worlds.smz3.TotalSMZ3.Config import Config, SMLogic
+from worlds.smz3.TotalSMZ3.Location import Location, LocationType
+from worlds.smz3.TotalSMZ3.Item import Progression
+
+class West(SMRegion):
+    Name = "Crateria West"
+    Area = "Crateria"
+
+    def __init__(self, world, config: Config):
+        super().__init__(world, config)
+        self.Locations = [
+            Location(self, 8, 0x8F8432, LocationType.Visible, "Energy Tank, Terminator"),
+            Location(self, 5, 0x8F8264, LocationType.Visible, "Energy Tank, Gauntlet",
+                lambda items: self.CanEnterAndLeaveGauntlet(items) and items.HasEnergyReserves(1) if self.Logic == SMLogic.Normal else \
+                lambda items: self.CanEnterAndLeaveGauntlet(items)),
+            Location(self, 9, 0x8F8464, LocationType.Visible, "Missile (Crateria gauntlet right)",
+                lambda items: self.CanEnterAndLeaveGauntlet(items) and items.CanPassBombPassages() and items.HasEnergyReserves(2) if self.Logic == SMLogic.Normal else \
+                lambda items: self.CanEnterAndLeaveGauntlet(items) and items.CanPassBombPassages()),
+            Location(self, 10, 0x8F846A, LocationType.Visible, "Missile (Crateria gauntlet left)",
+                lambda items: self.CanEnterAndLeaveGauntlet(items) and items.CanPassBombPassages() and items.HasEnergyReserves(2) if self.Logic == SMLogic.Normal else \
+                lambda items: self.CanEnterAndLeaveGauntlet(items) and items.CanPassBombPassages())
+        ]
+
+    def CanEnter(self, items: Progression):
+        return items.CanDestroyBombWalls() or items.SpeedBooster
+
+    def CanEnterAndLeaveGauntlet(self, items: Progression):
+        if self.Logic == SMLogic.Normal:
+            return items.CardCrateriaL1 and items.Morph and (items.CanFly() or items.SpeedBooster) and (
+                    items.CanIbj() or
+                    items.CanUsePowerBombs() and items.TwoPowerBombs or
+                    items.ScrewAttack)
+        else:
+            return items.CardCrateriaL1 and (
+                    items.Morph and (items.Bombs or items.TwoPowerBombs) or
+                    items.ScrewAttack or
+                    items.SpeedBooster and items.CanUsePowerBombs() and items.HasEnergyReserves(2))
\ No newline at end of file
diff --git a/worlds/smz3/TotalSMZ3/Regions/SuperMetroid/Crateria/__init__.py b/worlds/smz3/TotalSMZ3/Regions/SuperMetroid/Crateria/__init__.py
new file mode 100644
index 00000000..e69de29b
diff --git a/worlds/smz3/TotalSMZ3/Regions/SuperMetroid/Maridia/Inner.py b/worlds/smz3/TotalSMZ3/Regions/SuperMetroid/Maridia/Inner.py
new file mode 100644
index 00000000..280f7e5b
--- /dev/null
+++ b/worlds/smz3/TotalSMZ3/Regions/SuperMetroid/Maridia/Inner.py
@@ -0,0 +1,110 @@
+from worlds.smz3.TotalSMZ3.Region import SMRegion, IReward, RewardType
+from worlds.smz3.TotalSMZ3.Config import Config, SMLogic
+from worlds.smz3.TotalSMZ3.Location import Location, LocationType
+from worlds.smz3.TotalSMZ3.Item import Progression
+
+class Inner(SMRegion, IReward):
+    Name = "Maridia Inner"
+    Area = "Maridia"
+
+    def __init__(self, world, config: Config):
+        super().__init__(world, config)
+        self.Reward = RewardType.GoldenFourBoss
+        self.Locations = [
+            Location(self, 140, 0x8FC4AF, LocationType.Visible, "Super Missile (yellow Maridia)",
+                lambda items: items.CardMaridiaL1 and items.CanPassBombPassages() if self.Logic == SMLogic.Normal else \
+                lambda items: items.CardMaridiaL1 and items.CanPassBombPassages() and
+                    (items.Gravity or items.Ice or items.HiJump and items.CanSpringBallJump())),
+            Location(self, 141, 0x8FC4B5, LocationType.Visible, "Missile (yellow Maridia super missile)",
+                lambda items: items.CardMaridiaL1 and items.CanPassBombPassages() if self.Logic == SMLogic.Normal else \
+                lambda items: items.CardMaridiaL1 and items.CanPassBombPassages() and
+                    (items.Gravity or items.Ice or items.HiJump and items.CanSpringBallJump())),
+            Location(self, 142, 0x8FC533, LocationType.Visible, "Missile (yellow Maridia false wall)",
+                lambda items: items.CardMaridiaL1 and items.CanPassBombPassages() if self.Logic == SMLogic.Normal else \
+                lambda items: items.CardMaridiaL1 and items.CanPassBombPassages() and
+                    (items.Gravity or items.Ice or items.HiJump and items.CanSpringBallJump())),
+            Location(self, 143, 0x8FC559, LocationType.Chozo, "Plasma Beam",
+                lambda items: self.CanDefeatDraygon(items) and (items.ScrewAttack or items.Plasma) and (items.HiJump or items.CanFly()) if self.Logic == SMLogic.Normal else \
+                lambda items: self.CanDefeatDraygon(items) and
+                    (items.Charge and items.HasEnergyReserves(3) or items.ScrewAttack or items.Plasma or items.SpeedBooster) and
+                    (items.HiJump or items.CanSpringBallJump() or items.CanFly() or items.SpeedBooster)),
+            Location(self, 144, 0x8FC5DD, LocationType.Visible, "Missile (left Maridia sand pit room)",
+                lambda items: self.CanReachAqueduct(items) and items.Super and items.CanPassBombPassages() if self.Logic == SMLogic.Normal else \
+                lambda items: self.CanReachAqueduct(items) and items.Super and
+                    (items.HiJump and (items.SpaceJump or items.CanSpringBallJump()) or items.Gravity)),
+            Location(self, 145, 0x8FC5E3, LocationType.Chozo, "Reserve Tank, Maridia",
+                lambda items: self.CanReachAqueduct(items) and items.Super and items.CanPassBombPassages() if self.Logic == SMLogic.Normal else \
+                lambda items: self.CanReachAqueduct(items) and items.Super and
+                    (items.HiJump and (items.SpaceJump or items.CanSpringBallJump()) or items.Gravity)),
+            Location(self, 146, 0x8FC5EB, LocationType.Visible, "Missile (right Maridia sand pit room)",
+                lambda items: self.CanReachAqueduct(items) and items.Super) if self.Logic == SMLogic.Normal else \
+                lambda items: self.CanReachAqueduct(items) and items.Super and (items.HiJump or items.Gravity),
+            Location(self, 147, 0x8FC5F1, LocationType.Visible, "Power Bomb (right Maridia sand pit room)",
+                lambda items: self.CanReachAqueduct(items) and items.Super) if self.Logic == SMLogic.Normal else \
+                lambda items: self.CanReachAqueduct(items) and items.Super and (items.HiJump and items.CanSpringBallJump() or items.Gravity),
+            Location(self, 148, 0x8FC603, LocationType.Visible, "Missile (pink Maridia)", 
+                lambda items: self.CanReachAqueduct(items) and items.SpeedBooster if self.Logic == SMLogic.Normal else \
+                lambda items: self.CanReachAqueduct(items) and items.Gravity),
+            Location(self, 149, 0x8FC609, LocationType.Visible, "Super Missile (pink Maridia)",
+                lambda items: self.CanReachAqueduct(items) and items.SpeedBooster if self.Logic == SMLogic.Normal else \
+                lambda items: self.CanReachAqueduct(items) and items.Gravity),
+            Location(self, 150, 0x8FC6E5, LocationType.Chozo, "Spring Ball",
+                lambda items: items.Super and items.Grapple and items.CanUsePowerBombs() and (items.SpaceJump or items.HiJump) if self.Logic == SMLogic.Normal else \
+                lambda items: items.Super and items.Grapple and items.CanUsePowerBombs() and (
+                    items.Gravity and (items.CanFly() or items.HiJump) or
+                    items.Ice and items.HiJump and items.CanSpringBallJump() and items.SpaceJump)),
+            Location(self, 151, 0x8FC74D, LocationType.Hidden, "Missile (Draygon)",
+                lambda items: 
+                    items.CardMaridiaL1 and items.CardMaridiaL2 and self.CanDefeatBotwoon(items) or
+                    items.CanAccessMaridiaPortal(self.world) if self.Logic == SMLogic.Normal else \
+                lambda items: (
+                        items.CardMaridiaL1 and items.CardMaridiaL2 and self.CanDefeatBotwoon(items) or
+                        items.CanAccessMaridiaPortal(self.world)
+                    ) and items.Gravity),
+            Location(self, 152, 0x8FC755, LocationType.Visible, "Energy Tank, Botwoon",
+                lambda items: 
+                    items.CardMaridiaL1 and items.CardMaridiaL2 and self.CanDefeatBotwoon(items) or
+                    items.CanAccessMaridiaPortal(self.world) and items.CardMaridiaL2),
+            Location(self, 154, 0x8FC7A7, LocationType.Chozo, "Space Jump",
+                lambda items: self.CanDefeatDraygon(items))
+            ]
+
+    def CanReachAqueduct(self, items: Progression):
+        if self.Logic == SMLogic.Normal:
+            return items.CardMaridiaL1 and (items.CanFly() or items.SpeedBooster or items.Grapple) \
+                    or items.CardMaridiaL2 and items.CanAccessMaridiaPortal(self.world)
+        else:
+            return items.CardMaridiaL1 and (items.Gravity or items.HiJump and (items.Ice or items.CanSpringBallJump()) and items.Grapple) \
+                    or items.CardMaridiaL2 and items.CanAccessMaridiaPortal(self.world)
+
+    def CanDefeatDraygon(self, items: Progression):
+        if self.Logic == SMLogic.Normal:
+            return (items.CardMaridiaL1 and items.CardMaridiaL2 and self.CanDefeatBotwoon(items) or
+                    items.CanAccessMaridiaPortal(self.world)
+                ) and items.CardMaridiaBoss and items.Gravity and (items.SpeedBooster and items.HiJump or items.CanFly())
+        else:
+            return (items.CardMaridiaL1 and items.CardMaridiaL2 and self.CanDefeatBotwoon(items) or
+                    items.CanAccessMaridiaPortal(self.world)
+                ) and items.CardMaridiaBoss and items.Gravity
+
+
+    def CanDefeatBotwoon(self, items: Progression):
+        if self.Logic == SMLogic.Normal:
+            return items.SpeedBooster or items.CanAccessMaridiaPortal(self.world)
+        else:
+            return items.Ice or items.SpeedBooster and items.Gravity or items.CanAccessMaridiaPortal(self.world)
+
+
+    def CanEnter(self, items: Progression):
+        if self.Logic == SMLogic.Normal:
+            return items.Gravity and (
+                self.world.CanEnter("Norfair Upper West", items) and items.Super and items.CanUsePowerBombs() and
+                    (items.CanFly() or items.SpeedBooster or items.Grapple) or
+                items.CanAccessMaridiaPortal(self.world))
+        else:
+            return items.Super and self.world.CanEnter("Norfair Upper West", items) and items.CanUsePowerBombs() and (
+                    items.Gravity or items.HiJump and (items.Ice or items.CanSpringBallJump()) and items.Grapple) or \
+                items.CanAccessMaridiaPortal(self.world)
+
+    def CanComplete(self, items: Progression):
+        return self.GetLocation("Space Jump").Available(items)
diff --git a/worlds/smz3/TotalSMZ3/Regions/SuperMetroid/Maridia/Outer.py b/worlds/smz3/TotalSMZ3/Regions/SuperMetroid/Maridia/Outer.py
new file mode 100644
index 00000000..64907452
--- /dev/null
+++ b/worlds/smz3/TotalSMZ3/Regions/SuperMetroid/Maridia/Outer.py
@@ -0,0 +1,37 @@
+from worlds.smz3.TotalSMZ3.Region import SMRegion
+from worlds.smz3.TotalSMZ3.Config import Config, SMLogic
+from worlds.smz3.TotalSMZ3.Location import Location, LocationType
+from worlds.smz3.TotalSMZ3.Item import Progression
+
+class Outer(SMRegion):
+    Name = "Maridia Outer"
+    Area = "Maridia"
+
+    def __init__(self, world, config: Config):
+        super().__init__(world, config)
+        self.Locations = [
+            Location(self, 136, 0x8FC437, LocationType.Visible, "Missile (green Maridia shinespark)",
+                lambda items: items.SpeedBooster if self.Logic == SMLogic.Normal else \
+                lambda items: items.Gravity and items.SpeedBooster),
+            Location(self, 137, 0x8FC43D, LocationType.Visible, "Super Missile (green Maridia)"),
+            Location(self, 138, 0x8FC47D, LocationType.Visible, "Energy Tank, Mama turtle", 
+                lambda items: items.CanOpenRedDoors() and (items.CanFly() or items.SpeedBooster or items.Grapple) if self.Logic == SMLogic.Normal else \
+                lambda items: items.CanOpenRedDoors() and (
+                    items.CanFly() or items.SpeedBooster or items.Grapple or
+                    items.CanSpringBallJump() and (items.Gravity or items.HiJump))),
+            Location(self, 139, 0x8FC483, LocationType.Hidden, "Missile (green Maridia tatori)",
+                lambda items: items.CanOpenRedDoors())
+            ]
+
+    def CanEnter(self, items:Progression):
+        if self.Logic == SMLogic.Normal:
+            return items.Gravity and (
+                    self.world.CanEnter("Norfair Upper West", items) and items.CanUsePowerBombs() or
+                    items.CanAccessMaridiaPortal(self.world) and items.CardMaridiaL1 and items.CardMaridiaL2 and (items.CanPassBombPassages() or items.ScrewAttack))
+        else:
+            return self.world.CanEnter("Norfair Upper West", items) and items.CanUsePowerBombs() and (
+                    items.Gravity or items.HiJump and (items.CanSpringBallJump() or items.Ice)) or (
+                items.CanAccessMaridiaPortal(self.world)) and items.CardMaridiaL1 and items.CardMaridiaL2 and (
+                    items.CanPassBombPassages() or
+                    items.Gravity and items.ScrewAttack or
+                    items.Super and (items.Gravity or items.HiJump and (items.CanSpringBallJump() or items.Ice)))
\ No newline at end of file
diff --git a/worlds/smz3/TotalSMZ3/Regions/SuperMetroid/Maridia/__init__.py b/worlds/smz3/TotalSMZ3/Regions/SuperMetroid/Maridia/__init__.py
new file mode 100644
index 00000000..e69de29b
diff --git a/worlds/smz3/TotalSMZ3/Regions/SuperMetroid/NorfairLower/East.py b/worlds/smz3/TotalSMZ3/Regions/SuperMetroid/NorfairLower/East.py
new file mode 100644
index 00000000..0cd577f7
--- /dev/null
+++ b/worlds/smz3/TotalSMZ3/Regions/SuperMetroid/NorfairLower/East.py
@@ -0,0 +1,60 @@
+from worlds.smz3.TotalSMZ3.Region import SMRegion, IReward, RewardType
+from worlds.smz3.TotalSMZ3.Config import Config, SMLogic
+from worlds.smz3.TotalSMZ3.Location import Location, LocationType
+from worlds.smz3.TotalSMZ3.Item import Progression
+
+class East(SMRegion, IReward):
+    Name = "Norfair Lower East"
+    Area = "Norfair Lower"
+
+    def __init__(self, world, config: Config):
+        super().__init__(world, config)
+        self.Reward = RewardType.GoldenFourBoss
+        self.Locations = [
+            Location(self, 74, 0x8F8FCA, LocationType.Visible, "Missile (lower Norfair above fire flea room)",
+                lambda items: self.CanExit(items)),
+            Location(self, 75, 0x8F8FD2, LocationType.Visible, "Power Bomb (lower Norfair above fire flea room)",
+                lambda items: self.CanExit(items)) if self.Logic == SMLogic.Normal else \
+                lambda items: self.CanExit(items) and items.CanPassBombPassages(),
+            Location(self, 76, 0x8F90C0, LocationType.Visible, "Power Bomb (Power Bombs of shame)",
+                lambda items: self.CanExit(items) and items.CanUsePowerBombs()),
+            Location(self, 77, 0x8F9100, LocationType.Visible, "Missile (lower Norfair near Wave Beam)",
+                lambda items: self.CanExit(items)) if self.Logic == SMLogic.Normal else \
+                lambda items: self.CanExit(items) and items.Morph and items.CanDestroyBombWalls(),
+            Location(self, 78, 0x8F9108, LocationType.Hidden, "Energy Tank, Ridley",
+                lambda items: self.CanExit(items) and items.CardLowerNorfairBoss and items.CanUsePowerBombs() and items.Super),
+            Location(self, 80, 0x8F9184, LocationType.Visible, "Energy Tank, Firefleas",
+                lambda items: self.CanExit(items))
+            ]
+
+    def CanExit(self, items:Progression):
+        if self.Logic == SMLogic.Normal:
+                # /*Bubble Mountain*/
+            return items.CardNorfairL2 or (
+                # /* Volcano Room and Blue Gate */
+                items.Gravity) and items.Wave and (
+                # /*Spikey Acid Snakes and Croc Escape*/
+                items.Grapple or items.SpaceJump)
+        else:
+            # /*Vanilla LN Escape*/
+            return (items.Morph and (items.CardNorfairL2 or # /*Bubble Mountain*/ 
+                                        (items.Missile or items.Super or items.Wave) and # /* Blue Gate */
+                                    (items.SpeedBooster or items.CanFly() or items.Grapple or items.HiJump and 
+                                    (items.CanSpringBallJump() or items.Ice))) or # /*Frog Speedway or Croc Escape*/
+                # /*Reverse Amphitheater*/
+                    items.HasEnergyReserves(5))
+
+    def CanEnter(self, items:Progression):
+        if self.Logic == SMLogic.Normal:
+            return items.Varia and items.CardLowerNorfairL1 and (
+                    self.world.CanEnter("Norfair Upper East", items) and items.CanUsePowerBombs() and items.SpaceJump and items.Gravity or
+                    items.CanAccessNorfairLowerPortal() and items.CanDestroyBombWalls() and items.Super and items.CanUsePowerBombs() and items.CanFly())
+        else:
+            return items.Varia and items.CardLowerNorfairL1 and (
+                    self.world.CanEnter("Norfair Upper East", items) and items.CanUsePowerBombs() and (items.HiJump or items.Gravity) or
+                    items.CanAccessNorfairLowerPortal() and items.CanDestroyBombWalls() and items.Super and (items.CanFly() or items.CanSpringBallJump() or items.SpeedBooster)) and (
+                items.CanFly() or items.HiJump or items.CanSpringBallJump() or items.Ice and items.Charge) and (
+                items.CanPassBombPassages() or items.ScrewAttack and items.SpaceJump)                     
+
+    def CanComplete(self, items:Progression):
+        return self.GetLocation("Energy Tank, Ridley").Available(items)
\ No newline at end of file
diff --git a/worlds/smz3/TotalSMZ3/Regions/SuperMetroid/NorfairLower/West.py b/worlds/smz3/TotalSMZ3/Regions/SuperMetroid/NorfairLower/West.py
new file mode 100644
index 00000000..8740c545
--- /dev/null
+++ b/worlds/smz3/TotalSMZ3/Regions/SuperMetroid/NorfairLower/West.py
@@ -0,0 +1,67 @@
+from worlds.smz3.TotalSMZ3.Region import SMRegion
+from worlds.smz3.TotalSMZ3.Config import Config, SMLogic
+from worlds.smz3.TotalSMZ3.Location import Location, LocationType
+from worlds.smz3.TotalSMZ3.Item import Progression
+
+class West(SMRegion):
+    Name = "Norfair Lower West"
+    Area = "Norfair Lower"
+
+    def __init__(self, world, config: Config):
+        super().__init__(world, config)
+        self.Locations = [
+            Location(self, 70, 0x8F8E6E, LocationType.Visible, "Missile (Gold Torizo)",
+                lambda items: items.CanUsePowerBombs() and items.SpaceJump and items.Super if self.Logic == SMLogic.Normal else \
+                lambda items: items.CanUsePowerBombs() and items.SpaceJump and items.Varia and (
+                    items.HiJump or items.Gravity or
+                    items.CanAccessNorfairLowerPortal() and (items.CanFly() or items.CanSpringBallJump() or items.SpeedBooster) and items.Super)),
+            Location(self, 71, 0x8F8E74, LocationType.Hidden, "Super Missile (Gold Torizo)",
+                lambda items: items.CanDestroyBombWalls() and (items.Super or items.Charge) and
+                    (items.CanAccessNorfairLowerPortal() or items.SpaceJump and items.CanUsePowerBombs()) if self.Logic == SMLogic.Normal else \
+                lambda items: items.CanDestroyBombWalls() and items.Varia and (items.Super or items.Charge)),
+            Location(self, 79, 0x8F9110, LocationType.Chozo, "Screw Attack",
+                lambda items: items.CanDestroyBombWalls() and (items.SpaceJump and items.CanUsePowerBombs() or items.CanAccessNorfairLowerPortal()) if self.Logic == SMLogic.Normal else \
+                lambda items: items.CanDestroyBombWalls() and (items.Varia or items.CanAccessNorfairLowerPortal())),
+            Location(self, 73, 0x8F8F30, LocationType.Visible, "Missile (Mickey Mouse room)", 
+                lambda items: items.CanFly() and items.Morph and items.Super and (
+                    # /*Exit to Upper Norfair*/
+                    (items.CardLowerNorfairL1 or 
+                    # /*Vanilla or Reverse Lava Dive*/
+                    items.Gravity) and 
+                    # /*Bubble Mountain*/
+                    items.CardNorfairL2 or
+                    # /* Volcano Room and Blue Gate */
+                    items.Gravity and items.Wave and 
+                    # /*Spikey Acid Snakes and Croc Escape*/
+                    (items.Grapple or items.SpaceJump)  or
+                    # /*Exit via GT fight and Portal*/
+                    (items.CanUsePowerBombs() and items.SpaceJump and (items.Super or items.Charge))) if self.Logic == SMLogic.Normal else \
+                lambda items:
+                        items.Morph and items.Varia and items.Super and ((items.CanFly() or items.CanSpringBallJump() or
+                                        items.SpeedBooster and (items.HiJump and items.CanUsePowerBombs() or items.Charge and items.Ice)) and
+                        # /*Exit to Upper Norfair*/
+                        (items.CardNorfairL2 or (items.SpeedBooster or items.CanFly() or items.Grapple or items.HiJump and
+                    (items.CanSpringBallJump() or items.Ice))) or
+                        # /*Return to Portal*/
+                        items.CanUsePowerBombs())) 
+            ]
+
+    # // Todo: account for Croc Speedway once Norfair Upper East also do so, otherwise it would be inconsistent to do so here
+    def CanEnter(self, items:Progression):
+        if self.Logic == SMLogic.Normal:
+            return items.Varia and (
+                    self.world.CanEnter("Norfair Upper East", items) and items.CanUsePowerBombs() and items.SpaceJump and items.Gravity and (
+                        # /* Trivial case, Bubble Mountain access */
+                        items.CardNorfairL2 or
+                        # /* Frog Speedway -> UN Farming Room gate */
+                        items.SpeedBooster and items.Wave
+                    ) or
+                    items.CanAccessNorfairLowerPortal() and items.CanDestroyBombWalls()
+                )
+        else:
+            return self.world.CanEnter("Norfair Upper East", items) and items.CanUsePowerBombs() and items.Varia and (items.HiJump or items.Gravity) and (
+                    # /* Trivial case, Bubble Mountain access */
+                    items.CardNorfairL2 or
+                    # /* Frog Speedway -> UN Farming Room gate */
+                    items.SpeedBooster and (items.Missile or items.Super or items.Wave) # /* Blue Gate */
+                ) or items.CanAccessNorfairLowerPortal() and items.CanDestroyBombWalls()
\ No newline at end of file
diff --git a/worlds/smz3/TotalSMZ3/Regions/SuperMetroid/NorfairLower/__init__.py b/worlds/smz3/TotalSMZ3/Regions/SuperMetroid/NorfairLower/__init__.py
new file mode 100644
index 00000000..e69de29b
diff --git a/worlds/smz3/TotalSMZ3/Regions/SuperMetroid/NorfairUpper/Crocomire.py b/worlds/smz3/TotalSMZ3/Regions/SuperMetroid/NorfairUpper/Crocomire.py
new file mode 100644
index 00000000..914d07c3
--- /dev/null
+++ b/worlds/smz3/TotalSMZ3/Regions/SuperMetroid/NorfairUpper/Crocomire.py
@@ -0,0 +1,69 @@
+from worlds.smz3.TotalSMZ3.Region import SMRegion
+from worlds.smz3.TotalSMZ3.Config import Config, SMLogic
+from worlds.smz3.TotalSMZ3.Location import Location, LocationType
+from worlds.smz3.TotalSMZ3.Item import Progression
+
+class Crocomire(SMRegion):
+    Name = "Norfair Upper Crocomire"
+    Area = "Norfair Upper"
+
+    def __init__(self, world, config: Config):
+        super().__init__(world, config)
+        self.Locations = [
+            Location(self, 52, 0x8F8BA4, LocationType.Visible, "Energy Tank, Crocomire",
+                lambda items: self.CanAccessCrocomire(items) and (items.HasEnergyReserves(1) or items.SpaceJump or items.Grapple) if self.Logic == SMLogic.Normal else \
+                lambda items: self.CanAccessCrocomire(items)),
+            Location(self, 54, 0x8F8BC0, LocationType.Visible, "Missile (above Crocomire)", 
+                lambda items: items.CanFly() or items.Grapple or items.HiJump and items.SpeedBooster if self.Logic == SMLogic.Normal else \
+                lambda items: (items.CanFly() or items.Grapple or items.HiJump and
+                    (items.SpeedBooster or items.CanSpringBallJump() or items.Varia and items.Ice)) and items.CanHellRun()),
+            Location(self, 57, 0x8F8C04, LocationType.Visible, "Power Bomb (Crocomire)",
+                lambda items: self.CanAccessCrocomire(items) and (items.CanFly() or items.HiJump or items.Grapple) if self.Logic == SMLogic.Normal else \
+                lambda items: self.CanAccessCrocomire(items)),
+            Location(self, 58, 0x8F8C14, LocationType.Visible, "Missile (below Crocomire)", 
+                lambda items: self.CanAccessCrocomire(items) and items.Morph),
+            Location(self, 59, 0x8F8C2A, LocationType.Visible, "Missile (Grappling Beam)", 
+                lambda items: self.CanAccessCrocomire(items) and items.Morph and (items.CanFly() or items.SpeedBooster and items.CanUsePowerBombs()) if self.Logic == SMLogic.Normal else \
+                lambda items: self.CanAccessCrocomire(items) and (items.SpeedBooster or items.Morph and (items.CanFly() or items.Grapple))),
+            Location(self, 60, 0x8F8C36, LocationType.Chozo, "Grappling Beam", 
+                lambda items: self.CanAccessCrocomire(items) and items.Morph and (items.CanFly() or items.SpeedBooster and items.CanUsePowerBombs()) if self.Logic == SMLogic.Normal else \
+                lambda items: self.CanAccessCrocomire(items) and (items.SpaceJump or items.Morph or items.Grapple or
+                    items.HiJump and items.SpeedBooster))
+        ]
+
+    def CanAccessCrocomire(self, items:Progression):
+        return items.CardNorfairBoss if self.Config.Keysanity else items.Super
+
+    def CanEnter(self, items:Progression):
+        if self.Logic == SMLogic.Normal:
+            return ((items.CanDestroyBombWalls() or items.SpeedBooster) and items.Super and items.Morph or items.CanAccessNorfairUpperPortal()) and (
+                items.Varia) and (
+                    # /* Ice Beam -> Croc Speedway */
+                    (items.CardNorfairL1 if self.Config.Keysanity else items.Super) and items.CanUsePowerBombs() and items.SpeedBooster or
+                    # /* Frog Speedway */
+                    items.SpeedBooster and items.Wave or
+                    # /* Cathedral -> through the floor or Vulcano */
+                    items.CanOpenRedDoors() and (items.CardNorfairL2 if self.Config.Keysanity else items.Super) and
+                        (items.CanFly() or items.HiJump or items.SpeedBooster) and
+                        (items.CanPassBombPassages() or items.Gravity and items.Morph) and items.Wave
+                    or
+                    # /* Reverse Lava Dive */
+                    items.CanAccessNorfairLowerPortal() and items.ScrewAttack and items.SpaceJump and items.Super and 
+                    items.Gravity and items.Wave and (items.CardNorfairL2 or items.Morph))
+        else:
+            return ((items.CanDestroyBombWalls() or items.SpeedBooster) and items.Super and items.Morph or items.CanAccessNorfairUpperPortal()) and (
+                    # /* Ice Beam -> Croc Speedway */
+                    (items.CardNorfairL1 if self.Config.Keysanity else items.Super) and items.CanUsePowerBombs() and
+                        items.SpeedBooster and (items.HasEnergyReserves(3) or items.Varia) or
+                    # /* Frog Speedway */
+                    items.SpeedBooster and (items.HasEnergyReserves(2) or items.Varia) and
+                        (items.Missile or items.Super or items.Wave) or ( # /* Blue Gate */
+                    # /* Cathedral -> through the floor or Vulcano */
+                    items.CanHellRun()) and items.CanOpenRedDoors() and (items.CardNorfairL2 if self.Config.Keysanity else items.Super) and
+                        (items.CanFly() or items.HiJump or items.SpeedBooster or items.CanSpringBallJump() or items.Varia and items.Ice) and
+                        (items.CanPassBombPassages() or items.Varia and items.Morph) and
+                        (items.Missile or items.Super or items.Wave) # /* Blue Gate */
+                    ) or (
+                    # /* Reverse Lava Dive */
+                    items.CanAccessNorfairLowerPortal()) and items.ScrewAttack and items.SpaceJump and items.Varia and items.Super and (
+                    items.HasEnergyReserves(2)) and (items.CardNorfairL2 or items.Morph)
diff --git a/worlds/smz3/TotalSMZ3/Regions/SuperMetroid/NorfairUpper/East.py b/worlds/smz3/TotalSMZ3/Regions/SuperMetroid/NorfairUpper/East.py
new file mode 100644
index 00000000..a2dc2b1b
--- /dev/null
+++ b/worlds/smz3/TotalSMZ3/Regions/SuperMetroid/NorfairUpper/East.py
@@ -0,0 +1,94 @@
+from worlds.smz3.TotalSMZ3.Region import SMRegion
+from worlds.smz3.TotalSMZ3.Config import Config, SMLogic
+from worlds.smz3.TotalSMZ3.Location import Location, LocationType
+from worlds.smz3.TotalSMZ3.Item import Progression
+
+class East(SMRegion):
+    Name = "Norfair Upper East"
+    Area = "Norfair Upper"
+
+    def __init__(self, world, config: Config):
+        super().__init__(world, config)
+        self.Locations = [
+            Location(self, 61, 0x8F8C3E, LocationType.Chozo, "Reserve Tank, Norfair", 
+                lambda items: items.CardNorfairL2 and items.Morph and (
+                    items.CanFly() or
+                    items.Grapple and (items.SpeedBooster or items.CanPassBombPassages()) or
+                    items.HiJump or items.Ice
+                ) if self.Logic == SMLogic.Normal else \
+                lambda items: items.CardNorfairL2 and items.Morph and items.Super),
+            Location(self, 62, 0x8F8C44, LocationType.Hidden, "Missile (Norfair Reserve Tank)",
+                lambda items: items.CardNorfairL2 and items.Morph and (
+                    items.CanFly() or
+                    items.Grapple and (items.SpeedBooster or items.CanPassBombPassages()) or
+                    items.HiJump or items.Ice
+                ) if self.Logic == SMLogic.Normal else \
+                lambda items: items.CardNorfairL2 and items.Morph and items.Super),
+            Location(self, 63, 0x8F8C52, LocationType.Visible, "Missile (bubble Norfair green door)",
+                lambda items: items.CardNorfairL2 and (
+                    items.CanFly() or
+                    items.Grapple and items.Morph and (items.SpeedBooster or items.CanPassBombPassages()) or
+                    items.HiJump or items.Ice
+                ) if self.Logic == SMLogic.Normal else \
+                lambda items: items.CardNorfairL2 and items.Super),
+            Location(self, 64, 0x8F8C66, LocationType.Visible, "Missile (bubble Norfair)", 
+                lambda items: items.CardNorfairL2),
+            Location(self, 65, 0x8F8C74, LocationType.Hidden, "Missile (Speed Booster)",
+                lambda items: items.CardNorfairL2 and (
+                    items.CanFly() or
+                    items.Morph and (items.SpeedBooster or items.CanPassBombPassages()) or
+                    items.HiJump or items.Ice
+                ) if self.Logic == SMLogic.Normal else \
+                lambda items: items.CardNorfairL2 and items.Super),
+            Location(self, 66, 0x8F8C82, LocationType.Chozo, "Speed Booster",
+                lambda items: items.CardNorfairL2 and (
+                    items.CanFly() or
+                    items.Morph and (items.SpeedBooster or items.CanPassBombPassages()) or
+                    items.HiJump or items.Ice
+                ) if self.Logic == SMLogic.Normal else \
+                lambda items: items.CardNorfairL2 and items.Super),
+            Location(self, 67, 0x8F8CBC, LocationType.Visible, "Missile (Wave Beam)",
+                lambda items: items.CardNorfairL2 and (
+                    items.CanFly() or
+                    items.Morph and (items.SpeedBooster or items.CanPassBombPassages()) or
+                    items.HiJump or items.Ice
+                ) or
+                items.SpeedBooster and items.Wave and items.Morph and items.Super if self.Logic == SMLogic.Normal else \
+                lambda items: items.CardNorfairL2 or items.Varia),
+            Location(self, 68, 0x8F8CCA, LocationType.Chozo, "Wave Beam",
+                lambda items: items.Morph and (
+                    items.CardNorfairL2 and (
+                        items.CanFly() or
+                        items.Morph and (items.SpeedBooster or items.CanPassBombPassages()) or
+                        items.HiJump or items.Ice
+                    ) or
+                    items.SpeedBooster and items.Wave and items.Morph and items.Super
+                ) if self.Logic == SMLogic.Normal else \
+                lambda items: items.CanOpenRedDoors() and (items.CardNorfairL2 or items.Varia) and
+                    (items.Morph or items.Grapple or items.HiJump and items.Varia or items.SpaceJump))
+            ]
+
+    # // Todo: Super is not actually needed for Frog Speedway, but changing this will affect locations
+    # // Todo: Ice Beam -> Croc Speedway is not considered
+    def CanEnter(self, items:Progression):
+        if self.Logic == SMLogic.Normal:
+            return ((items.CanDestroyBombWalls() or items.SpeedBooster) and items.Super and items.Morph or
+                    items.CanAccessNorfairUpperPortal()
+                ) and items.Varia and items.Super and (
+                    # /* Cathedral */
+                    items.CanOpenRedDoors() and (items.CardNorfairL2 if self.Config.Keysanity else items.Super) and
+                        (items.CanFly() or items.HiJump or items.SpeedBooster) or
+                    # /* Frog Speedway */
+                    items.SpeedBooster and (items.CardNorfairL2 or items.Wave) and items.CanUsePowerBombs()
+                )
+        else:
+            return ((items.CanDestroyBombWalls() or items.SpeedBooster) and items.Super and items.Morph or
+                    items.CanAccessNorfairUpperPortal()) and (
+                items.CanHellRun()) and (
+                    # /* Cathedral */
+                    items.CanOpenRedDoors() and (items.CardNorfairL2 if self.Config.Keysanity else items.Super) and (
+                        items.CanFly() or items.HiJump or items.SpeedBooster or
+                        items.CanSpringBallJump() or items.Varia and items.Ice
+                    ) or
+                    # /* Frog Speedway */
+                    items.SpeedBooster and (items.CardNorfairL2 or items.Missile or items.Super or items.Wave) and items.CanUsePowerBombs())
diff --git a/worlds/smz3/TotalSMZ3/Regions/SuperMetroid/NorfairUpper/West.py b/worlds/smz3/TotalSMZ3/Regions/SuperMetroid/NorfairUpper/West.py
new file mode 100644
index 00000000..5dcafdf4
--- /dev/null
+++ b/worlds/smz3/TotalSMZ3/Regions/SuperMetroid/NorfairUpper/West.py
@@ -0,0 +1,44 @@
+from worlds.smz3.TotalSMZ3.Region import SMRegion
+from worlds.smz3.TotalSMZ3.Config import Config, SMLogic
+from worlds.smz3.TotalSMZ3.Location import Location, LocationType
+from worlds.smz3.TotalSMZ3.Item import Progression
+
+class West(SMRegion):
+    Name = "Norfair Upper West"
+    Area = "Norfair Upper"
+
+    def __init__(self, world, config: Config):
+        super().__init__(world, config)
+        self.Locations = [
+            Location(self, 49, 0x8F8AE4, LocationType.Hidden, "Missile (lava room)",
+                lambda items: items.Varia and (
+                        items.CanOpenRedDoors() and (items.CanFly() or items.HiJump or items.SpeedBooster) or
+                        self.world.CanEnter("Norfair Upper East", items) and items.CardNorfairL2
+                    ) and items.Morph if self.Logic == SMLogic.Normal else \
+                lambda items: items.CanHellRun() and (
+                        items.CanOpenRedDoors() and (
+                            items.CanFly() or items.HiJump or items.SpeedBooster or
+                            items.CanSpringBallJump() or items.Varia and items.Ice
+                        ) or
+                        self.world.CanEnter("Norfair Upper East", items) and items.CardNorfairL2
+                    ) and items.Morph),
+            Location(self, 50, 0x8F8B24, LocationType.Chozo, "Ice Beam",
+                lambda items: (items.CardNorfairL1 if config.Keysanity else items.Super) and items.CanPassBombPassages() and items.Varia and items.SpeedBooster if self.Logic == SMLogic.Normal else \
+                lambda items: (items.CardNorfairL1 if config.Keysanity else items.Super) and items.Morph and (items.Varia or items.HasEnergyReserves(3))),
+            Location(self, 51, 0x8F8B46, LocationType.Hidden, "Missile (below Ice Beam)", 
+                lambda items: (items.CardNorfairL1 if config.Keysanity else items.Super) and items.CanUsePowerBombs() and items.Varia and items.SpeedBooster if self.Logic == SMLogic.Normal else \
+                lambda items: 
+                    (items.CardNorfairL1 if config.Keysanity else items.Super) and items.CanUsePowerBombs() and (items.Varia or items.HasEnergyReserves(3)) or
+                    (items.Missile or items.Super or items.Wave) and items.Varia and items.SpeedBooster and # /* Blue Gate */
+                    # /* Access to Croc's room to get spark */
+                    (items.CardNorfairBoss if config.Keysanity else items.Super) and items.CardNorfairL1),
+            Location(self, 53, 0x8F8BAC, LocationType.Chozo, "Hi-Jump Boots", 
+                lambda items: items.CanOpenRedDoors() and items.CanPassBombPassages()),
+            Location(self, 55, 0x8F8BE6, LocationType.Visible, "Missile (Hi-Jump Boots)",
+                lambda items: items.CanOpenRedDoors() and items.Morph),
+            Location(self, 56, 0x8F8BEC, LocationType.Visible, "Energy Tank (Hi-Jump Boots)", 
+                lambda items: items.CanOpenRedDoors())
+            ]
+
+    def CanEnter(self, items:Progression):
+        return (items.CanDestroyBombWalls() or items.SpeedBooster) and items.Super and items.Morph or items.CanAccessNorfairUpperPortal()
\ No newline at end of file
diff --git a/worlds/smz3/TotalSMZ3/Regions/SuperMetroid/NorfairUpper/__init__.py b/worlds/smz3/TotalSMZ3/Regions/SuperMetroid/NorfairUpper/__init__.py
new file mode 100644
index 00000000..e69de29b
diff --git a/worlds/smz3/TotalSMZ3/Regions/SuperMetroid/WreckedShip.py b/worlds/smz3/TotalSMZ3/Regions/SuperMetroid/WreckedShip.py
new file mode 100644
index 00000000..053de3d1
--- /dev/null
+++ b/worlds/smz3/TotalSMZ3/Regions/SuperMetroid/WreckedShip.py
@@ -0,0 +1,77 @@
+from worlds.smz3.TotalSMZ3.Region import SMRegion, IReward, RewardType
+from worlds.smz3.TotalSMZ3.Config import Config, SMLogic
+from worlds.smz3.TotalSMZ3.Location import Location, LocationType
+from worlds.smz3.TotalSMZ3.Item import Progression
+
+class WreckedShip(SMRegion, IReward):
+    Name = "Wrecked Ship"
+    Area = "Wrecked Ship"
+
+    def __init__(self, world, config: Config):
+        super().__init__(world, config)
+        self.Reward = RewardType.GoldenFourBoss
+        self.Locations = [
+            Location(self, 128, 0x8FC265, LocationType.Visible, "Missile (Wrecked Ship middle)", 
+                lambda items: items.CanPassBombPassages()),
+            Location(self, 129, 0x8FC2E9, LocationType.Chozo, "Reserve Tank, Wrecked Ship",
+                lambda items: self.CanUnlockShip(items) and items.CardWreckedShipL1 and items.SpeedBooster and items.CanUsePowerBombs() and
+                    (items.Grapple or items.SpaceJump or items.Varia and items.HasEnergyReserves(2) or items.HasEnergyReserves(3)) if self.Logic == SMLogic.Normal else \
+                lambda items: self.CanUnlockShip(items) and items.CardWreckedShipL1 and items.CanUsePowerBombs() and items.SpeedBooster and
+                    (items.Varia or items.HasEnergyReserves(2))),
+            Location(self, 130, 0x8FC2EF, LocationType.Visible, "Missile (Gravity Suit)", 
+                lambda items: self.CanUnlockShip(items) and items.CardWreckedShipL1 and
+                    (items.Grapple or items.SpaceJump or items.Varia and items.HasEnergyReserves(2) or items.HasEnergyReserves(3)) if self.Logic == SMLogic.Normal else \
+                lambda items: self.CanUnlockShip(items) and items.CardWreckedShipL1 and (items.Varia or items.HasEnergyReserves(1))),
+            Location(self, 131, 0x8FC319, LocationType.Visible, "Missile (Wrecked Ship top)",
+                lambda items: self.CanUnlockShip(items)),
+            Location(self, 132, 0x8FC337, LocationType.Visible, "Energy Tank, Wrecked Ship",
+                lambda items: self.CanUnlockShip(items) and
+                    (items.HiJump or items.SpaceJump or items.SpeedBooster or items.Gravity) if self.Logic == SMLogic.Normal else \
+                lambda items: self.CanUnlockShip(items) and (items.Bombs or items.PowerBomb or items.CanSpringBallJump() or
+                    items.HiJump or items.SpaceJump or items.SpeedBooster or items.Gravity)),
+            Location(self, 133, 0x8FC357, LocationType.Visible, "Super Missile (Wrecked Ship left)",
+                lambda items: self.CanUnlockShip(items)),
+            Location(self, 134, 0x8FC365, LocationType.Visible, "Right Super, Wrecked Ship",
+                lambda items: self.CanUnlockShip(items)),
+            Location(self, 135, 0x8FC36D, LocationType.Chozo, "Gravity Suit", 
+                lambda items: self.CanUnlockShip(items) and items.CardWreckedShipL1 and
+                    (items.Grapple or items.SpaceJump or items.Varia and items.HasEnergyReserves(2) or items.HasEnergyReserves(3)) if self.Logic == SMLogic.Normal else \
+                lambda items: self.CanUnlockShip(items) and items.CardWreckedShipL1 and (items.Varia or items.HasEnergyReserves(1)))
+            ]
+
+    def CanUnlockShip(self, items:Progression):
+        return items.CardWreckedShipBoss and items.CanPassBombPassages()
+
+    def CanEnter(self, items:Progression):
+        if self.Logic == SMLogic.Normal:
+            return items.Super and (
+                    # /* Over the Moat */
+                    (items.CardCrateriaL2 if self.Config.Keysanity else items.CanUsePowerBombs()) and (
+                        items.SpeedBooster or items.Grapple or items.SpaceJump or
+                        items.Gravity and (items.CanIbj() or items.HiJump)
+                    ) or
+                    # /* Through Maridia -> Forgotten Highway */
+                    items.CanUsePowerBombs() and items.Gravity or
+                    # /* From Maridia portal -> Forgotten Highway */
+                    items.CanAccessMaridiaPortal(self.world) and items.Gravity and (
+                        items.CanDestroyBombWalls() and items.CardMaridiaL2 or
+                        self.world.GetLocation("Space Jump").Available(items)))
+        else:
+            return items.Super and (
+                    # /* Over the Moat */
+                    (items.CardCrateriaL2 if self.Config.Keysanity else items.CanUsePowerBombs()) or
+                    # /* Through Maridia -> Forgotten Highway */
+                    items.CanUsePowerBombs() and (
+                        items.Gravity or
+                        # /* Climb Mt. Everest */
+                        items.HiJump and (items.Ice or items.CanSpringBallJump()) and items.Grapple and items.CardMaridiaL1
+                    ) or
+                    # /* From Maridia portal -> Forgotten Highway */
+                    items.CanAccessMaridiaPortal(self.world) and ( 
+                        items.HiJump and items.CanPassBombPassages() and items.CardMaridiaL2 or
+                        items.Gravity and (
+                            items.CanDestroyBombWalls() and items.CardMaridiaL2 or
+                            self.world.GetLocation("Space Jump").Available(items))))
+
+    def CanComplete(self, items:Progression):
+        return self.CanEnter(items) and self.CanUnlockShip(items)
\ No newline at end of file
diff --git a/worlds/smz3/TotalSMZ3/Regions/SuperMetroid/__init__.py b/worlds/smz3/TotalSMZ3/Regions/SuperMetroid/__init__.py
new file mode 100644
index 00000000..e69de29b
diff --git a/worlds/smz3/TotalSMZ3/Regions/Zelda/CastleTower.py b/worlds/smz3/TotalSMZ3/Regions/Zelda/CastleTower.py
new file mode 100644
index 00000000..8a1eba58
--- /dev/null
+++ b/worlds/smz3/TotalSMZ3/Regions/Zelda/CastleTower.py
@@ -0,0 +1,25 @@
+from worlds.smz3.TotalSMZ3.Region import Z3Region, RewardType, IReward
+from worlds.smz3.TotalSMZ3.Config import Config
+from worlds.smz3.TotalSMZ3.Location import Location, LocationType
+from worlds.smz3.TotalSMZ3.Item import Progression, ItemType
+
+class CastleTower(Z3Region, IReward):
+    Name = "Castle Tower"
+    Area = "Castle Tower"
+
+    def __init__(self, world, config: Config):
+        super().__init__(world, config)
+        self.Reward = RewardType.Agahnim
+        self.RegionItems = [ItemType.KeyCT]
+        self.Locations = [
+            Location(self, 256+101, 0x1EAB5, LocationType.Regular, "Castle Tower - Foyer"),
+            Location(self, 256+102, 0x1EAB2, LocationType.Regular, "Castle Tower - Dark Maze",
+                lambda items: items.Lamp and items.KeyCT >= 1)
+            ]
+
+    def CanEnter(self, items: Progression):
+        return items.CanKillManyEnemies() and (items.Cape or items.MasterSword)
+
+    def CanComplete(self, items: Progression):
+        return self.CanEnter(items) and items.Lamp and items.KeyCT >= 2 and items.Sword
+
diff --git a/worlds/smz3/TotalSMZ3/Regions/Zelda/DarkWorld/DeathMountain/East.py b/worlds/smz3/TotalSMZ3/Regions/Zelda/DarkWorld/DeathMountain/East.py
new file mode 100644
index 00000000..be9eb1ba
--- /dev/null
+++ b/worlds/smz3/TotalSMZ3/Regions/Zelda/DarkWorld/DeathMountain/East.py
@@ -0,0 +1,28 @@
+from worlds.smz3.TotalSMZ3.Region import Z3Region
+from worlds.smz3.TotalSMZ3.Config import Config
+from worlds.smz3.TotalSMZ3.Location import Location, LocationType
+from worlds.smz3.TotalSMZ3.Item import Progression
+
+class East(Z3Region):
+    Name = "Dark World Death Mountain East"
+    Area = "Dark World"
+
+    def __init__(self, world, config: Config):
+        super().__init__(world, config)
+        self.Locations = [
+            Location(self, 256+65, 0x1EB51, LocationType.Regular, "Hookshot Cave - Top Right",
+                lambda items: items.MoonPearl and items.Hookshot),
+            Location(self, 256+66, 0x1EB54, LocationType.Regular, "Hookshot Cave - Top Left",
+                lambda items: items.MoonPearl and items.Hookshot),
+            Location(self, 256+67, 0x1EB57, LocationType.Regular, "Hookshot Cave - Bottom Left",
+                lambda items: items.MoonPearl and items.Hookshot),
+            Location(self, 256+68, 0x1EB5A, LocationType.Regular, "Hookshot Cave - Bottom Right",
+                lambda items: items.MoonPearl and (items.Hookshot or items.Boots)),
+            Location(self, 256+69, 0x1EA7C, LocationType.Regular, "Superbunny Cave - Top",
+                lambda items: items.MoonPearl),
+            Location(self, 256+70, 0x1EA7F, LocationType.Regular, "Superbunny Cave - Bottom",
+                lambda items: items.MoonPearl)
+            ]
+
+    def CanEnter(self, items: Progression):
+        return items.CanLiftHeavy() and self.world.CanEnter("Light World Death Mountain East", items)
diff --git a/worlds/smz3/TotalSMZ3/Regions/Zelda/DarkWorld/DeathMountain/West.py b/worlds/smz3/TotalSMZ3/Regions/Zelda/DarkWorld/DeathMountain/West.py
new file mode 100644
index 00000000..dfe3de55
--- /dev/null
+++ b/worlds/smz3/TotalSMZ3/Regions/Zelda/DarkWorld/DeathMountain/West.py
@@ -0,0 +1,16 @@
+from worlds.smz3.TotalSMZ3.Region import Z3Region
+from worlds.smz3.TotalSMZ3.Config import Config
+from worlds.smz3.TotalSMZ3.Location import Location, LocationType
+
+class West(Z3Region):
+    Name = "Dark World Death Mountain West"
+    Area = "Dark World"
+
+    def __init__(self, world, config: Config):
+        super().__init__(world, config)
+        self.Locations = [
+            Location(self, 256+64, 0x1EA8B, LocationType.Regular, "Spike Cave",
+                lambda items: items.MoonPearl and items.Hammer and items.CanLiftLight() and
+                    (items.CanExtendMagic() and items.Cape or items.Byrna) and
+                    self.world.CanEnter("Light World Death Mountain West", items))
+            ]
\ No newline at end of file
diff --git a/worlds/smz3/TotalSMZ3/Regions/Zelda/DarkWorld/DeathMountain/__init__.py b/worlds/smz3/TotalSMZ3/Regions/Zelda/DarkWorld/DeathMountain/__init__.py
new file mode 100644
index 00000000..e69de29b
diff --git a/worlds/smz3/TotalSMZ3/Regions/Zelda/DarkWorld/Mire.py b/worlds/smz3/TotalSMZ3/Regions/Zelda/DarkWorld/Mire.py
new file mode 100644
index 00000000..d7d7345a
--- /dev/null
+++ b/worlds/smz3/TotalSMZ3/Regions/Zelda/DarkWorld/Mire.py
@@ -0,0 +1,20 @@
+from worlds.smz3.TotalSMZ3.Region import Z3Region
+from worlds.smz3.TotalSMZ3.Config import Config
+from worlds.smz3.TotalSMZ3.Location import Location, LocationType
+from worlds.smz3.TotalSMZ3.Item import Progression
+
+class Mire(Z3Region):
+    Name = "Dark World Mire"
+    Area = "Dark World"
+
+    def __init__(self, world, config: Config):
+        super().__init__(world, config)
+        self.Locations = [
+            Location(self, 256+89, 0x1EA73, LocationType.Regular, "Mire Shed - Left",
+                lambda items: items.MoonPearl),
+            Location(self, 256+90, 0x1EA76, LocationType.Regular, "Mire Shed - Right",
+                lambda items: items.MoonPearl)
+        ]
+
+    def CanEnter(self, items: Progression):
+        return items.Flute and items.CanLiftHeavy() or items.CanAccessMiseryMirePortal(Config)
diff --git a/worlds/smz3/TotalSMZ3/Regions/Zelda/DarkWorld/NorthEast.py b/worlds/smz3/TotalSMZ3/Regions/Zelda/DarkWorld/NorthEast.py
new file mode 100644
index 00000000..5bc581c6
--- /dev/null
+++ b/worlds/smz3/TotalSMZ3/Regions/Zelda/DarkWorld/NorthEast.py
@@ -0,0 +1,28 @@
+from worlds.smz3.TotalSMZ3.Region import Z3Region, RewardType
+from worlds.smz3.TotalSMZ3.Config import Config
+from worlds.smz3.TotalSMZ3.Location import Location, LocationType
+from worlds.smz3.TotalSMZ3.Item import Progression
+
+class NorthEast(Z3Region):
+    Name = "Dark World North East"
+    Area = "Dark World"
+
+    def __init__(self, world, config: Config):
+        super().__init__(world, config)
+        self.Locations = [
+            Location(self, 256+78, 0x1DE185, LocationType.Regular, "Catfish",
+                lambda items: items.MoonPearl and items.CanLiftLight()),
+            Location(self, 256+79, 0x308147, LocationType.Regular, "Pyramid"),
+            Location(self, 256+80, 0x1E980, LocationType.Regular, "Pyramid Fairy - Left",
+                lambda items: self.world.CanAquireAll(items, RewardType.CrystalRed) and items.MoonPearl and self.world.CanEnter("Dark World South", items) and
+                    (items.Hammer or items.Mirror and self.world.CanAquire(items, RewardType.Agahnim))),
+            Location(self, 256+81, 0x1E983, LocationType.Regular, "Pyramid Fairy - Right",
+                lambda items: self.world.CanAquireAll(items, RewardType.CrystalRed) and items.MoonPearl and self.world.CanEnter("Dark World South", items) and
+                    (items.Hammer or items.Mirror and self.world.CanAquire(items, RewardType.Agahnim)))
+            ]
+
+    def CanEnter(self, items: Progression):
+        return self.world.CanAquire(items, RewardType.Agahnim) or items.MoonPearl and (
+            items.Hammer and items.CanLiftLight() or
+            items.CanLiftHeavy() and items.Flippers or
+            items.CanAccessDarkWorldPortal(self.Config) and items.Flippers)
diff --git a/worlds/smz3/TotalSMZ3/Regions/Zelda/DarkWorld/NorthWest.py b/worlds/smz3/TotalSMZ3/Regions/Zelda/DarkWorld/NorthWest.py
new file mode 100644
index 00000000..57b5ece1
--- /dev/null
+++ b/worlds/smz3/TotalSMZ3/Regions/Zelda/DarkWorld/NorthWest.py
@@ -0,0 +1,32 @@
+from worlds.smz3.TotalSMZ3.Region import Z3Region, RewardType
+from worlds.smz3.TotalSMZ3.Config import Config
+from worlds.smz3.TotalSMZ3.Location import Location, LocationType
+from worlds.smz3.TotalSMZ3.Item import Progression
+
+class NorthWest(Z3Region):
+    Name = "Dark World North West"
+    Area = "Dark World"
+
+    def __init__(self, world, config: Config):
+        super().__init__(world, config)
+        self.Locations = [
+            Location(self, 256+71, 0x308146, LocationType.Regular, "Bumper Cave",
+                lambda items: items.CanLiftLight() and items.Cape),
+            Location(self, 256+72, 0x1EDA8, LocationType.Regular, "Chest Game"),
+            Location(self, 256+73, 0x1E9EF, LocationType.Regular, "C-Shaped House"),
+            Location(self, 256+74, 0x1E9EC, LocationType.Regular, "Brewery"),
+            Location(self, 256+75, 0x308006, LocationType.Regular, "Hammer Pegs",
+                lambda items: items.CanLiftHeavy() and items.Hammer),
+            Location(self, 256+76, 0x30802A, LocationType.Regular, "Blacksmith",
+                lambda items: items.CanLiftHeavy()),
+            Location(self, 256+77, 0x6BD68, LocationType.Regular, "Purple Chest",
+                lambda items: items.CanLiftHeavy())
+            ]
+
+    def CanEnter(self, items: Progression):
+        return items.MoonPearl and ((
+                self.world.CanAquire(items, RewardType.Agahnim) or
+                items.CanAccessDarkWorldPortal(self.Config) and items.Flippers
+            ) and items.Hookshot and (items.Flippers or items.CanLiftLight() or items.Hammer) or
+            items.Hammer and items.CanLiftLight() or
+            items.CanLiftHeavy())
diff --git a/worlds/smz3/TotalSMZ3/Regions/Zelda/DarkWorld/South.py b/worlds/smz3/TotalSMZ3/Regions/Zelda/DarkWorld/South.py
new file mode 100644
index 00000000..f43cb888
--- /dev/null
+++ b/worlds/smz3/TotalSMZ3/Regions/Zelda/DarkWorld/South.py
@@ -0,0 +1,28 @@
+from worlds.smz3.TotalSMZ3.Region import Z3Region, RewardType
+from worlds.smz3.TotalSMZ3.Config import Config
+from worlds.smz3.TotalSMZ3.Location import Location, LocationType
+from worlds.smz3.TotalSMZ3.Item import Progression
+
+class South(Z3Region):
+    Name = "Dark World South"
+    Area = "Dark World"
+
+    def __init__(self, world, config: Config):
+        super().__init__(world, config)
+        self.Locations = [
+            Location(self, 256+82, 0x308148, LocationType.Regular, "Digging Game"),
+            Location(self, 256+83, 0x6B0C7, LocationType.Regular, "Stumpy"),
+            Location(self, 256+84, 0x1EB1E, LocationType.Regular, "Hype Cave - Top"),
+            Location(self, 256+85, 0x1EB21, LocationType.Regular, "Hype Cave - Middle Right"),
+            Location(self, 256+86, 0x1EB24, LocationType.Regular, "Hype Cave - Middle Left"),
+            Location(self, 256+87, 0x1EB27, LocationType.Regular, "Hype Cave - Bottom"),
+            Location(self, 256+88, 0x308011, LocationType.Regular, "Hype Cave - NPC")
+            ]
+
+    def CanEnter(self, items: Progression):
+        return items.MoonPearl and ((
+                self.world.CanAquire(items, RewardType.Agahnim) or
+                items.CanAccessDarkWorldPortal(self.Config) and items.Flippers
+            ) and (items.Hammer or items.Hookshot and (items.Flippers or items.CanLiftLight())) or
+            items.Hammer and items.CanLiftLight() or
+            items.CanLiftHeavy())
diff --git a/worlds/smz3/TotalSMZ3/Regions/Zelda/DarkWorld/__init__.py b/worlds/smz3/TotalSMZ3/Regions/Zelda/DarkWorld/__init__.py
new file mode 100644
index 00000000..e69de29b
diff --git a/worlds/smz3/TotalSMZ3/Regions/Zelda/DesertPalace.py b/worlds/smz3/TotalSMZ3/Regions/Zelda/DesertPalace.py
new file mode 100644
index 00000000..117f2166
--- /dev/null
+++ b/worlds/smz3/TotalSMZ3/Regions/Zelda/DesertPalace.py
@@ -0,0 +1,42 @@
+from worlds.smz3.TotalSMZ3.Region import Z3Region, RewardType, IReward
+from worlds.smz3.TotalSMZ3.Config import Config
+from worlds.smz3.TotalSMZ3.Location import Location, LocationType
+from worlds.smz3.TotalSMZ3.Item import ItemType, Progression
+
+class DesertPalace(Z3Region, IReward):
+    Name = "Desert Palace"
+    Area = "Desert Palace"
+
+    def __init__(self, world, config: Config):
+        super().__init__(world, config)
+        self.Reward = RewardType.Null
+        self.RegionItems = [ ItemType.KeyDP, ItemType.BigKeyDP, ItemType.MapDP, ItemType.CompassDP ]
+        self.Locations = [
+            Location(self, 256+109, 0x1E98F, LocationType.Regular, "Desert Palace - Big Chest",
+                lambda items: items.BigKeyDP),
+            Location(self, 256+110, 0x308160, LocationType.Regular, "Desert Palace - Torch",
+                lambda items: items.Boots),
+            Location(self, 256+111, 0x1E9B6, LocationType.Regular, "Desert Palace - Map Chest"),
+            Location(self, 256+112, 0x1E9C2, LocationType.Regular, "Desert Palace - Big Key Chest",
+                lambda items: items.KeyDP),
+            Location(self, 256+113, 0x1E9CB, LocationType.Regular, "Desert Palace - Compass Chest",
+                lambda items: items.KeyDP),
+            Location(self, 256+114, 0x308151, LocationType.Regular, "Desert Palace - Lanmolas",
+                lambda items: (
+                    items.CanLiftLight() or
+                    items.CanAccessMiseryMirePortal(self.Config) and items.Mirror
+                ) and items.BigKeyDP and items.KeyDP and items.CanLightTorches() and self.CanBeatBoss(items))
+            ]
+
+    def CanBeatBoss(self, items: Progression):
+        return items.Sword or items.Hammer or items.Bow or \
+            items.Firerod or items.Icerod or \
+            items.Byrna or items.Somaria
+
+    def CanEnter(self, items: Progression):
+        return items.Book or \
+            items.Mirror and items.CanLiftHeavy() and items.Flute or \
+            items.CanAccessMiseryMirePortal(self.Config) and items.Mirror
+
+    def CanComplete(self, items: Progression):
+        return self.GetLocation("Desert Palace - Lanmolas").Available(items)
diff --git a/worlds/smz3/TotalSMZ3/Regions/Zelda/EasternPalace.py b/worlds/smz3/TotalSMZ3/Regions/Zelda/EasternPalace.py
new file mode 100644
index 00000000..77ded239
--- /dev/null
+++ b/worlds/smz3/TotalSMZ3/Regions/Zelda/EasternPalace.py
@@ -0,0 +1,27 @@
+from worlds.smz3.TotalSMZ3.Region import Z3Region, RewardType, IReward
+from worlds.smz3.TotalSMZ3.Config import Config
+from worlds.smz3.TotalSMZ3.Location import Location, LocationType
+from worlds.smz3.TotalSMZ3.Item import Progression, ItemType
+
+class EasternPalace(Z3Region, IReward):
+    Name = "Eastern Palace"
+    Area = "Eastern Palace"
+
+    def __init__(self, world, config: Config):
+        super().__init__(world, config)
+        self.Reward = RewardType.Null
+        self.RegionItems = [ ItemType.BigKeyEP, ItemType.MapEP, ItemType.CompassEP ]
+        self.Locations = [
+            Location(self, 256+103, 0x1E9B3, LocationType.Regular, "Eastern Palace - Cannonball Chest"),
+            Location(self, 256+104, 0x1E9F5, LocationType.Regular, "Eastern Palace - Map Chest"),
+            Location(self, 256+105, 0x1E977, LocationType.Regular, "Eastern Palace - Compass Chest"),
+            Location(self, 256+106, 0x1E97D, LocationType.Regular, "Eastern Palace - Big Chest",
+                lambda items: items.BigKeyEP),
+            Location(self, 256+107, 0x1E9B9, LocationType.Regular, "Eastern Palace - Big Key Chest",
+                lambda items: items.Lamp),
+            Location(self, 256+108, 0x308150, LocationType.Regular, "Eastern Palace - Armos Knights",
+                lambda items: items.BigKeyEP and items.Bow and items.Lamp)
+            ]
+
+    def CanComplete(self, items: Progression):
+        return self.GetLocation("Eastern Palace - Armos Knights").Available(items)
diff --git a/worlds/smz3/TotalSMZ3/Regions/Zelda/GanonsTower.py b/worlds/smz3/TotalSMZ3/Regions/Zelda/GanonsTower.py
new file mode 100644
index 00000000..68fbd3b8
--- /dev/null
+++ b/worlds/smz3/TotalSMZ3/Regions/Zelda/GanonsTower.py
@@ -0,0 +1,146 @@
+from typing import List
+from worlds.smz3.TotalSMZ3.Region import Z3Region, RewardType
+from worlds.smz3.TotalSMZ3.Config import Config, GameMode, KeyShuffle
+from worlds.smz3.TotalSMZ3.Location import Location, LocationType
+from worlds.smz3.TotalSMZ3.Item import Item, Progression, ItemType
+
+class GanonsTower(Z3Region):
+    Name = "Ganon's Tower"
+    Area = "Ganon's Tower"
+
+    def __init__(self, world, config: Config):
+        super().__init__(world, config)
+        self.Reward = RewardType.Null
+        self.RegionItems = [ ItemType.KeyGT, ItemType.BigKeyGT, ItemType.MapGT , ItemType.CompassGT]
+        self.Locations = [
+            Location(self, 256+189, 0x308161, LocationType.Regular, "Ganon's Tower - Bob's Torch",
+                lambda items: items.Boots),
+            Location(self, 256+190, 0x1EAB8, LocationType.Regular, "Ganon's Tower - DMs Room - Top Left",
+                lambda items: items.Hammer and items.Hookshot),
+            Location(self, 256+191, 0x1EABB, LocationType.Regular, "Ganon's Tower - DMs Room - Top Right",
+                lambda items: items.Hammer and items.Hookshot),
+            Location(self, 256+192, 0x1EABE, LocationType.Regular, "Ganon's Tower - DMs Room - Bottom Left",
+                lambda items: items.Hammer and items.Hookshot),
+            Location(self, 256+193, 0x1EAC1, LocationType.Regular, "Ganon's Tower - DMs Room - Bottom Right",
+                lambda items: items.Hammer and items.Hookshot),
+            Location(self, 256+194, 0x1EAD3, LocationType.Regular, "Ganon's Tower - Map Chest",
+                lambda items: items.Hammer and (items.Hookshot or items.Boots) and items.KeyGT >=
+                    (3 if any(self.GetLocation("Ganon's Tower - Map Chest").ItemIs(type, self.world) for type in [ItemType.BigKeyGT, ItemType.KeyGT]) else 4))
+                .AlwaysAllow(lambda item, items: item.Is(ItemType.KeyGT, self.world) and items.KeyGT >= 3),
+            Location(self, 256+195, 0x1EAD0, LocationType.Regular, "Ganon's Tower - Firesnake Room",
+                lambda items: items.Hammer and items.Hookshot and items.KeyGT >= (2 if any(l.ItemIs(ItemType.BigKeyGT, self.world) for l in [
+                        self.GetLocation("Ganon's Tower - Randomizer Room - Top Right"),
+                        self.GetLocation("Ganon's Tower - Randomizer Room - Top Left"),
+                        self.GetLocation("Ganon's Tower - Randomizer Room - Bottom Left"),
+                        self.GetLocation("Ganon's Tower - Randomizer Room - Bottom Right")
+                    ]) or self.GetLocation("Ganon's Tower - Firesnake Room").ItemIs(ItemType.KeyGT, self.world) else 3)),
+            Location(self, 256+196, 0x1EAC4, LocationType.Regular, "Ganon's Tower - Randomizer Room - Top Left",
+                lambda items: self.LeftSide(items, [
+                    self.GetLocation("Ganon's Tower - Randomizer Room - Top Right"),
+                    self.GetLocation("Ganon's Tower - Randomizer Room - Bottom Left"),
+                    self.GetLocation("Ganon's Tower - Randomizer Room - Bottom Right")
+                ])),
+            Location(self, 256+197, 0x1EAC7, LocationType.Regular, "Ganon's Tower - Randomizer Room - Top Right",
+                lambda items: self.LeftSide(items, [
+                    self.GetLocation("Ganon's Tower - Randomizer Room - Top Left"),
+                    self.GetLocation("Ganon's Tower - Randomizer Room - Bottom Left"),
+                    self.GetLocation("Ganon's Tower - Randomizer Room - Bottom Right")
+                ])),
+            Location(self, 256+198, 0x1EACA, LocationType.Regular, "Ganon's Tower - Randomizer Room - Bottom Left",
+                lambda items: self.LeftSide(items, [
+                    self.GetLocation("Ganon's Tower - Randomizer Room - Top Right"),
+                    self.GetLocation("Ganon's Tower - Randomizer Room - Top Left"),
+                    self.GetLocation("Ganon's Tower - Randomizer Room - Bottom Right")
+                ])),
+            Location(self, 256+199, 0x1EACD, LocationType.Regular, "Ganon's Tower - Randomizer Room - Bottom Right",
+                lambda items: self.LeftSide(items, [
+                    self.GetLocation("Ganon's Tower - Randomizer Room - Top Right"),
+                    self.GetLocation("Ganon's Tower - Randomizer Room - Top Left"),
+                    self.GetLocation("Ganon's Tower - Randomizer Room - Bottom Left")
+                ])),
+            Location(self, 256+200, 0x1EAD9, LocationType.Regular, "Ganon's Tower - Hope Room - Left"),
+            Location(self, 256+201, 0x1EADC, LocationType.Regular, "Ganon's Tower - Hope Room - Right"),
+            Location(self, 256+202, 0x1EAE2, LocationType.Regular, "Ganon's Tower - Tile Room",
+                lambda items: items.Somaria),
+            Location(self, 256+203, 0x1EAE5, LocationType.Regular, "Ganon's Tower - Compass Room - Top Left",
+                lambda items: self.RightSide(items, [
+                    self.GetLocation("Ganon's Tower - Compass Room - Top Right"),
+                    self.GetLocation("Ganon's Tower - Compass Room - Bottom Left"),
+                    self.GetLocation("Ganon's Tower - Compass Room - Bottom Right")
+                ])),
+            Location(self, 256+204, 0x1EAE8, LocationType.Regular, "Ganon's Tower - Compass Room - Top Right",
+                lambda items: self.RightSide(items, [
+                    self.GetLocation("Ganon's Tower - Compass Room - Top Left"),
+                    self.GetLocation("Ganon's Tower - Compass Room - Bottom Left"),
+                    self.GetLocation("Ganon's Tower - Compass Room - Bottom Right")
+                ])),
+            Location(self, 256+205, 0x1EAEB, LocationType.Regular, "Ganon's Tower - Compass Room - Bottom Left",
+                lambda items: self.RightSide(items, [
+                    self.GetLocation("Ganon's Tower - Compass Room - Top Right"),
+                    self.GetLocation("Ganon's Tower - Compass Room - Top Left"),
+                    self.GetLocation("Ganon's Tower - Compass Room - Bottom Right")
+                ])),
+            Location(self, 256+206, 0x1EAEE, LocationType.Regular, "Ganon's Tower - Compass Room - Bottom Right",
+                lambda items: self.RightSide(items, [
+                    self.GetLocation("Ganon's Tower - Compass Room - Top Right"),
+                    self.GetLocation("Ganon's Tower - Compass Room - Top Left"),
+                    self.GetLocation("Ganon's Tower - Compass Room - Bottom Left")
+                ])),
+            Location(self, 256+207, 0x1EADF, LocationType.Regular, "Ganon's Tower - Bob's Chest",
+                lambda items: items.KeyGT >= 3 and (
+                    items.Hammer and items.Hookshot or
+                    items.Somaria and items.Firerod)),
+            Location(self, 256+208, 0x1EAD6, LocationType.Regular, "Ganon's Tower - Big Chest",
+                lambda items: items.BigKeyGT and items.KeyGT >= 3 and (
+                    items.Hammer and items.Hookshot or
+                    items.Somaria and items.Firerod))
+                .Allow(lambda item, items: item.IsNot(ItemType.BigKeyGT, self.world)),
+            Location(self, 256+209, 0x1EAF1, LocationType.Regular, "Ganon's Tower - Big Key Chest", self.BigKeyRoom),
+            Location(self, 256+210, 0x1EAF4, LocationType.Regular, "Ganon's Tower - Big Key Room - Left", self.BigKeyRoom),
+            Location(self, 256+211, 0x1EAF7, LocationType.Regular, "Ganon's Tower - Big Key Room - Right", self.BigKeyRoom),
+            Location(self, 256+212, 0x1EAFD, LocationType.Regular, "Ganon's Tower - Mini Helmasaur Room - Left", self.TowerAscend)
+                .Allow(lambda item, items: item.IsNot(ItemType.BigKeyGT, self.world)),
+            Location(self, 256+213, 0x1EB00, LocationType.Regular, "Ganon's Tower - Mini Helmasaur Room - Right", self.TowerAscend)
+                .Allow(lambda item, items: item.IsNot(ItemType.BigKeyGT, self.world)),
+            Location(self, 256+214, 0x1EB03, LocationType.Regular, "Ganon's Tower - Pre-Moldorm Chest", self.TowerAscend)
+                .Allow(lambda item, items: item.IsNot(ItemType.BigKeyGT, self.world)),
+            Location(self, 256+215, 0x1EB06, LocationType.Regular, "Ganon's Tower - Moldorm Chest",
+                lambda items: items.BigKeyGT and items.KeyGT >= 4 and
+                    items.Bow and items.CanLightTorches() and
+                    self.CanBeatMoldorm(items) and items.Hookshot)
+                .Allow(lambda item, items: all(item.IsNot(type, self.world) for type in [ ItemType.KeyGT, ItemType.BigKeyGT ]))
+            ]
+
+    def LeftSide(self, items: Progression, locations: List[Location]):
+        return items.Hammer and items.Hookshot and items.KeyGT >= (3 if any(l.ItemIs(ItemType.BigKeyGT, self.world) for l in locations) else 4)
+
+    def RightSide(self, items: Progression, locations: List[Location]):
+        return items.Somaria and items.Firerod and items.KeyGT >= (3 if any(l.ItemIs(ItemType.BigKeyGT, self.world) for l in locations) else 4)
+
+    def BigKeyRoom(self, items: Progression):
+        return items.KeyGT >= 3 and self.CanBeatArmos(items) \
+            and (items.Hammer and items.Hookshot or items.Firerod and items.Somaria)
+
+    def TowerAscend(self, items: Progression):
+        return items.BigKeyGT and items.KeyGT >= 3 and items.Bow and items.CanLightTorches()
+        
+    def CanBeatArmos(self, items: Progression):
+        return items.Sword or items.Hammer or items.Bow or \
+            items.CanExtendMagic(2) and (items.Somaria or items.Byrna) or \
+            items.CanExtendMagic(4) and (items.Firerod or items.Icerod)
+
+    def CanBeatMoldorm(self, items: Progression):
+        return items.Sword or items.Hammer
+
+    def CanEnter(self, items: Progression):
+        return items.MoonPearl and self.world.CanEnter("Dark World Death Mountain East", items) and \
+            self.world.CanAquireAll(items, RewardType.CrystalBlue, RewardType.CrystalRed, RewardType.GoldenFourBoss)
+
+    def CanFill(self, item: Item):
+        if (self.Config.GameMode == GameMode.Multiworld):
+            if (item.World != self.world or item.Progression):
+                return False
+            if (self.Config.KeyShuffle == KeyShuffle.Keysanity and not ((item.Type == ItemType.BigKeyGT or item.Type == ItemType.KeyGT) and item.World == self.world) and (item.IsKey() or item.IsBigKey() or item.IsKeycard())):
+                return False
+        return super().CanFill(item)
+
diff --git a/worlds/smz3/TotalSMZ3/Regions/Zelda/HyruleCastle.py b/worlds/smz3/TotalSMZ3/Regions/Zelda/HyruleCastle.py
new file mode 100644
index 00000000..20a68a3f
--- /dev/null
+++ b/worlds/smz3/TotalSMZ3/Regions/Zelda/HyruleCastle.py
@@ -0,0 +1,34 @@
+from typing import List
+from worlds.smz3.TotalSMZ3.Region import Z3Region
+from worlds.smz3.TotalSMZ3.Config import Config
+from worlds.smz3.TotalSMZ3.Location import Location, LocationType
+from worlds.smz3.TotalSMZ3.Item import ItemType
+
+class HyruleCastle(Z3Region):
+    Name = "Hyrule Castle"
+    Area = "Hyrule Castle"
+
+    def __init__(self, world, config: Config):
+        super().__init__(world, config)
+        self.RegionItems = [ ItemType.KeyHC, ItemType.MapHC]
+        sphereOne = -10
+        self.Locations = [
+            Location(self, 256+91, 0x1EA79, LocationType.Regular, "Sanctuary").Weighted(sphereOne),
+            Location(self, 256+92, 0x1EB5D, LocationType.Regular, "Sewers - Secret Room - Left",
+                lambda items: items.CanLiftLight() or items.Lamp and items.KeyHC),
+            Location(self, 256+93, 0x1EB60, LocationType.Regular, "Sewers - Secret Room - Middle",
+                lambda items: items.CanLiftLight() or items.Lamp and items.KeyHC),
+            Location(self, 256+94, 0x1EB63, LocationType.Regular, "Sewers - Secret Room - Right",
+                lambda items: items.CanLiftLight() or items.Lamp and items.KeyHC),
+            Location(self, 256+95, 0x1E96E, LocationType.Regular, "Sewers - Dark Cross",
+                lambda items: items.Lamp),
+            Location(self, 256+96, 0x1EB0C, LocationType.Regular, "Hyrule Castle - Map Chest").Weighted(sphereOne),
+            Location(self, 256+97, 0x1E974, LocationType.Regular, "Hyrule Castle - Boomerang Chest",
+                lambda items: items.KeyHC).Weighted(sphereOne),
+            Location(self, 256+98, 0x1EB09, LocationType.Regular, "Hyrule Castle - Zelda's Cell",
+                lambda items: items.KeyHC).Weighted(sphereOne),
+            Location(self, 256+99, 0x5DF45, LocationType.NotInDungeon, "Link's Uncle")
+                .Allow(lambda item, items: self.Config.Keysanity or not item.IsDungeonItem()).Weighted(sphereOne),
+            Location(self, 256+100, 0x1E971, LocationType.NotInDungeon, "Secret Passage")
+                .Allow(lambda item, items: self.Config.Keysanity or not item.IsDungeonItem()).Weighted(sphereOne),
+            ]
\ No newline at end of file
diff --git a/worlds/smz3/TotalSMZ3/Regions/Zelda/IcePalace.py b/worlds/smz3/TotalSMZ3/Regions/Zelda/IcePalace.py
new file mode 100644
index 00000000..6543017c
--- /dev/null
+++ b/worlds/smz3/TotalSMZ3/Regions/Zelda/IcePalace.py
@@ -0,0 +1,52 @@
+from typing import List
+from worlds.smz3.TotalSMZ3.Region import Z3Region, RewardType, IReward
+from worlds.smz3.TotalSMZ3.Config import Config
+from worlds.smz3.TotalSMZ3.Location import Location, LocationType
+from worlds.smz3.TotalSMZ3.Item import Progression, ItemType
+
+class IcePalace(Z3Region, IReward):
+    Name = "Ice Palace"
+    Area = "Ice Palace"
+
+    def __init__(self, world, config: Config):
+        super().__init__(world, config)
+        self.RegionItems = [ ItemType.KeyIP, ItemType.BigKeyIP, ItemType.MapIP, ItemType.CompassIP]
+        self.Reward = RewardType.Null
+        self.Locations = [
+            Location(self, 256+161, 0x1E9D4, LocationType.Regular, "Ice Palace - Compass Chest"),
+            Location(self, 256+162, 0x1E9E0, LocationType.Regular, "Ice Palace - Spike Room",
+                lambda items: items.Hookshot or items.KeyIP >= 1 and self.CanNotWasteKeysBeforeAccessible(items, [
+                    self.GetLocation("Ice Palace - Map Chest"),
+                    self.GetLocation("Ice Palace - Big Key Chest")
+                ])),
+            Location(self, 256+163, 0x1E9DD, LocationType.Regular, "Ice Palace - Map Chest",
+                lambda items: items.Hammer and items.CanLiftLight() and (
+                    items.Hookshot or items.KeyIP >= 1 and self.CanNotWasteKeysBeforeAccessible(items, [
+                        self.GetLocation("Ice Palace - Spike Room"),
+                        self.GetLocation("Ice Palace - Big Key Chest")
+                    ])
+                )),
+            Location(self, 256+164, 0x1E9A4, LocationType.Regular, "Ice Palace - Big Key Chest",
+                lambda items: items.Hammer and items.CanLiftLight() and (
+                    items.Hookshot or items.KeyIP >= 1 and self.CanNotWasteKeysBeforeAccessible(items, [
+                        self.GetLocation("Ice Palace - Spike Room"),
+                        self.GetLocation("Ice Palace - Map Chest")
+                    ])
+                )),
+            Location(self, 256+165, 0x1E9E3, LocationType.Regular, "Ice Palace - Iced T Room"),
+            Location(self, 256+166, 0x1E995, LocationType.Regular, "Ice Palace - Freezor Chest"),
+            Location(self, 256+167, 0x1E9AA, LocationType.Regular, "Ice Palace - Big Chest",
+                lambda items: items.BigKeyIP),
+            Location(self, 256+168, 0x308157, LocationType.Regular, "Ice Palace - Kholdstare",
+                lambda items: items.BigKeyIP and items.Hammer and items.CanLiftLight() and
+                    items.KeyIP >= (1 if items.Somaria else 2))
+            ]
+
+    def CanNotWasteKeysBeforeAccessible(self, items: Progression, locations: List[Location]):
+        return not items.BigKeyIP or any(l.ItemIs(ItemType.BigKeyIP, self.world) for l in locations)
+
+    def CanEnter(self, items: Progression):
+        return items.MoonPearl and items.Flippers and items.CanLiftHeavy() and items.CanMeltFreezors()
+
+    def CanComplete(self, items: Progression):
+        return self.GetLocation("Ice Palace - Kholdstare").Available(items)
\ No newline at end of file
diff --git a/worlds/smz3/TotalSMZ3/Regions/Zelda/LightWorld/DeathMountain/East.py b/worlds/smz3/TotalSMZ3/Regions/Zelda/LightWorld/DeathMountain/East.py
new file mode 100644
index 00000000..10cd333a
--- /dev/null
+++ b/worlds/smz3/TotalSMZ3/Regions/Zelda/LightWorld/DeathMountain/East.py
@@ -0,0 +1,30 @@
+from worlds.smz3.TotalSMZ3.Region import Z3Region
+from worlds.smz3.TotalSMZ3.Config import Config
+from worlds.smz3.TotalSMZ3.Location import Location, LocationType
+from worlds.smz3.TotalSMZ3.Item import Progression
+
+class East(Z3Region):
+    Name = "Light World Death Mountain East"
+    Area = "Death Mountain"
+
+    def __init__(self, world, config: Config):
+        super().__init__(world, config)
+        self.Locations = [
+            Location(self, 256+4, 0x308141, LocationType.Regular, "Floating Island",
+                lambda items: items.Mirror and items.MoonPearl and items.CanLiftHeavy()),
+            Location(self, 256+5, 0x1E9BF, LocationType.Regular, "Spiral Cave"),
+            Location(self, 256+6, 0x1EB39, LocationType.Regular, "Paradox Cave Upper - Left"),
+            Location(self, 256+7, 0x1EB3C, LocationType.Regular, "Paradox Cave Upper - Right"),
+            Location(self, 256+8, 0x1EB2A, LocationType.Regular, "Paradox Cave Lower - Far Left"),
+            Location(self, 256+9, 0x1EB2D, LocationType.Regular, "Paradox Cave Lower - Left"),
+            Location(self, 256+10, 0x1EB36, LocationType.Regular, "Paradox Cave Lower - Middle"),
+            Location(self, 256+11, 0x1EB30, LocationType.Regular, "Paradox Cave Lower - Right"),
+            Location(self, 256+12, 0x1EB33, LocationType.Regular, "Paradox Cave Lower - Far Right"),
+            Location(self, 256+13, 0x1E9C5, LocationType.Regular, "Mimic Cave",
+                lambda items: items.Mirror and items.KeyTR >= 2 and self.world.CanEnter("Turtle Rock", items))
+            ]
+
+    def CanEnter(self, items: Progression):
+        return self.world.CanEnter("Light World Death Mountain West", items) and (
+            items.Hammer and items.Mirror or
+            items.Hookshot)
\ No newline at end of file
diff --git a/worlds/smz3/TotalSMZ3/Regions/Zelda/LightWorld/DeathMountain/West.py b/worlds/smz3/TotalSMZ3/Regions/Zelda/LightWorld/DeathMountain/West.py
new file mode 100644
index 00000000..47f20f5e
--- /dev/null
+++ b/worlds/smz3/TotalSMZ3/Regions/Zelda/LightWorld/DeathMountain/West.py
@@ -0,0 +1,23 @@
+from worlds.smz3.TotalSMZ3.Region import Z3Region
+from worlds.smz3.TotalSMZ3.Config import Config
+from worlds.smz3.TotalSMZ3.Location import Location, LocationType
+from worlds.smz3.TotalSMZ3.Item import Progression
+
+class West(Z3Region):
+    Name = "Light World Death Mountain West"
+    Area = "Death Mountain"
+
+    def __init__(self, world, config: Config):
+        super().__init__(world, config)
+        self.Locations = [
+            Location(self, 256+0, 0x308016, LocationType.Ether, "Ether Tablet",
+                lambda items: items.Book and items.MasterSword and (items.Mirror or items.Hammer and items.Hookshot)),
+            Location(self, 256+1, 0x308140, LocationType.Regular, "Spectacle Rock",
+                lambda items: items.Mirror),
+            Location(self, 256+2, 0x308002, LocationType.Regular, "Spectacle Rock Cave"),
+            Location(self, 256+3, 0x1EE9FA, LocationType.Regular, "Old Man",
+                lambda items: items.Lamp)
+            ]
+
+    def CanEnter(self, items: Progression):
+        return items.Flute or items.CanLiftLight() and items.Lamp or items.CanAccessDeathMountainPortal()
diff --git a/worlds/smz3/TotalSMZ3/Regions/Zelda/LightWorld/DeathMountain/__init__.py b/worlds/smz3/TotalSMZ3/Regions/Zelda/LightWorld/DeathMountain/__init__.py
new file mode 100644
index 00000000..e69de29b
diff --git a/worlds/smz3/TotalSMZ3/Regions/Zelda/LightWorld/NorthEast.py b/worlds/smz3/TotalSMZ3/Regions/Zelda/LightWorld/NorthEast.py
new file mode 100644
index 00000000..0edf93f3
--- /dev/null
+++ b/worlds/smz3/TotalSMZ3/Regions/Zelda/LightWorld/NorthEast.py
@@ -0,0 +1,28 @@
+from worlds.smz3.TotalSMZ3.Region import Z3Region, RewardType
+from worlds.smz3.TotalSMZ3.Config import Config
+from worlds.smz3.TotalSMZ3.Location import Location, LocationType
+
+class NorthEast(Z3Region):
+    Name = "Light World North East"
+    Area = "Light World"
+
+    def __init__(self, world, config: Config):
+        super().__init__(world, config)
+        sphereOne = -10
+        self.Locations = [
+            Location(self, 256+36, 0x1DE1C3, LocationType.Regular, "King Zora",
+                lambda items: items.CanLiftLight() or items.Flippers),
+            Location(self, 256+37, 0x308149, LocationType.Regular, "Zora's Ledge",
+                lambda items: items.Flippers),
+            Location(self, 256+254, 0x1E9B0, LocationType.Regular, "Waterfall Fairy - Left",
+                lambda items: items.Flippers),
+            Location(self, 256+39, 0x1E9D1, LocationType.Regular, "Waterfall Fairy - Right",
+                lambda items: items.Flippers),
+            Location(self, 256+40, 0x308014, LocationType.Regular, "Potion Shop",
+                lambda items: items.Mushroom),
+            Location(self, 256+41, 0x1EA82, LocationType.Regular, "Sahasrahla's Hut - Left").Weighted(sphereOne),
+            Location(self, 256+42, 0x1EA85, LocationType.Regular, "Sahasrahla's Hut - Middle").Weighted(sphereOne),
+            Location(self, 256+43, 0x1EA88, LocationType.Regular, "Sahasrahla's Hut - Right").Weighted(sphereOne),
+            Location(self, 256+44, 0x5F1FC, LocationType.Regular, "Sahasrahla",
+                lambda items: self.world.CanAquire(items, RewardType.PendantGreen))
+            ]
diff --git a/worlds/smz3/TotalSMZ3/Regions/Zelda/LightWorld/NorthWest.py b/worlds/smz3/TotalSMZ3/Regions/Zelda/LightWorld/NorthWest.py
new file mode 100644
index 00000000..f35cbad3
--- /dev/null
+++ b/worlds/smz3/TotalSMZ3/Regions/Zelda/LightWorld/NorthWest.py
@@ -0,0 +1,44 @@
+from worlds.smz3.TotalSMZ3.Region import Z3Region, RewardType
+from worlds.smz3.TotalSMZ3.Config import Config
+from worlds.smz3.TotalSMZ3.Location import Location, LocationType
+
+class NorthWest(Z3Region):
+    Name = "Light World North West"
+    Area = "Light World"
+
+    def __init__(self, world, config: Config):
+        super().__init__(world, config)
+        sphereOne = -14
+        self.Locations = [
+            Location(self, 256+14, 0x589B0, LocationType.Pedestal, "Master Sword Pedestal",
+                lambda items: self.world.CanAquireAll(items, RewardType.PendantGreen, RewardType.PendantNonGreen)),
+            Location(self, 256+15, 0x308013, LocationType.Regular, "Mushroom").Weighted(sphereOne),
+            Location(self, 256+16, 0x308000, LocationType.Regular, "Lost Woods Hideout").Weighted(sphereOne),
+            Location(self, 256+17, 0x308001, LocationType.Regular, "Lumberjack Tree",
+                lambda items: self.world.CanAquire(items, RewardType.Agahnim) and items.Boots),
+            Location(self, 256+18, 0x1EB3F, LocationType.Regular, "Pegasus Rocks",
+                lambda items: items.Boots),
+            Location(self, 256+19, 0x308004, LocationType.Regular, "Graveyard Ledge",
+                lambda items: items.Mirror and items.MoonPearl and self.world.CanEnter("Dark World North West", items)),
+            Location(self, 256+20, 0x1E97A, LocationType.Regular, "King's Tomb",
+                lambda items: items.Boots and (
+                    items.CanLiftHeavy() or
+                    items.Mirror and items.MoonPearl and self.world.CanEnter("Dark World North West", items))),
+            Location(self, 256+21, 0x1EA8E, LocationType.Regular, "Kakariko Well - Top").Weighted(sphereOne),
+            Location(self, 256+22, 0x1EA91, LocationType.Regular, "Kakariko Well - Left").Weighted(sphereOne),
+            Location(self, 256+23, 0x1EA94, LocationType.Regular, "Kakariko Well - Middle").Weighted(sphereOne),
+            Location(self, 256+24, 0x1EA97, LocationType.Regular, "Kakariko Well - Right").Weighted(sphereOne),
+            Location(self, 256+25, 0x1EA9A, LocationType.Regular, "Kakariko Well - Bottom").Weighted(sphereOne),
+            Location(self, 256+26, 0x1EB0F, LocationType.Regular, "Blind's Hideout - Top").Weighted(sphereOne),
+            Location(self, 256+27, 0x1EB18, LocationType.Regular, "Blind's Hideout - Far Left").Weighted(sphereOne),
+            Location(self, 256+28, 0x1EB12, LocationType.Regular, "Blind's Hideout - Left").Weighted(sphereOne),
+            Location(self, 256+29, 0x1EB15, LocationType.Regular, "Blind's Hideout - Right").Weighted(sphereOne),
+            Location(self, 256+30, 0x1EB1B, LocationType.Regular, "Blind's Hideout - Far Right").Weighted(sphereOne),
+            Location(self, 256+31, 0x5EB18, LocationType.Regular, "Bottle Merchant").Weighted(sphereOne),
+            Location(self, 256+250, 0x1E9E9, LocationType.Regular, "Chicken House").Weighted(sphereOne),
+            Location(self, 256+33, 0x6B9CF, LocationType.Regular, "Sick Kid",
+                lambda items: items.Bottle),
+            Location(self, 256+34, 0x1E9CE, LocationType.Regular, "Kakariko Tavern").Weighted(sphereOne),
+            Location(self, 256+35, 0x308015, LocationType.Regular, "Magic Bat",
+                lambda items: items.Powder and (items.Hammer or items.MoonPearl and items.Mirror and items.CanLiftHeavy()))
+            ]
diff --git a/worlds/smz3/TotalSMZ3/Regions/Zelda/LightWorld/South.py b/worlds/smz3/TotalSMZ3/Regions/Zelda/LightWorld/South.py
new file mode 100644
index 00000000..50f5cee7
--- /dev/null
+++ b/worlds/smz3/TotalSMZ3/Regions/Zelda/LightWorld/South.py
@@ -0,0 +1,45 @@
+from worlds.smz3.TotalSMZ3.Region import Z3Region
+from worlds.smz3.TotalSMZ3.Config import Config
+from worlds.smz3.TotalSMZ3.Location import Location, LocationType
+
+class South(Z3Region):
+    Name = "Light World South"
+    Area = "Light World"
+
+    def __init__(self, world, config: Config):
+        super().__init__(world, config)
+        sphereOne = -10
+        self.Locations = [
+            Location(self, 256+45, 0x308142, LocationType.Regular, "Maze Race").Weighted(sphereOne),
+            Location(self, 256+240, 0x308012, LocationType.Regular, "Library",
+                lambda items: items.Boots),
+            Location(self, 256+241, 0x30814A, LocationType.Regular, "Flute Spot",
+                lambda items: items.Shovel),
+            Location(self, 256+242, 0x308003, LocationType.Regular, "South of Grove",
+                lambda items: items.Mirror and self.world.CanEnter("Dark World South", items)),
+            Location(self, 256+243, 0x1E9BC, LocationType.Regular, "Link's House").Weighted(sphereOne),
+            Location(self, 256+244, 0x1E9F2, LocationType.Regular, "Aginah's Cave").Weighted(sphereOne),
+            Location(self, 256+51, 0x1EB42, LocationType.Regular, "Mini Moldorm Cave - Far Left").Weighted(sphereOne),
+            Location(self, 256+52, 0x1EB45, LocationType.Regular, "Mini Moldorm Cave - Left").Weighted(sphereOne),
+            Location(self, 256+53, 0x308010, LocationType.Regular, "Mini Moldorm Cave - NPC").Weighted(sphereOne),
+            Location(self, 256+54, 0x1EB48, LocationType.Regular, "Mini Moldorm Cave - Right").Weighted(sphereOne),
+            Location(self, 256+251, 0x1EB4B, LocationType.Regular, "Mini Moldorm Cave - Far Right").Weighted(sphereOne),
+            Location(self, 256+252, 0x308143, LocationType.Regular, "Desert Ledge",
+                lambda items: self.world.CanEnter("Desert Palace", items)),
+            Location(self, 256+253, 0x308005, LocationType.Regular, "Checkerboard Cave",
+                lambda items: items.Mirror and (
+                    items.Flute and items.CanLiftHeavy() or
+                    items.CanAccessMiseryMirePortal(Config)
+                ) and items.CanLiftLight()),
+            Location(self, 256+58, 0x308017, LocationType.Bombos, "Bombos Tablet",
+                lambda items: items.Book and items.MasterSword and items.Mirror and self.world.CanEnter("Dark World South", items)),
+            Location(self, 256+59, 0x1E98C, LocationType.Regular, "Floodgate Chest").Weighted(sphereOne),
+            Location(self, 256+60, 0x308145, LocationType.Regular, "Sunken Treasure").Weighted(sphereOne),
+            Location(self, 256+61, 0x308144, LocationType.Regular, "Lake Hylia Island",
+                lambda items: items.Flippers and items.MoonPearl and items.Mirror and (
+                    self.world.CanEnter("Dark World South", items) or
+                    self.world.CanEnter("Dark World North East", items))),
+            Location(self, 256+62, 0x6BE7D, LocationType.Regular, "Hobo",
+                lambda items: items.Flippers),
+            Location(self, 256+63, 0x1EB4E, LocationType.Regular, "Ice Rod Cave").Weighted(sphereOne)
+            ]
\ No newline at end of file
diff --git a/worlds/smz3/TotalSMZ3/Regions/Zelda/LightWorld/__init__.py b/worlds/smz3/TotalSMZ3/Regions/Zelda/LightWorld/__init__.py
new file mode 100644
index 00000000..e69de29b
diff --git a/worlds/smz3/TotalSMZ3/Regions/Zelda/MiseryMire.py b/worlds/smz3/TotalSMZ3/Regions/Zelda/MiseryMire.py
new file mode 100644
index 00000000..855c326f
--- /dev/null
+++ b/worlds/smz3/TotalSMZ3/Regions/Zelda/MiseryMire.py
@@ -0,0 +1,43 @@
+from typing import List
+from worlds.smz3.TotalSMZ3.Region import Z3Region, RewardType, IReward, IMedallionAccess
+from worlds.smz3.TotalSMZ3.Config import Config
+from worlds.smz3.TotalSMZ3.Location import Location, LocationType
+from worlds.smz3.TotalSMZ3.Item import Progression, ItemType
+
+class MiseryMire(Z3Region, IReward, IMedallionAccess):
+    Name = "Misery Mire"
+    Area = "Misery Mire"
+
+    def __init__(self, world, config: Config):
+        super().__init__(world, config)
+        self.RegionItems = [ ItemType.KeyMM, ItemType.BigKeyMM, ItemType.MapMM, ItemType.CompassMM]
+        self.Reward = RewardType.Null
+        self.Medallion = ItemType.Nothing
+        self.Locations = [
+            Location(self, 256+169, 0x1EA5E, LocationType.Regular, "Misery Mire - Main Lobby",
+                lambda items: items.BigKeyMM or items.KeyMM >= 1),
+            Location(self, 256+170, 0x1EA6A, LocationType.Regular, "Misery Mire - Map Chest",
+                lambda items: items.BigKeyMM or items.KeyMM >= 1),
+            Location(self, 256+171, 0x1EA61, LocationType.Regular, "Misery Mire - Bridge Chest"),
+            Location(self, 256+172, 0x1E9DA, LocationType.Regular, "Misery Mire - Spike Chest"),
+            Location(self, 256+173, 0x1EA64, LocationType.Regular, "Misery Mire - Compass Chest",
+                lambda items: items.CanLightTorches() and
+                    items.KeyMM >= (2 if self.GetLocation("Misery Mire - Big Key Chest").ItemIs(ItemType.BigKeyMM, self.world) else 3)),
+            Location(self, 256+174, 0x1EA6D, LocationType.Regular, "Misery Mire - Big Key Chest",
+                lambda items: items.CanLightTorches() and
+                    items.KeyMM >= (2 if self.GetLocation("Misery Mire - Compass Chest").ItemIs(ItemType.BigKeyMM, self.world) else 3)),
+            Location(self, 256+175, 0x1EA67, LocationType.Regular, "Misery Mire - Big Chest",
+                lambda items: items.BigKeyMM),
+            Location(self, 256+176, 0x308158, LocationType.Regular, "Misery Mire - Vitreous",
+                lambda items: items.BigKeyMM and items.Lamp and items.Somaria)
+            ]
+
+    # // Need "CanKillManyEnemies" if implementing swordless
+    def CanEnter(self, items: Progression):
+        return (items.Bombos if self.Medallion == ItemType.Bombos else (
+                    items.Ether if self.Medallion == ItemType.Ether else items.Quake)) and items.Sword and \
+            items.MoonPearl and (items.Boots or items.Hookshot) and \
+            self.world.CanEnter("Dark World Mire", items)
+
+    def CanComplete(self, items: Progression):
+        return self.GetLocation("Misery Mire - Vitreous").Available(items)
\ No newline at end of file
diff --git a/worlds/smz3/TotalSMZ3/Regions/Zelda/PalaceOfDarkness.py b/worlds/smz3/TotalSMZ3/Regions/Zelda/PalaceOfDarkness.py
new file mode 100644
index 00000000..e83126c5
--- /dev/null
+++ b/worlds/smz3/TotalSMZ3/Regions/Zelda/PalaceOfDarkness.py
@@ -0,0 +1,54 @@
+from typing import List
+from worlds.smz3.TotalSMZ3.Region import Z3Region, RewardType, IReward
+from worlds.smz3.TotalSMZ3.Config import Config
+from worlds.smz3.TotalSMZ3.Location import Location, LocationType
+from worlds.smz3.TotalSMZ3.Item import Progression, ItemType
+
+class PalaceOfDarkness(Z3Region, IReward):
+    Name = "Palace of Darkness"
+    Area = "Dark Palace"
+
+    def __init__(self, world, config: Config):
+        super().__init__(world, config)
+        self.RegionItems = [ ItemType.KeyPD, ItemType.BigKeyPD, ItemType.MapPD, ItemType.CompassPD]
+        self.Reward = RewardType.Null
+        self.Locations = [
+            Location(self, 256+121, 0x1EA5B, LocationType.Regular, "Palace of Darkness - Shooter Room"),
+            Location(self, 256+122, 0x1EA37, LocationType.Regular, "Palace of Darkness - Big Key Chest",
+                lambda items: items.KeyPD >= (1 if self.GetLocation("Palace of Darkness - Big Key Chest").ItemIs(ItemType.KeyPD, self.world) else
+                    6 if (items.Hammer and items.Bow and items.Lamp) or config.Keysanity else 5))
+                .AlwaysAllow(lambda item, items: item.Is(ItemType.KeyPD, self.world) and items.KeyPD >= 5),
+            Location(self, 256+123, 0x1EA49, LocationType.Regular, "Palace of Darkness - Stalfos Basement",
+                lambda items: items.KeyPD >= 1 or items.Bow and items.Hammer),
+            Location(self, 256+124, 0x1EA3D, LocationType.Regular, "Palace of Darkness - The Arena - Bridge",
+                lambda items: items.KeyPD >= 1 or items.Bow and items.Hammer),
+            Location(self, 256+125, 0x1EA3A, LocationType.Regular, "Palace of Darkness - The Arena - Ledge",
+                lambda items: items.Bow),
+            Location(self, 256+126, 0x1EA52, LocationType.Regular, "Palace of Darkness - Map Chest",
+                lambda items: items.Bow),
+            Location(self, 256+127, 0x1EA43, LocationType.Regular, "Palace of Darkness - Compass Chest",
+                lambda items: items.KeyPD >= (4 if (items.Hammer and items.Bow and items.Lamp) or config.Keysanity else 3)),
+            Location(self, 256+128, 0x1EA46, LocationType.Regular, "Palace of Darkness - Harmless Hellway",
+                lambda items: items.KeyPD >= (4 if (items.Hammer and items.Bow and items.Lamp) or config.Keysanity else 3 if 
+                        self.GetLocation("Palace of Darkness - Harmless Hellway").ItemIs(ItemType.KeyPD, self.world) else
+                        6 if (items.Hammer and items.Bow and items.Lamp) or config.Keysanity else 5))
+                .AlwaysAllow(lambda item, items: item.Is(ItemType.KeyPD, self.world) and items.KeyPD >= 5),
+            Location(self, 256+129, 0x1EA4C, LocationType.Regular, "Palace of Darkness - Dark Basement - Left",
+                lambda items: items.Lamp and items.KeyPD >= (4 if (items.Hammer and items.Bow) or config.Keysanity else 3)),
+            Location(self, 256+130, 0x1EA4F, LocationType.Regular, "Palace of Darkness - Dark Basement - Right",
+                lambda items: items.Lamp and items.KeyPD >= (4 if (items.Hammer and items.Bow) or config.Keysanity else 3)),
+            Location(self, 256+131, 0x1EA55, LocationType.Regular, "Palace of Darkness - Dark Maze - Top",
+                lambda items: items.Lamp and items.KeyPD >= (6 if (items.Hammer and items.Bow) or config.Keysanity else 5)),
+            Location(self, 256+132, 0x1EA58, LocationType.Regular, "Palace of Darkness - Dark Maze - Bottom",
+                lambda items: items.Lamp and items.KeyPD >= (6 if(items.Hammer and items.Bow) or config.Keysanity else 5)),
+            Location(self, 256+133, 0x1EA40, LocationType.Regular, "Palace of Darkness - Big Chest",
+                lambda items: items.BigKeyPD and items.Lamp and items.KeyPD >= (6 if (items.Hammer and items.Bow) or config.Keysanity else 5)),
+            Location(self, 256+134, 0x308153, LocationType.Regular, "Palace of Darkness - Helmasaur King",
+                lambda items: items.Lamp and items.Hammer and items.Bow and items.BigKeyPD and items.KeyPD >= 6),
+            ]
+
+    def CanEnter(self, items: Progression):
+        return items.MoonPearl and self.world.CanEnter("Dark World North East", items)
+
+    def CanComplete(self, items: Progression):
+        return self.GetLocation("Palace of Darkness - Helmasaur King").Available(items)
diff --git a/worlds/smz3/TotalSMZ3/Regions/Zelda/SkullWoods.py b/worlds/smz3/TotalSMZ3/Regions/Zelda/SkullWoods.py
new file mode 100644
index 00000000..f991fce3
--- /dev/null
+++ b/worlds/smz3/TotalSMZ3/Regions/Zelda/SkullWoods.py
@@ -0,0 +1,35 @@
+from typing import List
+from worlds.smz3.TotalSMZ3.Region import Z3Region, RewardType, IReward
+from worlds.smz3.TotalSMZ3.Config import Config
+from worlds.smz3.TotalSMZ3.Location import Location, LocationType
+from worlds.smz3.TotalSMZ3.Item import Progression, ItemType
+
+class SkullWoods(Z3Region, IReward):
+    Name = "Skull Woods"
+    Area = "Skull Woods"
+
+    def __init__(self, world, config: Config):
+        super().__init__(world, config)
+        self.RegionItems = [ ItemType.KeySW, ItemType.BigKeySW, ItemType.MapSW, ItemType.CompassSW]
+        self.Reward = RewardType.Null
+        self.Locations = [
+            Location(self, 256+145, 0x1E9A1, LocationType.Regular, "Skull Woods - Pot Prison"),
+            Location(self, 256+146, 0x1E992, LocationType.Regular, "Skull Woods - Compass Chest"),
+            Location(self, 256+147, 0x1E998, LocationType.Regular, "Skull Woods - Big Chest",
+                lambda items: items.BigKeySW)
+                .AlwaysAllow(lambda item, items: item.Is(ItemType.BigKeySW, self.world)),
+            Location(self, 256+148, 0x1E99B, LocationType.Regular, "Skull Woods - Map Chest"),
+            Location(self, 256+149, 0x1E9C8, LocationType.Regular, "Skull Woods - Pinball Room")
+                .Allow(lambda item, items: item.Is(ItemType.KeySW, self.world)),
+            Location(self, 256+150, 0x1E99E, LocationType.Regular, "Skull Woods - Big Key Chest"),
+            Location(self, 256+151, 0x1E9FE, LocationType.Regular, "Skull Woods - Bridge Room",
+                lambda items: items.Firerod),
+            Location(self, 256+152, 0x308155, LocationType.Regular, "Skull Woods - Mothula",
+                lambda items: items.Firerod and items.Sword and items.KeySW >= 3),
+            ]
+
+    def CanEnter(self, items: Progression):
+        return items.MoonPearl and self.world.CanEnter("Dark World North West", items)
+
+    def CanComplete(self, items: Progression):
+        return self.GetLocation("Skull Woods - Mothula").Available(items)
diff --git a/worlds/smz3/TotalSMZ3/Regions/Zelda/SwampPalace.py b/worlds/smz3/TotalSMZ3/Regions/Zelda/SwampPalace.py
new file mode 100644
index 00000000..1805e74d
--- /dev/null
+++ b/worlds/smz3/TotalSMZ3/Regions/Zelda/SwampPalace.py
@@ -0,0 +1,43 @@
+from typing import List
+from worlds.smz3.TotalSMZ3.Region import Z3Region, RewardType, IReward
+from worlds.smz3.TotalSMZ3.Config import Config
+from worlds.smz3.TotalSMZ3.Location import Location, LocationType
+from worlds.smz3.TotalSMZ3.Item import Progression, ItemType
+
+class SwampPalace(Z3Region, IReward):
+    Name = "Swamp Palace"
+    Area = "Swamp Palace"
+
+    def __init__(self, world, config: Config):
+        super().__init__(world, config)
+        self.RegionItems = [ ItemType.KeySP, ItemType.BigKeySP, ItemType.MapSP, ItemType.CompassSP]
+        self.Reward = RewardType.Null
+        self.Locations = [
+            Location(self, 256+135, 0x1EA9D, LocationType.Regular, "Swamp Palace - Entrance")
+                .Allow(lambda item, items: self.Config.Keysanity or item.Is(ItemType.KeySP, self.world)),
+            Location(self, 256+136, 0x1E986, LocationType.Regular, "Swamp Palace - Map Chest",
+                lambda items: items.KeySP),
+            Location(self, 256+137, 0x1E989, LocationType.Regular, "Swamp Palace - Big Chest",
+                lambda items: items.BigKeySP and items.KeySP and items.Hammer)
+                .AlwaysAllow(lambda item, items: item.Is(ItemType.BigKeySP, self.world)),
+            Location(self, 256+138, 0x1EAA0, LocationType.Regular, "Swamp Palace - Compass Chest",
+                lambda items: items.KeySP and items.Hammer),
+            Location(self, 256+139, 0x1EAA3, LocationType.Regular, "Swamp Palace - West Chest",
+                lambda items: items.KeySP and items.Hammer),
+            Location(self, 256+140, 0x1EAA6, LocationType.Regular, "Swamp Palace - Big Key Chest",
+                lambda items: items.KeySP and items.Hammer),
+            Location(self, 256+141, 0x1EAA9, LocationType.Regular, "Swamp Palace - Flooded Room - Left",
+                lambda items: items.KeySP and items.Hammer and items.Hookshot),
+            Location(self, 256+142, 0x1EAAC, LocationType.Regular, "Swamp Palace - Flooded Room - Right",
+                lambda items: items.KeySP and items.Hammer and items.Hookshot),
+            Location(self, 256+143, 0x1EAAF, LocationType.Regular, "Swamp Palace - Waterfall Room",
+                lambda items: items.KeySP and items.Hammer and items.Hookshot),
+            Location(self, 256+144, 0x308154, LocationType.Regular, "Swamp Palace - Arrghus",
+                lambda items: items.KeySP and items.Hammer and items.Hookshot)
+            ]
+
+    def CanEnter(self, items: Progression):
+        return items.MoonPearl and items.Mirror and items.Flippers and self.world.CanEnter("Dark World South", items)
+
+    def CanComplete(self, items: Progression):
+        return self.GetLocation("Swamp Palace - Arrghus").Available(items)
diff --git a/worlds/smz3/TotalSMZ3/Regions/Zelda/ThievesTown.py b/worlds/smz3/TotalSMZ3/Regions/Zelda/ThievesTown.py
new file mode 100644
index 00000000..ef68b953
--- /dev/null
+++ b/worlds/smz3/TotalSMZ3/Regions/Zelda/ThievesTown.py
@@ -0,0 +1,39 @@
+from typing import List
+from worlds.smz3.TotalSMZ3.Region import Z3Region, RewardType, IReward
+from worlds.smz3.TotalSMZ3.Config import Config
+from worlds.smz3.TotalSMZ3.Location import Location, LocationType
+from worlds.smz3.TotalSMZ3.Item import Progression, ItemType
+
+class ThievesTown(Z3Region, IReward):
+    Name = "Thieves' Town"
+    Area = "Thieves' Town"
+
+    def __init__(self, world, config: Config):
+        super().__init__(world, config)
+        self.RegionItems = [ ItemType.KeyTT, ItemType.BigKeyTT, ItemType.MapTT, ItemType.CompassTT]
+        self.Reward = RewardType.Null
+        self.Locations = [
+            Location(self, 256+153, 0x1EA01, LocationType.Regular, "Thieves' Town - Map Chest"),
+            Location(self, 256+154, 0x1EA0A, LocationType.Regular, "Thieves' Town - Ambush Chest"),
+            Location(self, 256+155, 0x1EA07, LocationType.Regular, "Thieves' Town - Compass Chest"),
+            Location(self, 256+156, 0x1EA04, LocationType.Regular, "Thieves' Town - Big Key Chest"),
+            Location(self, 256+157, 0x1EA0D, LocationType.Regular, "Thieves' Town - Attic",
+                lambda items: items.BigKeyTT and items.KeyTT),
+            Location(self, 256+158, 0x1EA13, LocationType.Regular, "Thieves' Town - Blind's Cell",
+                lambda items: items.BigKeyTT),
+            Location(self, 256+159, 0x1EA10, LocationType.Regular, "Thieves' Town - Big Chest",
+                lambda items: items.BigKeyTT and items.Hammer and
+                    (self.GetLocation("Thieves' Town - Big Chest").ItemIs(ItemType.KeyTT, self.world) or items.KeyTT))
+                .AlwaysAllow(lambda item, items: item.Is(ItemType.KeyTT, self.world) and items.Hammer),
+            Location(self, 256+160, 0x308156, LocationType.Regular, "Thieves' Town - Blind",
+                lambda items: items.BigKeyTT and items.KeyTT and self.CanBeatBoss(items)),
+            ]
+
+    def CanBeatBoss(self, items: Progression):
+        return items.Sword or items.Hammer or items.Somaria or items.Byrna
+
+    def CanEnter(self, items: Progression):
+        return items.MoonPearl and self.world.CanEnter("Dark World North West", items)
+
+    def CanComplete(self, items: Progression):
+        return self.GetLocation("Thieves' Town - Blind").Available(items)
diff --git a/worlds/smz3/TotalSMZ3/Regions/Zelda/TowerOfHera.py b/worlds/smz3/TotalSMZ3/Regions/Zelda/TowerOfHera.py
new file mode 100644
index 00000000..45743ac3
--- /dev/null
+++ b/worlds/smz3/TotalSMZ3/Regions/Zelda/TowerOfHera.py
@@ -0,0 +1,36 @@
+from typing import List
+from worlds.smz3.TotalSMZ3.Region import Z3Region, RewardType, IReward
+from worlds.smz3.TotalSMZ3.Config import Config
+from worlds.smz3.TotalSMZ3.Location import Location, LocationType
+from worlds.smz3.TotalSMZ3.Item import Progression, ItemType
+
+class TowerOfHera(Z3Region, IReward):
+    Name = "Tower of Hera"
+    Area = "Tower of Hera"
+
+    def __init__(self, world, config: Config):
+        super().__init__(world, config)
+        self.RegionItems = [ ItemType.KeyTH, ItemType.BigKeyTH, ItemType.MapTH, ItemType.CompassTH]
+        self.Reward = RewardType.Null
+        self.Locations = [
+            Location(self, 256+115, 0x308162, LocationType.HeraStandingKey, "Tower of Hera - Basement Cage"),
+            Location(self, 256+116, 0x1E9AD, LocationType.Regular, "Tower of Hera - Map Chest"),
+            Location(self, 256+117, 0x1E9E6, LocationType.Regular, "Tower of Hera - Big Key Chest",
+                lambda items: items.KeyTH and items.CanLightTorches())
+                .AlwaysAllow(lambda item, items: item.Is(ItemType.KeyTH, self.world)),
+            Location(self, 256+118, 0x1E9FB, LocationType.Regular, "Tower of Hera - Compass Chest",
+                lambda items: items.BigKeyTH),
+            Location(self, 256+119, 0x1E9F8, LocationType.Regular, "Tower of Hera - Big Chest",
+                lambda items: items.BigKeyTH),
+            Location(self, 256+120, 0x308152, LocationType.Regular, "Tower of Hera - Moldorm",
+                lambda items: items.BigKeyTH and self.CanBeatBoss(items)),
+            ]
+
+    def CanBeatBoss(self, items: Progression):
+        return items.Sword or items.Hammer
+
+    def CanEnter(self, items: Progression):
+        return (items.Mirror or items.Hookshot and items.Hammer) and self.world.CanEnter("Light World Death Mountain West", items)
+
+    def CanComplete(self, items: Progression):
+        return self.GetLocation("Tower of Hera - Moldorm").Available(items)
diff --git a/worlds/smz3/TotalSMZ3/Regions/Zelda/TurtleRock.py b/worlds/smz3/TotalSMZ3/Regions/Zelda/TurtleRock.py
new file mode 100644
index 00000000..c4d19bcd
--- /dev/null
+++ b/worlds/smz3/TotalSMZ3/Regions/Zelda/TurtleRock.py
@@ -0,0 +1,55 @@
+from typing import List
+from worlds.smz3.TotalSMZ3.Region import Z3Region, RewardType, IReward, IMedallionAccess
+from worlds.smz3.TotalSMZ3.Config import Config
+from worlds.smz3.TotalSMZ3.Location import Location, LocationType
+from worlds.smz3.TotalSMZ3.Item import Progression, ItemType
+
+class TurtleRock(Z3Region, IReward, IMedallionAccess):
+    Name = "Turtle Rock"
+    Area = "Turtle Rock"
+
+    def __init__(self, world, config: Config):
+        super().__init__(world, config)
+        self.RegionItems = [ ItemType.KeyTR, ItemType.BigKeyTR, ItemType.MapTR, ItemType.CompassTR]
+        self.Reward = RewardType.Null
+        self.Medallion = ItemType.Nothing
+        self.Locations = [
+            Location(self, 256+177, 0x1EA22, LocationType.Regular, "Turtle Rock - Compass Chest"),
+            Location(self, 256+178, 0x1EA1C, LocationType.Regular, "Turtle Rock - Roller Room - Left",
+                lambda items: items.Firerod),
+            Location(self, 256+179, 0x1EA1F, LocationType.Regular, "Turtle Rock - Roller Room - Right",
+                lambda items: items.Firerod),
+            Location(self, 256+180, 0x1EA16, LocationType.Regular, "Turtle Rock - Chain Chomps",
+                lambda items: items.KeyTR >= 1),
+            Location(self, 256+181, 0x1EA25, LocationType.Regular, "Turtle Rock - Big Key Chest",
+                lambda items: items.KeyTR >=
+                    (2 if not self.Config.Keysanity or self.GetLocation("Turtle Rock - Big Key Chest").ItemIs(ItemType.BigKeyTR, self.world) else
+                        3 if self.GetLocation("Turtle Rock - Big Key Chest").ItemIs(ItemType.KeyTR, self.world) else 4))
+                .AlwaysAllow(lambda item, items: item.Is(ItemType.KeyTR, self.world) and items.KeyTR >= 3),
+            Location(self, 256+182, 0x1EA19, LocationType.Regular, "Turtle Rock - Big Chest",
+                lambda items: items.BigKeyTR and items.KeyTR >= 2)
+                .Allow(lambda item, items: item.IsNot(ItemType.BigKeyTR, self.world)),
+            Location(self, 256+183, 0x1EA34, LocationType.Regular, "Turtle Rock - Crystaroller Room",
+                lambda items: items.BigKeyTR and items.KeyTR >= 2),
+            Location(self, 256+184, 0x1EA28, LocationType.Regular, "Turtle Rock - Eye Bridge - Top Right", self.LaserBridge),
+            Location(self, 256+185, 0x1EA2B, LocationType.Regular, "Turtle Rock - Eye Bridge - Top Left", self.LaserBridge),
+            Location(self, 256+186, 0x1EA2E, LocationType.Regular, "Turtle Rock - Eye Bridge - Bottom Right", self.LaserBridge),
+            Location(self, 256+187, 0x1EA31, LocationType.Regular, "Turtle Rock - Eye Bridge - Bottom Left", self.LaserBridge),
+            Location(self, 256+188, 0x308159, LocationType.Regular, "Turtle Rock - Trinexx",
+                lambda items: items.BigKeyTR and items.KeyTR >= 4 and items.Lamp and self.CanBeatBoss(items)),
+            ]
+
+    def LaserBridge(self, items: Progression):
+        return items.BigKeyTR and items.KeyTR >= 3 and items.Lamp and (items.Cape or items.Byrna or items.CanBlockLasers)
+
+    def CanBeatBoss(self, items: Progression):
+        return items.Firerod and items.Icerod
+
+    def CanEnter(self, items: Progression):
+        return (items.Bombos if self.Medallion == ItemType.Bombos else (
+                    items.Ether if self.Medallion == ItemType.Ether else items.Quake)) and items.Sword and \
+            items.MoonPearl and items.CanLiftHeavy() and items.Hammer and items.Somaria and \
+            self.world.CanEnter("Light World Death Mountain East", items)
+
+    def CanComplete(self, items: Progression):
+        return self.GetLocation("Turtle Rock - Trinexx").Available(items)
diff --git a/worlds/smz3/TotalSMZ3/Regions/Zelda/__init__.py b/worlds/smz3/TotalSMZ3/Regions/Zelda/__init__.py
new file mode 100644
index 00000000..e69de29b
diff --git a/worlds/smz3/TotalSMZ3/Regions/__init__.py b/worlds/smz3/TotalSMZ3/Regions/__init__.py
new file mode 100644
index 00000000..e69de29b
diff --git a/worlds/smz3/TotalSMZ3/Text/Dialog.py b/worlds/smz3/TotalSMZ3/Text/Dialog.py
new file mode 100644
index 00000000..d465e1e2
--- /dev/null
+++ b/worlds/smz3/TotalSMZ3/Text/Dialog.py
@@ -0,0 +1,323 @@
+import re
+
+class Dialog:
+
+    command = re.compile(r"^\{[^}]*\}")
+    invalid = re.compile(r"(?<!^)\{[^}]*\}(?!$)", re.MULTILINE)
+    digit = re.compile(r"\d")
+    uppercaseLetter = re.compile(r"[A-Z]")
+    lowercaseLetter = re.compile(r"[a-z]")
+
+    @staticmethod
+    def Simple(text: str):
+        maxBytes = 256
+        wrap = 19
+
+        bytes = []
+        lines = text.split('\n')
+        lineIndex = 0
+        for line in lines:
+            bytes.append(0x74 if 0 else 0x75 if 1 else 0x76)
+            letters = line[:wrap] if len(line) > wrap else line
+            for letter in letters:
+                write = Dialog.LetterToBytes(letter)
+                if (write[0] == 0xFD):
+                    bytes += write
+                else:
+                    for b in write:
+                        bytes += [ 0x00, b ]
+
+            lineIndex += 1
+
+            if (lineIndex % 3 == 0 and lineIndex < len(lines)):
+                bytes.append(0x7E)
+            if (lineIndex >= 3 and lineIndex < len(lines)):
+                bytes.append(0x73)
+
+        bytes.append(0x7F)
+        if (len(bytes) > maxBytes):
+            return bytes[:maxBytes - 1].append(0x7F)
+
+        return bytes
+
+    @staticmethod
+    def Compiled(text: str, pause = True):
+        maxBytes = 2046
+        wrap = 19
+
+        if (Dialog.invalid.match(text)):
+            raise Exception("Dialog commands must be placed on separate lines", text)
+
+        padOut = False
+
+        bytes = [ 0xFB ]
+        lines = Dialog.Wordwrap(text, wrap)
+        lineCount = len([l for l in lines if not Dialog.command.match(l)])
+        lineIndex = 0
+        for line in lines:
+            match = Dialog.command.match(line)
+            if (match is not None):
+                if (match.string == "{NOTEXT}"):
+                    return [ 0xFB, 0xFE, 0x6E, 0x00, 0xFE, 0x6B, 0x04 ]
+                if (match.string == "{INTRO}"):
+                    padOut = True
+
+                bytesMap = {
+                            "{SPEED0}" : [ 0xFC, 0x00 ],
+                            "{SPEED2}" : [ 0xFC, 0x02 ],
+                            "{SPEED6}" : [ 0xFC, 0x06 ],
+                            "{PAUSE1}" : [ 0xFE, 0x78, 0x01 ],
+                            "{PAUSE3}" : [ 0xFE, 0x78, 0x03 ],
+                            "{PAUSE5}" : [ 0xFE, 0x78, 0x05 ],
+                            "{PAUSE7}" : [ 0xFE, 0x78, 0x07 ],
+                            "{PAUSE9}" : [ 0xFE, 0x78, 0x09 ],
+                            "{INPUT}" : [ 0xFA ],
+                            "{CHOICE}" : [ 0xFE, 0x68 ],
+                            "{ITEMSELECT}" : [ 0xFE, 0x69 ],
+                            "{CHOICE2}" : [ 0xFE, 0x71 ],
+                            "{CHOICE3}" : [ 0xFE, 0x72 ],
+                            "{C:GREEN}" : [ 0xFE, 0x77, 0x07 ],
+                            "{C:YELLOW}" : [ 0xFE, 0x77, 0x02 ],
+                            "{HARP}" : [ 0xFE, 0x79, 0x2D ],
+                            "{MENU}" : [ 0xFE, 0x6D, 0x00 ],
+                            "{BOTTOM}" : [ 0xFE, 0x6D, 0x01 ],
+                            "{NOBORDER}" : [ 0xFE, 0x6B, 0x02 ],
+                            "{CHANGEPIC}" : [ 0xFE, 0x67, 0xFE, 0x67 ],
+                            "{CHANGEMUSIC}" : [ 0xFE, 0x67 ],
+                            "{INTRO}" : [ 0xFE, 0x6E, 0x00, 0xFE, 0x77, 0x07, 0xFC, 0x03, 0xFE, 0x6B, 0x02, 0xFE, 0x67 ],
+                            "{IBOX}" : [ 0xFE, 0x6B, 0x02, 0xFE, 0x77, 0x07, 0xFC, 0x03, 0xF7 ],
+                        }
+                result = bytesMap.get(match.string, None)
+                if (result is None):
+                    raise Exception(f"Dialog text contained unknown command {match.string}", text)
+                else:
+                    bytes += result
+
+                if (len(bytes) > maxBytes):
+                    raise Exception("Command overflowed maximum byte length", text)
+
+                continue
+
+            if (lineIndex == 1):
+                bytes.append(0xF8); #// row 2
+            elif (lineIndex >= 3 and lineIndex < lineCount):
+                bytes.append(0xF6); #// scroll
+            elif (lineIndex >= 2):
+                bytes.append(0xF9); #// row 3
+
+            #// The first box needs to fill the full width with spaces as the palette is loaded weird.
+            letters = line + (" " * wrap) if padOut and lineIndex < 3 else line
+            for letter in letters:
+                bytes += Dialog.LetterToBytes(letter)
+
+            lineIndex += 1
+
+            if (pause and lineIndex % 3 == 0 and lineIndex < lineCount):
+                bytes.append(0xFA) #// wait for input
+
+        return bytes[:maxBytes]
+
+    @staticmethod
+    def Wordwrap(text: str, width: int):
+        result = []
+        for line in text.split('\n'):
+            line = line.rstrip()
+            if (len(line) <= width):
+                result.append(line)
+            else:
+                words = line.split(' ')
+                lines = [ "" ]
+                for word in words:
+                    line = lines.pop()
+                    if (len(line) + len(word) <= width):
+                        line = f"{line}{word} "
+                    else:
+                        if (len(line) > 0):
+                            lines.append(line)
+                        line = word
+                        while (len(line) > width):
+                            lines.append(line[:width])
+                            line = line[width:]
+                        line = f"{line} "
+                    lines.append(line)
+                #lines.reverse()
+                result += [l.strip() for l in lines]
+        return result
+
+    @staticmethod
+    def LetterToBytes(c: str):
+        if Dialog.digit.match(c): return [(ord(c) - ord('0') + 0xA0) ]
+        elif Dialog.uppercaseLetter.match(c): return [ (ord(c) - ord('A') + 0xAA) ]
+        elif Dialog.lowercaseLetter.match(c): return [ (ord(c) - ord('a') + 0x30) ]
+        else:
+            value = Dialog.letters.get(c, None)
+            return value if value else [ 0xFF ]
+
+        #region letter bytes lookup
+
+    letters = {
+        ' ' : [ 0x4F ],
+        '?' : [ 0xC6 ],
+        '!' : [ 0xC7 ],
+        ',' : [ 0xC8 ],
+        '-' : [ 0xC9 ],
+        '…' : [ 0xCC ],
+        '.' : [ 0xCD ],
+        '~' : [ 0xCE ],
+        '~' : [ 0xCE ],
+        '\'' : [ 0xD8 ],
+        '’' : [ 0xD8 ],
+        '"' : [ 0xD8 ],
+        ':' : [ 0x4A ],
+        '@' : [ 0x4B ],
+        '#' : [ 0x4C ],
+        '¤' : [ 0x4D, 0x4E ], #// Morphing ball
+        '_' : [ 0xFF ], #// Full width space
+        '£' : [ 0xFE, 0x6A ], #// link's name compressed
+        '>' : [ 0xD2, 0xD3 ], #// link face
+        '%' : [ 0xDD ], #// Hylian Bird
+        '^' : [ 0xDE ], #// Hylian Ankh
+        '=' : [ 0xDF ], #// Hylian Wavy lines
+        '↑' : [ 0xE0 ],
+        '↓' : [ 0xE1 ],
+        '→' : [ 0xE2 ],
+        '←' : [ 0xE3 ],
+        '≥' : [ 0xE4 ], #// cursor
+        '¼' : [ 0xE5, 0xE7 ], #// 1/4 heart
+        '½' : [ 0xE6, 0xE7 ], #// 1/2 heart
+        '¾' : [ 0xE8, 0xE9 ], #// 3/4 heart
+        '♥' : [ 0xEA, 0xEB ], #// full heart
+        'ᚋ' : [ 0xFE, 0x6C, 0x00 ], #// var 0
+        'ᚌ' : [ 0xFE, 0x6C, 0x01 ], #// var 1
+        'ᚍ' : [ 0xFE, 0x6C, 0x02 ], #// var 2
+        'ᚎ' : [ 0xFE, 0x6C, 0x03 ], #// var 3
+
+        'あ' : [ 0x00 ],
+        'い' : [ 0x01 ],
+        'う' : [ 0x02 ],
+        'え' : [ 0x03 ],
+        'お' : [ 0x04 ],
+        'や' : [ 0x05 ],
+        'ゆ' : [ 0x06 ],
+        'よ' : [ 0x07 ],
+        'か' : [ 0x08 ],
+        'き' : [ 0x09 ],
+        'く' : [ 0x0A ],
+        'け' : [ 0x0B ],
+        'こ' : [ 0x0C ],
+        'わ' : [ 0x0D ],
+        'を' : [ 0x0E ],
+        'ん' : [ 0x0F ],
+        'さ' : [ 0x10 ],
+        'し' : [ 0x11 ],
+        'す' : [ 0x12 ],
+        'せ' : [ 0x13 ],
+        'そ' : [ 0x14 ],
+        'が' : [ 0x15 ],
+        'ぎ' : [ 0x16 ],
+        'ぐ' : [ 0x17 ],
+        'た' : [ 0x18 ],
+        'ち' : [ 0x19 ],
+        'つ' : [ 0x1A ],
+        'て' : [ 0x1B ],
+        'と' : [ 0x1C ],
+        'げ' : [ 0x1D ],
+        'ご' : [ 0x1E ],
+        'ざ' : [ 0x1F ],
+        'な' : [ 0x20 ],
+        'に' : [ 0x21 ],
+        'ぬ' : [ 0x22 ],
+        'ね' : [ 0x23 ],
+        'の' : [ 0x24 ],
+        'じ' : [ 0x25 ],
+        'ず' : [ 0x26 ],
+        'ぜ' : [ 0x27 ],
+        'は' : [ 0x28 ],
+        'ひ' : [ 0x29 ],
+        'ふ' : [ 0x2A ],
+        'へ' : [ 0x2B ],
+        'ほ' : [ 0x2C ],
+        'ぞ' : [ 0x2D ],
+        'だ' : [ 0x2E ],
+        'ぢ' : [ 0x2F ],
+
+        'ア' : [ 0x50 ],
+        'イ' : [ 0x51 ],
+        'ウ' : [ 0x52 ],
+        'エ' : [ 0x53 ],
+        'オ' : [ 0x54 ],
+        'ヤ' : [ 0x55 ],
+        'ユ' : [ 0x56 ],
+        'ヨ' : [ 0x57 ],
+        'カ' : [ 0x58 ],
+        'キ' : [ 0x59 ],
+        'ク' : [ 0x5A ],
+        'ケ' : [ 0x5B ],
+        'コ' : [ 0x5C ],
+        'ワ' : [ 0x5D ],
+        'ヲ' : [ 0x5E ],
+        'ン' : [ 0x5F ],
+        'サ' : [ 0x60 ],
+        'シ' : [ 0x61 ],
+        'ス' : [ 0x62 ],
+        'セ' : [ 0x63 ],
+        'ソ' : [ 0x64 ],
+        'ガ' : [ 0x65 ],
+        'ギ' : [ 0x66 ],
+        'グ' : [ 0x67 ],
+        'タ' : [ 0x68 ],
+        'チ' : [ 0x69 ],
+        'ツ' : [ 0x6A ],
+        'テ' : [ 0x6B ],
+        'ト' : [ 0x6C ],
+        'ゲ' : [ 0x6D ],
+        'ゴ' : [ 0x6E ],
+        'ザ' : [ 0x6F ],
+        'ナ' : [ 0x70 ],
+        'ニ' : [ 0x71 ],
+        'ヌ' : [ 0x72 ],
+        'ネ' : [ 0x73 ],
+        'ノ' : [ 0x74 ],
+        'ジ' : [ 0x75 ],
+        'ズ' : [ 0x76 ],
+        'ゼ' : [ 0x77 ],
+        'ハ' : [ 0x78 ],
+        'ヒ' : [ 0x79 ],
+        'フ' : [ 0x7A ],
+        'ヘ' : [ 0x7B ],
+        'ホ' : [ 0x7C ],
+        'ゾ' : [ 0x7D ],
+        'ダ' : [ 0x7E ],
+        'マ' : [ 0x80 ],
+        'ミ' : [ 0x81 ],
+        'ム' : [ 0x82 ],
+        'メ' : [ 0x83 ],
+        'モ' : [ 0x84 ],
+        'ヅ' : [ 0x85 ],
+        'デ' : [ 0x86 ],
+        'ド' : [ 0x87 ],
+        'ラ' : [ 0x88 ],
+        'リ' : [ 0x89 ],
+        'ル' : [ 0x8A ],
+        'レ' : [ 0x8B ],
+        'ロ' : [ 0x8C ],
+        'バ' : [ 0x8D ],
+        'ビ' : [ 0x8E ],
+        'ブ' : [ 0x8F ],
+        'ベ' : [ 0x90 ],
+        'ボ' : [ 0x91 ],
+        'パ' : [ 0x92 ],
+        'ピ' : [ 0x93 ],
+        'プ' : [ 0x94 ],
+        'ペ' : [ 0x95 ],
+        'ポ' : [ 0x96 ],
+        'ャ' : [ 0x97 ],
+        'ュ' : [ 0x98 ],
+        'ョ' : [ 0x99 ],
+        'ッ' : [ 0x9A ],
+        'ァ' : [ 0x9B ],
+        'ィ' : [ 0x9C ],
+        'ゥ' : [ 0x9D ],
+        'ェ' : [ 0x9E ],
+        'ォ' : [ 0x9F ],
+    }
diff --git a/worlds/smz3/TotalSMZ3/Text/Scripts/Blind.txt b/worlds/smz3/TotalSMZ3/Text/Scripts/Blind.txt
new file mode 100644
index 00000000..5b1407eb
--- /dev/null
+++ b/worlds/smz3/TotalSMZ3/Text/Scripts/Blind.txt
@@ -0,0 +1,87 @@
+I hate insect
+puns, they
+really bug me.
+---
+I haven't seen
+the eye doctor
+in years.
+---
+I don't see
+you having a
+bright future
+---
+Are you doing
+a blind run
+of this game?
+---
+Pizza joke? No
+I think it's a
+bit too cheesy
+---
+A novice skier
+often jumps to
+contusions.
+---
+The beach?
+I'm not shore
+I can make it.
+---
+Rental agents
+offer quarters
+for dollars.
+---
+I got my tires
+fixed for a
+flat rate.
+---
+New lightbulb
+invented?
+Enlighten me.
+---
+A baker's job
+is a piece of
+cake.
+---
+My optometrist
+said I have
+vision!
+---
+When you're a
+baker, don't
+loaf around
+---
+Mire requires
+ether quake,
+or bombos
+---
+Broken pencils
+are pointless.
+---
+The food they
+serve guards
+lasts sentries
+---
+Being crushed
+by big objects
+is depressing.
+---
+A tap dancer's
+routine runs
+hot and cold.
+---
+A weeknight
+is a tiny
+nobleman
+---
+The chimney
+sweep wore a
+soot and tye.
+---
+Gardeners like
+to spring into
+action.
+---
+Bad at nuclear
+physics. I Got
+no fission.
+---
diff --git a/worlds/smz3/TotalSMZ3/Text/Scripts/Ganon.txt b/worlds/smz3/TotalSMZ3/Text/Scripts/Ganon.txt
new file mode 100644
index 00000000..9b7e7c5a
--- /dev/null
+++ b/worlds/smz3/TotalSMZ3/Text/Scripts/Ganon.txt
@@ -0,0 +1,189 @@
+Start your day
+smiling with a
+delicious
+wholegrain
+breakfast
+created for
+your
+incredible
+insides.
+---
+You drove
+away my other
+self, Agahnim
+two times…
+But, I won't
+give you the
+Triforce.
+I'll defeat
+you!
+---
+Impa says that
+the mark on
+your hand
+means that you
+are the hero
+chosen to
+awaken Zelda.
+your blood can
+resurrect me.
+---
+Don't stand,
+
+don't stand so
+Don't stand so
+
+close to me
+Don't stand so
+close to me
+back off buddy
+---
+So ya
+Thought ya
+Might like to
+go to the show
+To feel the
+warm thrill of
+confusion
+That space
+cadet glow.
+---
+Like other
+pulmonate land
+gastropods,
+the majority
+of land slugs
+have two pairs
+of 'feelers'
+or tentacles
+on their head.
+---
+If you were a
+burrito, what
+kind of a
+burrito would
+you be?
+Me, I fancy I
+would be a
+spicy barbacoa
+burrito.
+---
+I am your
+father's
+brother's
+nephew's
+cousin's
+former
+roommate. What
+does that make
+us, you ask?
+---
+I'll be more
+eager about
+encouraging
+thinking
+outside the
+box when there
+is evidence of
+any thinking
+inside it.
+---
+If we're not
+meant to have
+midnight
+snacks, then
+why is there
+a light in the
+fridge?
+
+---
+I feel like we
+keep ending up
+here.
+
+Don't you?
+
+It's like
+deja vu
+all over again
+---
+Did you know?
+The biggest
+and heaviest
+cheese ever
+produced
+weighed
+57,518 pounds
+and was 32
+feet long.
+---
+Now there was
+a time, When
+you loved me
+so. I couldn't
+do wrong,
+And now you
+need to know.
+So How you
+like me now?
+---
+Did you know?
+Nutrition
+experts
+recommend that
+at least half
+of our daily
+grains come
+from whole
+grain products
+---
+The Hemiptera
+or true bugs
+are an order
+of insects
+covering 50k
+to 80k species
+like aphids,
+cicadas, and
+shield bugs.
+---
+Thanks for
+dropping in,
+the first
+passengers
+in a hot
+air balloon.
+were a duck,
+a sheep,
+and a rooster.
+---
+You think you
+are so smart?
+
+I bet you
+didn't know
+You can't hum
+while holding
+your nose
+closed.
+---
+Grumble,
+
+grumble…
+grumble,
+
+grumble…
+Seriously you
+were supposed
+to bring food
+---
+Join me hero,
+and I shall
+make your face
+the greatest
+in the dark
+world!
+
+Or else you
+will die!
+---
diff --git a/worlds/smz3/TotalSMZ3/Text/Scripts/General.yaml b/worlds/smz3/TotalSMZ3/Text/Scripts/General.yaml
new file mode 100644
index 00000000..c0eae5bb
--- /dev/null
+++ b/worlds/smz3/TotalSMZ3/Text/Scripts/General.yaml
@@ -0,0 +1,385 @@
+SahasrahlaReveal: |-
+  Want something
+  for free? Go
+  earn the green
+  pendant in
+  <dungeon>
+  and I'll give
+  you something.
+
+BombShopReveal: |-
+  Bring me the
+  crystals from
+  <first>
+  and
+  <second>
+  so I can make
+  a big bomb!
+
+GanonSilversReveal:
+  single:
+    local: |-
+      Did you find
+      the arrows in
+      my tower?
+    remote: |-
+      Did you find
+      the arrows in
+      <region>
+  multi:
+    local: |-
+      Seek the
+      arrows in
+      this world
+    remote: |-
+      Seek the sage
+      <player>
+      for the arrows
+
+Items:
+
+  BigKeyEP: |-
+    The big key
+    of the east
+  BigKeyDP: |-
+    Sand spills
+    out of this
+    big key
+  BigKeyTH: |-
+    The big key
+    to moldorm's
+    heart
+  BigKeyPD: |-
+    Hammeryump
+    with this
+    big key
+  BigKeySP: |-
+    The big key
+    to the swamp
+  BigKeySW: |-
+    The big key
+    of the dark
+    forest
+  BigKeyTT: |-
+    The big key
+    of rogues
+  BigKeyIP: |-
+    A frozen
+    big key
+    rests here
+  BigKeyMM: |-
+    The big key
+    to Vitreous
+  BigKeyTR: |-
+    The big key
+    of terrapins
+  BigKeyGT: |-
+    The big key
+    of evil's bane
+
+  KeyHC: |-
+    The key to
+    the castle
+  KeyCT: |-
+    Agahanim
+    halfway
+    unlocked
+  KeyDP: |-
+    Sand spills
+    out of this
+    small key
+  KeyTH: |-
+    The key
+    to moldorm's
+    basement
+  KeyPD: |-
+    A small key
+    that steals
+    light
+  KeySP: |-
+    Access to
+    the swamp
+    is granted
+  KeySW: |-
+    The small key
+    of the dark
+    forest
+  KeyTT: |-
+    The small key
+    of rogues
+  KeyIP: |-
+    A frozen
+    small key
+    rests here
+  KeyMM: |-
+    The small key
+    to Vitreous
+  KeyTR: |-
+    The small key
+    of terrapins
+  KeyGT: |-
+    The small key
+    of evil's bane
+
+  Map: |-
+    You can now
+    find your way
+    home!
+  Compass: |-
+    Now you know
+    where the boss
+    hides!
+
+  ProgressiveTunic: |-
+    Time for a
+    change of
+    clothes?
+  ProgressiveShield: |-
+    Have a better
+    defense in
+    front of you
+  ProgressiveSword: |-
+    A better copy
+    of your sword
+    for your time
+  Bow: |-
+    You have
+    chosen the
+    archer class.
+  SilverArrows: |-
+    Do you fancy
+    silver tipped
+    arrows?
+  BlueBoomerang: |-
+    No matter what
+    you do, blue
+    returns to you
+  RedBoomerang: |-
+    No matter what
+    you do, red
+    returns to you
+  Hookshot: |-
+    BOING!!!
+    BOING!!!
+    BOING!!!
+  Mushroom: |-
+    I'm a fun guy!
+
+    I'm a funghi!
+  Powder: |-
+    You can turn
+    anti-faeries
+    into faeries
+  Firerod: |-
+    I'm the hot
+    rod. I make
+    things burn!
+  Icerod: |-
+    I'm the cold
+    rod. I make
+    things freeze!
+  Bombos: |-
+    Burn, baby,
+    burn! Fear my
+    ring of fire!
+  Ether: |-
+    This magic
+    coin freezes
+    everything!
+  Quake: |-
+    Maxing out the
+    Richter scale
+    is what I do!
+  Lamp: |-
+    Baby, baby,
+    baby.
+    Light my way!
+  Hammer: |-
+    Stop!
+    Hammer time!
+  Shovel: |-
+    Can
+       You
+          Dig it?
+  Flute: |-
+    Save the duck
+    and fly to
+    freedom!
+  Bugnet: |-
+    Let's catch
+    some bees and
+    faeries!
+  Book: |-
+    This is a
+    paradox?!
+  Bottle: |-
+    Now you can
+    store potions
+    and stuff!
+  BottleWithRedPotion: |-
+    You see red
+    goo in a
+    bottle?
+  BottleWithGreenPotion: |-
+    You see green
+    goo in a
+    bottle?
+  BottleWithBluePotion: |-
+    You see blue
+    goo in a
+    bottle?
+  BottleWithBee: |-
+    Release me
+    so I can go
+    bzzzzz!
+  BottleWithFairy: |-
+    If you die
+    I will revive
+    you!
+  Somaria: |-
+    I make blocks
+    to hold down
+    switches!
+  Byrna: |-
+    Use this to
+    become
+    invincible!
+  Cape: |-
+    Wear this to
+    become
+    invisible!
+  Mirror: |-
+    Isn't your
+    reflection so
+    pretty?
+  Boots: |-
+    Gotta go fast!
+  ProgressiveGlove: |-
+    A way to lift
+    heavier things
+  Flippers: |-
+    Fancy a swim?
+  MoonPearl: |-2
+      Bunny Link
+          be
+         gone!
+  HalfMagic: |-
+    Your magic
+    power has been
+    doubled!
+  HeartPiece: |-
+    Just a little
+    piece of love!
+  HeartContainer: |-
+    Maximum health
+    increased!
+    Yeah!
+  ThreeBombs: |-
+    I make things
+    go triple
+    BOOM!!!
+  Arrow: |-
+    A lonely arrow
+    sits here.
+  TenArrows: |-
+    This will give
+    you ten shots
+    with your bow!
+  PocketRupees: |-
+    Just pocket
+    change. Move
+    right along.
+  CouchRupees: |-
+    Just couch
+    cash. Move
+    right along.
+  OneHundredRupees: |-
+    A rupee stash!
+    Hell yeah!
+  ThreeHundredRupees: |-
+    A rupee hoard!
+    Hell yeah!
+  BombUpgrade: |-
+    Increase bomb
+    storage, low
+    low price
+  ArrowUpgrade: |-
+    Increase arrow
+    storage, low
+    low price
+
+  Missile: |-
+    Some kind of
+    flying bomb?
+  Super: |-
+    A really big
+    flying bomb!
+  PowerBomb: |-
+    Big bada boom!
+  Grapple: |-
+    Some kind of
+    futuristic
+    hookshot?
+  XRay: |-
+    THIS LENS OF
+    TRUTH IS MADE
+    IN ZEBES!
+  ETank: |-
+    A heart from
+    the future?
+  ReserveTank: |-
+    A fairy from
+    the future?
+  Charge: |-
+    IM'A CHARGIN
+    MA LAZER!
+  Ice: |-
+    Some kind of
+    ice rod for
+    aliens?
+  Wave: |-
+    Trigonometry gun.
+  Spazer: |-
+    Even space
+    lasers can
+    be sucky.
+  Plasma: |-
+    Some kind of
+    fire rod for
+    aliens?
+  Varia: |-
+    Alien armor?
+  Gravity: |-
+    No more water
+    physics.
+  Morph: |-
+    Why can't
+    Metroid crawl?
+  Bombs: |-
+    Bombs from
+    the future.
+  SpringBall: |-
+    Bouncy bouncy
+    bouncy bouncy
+    bounce.
+  ScrewAttack: |-
+    U spin me right
+    round baby
+    right round
+  HiJump: |-
+    This would be
+    great if I
+    could jump.
+  SpaceJump: |-
+    I believe
+    I can fly.
+  SpeedBooster: |-
+    THE GREEN
+    BOOMERANG IS
+    THE FASTEST!
+  Keycard: |-
+    A key from
+    the future?
+  default: |-
+    Don't waste
+    your time!
diff --git a/worlds/smz3/TotalSMZ3/Text/Scripts/StringTable.yaml b/worlds/smz3/TotalSMZ3/Text/Scripts/StringTable.yaml
new file mode 100644
index 00000000..d1e5b9c3
--- /dev/null
+++ b/worlds/smz3/TotalSMZ3/Text/Scripts/StringTable.yaml
@@ -0,0 +1,433 @@
+# Numbers in comments refer to US text numbers
+# Except for the first few entries, JP1.0 text numbers are smaller by 2
+
+# The order of the dialog entries is significant
+- set_cursor: [0xFB, 0xFC, 0x00, 0xF9, 0xFF, 0xFF, 0xFF, 0xF8, 0xFF, 0xFF, 0xE4, 0xFE, 0x68]
+- set_cursor2: [0xFB, 0xFC, 0x00, 0xF8, 0xFF, 0xFF, 0xFF, 0xF9, 0xFF, 0xFF, 0xE4, 0xFE, 0x68]
+- game_over_menu: { NoPause: "{SPEED0}\nSave and Continue\nSave and Quit\nContinue" }
+- var_test: { NoPause: "0= ᚋ, 1= ᚌ\n2= ᚍ, 3= ᚎ" }
+- follower_no_enter: "Can't you take me some place nice."
+- choice_1_3: [0xFB, 0xFC, 0x00, 0xF7, 0xE4, 0xF8, 0xFF, 0xF9, 0xFF, 0xFE, 0x71]
+- choice_2_3: [0xFB, 0xFC, 0x00, 0xF7, 0xFF, 0xF8, 0xE4, 0xF9, 0xFF, 0xFE, 0x71]
+- choice_3_3: [0xFB, 0xFC, 0x00, 0xF7, 0xFF, 0xF8, 0xFF, 0xF9, 0xE4, 0xFE, 0x71]
+- choice_1_2: [0xFB, 0xFC, 0x00, 0xF7, 0xE4, 0xF8, 0xFF, 0xFE, 0x72]
+- choice_2_2: [0xFB, 0xFC, 0x00, 0xF7, 0xFF, 0xF8, 0xE4, 0xFE, 0x72]
+- uncle_leaving_text: "I'm just going out for a pack of smokes."
+- uncle_dying_sewer: "I've fallen and I can't get up, take this."
+# $10
+- tutorial_guard_1: "Only adults should travel at night."
+- tutorial_guard_2: "You can press X to see the Map."
+- tutorial_guard_3: "Press the A button to lift things by you."
+- tutorial_guard_4: "When you has a sword, press B to slash it."
+- tutorial_guard_5: "このメッセージはニホンゴでそのまま" # on purpose
+- tutorial_guard_6: "Are we really still reading these?"
+- tutorial_guard_7: "Jeeze! There really are a lot of things."
+- priest_sanctuary_before_leave: "Go be a hero!"
+- sanctuary_enter: "YAY!\nYou saved Zelda!"
+- zelda_sanctuary_story: "Do you want to hear me say this again?\n{HARP}\n  ≥ No\n   _Yes\n{CHOICE}"
+- priest_sanctuary_before_pendants: "Go'on and get them pendants so you can beat up Agahnim."
+- priest_sanctuary_after_pendants_before_master_sword: "Kudos! But seriously, you should be getting the master sword, not having a kegger in here."
+- priest_sanctuary_dying: "They took her to the castle! Take your sword and save her!"
+- zelda_save_sewers: "You saved me!"
+- priest_info: "So, I'm the dude that will protect Zelda. Don't worry, I got this covered."
+- zelda_sanctuary_before_leave: "Be careful!"
+- telepathic_intro: "{NOBORDER}\n{SPEED6}\nHey, come find me and help me!"
+# $20
+- telepathic_reminder: "{NOBORDER}\n{SPEED6}\nI'm in the castle basement."
+- zelda_go_to_throne: "Go north to the throne."
+- zelda_push_throne: "Let's push it from the left!"
+- zelda_switch_room_pull: "Pull this lever using A."
+- zelda_save_lets_go: "Let's get out of here!"
+- zelda_save_repeat: "I like talking, do you?\n  ≥ No\n   _Yes\n{CHOICE}"
+- zelda_before_pendants: "You need to find all the pendants…\n\n\nNumpty."
+- zelda_after_pendants_before_master_sword: "Very pretty pendants, but really you should be getting that sword in the forest!"
+- telepathic_zelda_right_after_master_sword: "{NOBORDER}\n{SPEED6}\nHi £,\nHave you been thinking about me?\narrrrrgghh…\n… … …"
+- zelda_sewers: "Just a little further to the Sanctuary."
+- zelda_switch_room: "The Sanctuary!\n\nPull my finger"
+- kakariko_sahasrahla_wife: "Heya, £!\nLong time no see.\nYou want a master sword?\n\nWell good luck with that."
+- kakariko_sahasrahla_wife_sword_story: "It occurs to me that I like toast and jam, but cheese and crackers is better.\nYou like?\n__≥ Cheese\n___ Jam\n{CHOICE}"
+- kakariko_sahasrahla_wife_closing: "Anywho, I have things to do. You see those 2 ovens?\n\nYeah, 2!\nWho has 2 ovens nowadays?!"
+- kakariko_sahasrahla_after_master_sword: "Cool sword!\n\n\n…\n\n\n…\n\n\nPlease save us"
+- kakariko_alert_guards: "GUARDS! HELP!\nThe creeper\n£ is here!"
+# $30
+- sahasrahla_quest_have_pendants: "{BOTTOM}\nCool beans, but I think you should mosey on over to the lost woods."
+- sahasrahla_quest_have_master_sword: "{BOTTOM}\nThat's a pretty sword, but I'm old, forgetful, and old. Why don't you go do all the hard work while I hang out in this hut."
+- sahasrahla_quest_information: "{BOTTOM}\nSahasrahla, I am. You would do well to find the 3 pendants from the 3 dungeons in the Light World.\nUnderstand?\n  ≥ Yes\n    No\n{CHOICE}"
+- sahasrahla_bring_courage: "{BOTTOM}\nWhile you're here, could you do me a solid and get the green pendant from that dungeon?\n{HARP}\nI'll give you a present if you do."
+- sahasrahla_have_ice_rod: "{BOTTOM}\nLike, I sit here, and tell you what to do?\n\n\nAlright, go and find all the maidens, there are, like, maybe 7 of them. I dunno anymore. I'm old."
+- telepathic_sahasrahla_beat_agahnim: "{NOBORDER}\n{SPEED6}\nNice, so you beat Agahnim. Now you must beat Ganon. Good Luck!"
+- telepathic_sahasrahla_beat_agahnim_no_pearl: "{NOBORDER}\n{SPEED6}\nOh, also you forgot the Moon Pearl, dingus. Go back and find it!"
+- sahasrahla_have_boots_no_icerod: "{BOTTOM}\nCave in South East has a cool item."
+- sahasrahla_have_courage: "{BOTTOM}\nLook, you have the green pendant! I'll give you something. Go kill the other two bosses for more pendant fun!"
+- sahasrahla_found: "{BOTTOM}\nYup!\n\nI'm the old man you are looking for. I'll keep it short and sweet: Go into that dungeon, then bring me the green pendant and talk to me again."
+- sign_rain_north_of_links_house: "↑ Dying Uncle\n  This way…"
+- sign_north_of_links_house: "> Randomizer Don't read me, go beat Ganon!"
+- sign_path_to_death_mountain: "Cave to lost, old man.\nGood luck."
+- sign_lost_woods: "\n↑ Lost Woods"
+- sign_zoras: "Danger!\nDeep water!\nZoras!"
+- sign_outside_magic_shop: "Welcome to the Magic Shoppe"
+# $40
+- sign_death_mountain_cave_back: "Cave away from sky cabbages"
+- sign_east_of_links_house: "↓ Lake Hylia\n\n Also, a shop"
+- sign_south_of_lumberjacks: "← Kakariko\n  Village"
+- sign_east_of_desert: "← Desert\n\n     It's hot."
+- sign_east_of_sanctuary: "↑→ Potions!\n\nWish Waterfall"
+- sign_east_of_castle: "→ East Palace\n\n← Castle"
+- sign_north_of_lake: "\n Lake  Hiriah"
+- sign_desert_thief: "Don't talk to me or touch my sign!"
+- sign_lumberjacks_house: "Lumberjacks, Inc.\nYou see 'em, we saw 'em."
+- sign_north_kakariko: "↓ Kakariko\n  Village"
+- witch_bring_mushroom: "Double, double toil and trouble!\nBring me a mushroom!"
+- witch_brewing_the_item: "This mushroom is busy brewing. Come back later."
+- witch_assistant_no_bottle: "You got to give me the mushroom, Numpty."
+- witch_assistant_no_empty_bottle: "Gotta use your stuff before you can get more."
+- witch_assistant_informational: "Red is life\nGreen is magic\nBlue is both\nI'll heal you for free, though."
+- witch_assistant_no_bottle_buying: "If only you had something to put that in, like a bottle…"
+# $50
+- potion_shop_no_empty_bottles: "Whoa, bucko!\nNo empty bottles."
+- item_get_lamp: "Lamp! You can see in the dark, and light torches."
+- item_get_boomerang: "Boomerang! Press START to select it."
+- item_get_bow: "You're in bow mode now!"
+- item_get_shovel: "This is my new mop. My friend George, he gave me this mop. It's a pretty good mop. It's not as good as my old mop. I miss my old mop. But it's still a good mop."
+- item_get_magic_cape: "Finally! We get to play Invisible Man!"
+- item_get_powder: "It's the powder. Let's cause some mischief!"
+- item_get_flippers: "Splish! Splash! Let's go take a bath!"
+- item_get_power_gloves: "Feel the power! You can now lift light rocks! Rock on!"
+- item_get_pendant_courage: "We have the Pendant of Courage! How brave!"
+- item_get_pendant_power: "We have the Pendant of Power! How robust!"
+- item_get_pendant_wisdom: "We have the Pendant of Wisdom! How astute!"
+- item_get_mushroom: "A Mushroom! Don't eat it. Find a witch."
+- item_get_book: "It book! U R now litterit!"
+- item_get_moonpearl: "I found a shiny marble! No more hops!"
+- item_get_compass: "A compass! I can now find the boss."
+# $60
+- item_get_map: "Yo! You found a MAP! Press X to see it."
+- item_get_ice_rod: "It's the Ice Rod! Freeze Ray time."
+- item_get_fire_rod: "A Rod that shoots fire? Let's burn all the things!"
+- item_get_ether: "We can chill out with this!"
+- item_get_bombos: "Let's set everything on fire, and melt things!"
+- item_get_quake: "Time to make the earth shake, rattle, and roll!"
+- item_get_hammer: "STOP!\n\nHammer Time!"
+- item_get_ocarina: "Finally! We can play the Song of Time!"
+- item_get_cane_of_somaria: "Make blocks!\nThrow blocks!\nSplode Blocks!"
+- item_get_hookshot: "BOING!!!\nBOING!!!\nSay no more…"
+- item_get_bombs: "BOMBS! Use A to pick 'em up, throw 'em, get hurt!"
+- item_get_bottle: "It's a terrarium. I hope we find a lizard!"
+- item_get_big_key: "Yo! You got a Big Key!"
+- item_get_titans_mitts: "So, like, you can now lift anything.\nANYTHING!"
+- item_get_magic_mirror: "We could stare at this all day or, you know, beat Ganon…"
+- item_get_fake_mastersword: "It's the Master Sword! …or not…\n\n         FOOL!"
+# $70
+- post_item_get_mastersword: "{NOBORDER}\n{SPEED6}\n£, you got the sword!\n{CHANGEMUSIC}\nNow let's go beat up Agahnim!"
+- item_get_red_potion: "Red goo to go! Nice!"
+- item_get_green_potion: "Green goo to go! Nice!"
+- item_get_blue_potion: "Blue goo to go! Nice!"
+- item_get_bug_net: "Surprise Net! Let's catch stuff!"
+- item_get_blue_mail: "Blue threads? Less damage activated!"
+- item_get_red_mail: "You feel the power of the eggplant on your head."
+- item_get_temperedsword: "Nice… I now have a craving for Cheetos."
+- item_get_mirror_shield: "Pit would be proud!"
+- item_get_cane_of_byrna: "It's the Blue Cane. You can now protect yourself with lag!"
+- missing_big_key: "Something is missing…\nThe Big Key?"
+- missing_magic: "Something is missing…\nMagic meter?"
+- item_get_pegasus_boots: "Finally, it's bonking time!\nHold A to dash"
+- talking_tree_info_start: "Whoa! I can talk again!"
+- talking_tree_info_1: "Yank on the pitchfork in the center of town, ya heard it here."
+- talking_tree_info_2: "Ganon is such a dingus, no one likes him, ya heard it here."
+# $80
+- talking_tree_info_3: "There is a portal near the Lost Woods, ya heard it here."
+- talking_tree_info_4: "Use bombs to quickly kill the Hinox, ya heard it here."
+- talking_tree_other: "I can breathe!"
+- item_get_pendant_power_alt: "We have the Pendant of Power! How robust!"
+- item_get_pendant_wisdom_alt: "We have the Pendant of Wisdom! How astute!"
+- game_shooting_choice: "20 rupees.\n5 arrows.\nWin rupees!\nWant to play?\n  ≥ Yes\n   _No\n{CHOICE}"
+- game_shooting_yes: "Let's do this!"
+- game_shooting_no: "Where are you going? Straight up!"
+- game_shooting_continue: "Keep playing?\n  ≥ Yes\n   _No\n{CHOICE}"
+- pond_of_wishing: "-Wishing Pond-\n\n On Vacation"
+- pond_item_select: "Pick something\nto throw in.\n{ITEMSELECT}"
+- pond_item_test: "You toss this?\n  ≥ Yup\n   _Wrong\n{CHOICE}"
+- pond_will_upgrade: "You're honest, so I'll give you a present."
+- pond_item_test_no: "You sure?\n  ≥ Oh yeah\n   _Um\n{CHOICE}"
+- pond_item_test_no_no: "Well, I don't want it, so take it back."
+- pond_item_boomerang: "I don't much like you, so have this worse Boomerang."
+# $90
+- pond_item_shield: "I grant you the ability to block fireballs. Don't lose this to a Pikit!"
+- pond_item_silvers: "So, wouldn't it be nice to kill Ganon? These should help in the final phase."
+- pond_item_bottle_filled: "Bottle Filled!\nMoney Saved!"
+- pond_item_sword: "Thank you for the sword, here is a stick of butter."
+- pond_of_wishing_happiness: "Happiness up!\nYou are now\nᚌᚋ happy!"
+- pond_of_wishing_choice: "Your wish?\n  ≥More bombs\n  _More arrows\n{CHOICE}"
+- pond_of_wishing_bombs: "Woo-hoo!\nYou can now\ncarry ᚌᚋ bombs"
+- pond_of_wishing_arrows: "Woo-hoo!\nYou can now\nhold ᚌᚋ arrows"
+- pond_of_wishing_full_upgrades: "You have all I can give you, here are your rupees back."
+- mountain_old_man_first: "Look out for holes, and monsters."
+- mountain_old_man_deadend: "Oh, goody, hearts in jars! This place is creepy."
+- mountain_old_man_turn_right: "Turn right. Let's get out of this place."
+- mountain_old_man_lost_and_alone: "Hello. I can't see anything. Take me with you."
+- mountain_old_man_drop_off: "Here's a thing to help you, good luck!"
+- mountain_old_man_in_his_cave_pre_agahnim: "You need to beat the tower at the top of the mountain."
+- mountain_old_man_in_his_cave: "You can find stuff in the tower at the top of this mountain.\nCome see me if you'd like to be healed."
+# $A0
+- mountain_old_man_in_his_cave_post_agahnim: "You should be heading to the castle… you have a portal there now.\nSay hi anytime you like."
+- tavern_old_man_awake: "Life? Love? Happiness? The question you should really ask is: Was this generated by Stoops Alu or Stoops Jet?"
+- tavern_old_man_unactivated_flute: "You should play that flute for the weathervane, cause reasons."
+- tavern_old_man_know_tree_unactivated_flute: "You should play that flute for the weathervane, cause reasons."
+- tavern_old_man_have_flute: "Life? Love? Happiness? The question you should really ask is: Was this generated by Stoops Alu or Stoops Jet?"
+- chicken_hut_lady: "This is\nChristos' hut.\n\nHe's out, searching for a bow."
+- running_man: "Hi, Do you\nknow Veetorp?\n\nYou really\nshould. And\nall the other great guys who made this possible.\nGo thank them.\n\n\nIf you can catch them…"
+- game_race_sign: "Why are you reading this sign? Run!!!"
+- sign_bumper_cave: "You need Cape, but not Hookshot"
+- sign_catfish: "Toss rocks\nToss items\nToss cookies"
+- sign_north_village_of_outcasts: "↑ Skull Woods\n\n↓ Steve's Town"
+- sign_south_of_bumper_cave: "\n→ Karkats cave"
+- sign_east_of_pyramid: "\n→ Dark Palace"
+- sign_east_of_bomb_shop: "\n← Bomb Shoppe"
+- sign_east_of_mire: "\n← Misery Mire\n no way in.\n no way out."
+- sign_village_of_outcasts: "Have a Trulie Awesome Day!"
+# $B0
+- sign_before_wishing_pond: "waterfall\nup ahead\nmake wishes"
+- sign_before_catfish_area: "→↑ Have you met Woeful Ike?"
+- castle_wall_guard: "Looking for a Princess? Look downstairs."
+- gate_guard: "No Lonks Allowed!"
+- telepathic_tile_eastern_palace: "{NOBORDER}\nYou need a Bow to get past the red Eyegore. derpy"
+- telepathic_tile_tower_of_hera_floor_4: "{NOBORDER}\nIf you find a shiny ball, you can be you in the Dark World."
+- hylian_text_1: "%== %== %==\n ^ %==% ^\n%== ^%%^ ==^"
+- mastersword_pedestal_translated: "A test of strength: If you have 3 pendants, I'm yours."
+- telepathic_tile_spectacle_rock: "{NOBORDER}\nUse the Mirror, or the Hookshot and Hammer, to get to Tower of Hera!"
+- telepathic_tile_swamp_entrance: "{NOBORDER}\nDrain the floodgate to raise the water here!"
+- telepathic_tile_thieves_town_upstairs: "{NOBORDER}\nBlind hates bright light."
+- telepathic_tile_misery_mire: "{NOBORDER}\nLighting 4 torches will open your way forward!"
+- hylian_text_2: "%%^= %==%\n ^ =%^=\n==%= ^^%^"
+- desert_entry_translated: "Kneel before this stone, and magic will move around you."
+- telepathic_tile_under_ganon: "{NOBORDER}\nOnly Silver Arrows will finish off a blue Ganon, or really well timed spins in phase 4."
+- telepathic_tile_palace_of_darkness: "{NOBORDER}\nThis is a funny looking Enemizer"
+# $C0
+- telepathic_tile_desert_bonk_torch_room: "{NOBORDER}\nThings can be knocked down, if you fancy yourself a dashing dude."
+- telepathic_tile_castle_tower: "{NOBORDER}\nYou can reflect Agahnim's energy with Sword, Bug-net or Hammer."
+- telepathic_tile_ice_large_room: "{NOBORDER}\nAll right, stop collaborate and listen\nIce is back with my brand new invention."
+- telepathic_tile_turtle_rock: "{NOBORDER}\nYou Shall not pass… without the red cane."
+- telepathic_tile_ice_entrace: "{NOBORDER}\nYou can use Fire Rod or Bombos to pass."
+- telepathic_tile_ice_stalfos_knights_room: "{NOBORDER}\nKnock 'em down and then bomb them dead."
+- telepathic_tile_tower_of_hera_entrance: "{NOBORDER}\nThis is a bad place, with a guy who will make you fall…\n\n\na lot."
+- houlihan_room: "My name is Chris Houlihan, but I'm sure you only care about the money. Take it, it's not like I can stop you."
+- caught_a_bee: "Caught a Bee\n  ≥ Keep\n   _Release\n{CHOICE}"
+- caught_a_fairy: "Caught Fairy!\n  ≥ Keep\n   _Release\n{CHOICE}"
+- no_empty_bottles: "Whoa, bucko!\nNo empty bottles."
+- game_race_boy_time: "Your time was\nᚎᚍ min ᚌᚋ sec."
+- game_race_girl: "You have 15 seconds,\nGo… Go… Go…"
+- game_race_boy_success: "Nice!\nYou can have this trash!"
+- game_race_boy_failure: "Too slow!\nI keep my\nprecious!"
+- game_race_boy_already_won: "You already have your prize, dingus!"
+# $D0
+- game_race_boy_sneaky: "Thought you could sneak in, eh?"
+- bottle_vendor_choice: "I gots bottles.\nYous gots 100 rupees?\n  ≥ I want\n   _No way!"
+- bottle_vendor_get: "Nice! Hold it up son! Show the world what you got!"
+- bottle_vendor_no: "Fine! I didn't want your money anyway."
+- bottle_vendor_already_collected: "Dude! You already have it."
+- bottle_vendor_bee: "Cool! A bee! Here's 100 rupees."
+- bottle_vendor_fish: "Whoa! A fish! You walked this all the way here?"
+- hobo_item_get_bottle: "You think life is rough? I guess you can take my last item. Except this tent. That's MY tent!"
+- blacksmiths_what_you_want: "Nice of you to come back!\nWould you like us mess with your sword?\n  ≥ Temper\n   _It's fine\n{CHOICE}"
+- blacksmiths_paywall: "It's 10 rupees\n  ≥ Easy\n   _Hang on…\n{CHOICE}"
+- blacksmiths_extra_okay: "Are you sure you're sure?\n  ≥ Ah, yup\n   _Hang on…\n{CHOICE}"
+- blacksmiths_tempered_already: "Whelp… We can't make this any better."
+- blacksmiths_temper_no: "Oh, come by any time!"
+- blacksmiths_bogart_sword: "We're going to have to take it to work on it."
+- blacksmiths_get_sword: "Sword is done. Now, back to our bread!"
+- blacksmiths_shop_before_saving: "I lost my friend. Help me find him!"
+# $E0
+- blacksmiths_shop_saving: "You found him! Colour me happy! Come back right away and we will bang on your sword."
+- blacksmiths_collect_frog: "Ribbit! Ribbit! Let's find my partner. To the shop!"
+- blacksmiths_still_working: "Something this precious takes time… Come back later."
+- blacksmiths_saving_bows: "Thanks!\n\nThanks!"
+- blacksmiths_hammer_anvil: "Dernt Take Er Jerbs!"
+- dark_flute_boy_storytime: "Hi!\nI'm Stumpy!\nI've been chillin' in this world for a while now, but I miss my flute. If I gave you a shovel, would you go digging for it?\n  ≥ Sure\n   _Nahh\n{CHOICE}"
+- dark_flute_boy_get_shovel: "Schaweet! Here you go. Happy digging!"
+- dark_flute_boy_no_get_shovel: "Oh I see, not good enough for you… FINE!"
+- dark_flute_boy_flute_not_found: "Still haven't found the item? Dig in the Light World around here, dingus!"
+- dark_flute_boy_after_shovel_get: "So I gave you an item, and you're still here.\n\n\n\n\n\nI mean, we can sit here and stare at each other, if you like…\n\n\n\n\n\n\n\nFine, I guess you should just go."
+- shop_fortune_teller_lw_hint_0: "{BOTTOM}\nBy the black cats, the book opens the desert"
+- shop_fortune_teller_lw_hint_1: "{BOTTOM}\nBy the black cats, nothing doing"
+- shop_fortune_teller_lw_hint_2: "{BOTTOM}\nBy the black cats, I'm cheap"
+- shop_fortune_teller_lw_hint_3: "{BOTTOM}\nBy the black cats, am I cheap?"
+- shop_fortune_teller_lw_hint_4: "{BOTTOM}\nBy the black cats, Zora lives at the end of the river"
+- shop_fortune_teller_lw_hint_5: "{BOTTOM}\nBy the black cats, The Cape can pass through the barrier"
+# $F0
+- shop_fortune_teller_lw_hint_6: "{BOTTOM}\nBy the black cats, Spin, Hammer, or Net to hurt Agahnim"
+- shop_fortune_teller_lw_hint_7: "{BOTTOM}\nBy the black cats, You can jump in the well by the blacksmiths"
+- shop_fortune_teller_lw_no_rupees: "{BOTTOM}\nThe black cats are hungry, come back with rupees"
+- shop_fortune_teller_lw: "{BOTTOM}\nWelcome to the Fortune Shoppe!\nFancy a read?\n  ≥I must know\n  _Negative\n{CHOICE}"
+- shop_fortune_teller_lw_post_hint: "{BOTTOM}\nFor ᚋᚌ rupees\nIt is done.\nBe gone!"
+- shop_fortune_teller_lw_no: "{BOTTOM}\nWell then, why did you even come in here?"
+- shop_fortune_teller_lw_hint_8: "{BOTTOM}\nBy the black cats, why you do?"
+- shop_fortune_teller_lw_hint_9: "{BOTTOM}\nBy the black cats, panda crackers"
+- shop_fortune_teller_lw_hint_10: "{BOTTOM}\nBy the black cats, the missing blacksmith is south of the Village of Outcasts"
+- shop_fortune_teller_lw_hint_11: "{BOTTOM}\nBy the black cats, open chests to get stuff"
+- shop_fortune_teller_lw_hint_12: "{BOTTOM}\nBy the black cats, you can buy a new bomb at the Bomb Shoppe"
+- shop_fortune_teller_lw_hint_13: "{BOTTOM}\nBy the black cats, big bombs blow up cracked walls in pyramids"
+- shop_fortune_teller_lw_hint_14: "{BOTTOM}\nBy the black cats, you need all the crystals to open Ganon's Tower"
+- shop_fortune_teller_lw_hint_15: "{BOTTOM}\nBy the black cats, Silver Arrows will defeat Ganon in his final phase"
+- dark_sanctuary: "For 20 rupees I'll tell you something?\nHow about it?\n  ≥ Yes\n   _No\n{CHOICE}"
+- dark_sanctuary_hint_0: "I once was a tea kettle, but then I moved up in the world, and now you can see me as this. Makes you wonder. What I could be next time."
+# $100
+- dark_sanctuary_no: "Then go away!"
+- dark_sanctuary_hint_1: "There is a thief in the desert, he can open creepy chests that follow you. But now that we have that out of the way, do you like my hair? I've spent eons getting it this way."
+- dark_sanctuary_yes: "With Crystals 5&6, you can find a great fairy in the pyramid.\n\nFlomp Flomp, Whizzle Whomp"
+- dark_sanctuary_hint_2: "All I can say is that my life is pretty plain,\nI like watchin' the puddles gather rain,\nAnd all I can do is just pour some tea for two,\nAnd speak my point of view but it's not sane,\nIt's not sane"
+- sick_kid_no_bottle: "{BOTTOM}\nI'm sick! Show me a bottle, get something!"
+- sick_kid_trade: "{BOTTOM}\nCool Bottle! Here's something for you."
+- sick_kid_post_trade: "{BOTTOM}\nLeave me alone\nI'm sick. You have my item."
+- desert_thief_sitting: "………………………"
+- desert_thief_following: "why……………"
+- desert_thief_question: "I was a thief. I open purple chests!\nKeep secret?\n  ≥ Sure thing\n    Never!\n{CHOICE}"
+- desert_thief_question_yes: "Cool, bring me any purple chests you find."
+- desert_thief_after_item_get: "You tell anyone and I will give you such a pinch!"
+- desert_thief_reassure: "Bring chests. It's a secret to everyone."
+- hylian_text_3: "^^ ^%=^= =%=\n=%% =%%=^\n==%^= %=^^%"
+- tablet_ether_book: "Can you make things fall out of the sky? With the Master Sword, you can!"
+- tablet_bombos_book: "Can you make things fall out of the sky? With the Master Sword, you can!"
+# $110
+- magic_bat_wake: "You bum! I was sleeping! Where's my magic bolts?"
+- magic_bat_give_half_magic: "How you like me now?"
+- intro_main: { NoPause: "{INTRO}\n Episode  III\n{PAUSE3}\n A Link to\n   the Past\n{PAUSE3}\n  Randomizer\n{PAUSE3}\nAfter mostly disregarding what happened in the first two games.\n{PAUSE3}\nLink awakens to his uncle leaving the house.\n{PAUSE3}\nHe just runs out the door,\n{PAUSE3}\ninto the rainy night.\n{PAUSE3}\n{CHANGEPIC}\nGanon has moved around all the items in Hyrule.\n{PAUSE7}\nYou will have to find all the items necessary to beat Ganon.\n{PAUSE7}\nThis is your chance to be a hero.\n{PAUSE3}\n{CHANGEPIC}\nYou must get the 7 crystals to beat Ganon.\n{PAUSE9}\n{CHANGEPIC}" }
+- intro_throne_room: { NoPause: "{IBOX}\nLook at this Stalfos on the throne." }
+- intro_zelda_cell: { NoPause: "{IBOX}\nIt is your time to shine!" }
+- intro_agahnim: { NoPause: "{IBOX}\nAlso, you need to defeat this guy!" }
+- pickup_purple_chest: "A curious box. Let's take it with us!"
+- bomb_shop: "30 bombs for 100 rupees. Good deals all day!"
+- bomb_shop_big_bomb: "30 bombs for 100 rupees, 100 rupees 1 BIG bomb. Good deals all day!"
+- bomb_shop_big_bomb_buy: "Thanks!\nBoom goes the dynamite!"
+- item_get_big_bomb: "YAY! press A to splode it!"
+- kiki_second_extortion: "For 100 more, I'll open this place.\nHow about it?\n  ≥ Open\n   _Nah\n{CHOICE}"
+- kiki_second_extortion_no: "Heh, good luck getting in."
+- kiki_second_extortion_yes: "Yay! Rupees!\nOkay, let's do this!"
+- kiki_first_extortion: "I'm Kiki. I like rupees, may I have 10?\nHow about it?\n  ≥ Yes\n   _No\n{CHOICE}"
+- kiki_first_extortion_yes: "Nice. I'll tag along with you for a bit."
+# $120
+- kiki_first_extortion_no: "Pfft. I have no reason to hang. See ya!"
+- kiki_leaving_screen: "No no no no no! We should play by my rules! Goodbye…"
+- blind_in_the_cell: "You saved me!\nPlease get me out of here!"
+- blind_by_the_light: "Aaaahhhh~!\nS-so bright~!"
+- blind_not_that_way: "No! Don't go that way!"
+- aginah_l1sword_no_book: "I once had a fish dinner. I still remember it to this day."
+- aginah_l1sword_with_pendants: "Do you remember when I was young?\n\nI sure don't."
+- aginah: "So, I've been living in this cave for years, and you think you can just come along and bomb open walls?"
+- aginah_need_better_sword: "Once, I farted in this cave so bad all the jazz hands guys ran away and hid in the sand."
+- aginah_have_better_sword: "Pandas are very vicious animals. Never forget…\n\n\n\n\nI never will…"
+- catfish: "You woke me from my nap! Take this, and get out!"
+- catfish_after_item: "I don't have anything else for you!\nTake this!"
+- lumberjack_right: "One of us always lies."
+- lumberjack_left: "One of us always tells the truth."
+- lumberjack_left_post_agahnim: "One of us likes peanut butter."
+- fighting_brothers_right: "I walled off my brother Leo\n\nWhat a dingus."
+# $130
+- fighting_brothers_right_opened: "Now I should probably talk to him…"
+- fighting_brothers_left: "Did you come from my brothers room?\n\nAre we cool?"
+- maiden_crystal_1: "{SPEED2}\n{BOTTOM}\n{NOBORDER}\nI have a pretty red dress.\n{SPEED2}\nJust thought I would tell you."
+- maiden_crystal_2: "{SPEED2}\n{BOTTOM}\n{NOBORDER}\nI have a pretty blue dress.\n{SPEED2}\nJust thought I would tell you."
+- maiden_crystal_3: "{SPEED2}\n{BOTTOM}\n{NOBORDER}\nI have a pretty gold dress.\n{SPEED2}\nJust thought I would tell you."
+- maiden_crystal_4: "{SPEED2}\n{BOTTOM}\n{NOBORDER}\nI have a pretty redder dress.\n{SPEED2}\nJust thought I would tell you."
+- maiden_crystal_5: "{SPEED2}\n{BOTTOM}\n{NOBORDER}\nI have a pretty green dress.\n{SPEED2}\nJust thought I would tell you."
+- maiden_crystal_6: "{SPEED2}\n{BOTTOM}\n{NOBORDER}\nI have a pretty green dress.\n{SPEED2}\nJust thought I would tell you."
+- maiden_crystal_7: "{SPEED2}\n{BOTTOM}\n{NOBORDER}\nIt's about friggin time.\n{SPEED2}\nDo you know how long I've been waiting?!"
+- maiden_ending: "May the way of the hero lead to the Triforce"
+- maiden_confirm_undersood: "{SPEED2}\n{BOTTOM}\n{NOBORDER}\nCapisce?\n  ≥ Yes\n   _No\n{CHOICE}"
+- barrier_breaking: "What did the seven crystals say to Ganon's Tower?"
+- maiden_crystal_7_again: "{SPEED2}\n{BOTTOM}\n{NOBORDER}\nIt's about friggin time.\n{SPEED2}\nDo you know how long I've been waiting?!"
+- agahnim_zelda_teleport: "I am a magician, and this is my act. Watch as I make this girl disappear"
+- agahnim_magic_running_away: "And now, the end is near\nAnd so I face the final curtain\nMy friend, I'll say it clear\nI'll state my case, of which I'm certain\nI've lived a life that's full\nI've traveled each and every highway\nBut more, much more than this\nI did it my way"
+- agahnim_hide_and_seek_found: "Peek-a-boo!"
+# $140
+- agahnim_defeated: "Arrrgggghhh. Well you're coming with me!"
+- agahnim_final_meeting: "You have done well to come this far. Now, die!"
+# $142
+- zora_meeting: "What do you want?\n  ≥ Flippers\n   _Nothin'\n{CHOICE}"
+- zora_tells_cost: "Fine! But they aren't cheap. You got 500 rupees?\n  ≥ Duh\n   _Oh carp\n{CHOICE}"
+- zora_get_flippers: "Here's some Flippers for you! Swim little fish, swim."
+- zora_no_cash: "Fine!\nGo get some more money first."
+- zora_no_buy_item: "Wah hoo! Well, whenever you want to see these gills, stop on by."
+- kakariko_sahasrahla_grandson: "My grandpa is over in the East. I'm bad with directions. I'll mark your map. Best of luck!\n{HARP}"
+- kakariko_sahasrahla_grandson_next: "Someday I'll be in a high school band!"
+- dark_palace_tree_dude: "Did you know…\n\n\nA tree typically has many secondary branches supported clear of the ground by the trunk. This trunk typically contains woody tissue for strength, and vascular tissue to carry materials from one part of the tree to another."
+- fairy_wishing_ponds: "\n-Wishing pond-\n\nThrow item in?\n  ≥ Yesh\n   _No\n{CHOICE}"
+- fairy_wishing_ponds_no: "\n   Stop it!"
+- pond_of_wishing_no: "\n  Fine then!"
+- pond_of_wishing_return_item: "Okay. Here's your item back, cause I can't use it. I'm stuck in this fountain."
+- pond_of_wishing_throw: "How many?\n  ≥ᚌᚋ rupees\n  _ᚎᚍ rupees\n{CHOICE}"
+- pond_pre_item_silvers: "I like you, so here's a thing you can use to beat up Ganon."
+# $150
+- pond_of_wishing_great_luck: "\n is great luck"
+- pond_of_wishing_good_luck: "\n is good luck"
+- pond_of_wishing_meh_luck: "\n is meh luck"
+# Repurposed to no items in Randomizer
+- pond_of_wishing_bad_luck: "Why you come in here and pretend like you have something this fountain wants? Come back with bottles!"
+- pond_of_wishing_fortune: "by the way, your fortune,"
+- item_get_14_heart: "3 more to go\n      ¼\nYay!"
+- item_get_24_heart: "2 more to go\n      ½\nWhee!"
+- item_get_34_heart: "1 more to go\n      ¾\nGood job!"
+- item_get_whole_heart: "You got a whole ♥!!\nGo you!"
+- item_get_sanc_heart: "You got a whole ♥!\nGo you!"
+- fairy_fountain_refill: "Well done, lettuce have a cup of tea…"
+- death_mountain_bullied_no_pearl: "I wrote a word. Just one. On a stone and threw it into the ocean. It was my word. It was what would save me. I hope someday someone finds that word and brings it to me. The word is the beginning of my song."
+- death_mountain_bullied_with_pearl: "I wrote a song. Just one. On a guitar and threw it into the sky. It was my song. It could tame beasts and free minds. It flitters on the wind and lurks in our minds. It is the song of nature, of humanity, of dreams and dreamers."
+- death_mountain_bully_no_pearl: "Add garlic, ginger and apple and cook for 2 minutes. Add carrots, potatoes, garam masala and curry powder and stir well. Add tomato paste, stir well and slowly add red wine and bring to a boil. Add sugar, soy sauce and water, stir and bring to a boil again."
+- death_mountain_bully_with_pearl: "I think I forgot how to smile…"
+- shop_darkworld_enter: "It's dangerous outside, buy my crap for safety."
+# $160
+- game_chest_village_of_outcasts: "Pay 30 rupees, open 2 chests. Are you lucky?\nSo, Play game?\n  ≥ Play\n   _Never!\n{CHOICE}"
+- game_chest_no_cash: "So, like, you need 30 rupees.\nSilly!"
+- game_chest_not_played: "You want to play a game?\nTalk to me."
+- game_chest_played: "You've opened the chests!\nTime to go."
+- game_chest_village_of_outcasts_play: "Alright, brother!\nGo play!"
+- shop_first_time: "Welcome to my shop! Select stuff with A.\nDO IT NOW!"
+- shop_already_have: "So, like, you already have one of those."
+- shop_buy_shield: "Thanks! Now you can block fire balls."
+- shop_buy_red_potion: "Red goo, so good! It's like a fairy in a bottle, except you have to activate it yourself."
+- shop_buy_arrows: "Arrows! Cause you were too lazy to look under some pots!"
+- shop_buy_bombs: "You bought bombs. What, couldn't find any under bushes?"
+- shop_buy_bee: "He's my best friend. Please take care of him, and never lose him."
+- shop_buy_heart: "You really just bought this?"
+- shop_first_no_bottle_buy: "Why does no one own bottles? Go find one first!"
+- shop_buy_no_space: "You are carrying to much crap, go use some of it first!"
+- ganon_fall_in: "You drove\naway my other\nself, Agahnim,\ntwo times…\nBut, I won't\ngive you the\nTriforce.\nI'll defeat\nyou!"
+# $170
+- ganon_phase_3: "Can you beat\nmy darkness\ntechnique?"
+- lost_woods_thief: "Have you seen Andy?\n\nHe was out looking for our prized Ether medallion.\nI wonder when he will be back?"
+- blinds_hut_dude: "I'm just some dude. This is Blind's hut."
+- end_triforce: "{SPEED2}\n{MENU}\n{NOBORDER}\n     G G"
+# $174
+- toppi_fallen: "Ouch!\n\nYou Jerk!"
+- kakariko_tavern_fisherman: "Don't argue\nwith a frozen\nDeadrock.\nHe'll never\nchange his\nposition!"
+- thief_money: "It's a secret to everyone."
+- thief_desert_rupee_cave: "So you, like, busted down my door, and are being a jerk by talking to me? Normally I would be angry and make you pay for it, but I bet you're just going to break all my pots and steal my 50 rupees."
+- thief_ice_rupee_cave: "I'm a rupee pot farmer. One day I will take over the world with my skillz. Have you met my brother in the desert? He's way richer than I am."
+- telepathic_tile_south_east_darkworld_cave: "~~ Dev cave ~~\n  No farming\n   required"
+# $17A
+- cukeman: "Did you hear that Veetorp beat ajneb174 in a 1 on 1 race at AGDQ?"
+- cukeman_2: "You found Shabadoo, huh?\nNiiiiice."
+- potion_shop_no_cash: "Yo! I'm not running a charity here."
+- kakariko_powdered_chicken: "Smallhacker…\n\n\nWas hiding, you found me!\n\n\nOkay, you can leave now."
+- game_chest_south_of_kakariko: "Pay 20 rupees, open 1 chest. Are you lucky?\nSo, Play game?\n  ≥ Play\n   _Never!\n{CHOICE}"
+- game_chest_play_yes: "Good luck then"
+# $180
+- game_chest_play_no: "Well fine, I didn't want your rupees."
+- game_chest_lost_woods: "Pay 100 rupees, open 1 chest. Are you lucky?\nSo, Play game?\n  ≥ Play\n    Never!\n{CHOICE}"
+- kakariko_flophouse_man_no_flippers: "I sure do have a lot of beds.\n\nZora is a cheapskate and will try to sell you his trash for 500 rupees…"
+- kakariko_flophouse_man: "I sure do have a lot of beds.\n\nDid you know if you played the flute in the center of town things could happen?"
+- menu_start_2: { NoPause: "{MENU}\n{SPEED0}\n≥£'s House\n_Sanctuary\n{CHOICE3}" }
+- menu_start_3: { NoPause: "{MENU}\n{SPEED0}\n≥£'s House\n_Sanctuary\n_Mountain Cave\n{CHOICE2}" }
+- menu_pause: { NoPause: "{SPEED0}\n≥Continue Game\n_Save and Quit\n{CHOICE3}" }
+- game_digging_choice: "Have 80 Rupees? Want to play digging game?\n  ≥Yes\n  _No\n{CHOICE}"
+- game_digging_start: "Okay, use the shovel with Y!"
+- game_digging_no_cash: "Shovel rental is 80 rupees.\nI have all day"
+- game_digging_end_time: "Time's up!\nTime for you to go."
+- game_digging_come_back_later: "Come back later, I have to bury things."
+- game_digging_no_follower: "Something is following you. I don't like."
+- menu_start_4: { NoPause: "{MENU}\n{SPEED0}\n≥£'s House\n_Mountain Cave\n{CHOICE3}" }
+- ganon_fall_in_alt: "You think you\nare ready to\nface me?\n\nI will not die\n\nunless you\ncomplete your\ngoals. Dingus!"
+- ganon_phase_3_alt: "Got wax in your ears? I cannot die!"
+# $190
+- sign_east_death_mountain_bridge: "How did you get up here?"
+- fish_money: "It's a secret to everyone."
+- end_pad_data: ""
diff --git a/worlds/smz3/TotalSMZ3/Text/Scripts/TavernMan.txt b/worlds/smz3/TotalSMZ3/Text/Scripts/TavernMan.txt
new file mode 100644
index 00000000..5ef85012
--- /dev/null
+++ b/worlds/smz3/TotalSMZ3/Text/Scripts/TavernMan.txt
@@ -0,0 +1,354 @@
+What do you
+call a blind
+dinosaur?
+Adoyouthink-
+hesaurus
+
+---
+A blind man
+walks into
+a bar.
+And a table.
+And a chair.
+
+---
+What do ducks
+like to eat?
+
+Quackers!
+
+---
+How do you
+set up a party
+in space?
+
+You planet!
+
+---
+I'm glad I
+know sign
+language,
+it's pretty
+handy.
+
+---
+What did Zelda
+say to Link at
+a secure door?
+
+TRIFORCE!
+
+---
+I am on a
+seafood diet.
+
+Every time
+I see food,
+I eat it.
+---
+I've decided
+to sell my
+vacuum.
+It was just
+gathering
+dust.
+---
+Whats the best
+time to go to
+the dentist?
+
+Tooth-hurtie!
+
+---
+Why can't a
+bike stand on
+its own?
+
+It's two-tired!
+
+---
+If you haven't
+found Quake
+yet…
+it's not your
+fault.
+---
+Why is Peter
+Pan always
+flying?
+Because he
+Neverlands!
+---
+I once told a
+joke to Armos.
+
+But he
+remained
+stone-faced!
+---
+Lanmola was
+late to our
+dinner party.
+He just came
+for the desert
+---
+Moldorm is
+such a
+prankster.
+And I fall for
+it every time!
+---
+Helmasaur is
+throwing a
+party.
+I hope it's
+a masquerade!
+---
+I'd like to
+know Arrghus
+better.
+But he won't
+come out of
+his shell!
+---
+Mothula didn't
+have much fun
+at the party.
+He's immune to
+spiked punch!
+---
+Don't set me
+up with that
+chick from
+Steve's Town.
+
+
+I'm not
+interested in
+a Blind date!
+---
+Kholdstare is
+afraid to go
+to the circus.
+Hungry kids
+thought he was
+cotton candy!
+---
+I asked who
+Vitreous' best
+friends are.
+He said,
+'Me, Myself,
+and Eye!'
+---
+Trinexx can be
+a hothead or
+he can be an
+ice guy. In
+the end, he's
+a solid
+individual!
+---
+Bari thought I
+had moved out
+of town.
+He was shocked
+to see me!
+---
+I can only get
+Weetabix
+around here.
+I have to go
+to Steve's
+Town for Count
+Chocula!
+---
+Don't argue
+with a frozen
+Deadrock.
+He'll never
+change his
+position!
+---
+I offered a
+drink to a
+self-loathing
+Ghini.
+He said he
+didn't like
+spirits!
+---
+I was supposed
+to meet Gibdo
+for lunch.
+But he got
+wrapped up in
+something!
+---
+Goriya sure
+has changed
+in this game.
+I hope he
+comes back
+around!
+---
+Hinox actually
+wants to be a
+lawyer.
+Too bad he
+bombed the
+Bar exam!
+---
+I'm surprised
+Moblin's tusks
+are so gross.
+He always has
+his Trident
+with him!
+---
+Don’t tell
+Stalfos I’m
+here.
+He has a bone
+to pick with
+me!
+---
+I got
+Wallmaster to
+help me move
+furniture.
+He was really
+handy!
+---
+Wizzrobe was
+just here.
+He always
+vanishes right
+before we get
+the check!
+---
+I shouldn't
+have picked up
+Zora's tab.
+That guy
+drinks like
+a fish!
+---
+I was sharing
+a drink with
+Poe.
+For no reason,
+he left in a
+heartbeat!
+---
+Don’t trust
+horsemen on
+Death Mountain
+They’re Lynel
+the time!
+---
+Today's
+special is
+battered bat.
+Got slapped
+for offering a
+lady a Keese!
+---
+Don’t walk
+under
+propellered
+pineapples.
+You may end up
+wearing
+a pee hat!
+---
+My girlfriend
+burrowed under
+the sand.
+So I decided
+to Leever!
+---
+Geldman wants
+to be a
+Broadway star.
+He’s always
+practicing
+Jazz Hands!
+---
+Octoballoon
+must be mad
+at me.
+He blows up
+at the sight
+of me!
+---
+Toppo is a
+total pothead.
+
+He hates it
+when you take
+away his grass
+---
+I lost my
+shield by
+that house.
+Why did they
+put up a
+Pikit fence?!
+---
+Know that fox
+in Steve’s
+Town?
+He’ll Pikku
+pockets if you
+aren't careful
+---
+Dash through
+Dark World
+bushes.
+You’ll see
+Ganon is tryin
+to Stal you!
+---
+Eyegore!
+
+You gore!
+We all gore
+those jerks
+with arrows!
+---
+I like my
+whiskey neat.
+
+Some prefer it
+Octoroks!
+---
+I consoled
+Freezor over a
+cup of coffee.
+His problems
+just seemed to
+melt away!
+---
+Magic droplets
+of water don’t
+shut up.
+They just
+Kyameron!
+---
+I bought hot
+wings for
+Sluggula.
+They gave him
+explosive
+diarrhea!
+---
+Hardhat Beetle
+won’t
+Let It Be?
+Tell it to Get
+Back or give
+it a Ticket to
+Ride down
+a hole!
+---
diff --git a/worlds/smz3/TotalSMZ3/Text/Scripts/TriforceRoom.txt b/worlds/smz3/TotalSMZ3/Text/Scripts/TriforceRoom.txt
new file mode 100644
index 00000000..219de761
--- /dev/null
+++ b/worlds/smz3/TotalSMZ3/Text/Scripts/TriforceRoom.txt
@@ -0,0 +1,103 @@
+
+     G G
+---
+All your base
+are belong
+to us.
+---
+You have ended
+the domination
+of dr. wily
+---
+  thanks for
+  playing!!!
+---
+
+   You Win!
+---
+  Thank you!
+  your quest
+   is over.
+---
+   A winner
+      is
+     you!
+---
+
+   WINNER!!
+---
+
+  I'm  sorry
+
+but your
+princess is in
+another castle
+---
+
+   success!
+---
+    Whelp…
+  that  just
+   happened
+---
+   Oh  hey…
+   it's you
+---
+
+  Wheeeeee!!
+---
+   Time for
+ another one?
+---
+and
+
+         scene
+---
+
+   GOT EM!!
+---
+
+THE VALUUUE!!!
+---
+Cool seed,
+
+right?
+---
+
+  We did it!
+---
+  Spam those
+  emotes in
+  wilds chat
+---
+
+   O  M  G
+---
+ Hello.  Will
+  you be my
+   friend?
+---
+   Beetorp
+     was
+    here!
+---
+The Wind Fish
+will wake
+soon.    Hoot!
+---
+meow meow meow
+meow meow meow
+  oh my god!
+---
+Ahhhhhhhhh
+Ya ya yaaaah
+Ya ya yaaah
+---
+.done
+
+.comment lol
+---
+You get to
+drink from
+the firehose
+---
diff --git a/worlds/smz3/TotalSMZ3/Text/StringTable.py b/worlds/smz3/TotalSMZ3/Text/StringTable.py
new file mode 100644
index 00000000..4c198699
--- /dev/null
+++ b/worlds/smz3/TotalSMZ3/Text/StringTable.py
@@ -0,0 +1,87 @@
+    
+from typing import Any, List
+import copy
+from worlds.smz3.TotalSMZ3.Text.Dialog import Dialog
+from worlds.smz3.TotalSMZ3.Text.Texts import text_folder
+from yaml import load, Loader
+
+class StringTable:
+
+    @staticmethod
+    def ParseEntries(resource: str):
+        with open(resource, 'rb') as f:
+            yaml = str(f.read(), "utf-8")
+        content = load(yaml, Loader)
+
+        result = []
+        for entryValue in content:
+            (key, value) = next(iter(entryValue.items()))
+            if isinstance(value, List):
+                result.append((key, value))
+            elif isinstance(value, str):
+                result.append((key, Dialog.Compiled(value)))
+            elif isinstance(value, dict):
+                result.append((key, Dialog.Compiled(value["NoPause"], False)))
+            else: raise Exception(f"Did not expect an object of type {type(value)}")
+        return result
+
+    template = ParseEntries.__func__(text_folder + "/Scripts/StringTable.yaml")
+
+    def __init__(self):
+        self.entries = copy.deepcopy(StringTable.template)
+
+    def SetSahasrahlaRevealText(self, text: str):
+        self.SetText("sahasrahla_quest_information", text)
+
+    def SetBombShopRevealText(self, text: str):
+        self.SetText("bomb_shop", text)
+
+    def SetBlindText(self, text: str):
+        self.SetText("blind_by_the_light", text)
+
+    def SetTavernManText(self, text: str):
+        self.SetText("kakariko_tavern_fisherman", text)
+
+    def SetGanonFirstPhaseText(self, text: str):
+        self.SetText("ganon_fall_in", text)
+
+    def SetGanonThirdPhaseText(self, text: str):
+        self.SetText("ganon_phase_3", text)
+
+    def SetTriforceRoomText(self, text: str):
+        self.SetText("end_triforce", "{NOBORDER}\n" + text)
+
+    def SetPedestalText(self, text: str):
+        self.SetText("mastersword_pedestal_translated", text)
+
+    def SetEtherText(self, text: str):
+        self.SetText("tablet_ether_book", text)
+
+    def SetBombosText(self, text: str):
+        self.SetText("tablet_bombos_book", text)
+
+    def SetText(self, name: str, text: str):
+        count = 0
+        for key, value in self.entries:
+            if (key == name):
+                index = count
+                break
+            else:
+                count += 1
+        self.entries[index] = (name, Dialog.Compiled(text))
+
+    def GetPaddedBytes(self):
+        return self.GetBytes(True)
+
+    def GetBytes(self, pad = False):
+        maxBytes = 0x7355
+        data = []
+        for entry in self.entries:
+            data += entry[1]
+
+        if (len(data) > maxBytes):
+            raise Exception(f"String Table exceeds 0x{maxBytes:X} bytes")
+
+        if (pad and len(data) < maxBytes):
+            data += [0xFF] * (maxBytes - len(data))
+        return data
diff --git a/worlds/smz3/TotalSMZ3/Text/Texts.py b/worlds/smz3/TotalSMZ3/Text/Texts.py
new file mode 100644
index 00000000..df60d19c
--- /dev/null
+++ b/worlds/smz3/TotalSMZ3/Text/Texts.py
@@ -0,0 +1,97 @@
+from typing import Any, List
+from worlds.smz3.TotalSMZ3.Region import Region
+from worlds.smz3.TotalSMZ3.Regions.Zelda.GanonsTower import GanonsTower
+from worlds.smz3.TotalSMZ3.Item import Item, ItemType
+from yaml import load, Loader
+import random
+import os
+
+text_folder = os.path.dirname(__file__)
+
+class Texts:
+    @staticmethod
+    def ParseYamlScripts(resource: str):
+        with open(resource, 'rb') as f:
+            yaml = str(f.read(), "utf-8")
+        return load(yaml, Loader)
+
+    @staticmethod        
+    def ParseTextScript(resource: str):
+        with open(resource, 'r') as file:
+            return [text.rstrip('\n') for text in file.read().replace("\r", "").split("---\n") if text]
+
+    scripts: Any = ParseYamlScripts.__func__(text_folder + "/Scripts/General.yaml")
+    blind: List[str] = ParseTextScript.__func__(text_folder + "/Scripts/Blind.txt")
+    ganon: List[str] = ParseTextScript.__func__(text_folder + "/Scripts/Ganon.txt")
+    tavernMan: List[str] = ParseTextScript.__func__(text_folder + "/Scripts/TavernMan.txt")
+    triforceRoom: List[str] = ParseTextScript.__func__(text_folder + "/Scripts/TriforceRoom.txt")
+
+    @staticmethod
+    def SahasrahlaReveal(dungeon: Region):
+        text = Texts.scripts["SahasrahlaReveal"]
+        return text.replace("<dungeon>", dungeon.Area)
+
+    @staticmethod
+    def BombShopReveal(dungeons: List[Region]):
+        text = Texts.scripts["BombShopReveal"]
+        return text.replace("<first>", dungeons[0].Area).replace("<second>", dungeons[1].Area)
+
+    @staticmethod
+    def GanonThirdPhaseSingle(silvers: Region):
+        node = Texts.scripts["GanonSilversReveal"]["single"]
+        text = node["local" if isinstance(silvers, GanonsTower) else "remote"]
+        return text.replace("<region>", silvers.Area)
+
+    @staticmethod
+    def GanonThirdPhaseMulti(silvers: Region, myWorld: int, silversWorld: int = None, silversPlayer: str = None):
+        node = Texts.scripts["GanonSilversReveal"]["multi"]
+        if silvers is None:
+            if (silversWorld == myWorld.Id):
+                return node["local"]
+            player = silversPlayer
+        else:
+            if (silvers.world == myWorld):
+                return node["local"]
+            player = silvers.world.Player
+        player = player.rjust(7 + len(player) // 2)
+        text = node["remote"]
+        return text.replace("<player>", player)
+
+    @staticmethod
+    def ItemTextbox(item: Item):
+        nameMap = {
+                    ItemType.BottleWithGoldBee : ItemType.BottleWithBee.name,
+                    ItemType.HeartContainerRefill : ItemType.HeartContainer.name,
+                    ItemType.OneRupee : "PocketRupees",
+                    ItemType.FiveRupees : "PocketRupees",
+                    ItemType.TwentyRupees : "CouchRupees",
+                    ItemType.TwentyRupees2 : "CouchRupees",
+                    ItemType.FiftyRupees : "CouchRupees",
+                    ItemType.BombUpgrade5 : "BombUpgrade",
+                    ItemType.BombUpgrade10 : "BombUpgrade",
+                    ItemType.ArrowUpgrade5 : "ArrowUpgrade",
+                    ItemType.ArrowUpgrade10 : "ArrowUpgrade",
+                    item.Type : item.Type.name,
+                }
+        if item.IsMap(): name = "Map"
+        elif item.IsCompass(): name = "Compass"
+        elif item.IsKeycard(): name = "Keycard"
+        else: name = nameMap[item.Type]
+
+        items = Texts.scripts["Items"]
+        return items.get(name, None) or items["default"]
+
+    @staticmethod
+    def Blind(rnd: random): return Texts.RandomLine(rnd, Texts.blind)
+
+    @staticmethod
+    def TavernMan(rnd: random): return Texts.RandomLine(rnd, Texts.tavernMan)
+
+    @staticmethod
+    def GanonFirstPhase(rnd: random): return Texts.RandomLine(rnd, Texts.ganon)
+
+    @staticmethod
+    def TriforceRoom(rnd: random): return Texts.RandomLine(rnd, Texts.triforceRoom)
+
+    @staticmethod
+    def RandomLine(rnd: random, lines: List[str]): return lines[rnd.randrange(0, len(lines))]
diff --git a/worlds/smz3/TotalSMZ3/Text/__init__.py b/worlds/smz3/TotalSMZ3/Text/__init__.py
new file mode 100644
index 00000000..e69de29b
diff --git a/worlds/smz3/TotalSMZ3/World.py b/worlds/smz3/TotalSMZ3/World.py
new file mode 100644
index 00000000..14d68516
--- /dev/null
+++ b/worlds/smz3/TotalSMZ3/World.py
@@ -0,0 +1,166 @@
+from typing import Dict, List
+import random
+
+import worlds.smz3.TotalSMZ3.Region as Region
+import worlds.smz3.TotalSMZ3.Config as Config
+import worlds.smz3.TotalSMZ3.Item as Item
+import worlds.smz3.TotalSMZ3.Location as Location
+
+from worlds.smz3.TotalSMZ3.Regions.Zelda.CastleTower import CastleTower
+from worlds.smz3.TotalSMZ3.Regions.Zelda.EasternPalace import EasternPalace
+from worlds.smz3.TotalSMZ3.Regions.Zelda.DesertPalace import DesertPalace
+from worlds.smz3.TotalSMZ3.Regions.Zelda.TowerOfHera import TowerOfHera
+from worlds.smz3.TotalSMZ3.Regions.Zelda.PalaceOfDarkness import PalaceOfDarkness
+from worlds.smz3.TotalSMZ3.Regions.Zelda.SwampPalace import SwampPalace
+from worlds.smz3.TotalSMZ3.Regions.Zelda.SkullWoods import SkullWoods
+from worlds.smz3.TotalSMZ3.Regions.Zelda.ThievesTown import ThievesTown
+from worlds.smz3.TotalSMZ3.Regions.Zelda.IcePalace import IcePalace
+from worlds.smz3.TotalSMZ3.Regions.Zelda.MiseryMire import MiseryMire
+from worlds.smz3.TotalSMZ3.Regions.Zelda.TurtleRock import TurtleRock
+from worlds.smz3.TotalSMZ3.Regions.Zelda.GanonsTower import GanonsTower
+from worlds.smz3.TotalSMZ3.Regions.Zelda.LightWorld.DeathMountain.West import West as LightWorldDeathMountainWest
+from worlds.smz3.TotalSMZ3.Regions.Zelda.LightWorld.DeathMountain.East import East as LightWorldDeathMountainEast
+from worlds.smz3.TotalSMZ3.Regions.Zelda.LightWorld.NorthWest import NorthWest as LightWorldNorthWest
+from worlds.smz3.TotalSMZ3.Regions.Zelda.LightWorld.NorthEast import NorthEast as LightWorldNorthEast
+from worlds.smz3.TotalSMZ3.Regions.Zelda.LightWorld.South import South as LightWorldSouth
+from worlds.smz3.TotalSMZ3.Regions.Zelda.HyruleCastle import HyruleCastle
+from worlds.smz3.TotalSMZ3.Regions.Zelda.DarkWorld.DeathMountain.West import West as DarkWorldDeathMountainWest
+from worlds.smz3.TotalSMZ3.Regions.Zelda.DarkWorld.DeathMountain.East import East as DarkWorldDeathMountainEast
+from worlds.smz3.TotalSMZ3.Regions.Zelda.DarkWorld.NorthWest import NorthWest as DarkWorldNorthWest
+from worlds.smz3.TotalSMZ3.Regions.Zelda.DarkWorld.NorthEast import NorthEast as DarkWorldNorthEast
+from worlds.smz3.TotalSMZ3.Regions.Zelda.DarkWorld.South import South as DarkWorldSouth
+from worlds.smz3.TotalSMZ3.Regions.Zelda.DarkWorld.Mire import Mire as DarkWorldMire
+from worlds.smz3.TotalSMZ3.Regions.SuperMetroid.Crateria.Central import Central
+from worlds.smz3.TotalSMZ3.Regions.SuperMetroid.Crateria.West import West as CrateriaWest 
+from worlds.smz3.TotalSMZ3.Regions.SuperMetroid.Crateria.East import East as CrateriaEast
+from worlds.smz3.TotalSMZ3.Regions.SuperMetroid.Brinstar.Blue import Blue
+from worlds.smz3.TotalSMZ3.Regions.SuperMetroid.Brinstar.Green import Green
+from worlds.smz3.TotalSMZ3.Regions.SuperMetroid.Brinstar.Kraid import Kraid
+from worlds.smz3.TotalSMZ3.Regions.SuperMetroid.Brinstar.Pink import Pink
+from worlds.smz3.TotalSMZ3.Regions.SuperMetroid.Brinstar.Red import Red
+from worlds.smz3.TotalSMZ3.Regions.SuperMetroid.Maridia.Outer import Outer
+from worlds.smz3.TotalSMZ3.Regions.SuperMetroid.Maridia.Inner import Inner
+from worlds.smz3.TotalSMZ3.Regions.SuperMetroid.NorfairUpper.West import West as NorfairUpperWest
+from worlds.smz3.TotalSMZ3.Regions.SuperMetroid.NorfairUpper.East import East as NorfairUpperEast
+from worlds.smz3.TotalSMZ3.Regions.SuperMetroid.NorfairUpper.Crocomire import Crocomire
+from worlds.smz3.TotalSMZ3.Regions.SuperMetroid.NorfairLower.West import West as NorfairLowerWest
+from worlds.smz3.TotalSMZ3.Regions.SuperMetroid.NorfairLower.East import East as NorfairLowerEast
+from worlds.smz3.TotalSMZ3.Regions.SuperMetroid.WreckedShip import WreckedShip
+
+class World:
+    Locations: List[Location.Location]
+    Regions: List[Region.Region]
+    Config: Config.Config
+    Player: str
+    Guid: str
+    Id: int
+
+    def Items(self):
+        return [l.Item for l in self.Locations if l.Item != None]
+
+    locationLookup: Dict[str, Location.Location]
+    regionLookup: Dict[str, Region.Region]
+
+    def GetLocation(self, name:str): return self.locationLookup[name]
+    def GetRegion(self, name:str): return self.regionLookup[name]
+
+    def __init__(self, config: Config, player: str, id: int, guid: str):
+        self.Config = config
+        self.Player = player
+        self.Id = id
+        self.Guid = guid
+
+        self.Regions = [
+            CastleTower(self, self.Config),
+            EasternPalace(self, self.Config),
+            DesertPalace(self, self.Config),
+            TowerOfHera(self, self.Config),
+            PalaceOfDarkness(self, self.Config),
+            SwampPalace(self, self.Config),
+            SkullWoods(self, self.Config),
+            ThievesTown(self, self.Config),
+            IcePalace(self, self.Config),
+            MiseryMire(self, self.Config),
+            TurtleRock(self, self.Config),
+            GanonsTower(self, self.Config),
+            LightWorldDeathMountainWest(self, self.Config),
+            LightWorldDeathMountainEast(self, self.Config),
+            LightWorldNorthWest(self, self.Config),
+            LightWorldNorthEast(self, self.Config),
+            LightWorldSouth(self, self.Config),
+            HyruleCastle(self, self.Config),
+            DarkWorldDeathMountainWest(self, self.Config),
+            DarkWorldDeathMountainEast(self, self.Config),
+            DarkWorldNorthWest(self, self.Config),
+            DarkWorldNorthEast(self, self.Config),
+            DarkWorldSouth(self, self.Config),
+            DarkWorldMire(self, self.Config),
+            Central(self, self.Config),
+            CrateriaWest(self, self.Config),
+            CrateriaEast(self, self.Config),
+            Blue(self, self.Config),
+            Green(self, self.Config),
+            Kraid(self, self.Config),
+            Pink(self, self.Config),
+            Red(self, self.Config),
+            Outer(self, self.Config),
+            Inner(self, self.Config),
+            NorfairUpperWest(self, self.Config),
+            NorfairUpperEast(self, self.Config),
+            Crocomire(self, self.Config),
+            NorfairLowerWest(self, self.Config),
+            NorfairLowerEast(self, self.Config),
+            WreckedShip(self, self.Config)
+        ]
+
+        self.Locations = []
+        for r in self.Regions:
+            self.Locations = self.Locations + r.Locations
+
+        self.regionLookup = {r.Name:r for r in self.Regions}
+        self.locationLookup = {loc.Name:loc for loc in self.Locations}
+        
+        for region in self.Regions:
+            region.GenerateLocationLookup()
+
+
+    def CanEnter(self, regionName: str, items: Item.Progression):
+        region = self.regionLookup[regionName]
+        if (region == None):
+            raise Exception(f"World.CanEnter: Invalid region name {regionName}", f'{regionName=}'.partition('=')[0])
+        return region.CanEnter(items)
+
+    def CanAquire(self, items: Item.Progression, reward: Region.RewardType):
+        return next(iter([region for region in self.Regions if isinstance(region, Region.IReward) and region.Reward == reward])).CanComplete(items)
+
+    def CanAquireAll(self, items: Item.Progression, *rewards: Region.RewardType):
+        for region in self.Regions:
+            if issubclass(type(region), Region.IReward):
+                if (region.Reward in rewards):
+                    if not region.CanComplete(items):
+                        return False
+        return True
+
+        # return all(region.CanComplete(items) for region in self.Regions if (isinstance(region, Region.IReward) and region.Reward in rewards))
+
+    def Setup(self, rnd: random):
+        self.SetMedallions(rnd)
+        self.SetRewards(rnd)
+
+    def SetMedallions(self, rnd: random):
+        medallionMap = {0: Item.ItemType.Bombos, 1: Item.ItemType.Ether, 2: Item.ItemType.Quake}
+        regionList = [region for region in self.Regions if isinstance(region, Region.IMedallionAccess)]
+        for region in regionList:
+            region.Medallion = medallionMap[rnd.randint(0, 2)]
+
+    def SetRewards(self, rnd: random):
+        rewards = [
+            Region.RewardType.PendantGreen, Region.RewardType.PendantNonGreen, Region.RewardType.PendantNonGreen, Region.RewardType.CrystalRed, Region.RewardType.CrystalRed,
+            Region.RewardType.CrystalBlue, Region.RewardType.CrystalBlue, Region.RewardType.CrystalBlue, Region.RewardType.CrystalBlue, Region.RewardType.CrystalBlue
+            ]
+        rnd.shuffle(rewards)
+        regionList = [region for region in self.Regions if isinstance(region, Region.IReward) and region.Reward == Region.RewardType.Null]
+        for region in regionList:
+            region.Reward = rewards[0]
+            rewards.remove(region.Reward)
+
diff --git a/worlds/smz3/TotalSMZ3/__init__.py b/worlds/smz3/TotalSMZ3/__init__.py
new file mode 100644
index 00000000..e69de29b
diff --git a/worlds/smz3/__init__.py b/worlds/smz3/__init__.py
new file mode 100644
index 00000000..adb79d11
--- /dev/null
+++ b/worlds/smz3/__init__.py
@@ -0,0 +1,438 @@
+import logging
+import copy
+import os
+import random
+import threading
+import Patch
+from typing import Dict, Set, TextIO
+
+from BaseClasses import Region, Entrance, Location, MultiWorld, Item, RegionType, CollectionState
+from worlds.generic.Rules import add_rule, set_rule
+import worlds.smz3.TotalSMZ3.Item as TotalSMZ3Item
+from worlds.smz3.TotalSMZ3.World import World as TotalSMZ3World
+from worlds.smz3.TotalSMZ3.Config import Config, GameMode, GanonInvincible, Goal, KeyShuffle, MorphLocation, SMLogic, SwordLocation, Z3Logic
+from worlds.smz3.TotalSMZ3.Location import LocationType, locations_start_id, Location as TotalSMZ3Location
+from worlds.smz3.TotalSMZ3.Patch import Patch as TotalSMZ3Patch, getWord, getWordArray
+from ..AutoWorld import World, AutoLogicRegister
+from .Rom import get_base_rom_bytes
+from .ips import IPS_Patch
+from .Options import smz3_options
+
+world_folder = os.path.dirname(__file__)
+logger = logging.getLogger("SMZ3")
+
+class SMCollectionState(metaclass=AutoLogicRegister):
+    def init_mixin(self, parent: MultiWorld):
+        # for unit tests where MultiWorld is instantiated before worlds
+        if hasattr(parent, "state"):
+            self.smz3state = {player: TotalSMZ3Item.Progression([]) for player in parent.get_game_players("SMZ3")}
+        else:
+            self.smz3state = {}
+
+    def copy_mixin(self, ret) -> CollectionState:
+        ret.smz3state = {player: copy.deepcopy(self.smz3state[player]) for player in self.world.get_game_players("SMZ3")}
+        return ret
+
+
+class SMZ3World(World):
+    """
+     A python port of Super Metroid & A Link To The Past Crossover Item Randomizer based on v11.2 of Total's SMZ3. 
+     This is allowed as long as we keep features and logic as close as possible as the original.    
+    """
+    game: str = "SMZ3"
+    topology_present = False
+    data_version = 0
+    options = smz3_options
+    item_names: Set[str] = frozenset(TotalSMZ3Item.lookup_name_to_id)
+    location_names: Set[str]
+    item_name_to_id = TotalSMZ3Item.lookup_name_to_id
+    location_name_to_id: Dict[str, int] = {key : locations_start_id + value.Id for key, value in TotalSMZ3World(Config({}), "", 0, "").locationLookup.items()}
+
+    remote_items: bool = False
+    remote_start_inventory: bool = False
+
+    def __init__(self, world: MultiWorld, player: int):
+        self.rom_name_available_event = threading.Event()
+        self.locations = {}
+        self.unreachable = []
+        super().__init__(world, player)
+
+    def generate_early(self):
+        config = Config({})
+        config.GameMode = GameMode.Multiworld
+        config.Z3Logic = Z3Logic.Normal
+        config.SMLogic = SMLogic(self.world.sm_logic[self.player].value)
+        config.SwordLocation = SwordLocation(self.world.sword_location[self.player].value)
+        config.MorphLocation = MorphLocation(self.world.morph_location[self.player].value)
+        config.Goal = Goal.DefeatBoth
+        config.KeyShuffle = KeyShuffle(self.world.key_shuffle[self.player].value)
+        config.Keysanity = config.KeyShuffle != KeyShuffle.Null
+        config.GanonInvincible = GanonInvincible.BeforeCrystals
+
+        self.local_random = random.Random(self.world.random.randint(0, 1000))
+        self.smz3World = TotalSMZ3World(config, self.world.get_player_name(self.player), self.player, self.world.seed_name)
+        self.smz3DungeonItems = []
+        SMZ3World.location_names = frozenset(self.smz3World.locationLookup.keys())
+
+        self.world.state.smz3state[self.player] = TotalSMZ3Item.Progression([])
+    
+    def generate_basic(self):
+        self.smz3World.Setup(self.world.random)
+        self.dungeon = TotalSMZ3Item.Item.CreateDungeonPool(self.smz3World)
+        self.dungeon.reverse()
+        self.progression = TotalSMZ3Item.Item.CreateProgressionPool(self.smz3World)
+        self.keyCardsItems = TotalSMZ3Item.Item.CreateKeycards(self.smz3World)
+
+        niceItems = TotalSMZ3Item.Item.CreateNicePool(self.smz3World)
+        junkItems = TotalSMZ3Item.Item.CreateJunkPool(self.smz3World)
+        allJunkItems = niceItems + junkItems
+
+        if (self.smz3World.Config.Keysanity):
+            progressionItems = self.progression + self.dungeon + self.keyCardsItems
+        else:
+            progressionItems = self.progression 
+            for item in self.keyCardsItems:
+                self.world.push_precollected(SMZ3Item(item.Type.name, False, item.Type, self.item_name_to_id[item.Type.name], self.player, item))
+
+        itemPool = [SMZ3Item(item.Type.name, True, item.Type, self.item_name_to_id[item.Type.name], self.player, item) for item in progressionItems] + \
+                    [SMZ3Item(item.Type.name, False, item.Type, self.item_name_to_id[item.Type.name], self.player, item) for item in allJunkItems]
+        self.smz3DungeonItems = [SMZ3Item(item.Type.name, True, item.Type, self.item_name_to_id[item.Type.name], self.player, item) for item in self.dungeon]
+        self.world.itempool += itemPool
+
+    def set_rules(self):
+        # SM G4 is logically required to access Ganon's Tower in SMZ3
+        self.world.completion_condition[self.player] = lambda state: \
+            self.smz3World.GetRegion("Ganon's Tower").CanEnter(state.smz3state[self.player]) and \
+            self.smz3World.GetRegion("Ganon's Tower").TowerAscend(state.smz3state[self.player])
+
+        for region in self.smz3World.Regions:
+            entrance = self.world.get_entrance('Menu' + "->" + region.Name, self.player)
+            set_rule(entrance, lambda state, region=region: region.CanEnter(state.smz3state[self.player]))
+            for loc in region.Locations:
+                l = self.locations[loc.Name]
+                if self.world.accessibility[self.player] != 'locations':
+                    l.always_allow = lambda state, item, loc=loc: \
+                        item.game == "SMZ3" and \
+                        loc.alwaysAllow(TotalSMZ3Item.Item(TotalSMZ3Item.ItemType[item.name], self.smz3World), state.smz3state[self.player])
+                old_rule = l.item_rule
+                l.item_rule = lambda item, loc=loc, region=region: (\
+                    item.game != "SMZ3" or \
+                    loc.allow(TotalSMZ3Item.Item(TotalSMZ3Item.ItemType[item.name], self.smz3World), None) and \
+                        region.CanFill(TotalSMZ3Item.Item(TotalSMZ3Item.ItemType[item.name], self.smz3World))) and old_rule(item)
+                set_rule(l, lambda state, loc=loc: loc.Available(state.smz3state[self.player]))
+
+    def create_regions(self):
+        self.create_locations(self.player)
+        startRegion = self.create_region(self.world, self.player, 'Menu')
+        self.world.regions.append(startRegion)
+
+        for region in self.smz3World.Regions:
+            currentRegion = self.create_region(self.world, self.player, region.Name, region.locationLookup.keys(), [region.Name + "->" + 'Menu'])
+            self.world.regions.append(currentRegion)
+            entrance = self.world.get_entrance(region.Name + "->" + 'Menu', self.player)
+            entrance.connect(startRegion)
+            exit = Entrance(self.player, 'Menu' + "->" + region.Name, startRegion)
+            startRegion.exits.append(exit)
+            exit.connect(currentRegion)
+
+    def apply_sm_custom_sprite(self):
+        itemSprites = ["off_world_prog_item.bin", "off_world_item.bin"]
+        itemSpritesAddress = [0xF800, 0xF900]
+        idx = 0
+        offworldSprites = {}
+        for fileName in itemSprites:
+            with open(world_folder + "/data/custom_sprite/" + fileName, 'rb') as stream:
+                buffer = bytearray(stream.read())
+                offworldSprites[0x04Eff2 + 10*((0x6B + 0x40) + idx)] = bytearray(getWordArray(itemSpritesAddress[idx])) + buffer[0:8]
+                offworldSprites[0x090000 + itemSpritesAddress[idx]] = buffer[8:264]
+                idx += 1
+        return offworldSprites
+
+    def convert_to_sm_item_name(self, itemName):
+        charMap = { "A" : 0x3CE0, 
+                    "B" : 0x3CE1,
+                    "C" : 0x3CE2,
+                    "D" : 0x3CE3,
+                    "E" : 0x3CE4,
+                    "F" : 0x3CE5,
+                    "G" : 0x3CE6,
+                    "H" : 0x3CE7,
+                    "I" : 0x3CE8,
+                    "J" : 0x3CE9,
+                    "K" : 0x3CEA,
+                    "L" : 0x3CEB,
+                    "M" : 0x3CEC,
+                    "N" : 0x3CED,
+                    "O" : 0x3CEE,
+                    "P" : 0x3CEF,
+                    "Q" : 0x3CF0,
+                    "R" : 0x3CF1,
+                    "S" : 0x3CF2,
+                    "T" : 0x3CF3,
+                    "U" : 0x3CF4,
+                    "V" : 0x3CF5,
+                    "W" : 0x3CF6,
+                    "X" : 0x3CF7,
+                    "Y" : 0x3CF8,
+                    "Z" : 0x3CF9,
+                    " " : 0x3C4E,
+                    "!" : 0x3CFF,
+                    "?" : 0x3CFE,
+                    "'" : 0x3CFD,
+                    "," : 0x3CFB,
+                    "." : 0x3CFA,
+                    "-" : 0x3CCF,
+                    "_" : 0x000E,
+                    "1" : 0x3C00,
+                    "2" : 0x3C01,
+                    "3" : 0x3C02,
+                    "4" : 0x3C03,
+                    "5" : 0x3C04,
+                    "6" : 0x3C05,
+                    "7" : 0x3C06,
+                    "8" : 0x3C07,
+                    "9" : 0x3C08,
+                    "0" : 0x3C09,
+                    "%" : 0x3C0A}
+        data = []
+
+        itemName = itemName.upper()[:26]
+        itemName = itemName.strip()
+        itemName = itemName.center(26, " ")    
+        itemName = "___" + itemName + "___"
+
+        for char in itemName:
+            (w0, w1) = getWord(charMap.get(char, 0x3C4E))
+            data.append(w0)
+            data.append(w1)
+        return data
+
+    def convert_to_lttp_item_name(self, itemName):
+        return bytearray(itemName[:19].center(19, " ")  , 'utf8') + bytearray(0)
+
+    def apply_item_names(self):
+        patch = {}
+        sm_remote_idx = 0
+        lttp_remote_idx = 0
+        for location in self.smz3World.Locations:
+            if self.world.worlds[location.APLocation.item.player].game != self.game:
+                if location.Type == LocationType.Visible or location.Type == LocationType.Chozo or location.Type == LocationType.Hidden:
+                    patch[0x390000 + sm_remote_idx*64] = self.convert_to_sm_item_name(location.APLocation.item.name)
+                    sm_remote_idx += 1
+                    progressionItem = (0 if location.APLocation.item.advancement else 0x8000) + sm_remote_idx
+                    patch[0x386000 + (location.Id * 8) + 6] = bytearray(getWordArray(progressionItem))
+                else:
+                    patch[0x390000 + 100 * 64 + lttp_remote_idx * 20] = self.convert_to_lttp_item_name(location.APLocation.item.name)
+                    lttp_remote_idx += 1
+                    progressionItem = (0 if location.APLocation.item.advancement else 0x8000) + lttp_remote_idx
+                    patch[0x386000 + (location.Id * 8) + 6] = bytearray(getWordArray(progressionItem))
+                
+        return patch
+
+    def generate_output(self, output_directory: str):
+        try:
+            base_combined_rom = get_base_rom_bytes()
+            basepatch = IPS_Patch.load(world_folder + "/data/zsm.ips")
+            base_combined_rom = basepatch.apply(base_combined_rom)
+
+            patcher = TotalSMZ3Patch(self.smz3World,
+                                    [world.smz3World for key, world in self.world.worlds.items() if isinstance(world, SMZ3World)],
+                                    self.world.seed_name,
+                                    self.world.seed,
+                                    self.local_random,
+                                    self.world.world_name_lookup,
+                                    next(iter(loc.player for loc in self.world.get_locations() if loc.item == self.create_item("SilverArrows"))))
+            patches = patcher.Create(self.smz3World.Config)
+            patches.update(self.apply_sm_custom_sprite())
+            patches.update(self.apply_item_names())
+            for addr, bytes in patches.items():
+                offset = 0
+                for byte in bytes:
+                    base_combined_rom[addr + offset] = byte
+                    offset += 1
+
+            outfilebase = 'AP_' + self.world.seed_name
+            outfilepname = f'_P{self.player}'
+            outfilepname += f"_{self.world.player_name[self.player].replace(' ', '_')}" \
+
+            filename = os.path.join(output_directory, f'{outfilebase}{outfilepname}.sfc')
+            with open(filename, "wb") as binary_file:
+                binary_file.write(base_combined_rom)
+            Patch.create_patch_file(filename, player=self.player, player_name=self.world.player_name[self.player], game=Patch.GAME_SMZ3)
+            os.remove(filename)
+            self.rom_name = bytearray(patcher.title, 'utf8')
+        except:
+            raise
+        finally:
+            self.rom_name_available_event.set() # make sure threading continues and errors are collected
+
+    def modify_multidata(self, multidata: dict):
+        import base64
+        if (not self.smz3World.Config.Keysanity):
+            for item_name in self.keyCardsItems:
+                item_id = self.item_name_to_id.get(item_name.Type.name, None)
+                try:
+                    multidata["precollected_items"][self.player].remove(item_id)
+                except ValueError as e:
+                    logger.warning(f"Attempted to remove nonexistent item id {item_id} from smz3 precollected items ({item_name})")
+
+        # wait for self.rom_name to be available.
+        self.rom_name_available_event.wait()
+        rom_name = getattr(self, "rom_name", None)
+        # we skip in case of error, so that the original error in the output thread is the one that gets raised
+        if rom_name:
+            new_name = base64.b64encode(bytes(self.rom_name)).decode()
+            payload = multidata["connect_names"][self.world.player_name[self.player]]
+            multidata["connect_names"][new_name] = payload
+            del (multidata["connect_names"][self.world.player_name[self.player]])
+
+    def fill_slot_data(self): 
+        slot_data = {}
+        return slot_data
+
+    def collect(self, state: CollectionState, item: Item) -> bool:
+        state.smz3state[item.player].Add([TotalSMZ3Item.Item(TotalSMZ3Item.ItemType[item.name], self.smz3World)])
+        if item.advancement:
+            state.prog_items[item.name, item.player] += 1
+            return True  # indicate that a logical state change has occured
+        return False
+
+    def remove(self, state: CollectionState, item: Item) -> bool:
+        name = self.collect_item(state, item, True)
+        if name:
+            state.smz3state[item.player].Remove([TotalSMZ3Item.Item(TotalSMZ3Item.ItemType[item.name], self.smz3World)])
+            state.prog_items[name, item.player] -= 1
+            if state.prog_items[name, item.player] < 1:
+                del (state.prog_items[name, item.player])
+            return True
+        return False
+
+    def create_item(self, name: str) -> Item:
+        return SMZ3Item(name, True, TotalSMZ3Item.ItemType[name], self.item_name_to_id[name], player = self.player)
+
+    def pre_fill(self):
+        from Fill import fill_restrictive
+        self.InitialFillInOwnWorld()
+
+        if (not self.smz3World.Config.Keysanity):
+            locations = [loc for loc in self.locations.values() if loc.item is None]
+            self.world.random.shuffle(locations)
+
+            all_state = self.world.get_all_state(False)
+            for item in self.smz3DungeonItems:
+                all_state.remove(item)
+
+            all_dungeonItems = self.smz3DungeonItems[:]
+            fill_restrictive(self.world, all_state, locations, all_dungeonItems, True, True)
+            # some small or big keys (those always_allow) can be unreachable in-game
+            # while logic still collects some of them (probably to simulate the player collecting pot keys in the logic), some others don't
+            # so we need to remove those exceptions as progression items
+            if self.world.accessibility[self.player] != 'locations':
+                exception_item = [TotalSMZ3Item.ItemType.BigKeySW, TotalSMZ3Item.ItemType.BigKeySP, TotalSMZ3Item.ItemType.KeyTH]
+                for item in self.smz3DungeonItems:
+                    if item.item.Type in exception_item and item.location.always_allow(all_state, item) and not all_state.can_reach(item.location):
+                        item.advancement = False
+                        item.item.Progression = False
+                        item.location.event = False
+                        self.unreachable.append(item.location)
+
+    def get_pre_fill_items(self):
+        if (not self.smz3World.Config.Keysanity):
+            return self.smz3DungeonItems
+        else:
+            return []
+
+    def write_spoiler(self, spoiler_handle: TextIO):
+            self.world.spoiler.unreachables.update(self.unreachable)
+
+    def FillItemAtLocation(self, itemPool, itemType, location):
+        itemToPlace = TotalSMZ3Item.Item.Get(itemPool, itemType, self.smz3World)
+        if (itemToPlace == None):
+            raise Exception(f"Tried to place item {itemType} at {location.Name}, but there is no such item in the item pool")
+        else:
+            location.Item = itemToPlace
+            itemFromPool = next((i for i in self.world.itempool if i.player == self.player and i.name == itemToPlace.Type.name), None)
+            if itemFromPool is not None:
+                self.world.get_location(location.Name, self.player).place_locked_item(itemFromPool)
+                self.world.itempool.remove(itemFromPool)
+            else:
+                itemFromPool = next((i for i in self.smz3DungeonItems if i.player == self.player and i.name == itemToPlace.Type.name), None)
+                if itemFromPool is not None:
+                    self.world.get_location(location.Name, self.player).place_locked_item(itemFromPool)
+                    self.smz3DungeonItems.remove(itemFromPool)
+        itemPool.remove(itemToPlace)
+
+    def FrontFillItemInOwnWorld(self, itemPool, itemType):
+        item = TotalSMZ3Item.Item.Get(itemPool, itemType, self.smz3World)
+        location = next(iter(self.world.random.sample(TotalSMZ3Location.AvailableGlobal(TotalSMZ3Location.Empty(self.smz3World.Locations), self.smz3World.Items()), 1)), None)
+        if (location == None):
+            raise Exception(f"Tried to front fill {item.Name} in, but no location was available")
+        
+        location.Item = item
+        itemFromPool = next((i for i in self.world.itempool if i.player == self.player and i.name == item.Type.name), None)
+        if itemFromPool is not None:
+            self.world.get_location(location.Name, self.player).place_locked_item(itemFromPool)
+            self.world.itempool.remove(itemFromPool)
+        itemPool.remove(item)
+
+    def InitialFillInOwnWorld(self):
+        self.FillItemAtLocation(self.dungeon, TotalSMZ3Item.ItemType.KeySW, self.smz3World.GetLocation("Skull Woods - Pinball Room"))
+
+        # /* Check Swords option and place as needed */
+        if self.smz3World.Config.SwordLocation == SwordLocation.Uncle:
+            self.FillItemAtLocation(self.progression, TotalSMZ3Item.ItemType.ProgressiveSword, self.smz3World.GetLocation("Link's Uncle"))
+        elif self.smz3World.Config.SwordLocation == SwordLocation.Early:
+            self.FrontFillItemInOwnWorld(self.progression, TotalSMZ3Item.ItemType.ProgressiveSword)
+
+        # /* Check Morph option and place as needed */
+        if self.smz3World.Config.MorphLocation == MorphLocation.Original:
+            self.FillItemAtLocation(self.progression, TotalSMZ3Item.ItemType.Morph, self.smz3World.GetLocation("Morphing Ball"))
+        elif self.smz3World.Config.MorphLocation == MorphLocation.Early:
+            self.FrontFillItemInOwnWorld(self.progression, TotalSMZ3Item.ItemType.Morph)
+
+        # /* We place a PB and Super in Sphere 1 to make sure the filler
+        #    * doesn't start locking items behind this when there are a
+        #    * high chance of the trash fill actually making them available */
+        self.FrontFillItemInOwnWorld(self.progression, TotalSMZ3Item.ItemType.Super)
+        self.FrontFillItemInOwnWorld(self.progression, TotalSMZ3Item.ItemType.PowerBomb)
+
+    def create_locations(self, player: int):
+        for name, id in SMZ3World.location_name_to_id.items():
+            newLoc = SMZ3Location(player, name, id)
+            self.locations[name] = newLoc
+            self.smz3World.locationLookup[name].APLocation = newLoc
+
+    def create_region(self, world: MultiWorld, player: int, name: str, locations=None, exits=None):
+        ret = Region(name, RegionType.LightWorld, name, player)
+        ret.world = world
+        if locations:
+            for loc in locations:
+                location = self.locations[loc]
+                location.parent_region = ret
+                ret.locations.append(location)
+        if exits:
+            for exit in exits:
+                ret.exits.append(Entrance(player, exit, ret))
+        return ret
+
+
+class SMZ3Location(Location):
+    game: str = "SMZ3"
+
+    def __init__(self, player: int, name: str, address=None, parent=None):
+        super(SMZ3Location, self).__init__(player, name, address, parent)
+
+    def can_fill(self, state: CollectionState, item: Item, check_access=True) -> bool:
+        oldItem = self.item
+        self.item = item
+        result = self.always_allow(state, item) or (self.item_rule(item) and (not check_access or self.can_reach(state)))
+        self.item = oldItem
+        return result
+
+class SMZ3Item(Item):
+    game = "SMZ3"
+
+    def __init__(self, name, advancement, type, code, player: int = None, item = None):
+        self.type = type
+        self.item = item
+        super(SMZ3Item, self).__init__(name, advancement, code, player)
\ No newline at end of file
diff --git a/worlds/smz3/data/custom_sprite/off_world_item.bin b/worlds/smz3/data/custom_sprite/off_world_item.bin
new file mode 100644
index 0000000000000000000000000000000000000000..92e4a1d0c0b575233dd6fe4dc6304c839adf0ff3
GIT binary patch
literal 264
zcmZ|IF%E)25CzabEQTvgVFHDT4JC!eL<n}4cpbCsu`D-~l%9ZM4?$&|bz`t`k}3ZD
zWF8Sfx;g{{!z7Rx$e5xi%eEayYbBl>JUqM9JLmnftZN9<)b}EMkX|l)M2SNG5Q|tD
z`HVesWSV0?alnd2|2Rb~Uby3g3Z3TUXG{(1e|{JJ)NlSg4@2~uYkm9m8(SxT_wjS>
LpPOHO{YUcO7*RZ}

literal 0
HcmV?d00001

diff --git a/worlds/smz3/data/custom_sprite/off_world_prog_item.bin b/worlds/smz3/data/custom_sprite/off_world_prog_item.bin
new file mode 100644
index 0000000000000000000000000000000000000000..3af0d35096ddc9613d2f89aee49edd917d89013d
GIT binary patch
literal 264
zcmZQ%WME(fVjy5-U}j*JV6<Vd0dW|anc3Op<?Ze3>+9-lY&bY%rr15IKWMkePRUM5
zMy8|V&Yge%{{R061R!|{6&oiTX9;x%c?Nc%IgAoEHgz`j5_SwS3@i*xKt4$Rki-*)
z9}Eu|4lpzTEvaMp$56vy!Jxq40OUjLXOdtvVbH;4e-b|XO}uo1k?l9B(}CE}3b7w3
Me+i5IJ0SK004qg9(EtDd

literal 0
HcmV?d00001

diff --git a/worlds/smz3/data/zsm.ips b/worlds/smz3/data/zsm.ips
new file mode 100644
index 0000000000000000000000000000000000000000..faf7443a573a49fd7eab0f80588382f043753394
GIT binary patch
literal 1460417
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%0D~9zcZ&l9b0Z=
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%0AFZ}I&T3lMN2>_AH>n#T_ok&j
zzKW20)4D#sijaHLx<0;&kbBd*KE8^Ody~2ma&KDd<Esd{H?8aAs|dL_t?T2f2)Q?{
z>*K2kxi_ur<Esd{H>n#T_ok&jzKW20)4D#sijaHLx<0;&kbBd*KE8^Ody~4my!t9a
z?oI3ZXcZy%rgeR^ijaHLx;|P($h~P@AFU$f-lT4X+?$sAWH3VRP3!t(FhcH4>-uCc
zLheoL`eZOd?oI3ZWH3VRP3lI-y=keBuOj5$w62e@BIMq*u8*%G<leNdkFO%+-lT4X
z+?$sA_$or~P3!vjDnjl}>-zXALheoL`uHkB?oI3Z_$or~P3lI-y=keBuOj5$w62e@
zBIMq*u8*%G<leNdkFO%+e%iW1SIx1gN}KbQN}JP4rOo+DrOj!j(&l`n(&n^MX>-0(
zX>(esv^if1Yx-!l%}XmEZdc1bTKRCh>iTHq!|kf;qm>W0tFDh$qGdB5M-g=&Uquo3
zCLHU-?W*bHD<5uGT_0chaJ%aI_{xXdH6I_XqKJDFYWQ%wTK4gk54WqXkFR{VU3GnY
z<-_f&>*FgQZr9rT_$rFHH=(2tx2t6zU-@vm>iYP~huc-x$5%ewE?)QXl@GV8u1~l7
zaJ%aIXywE0s_Ubb54WqXk5)e1F3I=NDvG!_;T#`sSIa&b^x<~Z^~s<Qx2vvC27S0)
zb$v4E!|l?NJ{gQ6?oBA^!|iI>$5%ewuDU+H^5J&X_3@Ptx63N{_$rFHH=%|Px2t6z
zU-@vm>iYP~huc-x$5%ewuDU+H^5J$_P#<4K5%(sP^x<~3?BgpRZdY9&U-@vm>iYP~
zhuei1n)8)Po6}0A&2_s<oAZ@Qo6}0A&G|~D&1t35=6t2n=Co32bG{OO^3lqN+f~;`
zD<5uGT_3G{xLtL9wDRG0)%DTJhueiFeYEo7cGdOKO31F6N1(bsTFJKi>iTFU{q3vk
zqm^W|d0p|Huhb`lKHM(U?xU3tx2vX)RzBRWx;|R@aJ%aIXywE0nvaiGKHRRlK3e&3
zyXyLA<-_f&>!Xzqx2vv?R=d1><-_e-d!G#YaJ%aIWYCA(Ro5qjKHRRlJ{k1kc5$;$
z27S0)b$zt*;da&a(aMM0Ro6!=A8uD&AFX`2U9#<?l@GV8u8&qe+^)JlTKRCh>iTHq
z!|kf;qm>W0OVjyi<-_f&>!Xzqx2vv?RzBRWx;|R@aJ%aIXywE0()&JI`Ea}H`e^0D
z?W*gel@GV8u8&qe+^)JlTKRChtYC9mskFHrRB3ZsskFHrRB3ZsskFHrRB3ZsskFHr
zRB3ZsskFHr6ejS|%7@!k*GDTKZdY9&t$es$b$zt*;da&a(aMM0g^+x-^5J&X_0h_Q
z+f~;`D<5uGT_3G{xLtL9wDRG0;YA;<<Uch-^{VTml@GV8u8&s2LB4){w34m!)%DRz
z`mA|f$*8Z?M=Pz8udYvD`Ea|+e6;f6cGdOK%7@!k*GH>eURwEZyXNDgl@GV8u8*&L
zxLtL9eC5OKs_Ww`A8ywQ`S{9*+f~;`D<5uGT_3G{xLtL9wDRG0)%DTJhug)kK3e&3
zyXyLA<-_f&>!Xzqx2vv?RzBRWx;|R@aJ!_}M=Kw0S6v^ie7Ie8eYEo7cGdOK%7@!k
z*GDTKZkI0e(aMM0Ro6!=A8uD&AFX`2U3Go5^5J&X_0h_Q+jl{!=Co32b33Tg=Co32
zb33Tg=Co32b33Tg=Co32b33Tg=Co32b2}(I=cAPmx2vwB)yIzf>)4bP|IhDy;C}<a
CHoles

literal 0
HcmV?d00001

diff --git a/worlds/smz3/ips.py b/worlds/smz3/ips.py
new file mode 100644
index 00000000..0da2bd49
--- /dev/null
+++ b/worlds/smz3/ips.py
@@ -0,0 +1,252 @@
+import itertools
+
+def range_union(ranges):
+    ret = []
+    for rg in sorted([[r.start, r.stop] for r in ranges]):
+        begin, end = rg[0], rg[-1]
+        if ret and ret[-1][1] > begin:
+            ret[-1][1] = max(ret[-1][1], end)
+        else:
+            ret.append([begin, end])
+    return [range(r[0], r[1]) for r in ret]
+
+# adapted from ips-util for python 3.2 (https://pypi.org/project/ips-util/)
+class IPS_Patch(object):
+    def __init__(self, patchDict=None):
+        self.records = []
+        self.truncate_length = None
+        self.max_size = 0
+        if patchDict is not None:
+            for addr, data in patchDict.items():
+                byteData = bytearray(data)
+                self.add_record(addr, byteData)
+
+    def toDict(self):
+        ret = {}
+        for record in self.records:
+            if 'rle_count' in record:
+                ret[record['address']] = [int.from_bytes(record['data'],'little')]*record['rle_count']
+            else:
+                ret[record['address']] = [int(b) for b in record['data']]
+        return ret
+
+    @staticmethod
+    def load(filename):
+        loaded_patch = IPS_Patch()
+        with open(filename, 'rb') as file:
+            header = file.read(5)
+            if header != b'PATCH':
+                raise Exception('Not a valid IPS patch file!')
+            while True:
+                address_bytes = file.read(3)
+                if address_bytes == b'EOF':
+                    break
+                address = int.from_bytes(address_bytes, byteorder='big')
+                length = int.from_bytes(file.read(2), byteorder='big')
+                rle_count = 0
+                if length == 0:
+                    rle_count = int.from_bytes(file.read(2), byteorder='big')
+                    length = 1
+                data = file.read(length)
+                if rle_count > 0:
+                    loaded_patch.add_rle_record(address, data, rle_count)
+                else:
+                    loaded_patch.add_record(address, data)
+
+            truncate_bytes = file.read(3)
+            if len(truncate_bytes) == 3:
+                loaded_patch.set_truncate_length(int.from_bytes(truncate_bytes, byteorder='big'))
+        return loaded_patch
+
+    @staticmethod
+    def create(original_data, patched_data):
+        # The heuristics for optimizing a patch were chosen with reference to
+        # the source code of Flips: https://github.com/Alcaro/Flips
+
+        patch = IPS_Patch()
+
+        run_in_progress = False
+        current_run_start = 0
+        current_run_data = bytearray()
+
+        runs = []
+
+        if len(original_data) > len(patched_data):
+            patch.set_truncate_length(len(patched_data))
+            original_data = original_data[:len(patched_data)]
+        elif len(original_data) < len(patched_data):
+            original_data += bytes([0] * (len(patched_data) - len(original_data)))
+
+            if original_data[-1] == 0 and patched_data[-1] == 0:
+                patch.add_record(len(patched_data) - 1, bytes([0]))
+
+        for index, (original, patched) in enumerate(zip(original_data, patched_data)):
+            if not run_in_progress:
+                if original != patched:
+                    run_in_progress = True
+                    current_run_start = index
+                    current_run_data = bytearray([patched])
+            else:
+                if original == patched:
+                    runs.append((current_run_start, current_run_data))
+                    run_in_progress = False
+                else:
+                    current_run_data.append(patched)
+        if run_in_progress:
+            runs.append((current_run_start, current_run_data))
+
+        for start, data in runs:
+            if start == int.from_bytes(b'EOF', byteorder='big'):
+                start -= 1
+                data = bytes([patched_data[start - 1]]) + data
+
+            grouped_byte_data = list([
+                {'val': key, 'count': sum(1 for _ in group), 'is_last': False}
+                for key,group in itertools.groupby(data)
+            ])
+
+            grouped_byte_data[-1]['is_last'] = True
+
+            record_in_progress = bytearray()
+            pos = start
+
+            for group in grouped_byte_data:
+                if len(record_in_progress) > 0:
+                    # We don't want to interrupt a record in progress with a new header unless
+                    # this group is longer than two complete headers.
+                    if group['count'] > 13:
+                        patch.add_record(pos, record_in_progress)
+                        pos += len(record_in_progress)
+                        record_in_progress = bytearray()
+
+                        patch.add_rle_record(pos, bytes([group['val']]), group['count'])
+                        pos += group['count']
+                    else:
+                        record_in_progress += bytes([group['val']] * group['count'])
+                elif (group['count'] > 3 and group['is_last']) or group['count'] > 8:
+                    # We benefit from making this an RLE record if the length is at least 8,
+                    # or the length is at least 3 and we know it to be the last part of this diff.
+
+                    # Make sure not to overflow the maximum length. Split it up if necessary.
+                    remaining_length = group['count']
+                    while remaining_length > 0xffff:
+                        patch.add_rle_record(pos, bytes([group['val']]), 0xffff)
+                        remaining_length -= 0xffff
+                        pos += 0xffff
+
+                    patch.add_rle_record(pos, bytes([group['val']]), remaining_length)
+                    pos += remaining_length
+                else:
+                    # Just begin a new standard record.
+                    record_in_progress += bytes([group['val']] * group['count'])
+
+                if len(record_in_progress) > 0xffff:
+                    patch.add_record(pos, record_in_progress[:0xffff])
+                    record_in_progress = record_in_progress[0xffff:]
+                    pos += 0xffff
+
+            # Finalize any record still in progress.
+            if len(record_in_progress) > 0:
+                patch.add_record(pos, record_in_progress)
+
+        return patch
+
+    def add_record(self, address, data):
+        if address == int.from_bytes(b'EOF', byteorder='big'):
+            raise RuntimeError('Start address {0:x} is invalid in the IPS format. Please shift your starting address back by one byte to avoid it.'.format(address))
+        if address > 0xffffff:
+            raise RuntimeError('Start address {0:x} is too large for the IPS format. Addresses must fit into 3 bytes.'.format(address))
+        if len(data) > 0xffff:
+            raise RuntimeError('Record with length {0} is too large for the IPS format. Records must be less than 65536 bytes.'.format(len(data)))
+        if len(data) == 0: # ignore empty records
+            return
+        record = {'address': address, 'data': data, 'size':len(data)}
+        self.appendRecord(record)
+
+    def add_rle_record(self, address, data, count):
+        if address == int.from_bytes(b'EOF', byteorder='big'):
+            raise RuntimeError('Start address {0:x} is invalid in the IPS format. Please shift your starting address back by one byte to avoid it.'.format(address))
+        if address > 0xffffff:
+            raise RuntimeError('Start address {0:x} is too large for the IPS format. Addresses must fit into 3 bytes.'.format(address))
+        if count > 0xffff:
+            raise RuntimeError('RLE record with length {0} is too large for the IPS format. RLE records must be less than 65536 bytes.'.format(count))
+        if len(data) != 1:
+            raise RuntimeError('Data for RLE record must be exactly one byte! Received {0}.'.format(data))
+        record = {'address': address, 'data': data, 'rle_count': count, 'size': count}
+        self.appendRecord(record)
+
+    def appendRecord(self, record):
+        sz = record['address'] + record['size']
+        if sz > self.max_size:
+            self.max_size = sz
+        self.records.append(record)
+
+    def set_truncate_length(self, truncate_length):
+        self.truncate_length = truncate_length
+
+    def encode(self):
+        encoded_bytes = bytearray()
+
+        encoded_bytes += 'PATCH'.encode('ascii')
+
+        for record in self.records:
+            encoded_bytes += record['address'].to_bytes(3, byteorder='big')
+            if 'rle_count' in record:
+                encoded_bytes += (0).to_bytes(2, byteorder='big')
+                encoded_bytes += record['rle_count'].to_bytes(2, byteorder='big')
+            else:
+                encoded_bytes += len(record['data']).to_bytes(2, byteorder='big')
+            encoded_bytes += record['data']
+
+        encoded_bytes += 'EOF'.encode('ascii')
+
+        if self.truncate_length is not None:
+            encoded_bytes += self.truncate_length.to_bytes(3, byteorder='big')
+
+        return encoded_bytes
+
+    # save patch into IPS file
+    def save(self, path):
+        with open(path, 'wb') as ipsFile:
+            ipsFile.write(self.encode())
+
+    # applies patch on an existing bytearray
+    def apply(self, in_data):
+        out_data = bytearray(in_data)
+
+        for record in self.records:
+            if record['address'] >= len(out_data):
+                out_data += bytes([0] * (record['address'] - len(out_data) + 1))
+
+            if 'rle_count' in record:
+                out_data[record['address'] : record['address'] + record['rle_count']] = b''.join([record['data']] * record['rle_count'])
+            else:
+                out_data[record['address'] : record['address'] + len(record['data'])] = record['data']
+
+        if self.truncate_length is not None:
+            out_data = out_data[:self.truncate_length]
+
+        return out_data
+
+    # applies patch on an opened file
+    def applyFile(self, handle):
+        for record in self.records:
+            handle.seek(record['address'])
+            if 'rle_count' in record:
+                handle.write(bytearray(b'').join([record['data']]) * record['rle_count'])
+            else:
+                handle.write(record['data'])
+
+    # appends an IPS_Patch on top of this one
+    def append(self, patch):
+        if patch.truncate_length is not None and (self.truncate_length is None or patch.truncate_length > self.truncate_length):
+            self.set_truncate_length(patch.truncate_length)
+        for record in patch.records:
+            if record['size'] > 0: # ignore empty records
+                self.appendRecord(record)
+
+    # gets address ranges written to by this patch
+    def getRanges(self):
+        def getRange(record):
+            return range(record['address'], record['address']+record['size'])
+        return range_union([getRange(record) for record in self.records])