mirror of
https://github.com/HarbourMasters/Shipwright
synced 2026-09-10 12:45:09 -04:00
97f4fd5925
Co-authored-by: Philip Dubé <159546+serprex@users.noreply.github.com>
546 lines
20 KiB
C
546 lines
20 KiB
C
#ifndef RANDO_ENUM_BEGIN
|
|
#define RANDO_ENUM_BEGIN(...)
|
|
#define RANDO_ENUM_BEGIN_CLEANUP
|
|
#endif
|
|
#ifndef RANDO_ENUM_ITEM
|
|
#define RANDO_ENUM_ITEM(...)
|
|
#define RANDO_ENUM_ITEM_CLEANUP
|
|
#endif
|
|
#ifndef RANDO_ENUM_END
|
|
#define RANDO_ENUM_END(...)
|
|
#define RANDO_ENUM_END_CLEANUP
|
|
#endif
|
|
|
|
// Generic Settings (any binary option can use this)
|
|
// off/on
|
|
RANDO_ENUM_BEGIN(RandoOptionGenericOffOn)
|
|
RANDO_ENUM_ITEM(RO_GENERIC_OFF)
|
|
RANDO_ENUM_ITEM(RO_GENERIC_ON)
|
|
RANDO_ENUM_END(RandoOptionGenericOffOn)
|
|
|
|
// no/yes
|
|
RANDO_ENUM_BEGIN(RandoOptionGenericNoYes)
|
|
RANDO_ENUM_ITEM(RO_GENERIC_NO)
|
|
RANDO_ENUM_ITEM(RO_GENERIC_YES)
|
|
RANDO_ENUM_END(RandoOptionGenericNoYes)
|
|
|
|
// don't skip/skip
|
|
RANDO_ENUM_BEGIN(RandoOptionGenericSkip)
|
|
RANDO_ENUM_ITEM(RO_GENERIC_DONT_SKIP)
|
|
RANDO_ENUM_ITEM(RO_GENERIC_SKIP)
|
|
RANDO_ENUM_END(RandoOptionGenericSkip)
|
|
|
|
// Closed Forest settings (On, Deku Only, Off)
|
|
RANDO_ENUM_BEGIN(RandoOptionForest)
|
|
RANDO_ENUM_ITEM(RO_CLOSED_FOREST_ON)
|
|
RANDO_ENUM_ITEM(RO_CLOSED_FOREST_DEKU_ONLY)
|
|
RANDO_ENUM_ITEM(RO_CLOSED_FOREST_OFF)
|
|
RANDO_ENUM_END(RandoOptionForest)
|
|
|
|
// Door of Time settings (closed, song only, open)
|
|
RANDO_ENUM_BEGIN(RandoOptionDoorOfTime)
|
|
RANDO_ENUM_ITEM(RO_DOOROFTIME_CLOSED)
|
|
RANDO_ENUM_ITEM(RO_DOOROFTIME_SONGONLY)
|
|
RANDO_ENUM_ITEM(RO_DOOROFTIME_OPEN)
|
|
RANDO_ENUM_END(RandoOptionDoorOfTime)
|
|
|
|
// Zora's Fountain settings (closed, closed as child, open)
|
|
RANDO_ENUM_BEGIN(RandoOptionZorasFountain)
|
|
RANDO_ENUM_ITEM(RO_ZF_CLOSED)
|
|
RANDO_ENUM_ITEM(RO_ZF_CLOSED_CHILD)
|
|
RANDO_ENUM_ITEM(RO_ZF_OPEN)
|
|
RANDO_ENUM_END(RandoOptionZorasFountain)
|
|
|
|
// Sleeping Waterfall settings (closed, open)
|
|
RANDO_ENUM_BEGIN(RandoOptionSleepingWaterfall)
|
|
RANDO_ENUM_ITEM(RO_WATERFALL_CLOSED)
|
|
RANDO_ENUM_ITEM(RO_WATERFALL_OPEN)
|
|
RANDO_ENUM_END(RandoOptionSleepingWaterfall)
|
|
|
|
// Jabu-Jabu settings (closed, open)
|
|
RANDO_ENUM_BEGIN(RandoOptionJabu)
|
|
RANDO_ENUM_ITEM(RO_JABU_CLOSED)
|
|
RANDO_ENUM_ITEM(RO_JABU_OPEN)
|
|
RANDO_ENUM_END(RandoOptionJabu)
|
|
|
|
// Starting Age settings (child, adult, random)
|
|
RANDO_ENUM_BEGIN(RandoOptionStartingAge)
|
|
RANDO_ENUM_ITEM(RO_AGE_CHILD)
|
|
RANDO_ENUM_ITEM(RO_AGE_ADULT)
|
|
RANDO_ENUM_ITEM(RO_AGE_RANDOM)
|
|
RANDO_ENUM_END(RandoOptionStartingAge)
|
|
|
|
// Fortress Carpenters settings (normal, fast, free)
|
|
RANDO_ENUM_BEGIN(RandoOptionGerudoFortress)
|
|
RANDO_ENUM_ITEM(RO_GF_CARPENTERS_NORMAL)
|
|
RANDO_ENUM_ITEM(RO_GF_CARPENTERS_FAST)
|
|
RANDO_ENUM_ITEM(RO_GF_CARPENTERS_FREE)
|
|
RANDO_ENUM_END(RandoOptionGerudoFortress)
|
|
|
|
// Rainbow Bridge settings (vanilla, always open, stones, medallions, dungeon rewards, dungeons, tokens)
|
|
RANDO_ENUM_BEGIN(RandoOptionRainbowBridge)
|
|
RANDO_ENUM_ITEM(RO_BRIDGE_VANILLA)
|
|
RANDO_ENUM_ITEM(RO_BRIDGE_ALWAYS_OPEN)
|
|
RANDO_ENUM_ITEM(RO_BRIDGE_STONES)
|
|
RANDO_ENUM_ITEM(RO_BRIDGE_MEDALLIONS)
|
|
RANDO_ENUM_ITEM(RO_BRIDGE_DUNGEON_REWARDS)
|
|
RANDO_ENUM_ITEM(RO_BRIDGE_DUNGEONS)
|
|
RANDO_ENUM_ITEM(RO_BRIDGE_TOKENS)
|
|
RANDO_ENUM_ITEM(RO_BRIDGE_TRIFORCE_PIECES)
|
|
RANDO_ENUM_ITEM(RO_BRIDGE_GREG)
|
|
RANDO_ENUM_END(RandoOptionRainbowBridge)
|
|
|
|
// Bridge Reward Options settings (Standard rewards, Greg as reward, Greg as wildcard)
|
|
RANDO_ENUM_BEGIN(RandoOptionBridgeRewards)
|
|
RANDO_ENUM_ITEM(RO_BRIDGE_STANDARD_REWARD)
|
|
RANDO_ENUM_ITEM(RO_BRIDGE_GREG_REWARD)
|
|
RANDO_ENUM_ITEM(RO_BRIDGE_WILDCARD_REWARD)
|
|
RANDO_ENUM_END(RandoOptionBridgeRewards)
|
|
|
|
// Shopsanity settings (off, specific count, random)
|
|
RANDO_ENUM_BEGIN(RandoOptionShopsanity)
|
|
RANDO_ENUM_ITEM(RO_SHOPSANITY_OFF)
|
|
RANDO_ENUM_ITEM(RO_SHOPSANITY_SPECIFIC_COUNT)
|
|
RANDO_ENUM_ITEM(RO_SHOPSANITY_RANDOM)
|
|
RANDO_ENUM_END(RandoOptionShopsanity)
|
|
|
|
// Shopsanity count settings (0-7 items)
|
|
RANDO_ENUM_BEGIN(RandoOptionShopsanityCount)
|
|
RANDO_ENUM_ITEM(RO_SHOPSANITY_COUNT_ZERO_ITEMS)
|
|
RANDO_ENUM_ITEM(RO_SHOPSANITY_COUNT_ONE_ITEM)
|
|
RANDO_ENUM_ITEM(RO_SHOPSANITY_COUNT_TWO_ITEMS)
|
|
RANDO_ENUM_ITEM(RO_SHOPSANITY_COUNT_THREE_ITEMS)
|
|
RANDO_ENUM_ITEM(RO_SHOPSANITY_COUNT_FOUR_ITEMS)
|
|
RANDO_ENUM_ITEM(RO_SHOPSANITY_COUNT_FIVE_ITEMS)
|
|
RANDO_ENUM_ITEM(RO_SHOPSANITY_COUNT_SIX_ITEMS)
|
|
RANDO_ENUM_ITEM(RO_SHOPSANITY_COUNT_SEVEN_ITEMS)
|
|
RANDO_ENUM_ITEM(RO_SHOPSANITY_COUNT_EIGHT_ITEMS)
|
|
RANDO_ENUM_END(RandoOptionShopsanityCount)
|
|
|
|
// Shopsanity price ranges
|
|
RANDO_ENUM_BEGIN(RandoOptionPrices)
|
|
RANDO_ENUM_ITEM(RO_PRICE_VANILLA)
|
|
RANDO_ENUM_ITEM(RO_PRICE_CHEAP_BALANCED) // Balanced random from 0-95, favoring lower numbers
|
|
RANDO_ENUM_ITEM(RO_PRICE_BALANCED) // Random from 0-300, favoring lower numbers
|
|
RANDO_ENUM_ITEM(RO_PRICE_FIXED)
|
|
RANDO_ENUM_ITEM(RO_PRICE_RANGE)
|
|
RANDO_ENUM_ITEM(RO_PRICE_SET_BY_WALLET)
|
|
RANDO_ENUM_END(RandoOptionPrices)
|
|
|
|
// Scrubsanity settings (off, affordable, expensive, random)
|
|
RANDO_ENUM_BEGIN(RandoOptionScrubsanity)
|
|
RANDO_ENUM_ITEM(RO_SCRUBS_OFF)
|
|
RANDO_ENUM_ITEM(RO_SCRUBS_ONE_TIME_ONLY)
|
|
RANDO_ENUM_ITEM(RO_SCRUBS_ALL)
|
|
RANDO_ENUM_END(RandoOptionScrubsanity)
|
|
|
|
// Ammo drop settings (on, "on+bombchu", off)
|
|
RANDO_ENUM_BEGIN(RandoOptionAmmoDrops)
|
|
RANDO_ENUM_ITEM(RO_AMMO_DROPS_OFF)
|
|
// RANDO_ENUM_ITEM(RO_AMMO_DROPS_ON_PLUS_BOMBCHU)
|
|
RANDO_ENUM_ITEM(RO_AMMO_DROPS_ON)
|
|
RANDO_ENUM_END(RandoOptionAmmoDrops)
|
|
|
|
RANDO_ENUM_BEGIN(RandoOptionBombchuBag)
|
|
RANDO_ENUM_ITEM(RO_BOMBCHU_BAG_NONE)
|
|
RANDO_ENUM_ITEM(RO_BOMBCHU_BAG_SINGLE)
|
|
RANDO_ENUM_ITEM(RO_BOMBCHU_BAG_PROGRESSIVE)
|
|
RANDO_ENUM_END(RandoOptionBombchuBag)
|
|
|
|
RANDO_ENUM_BEGIN(RandoOptionBossSouls)
|
|
RANDO_ENUM_ITEM(RO_BOSS_SOULS_OFF)
|
|
RANDO_ENUM_ITEM(RO_BOSS_SOULS_ON)
|
|
RANDO_ENUM_END(RandoOptionBossSouls)
|
|
|
|
// Fishsanity settings (off, loach only, pond only, grottos only, both)
|
|
RANDO_ENUM_BEGIN(RandoOptionsFishsanity)
|
|
RANDO_ENUM_ITEM(RO_FISHSANITY_OFF)
|
|
RANDO_ENUM_ITEM(RO_FISHSANITY_HYRULE_LOACH)
|
|
RANDO_ENUM_ITEM(RO_FISHSANITY_POND)
|
|
RANDO_ENUM_ITEM(RO_FISHSANITY_OVERWORLD)
|
|
RANDO_ENUM_ITEM(RO_FISHSANITY_BOTH)
|
|
RANDO_ENUM_END(RandoOptionsFishsanity)
|
|
|
|
// Infinite Upgrades settings (off, progressive, condensed progressive)
|
|
RANDO_ENUM_BEGIN(RandoOptionInfiniteUpgrades)
|
|
RANDO_ENUM_ITEM(RO_INF_UPGRADES_OFF)
|
|
RANDO_ENUM_ITEM(RO_INF_UPGRADES_PROGRESSIVE)
|
|
RANDO_ENUM_ITEM(RO_INF_UPGRADES_CONDENSED_PROGRESSIVE)
|
|
RANDO_ENUM_END(RandoOptionInfiniteUpgrades)
|
|
|
|
// Any Dungeon Item (start with, vanilla, own dungeon, any dungeon,
|
|
// overworld, anywhere)
|
|
RANDO_ENUM_BEGIN(RandoOptionDungeonItemLocation)
|
|
RANDO_ENUM_ITEM(RO_DUNGEON_ITEM_LOC_STARTWITH)
|
|
RANDO_ENUM_ITEM(RO_DUNGEON_ITEM_LOC_VANILLA)
|
|
RANDO_ENUM_ITEM(RO_DUNGEON_ITEM_LOC_OWN_DUNGEON)
|
|
RANDO_ENUM_ITEM(RO_DUNGEON_ITEM_LOC_ANY_DUNGEON)
|
|
RANDO_ENUM_ITEM(RO_DUNGEON_ITEM_LOC_OVERWORLD)
|
|
RANDO_ENUM_ITEM(RO_DUNGEON_ITEM_LOC_ANYWHERE)
|
|
RANDO_ENUM_END(RandoOptionDungeonItemLocation)
|
|
|
|
// Dungeon reward settings
|
|
RANDO_ENUM_BEGIN(RandoOptionDungeonRewards)
|
|
RANDO_ENUM_ITEM(RO_DUNGEON_REWARDS_VANILLA)
|
|
RANDO_ENUM_ITEM(RO_DUNGEON_REWARDS_END_OF_DUNGEON)
|
|
RANDO_ENUM_ITEM(RO_DUNGEON_REWARDS_OWN_DUNGEON)
|
|
RANDO_ENUM_ITEM(RO_DUNGEON_REWARDS_ANY_DUNGEON)
|
|
RANDO_ENUM_ITEM(RO_DUNGEON_REWARDS_OVERWORLD)
|
|
RANDO_ENUM_ITEM(RO_DUNGEON_REWARDS_ANYWHERE)
|
|
RANDO_ENUM_END(RandoOptionDungeonRewards)
|
|
|
|
// Keyring Settings
|
|
RANDO_ENUM_BEGIN(RandoOptionKeyrings)
|
|
RANDO_ENUM_ITEM(RO_KEYRINGS_OFF)
|
|
RANDO_ENUM_ITEM(RO_KEYRINGS_RANDOM)
|
|
RANDO_ENUM_ITEM(RO_KEYRINGS_COUNT)
|
|
RANDO_ENUM_ITEM(RO_KEYRINGS_SELECTION)
|
|
RANDO_ENUM_END(RandoOptionKeyrings)
|
|
|
|
RANDO_ENUM_BEGIN(RandoOptionKeyringForDungeon)
|
|
RANDO_ENUM_ITEM(RO_KEYRING_FOR_DUNGEON_OFF)
|
|
RANDO_ENUM_ITEM(RO_KEYRING_FOR_DUNGEON_RANDOM)
|
|
RANDO_ENUM_ITEM(RO_KEYRING_FOR_DUNGEON_ON)
|
|
RANDO_ENUM_END(RandoOptionKeyringForDungeon)
|
|
|
|
// Ganon's Boss Key Settings
|
|
RANDO_ENUM_BEGIN(RandoOptionGanonsBossKey)
|
|
RANDO_ENUM_ITEM(RO_GANON_BOSS_KEY_VANILLA)
|
|
RANDO_ENUM_ITEM(RO_GANON_BOSS_KEY_OWN_DUNGEON)
|
|
RANDO_ENUM_ITEM(RO_GANON_BOSS_KEY_STARTWITH)
|
|
RANDO_ENUM_ITEM(RO_GANON_BOSS_KEY_ANY_DUNGEON)
|
|
RANDO_ENUM_ITEM(RO_GANON_BOSS_KEY_OVERWORLD)
|
|
RANDO_ENUM_ITEM(RO_GANON_BOSS_KEY_ANYWHERE)
|
|
RANDO_ENUM_ITEM(RO_GANON_BOSS_KEY_STONES)
|
|
RANDO_ENUM_ITEM(RO_GANON_BOSS_KEY_MEDALLIONS)
|
|
RANDO_ENUM_ITEM(RO_GANON_BOSS_KEY_REWARDS)
|
|
RANDO_ENUM_ITEM(RO_GANON_BOSS_KEY_DUNGEONS)
|
|
RANDO_ENUM_ITEM(RO_GANON_BOSS_KEY_TOKENS)
|
|
RANDO_ENUM_ITEM(RO_GANON_BOSS_KEY_TRIFORCE_PIECES)
|
|
RANDO_ENUM_END(RandoOptionGanonsBossKey)
|
|
|
|
// Ganon's Soul Settings
|
|
RANDO_ENUM_BEGIN(RandoOptionGanonsSoul)
|
|
RANDO_ENUM_ITEM(RO_GANONS_SOUL_STARTWITH)
|
|
RANDO_ENUM_ITEM(RO_GANONS_SOUL_ANY_DUNGEON)
|
|
RANDO_ENUM_ITEM(RO_GANONS_SOUL_OVERWORLD)
|
|
RANDO_ENUM_ITEM(RO_GANONS_SOUL_ANYWHERE)
|
|
RANDO_ENUM_ITEM(RO_GANONS_SOUL_STONES)
|
|
RANDO_ENUM_ITEM(RO_GANONS_SOUL_MEDALLIONS)
|
|
RANDO_ENUM_ITEM(RO_GANONS_SOUL_REWARDS)
|
|
RANDO_ENUM_ITEM(RO_GANONS_SOUL_DUNGEONS)
|
|
RANDO_ENUM_ITEM(RO_GANONS_SOUL_TOKENS)
|
|
RANDO_ENUM_ITEM(RO_GANONS_SOUL_TRIFORCE_PIECES)
|
|
RANDO_ENUM_END(RandoOptionGanonsSoul)
|
|
|
|
// Wincon Triggers
|
|
RANDO_ENUM_BEGIN(RandoOptionWincon)
|
|
RANDO_ENUM_ITEM(RO_WINCON_DEFEAT_GANON)
|
|
RANDO_ENUM_ITEM(RO_WINCON_ANYWHERE)
|
|
RANDO_ENUM_ITEM(RO_WINCON_STONES)
|
|
RANDO_ENUM_ITEM(RO_WINCON_MEDALLIONS)
|
|
RANDO_ENUM_ITEM(RO_WINCON_REWARDS)
|
|
RANDO_ENUM_ITEM(RO_WINCON_DUNGEONS)
|
|
RANDO_ENUM_ITEM(RO_WINCON_TOKENS)
|
|
RANDO_ENUM_ITEM(RO_WINCON_TRIFORCE_PIECES)
|
|
RANDO_ENUM_END(RandoOptionWincon)
|
|
|
|
// Reward Triggers
|
|
RANDO_ENUM_BEGIN(RandoOptionCheckTrigger)
|
|
RANDO_ENUM_ITEM(RO_CHECK_TRIGGER_NONE)
|
|
RANDO_ENUM_ITEM(RO_CHECK_TRIGGER_STONES)
|
|
RANDO_ENUM_ITEM(RO_CHECK_TRIGGER_MEDALLIONS)
|
|
RANDO_ENUM_ITEM(RO_CHECK_TRIGGER_REWARDS)
|
|
RANDO_ENUM_ITEM(RO_CHECK_TRIGGER_DUNGEONS)
|
|
RANDO_ENUM_ITEM(RO_CHECK_TRIGGER_TOKENS)
|
|
RANDO_ENUM_ITEM(RO_CHECK_TRIGGER_TRIFORCE_PIECES)
|
|
RANDO_ENUM_END(RandoOptionCheckTrigger)
|
|
|
|
// Reward Options settings (Standard rewards, Greg as reward, Greg as wildcard)
|
|
RANDO_ENUM_BEGIN(RandoOptionCheckTriggerRewards)
|
|
RANDO_ENUM_ITEM(RO_CHECK_TRIGGER_STANDARD_REWARD)
|
|
RANDO_ENUM_ITEM(RO_CHECK_TRIGGER_GREG_REWARD)
|
|
RANDO_ENUM_ITEM(RO_CHECK_TRIGGER_WILDCARD_REWARD)
|
|
RANDO_ENUM_END(RandoOptionCheckTriggerRewards)
|
|
|
|
// Ganon's Trials
|
|
RANDO_ENUM_BEGIN(RandoOptionGanonsTrials)
|
|
RANDO_ENUM_ITEM(RO_GANONS_TRIALS_SKIP)
|
|
RANDO_ENUM_ITEM(RO_GANONS_TRIALS_SET_NUMBER)
|
|
RANDO_ENUM_ITEM(RO_GANONS_TRIALS_RANDOM_NUMBER)
|
|
RANDO_ENUM_END(RandoOptionGanonsTrials)
|
|
|
|
// Shuffle Dungeon Entrance Settings (Off, on, plus ganon)
|
|
RANDO_ENUM_BEGIN(RandoOptionDungeonEntranceShuffle)
|
|
RANDO_ENUM_ITEM(RO_DUNGEON_ENTRANCE_SHUFFLE_OFF)
|
|
RANDO_ENUM_ITEM(RO_DUNGEON_ENTRANCE_SHUFFLE_ON)
|
|
RANDO_ENUM_ITEM(RO_DUNGEON_ENTRANCE_SHUFFLE_ON_PLUS_GANON)
|
|
RANDO_ENUM_END(RandoOptionDungeonEntranceShuffle)
|
|
|
|
// Shuffle Boss Room Entrance Settings (Off, Age Restricted, Full)
|
|
RANDO_ENUM_BEGIN(RandoOptionBossRoomEntranceShuffle)
|
|
RANDO_ENUM_ITEM(RO_BOSS_ROOM_ENTRANCE_SHUFFLE_OFF)
|
|
RANDO_ENUM_ITEM(RO_BOSS_ROOM_ENTRANCE_SHUFFLE_AGE_RESTRICTED)
|
|
RANDO_ENUM_ITEM(RO_BOSS_ROOM_ENTRANCE_SHUFFLE_FULL)
|
|
RANDO_ENUM_END(RandoOptionBossRoomEntranceShuffle)
|
|
|
|
// Shuffle Interior Entrance Settings (Off, simple, all)
|
|
RANDO_ENUM_BEGIN(RandoOptionInteriorEntranceShuffle)
|
|
RANDO_ENUM_ITEM(RO_INTERIOR_ENTRANCE_SHUFFLE_OFF)
|
|
RANDO_ENUM_ITEM(RO_INTERIOR_ENTRANCE_SHUFFLE_SIMPLE)
|
|
RANDO_ENUM_ITEM(RO_INTERIOR_ENTRANCE_SHUFFLE_ALL)
|
|
RANDO_ENUM_END(RandoOptionInteriorEntranceShuffle)
|
|
|
|
// Song shuffle Settings (Song locations, Dungeon rewards, anywhere)
|
|
RANDO_ENUM_BEGIN(RandoOptionSongShuffle)
|
|
RANDO_ENUM_ITEM(RO_SONG_SHUFFLE_OFF)
|
|
RANDO_ENUM_ITEM(RO_SONG_SHUFFLE_SONG_LOCATIONS)
|
|
RANDO_ENUM_ITEM(RO_SONG_SHUFFLE_DUNGEON_REWARDS)
|
|
RANDO_ENUM_ITEM(RO_SONG_SHUFFLE_ANYWHERE)
|
|
RANDO_ENUM_END(RandoOptionSongShuffle)
|
|
|
|
// Shuffle Merchants Settings (Off, Beans Only, All but Beans, All)
|
|
RANDO_ENUM_BEGIN(RandoOptionShuffleMerchants)
|
|
RANDO_ENUM_ITEM(RO_SHUFFLE_MERCHANTS_OFF)
|
|
RANDO_ENUM_ITEM(RO_SHUFFLE_MERCHANTS_BEANS_ONLY)
|
|
RANDO_ENUM_ITEM(RO_SHUFFLE_MERCHANTS_ALL_BUT_BEANS)
|
|
RANDO_ENUM_ITEM(RO_SHUFFLE_MERCHANTS_ALL)
|
|
RANDO_ENUM_END(RandoOptionShuffleMerchants)
|
|
|
|
// Shuffle Weird Egg Settings (vanilla, shuffled, skip waking talon)
|
|
RANDO_ENUM_BEGIN(RandoOptionShuffleWeirdEgg)
|
|
RANDO_ENUM_ITEM(RO_WEIRD_EGG_VANILLA)
|
|
RANDO_ENUM_ITEM(RO_WEIRD_EGG_SHUFFLED)
|
|
RANDO_ENUM_ITEM(RO_WEIRD_EGG_SKIP_TALON)
|
|
RANDO_ENUM_END(RandoOptionShuffleWeirdEgg)
|
|
|
|
// Shuffle Open Chest Settings (off, on, progressive)
|
|
RANDO_ENUM_BEGIN(RandoOptionShuffleOpenChest)
|
|
RANDO_ENUM_ITEM(RO_OPEN_CHEST_OFF)
|
|
RANDO_ENUM_ITEM(RO_OPEN_CHEST_ON)
|
|
RANDO_ENUM_ITEM(RO_OPEN_CHEST_PROGRESSIVE)
|
|
RANDO_ENUM_END(RandoOptionShuffleOpenChest)
|
|
|
|
// Starting Ocarina Settings (off, fairy, oot)
|
|
RANDO_ENUM_BEGIN(RandoOptionStartingOcarina)
|
|
RANDO_ENUM_ITEM(RO_STARTING_OCARINA_OFF)
|
|
RANDO_ENUM_ITEM(RO_STARTING_OCARINA_FAIRY)
|
|
RANDO_ENUM_ITEM(RO_STARTING_OCARINA_TIME)
|
|
RANDO_ENUM_END(RandoOptionStartingOcarina)
|
|
|
|
// Starting Bottle Settings (off, empty bottle, bottle with big poe, ruto's letter (bottle 1 only))
|
|
RANDO_ENUM_BEGIN(RandoOptionStartingBottle)
|
|
RANDO_ENUM_ITEM(RO_STARTING_BOTTLE_OFF)
|
|
RANDO_ENUM_ITEM(RO_STARTING_BOTTLE_EMPTY)
|
|
RANDO_ENUM_ITEM(RO_STARTING_BOTTLE_BIG_POE)
|
|
RANDO_ENUM_ITEM(RO_STARTING_BOTTLE_RUTOS_LETTER)
|
|
RANDO_ENUM_END(RandoOptionStartingBottle)
|
|
|
|
// Starting Biggoron's Sword Settings (off, giant's knife, biggoron's sword)
|
|
RANDO_ENUM_BEGIN(RandoOptionStartingBiggoronSword)
|
|
RANDO_ENUM_ITEM(RO_STARTING_BGS_OFF)
|
|
RANDO_ENUM_ITEM(RO_STARTING_BGS_GIANTS_KNIFE)
|
|
RANDO_ENUM_ITEM(RO_STARTING_BGS_BIGGORON_SWORD)
|
|
RANDO_ENUM_END(RandoOptionStartingBiggoronSword)
|
|
|
|
// Item Pool Settings
|
|
RANDO_ENUM_BEGIN(RandoOptionItemPool)
|
|
RANDO_ENUM_ITEM(RO_ITEM_POOL_PLENTIFUL)
|
|
RANDO_ENUM_ITEM(RO_ITEM_POOL_BALANCED)
|
|
RANDO_ENUM_ITEM(RO_ITEM_POOL_SCARCE)
|
|
RANDO_ENUM_ITEM(RO_ITEM_POOL_MINIMAL)
|
|
RANDO_ENUM_END(RandoOptionItemPool)
|
|
|
|
// Ice Trap Settings
|
|
RANDO_ENUM_BEGIN(RandoOptionIceTraps)
|
|
RANDO_ENUM_ITEM(RO_ICE_TRAPS_OFF)
|
|
RANDO_ENUM_ITEM(RO_ICE_TRAPS_NORMAL)
|
|
RANDO_ENUM_ITEM(RO_ICE_TRAPS_COUNT)
|
|
RANDO_ENUM_ITEM(RO_ICE_TRAPS_PERCENT)
|
|
RANDO_ENUM_END(RandoOptionIceTraps)
|
|
|
|
RANDO_ENUM_BEGIN(RandoIceTrapNames)
|
|
RANDO_ENUM_ITEM(RO_ICE_TRAP_NAMES_IDENTICAL)
|
|
RANDO_ENUM_ITEM(RO_ICE_TRAP_NAMES_SIMILAR)
|
|
RANDO_ENUM_ITEM(RO_ICE_TRAP_NAMES_MISSPELLED_CHANGED_VOWEL)
|
|
RANDO_ENUM_ITEM(RO_ICE_TRAP_NAMES_MISSPELLED_DUPLICATED_LETTER)
|
|
RANDO_ENUM_ITEM(RO_ICE_TRAP_NAMES_REVEALED)
|
|
RANDO_ENUM_END(RandoIceTrapNames)
|
|
|
|
// Gossip Stone Hint Settings (no hints, needs nothing,
|
|
// needs mask of truth, needs stone of agony)
|
|
RANDO_ENUM_BEGIN(RandoOptionGossipStones)
|
|
RANDO_ENUM_ITEM(RO_GOSSIP_STONES_NONE)
|
|
RANDO_ENUM_ITEM(RO_GOSSIP_STONES_NEED_NOTHING)
|
|
RANDO_ENUM_ITEM(RO_GOSSIP_STONES_NEED_TRUTH)
|
|
RANDO_ENUM_ITEM(RO_GOSSIP_STONES_NEED_STONE)
|
|
RANDO_ENUM_END(RandoOptionGossipStones)
|
|
|
|
// Hint Clarity Settings (obscure, ambiguous, clear)
|
|
RANDO_ENUM_BEGIN(RandoOptionHintClarity)
|
|
RANDO_ENUM_ITEM(RO_HINT_CLARITY_OBSCURE)
|
|
RANDO_ENUM_ITEM(RO_HINT_CLARITY_AMBIGUOUS)
|
|
RANDO_ENUM_ITEM(RO_HINT_CLARITY_CLEAR)
|
|
RANDO_ENUM_END(RandoOptionHintClarity)
|
|
|
|
// Hint Distribution Settings (useless, balanced, strong, very strong)
|
|
RANDO_ENUM_BEGIN(RandoOptionHintDistribution)
|
|
RANDO_ENUM_ITEM(RO_HINT_DIST_USELESS)
|
|
RANDO_ENUM_ITEM(RO_HINT_DIST_BALANCED)
|
|
RANDO_ENUM_ITEM(RO_HINT_DIST_STRONG)
|
|
RANDO_ENUM_ITEM(RO_HINT_DIST_VERY_STRONG)
|
|
RANDO_ENUM_END(RandoOptionHintDistribution)
|
|
|
|
// Gerudo Fortress Key Settings (vanilla, any dungeon, overworld,
|
|
// anywhere)
|
|
RANDO_ENUM_BEGIN(RandoOptionGerudoKeys)
|
|
RANDO_ENUM_ITEM(RO_GERUDO_KEYS_VANILLA)
|
|
RANDO_ENUM_ITEM(RO_GERUDO_KEYS_ANY_DUNGEON)
|
|
RANDO_ENUM_ITEM(RO_GERUDO_KEYS_OVERWORLD)
|
|
RANDO_ENUM_ITEM(RO_GERUDO_KEYS_ANYWHERE)
|
|
RANDO_ENUM_END(RandoOptionGerudoKeys)
|
|
|
|
// Tokensanity settings (off, dungeons, overworld, all)
|
|
RANDO_ENUM_BEGIN(RandoOptionTokensanity)
|
|
RANDO_ENUM_ITEM(RO_TOKENSANITY_OFF)
|
|
RANDO_ENUM_ITEM(RO_TOKENSANITY_DUNGEONS)
|
|
RANDO_ENUM_ITEM(RO_TOKENSANITY_OVERWORLD)
|
|
RANDO_ENUM_ITEM(RO_TOKENSANITY_ALL)
|
|
RANDO_ENUM_END(RandoOptionTokensanity)
|
|
|
|
// Freestanding Hearts/Rupees settings (off, dungeons, overworld, all)
|
|
RANDO_ENUM_BEGIN(RandoOptionFreestanding)
|
|
RANDO_ENUM_ITEM(RO_SHUFFLE_FREESTANDING_OFF)
|
|
RANDO_ENUM_ITEM(RO_SHUFFLE_FREESTANDING_DUNGEONS)
|
|
RANDO_ENUM_ITEM(RO_SHUFFLE_FREESTANDING_OVERWORLD)
|
|
RANDO_ENUM_ITEM(RO_SHUFFLE_FREESTANDING_ALL)
|
|
RANDO_ENUM_END(RandoOptionFreestanding)
|
|
|
|
// Wonder Items settings (off, dungeons, overworld, all)
|
|
RANDO_ENUM_BEGIN(RandoOptionWonderItems)
|
|
RANDO_ENUM_ITEM(RO_SHUFFLE_WONDER_ITEMS_OFF)
|
|
RANDO_ENUM_ITEM(RO_SHUFFLE_WONDER_ITEMS_DUNGEONS)
|
|
RANDO_ENUM_ITEM(RO_SHUFFLE_WONDER_ITEMS_OVERWORLD)
|
|
RANDO_ENUM_ITEM(RO_SHUFFLE_WONDER_ITEMS_ALL)
|
|
RANDO_ENUM_END(RandoOptionWonderItems)
|
|
|
|
// Shuffle Silver settings (off, on, wallet, start with)
|
|
RANDO_ENUM_BEGIN(RandoOptionSilver)
|
|
RANDO_ENUM_ITEM(RO_SHUFFLE_SILVER_OFF)
|
|
RANDO_ENUM_ITEM(RO_SHUFFLE_SILVER_ON)
|
|
RANDO_ENUM_ITEM(RO_SHUFFLE_SILVER_WALLET)
|
|
RANDO_ENUM_ITEM(RO_SHUFFLE_SILVER_STARTWITH)
|
|
RANDO_ENUM_END(RandoOptionSilver)
|
|
|
|
// Shuffle Pots settings (off, dungeons, overworld, all)
|
|
RANDO_ENUM_BEGIN(RandoOptionShufflePots)
|
|
RANDO_ENUM_ITEM(RO_SHUFFLE_POTS_OFF)
|
|
RANDO_ENUM_ITEM(RO_SHUFFLE_POTS_DUNGEONS)
|
|
RANDO_ENUM_ITEM(RO_SHUFFLE_POTS_OVERWORLD)
|
|
RANDO_ENUM_ITEM(RO_SHUFFLE_POTS_ALL)
|
|
RANDO_ENUM_END(RandoOptionShufflePots)
|
|
|
|
// Shuffle Grass settings (off, dungeons, overworld, all)
|
|
RANDO_ENUM_BEGIN(RandoOptionShuffleGrass)
|
|
RANDO_ENUM_ITEM(RO_SHUFFLE_GRASS_OFF)
|
|
RANDO_ENUM_ITEM(RO_SHUFFLE_GRASS_DUNGEONS)
|
|
RANDO_ENUM_ITEM(RO_SHUFFLE_GRASS_OVERWORLD)
|
|
RANDO_ENUM_ITEM(RO_SHUFFLE_GRASS_ALL)
|
|
RANDO_ENUM_END(RandoOptionShuffleGrass)
|
|
|
|
// Shuffle Crates settings (off, dungeons, overworld, all)
|
|
RANDO_ENUM_BEGIN(RandoOptionShuffleCrates)
|
|
RANDO_ENUM_ITEM(RO_SHUFFLE_CRATES_OFF)
|
|
RANDO_ENUM_ITEM(RO_SHUFFLE_CRATES_DUNGEONS)
|
|
RANDO_ENUM_ITEM(RO_SHUFFLE_CRATES_OVERWORLD)
|
|
RANDO_ENUM_ITEM(RO_SHUFFLE_CRATES_ALL)
|
|
RANDO_ENUM_END(RandoOptionShuffleCrates)
|
|
|
|
// Shuffle Boulder settings (off, dungeons, overworld, all)
|
|
RANDO_ENUM_BEGIN(RandoOptionShuffleBoulders)
|
|
RANDO_ENUM_ITEM(RO_SHUFFLE_BOULDERS_OFF)
|
|
RANDO_ENUM_ITEM(RO_SHUFFLE_BOULDERS_DUNGEONS)
|
|
RANDO_ENUM_ITEM(RO_SHUFFLE_BOULDERS_OVERWORLD)
|
|
RANDO_ENUM_ITEM(RO_SHUFFLE_BOULDERS_ALL)
|
|
RANDO_ENUM_END(RandoOptionShuffleBoulders)
|
|
|
|
// Shuffle Signs settings (off, dungeons, overworld, all)
|
|
RANDO_ENUM_BEGIN(RandoOptionShuffleSigns)
|
|
RANDO_ENUM_ITEM(RO_SHUFFLE_SIGNS_OFF)
|
|
RANDO_ENUM_ITEM(RO_SHUFFLE_SIGNS_DUNGEONS)
|
|
RANDO_ENUM_ITEM(RO_SHUFFLE_SIGNS_OVERWORLD)
|
|
RANDO_ENUM_ITEM(RO_SHUFFLE_SIGNS_ALL)
|
|
RANDO_ENUM_END(RandoOptionShuffleSigns)
|
|
|
|
// Link's Pocket Settings (dungeon reward, advancement, anything, nothing)
|
|
RANDO_ENUM_BEGIN(RandoOptionLinksPocket)
|
|
RANDO_ENUM_ITEM(RO_LINKS_POCKET_DUNGEON_REWARD)
|
|
RANDO_ENUM_ITEM(RO_LINKS_POCKET_ADVANCEMENT)
|
|
RANDO_ENUM_ITEM(RO_LINKS_POCKET_ANYTHING)
|
|
RANDO_ENUM_ITEM(RO_LINKS_POCKET_NOTHING)
|
|
RANDO_ENUM_END(RandoOptionLinksPocket)
|
|
|
|
// Link's Pocket Dungeon Reward Settings (dungeon reward, stone, medallion)
|
|
RANDO_ENUM_BEGIN(RandoOptionLinksPocketReward)
|
|
RANDO_ENUM_ITEM(RO_LINKS_POCKET_ANY_REWARD)
|
|
RANDO_ENUM_ITEM(RO_LINKS_POCKET_ANY_STONE)
|
|
RANDO_ENUM_ITEM(RO_LINKS_POCKET_ANY_MEDALLION)
|
|
RANDO_ENUM_ITEM(RO_LINKS_POCKET_LIGHT_MEDALLION)
|
|
RANDO_ENUM_END(RandoOptionLinksPocketReward)
|
|
|
|
// Logic (glitchless/no logic)
|
|
RANDO_ENUM_BEGIN(RandoOptionLogic)
|
|
RANDO_ENUM_ITEM(RO_LOGIC_GLITCHLESS)
|
|
RANDO_ENUM_ITEM(RO_LOGIC_NO_LOGIC)
|
|
RANDO_ENUM_END(RandoOptionLogic)
|
|
|
|
// Damage Multiplier
|
|
RANDO_ENUM_BEGIN(RandoOptionDamageMultiplier)
|
|
RANDO_ENUM_ITEM(RO_DAMAGE_MULTIPLIER_HALF)
|
|
RANDO_ENUM_ITEM(RO_DAMAGE_MULTIPLIER_DEFAULT)
|
|
RANDO_ENUM_ITEM(RO_DAMAGE_MULTIPLIER_DOUBLE)
|
|
RANDO_ENUM_ITEM(RO_DAMAGE_MULTIPLIER_QUADRUPLE)
|
|
RANDO_ENUM_ITEM(RO_DAMAGE_MULTIPLIER_OCTUPLE)
|
|
RANDO_ENUM_ITEM(RO_DAMAGE_MULTIPLIER_SEXDECUPLE)
|
|
RANDO_ENUM_ITEM(RO_DAMAGE_MULTIPLIER_OHKO)
|
|
RANDO_ENUM_END(RandoOptionDamageMultiplier)
|
|
|
|
// MQ Dungeons
|
|
RANDO_ENUM_BEGIN(RandoOptionMQDungeons)
|
|
RANDO_ENUM_ITEM(RO_MQ_DUNGEONS_NONE)
|
|
RANDO_ENUM_ITEM(RO_MQ_DUNGEONS_SET_NUMBER)
|
|
RANDO_ENUM_ITEM(RO_MQ_DUNGEONS_RANDOM_NUMBER)
|
|
RANDO_ENUM_ITEM(RO_MQ_DUNGEONS_SELECTION)
|
|
RANDO_ENUM_END(RandoOptionMQDungeons)
|
|
|
|
// Trifoce Hunt location
|
|
RANDO_ENUM_BEGIN(RandoOptionTriforceHuntLocation)
|
|
RANDO_ENUM_ITEM(RO_TRIFORCE_HUNT_LOCATION_ANY_DUNGEON)
|
|
RANDO_ENUM_ITEM(RO_TRIFORCE_HUNT_LOCATION_OVERWORLD)
|
|
RANDO_ENUM_ITEM(RO_TRIFORCE_HUNT_LOCATION_ANYWHERE)
|
|
RANDO_ENUM_END(RandoOptionTriforceHuntLocation)
|
|
|
|
RANDO_ENUM_BEGIN(RandoOptionLocationInclusion)
|
|
RANDO_ENUM_ITEM(RO_LOCATION_INCLUDE)
|
|
RANDO_ENUM_ITEM(RO_LOCATION_EXCLUDE)
|
|
RANDO_ENUM_END(RandoOptionLocationInclusion)
|
|
|
|
RANDO_ENUM_BEGIN(RandoOptionMQSet)
|
|
RANDO_ENUM_ITEM(RO_MQ_SET_VANILLA)
|
|
RANDO_ENUM_ITEM(RO_MQ_SET_MQ)
|
|
RANDO_ENUM_ITEM(RO_MQ_SET_RANDOM)
|
|
RANDO_ENUM_END(RandoOptionMQSet)
|
|
|
|
#ifdef RANDO_ENUM_BEGIN_CLEANUP
|
|
#undef RANDO_ENUM_BEGIN
|
|
#undef RANDO_ENUM_BEGIN_CLEANUP
|
|
#endif
|
|
#ifdef RANDO_ENUM_ITEM_CLEANUP
|
|
#undef RANDO_ENUM_ITEM
|
|
#undef RANDO_ENUM_ITEM_CLEANUP
|
|
#endif
|
|
#ifdef RANDO_ENUM_END_CLEANUP
|
|
#undef RANDO_ENUM_END
|
|
#undef RANDO_ENUM_END_CLEANUP
|
|
#endif
|