[
    {
        "region_name": "Forest Temple Lobby",
        "dungeon": "Forest Temple",
        "locations": {
            "Forest Temple MQ First Room Chest": "
                is_adult or Bombs or can_use(Sticks) or Nuts or can_use(Boomerang) or
                can_use(Dins_Fire) or Kokiri_Sword or can_use(Slingshot)",
            "Forest Temple MQ GS First Hallway": "can_use(Hookshot) or can_use(Boomerang)"
        },
        "exits": {
            "SFM Forest Temple Entrance Ledge": "True",
            "Forest Temple Central Area": "
                (Small_Key_Forest_Temple, 1) and (is_adult or can_child_attack or Nuts)"
        }
    },
    {
        "region_name": "Forest Temple Central Area",
        "dungeon": "Forest Temple",
        "locations": {
            "Forest Temple MQ Wolfos Chest": "
                (can_play(Song_of_Time) or is_child) and
                (is_adult or can_use(Dins_Fire) or
                    can_use(Sticks) or can_use(Slingshot) or Kokiri_Sword)",
            "Forest Temple MQ GS Block Push Room": "is_adult or Kokiri_Sword",
            "Fairy Pot": "has_bottle and (can_play(Song_of_Time) or is_child)"
        },
        "exits": {
            "Forest Temple NW Outdoors": "can_use(Bow) or can_use(Slingshot)",
            "Forest Temple NE Outdoors": "can_use(Bow) or can_use(Slingshot)",
            # End of the road for child
            "Forest Temple After Block Puzzle": "
                is_adult and (Progressive_Strength_Upgrade or
                    (logic_forest_mq_block_puzzle and has_bombchus and can_use(Hookshot)))",
            "Forest Temple Outdoor Ledge": "
                (logic_forest_mq_hallway_switch_jumpslash and can_use(Hover_Boots)) or
                (logic_forest_mq_hallway_switch_hookshot and can_use(Hookshot))",
            "Forest Temple Boss Region": "
                Forest_Temple_Jo_and_Beth and Forest_Temple_Amy_and_Meg"
        }
    },
    {
        "region_name": "Forest Temple After Block Puzzle",
        "dungeon": "Forest Temple",
        "locations": {
            "Forest Temple MQ Boss Key Chest": "(Small_Key_Forest_Temple, 3)"
        },
        "exits": {
            "Forest Temple Bow Region": "(Small_Key_Forest_Temple, 4)",
            "Forest Temple Outdoor Ledge": "
                (Small_Key_Forest_Temple, 3) or
                (logic_forest_mq_hallway_switch_jumpslash and
                    (can_use(Hookshot) or logic_forest_outside_backdoor))",
            "Forest Temple NW Outdoors": "(Small_Key_Forest_Temple, 2)"
            # Only 2 keys because you must have had access to falling ceiling room to have wasted a key there
            # and access to falling ceiling room means you must also have had to access to the lower area of this courtyard
        }
    },
    {
        "region_name": "Forest Temple Outdoor Ledge",
        "dungeon": "Forest Temple",
        "locations": {
            "Forest Temple MQ Redead Chest": "True"
        },
        "exits": {
            "Forest Temple NW Outdoors": "True"
        }
    },
    {
        "region_name": "Forest Temple NW Outdoors",
        "dungeon": "Forest Temple",
        "locations": {
            "Forest Temple MQ GS Level Island Courtyard": "True"
        },
        "exits": {
            "Forest Temple NE Outdoors": "
                can_use(Iron_Boots) or can_use(Longshot) or 
                (Progressive_Scale, 2) or (logic_forest_well_swim and can_use(Hookshot))",
            "Forest Temple Outdoors Top Ledges": "can_use(Fire_Arrows)"
        }
    },
    {
        "region_name": "Forest Temple NE Outdoors",
        "dungeon": "Forest Temple",
        "locations": {
            "Forest Temple MQ Well Chest": "can_use(Bow) or can_use(Slingshot)",
            "Forest Temple MQ GS Raised Island Courtyard": "
                can_use(Hookshot) or can_use(Boomerang) or
                (can_use(Fire_Arrows) and
                    (can_play(Song_of_Time) or (can_use(Hover_Boots) and logic_forest_door_frame)))",
            "Forest Temple MQ GS Well": "
                (can_use(Iron_Boots) and can_use(Hookshot)) or can_use(Bow) or can_use(Slingshot)",
            "Deku Baba Sticks": "is_adult or Kokiri_Sword or Boomerang",
            "Deku Baba Nuts": "
                is_adult or Slingshot or Sticks or 
                has_explosives or Kokiri_Sword or can_use(Dins_Fire)"
        },
        "exits": {
            "Forest Temple Outdoors Top Ledges": "
                can_use(Hookshot) and 
                (can_use(Longshot) or can_use(Hover_Boots) or can_play(Song_of_Time) or 
                    logic_forest_vines)",
            "Forest Temple NE Outdoors Ledge": "can_use(Longshot)"
        }
    },
    {
        "region_name": "Forest Temple Outdoors Top Ledges",
        "dungeon": "Forest Temple",
        "locations": {
            "Forest Temple MQ Raised Island Courtyard Upper Chest": "True"
        },
        "exits": {
            "Forest Temple NE Outdoors": "True",
            "Forest Temple NE Outdoors Ledge": "logic_forest_outdoors_ledge and can_use(Hover_Boots)"
        }
    },
    {
        "region_name": "Forest Temple NE Outdoors Ledge",
        "dungeon": "Forest Temple",
        "locations": {
            "Forest Temple MQ Raised Island Courtyard Lower Chest": "True"
        },
        "exits": {
            "Forest Temple NE Outdoors": "True",
            "Forest Temple Falling Room": "can_play(Song_of_Time)"
        }
    },
    {
        "region_name": "Forest Temple Bow Region",
        "dungeon": "Forest Temple",
        "events": {
            "Forest Temple Jo and Beth": "can_use(Bow)"
        },
        "locations": {
            "Forest Temple MQ Bow Chest": "True",
            "Forest Temple MQ Map Chest": "can_use(Bow)",
            "Forest Temple MQ Compass Chest": "can_use(Bow)"
        },
        "exits": {
            "Forest Temple Falling Room": "
                (Small_Key_Forest_Temple, 5) and (can_use(Bow) or can_use(Dins_Fire))"
            # Only 5 keys because you must have had access to falling ceiling room to have wasted a key there
        }
    },
    {
        "region_name": "Forest Temple Falling Room",
        "dungeon": "Forest Temple",
        "events": {
            "Forest Temple Amy and Meg": "can_use(Bow) and (Small_Key_Forest_Temple, 6)"
        },
        "locations": {
            "Forest Temple MQ Falling Ceiling Room Chest": "True"
        },
        "exits": {
            "Forest Temple NE Outdoors Ledge": "True"
        }
    },
    {
        "region_name": "Forest Temple Boss Region",
        "dungeon": "Forest Temple",
        "locations": {
            "Forest Temple MQ Basement Chest": "True",
            "Forest Temple Phantom Ganon Heart": "Boss_Key_Forest_Temple",
            "Phantom Ganon": "Boss_Key_Forest_Temple"
        }
    }
]
