Move processing for RAND_INF_WEIRD_EGG to trade item processing so it happens whenever you get the egg. (#5382)

Remove RSK check for garden entrance because access is still handled by `CanUse(RG_WEIRD_EGG)`.
This commit is contained in:
Malkierian 2025-04-11 12:49:34 -07:00 committed by GitHub
parent 698fca8862
commit f0f2157a4c
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 4 additions and 5 deletions

View file

@ -245,10 +245,6 @@ void RandomizerOnFlagSetHandler(int16_t flagType, int16_t flag) {
Flags_SetRandomizerInf(RAND_INF_ZELDAS_LETTER); Flags_SetRandomizerInf(RAND_INF_ZELDAS_LETTER);
} }
if (flagType == FLAG_EVENT_CHECK_INF && flag == EVENTCHKINF_OBTAINED_POCKET_EGG) {
Flags_SetRandomizerInf(RAND_INF_WEIRD_EGG);
}
RandomizerCheck rc = GetRandomizerCheckFromFlag(flagType, flag); RandomizerCheck rc = GetRandomizerCheckFromFlag(flagType, flag);
if (rc == RC_UNKNOWN_CHECK) if (rc == RC_UNKNOWN_CHECK)
return; return;

View file

@ -34,7 +34,7 @@ void RegionTable_Init_CastleGrounds() {
}, { }, {
//Exits //Exits
Entrance(RR_CASTLE_GROUNDS, []{return true;}), Entrance(RR_CASTLE_GROUNDS, []{return true;}),
Entrance(RR_HC_GARDEN, []{return logic->CanUse(RG_WEIRD_EGG) || !ctx->GetOption(RSK_SHUFFLE_WEIRD_EGG) || (ctx->GetTrickOption(RT_DAMAGE_BOOST_SIMPLE) && logic->HasExplosives() && logic->CanJumpslash());}), Entrance(RR_HC_GARDEN, []{return logic->CanUse(RG_WEIRD_EGG) || (ctx->GetTrickOption(RT_DAMAGE_BOOST_SIMPLE) && logic->HasExplosives() && logic->CanJumpslash());}),
Entrance(RR_HC_GREAT_FAIRY_FOUNTAIN, []{return logic->BlastOrSmash();}), Entrance(RR_HC_GREAT_FAIRY_FOUNTAIN, []{return logic->BlastOrSmash();}),
Entrance(RR_HC_STORMS_GROTTO, []{return logic->CanOpenStormsGrotto();}), Entrance(RR_HC_STORMS_GROTTO, []{return logic->CanOpenStormsGrotto();}),
}); });

View file

@ -2434,6 +2434,9 @@ u8 Item_Give(PlayState* play, u8 item) {
} }
} else { } else {
Flags_SetRandomizerInf(item - ITEM_WEIRD_EGG + RAND_INF_CHILD_TRADES_HAS_WEIRD_EGG); Flags_SetRandomizerInf(item - ITEM_WEIRD_EGG + RAND_INF_CHILD_TRADES_HAS_WEIRD_EGG);
if (item == ITEM_WEIRD_EGG) {
Flags_SetRandomizerInf(RAND_INF_WEIRD_EGG);
}
} }
} }