From 526eb090891c9b0fed6b9fadeee2d02bf8d763c1 Mon Sep 17 00:00:00 2001 From: Aaron Wagener Date: Sun, 3 Mar 2024 07:11:44 -0600 Subject: [PATCH] Options: add a DeathLinkMixin dataclass to easily standardize death_link (#2355) * Options: add a DeathLinkOption dataclass to easily standardize death_link * rename to DeathLinkMixin * Update worlds/messenger/options.py --- Options.py | 5 +++++ worlds/messenger/options.py | 6 ++---- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/Options.py b/Options.py index 2e3927aa..5fe40871 100644 --- a/Options.py +++ b/Options.py @@ -1110,6 +1110,11 @@ class PerGameCommonOptions(CommonOptions): item_links: ItemLinks +@dataclass +class DeathLinkMixin: + death_link: DeathLink + + def generate_yaml_templates(target_folder: typing.Union[str, "pathlib.Path"], generate_hidden: bool = True): import os diff --git a/worlds/messenger/options.py b/worlds/messenger/options.py index 1da544be..6984e215 100644 --- a/worlds/messenger/options.py +++ b/worlds/messenger/options.py @@ -3,7 +3,7 @@ from typing import Dict from schema import And, Optional, Or, Schema -from Options import Accessibility, Choice, DeathLink, DefaultOnToggle, OptionDict, PerGameCommonOptions, Range, \ +from Options import Accessibility, Choice, DeathLinkMixin, DefaultOnToggle, OptionDict, PerGameCommonOptions, Range, \ StartInventoryPool, Toggle @@ -133,7 +133,7 @@ class PlannedShopPrices(OptionDict): @dataclass -class MessengerOptions(PerGameCommonOptions): +class MessengerOptions(DeathLinkMixin, PerGameCommonOptions): accessibility: MessengerAccessibility start_inventory: StartInventoryPool logic_level: Logic @@ -146,5 +146,3 @@ class MessengerOptions(PerGameCommonOptions): percent_seals_required: RequiredSeals shop_price: ShopPrices shop_price_plan: PlannedShopPrices - death_link: DeathLink -