Adds vanilla silver rupees to pool when option is on.

This commit is contained in:
Christopher Leggett 2024-02-12 21:55:33 -05:00
parent 5224e006d8
commit 43f3166517
No known key found for this signature in database
GPG Key ID: 7093AE5FF7037D79

View File

@ -1061,6 +1061,43 @@ void GenerateItemPool() {
}
}
// Silver Rupees
// The Silver Rupees to add to the pool will be different according to which dungeons are vanilla/mq.
if (ctx->GetOption(RSK_SHUFFLE_SILVER_RUPEES).IsNot(RO_SILVER_SHUFFLE_VANILLA)) {
std::vector<RandomizerGet> silversToAdd;
if (ctx->GetDungeon(Rando::ICE_CAVERN)->IsVanilla()) {
silversToAdd.push_back(RG_ICE_CAVERN_SPINNING_BLADES_SILVER_RUPEE);
silversToAdd.push_back(RG_ICE_CAVERN_SLIDING_SILVER_RUPEE);
}
if (ctx->GetDungeon(Rando::BOTTOM_OF_THE_WELL)->IsVanilla()) {
silversToAdd.push_back(RG_BOTTOM_OF_THE_WELL_SILVER_RUPEE);
}
if (ctx->GetDungeon(Rando::GERUDO_TRAINING_GROUNDS)->IsVanilla()) {
silversToAdd.push_back(RG_GERUDO_TRAINING_GROUNDS_BOULDER_SILVER_RUPEE);
silversToAdd.push_back(RG_GERUDO_TRAINING_GROUNDS_LAVA_SILVER_RUPEE);
silversToAdd.push_back(RG_GERUDO_TRAINING_GROUNDS_TOILET_SILVER_RUPEE);
}
if (ctx->GetDungeon(Rando::SPIRIT_TEMPLE)->IsVanilla()) {
silversToAdd.push_back(RG_SPIRIT_CHILD_BLOCK_PUSH_SILVER_RUPEE);
silversToAdd.push_back(RG_SPIRIT_BOULDER_SILVER_RUPEE);
}
if (ctx->GetDungeon(Rando::SHADOW_TEMPLE)->IsVanilla()) {
silversToAdd.push_back(RG_SHADOW_SCYTHE_SILVER_RUPEE);
silversToAdd.push_back(RG_SHADOW_OUTSIDE_SPIKE_RAIN_SILVER_RUPEE);
silversToAdd.push_back(RG_SHADOW_INVISIBLE_SPIKES_SILVER_RUPEE);
}
if (ctx->GetDungeon(Rando::GANONS_CASTLE)->IsVanilla()) {
silversToAdd.push_back(RG_FOREST_TRIAL_SILVER_RUPEE);
silversToAdd.push_back(RG_FIRE_TRIAL_SILVER_RUPEE);
silversToAdd.push_back(RG_SPIRIT_TRIAL_SILVER_RUPEE);
silversToAdd.push_back(RG_LIGHT_TRIAL_SILVER_RUPEE);
}
for (auto rgid : silversToAdd) {
AddItemToMainPool(rgid, ctx->GetSilverRupees()->GetInfo(rgid).GetTotal());
}
}
if (ctx->GetOption(RSK_ITEM_POOL).Is(RO_ITEM_POOL_PLENTIFUL)) {
if (ctx->GetOption(RSK_SHUFFLE_GERUDO_MEMBERSHIP_CARD)) {
AddItemToPool(PendingJunkPool, RG_GERUDO_MEMBERSHIP_CARD);