81 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
		
		
			
		
	
	
			81 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| 
								 | 
							
								# Copyright (c) 2022 FelicitusNeko
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								# This software is released under the MIT License.
							 | 
						||
| 
								 | 
							
								# https://opensource.org/licenses/MIT
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								import typing
							 | 
						||
| 
								 | 
							
								from Options import Option, Range
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								class TaskAdvances(Range):
							 | 
						||
| 
								 | 
							
								    """Task Advances allow you to skip one step of a level task. They do not restock, so use them sparingly."""
							 | 
						||
| 
								 | 
							
								    display_name = "Task Advances"
							 | 
						||
| 
								 | 
							
								    range_start = 0
							 | 
						||
| 
								 | 
							
								    range_end = 5
							 | 
						||
| 
								 | 
							
								    default = 4
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								class Turners(Range):
							 | 
						||
| 
								 | 
							
								    """Turners allow you to change the direction of a Bumper. These restock when the board resets."""
							 | 
						||
| 
								 | 
							
								    display_name = "Turners"
							 | 
						||
| 
								 | 
							
								    range_start = 0
							 | 
						||
| 
								 | 
							
								    range_end = 5
							 | 
						||
| 
								 | 
							
								    default = 3
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								class PaintCans(Range):
							 | 
						||
| 
								 | 
							
								    """
							 | 
						||
| 
								 | 
							
								        Paint Cans allow you to change the color of a Bumper.
							 | 
						||
| 
								 | 
							
								        The ones you get from the multiworld restock when the board resets; you also get one-time ones from score.
							 | 
						||
| 
								 | 
							
								    """
							 | 
						||
| 
								 | 
							
								    display_name = "Paint Cans"
							 | 
						||
| 
								 | 
							
								    range_start = 0
							 | 
						||
| 
								 | 
							
								    range_end = 5
							 | 
						||
| 
								 | 
							
								    default = 3
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								class Traps(Range):
							 | 
						||
| 
								 | 
							
								    """
							 | 
						||
| 
								 | 
							
								        Traps affect the board in various ways.
							 | 
						||
| 
								 | 
							
								        This number indicates how many total traps will be added to the item pool.
							 | 
						||
| 
								 | 
							
								    """
							 | 
						||
| 
								 | 
							
								    display_name = "Trap Count"
							 | 
						||
| 
								 | 
							
								    range_start = 0
							 | 
						||
| 
								 | 
							
								    range_end = 15
							 | 
						||
| 
								 | 
							
								    default = 5
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								class RainbowTrapWeight(Range):
							 | 
						||
| 
								 | 
							
								    """Rainbow Traps change the color of every bumper on the field."""
							 | 
						||
| 
								 | 
							
								    display_name = "Rainbow Trap weight"
							 | 
						||
| 
								 | 
							
								    range_start = 0
							 | 
						||
| 
								 | 
							
								    range_end = 100
							 | 
						||
| 
								 | 
							
								    default = 50
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								class SpinnerTrapWeight(Range):
							 | 
						||
| 
								 | 
							
								    """Spinner Traps change the direction of every bumper on the field."""
							 | 
						||
| 
								 | 
							
								    display_name = "Spinner Trap weight"
							 | 
						||
| 
								 | 
							
								    range_start = 0
							 | 
						||
| 
								 | 
							
								    range_end = 100
							 | 
						||
| 
								 | 
							
								    default = 50
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								class KillerTrapWeight(Range):
							 | 
						||
| 
								 | 
							
								    """Killer Traps end the current board immediately."""
							 | 
						||
| 
								 | 
							
								    display_name = "Killer Trap weight"
							 | 
						||
| 
								 | 
							
								    range_start = 0
							 | 
						||
| 
								 | 
							
								    range_end = 100
							 | 
						||
| 
								 | 
							
								    default = 0
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								bumpstik_options: typing.Dict[str, type(Option)] = {
							 | 
						||
| 
								 | 
							
								    "task_advances": TaskAdvances,
							 | 
						||
| 
								 | 
							
								    "turners": Turners,
							 | 
						||
| 
								 | 
							
								    "paint_cans": PaintCans,
							 | 
						||
| 
								 | 
							
								    "trap_count": Traps,
							 | 
						||
| 
								 | 
							
								    "rainbow_trap_weight": RainbowTrapWeight,
							 | 
						||
| 
								 | 
							
								    "spinner_trap_weight": SpinnerTrapWeight,
							 | 
						||
| 
								 | 
							
								    "killer_trap_weight": KillerTrapWeight
							 | 
						||
| 
								 | 
							
								}
							 |