logic: allow finding big poe in bottle for reward logic (#5075)

* logic: allow finding big poe in bottle for reward logic

only applies when big poe count is set to 1

* Allow multiple big poe bottles for when big poe requirement > 1
This commit is contained in:
Philip Dubé 2025-02-25 08:30:05 +00:00 committed by GitHub
parent 66844fb220
commit e516f45e23
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 7 additions and 3 deletions

View file

@ -39,7 +39,7 @@ void RegionTable_Init_Market() {
EventAccess(&logic->CanEmptyBigPoes, []{return logic->IsAdult;}),
}, {
//Locations
LOCATION(RC_MARKET_10_BIG_POES, logic->IsAdult && logic->BigPoeKill),
LOCATION(RC_MARKET_10_BIG_POES, logic->IsAdult && (logic->BigPoeKill || logic->BigPoes > ctx->GetOption(RSK_BIG_POE_COUNT).Get())),
LOCATION(RC_MARKET_GS_GUARD_HOUSE, logic->IsChild),
LOCATION(RC_MK_GUARD_HOUSE_CHILD_POT_1, logic->IsChild && logic->CanBreakPots()),
LOCATION(RC_MK_GUARD_HOUSE_CHILD_POT_2, logic->IsChild && logic->CanBreakPots()),

View file

@ -1694,6 +1694,9 @@ namespace Rando {
if (BottleRandomizerGetToItemID.contains(randoGet)) {
itemId = BottleRandomizerGetToItemID[randoGet];
}
if (randoGet == RG_BOTTLE_WITH_BIG_POE) {
BigPoes++;
}
mSaveContext->inventory.items[slot] = itemId;
} break;
case RG_RUTOS_LETTER:
@ -2255,7 +2258,8 @@ namespace Rando {
IsChild = false;
IsAdult = false;
//CanPlantBean = false;
BigPoeKill = false;
BigPoeKill = false;
BigPoes = 0;
BaseHearts = ctx->GetOption(RSK_STARTING_HEARTS).Get() + 1;

View file

@ -36,7 +36,6 @@ class Logic {
// Adult logic
bool FreedEpona = false;
//bool BigPoe = false; //unused
// Trade Quest Events
bool WakeUpAdultTalon = false;
@ -101,6 +100,7 @@ class Logic {
bool IsChild = false;
bool IsAdult = false;
bool BigPoeKill = false;
uint8_t BigPoes = 0;
uint8_t BaseHearts = 0;
// Bridge and LACS Requirements