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)
							 |