* add ability to choose custom characters in STS * bump required protocol (client?) version. * fix slot data fill. * add downfall mode, as well as characters. * small change in documentation for character choice as it now uses internal ID's instead of visible titles... because other languages are a thing.
		
			
				
	
	
		
			64 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			64 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
import typing
 | 
						|
from Options import TextChoice, Option, Range, Toggle
 | 
						|
 | 
						|
 | 
						|
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'
 | 
						|
     """
 | 
						|
    display_name = "Character"
 | 
						|
    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
 | 
						|
 | 
						|
 | 
						|
class Ascension(Range):
 | 
						|
    """What Ascension do you wish to play with."""
 | 
						|
    display_name = "Ascension"
 | 
						|
    range_start = 0
 | 
						|
    range_end = 20
 | 
						|
    default = 0
 | 
						|
 | 
						|
 | 
						|
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"
 | 
						|
    option_true = 1
 | 
						|
    option_false = 0
 | 
						|
    default = 0
 | 
						|
 | 
						|
 | 
						|
spire_options: typing.Dict[str, type(Option)] = {
 | 
						|
    "character": Character,
 | 
						|
    "ascension": Ascension,
 | 
						|
    "final_act": FinalAct,
 | 
						|
    "downfall": Downfall,
 | 
						|
}
 |