518 lines
		
	
	
		
			28 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			518 lines
		
	
	
		
			28 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| from .data import lname, rname, ename
 | |
| from typing import List, Union
 | |
| 
 | |
| 
 | |
| # # #    KEY    # # #
 | |
| # "stage" = What stage the Region is a part of. The Region and its corresponding Locations and Entrances will only be
 | |
| #           put in if its stage is active.
 | |
| # "locations" = The Locations to add to that Region when putting in said Region (provided their add conditions pass).
 | |
| # "entrances" = The Entrances to add to that Region when putting in said Region (provided their add conditions pass).
 | |
| region_info = {
 | |
|     "Menu": {},
 | |
| 
 | |
|     rname.forest_start: {"stage": rname.forest_of_silence,
 | |
|                          "locations": [lname.forest_pillars_right,
 | |
|                                        lname.forest_pillars_left,
 | |
|                                        lname.forest_pillars_top,
 | |
|                                        lname.forest_king_skeleton,
 | |
|                                        lname.forest_boss_one,
 | |
|                                        lname.forest_lgaz_in,
 | |
|                                        lname.forest_lgaz_top,
 | |
|                                        lname.forest_hgaz_in,
 | |
|                                        lname.forest_hgaz_top,
 | |
|                                        lname.forest_weretiger_sw,
 | |
|                                        lname.forest_boss_two,
 | |
|                                        lname.forest_weretiger_gate,
 | |
|                                        lname.forest_dirge_tomb_l,
 | |
|                                        lname.forest_dirge_tomb_u,
 | |
|                                        lname.forest_dirge_plaque,
 | |
|                                        lname.forest_dirge_ped,
 | |
|                                        lname.forest_dirge_rock1,
 | |
|                                        lname.forest_dirge_rock2,
 | |
|                                        lname.forest_dirge_rock3,
 | |
|                                        lname.forest_dirge_rock4,
 | |
|                                        lname.forest_dirge_rock5,
 | |
|                                        lname.forest_corpse_save,
 | |
|                                        lname.forest_dbridge_wall,
 | |
|                                        lname.forest_dbridge_sw],
 | |
|                          "entrances": [ename.forest_dbridge_gate]},
 | |
| 
 | |
|     rname.forest_mid: {"stage": rname.forest_of_silence,
 | |
|                        "locations": [lname.forest_dbridge_gate_l,
 | |
|                                      lname.forest_dbridge_gate_r,
 | |
|                                      lname.forest_dbridge_tomb_l,
 | |
|                                      lname.forest_dbridge_tomb_ur,
 | |
|                                      lname.forest_dbridge_tomb_uf,
 | |
|                                      lname.forest_bface_tomb_lf,
 | |
|                                      lname.forest_bface_tomb_lr,
 | |
|                                      lname.forest_bface_tomb_u,
 | |
|                                      lname.forest_ibridge,
 | |
|                                      lname.forest_bridge_rock1,
 | |
|                                      lname.forest_bridge_rock2,
 | |
|                                      lname.forest_bridge_rock3,
 | |
|                                      lname.forest_bridge_rock4,
 | |
|                                      lname.forest_werewolf_tomb_lf,
 | |
|                                      lname.forest_werewolf_tomb_lr,
 | |
|                                      lname.forest_werewolf_tomb_r,
 | |
|                                      lname.forest_werewolf_plaque,
 | |
|                                      lname.forest_werewolf_tree,
 | |
|                                      lname.forest_werewolf_island,
 | |
|                                      lname.forest_final_sw],
 | |
|                        "entrances": [ename.forest_werewolf_gate]},
 | |
| 
 | |
|     rname.forest_end: {"stage": rname.forest_of_silence,
 | |
|                        "locations": [lname.forest_boss_three],
 | |
|                        "entrances": [ename.forest_end]},
 | |
| 
 | |
|     rname.cw_start: {"stage": rname.castle_wall,
 | |
|                      "locations": [lname.cwr_bottom,
 | |
|                                    lname.cw_dragon_sw,
 | |
|                                    lname.cw_boss,
 | |
|                                    lname.cw_save_slab1,
 | |
|                                    lname.cw_save_slab2,
 | |
|                                    lname.cw_save_slab3,
 | |
|                                    lname.cw_save_slab4,
 | |
|                                    lname.cw_save_slab5,
 | |
|                                    lname.cw_rrampart,
 | |
|                                    lname.cw_lrampart,
 | |
|                                    lname.cw_pillar,
 | |
|                                    lname.cw_shelf_visible,
 | |
|                                    lname.cw_shelf_sandbags,
 | |
|                                    lname.cw_shelf_torch],
 | |
|                      "entrances": [ename.cw_portcullis_c,
 | |
|                                    ename.cw_lt_skip,
 | |
|                                    ename.cw_lt_door]},
 | |
| 
 | |
|     rname.cw_exit: {"stage": rname.castle_wall,
 | |
|                     "locations": [lname.cw_ground_left,
 | |
|                                   lname.cw_ground_middle,
 | |
|                                   lname.cw_ground_right]},
 | |
| 
 | |
|     rname.cw_ltower: {"stage": rname.castle_wall,
 | |
|                       "locations": [lname.cwl_bottom,
 | |
|                                     lname.cwl_bridge,
 | |
|                                     lname.cw_drac_sw,
 | |
|                                     lname.cw_drac_slab1,
 | |
|                                     lname.cw_drac_slab2,
 | |
|                                     lname.cw_drac_slab3,
 | |
|                                     lname.cw_drac_slab4,
 | |
|                                     lname.cw_drac_slab5],
 | |
|                       "entrances": [ename.cw_end]},
 | |
| 
 | |
|     rname.villa_start: {"stage": rname.villa,
 | |
|                         "locations": [lname.villafy_outer_gate_l,
 | |
|                                       lname.villafy_outer_gate_r,
 | |
|                                       lname.villafy_dog_platform,
 | |
|                                       lname.villafy_inner_gate],
 | |
|                         "entrances": [ename.villa_dog_gates]},
 | |
| 
 | |
|     rname.villa_main: {"stage": rname.villa,
 | |
|                        "locations": [lname.villafy_gate_marker,
 | |
|                                      lname.villafy_villa_marker,
 | |
|                                      lname.villafy_tombstone,
 | |
|                                      lname.villafy_fountain_fl,
 | |
|                                      lname.villafy_fountain_fr,
 | |
|                                      lname.villafy_fountain_ml,
 | |
|                                      lname.villafy_fountain_mr,
 | |
|                                      lname.villafy_fountain_rl,
 | |
|                                      lname.villafy_fountain_rr,
 | |
|                                      lname.villafo_front_r,
 | |
|                                      lname.villafo_front_l,
 | |
|                                      lname.villafo_mid_l,
 | |
|                                      lname.villafo_mid_r,
 | |
|                                      lname.villafo_rear_r,
 | |
|                                      lname.villafo_rear_l,
 | |
|                                      lname.villafo_pot_r,
 | |
|                                      lname.villafo_pot_l,
 | |
|                                      lname.villafo_sofa,
 | |
|                                      lname.villafo_chandelier1,
 | |
|                                      lname.villafo_chandelier2,
 | |
|                                      lname.villafo_chandelier3,
 | |
|                                      lname.villafo_chandelier4,
 | |
|                                      lname.villafo_chandelier5,
 | |
|                                      lname.villala_hallway_stairs,
 | |
|                                      lname.villala_hallway_l,
 | |
|                                      lname.villala_hallway_r,
 | |
|                                      lname.villala_bedroom_chairs,
 | |
|                                      lname.villala_bedroom_bed,
 | |
|                                      lname.villala_vincent,
 | |
|                                      lname.villala_slivingroom_table,
 | |
|                                      lname.villala_slivingroom_mirror,
 | |
|                                      lname.villala_diningroom_roses,
 | |
|                                      lname.villala_llivingroom_pot_r,
 | |
|                                      lname.villala_llivingroom_pot_l,
 | |
|                                      lname.villala_llivingroom_painting,
 | |
|                                      lname.villala_llivingroom_light,
 | |
|                                      lname.villala_llivingroom_lion,
 | |
|                                      lname.villala_exit_knight],
 | |
|                        "entrances": [ename.villa_snipe_dogs,
 | |
|                                      ename.villa_renon,
 | |
|                                      ename.villa_to_storeroom,
 | |
|                                      ename.villa_to_archives,
 | |
|                                      ename.villa_to_maze]},
 | |
| 
 | |
|     rname.villa_storeroom: {"stage": rname.villa,
 | |
|                             "locations": [lname.villala_storeroom_l,
 | |
|                                           lname.villala_storeroom_r,
 | |
|                                           lname.villala_storeroom_s],
 | |
|                             "entrances": [ename.villa_from_storeroom]},
 | |
| 
 | |
|     rname.villa_archives: {"stage": rname.villa,
 | |
|                            "locations": [lname.villala_archives_entrance,
 | |
|                                          lname.villala_archives_table,
 | |
|                                          lname.villala_archives_rear]},
 | |
| 
 | |
|     rname.villa_maze: {"stage": rname.villa,
 | |
|                        "locations": [lname.villam_malus_torch,
 | |
|                                      lname.villam_malus_bush,
 | |
|                                      lname.villam_fplatform,
 | |
|                                      lname.villam_frankieturf_l,
 | |
|                                      lname.villam_frankieturf_r,
 | |
|                                      lname.villam_frankieturf_ru,
 | |
|                                      lname.villam_fgarden_f,
 | |
|                                      lname.villam_fgarden_mf,
 | |
|                                      lname.villam_fgarden_mr,
 | |
|                                      lname.villam_fgarden_r,
 | |
|                                      lname.villam_rplatform,
 | |
|                                      lname.villam_rplatform_de,
 | |
|                                      lname.villam_exit_de,
 | |
|                                      lname.villam_serv_path],
 | |
|                        "entrances": [ename.villa_from_maze,
 | |
|                                      ename.villa_copper_door,
 | |
|                                      ename.villa_copper_skip]},
 | |
| 
 | |
|     rname.villa_servants: {"stage": rname.villa,
 | |
|                            "locations": [lname.villafo_serv_ent],
 | |
|                            "entrances": [ename.villa_servant_door]},
 | |
| 
 | |
|     rname.villa_crypt: {"stage": rname.villa,
 | |
|                         "locations": [lname.villam_crypt_ent,
 | |
|                                       lname.villam_crypt_upstream,
 | |
|                                       lname.villac_ent_l,
 | |
|                                       lname.villac_ent_r,
 | |
|                                       lname.villac_wall_l,
 | |
|                                       lname.villac_wall_r,
 | |
|                                       lname.villac_coffin_l,
 | |
|                                       lname.villac_coffin_r,
 | |
|                                       lname.villa_boss_one,
 | |
|                                       lname.villa_boss_two],
 | |
|                         "entrances": [ename.villa_bridge_door,
 | |
|                                       ename.villa_end_r,
 | |
|                                       ename.villa_end_c]},
 | |
| 
 | |
|     rname.tunnel_start: {"stage": rname.tunnel,
 | |
|                          "locations": [lname.tunnel_landing,
 | |
|                                        lname.tunnel_landing_rc,
 | |
|                                        lname.tunnel_stone_alcove_r,
 | |
|                                        lname.tunnel_stone_alcove_l,
 | |
|                                        lname.tunnel_twin_arrows,
 | |
|                                        lname.tunnel_arrows_rock1,
 | |
|                                        lname.tunnel_arrows_rock2,
 | |
|                                        lname.tunnel_arrows_rock3,
 | |
|                                        lname.tunnel_arrows_rock4,
 | |
|                                        lname.tunnel_arrows_rock5,
 | |
|                                        lname.tunnel_lonesome_bucket,
 | |
|                                        lname.tunnel_lbucket_mdoor_l,
 | |
|                                        lname.tunnel_lbucket_quag,
 | |
|                                        lname.tunnel_bucket_quag_rock1,
 | |
|                                        lname.tunnel_bucket_quag_rock2,
 | |
|                                        lname.tunnel_bucket_quag_rock3,
 | |
|                                        lname.tunnel_lbucket_albert,
 | |
|                                        lname.tunnel_albert_camp,
 | |
|                                        lname.tunnel_albert_quag,
 | |
|                                        lname.tunnel_gondola_rc_sdoor_l,
 | |
|                                        lname.tunnel_gondola_rc_sdoor_m,
 | |
|                                        lname.tunnel_gondola_rc_sdoor_r,
 | |
|                                        lname.tunnel_gondola_rc,
 | |
|                                        lname.tunnel_rgondola_station,
 | |
|                                        lname.tunnel_gondola_transfer],
 | |
|                          "entrances": [ename.tunnel_start_renon,
 | |
|                                        ename.tunnel_gondolas]},
 | |
| 
 | |
|     rname.tunnel_end: {"stage": rname.tunnel,
 | |
|                        "locations": [lname.tunnel_corpse_bucket_quag,
 | |
|                                      lname.tunnel_corpse_bucket_mdoor_l,
 | |
|                                      lname.tunnel_corpse_bucket_mdoor_r,
 | |
|                                      lname.tunnel_shovel_quag_start,
 | |
|                                      lname.tunnel_exit_quag_start,
 | |
|                                      lname.tunnel_shovel_quag_end,
 | |
|                                      lname.tunnel_exit_quag_end,
 | |
|                                      lname.tunnel_shovel,
 | |
|                                      lname.tunnel_shovel_save,
 | |
|                                      lname.tunnel_shovel_mdoor_l,
 | |
|                                      lname.tunnel_shovel_mdoor_r,
 | |
|                                      lname.tunnel_shovel_sdoor_l,
 | |
|                                      lname.tunnel_shovel_sdoor_m,
 | |
|                                      lname.tunnel_shovel_sdoor_r],
 | |
|                        "entrances": [ename.tunnel_end_renon,
 | |
|                                      ename.tunnel_end]},
 | |
| 
 | |
|     rname.uw_main: {"stage": rname.underground_waterway,
 | |
|                     "locations": [lname.uw_near_ent,
 | |
|                                   lname.uw_across_ent,
 | |
|                                   lname.uw_first_ledge1,
 | |
|                                   lname.uw_first_ledge2,
 | |
|                                   lname.uw_first_ledge3,
 | |
|                                   lname.uw_first_ledge4,
 | |
|                                   lname.uw_first_ledge5,
 | |
|                                   lname.uw_first_ledge6,
 | |
|                                   lname.uw_poison_parkour,
 | |
|                                   lname.uw_boss,
 | |
|                                   lname.uw_waterfall_alcove,
 | |
|                                   lname.uw_carrie1,
 | |
|                                   lname.uw_carrie2,
 | |
|                                   lname.uw_bricks_save,
 | |
|                                   lname.uw_above_skel_ledge,
 | |
|                                   lname.uw_in_skel_ledge1,
 | |
|                                   lname.uw_in_skel_ledge2,
 | |
|                                   lname.uw_in_skel_ledge3],
 | |
|                     "entrances": [ename.uw_final_waterfall,
 | |
|                                   ename.uw_renon]},
 | |
| 
 | |
|     rname.uw_end: {"stage": rname.underground_waterway,
 | |
|                    "entrances": [ename.uw_waterfall_skip,
 | |
|                                  ename.uw_end]},
 | |
| 
 | |
|     rname.cc_main: {"stage": rname.castle_center,
 | |
|                     "locations": [lname.ccb_skel_hallway_ent,
 | |
|                                   lname.ccb_skel_hallway_jun,
 | |
|                                   lname.ccb_skel_hallway_tc,
 | |
|                                   lname.ccb_skel_hallway_ba,
 | |
|                                   lname.ccb_behemoth_l_ff,
 | |
|                                   lname.ccb_behemoth_l_mf,
 | |
|                                   lname.ccb_behemoth_l_mr,
 | |
|                                   lname.ccb_behemoth_l_fr,
 | |
|                                   lname.ccb_behemoth_r_ff,
 | |
|                                   lname.ccb_behemoth_r_mf,
 | |
|                                   lname.ccb_behemoth_r_mr,
 | |
|                                   lname.ccb_behemoth_r_fr,
 | |
|                                   lname.ccb_behemoth_crate1,
 | |
|                                   lname.ccb_behemoth_crate2,
 | |
|                                   lname.ccb_behemoth_crate3,
 | |
|                                   lname.ccb_behemoth_crate4,
 | |
|                                   lname.ccb_behemoth_crate5,
 | |
|                                   lname.ccelv_near_machine,
 | |
|                                   lname.ccelv_atop_machine,
 | |
|                                   lname.ccelv_stand1,
 | |
|                                   lname.ccelv_stand2,
 | |
|                                   lname.ccelv_stand3,
 | |
|                                   lname.ccelv_pipes,
 | |
|                                   lname.ccelv_switch,
 | |
|                                   lname.ccelv_staircase,
 | |
|                                   lname.ccff_redcarpet_knight,
 | |
|                                   lname.ccff_gears_side,
 | |
|                                   lname.ccff_gears_mid,
 | |
|                                   lname.ccff_gears_corner,
 | |
|                                   lname.ccff_lizard_knight,
 | |
|                                   lname.ccff_lizard_near_knight,
 | |
|                                   lname.ccff_lizard_pit,
 | |
|                                   lname.ccff_lizard_corner,
 | |
|                                   lname.ccff_lizard_locker_nfr,
 | |
|                                   lname.ccff_lizard_locker_nmr,
 | |
|                                   lname.ccff_lizard_locker_nml,
 | |
|                                   lname.ccff_lizard_locker_nfl,
 | |
|                                   lname.ccff_lizard_locker_fl,
 | |
|                                   lname.ccff_lizard_locker_fr,
 | |
|                                   lname.ccff_lizard_slab1,
 | |
|                                   lname.ccff_lizard_slab2,
 | |
|                                   lname.ccff_lizard_slab3,
 | |
|                                   lname.ccff_lizard_slab4,
 | |
|                                   lname.ccll_brokenstairs_floor,
 | |
|                                   lname.ccll_brokenstairs_knight,
 | |
|                                   lname.ccll_brokenstairs_save,
 | |
|                                   lname.ccll_glassknight_l,
 | |
|                                   lname.ccll_glassknight_r,
 | |
|                                   lname.ccll_butlers_door,
 | |
|                                   lname.ccll_butlers_side,
 | |
|                                   lname.ccll_cwhall_butlerflames_past,
 | |
|                                   lname.ccll_cwhall_flamethrower,
 | |
|                                   lname.ccll_cwhall_cwflames,
 | |
|                                   lname.ccll_heinrich,
 | |
|                                   lname.ccia_nitro_crates,
 | |
|                                   lname.ccia_nitro_shelf_h,
 | |
|                                   lname.ccia_stairs_knight,
 | |
|                                   lname.ccia_maids_vase,
 | |
|                                   lname.ccia_maids_outer,
 | |
|                                   lname.ccia_maids_inner,
 | |
|                                   lname.ccia_inventions_maids,
 | |
|                                   lname.ccia_inventions_crusher,
 | |
|                                   lname.ccia_inventions_famicart,
 | |
|                                   lname.ccia_inventions_zeppelin,
 | |
|                                   lname.ccia_inventions_round,
 | |
|                                   lname.ccia_nitrohall_flamethrower,
 | |
|                                   lname.ccia_nitrohall_torch,
 | |
|                                   lname.ccia_nitro_shelf_i],
 | |
|                     "entrances": [ename.cc_tc_door,
 | |
|                                   ename.cc_lower_wall,
 | |
|                                   ename.cc_renon,
 | |
|                                   ename.cc_upper_wall]},
 | |
| 
 | |
|     rname.cc_torture_chamber: {"stage": rname.castle_center,
 | |
|                                "locations": [lname.ccb_mandrag_shelf_l,
 | |
|                                              lname.ccb_mandrag_shelf_r,
 | |
|                                              lname.ccb_torture_rack,
 | |
|                                              lname.ccb_torture_rafters]},
 | |
| 
 | |
|     rname.cc_library: {"stage": rname.castle_center,
 | |
|                        "locations": [lname.ccll_cwhall_wall,
 | |
|                                      lname.ccl_bookcase]},
 | |
| 
 | |
|     rname.cc_crystal: {"stage": rname.castle_center,
 | |
|                        "locations": [lname.cc_behind_the_seal,
 | |
|                                      lname.cc_boss_one,
 | |
|                                      lname.cc_boss_two],
 | |
|                        "entrances": [ename.cc_elevator]},
 | |
| 
 | |
|     rname.cc_elev_top: {"stage": rname.castle_center,
 | |
|                         "entrances": [ename.cc_exit_r,
 | |
|                                       ename.cc_exit_c]},
 | |
| 
 | |
|     rname.dt_main: {"stage": rname.duel_tower,
 | |
|                     "locations": [lname.dt_boss_one,
 | |
|                                   lname.dt_boss_two,
 | |
|                                   lname.dt_ibridge_l,
 | |
|                                   lname.dt_ibridge_r,
 | |
|                                   lname.dt_stones_start,
 | |
|                                   lname.dt_stones_end,
 | |
|                                   lname.dt_werebull_arena,
 | |
|                                   lname.dt_boss_three,
 | |
|                                   lname.dt_boss_four],
 | |
|                     "entrances": [ename.dt_start,
 | |
|                                   ename.dt_end]},
 | |
| 
 | |
|     rname.toe_main: {"stage": rname.tower_of_execution,
 | |
|                      "locations": [lname.toe_ledge1,
 | |
|                                    lname.toe_ledge2,
 | |
|                                    lname.toe_ledge3,
 | |
|                                    lname.toe_ledge4,
 | |
|                                    lname.toe_ledge5,
 | |
|                                    lname.toe_midsavespikes_r,
 | |
|                                    lname.toe_midsavespikes_l,
 | |
|                                    lname.toe_elec_grate,
 | |
|                                    lname.toe_ibridge,
 | |
|                                    lname.toe_top],
 | |
|                      "entrances": [ename.toe_start,
 | |
|                                    ename.toe_gate,
 | |
|                                    ename.toe_gate_skip,
 | |
|                                    ename.toe_end]},
 | |
| 
 | |
|     rname.toe_ledge: {"stage": rname.tower_of_execution,
 | |
|                       "locations": [lname.toe_keygate_l,
 | |
|                                     lname.toe_keygate_r]},
 | |
| 
 | |
|     rname.tosci_start: {"stage": rname.tower_of_science,
 | |
|                         "locations": [lname.tosci_elevator,
 | |
|                                       lname.tosci_plain_sr,
 | |
|                                       lname.tosci_stairs_sr],
 | |
|                         "entrances": [ename.tosci_start,
 | |
|                                       ename.tosci_key1_door,
 | |
|                                       ename.tosci_to_key2_door]},
 | |
| 
 | |
|     rname.tosci_three_doors: {"stage": rname.tower_of_science,
 | |
|                               "locations": [lname.tosci_three_door_hall]},
 | |
| 
 | |
|     rname.tosci_conveyors: {"stage": rname.tower_of_science,
 | |
|                             "locations": [lname.tosci_ibridge_t,
 | |
|                                           lname.tosci_ibridge_b1,
 | |
|                                           lname.tosci_ibridge_b2,
 | |
|                                           lname.tosci_ibridge_b3,
 | |
|                                           lname.tosci_ibridge_b4,
 | |
|                                           lname.tosci_ibridge_b5,
 | |
|                                           lname.tosci_ibridge_b6,
 | |
|                                           lname.tosci_conveyor_sr,
 | |
|                                           lname.tosci_exit],
 | |
|                             "entrances": [ename.tosci_from_key2_door,
 | |
|                                           ename.tosci_key3_door,
 | |
|                                           ename.tosci_end]},
 | |
| 
 | |
|     rname.tosci_key3: {"stage": rname.tower_of_science,
 | |
|                        "locations": [lname.tosci_key3_r,
 | |
|                                      lname.tosci_key3_m,
 | |
|                                      lname.tosci_key3_l]},
 | |
| 
 | |
|     rname.tosor_main: {"stage": rname.tower_of_sorcery,
 | |
|                        "locations": [lname.tosor_stained_tower,
 | |
|                                      lname.tosor_savepoint,
 | |
|                                      lname.tosor_trickshot,
 | |
|                                      lname.tosor_yellow_bubble,
 | |
|                                      lname.tosor_blue_platforms,
 | |
|                                      lname.tosor_side_isle,
 | |
|                                      lname.tosor_ibridge],
 | |
|                        "entrances": [ename.tosor_start,
 | |
|                                      ename.tosor_end]},
 | |
| 
 | |
|     rname.roc_main: {"stage": rname.room_of_clocks,
 | |
|                      "locations": [lname.roc_ent_l,
 | |
|                                    lname.roc_ent_r,
 | |
|                                    lname.roc_elev_r,
 | |
|                                    lname.roc_elev_l,
 | |
|                                    lname.roc_cont_r,
 | |
|                                    lname.roc_cont_l,
 | |
|                                    lname.roc_exit,
 | |
|                                    lname.roc_boss],
 | |
|                      "entrances": [ename.roc_gate]},
 | |
| 
 | |
|     rname.ct_start: {"stage": rname.clock_tower,
 | |
|                      "locations": [lname.ct_gearclimb_battery_slab1,
 | |
|                                    lname.ct_gearclimb_battery_slab2,
 | |
|                                    lname.ct_gearclimb_battery_slab3,
 | |
|                                    lname.ct_gearclimb_side,
 | |
|                                    lname.ct_gearclimb_corner,
 | |
|                                    lname.ct_gearclimb_door_slab1,
 | |
|                                    lname.ct_gearclimb_door_slab2,
 | |
|                                    lname.ct_gearclimb_door_slab3],
 | |
|                      "entrances": [ename.ct_to_door1]},
 | |
| 
 | |
|     rname.ct_middle: {"stage": rname.clock_tower,
 | |
|                       "locations": [lname.ct_bp_chasm_fl,
 | |
|                                     lname.ct_bp_chasm_fr,
 | |
|                                     lname.ct_bp_chasm_rl,
 | |
|                                     lname.ct_bp_chasm_k],
 | |
|                       "entrances": [ename.ct_from_door1,
 | |
|                                     ename.ct_to_door2]},
 | |
| 
 | |
|     rname.ct_end: {"stage": rname.clock_tower,
 | |
|                    "locations": [lname.ct_finalroom_door_slab1,
 | |
|                                  lname.ct_finalroom_door_slab2,
 | |
|                                  lname.ct_finalroom_fl,
 | |
|                                  lname.ct_finalroom_fr,
 | |
|                                  lname.ct_finalroom_rl,
 | |
|                                  lname.ct_finalroom_rr,
 | |
|                                  lname.ct_finalroom_platform,
 | |
|                                  lname.ct_finalroom_renon_slab1,
 | |
|                                  lname.ct_finalroom_renon_slab2,
 | |
|                                  lname.ct_finalroom_renon_slab3,
 | |
|                                  lname.ct_finalroom_renon_slab4,
 | |
|                                  lname.ct_finalroom_renon_slab5,
 | |
|                                  lname.ct_finalroom_renon_slab6,
 | |
|                                  lname.ct_finalroom_renon_slab7,
 | |
|                                  lname.ct_finalroom_renon_slab8],
 | |
|                    "entrances": [ename.ct_from_door2,
 | |
|                                  ename.ct_renon,
 | |
|                                  ename.ct_door_3]},
 | |
| 
 | |
|     rname.ck_main: {"stage": rname.castle_keep,
 | |
|                     "locations": [lname.ck_boss_one,
 | |
|                                   lname.ck_boss_two,
 | |
|                                   lname.ck_flame_l,
 | |
|                                   lname.ck_flame_r,
 | |
|                                   lname.ck_behind_drac,
 | |
|                                   lname.ck_cube],
 | |
|                     "entrances": [ename.ck_slope_jump,
 | |
|                                   ename.ck_drac_door]},
 | |
| 
 | |
|     rname.renon: {"locations": [lname.renon1,
 | |
|                                 lname.renon2,
 | |
|                                 lname.renon3,
 | |
|                                 lname.renon4,
 | |
|                                 lname.renon5,
 | |
|                                 lname.renon6,
 | |
|                                 lname.renon7]},
 | |
| 
 | |
|     rname.ck_drac_chamber: {"locations": [lname.the_end]}
 | |
| }
 | |
| 
 | |
| 
 | |
| def get_region_info(region: str, info: str) -> Union[str, List[str], None]:
 | |
|     return region_info[region].get(info, None)
 |