39 lines
1.1 KiB
Python
39 lines
1.1 KiB
Python
import typing
|
|
from dataclasses import dataclass
|
|
from Options import Option, DeathLink, Range, Toggle, PerGameCommonOptions
|
|
|
|
class DoorCost(Range):
|
|
"""Amount of Trinkets required to enter Areas. Set to 0 to disable artificial locks."""
|
|
display_name = "Door Cost"
|
|
range_start = 0
|
|
range_end = 3
|
|
default = 3
|
|
|
|
class AreaCostRandomizer(Toggle):
|
|
"""Randomize which Area requires which set of DoorCost Trinkets"""
|
|
display_name = "Area Cost Randomizer"
|
|
|
|
class DeathLinkAmnesty(Range):
|
|
"""Amount of Deaths to take before sending a DeathLink signal, for balancing difficulty"""
|
|
display_name = "Death Link Amnesty"
|
|
range_start = 0
|
|
range_end = 30
|
|
default = 15
|
|
|
|
class AreaRandomizer(Toggle):
|
|
"""Randomize Entrances to Areas"""
|
|
display_name = "Area Randomizer"
|
|
|
|
class MusicRandomizer(Toggle):
|
|
"""Randomize Music"""
|
|
display_name = "Music Randomizer"
|
|
|
|
@dataclass
|
|
class V6Options(PerGameCommonOptions):
|
|
music_rando: MusicRandomizer
|
|
area_rando: AreaRandomizer
|
|
door_cost: DoorCost
|
|
area_cost: AreaCostRandomizer
|
|
death_link: DeathLink
|
|
death_link_amnesty: DeathLinkAmnesty
|