diff --git a/worlds/ladx/Options.py b/worlds/ladx/Options.py index 8abfb0fb..2352e0fb 100644 --- a/worlds/ladx/Options.py +++ b/worlds/ladx/Options.py @@ -23,11 +23,24 @@ class LADXROption: class Logic(Choice, LADXROption): """ Affects where items are allowed to be placed. - [Normal] Playable without using any tricks or glitches. Can require knowledge from a vanilla playthrough, such as how to open Color Dungeon. - [Hard] More advanced techniques may be required, but glitches are not. Examples include tricky jumps, killing enemies with only pots. - [Glitched] Advanced glitches and techniques may be required, but extremely difficult or tedious tricks are not required. Examples include Bomb Triggers, Super Jumps and Jesus Jumps. - [Hell] Obscure knowledge and hard techniques may be required. Examples include featherless jumping with boots and/or hookshot, sequential pit buffers and unclipped superjumps. Things in here can be extremely hard to do or very time consuming.""" + + **Normal:** Playable without using any tricks or glitches. Can require + knowledge from a vanilla playthrough, such as how to open Color Dungeon. + + **Hard:** More advanced techniques may be required, but glitches are not. + Examples include tricky jumps, killing enemies with only pots. + + **Glitched:** Advanced glitches and techniques may be required, but + extremely difficult or tedious tricks are not required. Examples include + Bomb Triggers, Super Jumps and Jesus Jumps. + + **Hell:** Obscure knowledge and hard techniques may be required. Examples + include featherless jumping with boots and/or hookshot, sequential pit + buffers and unclipped superjumps. Things in here can be extremely hard to do + or very time consuming. + """ display_name = "Logic" + rich_text_doc = True ladxr_name = "logic" # option_casual = 0 option_normal = 1 @@ -40,8 +53,8 @@ class Logic(Choice, LADXROption): class TradeQuest(DefaultOffToggle, LADXROption): """ - [On] adds the trade items to the pool (the trade locations will always be local items) - [Off] (default) doesn't add them + Trade quest items are randomized. Each NPC takes its normal trade quest + item and gives a randomized item in return. """ display_name = "Trade Quest" ladxr_name = "tradequest" @@ -49,40 +62,32 @@ class TradeQuest(DefaultOffToggle, LADXROption): class TextShuffle(DefaultOffToggle): """ - [On] Shuffles all the text in the game - [Off] (default) doesn't shuffle them. + Shuffles all text in the game. """ display_name = "Text Shuffle" class Rooster(DefaultOnToggle, LADXROption): """ - [On] Adds the rooster to the item pool. - [Off] The rooster spot is still a check giving an item. But you will never find the rooster. In that case, any rooster spot is accessible without rooster by other means. + Adds the rooster to the item pool. If disabled, the overworld will be + modified so that any location requiring the rooster is accessible by other + means. """ display_name = "Rooster" ladxr_name = "rooster" -class Boomerang(Choice): - """ - [Normal] requires Magnifying Lens to get the boomerang. - [Gift] The boomerang salesman will give you a random item, and the boomerang is shuffled. - """ - display_name = "Boomerang" - - normal = 0 - gift = 1 - default = gift - - class EntranceShuffle(Choice, LADXROption): """ - [WARNING] Experimental, may fail to fill - Randomizes where overworld entrances lead to. - [Simple] Single-entrance caves/houses that have items are shuffled amongst each other. - If random start location and/or dungeon shuffle is enabled, then these will be shuffled with all the non-connector entrance pool. - Note, some entrances can lead into water, use the warp-to-home from the save&quit menu to escape this.""" + Randomizes where overworld entrances lead. + + **Simple:** Single-entrance caves/houses that have items are shuffled + amongst each other. + + If *Dungeon Shuffle* is enabled, then dungeons will be shuffled with all the + non-connector entrances in the pool. Note, some entrances can lead into water, use + the warp-to-home from the save&quit menu to escape this. + """ # [Advanced] Simple, but two-way connector caves are shuffled in their own pool as well. # [Expert] Advanced, but caves/houses without items are also shuffled into the Simple entrance pool. @@ -94,22 +99,22 @@ class EntranceShuffle(Choice, LADXROption): # option_expert = 3 # option_insanity = 4 default = option_none - display_name = "Experimental Entrance Shuffle" + display_name = "Entrance Shuffle" ladxr_name = "entranceshuffle" + rich_text_doc = True class DungeonShuffle(DefaultOffToggle, LADXROption): """ - [WARNING] Experimental, may fail to fill - Randomizes dungeon entrances within eachother + Randomizes dungeon entrances with each other. """ - display_name = "Experimental Dungeon Shuffle" + display_name = "Dungeon Shuffle" ladxr_name = "dungeonshuffle" class APTitleScreen(DefaultOnToggle): """ - Enables AP specific title screen and disables the intro cutscene + Enables AP specific title screen and disables the intro cutscene. """ display_name = "AP Title Screen" @@ -124,6 +129,7 @@ class BossShuffle(Choice): class DungeonItemShuffle(Choice): display_name = "Dungeon Item Shuffle" + rich_text_doc = True option_original_dungeon = 0 option_own_dungeons = 1 option_own_world = 2 @@ -138,12 +144,15 @@ class DungeonItemShuffle(Choice): class ShuffleNightmareKeys(DungeonItemShuffle): """ - Shuffle Nightmare Keys - [Original Dungeon] The item will be within its original dungeon - [Own Dungeons] The item will be within a dungeon in your world - [Own World] The item will be somewhere in your world - [Any World] The item could be anywhere - [Different World] The item will be somewhere in another world + **Original Dungeon:** The item will be within its original dungeon. + + **Own Dungeons:** The item will be within a dungeon in your world. + + **Own World:** The item will be somewhere in your world. + + **Any World:** The item could be anywhere. + + **Different World:** The item will be somewhere in another world. """ display_name = "Shuffle Nightmare Keys" ladxr_item = "NIGHTMARE_KEY" @@ -151,12 +160,15 @@ class ShuffleNightmareKeys(DungeonItemShuffle): class ShuffleSmallKeys(DungeonItemShuffle): """ - Shuffle Small Keys - [Original Dungeon] The item will be within its original dungeon - [Own Dungeons] The item will be within a dungeon in your world - [Own World] The item will be somewhere in your world - [Any World] The item could be anywhere - [Different World] The item will be somewhere in another world + **Original Dungeon:** The item will be within its original dungeon. + + **Own Dungeons:** The item will be within a dungeon in your world. + + **Own World:** The item will be somewhere in your world. + + **Any World:** The item could be anywhere. + + **Different World:** The item will be somewhere in another world. """ display_name = "Shuffle Small Keys" ladxr_item = "KEY" @@ -164,12 +176,15 @@ class ShuffleSmallKeys(DungeonItemShuffle): class ShuffleMaps(DungeonItemShuffle): """ - Shuffle Dungeon Maps - [Original Dungeon] The item will be within its original dungeon - [Own Dungeons] The item will be within a dungeon in your world - [Own World] The item will be somewhere in your world - [Any World] The item could be anywhere - [Different World] The item will be somewhere in another world + **Original Dungeon:** The item will be within its original dungeon. + + **Own Dungeons:** The item will be within a dungeon in your world. + + **Own World:** The item will be somewhere in your world. + + **Any World:** The item could be anywhere. + + **Different World:** The item will be somewhere in another world. """ display_name = "Shuffle Maps" ladxr_item = "MAP" @@ -177,12 +192,15 @@ class ShuffleMaps(DungeonItemShuffle): class ShuffleCompasses(DungeonItemShuffle): """ - Shuffle Dungeon Compasses - [Original Dungeon] The item will be within its original dungeon - [Own Dungeons] The item will be within a dungeon in your world - [Own World] The item will be somewhere in your world - [Any World] The item could be anywhere - [Different World] The item will be somewhere in another world + **Original Dungeon:** The item will be within its original dungeon. + + **Own Dungeons:** The item will be within a dungeon in your world. + + **Own World:** The item will be somewhere in your world. + + **Any World:** The item could be anywhere. + + **Different World:** The item will be somewhere in another world. """ display_name = "Shuffle Compasses" ladxr_item = "COMPASS" @@ -190,12 +208,15 @@ class ShuffleCompasses(DungeonItemShuffle): class ShuffleStoneBeaks(DungeonItemShuffle): """ - Shuffle Owl Beaks - [Original Dungeon] The item will be within its original dungeon - [Own Dungeons] The item will be within a dungeon in your world - [Own World] The item will be somewhere in your world - [Any World] The item could be anywhere - [Different World] The item will be somewhere in another world + **Original Dungeon:** The item will be within its original dungeon. + + **Own Dungeons:** The item will be within a dungeon in your world. + + **Own World:** The item will be somewhere in your world. + + **Any World:** The item could be anywhere. + + **Different World:** The item will be somewhere in another world. """ display_name = "Shuffle Stone Beaks" ladxr_item = "STONE_BEAK" @@ -203,13 +224,17 @@ class ShuffleStoneBeaks(DungeonItemShuffle): class ShuffleInstruments(DungeonItemShuffle): """ - Shuffle Instruments - [Original Dungeon] The item will be within its original dungeon - [Own Dungeons] The item will be within a dungeon in your world - [Own World] The item will be somewhere in your world - [Any World] The item could be anywhere - [Different World] The item will be somewhere in another world - [Vanilla] The item will be in its vanilla location in your world + **Original Dungeon:** The item will be within its original dungeon. + + **Own Dungeons:** The item will be within a dungeon in your world. + + **Own World:** The item will be somewhere in your world. + + **Any World:** The item could be anywhere. + + **Different World:** The item will be somewhere in another world. + + **Vanilla:** The item will be in its vanilla location in your world. """ display_name = "Shuffle Instruments" ladxr_item = "INSTRUMENT" @@ -220,12 +245,18 @@ class ShuffleInstruments(DungeonItemShuffle): class Goal(Choice, LADXROption): """ - The Goal of the game - [Instruments] The Wind Fish's Egg will only open if you have the required number of Instruments of the Sirens, and play the Ballad of the Wind Fish. - [Seashells] The Egg will open when you bring 20 seashells. The Ballad and Ocarina are not needed. - [Open] The Egg will start pre-opened. + The Goal of the game. + + **Instruments:** The Wind Fish's Egg will only open if you have the required + number of Instruments of the Sirens, and play the Ballad of the Wind Fish. + + **Seashells:** The Egg will open when you bring 20 seashells. The Ballad and + Ocarina are not needed. + + **Open:** The Egg will start pre-opened. """ display_name = "Goal" + rich_text_doc = True ladxr_name = "goal" option_instruments = 1 option_seashells = 2 @@ -242,7 +273,7 @@ class Goal(Choice, LADXROption): class InstrumentCount(Range, LADXROption): """ - Sets the number of instruments required to open the Egg + Sets the number of instruments required to open the Egg. """ display_name = "Instrument Count" ladxr_name = None @@ -253,7 +284,8 @@ class InstrumentCount(Range, LADXROption): class NagMessages(DefaultOffToggle, LADXROption): """ - Controls if nag messages are shown when rocks and crystals are touched. Useful for glitches, annoying for everyone else. + Controls if nag messages are shown when rocks and crystals are touched. + Useful for glitches, annoying for everything else. """ display_name = "Nag Messages" ladxr_name = "nagmessages" @@ -262,31 +294,30 @@ class NagMessages(DefaultOffToggle, LADXROption): class MusicChangeCondition(Choice): """ Controls how the music changes. - [Sword] When you pick up a sword, the music changes - [Always] You always have the post-sword music + + **Sword:** When you pick up a sword, the music changes. + + **Always:** You always have the post-sword music. """ display_name = "Music Change Condition" + rich_text_doc = True option_sword = 0 option_always = 1 default = option_always -# Setting('hpmode', 'Gameplay', 'm', 'Health mode', options=[('default', '', 'Normal'), ('inverted', 'i', 'Inverted'), ('1', '1', 'Start with 1 heart'), ('low', 'l', 'Low max')], default='default', -# description=""" -# [Normal} health works as you would expect. -# [Inverted] you start with 9 heart containers, but killing a boss will take a heartcontainer instead of giving one. -# [Start with 1] normal game, you just start with 1 heart instead of 3. -# [Low max] replace heart containers with heart pieces."""), - - class HardMode(Choice, LADXROption): """ - [Oracle] Less iframes and health from drops. Bombs damage yourself. Water damages you without flippers. No piece of power or acorn. - [Hero] Switch version hero mode, double damage, no heart/fairy drops. - [One hit KO] You die on a single hit, always. + **Oracle:** Less iframes and health from drops. Bombs damage yourself. Water + damages you without flippers. No pieces of power or acorns. + + **Hero:** Switch version hero mode, double damage, no heart/fairy drops. + + **OHKO:** You die on a single hit, always. """ display_name = "Hard Mode" ladxr_name = "hardmode" + rich_text_doc = True option_none = 0 option_oracle = 1 option_hero = 2 @@ -294,44 +325,26 @@ class HardMode(Choice, LADXROption): default = option_none -# Setting('steal', 'Gameplay', 't', 'Stealing from the shop', -# options=[('always', 'a', 'Always'), ('never', 'n', 'Never'), ('default', '', 'Normal')], default='default', -# description="""Effects when you can steal from the shop. Stealing is bad and never in logic. -# [Normal] requires the sword before you can steal. -# [Always] you can always steal from the shop -# [Never] you can never steal from the shop."""), -class Bowwow(Choice): - """Allows BowWow to be taken into any area. Certain enemies and bosses are given a new weakness to BowWow. - [Normal] BowWow is in the item pool, but can be logically expected as a damage source. - [Swordless] The progressive swords are removed from the item pool. - """ - display_name = "BowWow" - normal = 0 - swordless = 1 - default = normal - - class Overworld(Choice, LADXROption): """ - [Open Mabe] Replaces rock on the east side of Mabe Village with bushes, allowing access to Ukuku Prairie without Power Bracelet. + **Open Mabe:** Replaces rock on the east side of Mabe Village with bushes, + allowing access to Ukuku Prairie without Power Bracelet. """ display_name = "Overworld" ladxr_name = "overworld" + rich_text_doc = True option_normal = 0 option_open_mabe = 1 default = option_normal -# Setting('superweapons', 'Special', 'q', 'Enable super weapons', default=False, -# description='All items will be more powerful, faster, harder, bigger stronger. You name it.'), - - class Quickswap(Choice, LADXROption): """ - Adds that the SELECT button swaps with either A or B. The item is swapped with the top inventory slot. The map is not available when quickswap is enabled. + Instead of opening the map, the *SELECT* button swaps the top item of your inventory on to your *A* or *B* button. """ display_name = "Quickswap" ladxr_name = "quickswap" + rich_text_doc = True option_none = 0 option_a = 1 option_b = 2 @@ -340,10 +353,11 @@ class Quickswap(Choice, LADXROption): class TextMode(Choice, LADXROption): """ - [Fast] Makes text appear twice as fast + **Fast:** Makes text appear twice as fast. """ display_name = "Text Mode" ladxr_name = "textmode" + rich_text_doc = True option_normal = 0 option_fast = 1 default = option_fast @@ -363,7 +377,8 @@ class LowHpBeep(Choice, LADXROption): class NoFlash(DefaultOnToggle, LADXROption): """ - Remove the flashing light effects from Mamu, shopkeeper and MadBatter. Useful for capture cards and people that are sensitive to these things. + Remove the flashing light effects from Mamu, shopkeeper and MadBatter. + Useful for capture cards and people that are sensitive to these things. """ display_name = "No Flash" ladxr_name = "noflash" @@ -371,23 +386,34 @@ class NoFlash(DefaultOnToggle, LADXROption): class BootsControls(Choice): """ - Adds additional button to activate Pegasus Boots (does nothing if you haven't picked up your boots!) - [Vanilla] Nothing changes, you have to equip the boots to use them - [Bracelet] Holding down the button for the bracelet also activates boots (somewhat like Link to the Past) - [Press A] Holding down A activates boots - [Press B] Holding down B activates boots + Adds an additional button to activate Pegasus Boots (does nothing if you + haven't picked up your boots!) + + **Vanilla:** Nothing changes, you have to equip the boots to use them. + + **Bracelet:** Holding down the button for the bracelet also activates boots + (somewhat like Link to the Past). + + **Press A:** Holding down A activates boots. + + **Press B:** Holding down B activates boots. """ display_name = "Boots Controls" + rich_text_doc = True option_vanilla = 0 option_bracelet = 1 option_press_a = 2 + alias_a = 2 option_press_b = 3 + alias_b = 3 class LinkPalette(Choice, LADXROption): """ - Sets link's palette - A-D are color palettes usually used during the damage animation and can change based on where you are. + Sets Link's palette. + + A-D are color palettes usually used during the damage animation and can + change based on where you are. """ display_name = "Link's Palette" ladxr_name = "linkspalette" @@ -408,14 +434,21 @@ class LinkPalette(Choice, LADXROption): class TrendyGame(Choice): """ - [Easy] All of the items hold still for you - [Normal] The vanilla behavior - [Hard] The trade item also moves - [Harder] The items move faster - [Hardest] The items move diagonally - [Impossible] The items move impossibly fast, may scroll on and off the screen + **Easy:** All of the items hold still for you. + + **Normal:** The vanilla behavior. + + **Hard:** The trade item also moves. + + **Harder:** The items move faster. + + **Hardest:** The items move diagonally. + + **Impossible:** The items move impossibly fast, may scroll on and off the + screen. """ display_name = "Trendy Game" + rich_text_doc = True option_easy = 0 option_normal = 1 option_hard = 2 @@ -435,15 +468,24 @@ class GfxMod(DefaultOffToggle): class Palette(Choice): """ Sets the palette for the game. - Note: A few places aren't patched, such as the menu and a few color dungeon tiles. - [Normal] The vanilla palette - [1-Bit] One bit of color per channel - [2-Bit] Two bits of color per channel - [Greyscale] Shades of grey - [Pink] Aesthetic - [Inverted] Inverted + + Note: A few places aren't patched, such as the menu and a few color dungeon + tiles. + + **Normal:** The vanilla palette. + + **1-Bit:** One bit of color per channel. + + **2-Bit:** Two bits of color per channel. + + **Greyscale:** Shades of grey. + + **Pink:** Aesthetic. + + **Inverted:** Inverted. """ display_name = "Palette" + rich_text_doc = True option_normal = 0 option_1bit = 1 option_2bit = 2 @@ -454,12 +496,15 @@ class Palette(Choice): class Music(Choice, LADXROption): """ - [Vanilla] Regular Music - [Shuffled] Shuffled Music - [Off] No music + **Vanilla:** Regular Music + + **Shuffled:** Shuffled Music + + **Off:** No music """ display_name = "Music" ladxr_name = "music" + rich_text_doc = True option_vanilla = 0 option_shuffled = 1 option_off = 2 @@ -475,10 +520,14 @@ class Music(Choice, LADXROption): class Warps(Choice): """ - [Improved] Adds remake style warp screen to the game. Choose your warp destination on the map after jumping in a portal and press B to select. - [Improved Additional] Improved warps, and adds a warp point at Crazy Tracy's house (the Mambo teleport spot) and Eagle's Tower. + **Improved:** Adds remake style warp screen to the game. Choose your warp + destination on the map after jumping in a portal and press *B* to select. + + **Improved Additional:** Improved warps, and adds a warp point at Crazy + Tracy's house (the Mambo teleport spot) and Eagle's Tower. """ display_name = "Warps" + rich_text_doc = True option_vanilla = 0 option_improved = 1 option_improved_additional = 2 @@ -487,19 +536,24 @@ class Warps(Choice): class InGameHints(DefaultOnToggle): """ - When enabled, owl statues and library books may indicate the location of your items in the multiworld. + When enabled, owl statues and library books may indicate the location of + your items in the multiworld. """ display_name = "In-game Hints" class TarinsGift(Choice): """ - [Local Progression] Forces Tarin's gift to be an item that immediately opens up local checks. - Has little effect in single player games, and isn't always necessary with randomized entrances. - [Bush Breaker] Forces Tarin's gift to be an item that can destroy bushes. - [Any Item] Tarin's gift can be any item for any world + **Local Progression:** Forces Tarin's gift to be an item that immediately + opens up local checks. Has little effect in single player games, and isn't + always necessary with randomized entrances. + + **Bush Breaker:** Forces Tarin's gift to be an item that can destroy bushes. + + **Any Item:** Tarin's gift can be any item for any world """ display_name = "Tarin's Gift" + rich_text_doc = True option_local_progression = 0 option_bush_breaker = 1 option_any_item = 2 @@ -508,67 +562,69 @@ class TarinsGift(Choice): class StabilizeItemPool(DefaultOffToggle): """ - By default, rupees in the item pool may be randomly swapped with bombs, arrows, powders, or capacity upgrades. This option disables that swapping, which is useful for plando. + By default, some rupees in the item pool are randomly swapped with bombs, + arrows, powders, or capacity upgrades. This set of items is also used as + filler. This option disables that swapping and makes *Nothing* the filler + item. """ display_name = "Stabilize Item Pool" + rich_text_doc = True class ForeignItemIcons(Choice): """ Choose how to display foreign items. - [Guess By Name] Foreign items can look like any Link's Awakening item. - [Indicate Progression] Foreign items are either a Piece of Power (progression) or Guardian Acorn (non-progression). + + **Guess By Name:** Foreign items can look like any Link's Awakening item. + + **Indicate Progression:** Foreign items are either a Piece of Power + (progression) or Guardian Acorn (non-progression). """ display_name = "Foreign Item Icons" + rich_text_doc = True option_guess_by_name = 0 option_indicate_progression = 1 default = option_guess_by_name ladx_option_groups = [ - OptionGroup("Goal Options", [ - Goal, - InstrumentCount, + OptionGroup("Gameplay Adjustments", [ + InGameHints, + TarinsGift, + HardMode, + TrendyGame, ]), - OptionGroup("Shuffles", [ + OptionGroup("World Layout", [ + Overworld, + Warps, + DungeonShuffle, + EntranceShuffle, + ]), + OptionGroup("Item Pool", [ ShuffleInstruments, ShuffleNightmareKeys, ShuffleSmallKeys, ShuffleMaps, ShuffleCompasses, - ShuffleStoneBeaks - ]), - OptionGroup("Warp Points", [ - Warps, - ]), - OptionGroup("Miscellaneous", [ + ShuffleStoneBeaks, TradeQuest, Rooster, - TarinsGift, - Overworld, - TrendyGame, - InGameHints, - NagMessages, StabilizeItemPool, + ]), + OptionGroup("Quality of Life & Aesthetic", [ + NagMessages, Quickswap, - HardMode, - BootsControls - ]), - OptionGroup("Experimental", [ - DungeonShuffle, - EntranceShuffle - ]), - OptionGroup("Visuals & Sound", [ + BootsControls, + ForeignItemIcons, + GfxMod, LinkPalette, Palette, - TextShuffle, - ForeignItemIcons, APTitleScreen, - GfxMod, + TextShuffle, + TextMode, Music, MusicChangeCondition, LowHpBeep, - TextMode, NoFlash, ]) ] @@ -576,24 +632,12 @@ ladx_option_groups = [ @dataclass class LinksAwakeningOptions(PerGameCommonOptions): logic: Logic - # 'heartpiece': DefaultOnToggle, # description='Includes heart pieces in the item pool'), - # 'seashells': DefaultOnToggle, # description='Randomizes the secret sea shells hiding in the ground/trees. (chest are always randomized)'), - # 'heartcontainers': DefaultOnToggle, # description='Includes boss heart container drops in the item pool'), - # 'instruments': DefaultOffToggle, # description='Instruments are placed on random locations, dungeon goal will just contain a random item.'), - tradequest: TradeQuest # description='Trade quest items are randomized, each NPC takes its normal trade quest item, but gives a random item'), - # 'witch': DefaultOnToggle, # description='Adds both the toadstool and the reward for giving the toadstool to the witch to the item pool'), - rooster: Rooster # description='Adds the rooster to the item pool. Without this option, the rooster spot is still a check giving an item. But you will never find the rooster. Any rooster spot is accessible without rooster by other means.'), - # 'boomerang': Boomerang, - # 'randomstartlocation': DefaultOffToggle, # 'Randomize where your starting house is located'), - experimental_dungeon_shuffle: DungeonShuffle # 'Randomizes the dungeon that each dungeon entrance leads to'), + tradequest: TradeQuest + rooster: Rooster + experimental_dungeon_shuffle: DungeonShuffle experimental_entrance_shuffle: EntranceShuffle - # 'bossshuffle': BossShuffle, - # 'minibossshuffle': BossShuffle, goal: Goal instrument_count: InstrumentCount - # 'itempool': ItemPool, - # 'bowwow': Bowwow, - # 'overworld': Overworld, link_palette: LinkPalette warps: Warps trendy_game: TrendyGame diff --git a/worlds/ladx/__init__.py b/worlds/ladx/__init__.py index f17b602e..58d6c168 100644 --- a/worlds/ladx/__init__.py +++ b/worlds/ladx/__init__.py @@ -71,7 +71,7 @@ class LinksAwakeningWebWorld(WebWorld): "setup/en", ["zig"] )] - theme = "dirt" + theme = "ocean" option_groups = ladx_option_groups options_presets: typing.Dict[str, typing.Dict[str, typing.Any]] = { "Keysanity": {