From e142283e649d7cba0431d297ee1b1ccfffce5483 Mon Sep 17 00:00:00 2001 From: threeandthreee Date: Thu, 19 Dec 2024 21:19:00 -0500 Subject: [PATCH] LADX: enable upstream options (#3962) * enable some upstream settings * flashing just disabled, no setting * just enable fast text * noflash and textmode as hidden options * typo * drop whitespace changes * add hard mode to slot data * textmode adjustments fast text default (fixing mistake) remove no text option (its buggy) * unhide options * Update worlds/ladx/Options.py Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com> * adjustments --- worlds/ladx/LADXR/settings.py | 2 +- worlds/ladx/Options.py | 105 ++++++++++++++++++++++------------ worlds/ladx/__init__.py | 20 +++++-- 3 files changed, 87 insertions(+), 40 deletions(-) diff --git a/worlds/ladx/LADXR/settings.py b/worlds/ladx/LADXR/settings.py index 848d6439..a92b6c1e 100644 --- a/worlds/ladx/LADXR/settings.py +++ b/worlds/ladx/LADXR/settings.py @@ -181,7 +181,7 @@ Note, some entrances can lead into water, use the warp-to-home from the save&qui Setting('quickswap', 'User options', 'Q', 'Quickswap', options=[('none', '', 'Disabled'), ('a', 'a', 'Swap A button'), ('b', 'b', 'Swap B button')], default='none', description='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.', aesthetic=True), - Setting('textmode', 'User options', 'f', 'Text mode', options=[('fast', '', 'Fast'), ('default', 'd', 'Normal'), ('none', 'n', 'No-text')], default='fast', + Setting('textmode', 'User options', 'f', 'Text mode', options=[('fast', '', 'Fast'), ('normal', 'd', 'Normal'), ('none', 'n', 'No-text')], default='fast', description="""[Fast] makes text appear twice as fast. [No-Text] removes all text from the game""", aesthetic=True), Setting('lowhpbeep', 'User options', 'p', 'Low HP beeps', options=[('none', 'D', 'Disabled'), ('slow', 'S', 'Slow'), ('default', 'N', 'Normal')], default='slow', diff --git a/worlds/ladx/Options.py b/worlds/ladx/Options.py index 17052659..afa29e4c 100644 --- a/worlds/ladx/Options.py +++ b/worlds/ladx/Options.py @@ -278,11 +278,21 @@ class MusicChangeCondition(Choice): # [Start with 1] normal game, you just start with 1 heart instead of 3. # [Low max] replace heart containers with heart pieces."""), -# Setting('hardmode', 'Gameplay', 'X', 'Hard mode', options=[('none', '', 'Disabled'), ('oracle', 'O', 'Oracle'), ('hero', 'H', 'Hero'), ('ohko', '1', 'One hit KO')], default='none', -# description=""" -# [Oracle] Less iframes and heath 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."""), + +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. + """ + display_name = "Hard Mode" + ladxr_name = "hardmode" + option_none = 0 + option_oracle = 1 + option_hero = 2 + option_ohko = 3 + default = option_none + # Setting('steal', 'Gameplay', 't', 'Stealing from the shop', # options=[('always', 'a', 'Always'), ('never', 'n', 'Never'), ('default', '', 'Normal')], default='default', @@ -317,35 +327,50 @@ class Overworld(Choice, LADXROption): # Setting('superweapons', 'Special', 'q', 'Enable super weapons', default=False, # description='All items will be more powerful, faster, harder, bigger stronger. You name it.'), -# Setting('quickswap', 'User options', 'Q', 'Quickswap', options=[('none', '', 'Disabled'), ('a', 'a', 'Swap A button'), ('b', 'b', 'Swap B button')], default='none', -# description='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.', -# aesthetic=True), -# Setting('textmode', 'User options', 'f', 'Text mode', options=[('fast', '', 'Fast'), ('default', 'd', 'Normal'), ('none', 'n', 'No-text')], default='fast', -# description="""[Fast] makes text appear twice as fast. -# [No-Text] removes all text from the game""", aesthetic=True), -# Setting('lowhpbeep', 'User options', 'p', 'Low HP beeps', options=[('none', 'D', 'Disabled'), ('slow', 'S', 'Slow'), ('default', 'N', 'Normal')], default='slow', -# description='Slows or disables the low health beeping sound', aesthetic=True), -# Setting('noflash', 'User options', 'l', 'Remove flashing lights', default=True, -# description='Remove the flashing light effects from Mamu, shopkeeper and MadBatter. Useful for capture cards and people that are sensitive for these things.', -# aesthetic=True), -# Setting('nagmessages', 'User options', 'S', 'Show nag messages', default=False, -# description='Enables the nag messages normally shown when touching stones and crystals', -# aesthetic=True), -# Setting('gfxmod', 'User options', 'c', 'Graphics', options=gfx_options, default='', -# description='Generally affects at least Link\'s sprite, but can alter any graphics in the game', -# aesthetic=True), -# Setting('linkspalette', 'User options', 'C', "Link's color", -# options=[('-1', '-', 'Normal'), ('0', '0', 'Green'), ('1', '1', 'Yellow'), ('2', '2', 'Red'), ('3', '3', 'Blue'), -# ('4', '4', '?? A'), ('5', '5', '?? B'), ('6', '6', '?? C'), ('7', '7', '?? D')], default='-1', aesthetic=True, -# description="""Allows you to force a certain color on link. -# [Normal] color of link depends on the tunic. -# [Green/Yellow/Red/Blue] forces link into one of these colors. -# [?? A/B/C/D] colors of link are usually inverted and color depends on the area you are in."""), -# Setting('music', 'User options', 'M', 'Music', options=[('', '', 'Default'), ('random', 'r', 'Random'), ('off', 'o', 'Disable')], default='', -# description=""" -# [Random] Randomizes overworld and dungeon music' -# [Disable] no music in the whole game""", -# aesthetic=True), + + +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. + """ + display_name = "Quickswap" + ladxr_name = "quickswap" + option_none = 0 + option_a = 1 + option_b = 2 + default = option_none + + +class TextMode(Choice, LADXROption): + """ + [Fast] Makes text appear twice as fast + """ + display_name = "Text Mode" + ladxr_name = "textmode" + option_normal = 0 + option_fast = 1 + default = option_fast + + +class LowHpBeep(Choice, LADXROption): + """ + Slows or disables the low health beeping sound. + """ + display_name = "Low HP Beep" + ladxr_name = "lowhpbeep" + option_default = 0 + option_slow = 1 + option_none = 2 + default = option_default + + +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. + """ + display_name = "No Flash" + ladxr_name = "noflash" + class BootsControls(Choice): """ @@ -540,6 +565,8 @@ ladx_option_groups = [ TrendyGame, InGameHints, NagMessages, + Quickswap, + HardMode, BootsControls ]), OptionGroup("Experimental", [ @@ -554,7 +581,10 @@ ladx_option_groups = [ APTitleScreen, GfxMod, Music, - MusicChangeCondition + MusicChangeCondition, + LowHpBeep, + TextMode, + NoFlash, ]) ] @@ -597,6 +627,11 @@ class LinksAwakeningOptions(PerGameCommonOptions): nag_messages: NagMessages ap_title_screen: APTitleScreen boots_controls: BootsControls + quickswap: Quickswap + hard_mode: HardMode + low_hp_beep: LowHpBeep + text_mode: TextMode + no_flash: NoFlash in_game_hints: InGameHints warp_improvements: Removed diff --git a/worlds/ladx/__init__.py b/worlds/ladx/__init__.py index 8496d4cf..b416bfd0 100644 --- a/worlds/ladx/__init__.py +++ b/worlds/ladx/__init__.py @@ -514,10 +514,22 @@ class LinksAwakeningWorld(World): slot_options = ["instrument_count"] slot_options_display_name = [ - "goal", "logic", "tradequest", "rooster", - "experimental_dungeon_shuffle", "experimental_entrance_shuffle", "trendy_game", "gfxmod", - "shuffle_nightmare_keys", "shuffle_small_keys", "shuffle_maps", - "shuffle_compasses", "shuffle_stone_beaks", "shuffle_instruments", "nag_messages" + "goal", + "logic", + "tradequest", + "rooster", + "experimental_dungeon_shuffle", + "experimental_entrance_shuffle", + "trendy_game", + "gfxmod", + "shuffle_nightmare_keys", + "shuffle_small_keys", + "shuffle_maps", + "shuffle_compasses", + "shuffle_stone_beaks", + "shuffle_instruments", + "nag_messages", + "hard_mode", ] # use the default behaviour to grab options