| 
									
										
										
										
											2021-08-29 08:30:44 -07:00
										 |  |  | import typing | 
					
						
							| 
									
										
										
										
											2023-03-08 20:14:54 -08:00
										 |  |  | from Options import TextChoice, Option, Range, Toggle | 
					
						
							| 
									
										
										
										
											2021-08-29 08:30:44 -07:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-03-08 20:14:54 -08:00
										 |  |  | class Character(TextChoice): | 
					
						
							|  |  |  |     """Enter the internal ID of the character to use.
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |       if you don't know the exact ID to enter with the mod installed go to | 
					
						
							|  |  |  |      `Mods -> Archipelago Multi-world -> config` to view a list of installed modded character IDs. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |      the downfall characters will only work if you have downfall installed. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |      Spire Take the Wheel will have your client pick a random character from the list of all your installed characters | 
					
						
							|  |  |  |      including custom ones. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |      if the chosen character mod is not installed it will default back to 'The Ironclad' | 
					
						
							|  |  |  |      """
 | 
					
						
							| 
									
										
										
										
											2021-08-29 08:30:44 -07:00
										 |  |  |     display_name = "Character" | 
					
						
							| 
									
										
										
										
											2023-03-08 20:14:54 -08:00
										 |  |  |     option_The_Ironclad = 0 | 
					
						
							|  |  |  |     option_The_Silent = 1 | 
					
						
							|  |  |  |     option_The_Defect = 2 | 
					
						
							|  |  |  |     option_The_Watcher = 3 | 
					
						
							|  |  |  |     option_The_Hermit = 4 | 
					
						
							|  |  |  |     option_The_Slime_Boss = 5 | 
					
						
							|  |  |  |     option_The_Guardian = 6 | 
					
						
							|  |  |  |     option_The_Hexaghost = 7 | 
					
						
							|  |  |  |     option_The_Champ = 8 | 
					
						
							|  |  |  |     option_The_Gremlins = 9 | 
					
						
							|  |  |  |     option_The_Automaton = 10 | 
					
						
							|  |  |  |     option_The_Snecko = 11 | 
					
						
							|  |  |  |     option_spire_take_the_wheel = 12 | 
					
						
							| 
									
										
										
										
											2021-08-29 08:30:44 -07:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class Ascension(Range): | 
					
						
							|  |  |  |     """What Ascension do you wish to play with.""" | 
					
						
							|  |  |  |     display_name = "Ascension" | 
					
						
							|  |  |  |     range_start = 0 | 
					
						
							|  |  |  |     range_end = 20 | 
					
						
							|  |  |  |     default = 0 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-03-08 20:14:54 -08:00
										 |  |  | class FinalAct(Toggle): | 
					
						
							|  |  |  |     """Whether you will need to collect the 3 keys and beat the final act to complete the game.""" | 
					
						
							|  |  |  |     display_name = "Final Act" | 
					
						
							|  |  |  |     option_true = 1 | 
					
						
							|  |  |  |     option_false = 0 | 
					
						
							|  |  |  |     default = 0 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class Downfall(Toggle): | 
					
						
							|  |  |  |     """When Downfall is Installed this will switch the played mode to Downfall""" | 
					
						
							|  |  |  |     display_name = "Downfall" | 
					
						
							| 
									
										
										
										
											2021-08-29 08:30:44 -07:00
										 |  |  |     option_true = 1 | 
					
						
							|  |  |  |     option_false = 0 | 
					
						
							|  |  |  |     default = 0 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | spire_options: typing.Dict[str, type(Option)] = { | 
					
						
							|  |  |  |     "character": Character, | 
					
						
							|  |  |  |     "ascension": Ascension, | 
					
						
							| 
									
										
										
										
											2023-03-08 20:14:54 -08:00
										 |  |  |     "final_act": FinalAct, | 
					
						
							|  |  |  |     "downfall": Downfall, | 
					
						
							| 
									
										
										
										
											2022-11-12 20:52:36 -06:00
										 |  |  | } |