LADX: Add options for sword music and nag messages (#1621)

This commit is contained in:
zig-for 2023-03-29 05:48:10 -07:00 committed by GitHub
parent 99bd525c8e
commit 53b3cd029e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 20 additions and 12 deletions

View File

@ -56,7 +56,7 @@ from . import hints
from .locations.keyLocation import KeyLocation from .locations.keyLocation import KeyLocation
from .patches import bank34 from .patches import bank34
from ..Options import TrendyGame, Palette from ..Options import TrendyGame, Palette, MusicChangeCondition
# Function to generate a final rom, this patches the rom with all required patches # Function to generate a final rom, this patches the rom with all required patches
@ -181,7 +181,8 @@ def generateRom(args, settings, ap_settings, auth, seed_name, logic, rnd=None, m
# patches.reduceRNG.slowdownThreeOfAKind(rom) # patches.reduceRNG.slowdownThreeOfAKind(rom)
patches.reduceRNG.fixHorseHeads(rom) patches.reduceRNG.fixHorseHeads(rom)
patches.bomb.onlyDropBombsWhenHaveBombs(rom) patches.bomb.onlyDropBombsWhenHaveBombs(rom)
# patches.aesthetics.noSwordMusic(rom) if ap_settings['music_change_condition'] == MusicChangeCondition.option_always:
patches.aesthetics.noSwordMusic(rom)
patches.aesthetics.reduceMessageLengths(rom, rnd) patches.aesthetics.reduceMessageLengths(rom, rnd)
patches.aesthetics.allowColorDungeonSpritesEverywhere(rom) patches.aesthetics.allowColorDungeonSpritesEverywhere(rom)
if settings.music == 'random': if settings.music == 'random':

View File

@ -180,17 +180,22 @@ class InstrumentCount(Range, LADXROption):
range_end = 8 range_end = 8
default = 8 default = 8
class ItemPool(Choice): class NagMessages(DefaultOffToggle, LADXROption):
"""Effects which items are shuffled. """
[Casual] Places multiple copies of key items. Controls if nag messages are shown when rocks and crystals are touched. Useful for glitches, annoying for everyone else.
[More keys] Adds additional small/nightmare keys so that dungeons are faster. """
[Path of Pain]. Adds negative heart containers to the item pool."""
casual = 0
more_keys = 1
normal = 2
painful = 3
default = normal
ladxr_name = "nagmessages"
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
"""
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', # 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=""" # description="""
# [Normal} health works as you would expect. # [Normal} health works as you would expect.
@ -388,4 +393,6 @@ links_awakening_options: typing.Dict[str, typing.Type[Option]] = {
'shuffle_maps': ShuffleMaps, 'shuffle_maps': ShuffleMaps,
'shuffle_compasses': ShuffleCompasses, 'shuffle_compasses': ShuffleCompasses,
'shuffle_stone_beaks': ShuffleStoneBeaks, 'shuffle_stone_beaks': ShuffleStoneBeaks,
'music_change_condition': MusicChangeCondition,
'nag_messages': NagMessages
} }