diff --git a/soh/soh/Enhancements/randomizer/3drando/fill.cpp b/soh/soh/Enhancements/randomizer/3drando/fill.cpp index 1654cd893..a80192689 100644 --- a/soh/soh/Enhancements/randomizer/3drando/fill.cpp +++ b/soh/soh/Enhancements/randomizer/3drando/fill.cpp @@ -920,10 +920,9 @@ static void RandomizeDungeonRewards() { //get stones and medallions std::vector rewards = FilterAndEraseFromPool(ItemPool, [](const auto i) {return Rando::StaticData::RetrieveItem(i).GetItemType() == ITEMTYPE_DUNGEONREWARD;}); - // If there are less than 9 dungeon rewards, prioritize the actual dungeons - // for placement instead of Link's Pocket + // If there are less than 9 dungeon rewards, prioritize actual dungeons for placement over Gift from Rauru if (rewards.size() < 9) { - ctx->PlaceItemInLocation(RC_LINKS_POCKET, RG_GREEN_RUPEE); + ctx->PlaceItemInLocation(RC_GIFT_FROM_RAURU, RG_GREEN_RUPEE); } if (ctx->GetOption(RSK_LOGIC_RULES).Is(RO_LOGIC_VANILLA) || ctx->GetOption(RSK_SHUFFLE_DUNGEON_REWARDS).Is(RO_DUNGEON_REWARDS_VANILLA)) { // Place dungeon rewards in vanilla locations @@ -937,13 +936,6 @@ static void RandomizeDungeonRewards() { for (size_t i = 0; i < Rando::StaticData::dungeonRewardLocations.size(); i++) { const auto index = ctx->GetItemLocation(Rando::StaticData::dungeonRewardLocations[i])->GetPlacedItem().GetItemID() - baseOffset; rDungeonRewardOverrides[i] = index; - - //set the player's dungeon reward on file creation instead of pushing it to them at the start. - //This is done mainly because players are already familiar with seeing their dungeon reward - //before opening up their file - // if (i == Rando::StaticData::dungeonRewardLocations.size()-1) { - // LinksPocketRewardBitMask = bitMaskTable[index]; - // } } } else if (ctx->GetOption(RSK_LINKS_POCKET).Is(RO_LINKS_POCKET_DUNGEON_REWARD)) { //get 1 stone/medallion diff --git a/soh/soh/Enhancements/randomizer/context.cpp b/soh/soh/Enhancements/randomizer/context.cpp index 79a60cc70..582b0fc7a 100644 --- a/soh/soh/Enhancements/randomizer/context.cpp +++ b/soh/soh/Enhancements/randomizer/context.cpp @@ -214,6 +214,8 @@ void Context::ItemReset() { for (const RandomizerCheck il : StaticData::dungeonRewardLocations) { GetItemLocation(il)->ResetVariables(); } + + GetItemLocation(RC_LINKS_POCKET)->ResetVariables(); } void Context::LocationReset() { diff --git a/soh/soh/Enhancements/randomizer/location_list.cpp b/soh/soh/Enhancements/randomizer/location_list.cpp index 54c1d8f81..ae01858c3 100644 --- a/soh/soh/Enhancements/randomizer/location_list.cpp +++ b/soh/soh/Enhancements/randomizer/location_list.cpp @@ -8,8 +8,8 @@ std::multimap, RandomizerCheck> Rando::StaticData::Che std::vector Rando::StaticData::dungeonRewardLocations = { // Bosses - RC_QUEEN_GOHMA, RC_KING_DODONGO, RC_BARINADE, RC_PHANTOM_GANON, RC_VOLVAGIA, - RC_MORPHA, RC_TWINROVA, RC_BONGO_BONGO, RC_LINKS_POCKET, + RC_QUEEN_GOHMA, RC_KING_DODONGO, RC_BARINADE, RC_GIFT_FROM_RAURU, + RC_PHANTOM_GANON, RC_VOLVAGIA, RC_MORPHA, RC_TWINROVA, RC_BONGO_BONGO, }; using namespace Rando;