2024-03-12 21:00:13 +00:00
|
|
|
from dataclasses import dataclass
|
2022-09-29 18:16:59 +00:00
|
|
|
|
2024-05-21 22:09:05 +00:00
|
|
|
from Options import Choice, Range, Toggle, DeathLink, DefaultOnToggle, OptionGroup, PerGameCommonOptions
|
2022-09-29 18:16:59 +00:00
|
|
|
|
|
|
|
|
|
|
|
class Goal(Choice):
|
|
|
|
"""
|
|
|
|
Determines the goal of the seed
|
2024-05-21 22:09:05 +00:00
|
|
|
|
2022-09-29 18:16:59 +00:00
|
|
|
Bowser: Defeat Koopalings, reach Bowser's Castle and defeat Bowser
|
2024-05-21 22:09:05 +00:00
|
|
|
|
2022-09-29 18:16:59 +00:00
|
|
|
Yoshi Egg Hunt: Find a certain number of Yoshi Eggs
|
|
|
|
"""
|
|
|
|
display_name = "Goal"
|
|
|
|
option_bowser = 0
|
|
|
|
option_yoshi_egg_hunt = 1
|
|
|
|
default = 0
|
|
|
|
|
|
|
|
|
|
|
|
class BossesRequired(Range):
|
|
|
|
"""
|
|
|
|
How many Bosses (Koopalings or Reznor) must be defeated in order to defeat Bowser
|
|
|
|
"""
|
|
|
|
display_name = "Bosses Required"
|
|
|
|
range_start = 0
|
|
|
|
range_end = 11
|
|
|
|
default = 7
|
|
|
|
|
|
|
|
|
|
|
|
class NumberOfYoshiEggs(Range):
|
|
|
|
"""
|
2024-03-12 21:00:13 +00:00
|
|
|
Maximum possible number of Yoshi Eggs that will be in the item pool
|
2024-05-21 22:09:05 +00:00
|
|
|
|
2024-03-12 21:00:13 +00:00
|
|
|
If fewer available locations exist in the pool than this number, the number of available locations will be used instead.
|
2024-05-21 22:09:05 +00:00
|
|
|
|
2024-03-12 21:00:13 +00:00
|
|
|
Required Percentage of Yoshi Eggs will be calculated based off of that number.
|
2022-09-29 18:16:59 +00:00
|
|
|
"""
|
2024-03-12 21:00:13 +00:00
|
|
|
display_name = "Max Number of Yoshi Eggs"
|
2022-09-29 18:16:59 +00:00
|
|
|
range_start = 1
|
2024-03-12 21:00:13 +00:00
|
|
|
range_end = 255
|
2022-09-29 18:16:59 +00:00
|
|
|
default = 50
|
|
|
|
|
|
|
|
|
|
|
|
class PercentageOfYoshiEggs(Range):
|
|
|
|
"""
|
|
|
|
What Percentage of Yoshi Eggs are required to finish Yoshi Egg Hunt
|
|
|
|
"""
|
|
|
|
display_name = "Required Percentage of Yoshi Eggs"
|
|
|
|
range_start = 1
|
|
|
|
range_end = 100
|
|
|
|
default = 100
|
|
|
|
|
|
|
|
|
|
|
|
class DragonCoinChecks(Toggle):
|
|
|
|
"""
|
|
|
|
Whether collecting 5 Dragon Coins in each level will grant a check
|
|
|
|
"""
|
|
|
|
display_name = "Dragon Coin Checks"
|
|
|
|
|
|
|
|
|
2024-03-12 21:00:13 +00:00
|
|
|
class MoonChecks(Toggle):
|
|
|
|
"""
|
|
|
|
Whether collecting a 3-Up Moon in a level will grant a check
|
|
|
|
"""
|
|
|
|
display_name = "3up Moon Checks"
|
|
|
|
|
|
|
|
|
|
|
|
class Hidden1UpChecks(Toggle):
|
|
|
|
"""
|
|
|
|
Whether collecting a hidden 1-Up mushroom in a level will grant a check
|
2024-05-21 22:09:05 +00:00
|
|
|
|
2024-03-12 21:00:13 +00:00
|
|
|
These checks are considered cryptic as there's no actual indicator that they're in their respective places
|
2024-05-21 22:09:05 +00:00
|
|
|
|
2024-03-12 21:00:13 +00:00
|
|
|
Enable this option at your own risk
|
|
|
|
"""
|
|
|
|
display_name = "Hidden 1-Up Checks"
|
|
|
|
|
|
|
|
|
|
|
|
class BonusBlockChecks(Toggle):
|
|
|
|
"""
|
|
|
|
Whether collecting a 1-Up mushroom from a Bonus Block in a level will grant a check
|
|
|
|
"""
|
|
|
|
display_name = "Bonus Block Checks"
|
|
|
|
|
|
|
|
|
|
|
|
class Blocksanity(Toggle):
|
|
|
|
"""
|
|
|
|
Whether hitting a block with an item or coin inside will grant a check
|
2024-05-21 22:09:05 +00:00
|
|
|
|
2024-03-12 21:00:13 +00:00
|
|
|
Note that some blocks are excluded due to how the option and the game works!
|
2024-05-21 22:09:05 +00:00
|
|
|
|
2024-03-12 21:00:13 +00:00
|
|
|
Exclusion list:
|
|
|
|
* Blocks in Top Secret Area & Front Door/Bowser Castle
|
|
|
|
* Blocks that are unreachable unless you glitch your way in
|
|
|
|
"""
|
|
|
|
display_name = "Blocksanity"
|
|
|
|
|
|
|
|
|
2022-09-29 18:16:59 +00:00
|
|
|
class BowserCastleDoors(Choice):
|
|
|
|
"""
|
|
|
|
How the doors of Bowser's Castle behave
|
2024-05-21 22:09:05 +00:00
|
|
|
|
2022-09-29 18:16:59 +00:00
|
|
|
Vanilla: Front and Back Doors behave as vanilla
|
2024-05-21 22:09:05 +00:00
|
|
|
|
2022-09-29 18:16:59 +00:00
|
|
|
Fast: Both doors behave as the Back Door
|
2024-05-21 22:09:05 +00:00
|
|
|
|
2022-09-29 18:16:59 +00:00
|
|
|
Slow: Both doors behave as the Front Door
|
2024-05-21 22:09:05 +00:00
|
|
|
|
2023-01-30 04:53:56 +00:00
|
|
|
"Front Door" rooms depend on the `bowser_castle_rooms` option
|
2024-05-21 22:09:05 +00:00
|
|
|
|
2022-09-29 18:16:59 +00:00
|
|
|
"Back Door" only requires going through the dark hallway to Bowser
|
|
|
|
"""
|
|
|
|
display_name = "Bowser Castle Doors"
|
|
|
|
option_vanilla = 0
|
|
|
|
option_fast = 1
|
|
|
|
option_slow = 2
|
|
|
|
default = 0
|
|
|
|
|
|
|
|
|
2023-01-30 04:53:56 +00:00
|
|
|
class BowserCastleRooms(Choice):
|
|
|
|
"""
|
|
|
|
How the rooms of Bowser's Castle Front Door behave
|
2024-05-21 22:09:05 +00:00
|
|
|
|
2023-01-30 04:53:56 +00:00
|
|
|
Vanilla: You can choose which rooms to enter, as in vanilla
|
2024-05-21 22:09:05 +00:00
|
|
|
|
2023-01-30 04:53:56 +00:00
|
|
|
Random Two Room: Two random rooms are chosen
|
2024-05-21 22:09:05 +00:00
|
|
|
|
2023-01-30 04:53:56 +00:00
|
|
|
Random Five Room: Five random rooms are chosen
|
2024-05-21 22:09:05 +00:00
|
|
|
|
2023-01-30 04:53:56 +00:00
|
|
|
Gauntlet: All eight rooms must be cleared
|
2024-05-21 22:09:05 +00:00
|
|
|
|
2023-01-30 04:53:56 +00:00
|
|
|
Labyrinth: Which room leads to Bowser?
|
|
|
|
"""
|
|
|
|
display_name = "Bowser Castle Rooms"
|
|
|
|
option_vanilla = 0
|
|
|
|
option_random_two_room = 1
|
|
|
|
option_random_five_room = 2
|
|
|
|
option_gauntlet = 3
|
|
|
|
option_labyrinth = 4
|
|
|
|
default = 1
|
|
|
|
|
|
|
|
|
|
|
|
class BossShuffle(Choice):
|
|
|
|
"""
|
2023-04-02 01:54:07 +00:00
|
|
|
How bosses are shuffled
|
2024-05-21 22:09:05 +00:00
|
|
|
|
2023-01-30 04:53:56 +00:00
|
|
|
None: Bosses are not shuffled
|
2024-05-21 22:09:05 +00:00
|
|
|
|
2023-01-30 04:53:56 +00:00
|
|
|
Simple: Four Reznors and the seven Koopalings are shuffled around
|
2024-05-21 22:09:05 +00:00
|
|
|
|
2023-01-30 04:53:56 +00:00
|
|
|
Full: Each boss location gets a fully random boss
|
2024-05-21 22:09:05 +00:00
|
|
|
|
2023-01-30 04:53:56 +00:00
|
|
|
Singularity: One or two bosses are chosen and placed at every boss location
|
|
|
|
"""
|
|
|
|
display_name = "Boss Shuffle"
|
|
|
|
option_none = 0
|
|
|
|
option_simple = 1
|
|
|
|
option_full = 2
|
|
|
|
option_singularity = 3
|
|
|
|
default = 0
|
|
|
|
|
|
|
|
|
2022-09-29 18:16:59 +00:00
|
|
|
class LevelShuffle(Toggle):
|
|
|
|
"""
|
|
|
|
Whether levels are shuffled
|
|
|
|
"""
|
|
|
|
display_name = "Level Shuffle"
|
|
|
|
|
|
|
|
|
2023-01-30 04:53:56 +00:00
|
|
|
class ExcludeSpecialZone(Toggle):
|
|
|
|
"""
|
|
|
|
If active, this option will prevent any progression items from being placed in Special Zone levels.
|
2024-05-21 22:09:05 +00:00
|
|
|
|
2023-01-30 04:53:56 +00:00
|
|
|
Additionally, if Level Shuffle is active, Special Zone levels will not be shuffled away from their vanilla tiles.
|
|
|
|
"""
|
|
|
|
display_name = "Exclude Special Zone"
|
|
|
|
|
|
|
|
|
2022-09-29 18:16:59 +00:00
|
|
|
class SwapDonutGhostHouseExits(Toggle):
|
|
|
|
"""
|
2024-05-21 22:09:05 +00:00
|
|
|
If enabled, this option will swap which overworld direction the two exits of the level at the Donut Ghost House overworld tile go:
|
|
|
|
|
2022-09-29 18:16:59 +00:00
|
|
|
False: Normal Exit goes up, Secret Exit goes right.
|
2024-05-21 22:09:05 +00:00
|
|
|
|
2022-09-29 18:16:59 +00:00
|
|
|
True: Normal Exit goes right, Secret Exit goes up.
|
|
|
|
"""
|
|
|
|
display_name = "Swap Donut GH Exits"
|
|
|
|
|
|
|
|
|
|
|
|
class DisplayReceivedItemPopups(Choice):
|
|
|
|
"""
|
|
|
|
What messages to display in-game for items received
|
|
|
|
"""
|
|
|
|
display_name = "Display Received Item Popups"
|
|
|
|
option_none = 0
|
|
|
|
option_all = 1
|
|
|
|
option_progression = 2
|
2024-03-12 21:00:13 +00:00
|
|
|
option_progression_minus_yoshi_eggs = 3
|
|
|
|
default = 3
|
|
|
|
|
|
|
|
|
|
|
|
class JunkFillPercentage(Range):
|
|
|
|
"""
|
|
|
|
Replace a percentage of non-required Yoshi Eggs in the item pool with random junk items (only applicable on Yoshi Egg Hunt goal)
|
|
|
|
"""
|
|
|
|
display_name = "Junk Fill Percentage"
|
|
|
|
range_start = 0
|
|
|
|
range_end = 100
|
|
|
|
default = 0
|
2022-09-29 18:16:59 +00:00
|
|
|
|
|
|
|
|
|
|
|
class TrapFillPercentage(Range):
|
|
|
|
"""
|
|
|
|
Replace a percentage of junk items in the item pool with random traps
|
|
|
|
"""
|
|
|
|
display_name = "Trap Fill Percentage"
|
|
|
|
range_start = 0
|
|
|
|
range_end = 100
|
|
|
|
default = 0
|
|
|
|
|
|
|
|
|
|
|
|
class BaseTrapWeight(Choice):
|
|
|
|
"""
|
|
|
|
Base Class for Trap Weights
|
|
|
|
"""
|
|
|
|
option_none = 0
|
|
|
|
option_low = 1
|
|
|
|
option_medium = 2
|
|
|
|
option_high = 4
|
|
|
|
default = 2
|
|
|
|
|
|
|
|
|
|
|
|
class IceTrapWeight(BaseTrapWeight):
|
|
|
|
"""
|
|
|
|
Likelihood of a receiving a trap which causes the level to become slippery
|
|
|
|
"""
|
|
|
|
display_name = "Ice Trap Weight"
|
|
|
|
|
|
|
|
|
|
|
|
class StunTrapWeight(BaseTrapWeight):
|
|
|
|
"""
|
|
|
|
Likelihood of a receiving a trap which briefly stuns Mario
|
|
|
|
"""
|
|
|
|
display_name = "Stun Trap Weight"
|
|
|
|
|
|
|
|
|
|
|
|
class LiteratureTrapWeight(BaseTrapWeight):
|
|
|
|
"""
|
|
|
|
Likelihood of a receiving a trap which causes the player to read literature
|
|
|
|
"""
|
|
|
|
display_name = "Literature Trap Weight"
|
|
|
|
|
|
|
|
|
2023-01-30 04:53:56 +00:00
|
|
|
class TimerTrapWeight(BaseTrapWeight):
|
|
|
|
"""
|
|
|
|
Likelihood of a receiving a trap which causes the timer to run low
|
|
|
|
"""
|
|
|
|
display_name = "Timer Trap Weight"
|
|
|
|
|
|
|
|
|
2024-03-12 21:00:13 +00:00
|
|
|
class ReverseTrapWeight(BaseTrapWeight):
|
|
|
|
"""
|
|
|
|
Likelihood of a receiving a trap which causes the controls to be reversed in the current level
|
|
|
|
"""
|
|
|
|
display_name = "Reverse Trap Weight"
|
|
|
|
|
|
|
|
|
|
|
|
class ThwimpTrapWeight(BaseTrapWeight):
|
|
|
|
"""
|
|
|
|
Likelihood of a receiving a trap which causes a Thwimp to spawn above the player
|
|
|
|
"""
|
|
|
|
display_name = "Thwimp Trap Weight"
|
|
|
|
|
|
|
|
|
2022-09-29 18:16:59 +00:00
|
|
|
class Autosave(DefaultOnToggle):
|
|
|
|
"""
|
|
|
|
Whether a save prompt will appear after every level
|
|
|
|
"""
|
|
|
|
display_name = "Autosave"
|
|
|
|
|
|
|
|
|
2023-01-30 04:53:56 +00:00
|
|
|
class EarlyClimb(Toggle):
|
|
|
|
"""
|
|
|
|
Force Climb to appear early in the seed as a local item.
|
2024-05-21 22:09:05 +00:00
|
|
|
|
2023-01-30 04:53:56 +00:00
|
|
|
This is particularly useful to prevent BK when Level Shuffle is disabled
|
|
|
|
"""
|
|
|
|
display_name = "Early Climb"
|
|
|
|
|
|
|
|
|
|
|
|
class OverworldSpeed(Choice):
|
|
|
|
"""
|
|
|
|
How fast Mario moves on the overworld
|
|
|
|
"""
|
|
|
|
display_name = "Overworld Speed"
|
|
|
|
option_slow = 0
|
|
|
|
option_vanilla = 1
|
|
|
|
option_fast = 2
|
|
|
|
default = 1
|
|
|
|
|
|
|
|
|
2022-09-29 18:16:59 +00:00
|
|
|
class MusicShuffle(Choice):
|
|
|
|
"""
|
|
|
|
Music shuffle type
|
2024-05-21 22:09:05 +00:00
|
|
|
|
2022-09-29 18:16:59 +00:00
|
|
|
None: No Music is shuffled
|
2024-05-21 22:09:05 +00:00
|
|
|
|
2022-09-29 18:16:59 +00:00
|
|
|
Consistent: Each music track is consistently shuffled throughout the game
|
2024-05-21 22:09:05 +00:00
|
|
|
|
2022-09-29 18:16:59 +00:00
|
|
|
Full: Each individual level has a random music track
|
2024-05-21 22:09:05 +00:00
|
|
|
|
2022-09-29 18:16:59 +00:00
|
|
|
Singularity: The entire game uses one song for overworld and one song for levels
|
|
|
|
"""
|
|
|
|
display_name = "Music Shuffle"
|
|
|
|
option_none = 0
|
|
|
|
option_consistent = 1
|
|
|
|
option_full = 2
|
|
|
|
option_singularity = 3
|
|
|
|
default = 0
|
|
|
|
|
|
|
|
|
2024-03-12 21:00:13 +00:00
|
|
|
class SFXShuffle(Choice):
|
|
|
|
"""
|
|
|
|
Shuffles almost every instance of sound effect playback
|
2024-05-21 22:09:05 +00:00
|
|
|
|
2024-03-12 21:00:13 +00:00
|
|
|
Archipelago elements that play sound effects aren't randomized
|
2024-05-21 22:09:05 +00:00
|
|
|
|
2024-03-12 21:00:13 +00:00
|
|
|
None: No SFX are shuffled
|
2024-05-21 22:09:05 +00:00
|
|
|
|
2024-03-12 21:00:13 +00:00
|
|
|
Full: Each individual SFX call has a random SFX
|
2024-05-21 22:09:05 +00:00
|
|
|
|
2024-03-12 21:00:13 +00:00
|
|
|
Singularity: The entire game uses one SFX for every SFX call
|
|
|
|
"""
|
|
|
|
display_name = "Sound Effect Shuffle"
|
|
|
|
option_none = 0
|
|
|
|
option_full = 1
|
|
|
|
option_singularity = 2
|
|
|
|
default = 0
|
|
|
|
|
|
|
|
|
2022-09-29 18:16:59 +00:00
|
|
|
class MarioPalette(Choice):
|
|
|
|
"""
|
|
|
|
Mario palette color
|
|
|
|
"""
|
|
|
|
display_name = "Mario Palette"
|
|
|
|
option_mario = 0
|
|
|
|
option_luigi = 1
|
|
|
|
option_wario = 2
|
|
|
|
option_waluigi = 3
|
|
|
|
option_geno = 4
|
|
|
|
option_princess = 5
|
|
|
|
option_dark = 6
|
|
|
|
option_sponge = 7
|
|
|
|
default = 0
|
|
|
|
|
|
|
|
|
2024-03-12 21:00:13 +00:00
|
|
|
class LevelPaletteShuffle(Choice):
|
2022-09-29 18:16:59 +00:00
|
|
|
"""
|
2024-03-12 21:00:13 +00:00
|
|
|
Whether to shuffle level palettes
|
2024-05-21 22:09:05 +00:00
|
|
|
|
2024-03-12 21:00:13 +00:00
|
|
|
Off: Do not shuffle palettes
|
2024-05-21 22:09:05 +00:00
|
|
|
|
2024-03-12 21:00:13 +00:00
|
|
|
On Legacy: Uses only the palette sets from the original game
|
2024-05-21 22:09:05 +00:00
|
|
|
|
2024-03-12 21:00:13 +00:00
|
|
|
On Curated: Uses custom, hand-crafted palette sets
|
2022-09-29 18:16:59 +00:00
|
|
|
"""
|
2024-03-12 21:00:13 +00:00
|
|
|
display_name = "Level Palette Shuffle"
|
|
|
|
option_off = 0
|
|
|
|
option_on_legacy = 1
|
|
|
|
option_on_curated = 2
|
|
|
|
default = 0
|
2022-09-29 18:16:59 +00:00
|
|
|
|
|
|
|
|
2024-03-12 21:00:13 +00:00
|
|
|
class OverworldPaletteShuffle(Choice):
|
2023-01-30 04:53:56 +00:00
|
|
|
"""
|
|
|
|
Whether to shuffle overworld palettes
|
2024-05-21 22:09:05 +00:00
|
|
|
|
2024-03-12 21:00:13 +00:00
|
|
|
Off: Do not shuffle palettes
|
2024-05-21 22:09:05 +00:00
|
|
|
|
2024-03-12 21:00:13 +00:00
|
|
|
On Legacy: Uses only the palette sets from the original game
|
2024-05-21 22:09:05 +00:00
|
|
|
|
2024-03-12 21:00:13 +00:00
|
|
|
On Curated: Uses custom, hand-crafted palette sets
|
2023-01-30 04:53:56 +00:00
|
|
|
"""
|
|
|
|
display_name = "Overworld Palette Shuffle"
|
2024-03-12 21:00:13 +00:00
|
|
|
option_off = 0
|
|
|
|
option_on_legacy = 1
|
|
|
|
option_on_curated = 2
|
|
|
|
default = 0
|
2023-01-30 04:53:56 +00:00
|
|
|
|
|
|
|
|
2022-09-29 18:16:59 +00:00
|
|
|
class StartingLifeCount(Range):
|
|
|
|
"""
|
|
|
|
How many extra lives to start the game with
|
|
|
|
"""
|
|
|
|
display_name = "Starting Life Count"
|
|
|
|
range_start = 1
|
|
|
|
range_end = 99
|
|
|
|
default = 5
|
|
|
|
|
|
|
|
|
2024-05-21 22:09:05 +00:00
|
|
|
smw_option_groups = [
|
|
|
|
OptionGroup("Goal Options", [
|
|
|
|
Goal,
|
|
|
|
BossesRequired,
|
|
|
|
NumberOfYoshiEggs,
|
|
|
|
PercentageOfYoshiEggs,
|
|
|
|
]),
|
|
|
|
OptionGroup("Sanity Options", [
|
|
|
|
DragonCoinChecks,
|
|
|
|
MoonChecks,
|
|
|
|
Hidden1UpChecks,
|
|
|
|
BonusBlockChecks,
|
|
|
|
Blocksanity,
|
|
|
|
]),
|
|
|
|
OptionGroup("Level Shuffling", [
|
|
|
|
LevelShuffle,
|
|
|
|
ExcludeSpecialZone,
|
|
|
|
BowserCastleDoors,
|
|
|
|
BowserCastleRooms,
|
|
|
|
BossShuffle,
|
|
|
|
SwapDonutGhostHouseExits,
|
|
|
|
]),
|
|
|
|
OptionGroup("Junk and Traps", [
|
|
|
|
JunkFillPercentage,
|
|
|
|
TrapFillPercentage,
|
|
|
|
IceTrapWeight,
|
|
|
|
StunTrapWeight,
|
|
|
|
LiteratureTrapWeight,
|
|
|
|
TimerTrapWeight,
|
|
|
|
ReverseTrapWeight,
|
|
|
|
ThwimpTrapWeight,
|
|
|
|
]),
|
|
|
|
OptionGroup("Aesthetics", [
|
|
|
|
DisplayReceivedItemPopups,
|
|
|
|
Autosave,
|
|
|
|
OverworldSpeed,
|
|
|
|
MusicShuffle,
|
|
|
|
SFXShuffle,
|
|
|
|
MarioPalette,
|
|
|
|
LevelPaletteShuffle,
|
|
|
|
OverworldPaletteShuffle,
|
|
|
|
StartingLifeCount,
|
|
|
|
]),
|
|
|
|
]
|
|
|
|
|
|
|
|
|
2024-03-12 21:00:13 +00:00
|
|
|
@dataclass
|
|
|
|
class SMWOptions(PerGameCommonOptions):
|
|
|
|
death_link: DeathLink
|
|
|
|
goal: Goal
|
|
|
|
bosses_required: BossesRequired
|
|
|
|
max_yoshi_egg_cap: NumberOfYoshiEggs
|
|
|
|
percentage_of_yoshi_eggs: PercentageOfYoshiEggs
|
|
|
|
dragon_coin_checks: DragonCoinChecks
|
|
|
|
moon_checks: MoonChecks
|
|
|
|
hidden_1up_checks: Hidden1UpChecks
|
|
|
|
bonus_block_checks: BonusBlockChecks
|
|
|
|
blocksanity: Blocksanity
|
|
|
|
bowser_castle_doors: BowserCastleDoors
|
|
|
|
bowser_castle_rooms: BowserCastleRooms
|
|
|
|
level_shuffle: LevelShuffle
|
|
|
|
exclude_special_zone: ExcludeSpecialZone
|
|
|
|
boss_shuffle: BossShuffle
|
|
|
|
swap_donut_gh_exits: SwapDonutGhostHouseExits
|
|
|
|
display_received_item_popups: DisplayReceivedItemPopups
|
|
|
|
junk_fill_percentage: JunkFillPercentage
|
|
|
|
trap_fill_percentage: TrapFillPercentage
|
|
|
|
ice_trap_weight: IceTrapWeight
|
|
|
|
stun_trap_weight: StunTrapWeight
|
|
|
|
literature_trap_weight: LiteratureTrapWeight
|
|
|
|
timer_trap_weight: TimerTrapWeight
|
|
|
|
reverse_trap_weight: ReverseTrapWeight
|
|
|
|
thwimp_trap_weight: ThwimpTrapWeight
|
|
|
|
autosave: Autosave
|
|
|
|
early_climb: EarlyClimb
|
|
|
|
overworld_speed: OverworldSpeed
|
|
|
|
music_shuffle: MusicShuffle
|
|
|
|
sfx_shuffle: SFXShuffle
|
|
|
|
mario_palette: MarioPalette
|
|
|
|
level_palette_shuffle: LevelPaletteShuffle
|
|
|
|
overworld_palette_shuffle: OverworldPaletteShuffle
|
|
|
|
starting_life_count: StartingLifeCount
|