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
|
|
}
|