Lost woods pots logic

This commit is contained in:
aMannus 2023-12-19 13:21:28 +01:00
parent 7c6253ee9c
commit 6879323bc9
3 changed files with 13 additions and 4 deletions

View File

@ -348,7 +348,7 @@ const std::vector<FlagTable> flagTables = {
{ 0x24, "Market Crowd Text Randomizer" }, { 0x24, "Market Crowd Text Randomizer" },
{ 0x30, "Entered the Market" }, { 0x30, "Entered the Market" },
} }, } },
{ "Randomizer Inf Flags", RANDOMIZER_INF, 0x09, { { "Randomizer Inf Flags", RANDOMIZER_INF, RAND_INF_MAX / 16, {
{ RAND_INF_DUNGEONS_DONE_DEKU_TREE, "DUNGEONS_DONE_DEKU_TREE" }, { RAND_INF_DUNGEONS_DONE_DEKU_TREE, "DUNGEONS_DONE_DEKU_TREE" },
{ RAND_INF_DUNGEONS_DONE_DODONGOS_CAVERN, "DUNGEONS_DONE_DODONGOS_CAVERN" }, { RAND_INF_DUNGEONS_DONE_DODONGOS_CAVERN, "DUNGEONS_DONE_DODONGOS_CAVERN" },
{ RAND_INF_DUNGEONS_DONE_JABU_JABUS_BELLY, "DUNGEONS_DONE_JABU_JABUS_BELLY" }, { RAND_INF_DUNGEONS_DONE_JABU_JABUS_BELLY, "DUNGEONS_DONE_JABU_JABUS_BELLY" },

View File

@ -50,6 +50,7 @@ void AreaTable_Init_LostWoods() {
areaTable[RR_KF_LINKS_HOUSE] = Area("KF Link's House", "KF Link's House", RA_NONE, NO_DAY_NIGHT_CYCLE, {}, { areaTable[RR_KF_LINKS_HOUSE] = Area("KF Link's House", "KF Link's House", RA_NONE, NO_DAY_NIGHT_CYCLE, {}, {
//Locations //Locations
LocationAccess(RC_KF_LINKS_HOUSE_COW, {[]{return IsAdult && CanPlay(EponasSong) && LinksCow;}}), LocationAccess(RC_KF_LINKS_HOUSE_COW, {[]{return IsAdult && CanPlay(EponasSong) && LinksCow;}}),
LocationAccess(RC_KF_LINKS_HOUSE_POT, {[]{return true;}}),
}, { }, {
//Exits //Exits
Entrance(RR_KOKIRI_FOREST, {[]{return true;}}) Entrance(RR_KOKIRI_FOREST, {[]{return true;}})
@ -71,12 +72,20 @@ void AreaTable_Init_LostWoods() {
Entrance(RR_KOKIRI_FOREST, {[]{return true;}}), Entrance(RR_KOKIRI_FOREST, {[]{return true;}}),
}); });
areaTable[RR_KF_HOUSE_OF_TWINS] = Area("KF House of Twins", "KF House of Twins", RA_NONE, NO_DAY_NIGHT_CYCLE, {}, {}, { areaTable[RR_KF_HOUSE_OF_TWINS] = Area("KF House of Twins", "KF House of Twins", RA_NONE, NO_DAY_NIGHT_CYCLE, {}, {
//Locations
LocationAccess(RC_KF_TWINS_HOUSE_POT_1, {[]{return true;}}),
LocationAccess(RC_KF_TWINS_HOUSE_POT_2, {[]{return true;}}),
}, {
//Exits //Exits
Entrance(RR_KOKIRI_FOREST, {[]{return true;}}), Entrance(RR_KOKIRI_FOREST, {[]{return true;}}),
}); });
areaTable[RR_KF_KNOW_IT_ALL_HOUSE] = Area("KF Know It All House", "KF Know It All House", RA_NONE, NO_DAY_NIGHT_CYCLE, {}, {}, { areaTable[RR_KF_KNOW_IT_ALL_HOUSE] = Area("KF Know It All House", "KF Know It All House", RA_NONE, NO_DAY_NIGHT_CYCLE, {}, {
// Locations
LocationAccess(RC_KF_BROTHERS_HOUSE_POT_1, {[]{return true;}}),
LocationAccess(RC_KF_BROTHERS_HOUSE_POT_2, {[]{return true;}}),
}, {
//Exits //Exits
Entrance(RR_KOKIRI_FOREST, {[]{return true;}}), Entrance(RR_KOKIRI_FOREST, {[]{return true;}}),
}); });

View File

@ -1432,7 +1432,7 @@ void Rando::StaticData::InitLocationTable() {
locationTable[RC_GV_COW] = Location::Base(RC_GV_COW, RCQUEST_BOTH, RCTYPE_COW, RCAREA_GERUDO_VALLEY, ACTOR_EN_COW, SCENE_GERUDO_VALLEY, 0x00, 0x15, "Cow", "GV Cow", RHT_GV_COW, RG_MILK, { Category::cCow }, SpoilerCollectionCheck::Cow(0x5A, 0x15), SpoilerCollectionCheckGroup::GROUP_GERUDO_VALLEY); locationTable[RC_GV_COW] = Location::Base(RC_GV_COW, RCQUEST_BOTH, RCTYPE_COW, RCAREA_GERUDO_VALLEY, ACTOR_EN_COW, SCENE_GERUDO_VALLEY, 0x00, 0x15, "Cow", "GV Cow", RHT_GV_COW, RG_MILK, { Category::cCow }, SpoilerCollectionCheck::Cow(0x5A, 0x15), SpoilerCollectionCheckGroup::GROUP_GERUDO_VALLEY);
locationTable[RC_JABU_JABUS_BELLY_MQ_COW] = Location::Base(RC_JABU_JABUS_BELLY_MQ_COW, RCQUEST_MQ, RCTYPE_COW, RCAREA_JABU_JABUS_BELLY, ACTOR_EN_COW, SCENE_JABU_JABU, 0x00, 0x15, "MQ Cow", "Jabu Jabus Belly MQ Cow", RHT_JABU_JABUS_BELLY_MQ_COW, RG_MILK, { Category::cCow }, SpoilerCollectionCheck::Cow(0x02, 0x15), SpoilerCollectionCheckGroup::GROUP_DUNGEON_JABUJABUS_BELLY); locationTable[RC_JABU_JABUS_BELLY_MQ_COW] = Location::Base(RC_JABU_JABUS_BELLY_MQ_COW, RCQUEST_MQ, RCTYPE_COW, RCAREA_JABU_JABUS_BELLY, ACTOR_EN_COW, SCENE_JABU_JABU, 0x00, 0x15, "MQ Cow", "Jabu Jabus Belly MQ Cow", RHT_JABU_JABUS_BELLY_MQ_COW, RG_MILK, { Category::cCow }, SpoilerCollectionCheck::Cow(0x02, 0x15), SpoilerCollectionCheckGroup::GROUP_DUNGEON_JABUJABUS_BELLY);
// Pots Randomizer Check Randomizer Check Quest Type Area Actor ID Scene ID Params Flags Short Name Spoiler Name Hint Text Key Vanilla Item Categories Spoiler Collection Check Collection Check Group // Pots Randomizer Check Randomizer Check Quest Type Area Actor ID Scene ID Params Flags Short Name Spoiler Name Hint Text Key Vanilla Item Categories Spoiler Collection Check Collection Check Group
locationTable[RC_KF_LINKS_HOUSE_POT] = Location::Base(RC_KF_LINKS_HOUSE_POT, RCQUEST_BOTH, RCTYPE_POT, RCAREA_KOKIRI_FOREST, ACTOR_OBJ_TSUBO, SCENE_LINKS_HOUSE, TWO_ACTOR_PARAMS(-118, 51), 0x4103, "Links House Pot", "KF Links House Pot", RHT_KF_LINKS_HOUSE_POT, RG_GREEN_RUPEE, { Category::cPot }, SpoilerCollectionCheck::Pot(0x34, 0x00), SpoilerCollectionCheckGroup::GROUP_KOKIRI_FOREST); locationTable[RC_KF_LINKS_HOUSE_POT] = Location::Base(RC_KF_LINKS_HOUSE_POT, RCQUEST_BOTH, RCTYPE_POT, RCAREA_KOKIRI_FOREST, ACTOR_OBJ_TSUBO, SCENE_LINKS_HOUSE, TWO_ACTOR_PARAMS(-118, 51), 0x4103, "Links House Pot", "KF Links House Pot", RHT_KF_LINKS_HOUSE_POT, RG_GREEN_RUPEE, { Category::cPot }, SpoilerCollectionCheck::Pot(0x34, 0x00), SpoilerCollectionCheckGroup::GROUP_KOKIRI_FOREST);
locationTable[RC_KF_TWINS_HOUSE_POT_1] = Location::Base(RC_KF_TWINS_HOUSE_POT_1, RCQUEST_BOTH, RCTYPE_POT, RCAREA_KOKIRI_FOREST, ACTOR_OBJ_TSUBO, SCENE_TWINS_HOUSE, TWO_ACTOR_PARAMS(33, -55), 0x4300, "Twins House Pot 1", "KF Twins House Pot 1", RHT_KF_TWINS_HOUSE_POT_1, RG_GREEN_RUPEE, { Category::cPot }, SpoilerCollectionCheck::Pot(0x27, 0x00), SpoilerCollectionCheckGroup::GROUP_KOKIRI_FOREST); locationTable[RC_KF_TWINS_HOUSE_POT_1] = Location::Base(RC_KF_TWINS_HOUSE_POT_1, RCQUEST_BOTH, RCTYPE_POT, RCAREA_KOKIRI_FOREST, ACTOR_OBJ_TSUBO, SCENE_TWINS_HOUSE, TWO_ACTOR_PARAMS(33, -55), 0x4300, "Twins House Pot 1", "KF Twins House Pot 1", RHT_KF_TWINS_HOUSE_POT_1, RG_GREEN_RUPEE, { Category::cPot }, SpoilerCollectionCheck::Pot(0x27, 0x00), SpoilerCollectionCheckGroup::GROUP_KOKIRI_FOREST);
locationTable[RC_KF_TWINS_HOUSE_POT_2] = Location::Base(RC_KF_TWINS_HOUSE_POT_2, RCQUEST_BOTH, RCTYPE_POT, RCAREA_KOKIRI_FOREST, ACTOR_OBJ_TSUBO, SCENE_TWINS_HOUSE, TWO_ACTOR_PARAMS(35, 57), 0x4501, "Twins House Pot 2", "KF Twins House Pot 2", RHT_KF_TWINS_HOUSE_POT_2, RG_GREEN_RUPEE, { Category::cPot }, SpoilerCollectionCheck::Pot(0x27, 0x00), SpoilerCollectionCheckGroup::GROUP_KOKIRI_FOREST); locationTable[RC_KF_TWINS_HOUSE_POT_2] = Location::Base(RC_KF_TWINS_HOUSE_POT_2, RCQUEST_BOTH, RCTYPE_POT, RCAREA_KOKIRI_FOREST, ACTOR_OBJ_TSUBO, SCENE_TWINS_HOUSE, TWO_ACTOR_PARAMS(35, 57), 0x4501, "Twins House Pot 2", "KF Twins House Pot 2", RHT_KF_TWINS_HOUSE_POT_2, RG_GREEN_RUPEE, { Category::cPot }, SpoilerCollectionCheck::Pot(0x27, 0x00), SpoilerCollectionCheckGroup::GROUP_KOKIRI_FOREST);