diff --git a/BaseClasses.py b/BaseClasses.py index e3aaaa19..ce8d109c 100644 --- a/BaseClasses.py +++ b/BaseClasses.py @@ -1298,7 +1298,7 @@ class Spoiler(): for f_option, option in options.items(): res = getattr(self.world, f_option)[player] displayname = getattr(option, "displayname", f_option) - outfile.write(f'{displayname + ":":33}{res.get_option_name()}\n') + outfile.write(f'{displayname + ":":33}{res.get_current_option_name()}\n') if player in self.world.get_game_players("A Link to the Past"): for team in range(self.world.teams): diff --git a/Options.py b/Options.py index 0404604c..21a7b911 100644 --- a/Options.py +++ b/Options.py @@ -42,12 +42,15 @@ class Option(metaclass=AssembleOptions): autodisplayname = False def __repr__(self) -> str: - return f"{self.__class__.__name__}({self.get_option_name()})" + return f"{self.__class__.__name__}({self.get_current_option_name()})" def __hash__(self): return hash(self.value) - def get_option_name(self) -> str: + def get_current_option_name(self) -> str: + return self.get_option_name(self.value) + + def get_option_name(self, value: typing.Any) -> str: if self.autodisplayname: return self.name_lookup[self.value].replace("_", " ").title() else: @@ -104,8 +107,8 @@ class Toggle(Option): def __int__(self): return int(self.value) - def get_option_name(self): - return ["No", "Yes"][int(self.value)] + def get_option_name(self, value): + return ["No", "Yes"][int(value)] class DefaultOnToggle(Toggle): default = 1 @@ -164,7 +167,7 @@ class Range(Option, int): return cls(data) return cls.from_text(str(data)) - def get_option_name(self): + def get_option_name(self, value): return str(self.value) def __str__(self): @@ -201,8 +204,8 @@ class OptionDict(Option): else: raise NotImplementedError(f"Cannot Convert from non-dictionary, got {type(data)}") - def get_option_name(self): - return str(self.value) + def get_option_name(self, value): + return str(value) local_objective = Toggle # local triforce pieces, local dungeon prizes etc. diff --git a/worlds/minecraft/Rules.py b/worlds/minecraft/Rules.py index 965353e0..93b8da76 100644 --- a/worlds/minecraft/Rules.py +++ b/worlds/minecraft/Rules.py @@ -41,7 +41,7 @@ class MinecraftLogic(LogicMixin): # Difficulty-dependent functions def _mc_combat_difficulty(self, player: int): - return self.world.combat_difficulty[player].get_option_name() + return self.world.combat_difficulty[player].get_current_option_name() def _mc_can_adventure(self, player: int): if self._mc_combat_difficulty(player) == 'easy':