# Copyright (c) 2022 FelicitusNeko # # This software is released under the MIT License. # https://opensource.org/licenses/MIT import typing from Options import Option, DeathLink, Toggle, DefaultOnToggle, Choice cost_scales = { 0: [80, 5, 4], 1: [60, 5, 3], 2: [50, 4, 3] } class Goal(Choice): """Which goal must be achieved to trigger completion.""" display_name = "Goal" option_return_the_cursed_seal = 0 option_any_ending = 1 option_true_ending = 2 alias_normal_ending = 1 alias_agate_knife = 2 default = 0 class IncludePSIKeys(DefaultOnToggle): """Whether PSI Keys should be included in the multiworld pool. If not, they will be in their vanilla locations.""" display_name = "Include PSI Keys" class IncludeEvolutionTraps(Toggle): """ Whether evolution traps should be included in the multiworld pool. If not, they will be activated by bosses, as in vanilla. """ display_name = "Include Evolution Traps" class ItemCacheCost(Choice): """ Determines how the cost for Alpha, Beta, and Gamma caches will scale. Vanilla has a total cost of about 1B crystals on Normal difficulty; Reduced has about 750M; and Heavily Reduced has about 600M. """ display_name = "Item cache cost scaling" option_vanilla = 0 option_reduced = 1 option_heavily_reduced = 2 default = 0 meritous_options: typing.Dict[str, type(Option)] = { "goal": Goal, "include_psi_keys": IncludePSIKeys, "include_evolution_traps": IncludeEvolutionTraps, "item_cache_cost": ItemCacheCost, "death_link": DeathLink }