* Convert StS options * probably a bad idea * Update worlds/spire/Options.py Co-authored-by: Scipio Wright <scipiowright@gmail.com> --------- Co-authored-by: Kono Tyran <Kono@koifysh.dev> Co-authored-by: Scipio Wright <scipiowright@gmail.com>
		
			
				
	
	
		
			75 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			75 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
import typing
 | 
						|
from dataclasses import dataclass
 | 
						|
 | 
						|
from Options import TextChoice, Range, Toggle, PerGameCommonOptions
 | 
						|
 | 
						|
 | 
						|
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
 | 
						|
 | 
						|
 | 
						|
class DeathLink(Range):
 | 
						|
    """Percentage of health to lose when a death link is received."""
 | 
						|
    display_name = "Death Link %"
 | 
						|
    range_start = 0
 | 
						|
    range_end = 100
 | 
						|
    default = 0
 | 
						|
 | 
						|
 | 
						|
@dataclass
 | 
						|
class SpireOptions(PerGameCommonOptions):
 | 
						|
    character: Character
 | 
						|
    ascension: Ascension
 | 
						|
    final_act: FinalAct
 | 
						|
    downfall: Downfall
 | 
						|
    death_link: DeathLink
 |