2021-11-12 08:00:11 -05:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								import  typing  
						 
					
						
							
								
									
										
										
										
											2021-12-03 22:11:25 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								from  Options  import  Choice ,  Range ,  OptionDict ,  OptionList ,  Option ,  Toggle ,  DefaultOnToggle  
						 
					
						
							
								
									
										
										
										
											2021-11-12 08:00:11 -05:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								class  StartItemsRemovesFromPool ( Toggle ) :  
						 
					
						
							
								
									
										
										
										
											2022-02-05 14:23:17 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    """ Remove items in starting inventory from pool. """ 
							 
						 
					
						
							
								
									
										
										
										
											2022-02-02 16:29:29 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    display_name  =  " StartItems Removes From Item Pool " 
							 
						 
					
						
							
								
									
										
										
										
											2021-11-12 08:00:11 -05:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								class  Preset ( Choice ) :  
						 
					
						
							
								
									
										
										
										
											2022-02-05 14:23:17 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    """ Choose one of the presets or specify  " varia_custom "  to use varia_custom_preset option or specify  " custom "  to use custom_preset option. """ 
							 
						 
					
						
							
								
									
										
										
										
											2022-02-02 16:29:29 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    display_name  =  " Preset " 
							 
						 
					
						
							
								
									
										
										
										
											2021-11-12 08:00:11 -05:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    option_newbie  =  0 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    option_casual  =  1 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    option_regular  =  2 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    option_veteran  =  3 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    option_expert  =  4 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    option_master  =  5 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    option_samus  =  6 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    option_Season_Races  =  7 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    option_SMRAT2021  =  8 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    option_solution  =  9 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    option_custom  =  10 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    option_varia_custom  =  11 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    default  =  2 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								class  StartLocation ( Choice ) :  
						 
					
						
							
								
									
										
										
										
											2022-02-05 14:23:17 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    """ Choose where you want to start the game. """ 
							 
						 
					
						
							
								
									
										
										
										
											2022-02-02 16:29:29 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    display_name  =  " Start Location " 
							 
						 
					
						
							
								
									
										
										
										
											2021-11-12 08:00:11 -05:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    option_Ceres  =  0 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    option_Landing_Site  =  1 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    option_Gauntlet_Top  =  2 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    option_Green_Brinstar_Elevator  =  3 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    option_Big_Pink  =  4 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    option_Etecoons_Supers  =  5 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    option_Wrecked_Ship_Main  =  6 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    option_Firefleas_Top  =  7 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    option_Business_Center  =  8 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    option_Bubble_Mountain  =  9 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    option_Mama_Turtle  =  10 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    option_Watering_Hole  =  11 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    option_Aqueduct  =  12 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    option_Red_Brinstar_Elevator  =  13 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    option_Golden_Four  =  14 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    default  =  1 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2021-12-03 22:11:25 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								class  DeathLink ( Choice ) :  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    """ When DeathLink is enabled and someone dies, you will die. With survive reserve tanks can save you. """ 
							 
						 
					
						
							
								
									
										
										
										
											2022-02-02 16:29:29 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    display_name  =  " Death Link " 
							 
						 
					
						
							
								
									
										
										
										
											2021-12-02 00:11:42 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    option_disable  =  0 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    option_enable  =  1 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    option_enable_survive  =  3 
							 
						 
					
						
							
								
									
										
										
										
											2021-12-04 14:04:28 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    alias_false  =  0 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    alias_true  =  1 
							 
						 
					
						
							
								
									
										
										
										
											2021-12-02 00:11:42 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    default  =  0 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2022-03-21 00:34:47 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								class  RemoteItems ( Toggle ) :  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    """ Indicates you get items sent from your own world. This allows coop play of a world. """ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    display_name  =  " Remote Items "   
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2021-11-12 08:00:11 -05:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								class  MaxDifficulty ( Choice ) :  
						 
					
						
							
								
									
										
										
										
											2022-02-05 14:23:17 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    """ Depending on the perceived difficulties of the techniques, bosses, hell runs etc. from the preset, it will prevent the Randomizer from placing an item in a location too difficult to reach with the current items. """ 
							 
						 
					
						
							
								
									
										
										
										
											2022-02-02 16:29:29 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    display_name  =  " Maximum Difficulty " 
							 
						 
					
						
							
								
									
										
										
										
											2021-11-12 08:00:11 -05:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    option_easy  =  0 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    option_medium  =  1 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    option_hard  =  2 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    option_harder  =  3 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    option_hardcore  =  4 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    option_mania  =  5 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    option_infinity  =  6 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    default  =  4 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								class  MorphPlacement ( Choice ) :  
						 
					
						
							
								
									
										
										
										
											2022-02-05 14:23:17 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    """ Influences where the Morphing Ball with be placed. """ 
							 
						 
					
						
							
								
									
										
										
										
											2022-02-02 16:29:29 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    display_name  =  " Morph Placement " 
							 
						 
					
						
							
								
									
										
										
										
											2021-11-12 08:00:11 -05:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    option_early  =  0 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    option_normal  =  1 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    default  =  0 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								class  StrictMinors ( Toggle ) :  
						 
					
						
							
								
									
										
										
										
											2022-02-05 14:23:17 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    """ Instead of using the Minors proportions as probabilities, enforce a strict distribution to match the proportions as closely as possible. """ 
							 
						 
					
						
							
								
									
										
										
										
											2022-02-02 16:29:29 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    display_name  =  " Strict Minors " 
							 
						 
					
						
							
								
									
										
										
										
											2021-11-12 08:00:11 -05:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								class  MissileQty ( Range ) :  
						 
					
						
							
								
									
										
										
										
											2022-02-05 14:23:17 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    """ The higher the number the higher the probability of choosing missles when placing a minor. """ 
							 
						 
					
						
							
								
									
										
										
										
											2022-02-02 16:29:29 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    display_name  =  " Missile Quantity " 
							 
						 
					
						
							
								
									
										
										
										
											2021-11-12 08:00:11 -05:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    range_start  =  10 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    range_end  =  90 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    default  =  30 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								class  SuperQty ( Range ) :  
						 
					
						
							
								
									
										
										
										
											2022-02-05 14:23:17 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    """ The higher the number the higher the probability of choosing super missles when placing a minor. """ 
							 
						 
					
						
							
								
									
										
										
										
											2022-02-02 16:29:29 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    display_name  =  " Super Quantity " 
							 
						 
					
						
							
								
									
										
										
										
											2021-11-12 08:00:11 -05:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    range_start  =  10 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    range_end  =  90 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    default  =  20 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								class  PowerBombQty ( Range ) :  
						 
					
						
							
								
									
										
										
										
											2022-02-05 14:23:17 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    """ The higher the number the higher the probability of choosing power bombs when placing a minor. """ 
							 
						 
					
						
							
								
									
										
										
										
											2022-02-02 16:29:29 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    display_name  =  " Power Bomb Quantity " 
							 
						 
					
						
							
								
									
										
										
										
											2021-11-12 08:00:11 -05:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    range_start  =  10 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    range_end  =  90 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    default  =  10 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								class  MinorQty ( Range ) :  
						 
					
						
							
								
									
										
										
										
											2022-02-05 14:23:17 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    """ From 7 % , minimum number of minors required to finish the game, to 100 % . """ 
							 
						 
					
						
							
								
									
										
										
										
											2022-02-02 16:29:29 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    display_name  =  " Minor Quantity " 
							 
						 
					
						
							
								
									
										
										
										
											2021-11-12 08:00:11 -05:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    range_start  =  7 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    range_end  =  100 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    default  =  100 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								class  EnergyQty ( Choice ) :  
						 
					
						
							
								
									
										
										
										
											2022-02-05 14:23:17 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    """ Choose how many Energy/Reserve Tanks will be available, from 0-1 in ultra sparse, 4-6 in sparse, 8-12 in medium and 18 in vanilla. """ 
							 
						 
					
						
							
								
									
										
										
										
											2022-02-02 16:29:29 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    display_name  =  " Energy Quantity " 
							 
						 
					
						
							
								
									
										
										
										
											2021-11-12 08:00:11 -05:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    option_ultra_sparse  =  0 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    option_sparse  =  1 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    option_medium  =  2 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    option_vanilla  =  3 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    default  =  3 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								class  AreaRandomization ( Choice ) :  
						 
					
						
							
								
									
										
										
										
											2022-02-05 14:23:17 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    """ Randomize areas together using bidirectional access portals. """ 
							 
						 
					
						
							
								
									
										
										
										
											2022-02-02 16:29:29 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    display_name  =  " Area Randomization " 
							 
						 
					
						
							
								
									
										
										
										
											2021-11-12 08:00:11 -05:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    option_off  =  0 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    option_light  =  1 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    option_on  =  2 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    alias_false  =  0 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    alias_true  =  2 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    default  =  0 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								class  AreaLayout ( Toggle ) :  
						 
					
						
							
								
									
										
										
										
											2022-02-05 14:23:17 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    """ Some layout tweaks to make your life easier in areas randomizer. """ 
							 
						 
					
						
							
								
									
										
										
										
											2022-02-02 16:29:29 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    display_name  =  " Area Layout " 
							 
						 
					
						
							
								
									
										
										
										
											2021-11-12 08:00:11 -05:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								class  DoorsColorsRando ( Toggle ) :  
						 
					
						
							
								
									
										
										
										
											2022-02-05 14:23:17 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    """ Randomize the color of Red/Green/Yellow doors. Add four new type of doors which require Ice/Wave/Spazer/Plasma beams to open them. """ 
							 
						 
					
						
							
								
									
										
										
										
											2022-02-02 16:29:29 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    display_name  =  " Doors Colors Rando " 
							 
						 
					
						
							
								
									
										
										
										
											2021-11-12 08:00:11 -05:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								class  AllowGreyDoors ( Toggle ) :  
						 
					
						
							
								
									
										
										
										
											2022-02-05 14:23:17 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    """ When randomizing the color of Red/Green/Yellow doors, some doors can be randomized to Grey. Grey doors will never open, you will have to go around them. """ 
							 
						 
					
						
							
								
									
										
										
										
											2022-02-02 16:29:29 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    display_name  =  " Allow Grey Doors " 
							 
						 
					
						
							
								
									
										
										
										
											2021-11-12 08:00:11 -05:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								class  BossRandomization ( Toggle ) :  
						 
					
						
							
								
									
										
										
										
											2022-02-05 14:23:17 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    """ Randomize Golden 4 bosses access doors using bidirectional access portals. """ 
							 
						 
					
						
							
								
									
										
										
										
											2022-02-02 16:29:29 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    display_name  =  " Boss Randomization " 
							 
						 
					
						
							
								
									
										
										
										
											2021-11-12 08:00:11 -05:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								class  FunCombat ( Toggle ) :  
						 
					
						
							
								
									
										
										
										
											2022-07-22 03:44:58 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    """ Forces removal of Plasma Beam and Screw Attack if the preset and settings allow it. In addition, can randomly remove Spazer and Wave Beam from the Combat set. If used, might force  ' minimal '  accessibility. """ 
							 
						 
					
						
							
								
									
										
										
										
											2022-02-02 16:29:29 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    display_name  =  " Fun Combat " 
							 
						 
					
						
							
								
									
										
										
										
											2021-11-12 08:00:11 -05:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								class  FunMovement ( Toggle ) :  
						 
					
						
							
								
									
										
										
										
											2022-07-22 03:44:58 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    """ Forces removal of Space Jump if the preset allows it. In addition, can randomly remove High Jump, Grappling Beam, Spring Ball, Speed Booster, and Bombs from the Movement set. If used, might force  ' minimal '  accessibility. """ 
							 
						 
					
						
							
								
									
										
										
										
											2022-02-02 16:29:29 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    display_name  =  " Fun Movement " 
							 
						 
					
						
							
								
									
										
										
										
											2021-11-12 08:00:11 -05:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								class  FunSuits ( Toggle ) :  
						 
					
						
							
								
									
										
										
										
											2022-07-22 03:44:58 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    """ If the preset and seed layout allow it, will force removal of at least one of Varia Suit and/or Gravity Suit. If used, might force  ' minimal '  accessibility. """ 
							 
						 
					
						
							
								
									
										
										
										
											2022-02-02 16:29:29 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    display_name  =  " Fun Suits " 
							 
						 
					
						
							
								
									
										
										
										
											2021-11-12 08:00:11 -05:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								class  LayoutPatches ( DefaultOnToggle ) :  
						 
					
						
							
								
									
										
										
										
											2022-02-05 14:23:17 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    """ Include the anti-softlock layout patches. Disable at your own softlocking risk! """ 
							 
						 
					
						
							
								
									
										
										
										
											2022-02-02 16:29:29 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    display_name  =  " Layout Patches " 
							 
						 
					
						
							
								
									
										
										
										
											2021-11-12 08:00:11 -05:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								class  VariaTweaks ( Toggle ) :  
						 
					
						
							
								
									
										
										
										
											2022-02-05 14:23:17 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    """ Include minor tweaks for the game to behave  ' as it should '  in a randomizer context """ 
							 
						 
					
						
							
								
									
										
										
										
											2022-02-02 16:29:29 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    display_name  =  " Varia Tweaks " 
							 
						 
					
						
							
								
									
										
										
										
											2021-11-12 08:00:11 -05:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								class  NerfedCharge ( Toggle ) :  
						 
					
						
							
								
									
										
										
										
											2022-02-05 14:23:17 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    """ Samus begins with a starter Charge Beam that does one third of charged shot damage that can damage bosses. Pseudo Screws also do one third damage. Special Beam Attacks do normal damage but cost 3 Power Bombs instead of 1. Once the Charge Beam item has been collected, it does full damage and special attacks are back to normal. """ 
							 
						 
					
						
							
								
									
										
										
										
											2022-02-02 16:29:29 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    display_name  =  " Nerfed Charge " 
							 
						 
					
						
							
								
									
										
										
										
											2021-11-12 08:00:11 -05:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								class  GravityBehaviour ( Choice ) :  
						 
					
						
							
								
									
										
										
										
											2022-02-05 14:23:17 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    """ Modify the heat damage and enemy damage reduction qualities of the Gravity and Varia Suits. """ 
							 
						 
					
						
							
								
									
										
										
										
											2022-02-02 16:29:29 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    display_name  =  " Gravity Behaviour " 
							 
						 
					
						
							
								
									
										
										
										
											2021-11-12 08:00:11 -05:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    option_Vanilla  =  0 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    option_Balanced  =  1 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    option_Progressive  =  2 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    default  =  1 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								class  ElevatorsDoorsSpeed ( DefaultOnToggle ) :  
						 
					
						
							
								
									
										
										
										
											2022-02-05 14:23:17 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    """ Accelerate doors and elevators transitions. """ 
							 
						 
					
						
							
								
									
										
										
										
											2022-02-02 16:29:29 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    display_name  =  " Elevators doors speed " 
							 
						 
					
						
							
								
									
										
										
										
											2021-11-12 08:00:11 -05:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								class  SpinJumpRestart ( Toggle ) :  
						 
					
						
							
								
									
										
										
										
											2022-02-05 14:23:17 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    """ Allows Samus to start spinning in mid air after jumping or falling. """ 
							 
						 
					
						
							
								
									
										
										
										
											2022-03-18 18:17:19 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    display_name  =  " Spin Jump Restart " 
							 
						 
					
						
							
								
									
										
										
										
											2021-11-12 08:00:11 -05:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2022-07-22 03:44:58 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								class  SpeedKeep ( Toggle ) :  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    """ Let Samus keeps her momentum when landing from a fall or from jumping. """ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    display_name  =  " Momentum conservation (a.k.a. Speedkeep) " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2021-11-12 08:00:11 -05:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								class  InfiniteSpaceJump ( Toggle ) :  
						 
					
						
							
								
									
										
										
										
											2022-02-05 14:23:17 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    """ Space jumps can be done quicker and at any time in air, water or lava, even after falling long distances. """ 
							 
						 
					
						
							
								
									
										
										
										
											2022-03-18 18:17:19 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    display_name  =  " Infinite Space Jump " 
							 
						 
					
						
							
								
									
										
										
										
											2021-11-12 08:00:11 -05:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								class  RefillBeforeSave ( Toggle ) :  
						 
					
						
							
								
									
										
										
										
											2022-02-05 14:23:17 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    """ Refill energy and ammo when saving. """ 
							 
						 
					
						
							
								
									
										
										
										
											2022-03-18 18:17:19 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    display_name  =  " Refill Before Save " 
							 
						 
					
						
							
								
									
										
										
										
											2021-11-12 08:00:11 -05:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								class  Hud ( Toggle ) :  
						 
					
						
							
								
									
										
										
										
											2022-02-05 14:23:17 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    """ Displays the current area name and the number of remaining items of selected item split in the HUD for the current area. """ 
							 
						 
					
						
							
								
									
										
										
										
											2022-03-18 18:17:19 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    display_name  =  " Hud " 
							 
						 
					
						
							
								
									
										
										
										
											2021-11-12 08:00:11 -05:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								class  Animals ( Toggle ) :  
						 
					
						
							
								
									
										
										
										
											2022-02-05 14:23:17 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    """ Replace saving the animals in the escape sequence by a random surprise. """ 
							 
						 
					
						
							
								
									
										
										
										
											2022-03-18 18:17:19 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    display_name  =  " Animals " 
							 
						 
					
						
							
								
									
										
										
										
											2021-11-12 08:00:11 -05:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								class  NoMusic ( Toggle ) :  
						 
					
						
							
								
									
										
										
										
											2022-02-05 14:23:17 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    """ Disable the background music. """ 
							 
						 
					
						
							
								
									
										
										
										
											2022-03-18 18:17:19 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    display_name  =  " No Music " 
							 
						 
					
						
							
								
									
										
										
										
											2021-11-12 08:00:11 -05:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								class  RandomMusic ( Toggle ) :  
						 
					
						
							
								
									
										
										
										
											2022-02-05 14:23:17 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    """ Randomize the background music. """ 
							 
						 
					
						
							
								
									
										
										
										
											2022-03-18 18:17:19 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    display_name  =  " Random Music " 
							 
						 
					
						
							
								
									
										
										
										
											2021-11-12 08:00:11 -05:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								class  CustomPreset ( OptionDict ) :  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    """ 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    see  https : / / randommetroidsolver . pythonanywhere . com / presets  for  detailed  info  on  each  preset  settings 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    knows :  each  skill  ( know )  has  a  pair  [ can  use ,  perceived  difficulty  using  one  of  1 ,  5 ,  10 ,  25 ,  50  or  100  each  one  matching  a  max_difficulty ] 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    settings :  hard  rooms ,  hellruns  and  bosses  settings 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    controller :  predefined  controller  mapping  and  moon  walk  setting 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    """ 
 
							 
						 
					
						
							
								
									
										
										
										
											2022-03-18 18:17:19 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    display_name  =  " Custom Preset " 
							 
						 
					
						
							
								
									
										
										
										
											2021-11-12 08:00:11 -05:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    default  =  {   " knows " :  { } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                 " settings " :  { } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                 " controller " :  { } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								              } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								class  VariaCustomPreset ( OptionList ) :  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    """ use an entry from the preset list on https://randommetroidsolver.pythonanywhere.com/presets """ 
							 
						 
					
						
							
								
									
										
										
										
											2022-03-18 18:17:19 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    display_name  =  " Varia Custom Preset "   
							 
						 
					
						
							
								
									
										
										
										
											2021-11-12 08:00:11 -05:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    default  =  { } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								sm_options :  typing . Dict [ str ,  type ( Option ) ]  =  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    " start_inventory_removes_from_pool " :  StartItemsRemovesFromPool , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    " preset " :  Preset , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    " start_location " :  StartLocation , 
							 
						 
					
						
							
								
									
										
										
										
											2022-03-21 00:34:47 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    " remote_items " :  RemoteItems , 
							 
						 
					
						
							
								
									
										
										
										
											2021-12-03 22:11:25 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    " death_link " :  DeathLink , 
							 
						 
					
						
							
								
									
										
										
										
											2021-11-12 08:00:11 -05:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    #"majors_split": "Full", 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    #"scav_num_locs": "10", 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    #"scav_randomized": "off", 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    #"scav_escape": "off", 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    " max_difficulty " :  MaxDifficulty , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    #"progression_speed": "medium", 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    #"progression_difficulty": "normal", 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    " morph_placement " :  MorphPlacement , 
							 
						 
					
						
							
								
									
										
										
										
											2021-12-02 00:11:42 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    #"suits_restriction": SuitsRestriction, 
							 
						 
					
						
							
								
									
										
										
										
											2021-11-12 08:00:11 -05:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    #"hide_items": "off", 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    " strict_minors " :  StrictMinors , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    " missile_qty " :  MissileQty , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    " super_qty " :  SuperQty , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    " power_bomb_qty " :  PowerBombQty , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    " minor_qty " :  MinorQty , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    " energy_qty " :  EnergyQty , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    " area_randomization " :  AreaRandomization , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    " area_layout " :  AreaLayout , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    " doors_colors_rando " :  DoorsColorsRando , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    " allow_grey_doors " :  AllowGreyDoors , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    " boss_randomization " :  BossRandomization , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    #"minimizer": "off", 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    #"minimizer_qty": "45", 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    #"minimizer_tourian": "off", 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    #"escape_rando": "off", 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    #"remove_escape_enemies": "off", 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    " fun_combat " :  FunCombat , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    " fun_movement " :  FunMovement , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    " fun_suits " :  FunSuits , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    " layout_patches " :  LayoutPatches , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    " varia_tweaks " :  VariaTweaks , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    " nerfed_charge " :  NerfedCharge , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    " gravity_behaviour " :  GravityBehaviour , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    #"item_sounds": "on", 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    " elevators_doors_speed " :  ElevatorsDoorsSpeed , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    " spin_jump_restart " :  SpinJumpRestart , 
							 
						 
					
						
							
								
									
										
										
										
											2022-07-22 03:44:58 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    " rando_speed " :  SpeedKeep , 
							 
						 
					
						
							
								
									
										
										
										
											2021-11-12 08:00:11 -05:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    " infinite_space_jump " :  InfiniteSpaceJump , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    " refill_before_save " :  RefillBeforeSave , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    " hud " :  Hud , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    " animals " :  Animals , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    " no_music " :  NoMusic , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    " random_music " :  RandomMusic , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    " custom_preset " :  CustomPreset , 
							 
						 
					
						
							
								
									
										
										
										
											2022-03-26 02:26:55 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    " varia_custom_preset " :  VariaCustomPreset , 
							 
						 
					
						
							
								
									
										
										
										
											2021-11-12 08:00:11 -05:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    }