From 18e3a8911f68b1ae2304f1d53264320e483f81d5 Mon Sep 17 00:00:00 2001 From: Mysteryem Date: Thu, 19 Feb 2026 19:13:54 +0000 Subject: [PATCH] Saving Princess: Fix each slot sharing the same `music_table` (#5952) `music_table` was initialized on the `SavingPrincessWorld` *class*, so was being shared by each Saving Princess slot in the multiworld. This has been fixed by initializing the `music_table` attribute on each `SavingPrincessWorld` *instance* in `generate_early()` instead. --- worlds/saving_princess/__init__.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/worlds/saving_princess/__init__.py b/worlds/saving_princess/__init__.py index f731012abc..b4caf3828c 100644 --- a/worlds/saving_princess/__init__.py +++ b/worlds/saving_princess/__init__.py @@ -97,11 +97,12 @@ class SavingPrincessWorld(World): settings: ClassVar[SavingPrincessSettings] is_pool_expanded: bool = False - music_table: List[int] = list(range(16)) + music_table: List[int] def generate_early(self) -> None: if not self.player_name.isascii(): raise OptionError(f"{self.player_name}'s name must be only ASCII.") + self.music_table = list(range(16)) self.is_pool_expanded = self.options.expanded_pool > 0 if self.options.music_shuffle: self.random.shuffle(self.music_table)