Add "Condensed Progressive"
This commit is contained in:
parent
95c14a268e
commit
50d25c5207
|
@ -841,7 +841,7 @@ void GenerateItemPool() {
|
|||
ctx->possibleIceTrapModels.push_back(RG_FISHING_POLE);
|
||||
}
|
||||
|
||||
if (ctx->GetOption(RSK_INFINITE_UPGRADES)) {
|
||||
if (ctx->GetOption(RSK_INFINITE_UPGRADES).Is(RO_INF_UPGRADES_PROGRESSIVE)) {
|
||||
AddItemToMainPool(RG_PROGRESSIVE_BOMB_BAG);
|
||||
AddItemToMainPool(RG_PROGRESSIVE_BOW);
|
||||
AddItemToMainPool(RG_PROGRESSIVE_NUT_UPGRADE);
|
||||
|
|
|
@ -119,20 +119,24 @@ std::shared_ptr<GetItemEntry> Item::GetGIEntry() const { // NOLINT(*-no-recursio
|
|||
RandomizerGet actual = RG_NONE;
|
||||
const bool tycoonWallet =
|
||||
OTRGlobals::Instance->gRandomizer->GetRandoSettingValue(RSK_SHOPSANITY) > RO_SHOPSANITY_ZERO_ITEMS;
|
||||
const bool infiniteUpgrades = OTRGlobals::Instance->gRandomizer->GetRandoSettingValue(RSK_INFINITE_UPGRADES);
|
||||
const u8 infiniteUpgrades = OTRGlobals::Instance->gRandomizer->GetRandoSettingValue(RSK_INFINITE_UPGRADES);
|
||||
switch (randomizerGet) {
|
||||
case RG_PROGRESSIVE_STICK_UPGRADE:
|
||||
switch (CUR_UPG_VALUE(UPG_STICKS)) {
|
||||
case 0:
|
||||
case 1:
|
||||
if (infiniteUpgrades == RO_INF_UPGRADES_CONDENSED_PROGRESSIVE) {
|
||||
actual = RG_STICK_UPGRADE_INF;
|
||||
} else {
|
||||
actual = RG_DEKU_STICK_CAPACITY_20;
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
actual = RG_DEKU_STICK_CAPACITY_30;
|
||||
break;
|
||||
case 3:
|
||||
case 4:
|
||||
if (infiniteUpgrades) {
|
||||
if (infiniteUpgrades == RO_INF_UPGRADES_PROGRESSIVE) {
|
||||
actual = RG_STICK_UPGRADE_INF;
|
||||
} else {
|
||||
actual = RG_DEKU_STICK_CAPACITY_30;
|
||||
|
@ -146,14 +150,18 @@ std::shared_ptr<GetItemEntry> Item::GetGIEntry() const { // NOLINT(*-no-recursio
|
|||
switch (CUR_UPG_VALUE(UPG_NUTS)) {
|
||||
case 0:
|
||||
case 1:
|
||||
if (infiniteUpgrades == RO_INF_UPGRADES_CONDENSED_PROGRESSIVE) {
|
||||
actual = RG_NUT_UPGRADE_INF;
|
||||
} else {
|
||||
actual = RG_DEKU_NUT_CAPACITY_30;
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
actual = RG_DEKU_NUT_CAPACITY_40;
|
||||
break;
|
||||
case 3:
|
||||
case 4:
|
||||
if (infiniteUpgrades) {
|
||||
if (infiniteUpgrades == RO_INF_UPGRADES_PROGRESSIVE) {
|
||||
actual = RG_NUT_UPGRADE_INF;
|
||||
} else {
|
||||
actual = RG_DEKU_NUT_CAPACITY_40;
|
||||
|
@ -169,14 +177,18 @@ std::shared_ptr<GetItemEntry> Item::GetGIEntry() const { // NOLINT(*-no-recursio
|
|||
actual = RG_BOMB_BAG;
|
||||
break;
|
||||
case 1:
|
||||
if (infiniteUpgrades == RO_INF_UPGRADES_CONDENSED_PROGRESSIVE) {
|
||||
actual = RG_BOMB_BAG_INF;
|
||||
} else {
|
||||
actual = RG_BIG_BOMB_BAG;
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
actual = RG_BIGGEST_BOMB_BAG;
|
||||
break;
|
||||
case 3:
|
||||
case 4:
|
||||
if (infiniteUpgrades) {
|
||||
if (infiniteUpgrades == RO_INF_UPGRADES_PROGRESSIVE) {
|
||||
actual = RG_BOMB_BAG_INF;
|
||||
} else {
|
||||
actual = RG_BIGGEST_BOMB_BAG;
|
||||
|
@ -192,14 +204,18 @@ std::shared_ptr<GetItemEntry> Item::GetGIEntry() const { // NOLINT(*-no-recursio
|
|||
actual = RG_FAIRY_BOW;
|
||||
break;
|
||||
case 1:
|
||||
if (infiniteUpgrades == RO_INF_UPGRADES_CONDENSED_PROGRESSIVE) {
|
||||
actual = RG_QUIVER_INF;
|
||||
} else {
|
||||
actual = RG_BIG_QUIVER;
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
actual = RG_BIGGEST_QUIVER;
|
||||
break;
|
||||
case 3:
|
||||
case 4:
|
||||
if (infiniteUpgrades) {
|
||||
if (infiniteUpgrades == RO_INF_UPGRADES_PROGRESSIVE) {
|
||||
actual = RG_QUIVER_INF;
|
||||
} else {
|
||||
actual = RG_BIGGEST_QUIVER;
|
||||
|
@ -215,14 +231,18 @@ std::shared_ptr<GetItemEntry> Item::GetGIEntry() const { // NOLINT(*-no-recursio
|
|||
actual = RG_FAIRY_SLINGSHOT;
|
||||
break;
|
||||
case 1:
|
||||
if (infiniteUpgrades == RO_INF_UPGRADES_CONDENSED_PROGRESSIVE) {
|
||||
actual = RG_BULLET_BAG_INF;
|
||||
} else {
|
||||
actual = RG_BIG_BULLET_BAG;
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
actual = RG_BIGGEST_BULLET_BAG;
|
||||
break;
|
||||
case 3:
|
||||
case 4:
|
||||
if (infiniteUpgrades) {
|
||||
if (infiniteUpgrades == RO_INF_UPGRADES_PROGRESSIVE) {
|
||||
actual = RG_BULLET_BAG_INF;
|
||||
} else {
|
||||
actual = RG_BIGGEST_BULLET_BAG;
|
||||
|
@ -291,7 +311,7 @@ std::shared_ptr<GetItemEntry> Item::GetGIEntry() const { // NOLINT(*-no-recursio
|
|||
break;
|
||||
case 3:
|
||||
case 4:
|
||||
if (infiniteUpgrades) {
|
||||
if (infiniteUpgrades != RO_INF_UPGRADES_OFF) {
|
||||
actual = RG_WALLET_INF;
|
||||
} else {
|
||||
actual = tycoonWallet ? RG_TYCOON_WALLET : RG_GIANT_WALLET;
|
||||
|
@ -328,7 +348,7 @@ std::shared_ptr<GetItemEntry> Item::GetGIEntry() const { // NOLINT(*-no-recursio
|
|||
break;
|
||||
case 2:
|
||||
case 3:
|
||||
if (infiniteUpgrades) {
|
||||
if (infiniteUpgrades != RO_INF_UPGRADES_OFF) {
|
||||
actual = RG_MAGIC_INF;
|
||||
} else {
|
||||
actual = RG_MAGIC_DOUBLE;
|
||||
|
@ -344,7 +364,7 @@ std::shared_ptr<GetItemEntry> Item::GetGIEntry() const { // NOLINT(*-no-recursio
|
|||
case RG_PROGRESSIVE_BOMBCHUS:
|
||||
if (INV_CONTENT(ITEM_BOMBCHU) == ITEM_NONE) {
|
||||
actual = RG_BOMBCHU_20;
|
||||
} else if (infiniteUpgrades) {
|
||||
} else if (infiniteUpgrades != RO_INF_UPGRADES_OFF) {
|
||||
actual = RG_BOMBCHU_INF;
|
||||
} else if (AMMO(ITEM_BOMBCHU) < 5) {
|
||||
actual = RG_BOMBCHU_10;
|
||||
|
|
|
@ -247,7 +247,11 @@ void Settings::CreateOptionDescriptions() {
|
|||
mOptionDescriptions[RSK_SHUFFLE_FISHING_POLE] = "Shuffles the fishing pole into the item pool.\n"
|
||||
"\n"
|
||||
"The fishing pole is required to play the fishing pond minigame.";
|
||||
mOptionDescriptions[RSK_INFINITE_UPGRADES] = "Adds upgrades that hold infinite quanities of items (bombs, arrows, etc.)";
|
||||
mOptionDescriptions[RSK_INFINITE_UPGRADES] = "Adds upgrades that hold infinite quanities of items (bombs, arrows, etc.)\n"
|
||||
"\n"
|
||||
"Progressive - The infinite upgrades are obtained after getting the last normal capacity upgrade\n"
|
||||
"\n"
|
||||
"Condensed Progressive - The infinite upgrades are obtained as the first capacity upgrade (doesn't apply to the infinite wallet or to infinite magic)";
|
||||
mOptionDescriptions[RSK_SHOPSANITY] = "Off - All shop items will be the same as vanilla.\n"
|
||||
"\n"
|
||||
"0 Items - Vanilla shop items will be shuffled among different shops.\n"
|
||||
|
|
|
@ -613,9 +613,9 @@ ItemObtainability Randomizer::GetItemObtainabilityFromRandomizerGet(RandomizerGe
|
|||
// Same thing with the infinite upgrades, if we're not shuffling them
|
||||
// and we're using the Plentiful item pool, we should prevent the infinite
|
||||
// upgrades from being gotten
|
||||
bool infiniteUpgrades = GetRandoSettingValue(RSK_INFINITE_UPGRADES);
|
||||
u8 infiniteUpgrades = GetRandoSettingValue(RSK_INFINITE_UPGRADES);
|
||||
|
||||
u8 numWallets = 2 + (u8)tycoonWallet + (u8)infiniteUpgrades;
|
||||
u8 numWallets = 2 + (u8)tycoonWallet + (infiniteUpgrades != RO_INF_UPGRADES_OFF ? 1 : 0);
|
||||
switch (randoGet) {
|
||||
case RG_NONE:
|
||||
case RG_TRIFORCE:
|
||||
|
@ -652,15 +652,15 @@ ItemObtainability Randomizer::GetItemObtainabilityFromRandomizerGet(RandomizerGe
|
|||
|
||||
// Inventory Items
|
||||
case RG_PROGRESSIVE_STICK_UPGRADE:
|
||||
return infiniteUpgrades ?
|
||||
return infiniteUpgrades != RO_INF_UPGRADES_OFF ?
|
||||
(Flags_GetRandomizerInf(RAND_INF_HAS_INFINITE_STICK_UPGRADE) ? CANT_OBTAIN_ALREADY_HAVE : CAN_OBTAIN) :
|
||||
(CUR_UPG_VALUE(UPG_STICKS) < 3 ? CAN_OBTAIN : CANT_OBTAIN_ALREADY_HAVE);
|
||||
case RG_PROGRESSIVE_NUT_UPGRADE:
|
||||
return infiniteUpgrades ?
|
||||
return infiniteUpgrades != RO_INF_UPGRADES_OFF ?
|
||||
(Flags_GetRandomizerInf(RAND_INF_HAS_INFINITE_NUT_UPGRADE) ? CANT_OBTAIN_ALREADY_HAVE : CAN_OBTAIN) :
|
||||
(CUR_UPG_VALUE(UPG_NUTS) < 3 ? CAN_OBTAIN : CANT_OBTAIN_ALREADY_HAVE);
|
||||
case RG_PROGRESSIVE_BOMB_BAG:
|
||||
return infiniteUpgrades ?
|
||||
return infiniteUpgrades != RO_INF_UPGRADES_OFF ?
|
||||
(Flags_GetRandomizerInf(RAND_INF_HAS_INFINITE_BOMB_BAG) ? CANT_OBTAIN_ALREADY_HAVE : CAN_OBTAIN) :
|
||||
(CUR_UPG_VALUE(UPG_BOMB_BAG) < 3 ? CAN_OBTAIN : CANT_OBTAIN_ALREADY_HAVE);
|
||||
case RG_BOMBS_5:
|
||||
|
@ -673,7 +673,7 @@ ItemObtainability Randomizer::GetItemObtainabilityFromRandomizerGet(RandomizerGe
|
|||
case RG_BUY_BOMBS_30:
|
||||
return CUR_UPG_VALUE(UPG_BOMB_BAG) ? CAN_OBTAIN : CANT_OBTAIN_NEED_UPGRADE;
|
||||
case RG_PROGRESSIVE_BOW:
|
||||
return infiniteUpgrades ?
|
||||
return infiniteUpgrades != RO_INF_UPGRADES_OFF ?
|
||||
(Flags_GetRandomizerInf(RAND_INF_HAS_INFINITE_QUIVER) ? CANT_OBTAIN_ALREADY_HAVE : CAN_OBTAIN) :
|
||||
(CUR_UPG_VALUE(UPG_QUIVER) < 3 ? CAN_OBTAIN : CANT_OBTAIN_ALREADY_HAVE);
|
||||
case RG_ARROWS_5:
|
||||
|
@ -684,7 +684,7 @@ ItemObtainability Randomizer::GetItemObtainabilityFromRandomizerGet(RandomizerGe
|
|||
case RG_BUY_ARROWS_50:
|
||||
return CUR_UPG_VALUE(UPG_QUIVER) ? CAN_OBTAIN : CANT_OBTAIN_NEED_UPGRADE;
|
||||
case RG_PROGRESSIVE_SLINGSHOT:
|
||||
return infiniteUpgrades ?
|
||||
return infiniteUpgrades != RO_INF_UPGRADES_OFF ?
|
||||
(Flags_GetRandomizerInf(RAND_INF_HAS_INFINITE_BULLET_BAG) ? CANT_OBTAIN_ALREADY_HAVE : CAN_OBTAIN) :
|
||||
(CUR_UPG_VALUE(UPG_BULLET_BAG) < 3 ? CAN_OBTAIN : CANT_OBTAIN_ALREADY_HAVE);
|
||||
case RG_DEKU_SEEDS_30:
|
||||
|
@ -814,7 +814,7 @@ ItemObtainability Randomizer::GetItemObtainabilityFromRandomizerGet(RandomizerGe
|
|||
case RG_PROGRESSIVE_MAGIC_METER:
|
||||
case RG_MAGIC_SINGLE:
|
||||
case RG_MAGIC_DOUBLE:
|
||||
return infiniteUpgrades ?
|
||||
return infiniteUpgrades != RO_INF_UPGRADES_OFF ?
|
||||
(Flags_GetRandomizerInf(RAND_INF_HAS_INFINITE_MAGIC_METER) ? CANT_OBTAIN_ALREADY_HAVE : CAN_OBTAIN) :
|
||||
(gSaveContext.magicLevel < 2 ? CAN_OBTAIN : CANT_OBTAIN_ALREADY_HAVE);
|
||||
case RG_FISHING_POLE:
|
||||
|
@ -986,7 +986,7 @@ GetItemID Randomizer::GetItemIdFromRandomizerGet(RandomizerGet randoGet, GetItem
|
|||
// Same thing with the infinite upgrades, if we're not shuffling them
|
||||
//and we're using the Plentiful item pool, we should prevent the infinite
|
||||
//upgrades from being gotten
|
||||
bool infiniteUpgrades = GetRandoSettingValue(RSK_INFINITE_UPGRADES);
|
||||
u8 infiniteUpgrades = GetRandoSettingValue(RSK_INFINITE_UPGRADES);
|
||||
switch (randoGet) {
|
||||
case RG_NONE:
|
||||
return ogItemId;
|
||||
|
@ -1034,7 +1034,7 @@ GetItemID Randomizer::GetItemIdFromRandomizerGet(RandomizerGet randoGet, GetItem
|
|||
return GI_STICK_UPGRADE_30;
|
||||
case 3:
|
||||
case 4:
|
||||
return infiniteUpgrades ? (GetItemID)RG_STICK_UPGRADE_INF : GI_STICK_UPGRADE_30;
|
||||
return infiniteUpgrades == RO_INF_UPGRADES_PROGRESSIVE ? (GetItemID)RG_STICK_UPGRADE_INF : GI_STICK_UPGRADE_30;
|
||||
}
|
||||
case RG_PROGRESSIVE_NUT_UPGRADE:
|
||||
switch (CUR_UPG_VALUE(UPG_NUTS)) {
|
||||
|
@ -1045,7 +1045,7 @@ GetItemID Randomizer::GetItemIdFromRandomizerGet(RandomizerGet randoGet, GetItem
|
|||
return GI_NUT_UPGRADE_40;
|
||||
case 3:
|
||||
case 4:
|
||||
return infiniteUpgrades ? (GetItemID)RG_NUT_UPGRADE_INF : GI_NUT_UPGRADE_40;
|
||||
return infiniteUpgrades == RO_INF_UPGRADES_PROGRESSIVE ? (GetItemID)RG_NUT_UPGRADE_INF : GI_NUT_UPGRADE_40;
|
||||
}
|
||||
case RG_PROGRESSIVE_BOMB_BAG:
|
||||
switch (CUR_UPG_VALUE(UPG_BOMB_BAG)) {
|
||||
|
@ -1057,7 +1057,7 @@ GetItemID Randomizer::GetItemIdFromRandomizerGet(RandomizerGet randoGet, GetItem
|
|||
return GI_BOMB_BAG_40;
|
||||
case 3:
|
||||
case 4:
|
||||
return infiniteUpgrades ? (GetItemID)RG_BOMB_BAG_INF : GI_BOMB_BAG_40;
|
||||
return infiniteUpgrades == RO_INF_UPGRADES_PROGRESSIVE ? (GetItemID)RG_BOMB_BAG_INF : GI_BOMB_BAG_40;
|
||||
}
|
||||
case RG_BOMBS_5:
|
||||
case RG_BUY_BOMBS_525:
|
||||
|
@ -1081,7 +1081,7 @@ GetItemID Randomizer::GetItemIdFromRandomizerGet(RandomizerGet randoGet, GetItem
|
|||
return GI_QUIVER_50;
|
||||
case 3:
|
||||
case 4:
|
||||
return infiniteUpgrades ? (GetItemID)RG_QUIVER_INF : GI_QUIVER_50;
|
||||
return infiniteUpgrades == RO_INF_UPGRADES_PROGRESSIVE ? (GetItemID)RG_QUIVER_INF : GI_QUIVER_50;
|
||||
}
|
||||
case RG_ARROWS_5:
|
||||
case RG_BUY_ARROWS_10:
|
||||
|
@ -1102,7 +1102,7 @@ GetItemID Randomizer::GetItemIdFromRandomizerGet(RandomizerGet randoGet, GetItem
|
|||
return GI_BULLET_BAG_50;
|
||||
case 3:
|
||||
case 4:
|
||||
return infiniteUpgrades ? (GetItemID)RG_BULLET_BAG_INF : GI_BULLET_BAG_50;
|
||||
return infiniteUpgrades == RO_INF_UPGRADES_PROGRESSIVE ? (GetItemID)RG_BULLET_BAG_INF : GI_BULLET_BAG_50;
|
||||
}
|
||||
case RG_DEKU_SEEDS_30:
|
||||
case RG_BUY_DEKU_SEEDS_30:
|
||||
|
@ -1127,7 +1127,7 @@ GetItemID Randomizer::GetItemIdFromRandomizerGet(RandomizerGet randoGet, GetItem
|
|||
case RG_PROGRESSIVE_BOMBCHUS:
|
||||
if (INV_CONTENT(ITEM_BOMBCHU) == ITEM_NONE) {
|
||||
return (GetItemID)RG_PROGRESSIVE_BOMBCHUS;
|
||||
} else if (infiniteUpgrades) {
|
||||
} else if (infiniteUpgrades != RO_INF_UPGRADES_OFF) {
|
||||
return (GetItemID)RG_BOMBCHU_INF;
|
||||
} else if (AMMO(ITEM_BOMBCHU) < 5) {
|
||||
return GI_BOMBCHUS_10;
|
||||
|
@ -1250,10 +1250,10 @@ GetItemID Randomizer::GetItemIdFromRandomizerGet(RandomizerGet randoGet, GetItem
|
|||
case 1:
|
||||
return GI_WALLET_GIANT;
|
||||
case 2:
|
||||
return tycoonWallet ? (GetItemID)RG_TYCOON_WALLET : infiniteUpgrades ? (GetItemID)RG_WALLET_INF : GI_WALLET_GIANT;
|
||||
return tycoonWallet ? (GetItemID)RG_TYCOON_WALLET : infiniteUpgrades != RO_INF_UPGRADES_OFF ? (GetItemID)RG_WALLET_INF : GI_WALLET_GIANT;
|
||||
case 3:
|
||||
case 4:
|
||||
return infiniteUpgrades ? (GetItemID)RG_WALLET_INF : tycoonWallet ? (GetItemID)RG_TYCOON_WALLET : GI_WALLET_GIANT;
|
||||
return infiniteUpgrades != RO_INF_UPGRADES_OFF ? (GetItemID)RG_WALLET_INF : tycoonWallet ? (GetItemID)RG_TYCOON_WALLET : GI_WALLET_GIANT;
|
||||
}
|
||||
case RG_PROGRESSIVE_SCALE:
|
||||
if (!Flags_GetRandomizerInf(RAND_INF_CAN_SWIM)) {
|
||||
|
@ -1274,7 +1274,7 @@ GetItemID Randomizer::GetItemIdFromRandomizerGet(RandomizerGet randoGet, GetItem
|
|||
return (GetItemID)RG_MAGIC_DOUBLE;
|
||||
case 2:
|
||||
case 3:
|
||||
return infiniteUpgrades ? (GetItemID)RG_MAGIC_INF : (GetItemID)RG_MAGIC_DOUBLE;
|
||||
return infiniteUpgrades != RO_INF_UPGRADES_OFF ? (GetItemID)RG_MAGIC_INF : (GetItemID)RG_MAGIC_DOUBLE;
|
||||
}
|
||||
|
||||
case RG_RECOVERY_HEART:
|
||||
|
|
|
@ -3816,6 +3816,13 @@ typedef enum {
|
|||
RO_FISHSANITY_BOTH
|
||||
} RandoOptionsFishsanity;
|
||||
|
||||
//Infinite Upgrades settings (off, progressive, condensed progressive)
|
||||
typedef enum {
|
||||
RO_INF_UPGRADES_OFF,
|
||||
RO_INF_UPGRADES_PROGRESSIVE,
|
||||
RO_INF_UPGRADES_CONDENSED_PROGRESSIVE,
|
||||
} RandoOptionInfiniteUpgrades;
|
||||
|
||||
//Any Dungeon Item (start with, vanilla, own dungeon, any dungeon,
|
||||
//overworld, anywhere)
|
||||
typedef enum {
|
||||
|
|
|
@ -308,17 +308,6 @@ extern "C" void Randomizer_InitSaveFile() {
|
|||
Flags_SetRandomizerInf(RAND_INF_CAN_SWIM);
|
||||
}
|
||||
|
||||
if (Randomizer_GetSettingValue(RSK_INFINITE_UPGRADES) == RO_GENERIC_OFF) {
|
||||
Flags_SetRandomizerInf(RAND_INF_HAS_INFINITE_QUIVER);
|
||||
Flags_SetRandomizerInf(RAND_INF_HAS_INFINITE_BOMB_BAG);
|
||||
Flags_SetRandomizerInf(RAND_INF_HAS_INFINITE_BULLET_BAG);
|
||||
Flags_SetRandomizerInf(RAND_INF_HAS_INFINITE_STICK_UPGRADE);
|
||||
Flags_SetRandomizerInf(RAND_INF_HAS_INFINITE_NUT_UPGRADE);
|
||||
Flags_SetRandomizerInf(RAND_INF_HAS_INFINITE_MAGIC_METER);
|
||||
Flags_SetRandomizerInf(RAND_INF_HAS_INFINITE_BOMBCHUS);
|
||||
Flags_SetRandomizerInf(RAND_INF_HAS_INFINITE_MONEY);
|
||||
}
|
||||
|
||||
if (Randomizer_GetSettingValue(RSK_SHUFFLE_CHILD_WALLET) == RO_GENERIC_OFF) {
|
||||
Flags_SetRandomizerInf(RAND_INF_HAS_WALLET);
|
||||
}
|
||||
|
|
|
@ -179,7 +179,7 @@ void Settings::CreateOptions() {
|
|||
// TODO: Compasses show rewards/woth, maps show dungeon mode
|
||||
mOptions[RSK_BLUE_FIRE_ARROWS] = Option::Bool("Blue Fire Arrows", "gRandomizeBlueFireArrows", mOptionDescriptions[RSK_BLUE_FIRE_ARROWS]);
|
||||
mOptions[RSK_SUNLIGHT_ARROWS] = Option::Bool("Sunlight Arrows", "gRandomizeSunlightArrows", mOptionDescriptions[RSK_SUNLIGHT_ARROWS]);
|
||||
mOptions[RSK_INFINITE_UPGRADES] = Option::Bool("Infinite Upgrades", "gRandomizeInfiniteUpgrades", mOptionDescriptions[RSK_INFINITE_UPGRADES]);
|
||||
mOptions[RSK_INFINITE_UPGRADES] = Option::U8("Infinite Upgrades", {"Off", "Progressive", "Condensed Progressive"}, OptionCategory::Setting, "gRandomizeInfiniteUpgrades", mOptionDescriptions[RSK_INFINITE_UPGRADES]);
|
||||
mOptions[RSK_ITEM_POOL] = Option::U8("Item Pool", {"Plentiful", "Balanced", "Scarce", "Minimal"}, OptionCategory::Setting, "gRandomizeItemPool", mOptionDescriptions[RSK_ITEM_POOL], WidgetType::Combobox, RO_ITEM_POOL_BALANCED);
|
||||
mOptions[RSK_ICE_TRAPS] = Option::U8("Ice Traps", {"Off", "Normal", "Extra", "Mayhem", "Onslaught"}, OptionCategory::Setting, "gRandomizeIceTraps", mOptionDescriptions[RSK_ICE_TRAPS], WidgetType::Combobox, RO_ICE_TRAPS_NORMAL);
|
||||
// TODO: Remove Double Defense, Progressive Goron Sword
|
||||
|
|
Loading…
Reference in New Issue