2024-05-28 18:37:07 +00:00
|
|
|
from dataclasses import dataclass
|
|
|
|
from Options import Choice, DeathLink, PerGameCommonOptions
|
2023-07-19 02:37:26 +00:00
|
|
|
|
|
|
|
|
|
|
|
class Goal(Choice):
|
|
|
|
"""The victory condition for your run. Stuff after the goal will not be shuffled."""
|
|
|
|
|
|
|
|
display_name = "Goal"
|
|
|
|
option_mechanical_bosses = 0
|
|
|
|
# option_calamitas_clone = 1
|
|
|
|
option_plantera = 2
|
|
|
|
option_golem = 3
|
|
|
|
option_empress_of_light = 4
|
|
|
|
option_lunatic_cultist = 5
|
|
|
|
# option_astrum_deus = 6
|
|
|
|
option_moon_lord = 7
|
|
|
|
# option_providence_the_profaned_goddess = 8
|
|
|
|
# option_devourer_of_gods = 9
|
|
|
|
# option_yharon_dragon_of_rebirth = 10
|
|
|
|
option_zenith = 11
|
|
|
|
# option_calamity_final_bosses = 12
|
|
|
|
# option_adult_eidolon_wyrm = 13
|
|
|
|
default = 0
|
|
|
|
|
|
|
|
|
|
|
|
class Achievements(Choice):
|
|
|
|
"""
|
|
|
|
Adds checks upon collecting achievements. Achievements for clearing bosses and events are excluded.
|
|
|
|
"Exclude Grindy" also excludes fishing achievements.
|
|
|
|
"""
|
|
|
|
|
|
|
|
display_name = "Achievements"
|
|
|
|
option_none = 0
|
|
|
|
option_exclude_grindy = 1
|
|
|
|
option_exclude_fishing = 2
|
|
|
|
option_all = 3
|
|
|
|
default = 1
|
|
|
|
|
|
|
|
|
|
|
|
class FillExtraChecksWith(Choice):
|
|
|
|
"""
|
|
|
|
Applies if you have achievements enabled. "Useful Items" helps to make the early game less grindy.
|
|
|
|
Items are rewarded to all players in your Terraria world.
|
|
|
|
"""
|
|
|
|
|
|
|
|
display_name = "Fill Extra Checks With"
|
|
|
|
option_coins = 0
|
|
|
|
option_useful_items = 1
|
|
|
|
default = 1
|
|
|
|
|
|
|
|
|
2024-05-28 18:37:07 +00:00
|
|
|
@dataclass
|
|
|
|
class TerrariaOptions(PerGameCommonOptions):
|
|
|
|
goal: Goal
|
|
|
|
achievements: Achievements
|
|
|
|
fill_extra_checks_with: FillExtraChecksWith
|
|
|
|
death_link: DeathLink
|