diff --git a/soh/assets/custom/objects/gameplay_dangeon_keep/PotBaseNoise_8 b/soh/assets/custom/objects/gameplay_dangeon_keep/PotBaseNoise_8
new file mode 100644
index 00000000000..a278fcdff17
Binary files /dev/null and b/soh/assets/custom/objects/gameplay_dangeon_keep/PotBaseNoise_8 differ
diff --git a/soh/assets/custom/objects/gameplay_dangeon_keep/PotFaceNoise_16 b/soh/assets/custom/objects/gameplay_dangeon_keep/PotFaceNoise_16
new file mode 100644
index 00000000000..302172ec0d4
Binary files /dev/null and b/soh/assets/custom/objects/gameplay_dangeon_keep/PotFaceNoise_16 differ
diff --git a/soh/assets/custom/objects/gameplay_dangeon_keep/PotFaceYellow_16 b/soh/assets/custom/objects/gameplay_dangeon_keep/PotFaceYellow_16
new file mode 100644
index 00000000000..cb3e67e381c
Binary files /dev/null and b/soh/assets/custom/objects/gameplay_dangeon_keep/PotFaceYellow_16 differ
diff --git a/soh/assets/custom/objects/gameplay_dangeon_keep/PotFace_32 b/soh/assets/custom/objects/gameplay_dangeon_keep/PotFace_32
new file mode 100644
index 00000000000..a34be6c815f
Binary files /dev/null and b/soh/assets/custom/objects/gameplay_dangeon_keep/PotFace_32 differ
diff --git a/soh/assets/custom/objects/gameplay_dangeon_keep/gRandoPotDL b/soh/assets/custom/objects/gameplay_dangeon_keep/gRandoPotDL
new file mode 100644
index 00000000000..f1e794a9634
--- /dev/null
+++ b/soh/assets/custom/objects/gameplay_dangeon_keep/gRandoPotDL
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/soh/assets/custom/objects/gameplay_dangeon_keep/gRandoPotDL_tri_0 b/soh/assets/custom/objects/gameplay_dangeon_keep/gRandoPotDL_tri_0
new file mode 100644
index 00000000000..e3d576ab53f
--- /dev/null
+++ b/soh/assets/custom/objects/gameplay_dangeon_keep/gRandoPotDL_tri_0
@@ -0,0 +1,69 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/soh/assets/custom/objects/gameplay_dangeon_keep/gRandoPotDL_tri_1 b/soh/assets/custom/objects/gameplay_dangeon_keep/gRandoPotDL_tri_1
new file mode 100644
index 00000000000..9e3577c304a
--- /dev/null
+++ b/soh/assets/custom/objects/gameplay_dangeon_keep/gRandoPotDL_tri_1
@@ -0,0 +1,31 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/soh/assets/custom/objects/gameplay_dangeon_keep/gRandoPotDL_tri_2 b/soh/assets/custom/objects/gameplay_dangeon_keep/gRandoPotDL_tri_2
new file mode 100644
index 00000000000..957020e994c
--- /dev/null
+++ b/soh/assets/custom/objects/gameplay_dangeon_keep/gRandoPotDL_tri_2
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/soh/assets/custom/objects/gameplay_dangeon_keep/gRandoPotDL_tri_3 b/soh/assets/custom/objects/gameplay_dangeon_keep/gRandoPotDL_tri_3
new file mode 100644
index 00000000000..7b2e00037e7
--- /dev/null
+++ b/soh/assets/custom/objects/gameplay_dangeon_keep/gRandoPotDL_tri_3
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/soh/assets/custom/objects/gameplay_dangeon_keep/gRandoPotDL_tri_4 b/soh/assets/custom/objects/gameplay_dangeon_keep/gRandoPotDL_tri_4
new file mode 100644
index 00000000000..554a34e4bcd
--- /dev/null
+++ b/soh/assets/custom/objects/gameplay_dangeon_keep/gRandoPotDL_tri_4
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/soh/assets/custom/objects/gameplay_dangeon_keep/gRandoPotDL_vtx_0 b/soh/assets/custom/objects/gameplay_dangeon_keep/gRandoPotDL_vtx_0
new file mode 100644
index 00000000000..88f1059c31d
--- /dev/null
+++ b/soh/assets/custom/objects/gameplay_dangeon_keep/gRandoPotDL_vtx_0
@@ -0,0 +1,82 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/soh/assets/custom/objects/gameplay_dangeon_keep/gRandoPotDL_vtx_1 b/soh/assets/custom/objects/gameplay_dangeon_keep/gRandoPotDL_vtx_1
new file mode 100644
index 00000000000..24da4e34f4c
--- /dev/null
+++ b/soh/assets/custom/objects/gameplay_dangeon_keep/gRandoPotDL_vtx_1
@@ -0,0 +1,40 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/soh/assets/custom/objects/gameplay_dangeon_keep/gRandoPotDL_vtx_2 b/soh/assets/custom/objects/gameplay_dangeon_keep/gRandoPotDL_vtx_2
new file mode 100644
index 00000000000..6683ff1d25d
--- /dev/null
+++ b/soh/assets/custom/objects/gameplay_dangeon_keep/gRandoPotDL_vtx_2
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/soh/assets/custom/objects/gameplay_dangeon_keep/gRandoPotDL_vtx_3 b/soh/assets/custom/objects/gameplay_dangeon_keep/gRandoPotDL_vtx_3
new file mode 100644
index 00000000000..4394fa228c7
--- /dev/null
+++ b/soh/assets/custom/objects/gameplay_dangeon_keep/gRandoPotDL_vtx_3
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/soh/assets/custom/objects/gameplay_dangeon_keep/gRandoPotDL_vtx_4 b/soh/assets/custom/objects/gameplay_dangeon_keep/gRandoPotDL_vtx_4
new file mode 100644
index 00000000000..2ef56105ab4
--- /dev/null
+++ b/soh/assets/custom/objects/gameplay_dangeon_keep/gRandoPotDL_vtx_4
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/soh/assets/custom/objects/gameplay_dangeon_keep/mat_gRandoPotDL_f3dlite_potbase b/soh/assets/custom/objects/gameplay_dangeon_keep/mat_gRandoPotDL_f3dlite_potbase
new file mode 100644
index 00000000000..6c4a0fdeeff
--- /dev/null
+++ b/soh/assets/custom/objects/gameplay_dangeon_keep/mat_gRandoPotDL_f3dlite_potbase
@@ -0,0 +1,21 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/soh/assets/custom/objects/gameplay_dangeon_keep/mat_gRandoPotDL_f3dlite_potbottom b/soh/assets/custom/objects/gameplay_dangeon_keep/mat_gRandoPotDL_f3dlite_potbottom
new file mode 100644
index 00000000000..e6917904619
--- /dev/null
+++ b/soh/assets/custom/objects/gameplay_dangeon_keep/mat_gRandoPotDL_f3dlite_potbottom
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/soh/assets/custom/objects/gameplay_dangeon_keep/mat_gRandoPotDL_f3dlite_potface b/soh/assets/custom/objects/gameplay_dangeon_keep/mat_gRandoPotDL_f3dlite_potface
new file mode 100644
index 00000000000..0969a02d526
--- /dev/null
+++ b/soh/assets/custom/objects/gameplay_dangeon_keep/mat_gRandoPotDL_f3dlite_potface
@@ -0,0 +1,21 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/soh/assets/custom/objects/gameplay_dangeon_keep/mat_gRandoPotDL_f3dlite_potrim b/soh/assets/custom/objects/gameplay_dangeon_keep/mat_gRandoPotDL_f3dlite_potrim
new file mode 100644
index 00000000000..3c56bbc9671
--- /dev/null
+++ b/soh/assets/custom/objects/gameplay_dangeon_keep/mat_gRandoPotDL_f3dlite_potrim
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/soh/assets/custom/objects/gameplay_dangeon_keep/mat_gRandoPotDL_f3dlite_potvoid b/soh/assets/custom/objects/gameplay_dangeon_keep/mat_gRandoPotDL_f3dlite_potvoid
new file mode 100644
index 00000000000..d39d1af92e8
--- /dev/null
+++ b/soh/assets/custom/objects/gameplay_dangeon_keep/mat_gRandoPotDL_f3dlite_potvoid
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/soh/assets/soh_assets.h b/soh/assets/soh_assets.h
index e8c947d0e8d..8e7d42eae25 100644
--- a/soh/assets/soh_assets.h
+++ b/soh/assets/soh_assets.h
@@ -74,6 +74,9 @@ static const ALIGN_ASSET(2) char gTriforcePieceCompletedDL[] = dgTriforcePieceCo
#define dgBossSoulSkullDL "__OTR__objects/object_boss_soul/gGIBossSoulSkullDL"
static const ALIGN_ASSET(2) char gBossSoulSkullDL[] = dgBossSoulSkullDL;
+#define dgRandoPotDL "__OTR__objects/gameplay_dangeon_keep/gRandoPotDL"
+static const ALIGN_ASSET(2) char gRandoPotDL[] = dgRandoPotDL;
+
#define dgFishingPoleGiDL "__OTR__objects/object_gi_fishing_pole/gFishingPoleGiDL"
static const ALIGN_ASSET(2) char gFishingPoleGiDL[] = dgFishingPoleGiDL;
diff --git a/soh/assets/sources/potshuffle/MysteryPot.blend b/soh/assets/sources/potshuffle/MysteryPot.blend
new file mode 100644
index 00000000000..a3a8334cc72
Binary files /dev/null and b/soh/assets/sources/potshuffle/MysteryPot.blend differ
diff --git a/soh/assets/sources/potshuffle/PotBaseNoise_8.png b/soh/assets/sources/potshuffle/PotBaseNoise_8.png
new file mode 100644
index 00000000000..db1d6e91ebe
Binary files /dev/null and b/soh/assets/sources/potshuffle/PotBaseNoise_8.png differ
diff --git a/soh/assets/sources/potshuffle/PotFace_32.png b/soh/assets/sources/potshuffle/PotFace_32.png
new file mode 100644
index 00000000000..12543fcd45b
Binary files /dev/null and b/soh/assets/sources/potshuffle/PotFace_32.png differ
diff --git a/soh/include/z64actor.h b/soh/include/z64actor.h
index 156f1d6797d..afc3d8f283c 100644
--- a/soh/include/z64actor.h
+++ b/soh/include/z64actor.h
@@ -7,6 +7,7 @@
#include "z64collision_check.h"
#include "z64bgcheck.h"
#include "soh/Enhancements/item-tables/ItemTableTypes.h"
+#include "soh/Enhancements/randomizer/randomizerTypes.h"
#include "z64actor_enum.h"
#include "soh/Enhancements/randomizer/randomizerTypes.h"
diff --git a/soh/include/z64save.h b/soh/include/z64save.h
index 617c2acf526..dea23f11ebb 100644
--- a/soh/include/z64save.h
+++ b/soh/include/z64save.h
@@ -283,7 +283,7 @@ typedef struct {
// #endregion
// #region SOH [Randomizer]
// Upstream TODO: Move these to their own struct or name to more obviously specific to Randomizer
- /* */ u16 randomizerInf[17];
+ /* */ u16 randomizerInf[RAND_INF_MAX / 16];
/* */ u8 mqDungeonCount;
/* */ u16 adultTradeItems;
/* */ u8 triforcePiecesCollected;
diff --git a/soh/soh/Enhancements/debugger/debugSaveEditor.h b/soh/soh/Enhancements/debugger/debugSaveEditor.h
index c3e01b657cd..dcf6a605005 100644
--- a/soh/soh/Enhancements/debugger/debugSaveEditor.h
+++ b/soh/soh/Enhancements/debugger/debugSaveEditor.h
@@ -348,7 +348,7 @@ const std::vector flagTables = {
{ 0x24, "Market Crowd Text Randomizer" },
{ 0x30, "Entered the Market" },
} },
- { "Randomizer Inf Flags", RANDOMIZER_INF, 16, {
+ { "Randomizer Inf Flags", RANDOMIZER_INF, RAND_INF_MAX / 16, {
{ RAND_INF_DUNGEONS_DONE_SPIRIT_TEMPLE, "DUNGEONS_DONE_SPIRIT_TEMPLE" },
{ RAND_INF_DUNGEONS_DONE_SHADOW_TEMPLE, "DUNGEONS_DONE_SHADOW_TEMPLE" },
@@ -510,6 +510,544 @@ const std::vector flagTables = {
{ RAND_INF_HAS_OCARINA_C_LEFT, "RAND_INF_HAS_OCARINA_C_LEFT"},
{ RAND_INF_HAS_OCARINA_C_RIGHT, "RAND_INF_HAS_OCARINA_C_RIGHT"},
+ { RAND_INF_KF_LINKS_HOUSE_POT, "RAND_INF_KF_LINKS_HOUSE_POT" },
+ { RAND_INF_KF_TWINS_HOUSE_POT_1, "RAND_INF_KF_TWINS_HOUSE_POT_1" },
+ { RAND_INF_KF_TWINS_HOUSE_POT_2, "RAND_INF_KF_TWINS_HOUSE_POT_2" },
+ { RAND_INF_KF_BROTHERS_HOUSE_POT_1, "RAND_INF_KF_BROTHERS_HOUSE_POT_1" },
+ { RAND_INF_KF_BROTHERS_HOUSE_POT_2, "RAND_INF_KF_BROTHERS_HOUSE_POT_2" },
+ { RAND_INF_GF_BREAK_ROOM_POT_1, "RAND_INF_GF_BREAK_ROOM_POT_1" },
+ { RAND_INF_GF_BREAK_ROOM_POT_2, "RAND_INF_GF_BREAK_ROOM_POT_2" },
+ { RAND_INF_GF_KITCHEN_POT_1, "RAND_INF_GF_KITCHEN_POT_1" },
+ { RAND_INF_GF_KITCHEN_POT_2, "RAND_INF_GF_KITCHEN_POT_2" },
+ { RAND_INF_GF_NORTH_F1_CARPENTER_POT_1, "RAND_INF_GF_NORTH_F1_CARPENTER_POT_1" },
+ { RAND_INF_GF_NORTH_F1_CARPENTER_POT_2, "RAND_INF_GF_NORTH_F1_CARPENTER_POT_2" },
+ { RAND_INF_GF_NORTH_F1_CARPENTER_POT_3, "RAND_INF_GF_NORTH_F1_CARPENTER_POT_3" },
+ { RAND_INF_GF_NORTH_F2_CARPENTER_POT_1, "RAND_INF_GF_NORTH_F2_CARPENTER_POT_1" },
+ { RAND_INF_GF_NORTH_F2_CARPENTER_POT_2, "RAND_INF_GF_NORTH_F2_CARPENTER_POT_2" },
+ { RAND_INF_GF_SOUTH_F1_CARPENTER_POT_1, "RAND_INF_GF_SOUTH_F1_CARPENTER_POT_1" },
+ { RAND_INF_GF_SOUTH_F1_CARPENTER_POT_2, "RAND_INF_GF_SOUTH_F1_CARPENTER_POT_2" },
+ { RAND_INF_GF_SOUTH_F1_CARPENTER_POT_3, "RAND_INF_GF_SOUTH_F1_CARPENTER_POT_3" },
+ { RAND_INF_GF_SOUTH_F1_CARPENTER_CELL_POT_1, "RAND_INF_GF_SOUTH_F1_CARPENTER_CELL_POT_1" },
+ { RAND_INF_GF_SOUTH_F1_CARPENTER_CELL_POT_2, "RAND_INF_GF_SOUTH_F1_CARPENTER_CELL_POT_2" },
+ { RAND_INF_GF_SOUTH_F1_CARPENTER_CELL_POT_3, "RAND_INF_GF_SOUTH_F1_CARPENTER_CELL_POT_3" },
+ { RAND_INF_GF_SOUTH_F1_CARPENTER_CELL_POT_4, "RAND_INF_GF_SOUTH_F1_CARPENTER_CELL_POT_4" },
+ { RAND_INF_WASTELAND_NEAR_GS_POT_1, "RAND_INF_WASTELAND_NEAR_GS_POT_1" },
+ { RAND_INF_WASTELAND_NEAR_GS_POT_2, "RAND_INF_WASTELAND_NEAR_GS_POT_2" },
+ { RAND_INF_WASTELAND_NEAR_GS_POT_3, "RAND_INF_WASTELAND_NEAR_GS_POT_3" },
+ { RAND_INF_WASTELAND_NEAR_GS_POT_4, "RAND_INF_WASTELAND_NEAR_GS_POT_4" },
+ { RAND_INF_MK_GUARD_HOUSE_CHILD_POT_1, "RAND_INF_MK_GUARD_HOUSE_CHILD_POT_1" },
+ { RAND_INF_MK_GUARD_HOUSE_CHILD_POT_2, "RAND_INF_MK_GUARD_HOUSE_CHILD_POT_2" },
+ { RAND_INF_MK_GUARD_HOUSE_CHILD_POT_3, "RAND_INF_MK_GUARD_HOUSE_CHILD_POT_3" },
+ { RAND_INF_MK_GUARD_HOUSE_CHILD_POT_4, "RAND_INF_MK_GUARD_HOUSE_CHILD_POT_4" },
+ { RAND_INF_MK_GUARD_HOUSE_CHILD_POT_5, "RAND_INF_MK_GUARD_HOUSE_CHILD_POT_5" },
+ { RAND_INF_MK_GUARD_HOUSE_CHILD_POT_6, "RAND_INF_MK_GUARD_HOUSE_CHILD_POT_6" },
+ { RAND_INF_MK_GUARD_HOUSE_CHILD_POT_7, "RAND_INF_MK_GUARD_HOUSE_CHILD_POT_7" },
+ { RAND_INF_MK_GUARD_HOUSE_CHILD_POT_8, "RAND_INF_MK_GUARD_HOUSE_CHILD_POT_8" },
+ { RAND_INF_MK_GUARD_HOUSE_CHILD_POT_9, "RAND_INF_MK_GUARD_HOUSE_CHILD_POT_9" },
+ { RAND_INF_MK_GUARD_HOUSE_CHILD_POT_10, "RAND_INF_MK_GUARD_HOUSE_CHILD_POT_10" },
+ { RAND_INF_MK_GUARD_HOUSE_CHILD_POT_11, "RAND_INF_MK_GUARD_HOUSE_CHILD_POT_11" },
+ { RAND_INF_MK_GUARD_HOUSE_CHILD_POT_12, "RAND_INF_MK_GUARD_HOUSE_CHILD_POT_12" },
+ { RAND_INF_MK_GUARD_HOUSE_CHILD_POT_13, "RAND_INF_MK_GUARD_HOUSE_CHILD_POT_13" },
+ { RAND_INF_MK_GUARD_HOUSE_CHILD_POT_14, "RAND_INF_MK_GUARD_HOUSE_CHILD_POT_14" },
+ { RAND_INF_MK_GUARD_HOUSE_CHILD_POT_15, "RAND_INF_MK_GUARD_HOUSE_CHILD_POT_15" },
+ { RAND_INF_MK_GUARD_HOUSE_CHILD_POT_16, "RAND_INF_MK_GUARD_HOUSE_CHILD_POT_16" },
+ { RAND_INF_MK_GUARD_HOUSE_CHILD_POT_17, "RAND_INF_MK_GUARD_HOUSE_CHILD_POT_17" },
+ { RAND_INF_MK_GUARD_HOUSE_CHILD_POT_18, "RAND_INF_MK_GUARD_HOUSE_CHILD_POT_18" },
+ { RAND_INF_MK_GUARD_HOUSE_CHILD_POT_19, "RAND_INF_MK_GUARD_HOUSE_CHILD_POT_19" },
+ { RAND_INF_MK_GUARD_HOUSE_CHILD_POT_20, "RAND_INF_MK_GUARD_HOUSE_CHILD_POT_20" },
+ { RAND_INF_MK_GUARD_HOUSE_CHILD_POT_21, "RAND_INF_MK_GUARD_HOUSE_CHILD_POT_21" },
+ { RAND_INF_MK_GUARD_HOUSE_CHILD_POT_22, "RAND_INF_MK_GUARD_HOUSE_CHILD_POT_22" },
+ { RAND_INF_MK_GUARD_HOUSE_CHILD_POT_23, "RAND_INF_MK_GUARD_HOUSE_CHILD_POT_23" },
+ { RAND_INF_MK_GUARD_HOUSE_CHILD_POT_24, "RAND_INF_MK_GUARD_HOUSE_CHILD_POT_24" },
+ { RAND_INF_MK_GUARD_HOUSE_CHILD_POT_25, "RAND_INF_MK_GUARD_HOUSE_CHILD_POT_25" },
+ { RAND_INF_MK_GUARD_HOUSE_CHILD_POT_26, "RAND_INF_MK_GUARD_HOUSE_CHILD_POT_26" },
+ { RAND_INF_MK_GUARD_HOUSE_CHILD_POT_27, "RAND_INF_MK_GUARD_HOUSE_CHILD_POT_27" },
+ { RAND_INF_MK_GUARD_HOUSE_CHILD_POT_28, "RAND_INF_MK_GUARD_HOUSE_CHILD_POT_28" },
+ { RAND_INF_MK_GUARD_HOUSE_CHILD_POT_29, "RAND_INF_MK_GUARD_HOUSE_CHILD_POT_29" },
+ { RAND_INF_MK_GUARD_HOUSE_CHILD_POT_30, "RAND_INF_MK_GUARD_HOUSE_CHILD_POT_30" },
+ { RAND_INF_MK_GUARD_HOUSE_CHILD_POT_31, "RAND_INF_MK_GUARD_HOUSE_CHILD_POT_31" },
+ { RAND_INF_MK_GUARD_HOUSE_CHILD_POT_32, "RAND_INF_MK_GUARD_HOUSE_CHILD_POT_32" },
+ { RAND_INF_MK_GUARD_HOUSE_CHILD_POT_33, "RAND_INF_MK_GUARD_HOUSE_CHILD_POT_33" },
+ { RAND_INF_MK_GUARD_HOUSE_CHILD_POT_34, "RAND_INF_MK_GUARD_HOUSE_CHILD_POT_34" },
+ { RAND_INF_MK_GUARD_HOUSE_CHILD_POT_35, "RAND_INF_MK_GUARD_HOUSE_CHILD_POT_35" },
+ { RAND_INF_MK_GUARD_HOUSE_CHILD_POT_36, "RAND_INF_MK_GUARD_HOUSE_CHILD_POT_36" },
+ { RAND_INF_MK_GUARD_HOUSE_CHILD_POT_37, "RAND_INF_MK_GUARD_HOUSE_CHILD_POT_37" },
+ { RAND_INF_MK_GUARD_HOUSE_CHILD_POT_38, "RAND_INF_MK_GUARD_HOUSE_CHILD_POT_38" },
+ { RAND_INF_MK_GUARD_HOUSE_CHILD_POT_39, "RAND_INF_MK_GUARD_HOUSE_CHILD_POT_39" },
+ { RAND_INF_MK_GUARD_HOUSE_CHILD_POT_40, "RAND_INF_MK_GUARD_HOUSE_CHILD_POT_40" },
+ { RAND_INF_MK_GUARD_HOUSE_CHILD_POT_41, "RAND_INF_MK_GUARD_HOUSE_CHILD_POT_41" },
+ { RAND_INF_MK_GUARD_HOUSE_CHILD_POT_42, "RAND_INF_MK_GUARD_HOUSE_CHILD_POT_42" },
+ { RAND_INF_MK_GUARD_HOUSE_CHILD_POT_43, "RAND_INF_MK_GUARD_HOUSE_CHILD_POT_43" },
+ { RAND_INF_MK_GUARD_HOUSE_CHILD_POT_44, "RAND_INF_MK_GUARD_HOUSE_CHILD_POT_44" },
+ { RAND_INF_MK_GUARD_HOUSE_ADULT_POT_1, "RAND_INF_MK_GUARD_HOUSE_ADULT_POT_1" },
+ { RAND_INF_MK_GUARD_HOUSE_ADULT_POT_2, "RAND_INF_MK_GUARD_HOUSE_ADULT_POT_2" },
+ { RAND_INF_MK_GUARD_HOUSE_ADULT_POT_3, "RAND_INF_MK_GUARD_HOUSE_ADULT_POT_3" },
+ { RAND_INF_MK_GUARD_HOUSE_ADULT_POT_4, "RAND_INF_MK_GUARD_HOUSE_ADULT_POT_4" },
+ { RAND_INF_MK_GUARD_HOUSE_ADULT_POT_5, "RAND_INF_MK_GUARD_HOUSE_ADULT_POT_5" },
+ { RAND_INF_MK_GUARD_HOUSE_ADULT_POT_6, "RAND_INF_MK_GUARD_HOUSE_ADULT_POT_6" },
+ { RAND_INF_MK_GUARD_HOUSE_ADULT_POT_7, "RAND_INF_MK_GUARD_HOUSE_ADULT_POT_7" },
+ { RAND_INF_MK_GUARD_HOUSE_ADULT_POT_8, "RAND_INF_MK_GUARD_HOUSE_ADULT_POT_8" },
+ { RAND_INF_MK_GUARD_HOUSE_ADULT_POT_9, "RAND_INF_MK_GUARD_HOUSE_ADULT_POT_9" },
+ { RAND_INF_MK_GUARD_HOUSE_ADULT_POT_10, "RAND_INF_MK_GUARD_HOUSE_ADULT_POT_10" },
+ { RAND_INF_MK_GUARD_HOUSE_ADULT_POT_11, "RAND_INF_MK_GUARD_HOUSE_ADULT_POT_11" },
+ { RAND_INF_MK_BACK_ALLEY_HOUSE_POT_1, "RAND_INF_MK_BACK_ALLEY_HOUSE_POT_1" },
+ { RAND_INF_MK_BACK_ALLEY_HOUSE_POT_2, "RAND_INF_MK_BACK_ALLEY_HOUSE_POT_2" },
+ { RAND_INF_MK_BACK_ALLEY_HOUSE_POT_3, "RAND_INF_MK_BACK_ALLEY_HOUSE_POT_3" },
+ { RAND_INF_KAK_NEAR_POTION_SHOP_POT_1, "RAND_INF_KAK_NEAR_POTION_SHOP_POT_1" },
+ { RAND_INF_KAK_NEAR_POTION_SHOP_POT_2, "RAND_INF_KAK_NEAR_POTION_SHOP_POT_2" },
+ { RAND_INF_KAK_NEAR_POTION_SHOP_POT_3, "RAND_INF_KAK_NEAR_POTION_SHOP_POT_3" },
+ { RAND_INF_KAK_NEAR_IMPAS_HOUSE_POT_1, "RAND_INF_KAK_NEAR_IMPAS_HOUSE_POT_1" },
+ { RAND_INF_KAK_NEAR_IMPAS_HOUSE_POT_2, "RAND_INF_KAK_NEAR_IMPAS_HOUSE_POT_2" },
+ { RAND_INF_KAK_NEAR_IMPAS_HOUSE_POT_3, "RAND_INF_KAK_NEAR_IMPAS_HOUSE_POT_3" },
+ { RAND_INF_KAK_NEAR_GUARDS_HOUSE_POT_1, "RAND_INF_KAK_NEAR_GUARDS_HOUSE_POT_1" },
+ { RAND_INF_KAK_NEAR_GUARDS_HOUSE_POT_2, "RAND_INF_KAK_NEAR_GUARDS_HOUSE_POT_2" },
+ { RAND_INF_KAK_NEAR_GUARDS_HOUSE_POT_3, "RAND_INF_KAK_NEAR_GUARDS_HOUSE_POT_3" },
+ { RAND_INF_KAK_NEAR_MEDICINE_SHOP_POT_1, "RAND_INF_KAK_NEAR_MEDICINE_SHOP_POT_1" },
+ { RAND_INF_KAK_NEAR_MEDICINE_SHOP_POT_2, "RAND_INF_KAK_NEAR_MEDICINE_SHOP_POT_2" },
+ { RAND_INF_GY_DAMPES_GRAVE_POT_1, "RAND_INF_GY_DAMPES_GRAVE_POT_1" },
+ { RAND_INF_GY_DAMPES_GRAVE_POT_2, "RAND_INF_GY_DAMPES_GRAVE_POT_2" },
+ { RAND_INF_GY_DAMPES_GRAVE_POT_3, "RAND_INF_GY_DAMPES_GRAVE_POT_3" },
+ { RAND_INF_GY_DAMPES_GRAVE_POT_4, "RAND_INF_GY_DAMPES_GRAVE_POT_4" },
+ { RAND_INF_GY_DAMPES_GRAVE_POT_5, "RAND_INF_GY_DAMPES_GRAVE_POT_5" },
+ { RAND_INF_GY_DAMPES_GRAVE_POT_6, "RAND_INF_GY_DAMPES_GRAVE_POT_6" },
+ { RAND_INF_GC_LOWER_STAIRCASE_POT_1, "RAND_INF_GC_LOWER_STAIRCASE_POT_1" },
+ { RAND_INF_GC_LOWER_STAIRCASE_POT_2, "RAND_INF_GC_LOWER_STAIRCASE_POT_2" },
+ { RAND_INF_GC_UPPER_STAIRCASE_POT_1, "RAND_INF_GC_UPPER_STAIRCASE_POT_1" },
+ { RAND_INF_GC_UPPER_STAIRCASE_POT_2, "RAND_INF_GC_UPPER_STAIRCASE_POT_2" },
+ { RAND_INF_GC_UPPER_STAIRCASE_POT_3, "RAND_INF_GC_UPPER_STAIRCASE_POT_3" },
+ { RAND_INF_GC_MEDIGORON_POT_1, "RAND_INF_GC_MEDIGORON_POT_1" },
+ { RAND_INF_GC_DARUNIA_POT_1, "RAND_INF_GC_DARUNIA_POT_1" },
+ { RAND_INF_GC_DARUNIA_POT_2, "RAND_INF_GC_DARUNIA_POT_2" },
+ { RAND_INF_GC_DARUNIA_POT_3, "RAND_INF_GC_DARUNIA_POT_3" },
+ { RAND_INF_DMC_NEAR_GC_POT_1, "RAND_INF_DMC_NEAR_GC_POT_1" },
+ { RAND_INF_DMC_NEAR_GC_POT_2, "RAND_INF_DMC_NEAR_GC_POT_2" },
+ { RAND_INF_DMC_NEAR_GC_POT_3, "RAND_INF_DMC_NEAR_GC_POT_3" },
+ { RAND_INF_DMC_NEAR_GC_POT_4, "RAND_INF_DMC_NEAR_GC_POT_4" },
+ { RAND_INF_ZD_NEAR_SHOP_POT_1, "RAND_INF_ZD_NEAR_SHOP_POT_1" },
+ { RAND_INF_ZD_NEAR_SHOP_POT_2, "RAND_INF_ZD_NEAR_SHOP_POT_2" },
+ { RAND_INF_ZD_NEAR_SHOP_POT_3, "RAND_INF_ZD_NEAR_SHOP_POT_3" },
+ { RAND_INF_ZD_NEAR_SHOP_POT_4, "RAND_INF_ZD_NEAR_SHOP_POT_4" },
+ { RAND_INF_ZD_NEAR_SHOP_POT_5, "RAND_INF_ZD_NEAR_SHOP_POT_5" },
+ { RAND_INF_ZF_HIDDEN_CAVE_POT_1, "RAND_INF_ZF_HIDDEN_CAVE_POT_1" },
+ { RAND_INF_ZF_HIDDEN_CAVE_POT_2, "RAND_INF_ZF_HIDDEN_CAVE_POT_2" },
+ { RAND_INF_ZF_HIDDEN_CAVE_POT_3, "RAND_INF_ZF_HIDDEN_CAVE_POT_3" },
+ { RAND_INF_ZF_NEAR_JABU_POT_1, "RAND_INF_ZF_NEAR_JABU_POT_1" },
+ { RAND_INF_ZF_NEAR_JABU_POT_2, "RAND_INF_ZF_NEAR_JABU_POT_2" },
+ { RAND_INF_ZF_NEAR_JABU_POT_3, "RAND_INF_ZF_NEAR_JABU_POT_3" },
+ { RAND_INF_ZF_NEAR_JABU_POT_4, "RAND_INF_ZF_NEAR_JABU_POT_4" },
+ { RAND_INF_LLR_FRONT_POT_1, "RAND_INF_LLR_FRONT_POT_1" },
+ { RAND_INF_LLR_FRONT_POT_2, "RAND_INF_LLR_FRONT_POT_2" },
+ { RAND_INF_LLR_FRONT_POT_3, "RAND_INF_LLR_FRONT_POT_3" },
+ { RAND_INF_LLR_FRONT_POT_4, "RAND_INF_LLR_FRONT_POT_4" },
+ { RAND_INF_LLR_RAIN_SHED_POT_1, "RAND_INF_LLR_RAIN_SHED_POT_1" },
+ { RAND_INF_LLR_RAIN_SHED_POT_2, "RAND_INF_LLR_RAIN_SHED_POT_2" },
+ { RAND_INF_LLR_RAIN_SHED_POT_3, "RAND_INF_LLR_RAIN_SHED_POT_3" },
+ { RAND_INF_LLR_TALONS_HOUSE_POT_1, "RAND_INF_LLR_TALONS_HOUSE_POT_1" },
+ { RAND_INF_LLR_TALONS_HOUSE_POT_2, "RAND_INF_LLR_TALONS_HOUSE_POT_2" },
+ { RAND_INF_LLR_TALONS_HOUSE_POT_3, "RAND_INF_LLR_TALONS_HOUSE_POT_3" },
+ { RAND_INF_HF_COW_GROTTO_POT_1, "RAND_INF_HF_COW_GROTTO_POT_1" },
+ { RAND_INF_HF_COW_GROTTO_POT_2, "RAND_INF_HF_COW_GROTTO_POT_2" },
+ { RAND_INF_HC_STORMS_GROTTO_POT_1, "RAND_INF_HC_STORMS_GROTTO_POT_1" },
+ { RAND_INF_HC_STORMS_GROTTO_POT_2, "RAND_INF_HC_STORMS_GROTTO_POT_2" },
+ { RAND_INF_HC_STORMS_GROTTO_POT_3, "RAND_INF_HC_STORMS_GROTTO_POT_3" },
+ { RAND_INF_HC_STORMS_GROTTO_POT_4, "RAND_INF_HC_STORMS_GROTTO_POT_4" },
+ { RAND_INF_DODONGOS_CAVERN_LIZALFOS_POT_1, "RAND_INF_DODONGOS_CAVERN_LIZALFOS_POT_1" },
+ { RAND_INF_DODONGOS_CAVERN_LIZALFOS_POT_2, "RAND_INF_DODONGOS_CAVERN_LIZALFOS_POT_2" },
+ { RAND_INF_DODONGOS_CAVERN_LIZALFOS_POT_3, "RAND_INF_DODONGOS_CAVERN_LIZALFOS_POT_3" },
+ { RAND_INF_DODONGOS_CAVERN_LIZALFOS_POT_4, "RAND_INF_DODONGOS_CAVERN_LIZALFOS_POT_4" },
+ { RAND_INF_DODONGOS_CAVERN_SIDE_ROOM_POT_1, "RAND_INF_DODONGOS_CAVERN_SIDE_ROOM_POT_1" },
+ { RAND_INF_DODONGOS_CAVERN_SIDE_ROOM_POT_2, "RAND_INF_DODONGOS_CAVERN_SIDE_ROOM_POT_2" },
+ { RAND_INF_DODONGOS_CAVERN_SIDE_ROOM_POT_3, "RAND_INF_DODONGOS_CAVERN_SIDE_ROOM_POT_3" },
+ { RAND_INF_DODONGOS_CAVERN_SIDE_ROOM_POT_4, "RAND_INF_DODONGOS_CAVERN_SIDE_ROOM_POT_4" },
+ { RAND_INF_DODONGOS_CAVERN_SIDE_ROOM_POT_5, "RAND_INF_DODONGOS_CAVERN_SIDE_ROOM_POT_5" },
+ { RAND_INF_DODONGOS_CAVERN_SIDE_ROOM_POT_6, "RAND_INF_DODONGOS_CAVERN_SIDE_ROOM_POT_6" },
+ { RAND_INF_DODONGOS_CAVERN_TORCH_ROOM_POT_1, "RAND_INF_DODONGOS_CAVERN_TORCH_ROOM_POT_1" },
+ { RAND_INF_DODONGOS_CAVERN_TORCH_ROOM_POT_2, "RAND_INF_DODONGOS_CAVERN_TORCH_ROOM_POT_2" },
+ { RAND_INF_DODONGOS_CAVERN_TORCH_ROOM_POT_3, "RAND_INF_DODONGOS_CAVERN_TORCH_ROOM_POT_3" },
+ { RAND_INF_DODONGOS_CAVERN_TORCH_ROOM_POT_4, "RAND_INF_DODONGOS_CAVERN_TORCH_ROOM_POT_4" },
+ { RAND_INF_DODONGOS_CAVERN_STAIRCASE_POT_1, "RAND_INF_DODONGOS_CAVERN_STAIRCASE_POT_1" },
+ { RAND_INF_DODONGOS_CAVERN_STAIRCASE_POT_2, "RAND_INF_DODONGOS_CAVERN_STAIRCASE_POT_2" },
+ { RAND_INF_DODONGOS_CAVERN_STAIRCASE_POT_3, "RAND_INF_DODONGOS_CAVERN_STAIRCASE_POT_3" },
+ { RAND_INF_DODONGOS_CAVERN_STAIRCASE_POT_4, "RAND_INF_DODONGOS_CAVERN_STAIRCASE_POT_4" },
+ { RAND_INF_DODONGOS_CAVERN_SINGLE_EYE_POT_1, "RAND_INF_DODONGOS_CAVERN_SINGLE_EYE_POT_1" },
+ { RAND_INF_DODONGOS_CAVERN_SINGLE_EYE_POT_2, "RAND_INF_DODONGOS_CAVERN_SINGLE_EYE_POT_2" },
+ { RAND_INF_DODONGOS_CAVERN_BLADE_POT_1, "RAND_INF_DODONGOS_CAVERN_BLADE_POT_1" },
+ { RAND_INF_DODONGOS_CAVERN_BLADE_POT_2, "RAND_INF_DODONGOS_CAVERN_BLADE_POT_2" },
+ { RAND_INF_DODONGOS_CAVERN_DOUBLE_EYE_POT_1, "RAND_INF_DODONGOS_CAVERN_DOUBLE_EYE_POT_1" },
+ { RAND_INF_DODONGOS_CAVERN_DOUBLE_EYE_POT_2, "RAND_INF_DODONGOS_CAVERN_DOUBLE_EYE_POT_2" },
+ { RAND_INF_DODONGOS_CAVERN_BACK_ROOM_POT_1, "RAND_INF_DODONGOS_CAVERN_BACK_ROOM_POT_1" },
+ { RAND_INF_DODONGOS_CAVERN_BACK_ROOM_POT_2, "RAND_INF_DODONGOS_CAVERN_BACK_ROOM_POT_2" },
+ { RAND_INF_DODONGOS_CAVERN_BACK_ROOM_POT_3, "RAND_INF_DODONGOS_CAVERN_BACK_ROOM_POT_3" },
+ { RAND_INF_DODONGOS_CAVERN_BACK_ROOM_POT_4, "RAND_INF_DODONGOS_CAVERN_BACK_ROOM_POT_4" },
+ { RAND_INF_JABU_JABUS_BELLY_ABOVE_BIG_OCTO_POT_1, "RAND_INF_JABU_JABUS_BELLY_ABOVE_BIG_OCTO_POT_1" },
+ { RAND_INF_JABU_JABUS_BELLY_ABOVE_BIG_OCTO_POT_2, "RAND_INF_JABU_JABUS_BELLY_ABOVE_BIG_OCTO_POT_2" },
+ { RAND_INF_JABU_JABUS_BELLY_ABOVE_BIG_OCTO_POT_3, "RAND_INF_JABU_JABUS_BELLY_ABOVE_BIG_OCTO_POT_3" },
+ { RAND_INF_JABU_JABUS_BELLY_BARINADE_POT_1, "RAND_INF_JABU_JABUS_BELLY_BARINADE_POT_1" },
+ { RAND_INF_JABU_JABUS_BELLY_BARINADE_POT_2, "RAND_INF_JABU_JABUS_BELLY_BARINADE_POT_2" },
+ { RAND_INF_JABU_JABUS_BELLY_BARINADE_POT_3, "RAND_INF_JABU_JABUS_BELLY_BARINADE_POT_3" },
+ { RAND_INF_JABU_JABUS_BELLY_BARINADE_POT_4, "RAND_INF_JABU_JABUS_BELLY_BARINADE_POT_4" },
+ { RAND_INF_JABU_JABUS_BELLY_BARINADE_POT_5, "RAND_INF_JABU_JABUS_BELLY_BARINADE_POT_5" },
+ { RAND_INF_JABU_JABUS_BELLY_BARINADE_POT_6, "RAND_INF_JABU_JABUS_BELLY_BARINADE_POT_6" },
+ { RAND_INF_JABU_JABUS_BELLY_BASEMENT_POT_1, "RAND_INF_JABU_JABUS_BELLY_BASEMENT_POT_1" },
+ { RAND_INF_JABU_JABUS_BELLY_BASEMENT_POT_2, "RAND_INF_JABU_JABUS_BELLY_BASEMENT_POT_2" },
+ { RAND_INF_JABU_JABUS_BELLY_BASEMENT_POT_3, "RAND_INF_JABU_JABUS_BELLY_BASEMENT_POT_3" },
+ { RAND_INF_JABU_JABUS_BELLY_TWO_OCTOROK_POT_1, "RAND_INF_JABU_JABUS_BELLY_TWO_OCTOROK_POT_1" },
+ { RAND_INF_JABU_JABUS_BELLY_TWO_OCTOROK_POT_2, "RAND_INF_JABU_JABUS_BELLY_TWO_OCTOROK_POT_2" },
+ { RAND_INF_JABU_JABUS_BELLY_TWO_OCTOROK_POT_3, "RAND_INF_JABU_JABUS_BELLY_TWO_OCTOROK_POT_3" },
+ { RAND_INF_JABU_JABUS_BELLY_TWO_OCTOROK_POT_4, "RAND_INF_JABU_JABUS_BELLY_TWO_OCTOROK_POT_4" },
+ { RAND_INF_JABU_JABUS_BELLY_TWO_OCTOROK_POT_5, "RAND_INF_JABU_JABUS_BELLY_TWO_OCTOROK_POT_5" },
+ { RAND_INF_FOREST_TEMPLE_LOBBY_POT_1, "RAND_INF_FOREST_TEMPLE_LOBBY_POT_1" },
+ { RAND_INF_FOREST_TEMPLE_LOBBY_POT_2, "RAND_INF_FOREST_TEMPLE_LOBBY_POT_2" },
+ { RAND_INF_FOREST_TEMPLE_LOBBY_POT_3, "RAND_INF_FOREST_TEMPLE_LOBBY_POT_3" },
+ { RAND_INF_FOREST_TEMPLE_LOBBY_POT_4, "RAND_INF_FOREST_TEMPLE_LOBBY_POT_4" },
+ { RAND_INF_FOREST_TEMPLE_LOBBY_POT_5, "RAND_INF_FOREST_TEMPLE_LOBBY_POT_5" },
+ { RAND_INF_FOREST_TEMPLE_LOBBY_POT_6, "RAND_INF_FOREST_TEMPLE_LOBBY_POT_6" },
+ { RAND_INF_FOREST_TEMPLE_LOWER_STALFOS_POT_1, "RAND_INF_FOREST_TEMPLE_LOWER_STALFOS_POT_1" },
+ { RAND_INF_FOREST_TEMPLE_LOWER_STALFOS_POT_2, "RAND_INF_FOREST_TEMPLE_LOWER_STALFOS_POT_2" },
+ { RAND_INF_FOREST_TEMPLE_GREEN_POE_POT_1, "RAND_INF_FOREST_TEMPLE_GREEN_POE_POT_1" },
+ { RAND_INF_FOREST_TEMPLE_GREEN_POE_POT_2, "RAND_INF_FOREST_TEMPLE_GREEN_POE_POT_2" },
+ { RAND_INF_FOREST_TEMPLE_UPPER_STALFOS_POT_1, "RAND_INF_FOREST_TEMPLE_UPPER_STALFOS_POT_1" },
+ { RAND_INF_FOREST_TEMPLE_UPPER_STALFOS_POT_2, "RAND_INF_FOREST_TEMPLE_UPPER_STALFOS_POT_2" },
+ { RAND_INF_FOREST_TEMPLE_UPPER_STALFOS_POT_3, "RAND_INF_FOREST_TEMPLE_UPPER_STALFOS_POT_3" },
+ { RAND_INF_FOREST_TEMPLE_UPPER_STALFOS_POT_4, "RAND_INF_FOREST_TEMPLE_UPPER_STALFOS_POT_4" },
+ { RAND_INF_FOREST_TEMPLE_BLUE_POE_POT_1, "RAND_INF_FOREST_TEMPLE_BLUE_POE_POT_1" },
+ { RAND_INF_FOREST_TEMPLE_BLUE_POE_POT_2, "RAND_INF_FOREST_TEMPLE_BLUE_POE_POT_2" },
+ { RAND_INF_FOREST_TEMPLE_BLUE_POE_POT_3, "RAND_INF_FOREST_TEMPLE_BLUE_POE_POT_3" },
+ { RAND_INF_FOREST_TEMPLE_FROZEN_EYE_POT_1, "RAND_INF_FOREST_TEMPLE_FROZEN_EYE_POT_1" },
+ { RAND_INF_FOREST_TEMPLE_FROZEN_EYE_POT_2, "RAND_INF_FOREST_TEMPLE_FROZEN_EYE_POT_2" },
+ { RAND_INF_FIRE_TEMPLE_NEAR_BOSS_POT_1, "RAND_INF_FIRE_TEMPLE_NEAR_BOSS_POT_1" },
+ { RAND_INF_FIRE_TEMPLE_NEAR_BOSS_POT_2, "RAND_INF_FIRE_TEMPLE_NEAR_BOSS_POT_2" },
+ { RAND_INF_FIRE_TEMPLE_NEAR_BOSS_POT_3, "RAND_INF_FIRE_TEMPLE_NEAR_BOSS_POT_3" },
+ { RAND_INF_FIRE_TEMPLE_NEAR_BOSS_POT_4, "RAND_INF_FIRE_TEMPLE_NEAR_BOSS_POT_4" },
+ { RAND_INF_FIRE_TEMPLE_BIG_LAVA_POT_1, "RAND_INF_FIRE_TEMPLE_BIG_LAVA_POT_1" },
+ { RAND_INF_FIRE_TEMPLE_BIG_LAVA_POT_2, "RAND_INF_FIRE_TEMPLE_BIG_LAVA_POT_2" },
+ { RAND_INF_FIRE_TEMPLE_BIG_LAVA_POT_3, "RAND_INF_FIRE_TEMPLE_BIG_LAVA_POT_3" },
+ { RAND_INF_FIRE_TEMPLE_FLAME_MAZE_LEFT_POT_1, "RAND_INF_FIRE_TEMPLE_FLAME_MAZE_LEFT_POT_1" },
+ { RAND_INF_FIRE_TEMPLE_FLAME_MAZE_LEFT_POT_2, "RAND_INF_FIRE_TEMPLE_FLAME_MAZE_LEFT_POT_2" },
+ { RAND_INF_FIRE_TEMPLE_FLAME_MAZE_LEFT_POT_3, "RAND_INF_FIRE_TEMPLE_FLAME_MAZE_LEFT_POT_3" },
+ { RAND_INF_FIRE_TEMPLE_FLAME_MAZE_LEFT_POT_4, "RAND_INF_FIRE_TEMPLE_FLAME_MAZE_LEFT_POT_4" },
+ { RAND_INF_FIRE_TEMPLE_FLAME_MAZE_RIGHT_POT_1, "RAND_INF_FIRE_TEMPLE_FLAME_MAZE_RIGHT_POT_1" },
+ { RAND_INF_FIRE_TEMPLE_FLAME_MAZE_RIGHT_POT_2, "RAND_INF_FIRE_TEMPLE_FLAME_MAZE_RIGHT_POT_2" },
+ { RAND_INF_FIRE_TEMPLE_FLAME_MAZE_RIGHT_POT_3, "RAND_INF_FIRE_TEMPLE_FLAME_MAZE_RIGHT_POT_3" },
+ { RAND_INF_FIRE_TEMPLE_FLAME_MAZE_RIGHT_POT_4, "RAND_INF_FIRE_TEMPLE_FLAME_MAZE_RIGHT_POT_4" },
+ { RAND_INF_WATER_TEMPLE_MAIN_LEVEL_2_POT_1, "RAND_INF_WATER_TEMPLE_MAIN_LEVEL_2_POT_1" },
+ { RAND_INF_WATER_TEMPLE_MAIN_LEVEL_2_POT_2, "RAND_INF_WATER_TEMPLE_MAIN_LEVEL_2_POT_2" },
+ { RAND_INF_WATER_TEMPLE_MAIN_LEVEL_1_POT_1, "RAND_INF_WATER_TEMPLE_MAIN_LEVEL_1_POT_1" },
+ { RAND_INF_WATER_TEMPLE_MAIN_LEVEL_1_POT_2, "RAND_INF_WATER_TEMPLE_MAIN_LEVEL_1_POT_2" },
+ { RAND_INF_WATER_TEMPLE_TORCH_POT_1, "RAND_INF_WATER_TEMPLE_TORCH_POT_1" },
+ { RAND_INF_WATER_TEMPLE_TORCH_POT_2, "RAND_INF_WATER_TEMPLE_TORCH_POT_2" },
+ { RAND_INF_WATER_TEMPLE_NEAR_COMPASS_POT_1, "RAND_INF_WATER_TEMPLE_NEAR_COMPASS_POT_1" },
+ { RAND_INF_WATER_TEMPLE_NEAR_COMPASS_POT_2, "RAND_INF_WATER_TEMPLE_NEAR_COMPASS_POT_2" },
+ { RAND_INF_WATER_TEMPLE_NEAR_COMPASS_POT_3, "RAND_INF_WATER_TEMPLE_NEAR_COMPASS_POT_3" },
+ { RAND_INF_WATER_TEMPLE_CENTRAL_BOW_POT_1, "RAND_INF_WATER_TEMPLE_CENTRAL_BOW_POT_1" },
+ { RAND_INF_WATER_TEMPLE_CENTRAL_BOW_POT_2, "RAND_INF_WATER_TEMPLE_CENTRAL_BOW_POT_2" },
+ { RAND_INF_WATER_TEMPLE_BEHIND_GATE_POT_1, "RAND_INF_WATER_TEMPLE_BEHIND_GATE_POT_1" },
+ { RAND_INF_WATER_TEMPLE_BEHIND_GATE_POT_2, "RAND_INF_WATER_TEMPLE_BEHIND_GATE_POT_2" },
+ { RAND_INF_WATER_TEMPLE_BEHIND_GATE_POT_3, "RAND_INF_WATER_TEMPLE_BEHIND_GATE_POT_3" },
+ { RAND_INF_WATER_TEMPLE_BEHIND_GATE_POT_4, "RAND_INF_WATER_TEMPLE_BEHIND_GATE_POT_4" },
+ { RAND_INF_WATER_TEMPLE_BASEMENT_BLOCK_PUZZLE_POT_1, "RAND_INF_WATER_TEMPLE_BASEMENT_BLOCK_PUZZLE_POT_1" },
+ { RAND_INF_WATER_TEMPLE_BASEMENT_BLOCK_PUZZLE_POT_2, "RAND_INF_WATER_TEMPLE_BASEMENT_BLOCK_PUZZLE_POT_2" },
+ { RAND_INF_WATER_TEMPLE_RIVER_POT_1, "RAND_INF_WATER_TEMPLE_RIVER_POT_1" },
+ { RAND_INF_WATER_TEMPLE_RIVER_POT_2, "RAND_INF_WATER_TEMPLE_RIVER_POT_2" },
+ { RAND_INF_WATER_TEMPLE_LIKE_LIKE_POT_1, "RAND_INF_WATER_TEMPLE_LIKE_LIKE_POT_1" },
+ { RAND_INF_WATER_TEMPLE_LIKE_LIKE_POT_2, "RAND_INF_WATER_TEMPLE_LIKE_LIKE_POT_2" },
+ { RAND_INF_WATER_TEMPLE_BOSS_KEY_POT_1, "RAND_INF_WATER_TEMPLE_BOSS_KEY_POT_1" },
+ { RAND_INF_WATER_TEMPLE_BOSS_KEY_POT_2, "RAND_INF_WATER_TEMPLE_BOSS_KEY_POT_2" },
+ { RAND_INF_SHADOW_TEMPLE_NEAR_DEAD_HAND_POT_1, "RAND_INF_SHADOW_TEMPLE_NEAR_DEAD_HAND_POT_1" },
+ { RAND_INF_SHADOW_TEMPLE_WHISPERING_WALLS_POT_1, "RAND_INF_SHADOW_TEMPLE_WHISPERING_WALLS_POT_1" },
+ { RAND_INF_SHADOW_TEMPLE_WHISPERING_WALLS_POT_2, "RAND_INF_SHADOW_TEMPLE_WHISPERING_WALLS_POT_2" },
+ { RAND_INF_SHADOW_TEMPLE_WHISPERING_WALLS_POT_3, "RAND_INF_SHADOW_TEMPLE_WHISPERING_WALLS_POT_3" },
+ { RAND_INF_SHADOW_TEMPLE_WHISPERING_WALLS_POT_4, "RAND_INF_SHADOW_TEMPLE_WHISPERING_WALLS_POT_4" },
+ { RAND_INF_SHADOW_TEMPLE_WHISPERING_WALLS_POT_5, "RAND_INF_SHADOW_TEMPLE_WHISPERING_WALLS_POT_5" },
+ { RAND_INF_SHADOW_TEMPLE_MAP_CHEST_POT_1, "RAND_INF_SHADOW_TEMPLE_MAP_CHEST_POT_1" },
+ { RAND_INF_SHADOW_TEMPLE_MAP_CHEST_POT_2, "RAND_INF_SHADOW_TEMPLE_MAP_CHEST_POT_2" },
+ { RAND_INF_SHADOW_TEMPLE_FALLING_SPIKES_POT_1, "RAND_INF_SHADOW_TEMPLE_FALLING_SPIKES_POT_1" },
+ { RAND_INF_SHADOW_TEMPLE_FALLING_SPIKES_POT_2, "RAND_INF_SHADOW_TEMPLE_FALLING_SPIKES_POT_2" },
+ { RAND_INF_SHADOW_TEMPLE_FALLING_SPIKES_POT_3, "RAND_INF_SHADOW_TEMPLE_FALLING_SPIKES_POT_3" },
+ { RAND_INF_SHADOW_TEMPLE_FALLING_SPIKES_POT_4, "RAND_INF_SHADOW_TEMPLE_FALLING_SPIKES_POT_4" },
+ { RAND_INF_SHADOW_TEMPLE_AFTER_WIND_POT_1, "RAND_INF_SHADOW_TEMPLE_AFTER_WIND_POT_1" },
+ { RAND_INF_SHADOW_TEMPLE_AFTER_WIND_POT_2, "RAND_INF_SHADOW_TEMPLE_AFTER_WIND_POT_2" },
+ { RAND_INF_SHADOW_TEMPLE_SPIKE_WALLS_POT_1, "RAND_INF_SHADOW_TEMPLE_SPIKE_WALLS_POT_1" },
+ { RAND_INF_SHADOW_TEMPLE_FLOORMASTER_POT_1, "RAND_INF_SHADOW_TEMPLE_FLOORMASTER_POT_1" },
+ { RAND_INF_SHADOW_TEMPLE_FLOORMASTER_POT_2, "RAND_INF_SHADOW_TEMPLE_FLOORMASTER_POT_2" },
+ { RAND_INF_SHADOW_TEMPLE_AFTER_BOAT_POT_1, "RAND_INF_SHADOW_TEMPLE_AFTER_BOAT_POT_1" },
+ { RAND_INF_SHADOW_TEMPLE_AFTER_BOAT_POT_2, "RAND_INF_SHADOW_TEMPLE_AFTER_BOAT_POT_2" },
+ { RAND_INF_SHADOW_TEMPLE_AFTER_BOAT_POT_3, "RAND_INF_SHADOW_TEMPLE_AFTER_BOAT_POT_3" },
+ { RAND_INF_SHADOW_TEMPLE_AFTER_BOAT_POT_4, "RAND_INF_SHADOW_TEMPLE_AFTER_BOAT_POT_4" },
+ { RAND_INF_SPIRIT_TEMPLE_LOBBY_POT_1, "RAND_INF_SPIRIT_TEMPLE_LOBBY_POT_1" },
+ { RAND_INF_SPIRIT_TEMPLE_LOBBY_POT_2, "RAND_INF_SPIRIT_TEMPLE_LOBBY_POT_2" },
+ { RAND_INF_SPIRIT_TEMPLE_ANUBIS_POT_1, "RAND_INF_SPIRIT_TEMPLE_ANUBIS_POT_1" },
+ { RAND_INF_SPIRIT_TEMPLE_ANUBIS_POT_2, "RAND_INF_SPIRIT_TEMPLE_ANUBIS_POT_2" },
+ { RAND_INF_SPIRIT_TEMPLE_ANUBIS_POT_3, "RAND_INF_SPIRIT_TEMPLE_ANUBIS_POT_3" },
+ { RAND_INF_SPIRIT_TEMPLE_ANUBIS_POT_4, "RAND_INF_SPIRIT_TEMPLE_ANUBIS_POT_4" },
+ { RAND_INF_SPIRIT_TEMPLE_CHILD_CLIMB_POT_1, "RAND_INF_SPIRIT_TEMPLE_CHILD_CLIMB_POT_1" },
+ { RAND_INF_SPIRIT_TEMPLE_AFTER_SUN_BLOCK_POT_1, "RAND_INF_SPIRIT_TEMPLE_AFTER_SUN_BLOCK_POT_1" },
+ { RAND_INF_SPIRIT_TEMPLE_AFTER_SUN_BLOCK_POT_2, "RAND_INF_SPIRIT_TEMPLE_AFTER_SUN_BLOCK_POT_2" },
+ { RAND_INF_SPIRIT_TEMPLE_CENTRAL_CHAMBER_POT_1, "RAND_INF_SPIRIT_TEMPLE_CENTRAL_CHAMBER_POT_1" },
+ { RAND_INF_SPIRIT_TEMPLE_CENTRAL_CHAMBER_POT_2, "RAND_INF_SPIRIT_TEMPLE_CENTRAL_CHAMBER_POT_2" },
+ { RAND_INF_SPIRIT_TEMPLE_CENTRAL_CHAMBER_POT_3, "RAND_INF_SPIRIT_TEMPLE_CENTRAL_CHAMBER_POT_3" },
+ { RAND_INF_SPIRIT_TEMPLE_CENTRAL_CHAMBER_POT_4, "RAND_INF_SPIRIT_TEMPLE_CENTRAL_CHAMBER_POT_4" },
+ { RAND_INF_SPIRIT_TEMPLE_CENTRAL_CHAMBER_POT_5, "RAND_INF_SPIRIT_TEMPLE_CENTRAL_CHAMBER_POT_5" },
+ { RAND_INF_SPIRIT_TEMPLE_CENTRAL_CHAMBER_POT_6, "RAND_INF_SPIRIT_TEMPLE_CENTRAL_CHAMBER_POT_6" },
+ { RAND_INF_SPIRIT_TEMPLE_BEAMOS_HALL_POT_1, "RAND_INF_SPIRIT_TEMPLE_BEAMOS_HALL_POT_1" },
+ { RAND_INF_GANONS_CASTLE_FOREST_TRIAL_POT_1, "RAND_INF_GANONS_CASTLE_FOREST_TRIAL_POT_1" },
+ { RAND_INF_GANONS_CASTLE_FOREST_TRIAL_POT_2, "RAND_INF_GANONS_CASTLE_FOREST_TRIAL_POT_2" },
+ { RAND_INF_GANONS_CASTLE_FIRE_TRIAL_POT_1, "RAND_INF_GANONS_CASTLE_FIRE_TRIAL_POT_1" },
+ { RAND_INF_GANONS_CASTLE_FIRE_TRIAL_POT_2, "RAND_INF_GANONS_CASTLE_FIRE_TRIAL_POT_2" },
+ { RAND_INF_GANONS_CASTLE_WATER_TRIAL_POT_1, "RAND_INF_GANONS_CASTLE_WATER_TRIAL_POT_1" },
+ { RAND_INF_GANONS_CASTLE_WATER_TRIAL_POT_2, "RAND_INF_GANONS_CASTLE_WATER_TRIAL_POT_2" },
+ { RAND_INF_GANONS_CASTLE_WATER_TRIAL_POT_3, "RAND_INF_GANONS_CASTLE_WATER_TRIAL_POT_3" },
+ { RAND_INF_GANONS_CASTLE_SHADOW_TRIAL_POT_1, "RAND_INF_GANONS_CASTLE_SHADOW_TRIAL_POT_1" },
+ { RAND_INF_GANONS_CASTLE_SHADOW_TRIAL_POT_2, "RAND_INF_GANONS_CASTLE_SHADOW_TRIAL_POT_2" },
+ { RAND_INF_GANONS_CASTLE_SHADOW_TRIAL_POT_3, "RAND_INF_GANONS_CASTLE_SHADOW_TRIAL_POT_3" },
+ { RAND_INF_GANONS_CASTLE_SHADOW_TRIAL_POT_4, "RAND_INF_GANONS_CASTLE_SHADOW_TRIAL_POT_4" },
+ { RAND_INF_GANONS_CASTLE_SPIRIT_TRIAL_POT_1, "RAND_INF_GANONS_CASTLE_SPIRIT_TRIAL_POT_1" },
+ { RAND_INF_GANONS_CASTLE_SPIRIT_TRIAL_POT_2, "RAND_INF_GANONS_CASTLE_SPIRIT_TRIAL_POT_2" },
+ { RAND_INF_GANONS_CASTLE_LIGHT_TRIAL_BOULDER_POT_1, "RAND_INF_GANONS_CASTLE_LIGHT_TRIAL_BOULDER_POT_1" },
+ { RAND_INF_GANONS_CASTLE_LIGHT_TRIAL_POT_1, "RAND_INF_GANONS_CASTLE_LIGHT_TRIAL_POT_1" },
+ { RAND_INF_GANONS_CASTLE_LIGHT_TRIAL_POT_2, "RAND_INF_GANONS_CASTLE_LIGHT_TRIAL_POT_2" },
+ { RAND_INF_GANONS_CASTLE_GANONS_TOWER_POT_1, "RAND_INF_GANONS_CASTLE_GANONS_TOWER_POT_1" },
+ { RAND_INF_GANONS_CASTLE_GANONS_TOWER_POT_2, "RAND_INF_GANONS_CASTLE_GANONS_TOWER_POT_2" },
+ { RAND_INF_GANONS_CASTLE_GANONS_TOWER_POT_3, "RAND_INF_GANONS_CASTLE_GANONS_TOWER_POT_3" },
+ { RAND_INF_GANONS_CASTLE_GANONS_TOWER_POT_4, "RAND_INF_GANONS_CASTLE_GANONS_TOWER_POT_4" },
+ { RAND_INF_GANONS_CASTLE_GANONS_TOWER_POT_5, "RAND_INF_GANONS_CASTLE_GANONS_TOWER_POT_5" },
+ { RAND_INF_GANONS_CASTLE_GANONS_TOWER_POT_6, "RAND_INF_GANONS_CASTLE_GANONS_TOWER_POT_6" },
+ { RAND_INF_GANONS_CASTLE_GANONS_TOWER_POT_7, "RAND_INF_GANONS_CASTLE_GANONS_TOWER_POT_7" },
+ { RAND_INF_GANONS_CASTLE_GANONS_TOWER_POT_8, "RAND_INF_GANONS_CASTLE_GANONS_TOWER_POT_8" },
+ { RAND_INF_GANONS_CASTLE_GANONS_TOWER_POT_9, "RAND_INF_GANONS_CASTLE_GANONS_TOWER_POT_9" },
+ { RAND_INF_GANONS_CASTLE_GANONS_TOWER_POT_10, "RAND_INF_GANONS_CASTLE_GANONS_TOWER_POT_10" },
+ { RAND_INF_GANONS_CASTLE_GANONS_TOWER_POT_11, "RAND_INF_GANONS_CASTLE_GANONS_TOWER_POT_11" },
+ { RAND_INF_GANONS_CASTLE_GANONS_TOWER_POT_12, "RAND_INF_GANONS_CASTLE_GANONS_TOWER_POT_12" },
+ { RAND_INF_GANONS_CASTLE_GANONS_TOWER_POT_13, "RAND_INF_GANONS_CASTLE_GANONS_TOWER_POT_13" },
+ { RAND_INF_GANONS_CASTLE_GANONS_TOWER_POT_14, "RAND_INF_GANONS_CASTLE_GANONS_TOWER_POT_14" },
+ { RAND_INF_GANONS_CASTLE_GANONS_TOWER_POT_15, "RAND_INF_GANONS_CASTLE_GANONS_TOWER_POT_15" },
+ { RAND_INF_GANONS_CASTLE_GANONS_TOWER_POT_16, "RAND_INF_GANONS_CASTLE_GANONS_TOWER_POT_16" },
+ { RAND_INF_GANONS_CASTLE_GANONS_TOWER_POT_17, "RAND_INF_GANONS_CASTLE_GANONS_TOWER_POT_17" },
+ { RAND_INF_GANONS_CASTLE_GANONS_TOWER_POT_18, "RAND_INF_GANONS_CASTLE_GANONS_TOWER_POT_18" },
+ { RAND_INF_BOTTOM_OF_THE_WELL_BASEMENT_POT_1, "RAND_INF_BOTTOM_OF_THE_WELL_BASEMENT_POT_1" },
+ { RAND_INF_BOTTOM_OF_THE_WELL_BASEMENT_POT_2, "RAND_INF_BOTTOM_OF_THE_WELL_BASEMENT_POT_2" },
+ { RAND_INF_BOTTOM_OF_THE_WELL_BASEMENT_POT_3, "RAND_INF_BOTTOM_OF_THE_WELL_BASEMENT_POT_3" },
+ { RAND_INF_BOTTOM_OF_THE_WELL_BASEMENT_POT_4, "RAND_INF_BOTTOM_OF_THE_WELL_BASEMENT_POT_4" },
+ { RAND_INF_BOTTOM_OF_THE_WELL_BASEMENT_POT_5, "RAND_INF_BOTTOM_OF_THE_WELL_BASEMENT_POT_5" },
+ { RAND_INF_BOTTOM_OF_THE_WELL_BASEMENT_POT_6, "RAND_INF_BOTTOM_OF_THE_WELL_BASEMENT_POT_6" },
+ { RAND_INF_BOTTOM_OF_THE_WELL_BASEMENT_POT_7, "RAND_INF_BOTTOM_OF_THE_WELL_BASEMENT_POT_7" },
+ { RAND_INF_BOTTOM_OF_THE_WELL_BASEMENT_POT_8, "RAND_INF_BOTTOM_OF_THE_WELL_BASEMENT_POT_8" },
+ { RAND_INF_BOTTOM_OF_THE_WELL_BASEMENT_POT_9, "RAND_INF_BOTTOM_OF_THE_WELL_BASEMENT_POT_9" },
+ { RAND_INF_BOTTOM_OF_THE_WELL_BASEMENT_POT_10, "RAND_INF_BOTTOM_OF_THE_WELL_BASEMENT_POT_10" },
+ { RAND_INF_BOTTOM_OF_THE_WELL_BASEMENT_POT_11, "RAND_INF_BOTTOM_OF_THE_WELL_BASEMENT_POT_11" },
+ { RAND_INF_BOTTOM_OF_THE_WELL_BASEMENT_POT_12, "RAND_INF_BOTTOM_OF_THE_WELL_BASEMENT_POT_12" },
+ { RAND_INF_BOTTOM_OF_THE_WELL_LEFT_SIDE_POT_1, "RAND_INF_BOTTOM_OF_THE_WELL_LEFT_SIDE_POT_1" },
+ { RAND_INF_BOTTOM_OF_THE_WELL_LEFT_SIDE_POT_2, "RAND_INF_BOTTOM_OF_THE_WELL_LEFT_SIDE_POT_2" },
+ { RAND_INF_BOTTOM_OF_THE_WELL_LEFT_SIDE_POT_3, "RAND_INF_BOTTOM_OF_THE_WELL_LEFT_SIDE_POT_3" },
+ { RAND_INF_BOTTOM_OF_THE_WELL_NEAR_ENTRANCE_POT_1, "RAND_INF_BOTTOM_OF_THE_WELL_NEAR_ENTRANCE_POT_1" },
+ { RAND_INF_BOTTOM_OF_THE_WELL_NEAR_ENTRANCE_POT_2, "RAND_INF_BOTTOM_OF_THE_WELL_NEAR_ENTRANCE_POT_2" },
+ { RAND_INF_BOTTOM_OF_THE_WELL_FIRE_KEESE_POT_1, "RAND_INF_BOTTOM_OF_THE_WELL_FIRE_KEESE_POT_1" },
+ { RAND_INF_BOTTOM_OF_THE_WELL_UNDERWATER_POT, "RAND_INF_BOTTOM_OF_THE_WELL_UNDERWATER_POT" },
+ { RAND_INF_ICE_CAVERN_HALL_POT_1, "RAND_INF_ICE_CAVERN_HALL_POT_1" },
+ { RAND_INF_ICE_CAVERN_HALL_POT_2, "RAND_INF_ICE_CAVERN_HALL_POT_2" },
+ { RAND_INF_ICE_CAVERN_SPINNING_BLADE_POT_1, "RAND_INF_ICE_CAVERN_SPINNING_BLADE_POT_1" },
+ { RAND_INF_ICE_CAVERN_SPINNING_BLADE_POT_2, "RAND_INF_ICE_CAVERN_SPINNING_BLADE_POT_2" },
+ { RAND_INF_ICE_CAVERN_SPINNING_BLADE_POT_3, "RAND_INF_ICE_CAVERN_SPINNING_BLADE_POT_3" },
+ { RAND_INF_ICE_CAVERN_NEAR_END_POT_1, "RAND_INF_ICE_CAVERN_NEAR_END_POT_1" },
+ { RAND_INF_ICE_CAVERN_NEAR_END_POT_2, "RAND_INF_ICE_CAVERN_NEAR_END_POT_2" },
+ { RAND_INF_ICE_CAVERN_FROZEN_POT_1, "RAND_INF_ICE_CAVERN_FROZEN_POT_1" },
+
+ { RAND_INF_JABU_JABUS_BELLY_MQ_ENTRANCE_POT_1, "RAND_INF_JABU_JABUS_BELLY_MQ_ENTRANCE_POT_1" },
+ { RAND_INF_JABU_JABUS_BELLY_MQ_ENTRANCE_POT_2, "RAND_INF_JABU_JABUS_BELLY_MQ_ENTRANCE_POT_2" },
+ { RAND_INF_JABU_JABUS_BELLY_MQ_GEYSER_POT_1, "RAND_INF_JABU_JABUS_BELLY_MQ_GEYSER_POT_1" },
+ { RAND_INF_JABU_JABUS_BELLY_MQ_GEYSER_POT_2, "RAND_INF_JABU_JABUS_BELLY_MQ_GEYSER_POT_2" },
+ { RAND_INF_JABU_JABUS_BELLY_MQ_TIME_BLOCK_POT_1, "RAND_INF_JABU_JABUS_BELLY_MQ_TIME_BLOCK_POT_1" },
+ { RAND_INF_JABU_JABUS_BELLY_MQ_TIME_BLOCK_POT_2, "RAND_INF_JABU_JABUS_BELLY_MQ_TIME_BLOCK_POT_2" },
+ { RAND_INF_JABU_JABUS_BELLY_MQ_LIKE_LIKES_POT_1, "RAND_INF_JABU_JABUS_BELLY_MQ_LIKE_LIKES_POT_1" },
+ { RAND_INF_JABU_JABUS_BELLY_MQ_LIKE_LIKES_POT_2, "RAND_INF_JABU_JABUS_BELLY_MQ_LIKE_LIKES_POT_2" },
+ { RAND_INF_JABU_JABUS_BELLY_MQ_BEFORE_BOSS_POT_1, "RAND_INF_JABU_JABUS_BELLY_MQ_BEFORE_BOSS_POT_1" },
+ { RAND_INF_FOREST_TEMPLE_MQ_LOBBY_POT_1, "RAND_INF_FOREST_TEMPLE_MQ_LOBBY_POT_1" },
+ { RAND_INF_FOREST_TEMPLE_MQ_LOBBY_POT_2, "RAND_INF_FOREST_TEMPLE_MQ_LOBBY_POT_2" },
+ { RAND_INF_FOREST_TEMPLE_MQ_LOBBY_POT_3, "RAND_INF_FOREST_TEMPLE_MQ_LOBBY_POT_3" },
+ { RAND_INF_FOREST_TEMPLE_MQ_LOBBY_POT_4, "RAND_INF_FOREST_TEMPLE_MQ_LOBBY_POT_4" },
+ { RAND_INF_FOREST_TEMPLE_MQ_LOBBY_POT_5, "RAND_INF_FOREST_TEMPLE_MQ_LOBBY_POT_5" },
+ { RAND_INF_FOREST_TEMPLE_MQ_LOBBY_POT_6, "RAND_INF_FOREST_TEMPLE_MQ_LOBBY_POT_6" },
+ { RAND_INF_FOREST_TEMPLE_MQ_LOWER_STALFOS_POT_1, "RAND_INF_FOREST_TEMPLE_MQ_LOWER_STALFOS_POT_1" },
+ { RAND_INF_FOREST_TEMPLE_MQ_LOWER_STALFOS_POT_2, "RAND_INF_FOREST_TEMPLE_MQ_LOWER_STALFOS_POT_2" },
+ { RAND_INF_FOREST_TEMPLE_MQ_UPPER_STALFOS_POT_1, "RAND_INF_FOREST_TEMPLE_MQ_UPPER_STALFOS_POT_1" },
+ { RAND_INF_FOREST_TEMPLE_MQ_UPPER_STALFOS_POT_2, "RAND_INF_FOREST_TEMPLE_MQ_UPPER_STALFOS_POT_2" },
+ { RAND_INF_FOREST_TEMPLE_MQ_UPPER_STALFOS_POT_3, "RAND_INF_FOREST_TEMPLE_MQ_UPPER_STALFOS_POT_3" },
+ { RAND_INF_FOREST_TEMPLE_MQ_UPPER_STALFOS_POT_4, "RAND_INF_FOREST_TEMPLE_MQ_UPPER_STALFOS_POT_4" },
+ { RAND_INF_FOREST_TEMPLE_MQ_BLUE_POE_POT_1, "RAND_INF_FOREST_TEMPLE_MQ_BLUE_POE_POT_1" },
+ { RAND_INF_FOREST_TEMPLE_MQ_BLUE_POE_POT_2, "RAND_INF_FOREST_TEMPLE_MQ_BLUE_POE_POT_2" },
+ { RAND_INF_FOREST_TEMPLE_MQ_BLUE_POE_POT_3, "RAND_INF_FOREST_TEMPLE_MQ_BLUE_POE_POT_3" },
+ { RAND_INF_FOREST_TEMPLE_MQ_GREEN_POE_POT_1, "RAND_INF_FOREST_TEMPLE_MQ_GREEN_POE_POT_1" },
+ { RAND_INF_FOREST_TEMPLE_MQ_GREEN_POE_POT_2, "RAND_INF_FOREST_TEMPLE_MQ_GREEN_POE_POT_2" },
+ { RAND_INF_FOREST_TEMPLE_MQ_BASEMENT_POT_1, "RAND_INF_FOREST_TEMPLE_MQ_BASEMENT_POT_1" },
+ { RAND_INF_FOREST_TEMPLE_MQ_BASEMENT_POT_2, "RAND_INF_FOREST_TEMPLE_MQ_BASEMENT_POT_2" },
+ { RAND_INF_FOREST_TEMPLE_MQ_BASEMENT_POT_3, "RAND_INF_FOREST_TEMPLE_MQ_BASEMENT_POT_3" },
+ { RAND_INF_FOREST_TEMPLE_MQ_BASEMENT_POT_4, "RAND_INF_FOREST_TEMPLE_MQ_BASEMENT_POT_4" },
+ { RAND_INF_DODONGOS_CAVERN_MQ_RIGHT_SIDE_POT_1, "RAND_INF_DODONGOS_CAVERN_MQ_RIGHT_SIDE_POT_1" },
+ { RAND_INF_DODONGOS_CAVERN_MQ_RIGHT_SIDE_POT_2, "RAND_INF_DODONGOS_CAVERN_MQ_RIGHT_SIDE_POT_2" },
+ { RAND_INF_DODONGOS_CAVERN_MQ_RIGHT_SIDE_POT_3, "RAND_INF_DODONGOS_CAVERN_MQ_RIGHT_SIDE_POT_3" },
+ { RAND_INF_DODONGOS_CAVERN_MQ_RIGHT_SIDE_POT_4, "RAND_INF_DODONGOS_CAVERN_MQ_RIGHT_SIDE_POT_4" },
+ { RAND_INF_DODONGOS_CAVERN_MQ_UPPER_LIZALFOS_POT_1, "RAND_INF_DODONGOS_CAVERN_MQ_UPPER_LIZALFOS_POT_1" },
+ { RAND_INF_DODONGOS_CAVERN_MQ_UPPER_LIZALFOS_POT_2, "RAND_INF_DODONGOS_CAVERN_MQ_UPPER_LIZALFOS_POT_2" },
+ { RAND_INF_DODONGOS_CAVERN_MQ_UPPER_LIZALFOS_POT_3, "RAND_INF_DODONGOS_CAVERN_MQ_UPPER_LIZALFOS_POT_3" },
+ { RAND_INF_DODONGOS_CAVERN_MQ_UPPER_LIZALFOS_POT_4, "RAND_INF_DODONGOS_CAVERN_MQ_UPPER_LIZALFOS_POT_4" },
+ { RAND_INF_DODONGOS_CAVERN_MQ_POE_ROOM_POT_1, "RAND_INF_DODONGOS_CAVERN_MQ_POE_ROOM_POT_1" },
+ { RAND_INF_DODONGOS_CAVERN_MQ_POE_ROOM_POT_2, "RAND_INF_DODONGOS_CAVERN_MQ_POE_ROOM_POT_2" },
+ { RAND_INF_DODONGOS_CAVERN_MQ_POE_ROOM_POT_3, "RAND_INF_DODONGOS_CAVERN_MQ_POE_ROOM_POT_3" },
+ { RAND_INF_DODONGOS_CAVERN_MQ_POE_ROOM_POT_4, "RAND_INF_DODONGOS_CAVERN_MQ_POE_ROOM_POT_4" },
+ { RAND_INF_DODONGOS_CAVERN_MQ_BLOCK_ROOM_POT_1, "RAND_INF_DODONGOS_CAVERN_MQ_BLOCK_ROOM_POT_1" },
+ { RAND_INF_DODONGOS_CAVERN_MQ_BLOCK_ROOM_POT_2, "RAND_INF_DODONGOS_CAVERN_MQ_BLOCK_ROOM_POT_2" },
+ { RAND_INF_DODONGOS_CAVERN_MQ_TWO_FLAMES_POT_1, "RAND_INF_DODONGOS_CAVERN_MQ_TWO_FLAMES_POT_1" },
+ { RAND_INF_DODONGOS_CAVERN_MQ_TWO_FLAMES_POT_2, "RAND_INF_DODONGOS_CAVERN_MQ_TWO_FLAMES_POT_2" },
+ { RAND_INF_DODONGOS_CAVERN_MQ_SILVER_BLOCK_POT_1, "RAND_INF_DODONGOS_CAVERN_MQ_SILVER_BLOCK_POT_1" },
+ { RAND_INF_DODONGOS_CAVERN_MQ_SILVER_BLOCK_POT_2, "RAND_INF_DODONGOS_CAVERN_MQ_SILVER_BLOCK_POT_2" },
+ { RAND_INF_DODONGOS_CAVERN_MQ_STAIRCASE_POT_1, "RAND_INF_DODONGOS_CAVERN_MQ_STAIRCASE_POT_1" },
+ { RAND_INF_DODONGOS_CAVERN_MQ_STAIRCASE_POT_2, "RAND_INF_DODONGOS_CAVERN_MQ_STAIRCASE_POT_2" },
+ { RAND_INF_DODONGOS_CAVERN_MQ_STAIRCASE_POT_3, "RAND_INF_DODONGOS_CAVERN_MQ_STAIRCASE_POT_3" },
+ { RAND_INF_DODONGOS_CAVERN_MQ_STAIRCASE_POT_4, "RAND_INF_DODONGOS_CAVERN_MQ_STAIRCASE_POT_4" },
+ { RAND_INF_DODONGOS_CAVERN_MQ_ARMOS_POT_1, "RAND_INF_DODONGOS_CAVERN_MQ_ARMOS_POT_1" },
+ { RAND_INF_DODONGOS_CAVERN_MQ_ARMOS_POT_2, "RAND_INF_DODONGOS_CAVERN_MQ_ARMOS_POT_2" },
+ { RAND_INF_DODONGOS_CAVERN_MQ_ARMOS_POT_3, "RAND_INF_DODONGOS_CAVERN_MQ_ARMOS_POT_3" },
+ { RAND_INF_DODONGOS_CAVERN_MQ_ARMOS_POT_4, "RAND_INF_DODONGOS_CAVERN_MQ_ARMOS_POT_4" },
+ { RAND_INF_DODONGOS_CAVERN_MQ_BEFORE_BOSS_POT_1, "RAND_INF_DODONGOS_CAVERN_MQ_BEFORE_BOSS_POT_1" },
+ { RAND_INF_DODONGOS_CAVERN_MQ_BEFORE_BOSS_POT_2, "RAND_INF_DODONGOS_CAVERN_MQ_BEFORE_BOSS_POT_2" },
+ { RAND_INF_DODONGOS_CAVERN_MQ_BACKROOM_POT_1, "RAND_INF_DODONGOS_CAVERN_MQ_BACKROOM_POT_1" },
+ { RAND_INF_DODONGOS_CAVERN_MQ_BACKROOM_POT_2, "RAND_INF_DODONGOS_CAVERN_MQ_BACKROOM_POT_2" },
+ { RAND_INF_GANONS_CASTLE_MQ_FOREST_TRIAL_POT_1, "RAND_INF_GANONS_CASTLE_MQ_FOREST_TRIAL_POT_1" },
+ { RAND_INF_GANONS_CASTLE_MQ_FOREST_TRIAL_POT_2, "RAND_INF_GANONS_CASTLE_MQ_FOREST_TRIAL_POT_2" },
+ { RAND_INF_GANONS_CASTLE_MQ_WATER_TRIAL_POT_1, "RAND_INF_GANONS_CASTLE_MQ_WATER_TRIAL_POT_1" },
+ { RAND_INF_GANONS_CASTLE_MQ_WATER_TRIAL_POT_2, "RAND_INF_GANONS_CASTLE_MQ_WATER_TRIAL_POT_2" },
+ { RAND_INF_GANONS_CASTLE_MQ_SHADOW_TRIAL_POT_1, "RAND_INF_GANONS_CASTLE_MQ_SHADOW_TRIAL_POT_1" },
+ { RAND_INF_GANONS_CASTLE_MQ_SHADOW_TRIAL_POT_2, "RAND_INF_GANONS_CASTLE_MQ_SHADOW_TRIAL_POT_2" },
+ { RAND_INF_GANONS_CASTLE_MQ_FIRE_TRIAL_POT_1, "RAND_INF_GANONS_CASTLE_MQ_FIRE_TRIAL_POT_1" },
+ { RAND_INF_GANONS_CASTLE_MQ_FIRE_TRIAL_POT_2, "RAND_INF_GANONS_CASTLE_MQ_FIRE_TRIAL_POT_2" },
+ { RAND_INF_GANONS_CASTLE_MQ_LIGHT_TRIAL_POT_1, "RAND_INF_GANONS_CASTLE_MQ_LIGHT_TRIAL_POT_1" },
+ { RAND_INF_GANONS_CASTLE_MQ_LIGHT_TRIAL_POT_2, "RAND_INF_GANONS_CASTLE_MQ_LIGHT_TRIAL_POT_2" },
+ { RAND_INF_GANONS_CASTLE_MQ_SPIRIT_TRIAL_POT_1, "RAND_INF_GANONS_CASTLE_MQ_SPIRIT_TRIAL_POT_1" },
+ { RAND_INF_GANONS_CASTLE_MQ_SPIRIT_TRIAL_POT_2, "RAND_INF_GANONS_CASTLE_MQ_SPIRIT_TRIAL_POT_2" },
+ { RAND_INF_SHADOW_TEMPLE_MQ_WHISPERING_WALLS_POT_1, "RAND_INF_SHADOW_TEMPLE_MQ_WHISPERING_WALLS_POT_1" },
+ { RAND_INF_SHADOW_TEMPLE_MQ_WHISPERING_WALLS_POT_2, "RAND_INF_SHADOW_TEMPLE_MQ_WHISPERING_WALLS_POT_2" },
+ { RAND_INF_SHADOW_TEMPLE_MQ_ENTRANCE_REDEAD_POT_1, "RAND_INF_SHADOW_TEMPLE_MQ_ENTRANCE_REDEAD_POT_1" },
+ { RAND_INF_SHADOW_TEMPLE_MQ_ENTRANCE_REDEAD_POT_2, "RAND_INF_SHADOW_TEMPLE_MQ_ENTRANCE_REDEAD_POT_2" },
+ { RAND_INF_SHADOW_TEMPLE_MQ_FALLING_SPIKES_POT_1, "RAND_INF_SHADOW_TEMPLE_MQ_FALLING_SPIKES_POT_1" },
+ { RAND_INF_SHADOW_TEMPLE_MQ_FALLING_SPIKES_POT_2, "RAND_INF_SHADOW_TEMPLE_MQ_FALLING_SPIKES_POT_2" },
+ { RAND_INF_SHADOW_TEMPLE_MQ_FALLING_SPIKES_POT_3, "RAND_INF_SHADOW_TEMPLE_MQ_FALLING_SPIKES_POT_3" },
+ { RAND_INF_SHADOW_TEMPLE_MQ_FALLING_SPIKES_POT_4, "RAND_INF_SHADOW_TEMPLE_MQ_FALLING_SPIKES_POT_4" },
+ { RAND_INF_SHADOW_TEMPLE_MQ_BEFORE_BOAT_POT_1, "RAND_INF_SHADOW_TEMPLE_MQ_BEFORE_BOAT_POT_1" },
+ { RAND_INF_SHADOW_TEMPLE_MQ_BEFORE_BOAT_POT_2, "RAND_INF_SHADOW_TEMPLE_MQ_BEFORE_BOAT_POT_2" },
+ { RAND_INF_SHADOW_TEMPLE_MQ_AFTER_BOAT_POT_1, "RAND_INF_SHADOW_TEMPLE_MQ_AFTER_BOAT_POT_1" },
+ { RAND_INF_SHADOW_TEMPLE_MQ_AFTER_BOAT_POT_2, "RAND_INF_SHADOW_TEMPLE_MQ_AFTER_BOAT_POT_2" },
+ { RAND_INF_SHADOW_TEMPLE_MQ_AFTER_BOAT_POT_3, "RAND_INF_SHADOW_TEMPLE_MQ_AFTER_BOAT_POT_3" },
+ { RAND_INF_SHADOW_TEMPLE_MQ_AFTER_BOAT_POT_4, "RAND_INF_SHADOW_TEMPLE_MQ_AFTER_BOAT_POT_4" },
+ { RAND_INF_SHADOW_TEMPLE_MQ_SPIKE_BARICADE_POT, "RAND_INF_SHADOW_TEMPLE_MQ_SPIKE_BARICADE_POT" },
+ { RAND_INF_SHADOW_TEMPLE_MQ_DEAD_HAND_POT_1, "RAND_INF_SHADOW_TEMPLE_MQ_DEAD_HAND_POT_1" },
+ { RAND_INF_SHADOW_TEMPLE_MQ_DEAD_HAND_POT_2, "RAND_INF_SHADOW_TEMPLE_MQ_DEAD_HAND_POT_2" },
+ { RAND_INF_BOTTOM_OF_THE_WELL_MQ_INNER_LOBBY_POT_1, "RAND_INF_BOTTOM_OF_THE_WELL_MQ_INNER_LOBBY_POT_1" },
+ { RAND_INF_BOTTOM_OF_THE_WELL_MQ_INNER_LOBBY_POT_2, "RAND_INF_BOTTOM_OF_THE_WELL_MQ_INNER_LOBBY_POT_2" },
+ { RAND_INF_BOTTOM_OF_THE_WELL_MQ_INNER_LOBBY_POT_3, "RAND_INF_BOTTOM_OF_THE_WELL_MQ_INNER_LOBBY_POT_3" },
+ { RAND_INF_BOTTOM_OF_THE_WELL_MQ_OUTER_LOBBY_POT, "RAND_INF_BOTTOM_OF_THE_WELL_MQ_OUTER_LOBBY_POT" },
+ { RAND_INF_BOTTOM_OF_THE_WELL_MQ_SOUTH_KEY_POT_1, "RAND_INF_BOTTOM_OF_THE_WELL_MQ_SOUTH_KEY_POT_1" },
+ { RAND_INF_BOTTOM_OF_THE_WELL_MQ_SOUTH_KEY_POT_2, "RAND_INF_BOTTOM_OF_THE_WELL_MQ_SOUTH_KEY_POT_2" },
+ { RAND_INF_BOTTOM_OF_THE_WELL_MQ_SOUTH_KEY_POT_3, "RAND_INF_BOTTOM_OF_THE_WELL_MQ_SOUTH_KEY_POT_3" },
+ { RAND_INF_FIRE_TEMPLE_MQ_ENTRANCE_POT_1, "RAND_INF_FIRE_TEMPLE_MQ_ENTRANCE_POT_1" },
+ { RAND_INF_FIRE_TEMPLE_MQ_ENTRANCE_POT_2, "RAND_INF_FIRE_TEMPLE_MQ_ENTRANCE_POT_2" },
+ { RAND_INF_FIRE_TEMPLE_MQ_OUTSIDE_BOSS_POT_1, "RAND_INF_FIRE_TEMPLE_MQ_OUTSIDE_BOSS_POT_1" },
+ { RAND_INF_FIRE_TEMPLE_MQ_OUTSIDE_BOSS_POT_2, "RAND_INF_FIRE_TEMPLE_MQ_OUTSIDE_BOSS_POT_2" },
+ { RAND_INF_FIRE_TEMPLE_MQ_LAVA_POT_1, "RAND_INF_FIRE_TEMPLE_MQ_LAVA_POT_1" },
+ { RAND_INF_FIRE_TEMPLE_MQ_LAVA_POT_2, "RAND_INF_FIRE_TEMPLE_MQ_LAVA_POT_2" },
+ { RAND_INF_FIRE_TEMPLE_MQ_LAVA_POT_3, "RAND_INF_FIRE_TEMPLE_MQ_LAVA_POT_3" },
+ { RAND_INF_FIRE_TEMPLE_MQ_LAVA_TORCH_POT_1, "RAND_INF_FIRE_TEMPLE_MQ_LAVA_TORCH_POT_1" },
+ { RAND_INF_FIRE_TEMPLE_MQ_LAVA_TORCH_POT_2, "RAND_INF_FIRE_TEMPLE_MQ_LAVA_TORCH_POT_2" },
+ { RAND_INF_FIRE_TEMPLE_MQ_ABOVE_LAVA_POT_1, "RAND_INF_FIRE_TEMPLE_MQ_ABOVE_LAVA_POT_1" },
+ { RAND_INF_FIRE_TEMPLE_MQ_ABOVE_LAVA_POT_2, "RAND_INF_FIRE_TEMPLE_MQ_ABOVE_LAVA_POT_2" },
+ { RAND_INF_FIRE_TEMPLE_MQ_ABOVE_LAVA_POT_3, "RAND_INF_FIRE_TEMPLE_MQ_ABOVE_LAVA_POT_3" },
+ { RAND_INF_FIRE_TEMPLE_MQ_FLAME_WALL_POT_1, "RAND_INF_FIRE_TEMPLE_MQ_FLAME_WALL_POT_1" },
+ { RAND_INF_FIRE_TEMPLE_MQ_FLAME_WALL_POT_2, "RAND_INF_FIRE_TEMPLE_MQ_FLAME_WALL_POT_2" },
+ { RAND_INF_FIRE_TEMPLE_MQ_FIRE_MAZE_POT_1, "RAND_INF_FIRE_TEMPLE_MQ_FIRE_MAZE_POT_1" },
+ { RAND_INF_FIRE_TEMPLE_MQ_FIRE_MAZE_POT_2, "RAND_INF_FIRE_TEMPLE_MQ_FIRE_MAZE_POT_2" },
+ { RAND_INF_FIRE_TEMPLE_MQ_FIRE_MAZE_POT_3, "RAND_INF_FIRE_TEMPLE_MQ_FIRE_MAZE_POT_3" },
+ { RAND_INF_FIRE_TEMPLE_MQ_FIRE_MAZE_POT_4, "RAND_INF_FIRE_TEMPLE_MQ_FIRE_MAZE_POT_4" },
+ { RAND_INF_FIRE_TEMPLE_MQ_FIRE_MAZE_POT_5, "RAND_INF_FIRE_TEMPLE_MQ_FIRE_MAZE_POT_5" },
+ { RAND_INF_FIRE_TEMPLE_MQ_FIRE_MAZE_POT_6, "RAND_INF_FIRE_TEMPLE_MQ_FIRE_MAZE_POT_6" },
+ { RAND_INF_FIRE_TEMPLE_MQ_BEFORE_MINI_BOSS_POT_1, "RAND_INF_FIRE_TEMPLE_MQ_BEFORE_MINI_BOSS_POT_1" },
+ { RAND_INF_FIRE_TEMPLE_MQ_BEFORE_MINI_BOSS_POT_2, "RAND_INF_FIRE_TEMPLE_MQ_BEFORE_MINI_BOSS_POT_2" },
+ { RAND_INF_FIRE_TEMPLE_MQ_BEFORE_MINI_BOSS_POT_3, "RAND_INF_FIRE_TEMPLE_MQ_BEFORE_MINI_BOSS_POT_3" },
+ { RAND_INF_FIRE_TEMPLE_MQ_BEFORE_MINI_BOSS_POT_4, "RAND_INF_FIRE_TEMPLE_MQ_BEFORE_MINI_BOSS_POT_4" },
+ { RAND_INF_FIRE_TEMPLE_MQ_BEFORE_MINI_BOSS_POT_5, "RAND_INF_FIRE_TEMPLE_MQ_BEFORE_MINI_BOSS_POT_5" },
+ { RAND_INF_FIRE_TEMPLE_MQ_BEFORE_MINI_BOSS_POT_6, "RAND_INF_FIRE_TEMPLE_MQ_BEFORE_MINI_BOSS_POT_6" },
+ { RAND_INF_FIRE_TEMPLE_MQ_BEFORE_MINI_BOSS_POT_7, "RAND_INF_FIRE_TEMPLE_MQ_BEFORE_MINI_BOSS_POT_7" },
+ { RAND_INF_FIRE_TEMPLE_MQ_BEFORE_MINI_BOSS_POT_8, "RAND_INF_FIRE_TEMPLE_MQ_BEFORE_MINI_BOSS_POT_8" },
+ { RAND_INF_ICE_CAVERN_MQ_ENTRANCE_POT, "RAND_INF_ICE_CAVERN_MQ_ENTRANCE_POT" },
+ { RAND_INF_ICE_CAVERN_MQ_FIRST_CRYSTAL_POT_1, "RAND_INF_ICE_CAVERN_MQ_FIRST_CRYSTAL_POT_1" },
+ { RAND_INF_ICE_CAVERN_MQ_FIRST_CRYSTAL_POT_2, "RAND_INF_ICE_CAVERN_MQ_FIRST_CRYSTAL_POT_2" },
+ { RAND_INF_ICE_CAVERN_MQ_EARLY_WOLFOS_POT_1, "RAND_INF_ICE_CAVERN_MQ_EARLY_WOLFOS_POT_1" },
+ { RAND_INF_ICE_CAVERN_MQ_EARLY_WOLFOS_POT_2, "RAND_INF_ICE_CAVERN_MQ_EARLY_WOLFOS_POT_2" },
+ { RAND_INF_ICE_CAVERN_MQ_EARLY_WOLFOS_POT_3, "RAND_INF_ICE_CAVERN_MQ_EARLY_WOLFOS_POT_3" },
+ { RAND_INF_ICE_CAVERN_MQ_EARLY_WOLFOS_POT_4, "RAND_INF_ICE_CAVERN_MQ_EARLY_WOLFOS_POT_4" },
+ { RAND_INF_ICE_CAVERN_MQ_PUSH_BLOCK_POT_1, "RAND_INF_ICE_CAVERN_MQ_PUSH_BLOCK_POT_1" },
+ { RAND_INF_ICE_CAVERN_MQ_PUSH_BLOCK_POT_2, "RAND_INF_ICE_CAVERN_MQ_PUSH_BLOCK_POT_2" },
+ { RAND_INF_ICE_CAVERN_MQ_COMPASS_POT_1, "RAND_INF_ICE_CAVERN_MQ_COMPASS_POT_1" },
+ { RAND_INF_ICE_CAVERN_MQ_COMPASS_POT_2, "RAND_INF_ICE_CAVERN_MQ_COMPASS_POT_2" },
+ { RAND_INF_SPIRIT_TEMPLE_MQ_ENTRANCE_POT_1, "RAND_INF_SPIRIT_TEMPLE_MQ_ENTRANCE_POT_1" },
+ { RAND_INF_SPIRIT_TEMPLE_MQ_ENTRANCE_POT_2, "RAND_INF_SPIRIT_TEMPLE_MQ_ENTRANCE_POT_2" },
+ { RAND_INF_SPIRIT_TEMPLE_MQ_ENTRANCE_POT_3, "RAND_INF_SPIRIT_TEMPLE_MQ_ENTRANCE_POT_3" },
+ { RAND_INF_SPIRIT_TEMPLE_MQ_ENTRANCE_POT_4, "RAND_INF_SPIRIT_TEMPLE_MQ_ENTRANCE_POT_4" },
+ { RAND_INF_SPIRIT_TEMPLE_MQ_CHILD_SLUGMA_POT, "RAND_INF_SPIRIT_TEMPLE_MQ_CHILD_SLUGMA_POT" },
+ { RAND_INF_SPIRIT_TEMPLE_MQ_CHILD_GIBDO_POT_1, "RAND_INF_SPIRIT_TEMPLE_MQ_CHILD_GIBDO_POT_1" },
+ { RAND_INF_SPIRIT_TEMPLE_MQ_CHILD_GIBDO_POT_2, "RAND_INF_SPIRIT_TEMPLE_MQ_CHILD_GIBDO_POT_2" },
+ { RAND_INF_SPIRIT_TEMPLE_MQ_CHILD_LIKE_LIKE_POT, "RAND_INF_SPIRIT_TEMPLE_MQ_CHILD_LIKE_LIKE_POT" },
+ { RAND_INF_SPIRIT_TEMPLE_MQ_CHILD_STALFOS_POT_1, "RAND_INF_SPIRIT_TEMPLE_MQ_CHILD_STALFOS_POT_1" },
+ { RAND_INF_SPIRIT_TEMPLE_MQ_CHILD_STALFOS_POT_2, "RAND_INF_SPIRIT_TEMPLE_MQ_CHILD_STALFOS_POT_2" },
+ { RAND_INF_SPIRIT_TEMPLE_MQ_CHILD_STALFOS_POT_3, "RAND_INF_SPIRIT_TEMPLE_MQ_CHILD_STALFOS_POT_3" },
+ { RAND_INF_SPIRIT_TEMPLE_MQ_CHILD_STALFOS_POT_4, "RAND_INF_SPIRIT_TEMPLE_MQ_CHILD_STALFOS_POT_4" },
+ { RAND_INF_SPIRIT_TEMPLE_MQ_CENTRAL_CHAMBER_POT_1, "RAND_INF_SPIRIT_TEMPLE_MQ_CENTRAL_CHAMBER_POT_1" },
+ { RAND_INF_SPIRIT_TEMPLE_MQ_CENTRAL_CHAMBER_POT_2, "RAND_INF_SPIRIT_TEMPLE_MQ_CENTRAL_CHAMBER_POT_2" },
+ { RAND_INF_SPIRIT_TEMPLE_MQ_CENTRAL_CHAMBER_POT_3, "RAND_INF_SPIRIT_TEMPLE_MQ_CENTRAL_CHAMBER_POT_3" },
+ { RAND_INF_SPIRIT_TEMPLE_MQ_CENTRAL_CHAMBER_POT_4, "RAND_INF_SPIRIT_TEMPLE_MQ_CENTRAL_CHAMBER_POT_4" },
+ { RAND_INF_SPIRIT_TEMPLE_MQ_CENTRAL_CHAMBER_POT_5, "RAND_INF_SPIRIT_TEMPLE_MQ_CENTRAL_CHAMBER_POT_5" },
+ { RAND_INF_SPIRIT_TEMPLE_MQ_SUN_BLOCKS_POT_1, "RAND_INF_SPIRIT_TEMPLE_MQ_SUN_BLOCKS_POT_1" },
+ { RAND_INF_SPIRIT_TEMPLE_MQ_SUN_BLOCKS_POT_2, "RAND_INF_SPIRIT_TEMPLE_MQ_SUN_BLOCKS_POT_2" },
+ { RAND_INF_SPIRIT_TEMPLE_MQ_LONG_CLIMB_POT_1, "RAND_INF_SPIRIT_TEMPLE_MQ_LONG_CLIMB_POT_1" },
+ { RAND_INF_SPIRIT_TEMPLE_MQ_LONG_CLIMB_POT_2, "RAND_INF_SPIRIT_TEMPLE_MQ_LONG_CLIMB_POT_2" },
+ { RAND_INF_SPIRIT_TEMPLE_MQ_BIG_MIRROR_POT_1, "RAND_INF_SPIRIT_TEMPLE_MQ_BIG_MIRROR_POT_1" },
+ { RAND_INF_SPIRIT_TEMPLE_MQ_BIG_MIRROR_POT_2, "RAND_INF_SPIRIT_TEMPLE_MQ_BIG_MIRROR_POT_2" },
+ { RAND_INF_SPIRIT_TEMPLE_MQ_BIG_MIRROR_POT_3, "RAND_INF_SPIRIT_TEMPLE_MQ_BIG_MIRROR_POT_3" },
+ { RAND_INF_SPIRIT_TEMPLE_MQ_BIG_MIRROR_POT_4, "RAND_INF_SPIRIT_TEMPLE_MQ_BIG_MIRROR_POT_4" },
+ { RAND_INF_SPIRIT_TEMPLE_MQ_BEFORE_MIRROR_POT_1, "RAND_INF_SPIRIT_TEMPLE_MQ_BEFORE_MIRROR_POT_1" },
+ { RAND_INF_SPIRIT_TEMPLE_MQ_BEFORE_MIRROR_POT_2, "RAND_INF_SPIRIT_TEMPLE_MQ_BEFORE_MIRROR_POT_2" },
+ { RAND_INF_SPIRIT_TEMPLE_MQ_EARLY_ADULT_POT_1, "RAND_INF_SPIRIT_TEMPLE_MQ_EARLY_ADULT_POT_1" },
+ { RAND_INF_SPIRIT_TEMPLE_MQ_EARLY_ADULT_POT_2, "RAND_INF_SPIRIT_TEMPLE_MQ_EARLY_ADULT_POT_2" },
+ { RAND_INF_WATER_TEMPLE_MQ_CENTRAL_GATE_POT_1, "RAND_INF_WATER_TEMPLE_MQ_CENTRAL_GATE_POT_1" },
+ { RAND_INF_WATER_TEMPLE_MQ_CENTRAL_GATE_POT_2, "RAND_INF_WATER_TEMPLE_MQ_CENTRAL_GATE_POT_2" },
+ { RAND_INF_WATER_TEMPLE_MQ_CENTRAL_GATE_POT_3, "RAND_INF_WATER_TEMPLE_MQ_CENTRAL_GATE_POT_3" },
+ { RAND_INF_WATER_TEMPLE_MQ_CENTRAL_GATE_POT_4, "RAND_INF_WATER_TEMPLE_MQ_CENTRAL_GATE_POT_4" },
+ { RAND_INF_WATER_TEMPLE_MQ_CENTRAL_GATE_POT_5, "RAND_INF_WATER_TEMPLE_MQ_CENTRAL_GATE_POT_5" },
+ { RAND_INF_WATER_TEMPLE_MQ_STORAGE_ROOM_A_POT_1, "RAND_INF_WATER_TEMPLE_MQ_STORAGE_ROOM_A_POT_1" },
+ { RAND_INF_WATER_TEMPLE_MQ_STORAGE_ROOM_A_POT_2, "RAND_INF_WATER_TEMPLE_MQ_STORAGE_ROOM_A_POT_2" },
+ { RAND_INF_WATER_TEMPLE_MQ_STORAGE_ROOM_A_POT_3, "RAND_INF_WATER_TEMPLE_MQ_STORAGE_ROOM_A_POT_3" },
+ { RAND_INF_WATER_TEMPLE_MQ_BEFORE_DARK_LINK_POT_1, "RAND_INF_WATER_TEMPLE_MQ_BEFORE_DARK_LINK_POT_1" },
+ { RAND_INF_WATER_TEMPLE_MQ_BEFORE_DARK_LINK_POT_2, "RAND_INF_WATER_TEMPLE_MQ_BEFORE_DARK_LINK_POT_2" },
+ { RAND_INF_WATER_TEMPLE_MQ_BEFORE_DARK_LINK_POT_3, "RAND_INF_WATER_TEMPLE_MQ_BEFORE_DARK_LINK_POT_3" },
+ { RAND_INF_WATER_TEMPLE_MQ_BEFORE_DARK_LINK_POT_4, "RAND_INF_WATER_TEMPLE_MQ_BEFORE_DARK_LINK_POT_4" },
+ { RAND_INF_WATER_TEMPLE_MQ_BEFORE_DARK_LINK_POT_5, "RAND_INF_WATER_TEMPLE_MQ_BEFORE_DARK_LINK_POT_5" },
+ { RAND_INF_WATER_TEMPLE_MQ_AFTER_DARK_LINK_POT_1, "RAND_INF_WATER_TEMPLE_MQ_AFTER_DARK_LINK_POT_1" },
+ { RAND_INF_WATER_TEMPLE_MQ_AFTER_DARK_LINK_POT_2, "RAND_INF_WATER_TEMPLE_MQ_AFTER_DARK_LINK_POT_2" },
+ { RAND_INF_WATER_TEMPLE_MQ_RIVER_POT_1, "RAND_INF_WATER_TEMPLE_MQ_RIVER_POT_1" },
+ { RAND_INF_WATER_TEMPLE_MQ_RIVER_POT_2, "RAND_INF_WATER_TEMPLE_MQ_RIVER_POT_2" },
+ { RAND_INF_WATER_TEMPLE_MQ_MINI_DODONGO_POT_1, "RAND_INF_WATER_TEMPLE_MQ_MINI_DODONGO_POT_1" },
+ { RAND_INF_WATER_TEMPLE_MQ_MINI_DODONGO_POT_2, "RAND_INF_WATER_TEMPLE_MQ_MINI_DODONGO_POT_2" },
+ { RAND_INF_WATER_TEMPLE_MQ_STORAGE_ROOM_B_POT_1, "RAND_INF_WATER_TEMPLE_MQ_STORAGE_ROOM_B_POT_1" },
+ { RAND_INF_WATER_TEMPLE_MQ_STORAGE_ROOM_B_POT_2, "RAND_INF_WATER_TEMPLE_MQ_STORAGE_ROOM_B_POT_2" },
+ { RAND_INF_WATER_TEMPLE_MQ_GS_STORAGE_ROOM_POT_1, "RAND_INF_WATER_TEMPLE_MQ_GS_STORAGE_ROOM_POT_1" },
+ { RAND_INF_WATER_TEMPLE_MQ_GS_STORAGE_ROOM_POT_2, "RAND_INF_WATER_TEMPLE_MQ_GS_STORAGE_ROOM_POT_2" },
+ { RAND_INF_WATER_TEMPLE_MQ_GS_STORAGE_ROOM_POT_3, "RAND_INF_WATER_TEMPLE_MQ_GS_STORAGE_ROOM_POT_3" },
+ { RAND_INF_WATER_TEMPLE_MQ_LOWER_TORCHES_POT_1, "RAND_INF_WATER_TEMPLE_MQ_LOWER_TORCHES_POT_1" },
+ { RAND_INF_WATER_TEMPLE_MQ_LOWER_TORCHES_POT_2, "RAND_INF_WATER_TEMPLE_MQ_LOWER_TORCHES_POT_2" },
+ { RAND_INF_WATER_TEMPLE_MQ_LOWEST_GS_POT_1, "RAND_INF_WATER_TEMPLE_MQ_LOWEST_GS_POT_1" },
+ { RAND_INF_WATER_TEMPLE_MQ_LOWEST_GS_POT_2, "RAND_INF_WATER_TEMPLE_MQ_LOWEST_GS_POT_2" },
+ { RAND_INF_WATER_TEMPLE_MQ_LOWEST_GS_POT_3, "RAND_INF_WATER_TEMPLE_MQ_LOWEST_GS_POT_3" },
+ { RAND_INF_WATER_TEMPLE_MQ_LOWEST_GS_POT_4, "RAND_INF_WATER_TEMPLE_MQ_LOWEST_GS_POT_4" },
+ { RAND_INF_WATER_TEMPLE_MQ_BOSS_KEY_POT, "RAND_INF_WATER_TEMPLE_MQ_BOSS_KEY_POT" },
+
{ RAND_INF_CAUGHT_LOACH, "RAND_INF_CAUGHT_LOACH" },
{ RAND_INF_CAN_SWIM, "RAND_INF_CAN_SWIM" },
diff --git a/soh/soh/Enhancements/game-interactor/GameInteractor.h b/soh/soh/Enhancements/game-interactor/GameInteractor.h
index 3523fa4057f..1eaf2b6d449 100644
--- a/soh/soh/Enhancements/game-interactor/GameInteractor.h
+++ b/soh/soh/Enhancements/game-interactor/GameInteractor.h
@@ -242,6 +242,11 @@ typedef enum {
```
*/
VB_DRAW_AMMO_COUNT,
+ // Opt: *ObjTsubo
+ VB_POT_DRAW,
+ VB_POT_DROP_ITEM,
+ // Opt: *ActorDoorShutter
+ VB_LOCK_DOOR,
/*** Play Cutscenes ***/
diff --git a/soh/soh/Enhancements/game-interactor/GameInteractor_Hooks.h b/soh/soh/Enhancements/game-interactor/GameInteractor_Hooks.h
index 82deeaf8020..13a8021e771 100644
--- a/soh/soh/Enhancements/game-interactor/GameInteractor_Hooks.h
+++ b/soh/soh/Enhancements/game-interactor/GameInteractor_Hooks.h
@@ -64,6 +64,9 @@ void GameInteractor_RegisterOnAssetAltChange(void (*fn)(void));
//Mark: - Pause Menu
void GameInteractor_ExecuteOnKaleidoUpdate();
+//Mark - Randomizer options spawning EnItem00 actors
+void EnItem00_DrawRandomizedItem(EnItem00* enItem00, PlayState* play);
+
#ifdef __cplusplus
}
#endif
diff --git a/soh/soh/Enhancements/mods.cpp b/soh/soh/Enhancements/mods.cpp
index 8b3adca0f35..551a79ba8ed 100644
--- a/soh/soh/Enhancements/mods.cpp
+++ b/soh/soh/Enhancements/mods.cpp
@@ -14,6 +14,7 @@
#include "soh/Enhancements/TimeSavers/TimeSavers.h"
#include "soh/Enhancements/cheat_hook_handlers.h"
#include "soh/Enhancements/randomizer/hook_handlers.h"
+#include "soh/Enhancements/randomizer/ShufflePots.h"
#include "objects/object_gi_compass/object_gi_compass.h"
#include "src/overlays/actors/ovl_En_Bb/z_en_bb.h"
@@ -1828,4 +1829,5 @@ void InitMods() {
RegisterHurtContainerModeHandler();
RegisterPauseMenuHooks();
RegisterSkeletonKey();
+ RegisterShufflePots();
}
diff --git a/soh/soh/Enhancements/randomizer/3drando/category.hpp b/soh/soh/Enhancements/randomizer/3drando/category.hpp
index 22522789cfd..64b94f931b9 100644
--- a/soh/soh/Enhancements/randomizer/3drando/category.hpp
+++ b/soh/soh/Enhancements/randomizer/3drando/category.hpp
@@ -18,6 +18,7 @@ enum class Category {
cVanillaMap,
cVanillaCompass,
cAdultTrade,
+ cPot,
cBeehive,
};
diff --git a/soh/soh/Enhancements/randomizer/3drando/hint_list/hint_list_exclude_dungeon.cpp b/soh/soh/Enhancements/randomizer/3drando/hint_list/hint_list_exclude_dungeon.cpp
index 99659838b34..def53d77a3c 100644
--- a/soh/soh/Enhancements/randomizer/3drando/hint_list/hint_list_exclude_dungeon.cpp
+++ b/soh/soh/Enhancements/randomizer/3drando/hint_list/hint_list_exclude_dungeon.cpp
@@ -275,6 +275,10 @@ hintTextTable[RHT_DODONGOS_CAVERN_BOSS_ROOM_CHEST] = HintText(CustomMessage("The
/*french*/ "Selon moi, la #peste Mojo au coeur de la Caverne Dodongo# vend #[[1]]#.", {QM_RED, QM_GREEN}));
// /*spanish*/ Según dicen, un #deku custodiado por Lizalfos# vende #[[1]]#.
+ hintTextTable[RHT_POT_DODONGOS_CAVERN] = HintText(CustomMessage("They say that a #pot in Dodongo's Cavern# contains #[[1]]#.",
+ /*german*/ "",
+ /*french*/ "", {QM_RED, QM_GREEN}));
+
/*--------------------------
| JABU JABUS BELLY |
---------------------------*/
@@ -421,6 +425,11 @@ hintTextTable[RHT_DODONGOS_CAVERN_BOSS_ROOM_CHEST] = HintText(CustomMessage("The
/*german*/ "Man erzählt sich, daß ein #Deku in einer Gottheit #[[1]]# verkaufe.",
/*french*/ "Selon moi, la #peste Mojo dans le ventre du gardien# vend #[[1]]#.", {QM_RED, QM_GREEN}));
// /*spanish*/ Según dicen, un #deku dentro de cierta deidad# vende #[[1]]#.
+
+ hintTextTable[RHT_POT_JABU_JABUS_BELLY] = HintText(CustomMessage("They say that a #pot in Jabu Jabu's Belly# contains #[[1]]#.",
+ /*german*/ "",
+ /*french*/ "", {QM_RED, QM_GREEN}));
+
/*--------------------------
| FOREST TEMPLE |
---------------------------*/
@@ -638,10 +647,15 @@ hintTextTable[RHT_DODONGOS_CAVERN_BOSS_ROOM_CHEST] = HintText(CustomMessage("The
/*german*/ "",
/*french*/ "Selon moi, une #Skulltula dans le jardin du Temple de la Forêt# a #[[1]]#.", {QM_RED, QM_GREEN}));
// /*spanish*/ Según dicen, una #Skulltula en un borde# del Templo del Bosque otorga #[[1]]#.
- hintTextTable[RHT_FOREST_TEMPLE_MQ_GS_WELL] = HintText(CustomMessage("They say that #draining a well# in Forest Temple uncovers a spider with #[[1]]#.",
+ hintTextTable[RHT_FOREST_TEMPLE_MQ_GS_WELL] = HintText(CustomMessage("They say that #draining a well# in Forest Temple uncovers a spider with #[[1]]#.",
/*german*/ "",
/*french*/ "Selon moi, une #Skulltula au fond du Puits du Temple de la Forêt# a #[[1]]#.", {QM_RED, QM_GREEN}));
// /*spanish*/ Según dicen, #vaciar el pozo# del Templo del Bosque desvela una Skulltula que otorga #[[1]]#.
+
+ hintTextTable[RHT_POT_FOREST_TEMPLE] = HintText(CustomMessage("They say that a #pot in Forest Temple# contains #[[1]]#.",
+ /*german*/ "",
+ /*french*/ "", {QM_RED, QM_GREEN}));
+
/*--------------------------
| FIRE TEMPLE |
@@ -831,6 +845,10 @@ hintTextTable[RHT_FIRE_TEMPLE_NEAR_BOSS_CHEST] = HintText(CustomMessage("They sa
/*french*/ "Selon moi, une #Skulltula près du labyrinthe enflammé du Temple du Feu# a #[[1]]#.", {QM_RED, QM_GREEN}));
// /*spanish*/ Según dicen, una #Skulltula junto a un ardiente laberinto# otorga #[[1]]#.
+ hintTextTable[RHT_POT_FIRE_TEMPLE] = HintText(CustomMessage("They say that a #pot in Fire Temple# contains #[[1]]#.",
+ /*german*/ "",
+ /*french*/ "", {QM_RED, QM_GREEN}));
+
/*--------------------------
| WATER TEMPLE |
---------------------------*/
@@ -958,6 +976,10 @@ hintTextTable[RHT_FIRE_TEMPLE_NEAR_BOSS_CHEST] = HintText(CustomMessage("They sa
/*french*/ "Selon moi, une #Skulltula au dessus de la rivière du Temple de l'Eau# a #[[1]]#.", {QM_RED, QM_GREEN}));
// /*spanish*/ Según dicen, una #Skulltula sobre un rÃo# del Templo del Agua otorga #[[1]]#.
+ hintTextTable[RHT_POT_WATER_TEMPLE] = HintText(CustomMessage("They say that a #pot in Water Temple# contains #[[1]]#.",
+ /*german*/ "",
+ /*french*/ "", {QM_RED, QM_GREEN}));
+
/*--------------------------
| SPIRIT TEMPLE |
---------------------------*/
@@ -1191,6 +1213,10 @@ hintTextTable[RHT_FIRE_TEMPLE_NEAR_BOSS_CHEST] = HintText(CustomMessage("They sa
/*french*/ "Selon moi, une #Skulltula sur une paroi de verre du Temple de l'Esprit# a #[[1]]#.", {QM_RED, QM_GREEN}));
// /*spanish*/ Según dicen, #sobre una plataforma de cristal# yace una Skulltula que otorga #[[1]]#.
+ hintTextTable[RHT_POT_SPIRIT_TEMPLE] = HintText(CustomMessage("They say that a #pot in Spirit Temple# contains #[[1]]#.",
+ /*german*/ "",
+ /*french*/ "", {QM_RED, QM_GREEN}));
+
/*--------------------------
| SHADOW TEMPLE |
---------------------------*/
@@ -1434,6 +1460,10 @@ hintTextTable[RHT_SHADOW_TEMPLE_MAP_CHEST] = HintText(CustomMessage("They say th
/*french*/ "Selon moi, une #Skulltula près du repère du Temple de l'Ombre# a #[[1]]#.", {QM_RED, QM_GREEN}));
// /*spanish*/ Según dicen, una #Skulltula flotante# del Templo de las Sombras otorga #[[1]]#.
+ hintTextTable[RHT_POT_SHADOW_TEMPLE] = HintText(CustomMessage("They say that a #pot in Shadow Temple# contains #[[1]]#.",
+ /*german*/ "",
+ /*french*/ "", {QM_RED, QM_GREEN}));
+
/*--------------------------
| BOTTOM OF THE WELL |
---------------------------*/
@@ -1552,6 +1582,10 @@ hintTextTable[RHT_SHADOW_TEMPLE_MAP_CHEST] = HintText(CustomMessage("They say th
/*french*/ "Selon moi, une #Skulltula embarrée dans la crypte au fonds du Puits# a #[[1]]#.", {QM_RED, QM_GREEN}));
// /*spanish*/ Según dicen, una #Skulltula encerrada en una cripta# del pozo otorga #[[1]]#.
+ hintTextTable[RHT_POT_BOTTOM_OF_THE_WELL] = HintText(CustomMessage("They say that a #pot in Bottom of the Well# contains #[[1]]#.",
+ /*german*/ "",
+ /*french*/ "", {QM_RED, QM_GREEN}));
+
/*--------------------------
| ICE CAVERN |
---------------------------*/
@@ -1625,6 +1659,10 @@ hintTextTable[RHT_SHADOW_TEMPLE_MAP_CHEST] = HintText(CustomMessage("They say th
/*french*/ "Selon moi, une #Skulltula figée dans la glace rouge# a #[[1]]#.", {QM_RED, QM_GREEN}));
// /*spanish*/ Según dicen, una #Skulltula tras un ardiente hielo# otorga #[[1]]#.
+ hintTextTable[RHT_POT_ICE_CAVERN] = HintText(CustomMessage("They say that a #pot in Ice Cavern# contains #[[1]]#.",
+ /*german*/ "",
+ /*french*/ "", { QM_RED, QM_GREEN }));
+
/*--------------------------
| GERUDO TRAINING GROUNDS |
---------------------------*/
@@ -1995,5 +2033,9 @@ hintTextTable[RHT_SHADOW_TEMPLE_MAP_CHEST] = HintText(CustomMessage("They say th
/*german*/ "",
/*french*/ "Selon moi, les #pestes Mojo dans le Château de Ganon# vendent #[[1]]#.", {QM_RED, QM_GREEN}));
// /*spanish*/ Según dicen, los #dekus del Castillo de Ganon# venden #[[1]]#.
+
+ hintTextTable[RHT_POT_GANONS_CASTLE] = HintText(CustomMessage("They say that a #pot in Ganon's Castle# contains #[[1]]#.",
+ /*german*/ "",
+ /*french*/ "", {QM_RED, QM_GREEN}));
}
}
diff --git a/soh/soh/Enhancements/randomizer/3drando/hint_list/hint_list_exclude_overworld.cpp b/soh/soh/Enhancements/randomizer/3drando/hint_list/hint_list_exclude_overworld.cpp
index 84c74da8735..ad9fad01197 100644
--- a/soh/soh/Enhancements/randomizer/3drando/hint_list/hint_list_exclude_overworld.cpp
+++ b/soh/soh/Enhancements/randomizer/3drando/hint_list/hint_list_exclude_overworld.cpp
@@ -1487,5 +1487,57 @@ void StaticData::HintTable_Init_Exclude_Overworld() {
/*german*/ "",
/*french*/ "Selon moi, #[[1]]#.", {QM_RED, QM_GREEN}));
// /*spanish*/ Según dicen, una #colmena detrás del rey de los zoras# esconde #[[1]]#.
+
+ hintTextTable[RHT_POT_KOKIRI_FOREST] = HintText(CustomMessage("They say that a #pot in Kokiri Forest# contains #[[1]]#.",
+ /*german*/ "",
+ /*french*/ "", {QM_RED, QM_GREEN}));
+
+ hintTextTable[RHT_POT_GERUDO_FORTRESS] = HintText(CustomMessage("They say that a #pot in Gerudo Fortress# contains #[[1]]#.",
+ /*german*/ "",
+ /*french*/ "", {QM_RED, QM_GREEN}));
+
+ hintTextTable[RHT_POT_WASTELAND] = HintText(CustomMessage("They say that a #pot in Haunted Wasteland# contains #[[1]]#.",
+ /*german*/ "",
+ /*french*/ "", {QM_RED, QM_GREEN}));
+
+ hintTextTable[RHT_POT_MARKET] = HintText(CustomMessage("They say that a #pot in Market# contains #[[1]]#.",
+ /*german*/ "",
+ /*french*/ "", {QM_RED, QM_GREEN}));
+
+ hintTextTable[RHT_POT_KAKARIKO] = HintText(CustomMessage("They say that a #pot in Kakariko Village# contains #[[1]]#.",
+ /*german*/ "",
+ /*french*/ "", {QM_RED, QM_GREEN}));
+
+ hintTextTable[RHT_POT_GRAVEYARD] = HintText(CustomMessage("They say that a #pot in Graveyard# contains #[[1]]#.",
+ /*german*/ "",
+ /*french*/ "", {QM_RED, QM_GREEN}));
+
+ hintTextTable[RHT_POT_GORON_CITY] = HintText(CustomMessage("They say that a #pot in Goron City# contains #[[1]]#.",
+ /*german*/ "",
+ /*french*/ "", {QM_RED, QM_GREEN}));
+
+ hintTextTable[RHT_POT_DEATH_MOUNTAIN_CRATER] = HintText(CustomMessage("They say that a #pot in Death Mountain Crater# contains #[[1]]#.",
+ /*german*/ "",
+ /*french*/ "", {QM_RED, QM_GREEN}));
+
+ hintTextTable[RHT_POT_ZORAS_DOMAIN] = HintText(CustomMessage("They say that a #pot in Zora's Domain# contains #[[1]]#.",
+ /*german*/ "",
+ /*french*/ "", {QM_RED, QM_GREEN}));
+
+ hintTextTable[RHT_POT_ZORAS_FOUNTAIN] = HintText(CustomMessage("They say that a #pot in Zora's Fountain# contains #[[1]]#.",
+ /*german*/ "",
+ /*french*/ "", {QM_RED, QM_GREEN}));
+
+ hintTextTable[RHT_POT_LON_LON_RANCH] = HintText(CustomMessage("They say that a #pot in Lon Lon Ranch# contains #[[1]]#.",
+ /*german*/ "",
+ /*french*/ "", {QM_RED, QM_GREEN}));
+
+ hintTextTable[RHT_POT_HYRULE_FIELD] = HintText(CustomMessage("They say that a #pot in Hyrule Field# contains #[[1]]#.",
+ /*german*/ "",
+ /*french*/ "", {QM_RED, QM_GREEN}));
+
+ hintTextTable[RHT_POT_HYRULE_CASTLE] = HintText(CustomMessage("They say that a #pot in Hyrule Castle# contains #[[1]]#.",
+ /*german*/ "",
+ /*french*/ "", {QM_RED, QM_GREEN}));
}
}
diff --git a/soh/soh/Enhancements/randomizer/3drando/item_pool.cpp b/soh/soh/Enhancements/randomizer/3drando/item_pool.cpp
index f7250e17ddf..5ea318992c0 100644
--- a/soh/soh/Enhancements/randomizer/3drando/item_pool.cpp
+++ b/soh/soh/Enhancements/randomizer/3drando/item_pool.cpp
@@ -810,6 +810,33 @@ void GenerateItemPool() {
PlaceVanillaCowMilk();
}
+ // Shuffle Pots
+ if (ctx->GetOption(RSK_SHUFFLE_POTS).Is(RO_SHUFFLE_POTS_OFF)) {
+ for (RandomizerCheck loc : ctx->GetLocations(ctx->allLocations, Category::cPot)) {
+ ctx->PlaceItemInLocation(loc, Rando::StaticData::GetLocation(loc)->GetVanillaItem(), false, true);
+ }
+ } else if (ctx->GetOption(RSK_SHUFFLE_POTS).Is(RO_SHUFFLE_POTS_DUNGEONS)) {
+ for (RandomizerCheck loc : ctx->GetLocations(ctx->allLocations, Category::cPot)) {
+ if (Rando::StaticData::GetLocation(loc)->IsOverworld()) {
+ ctx->PlaceItemInLocation(loc, Rando::StaticData::GetLocation(loc)->GetVanillaItem(), false, true);
+ } else {
+ AddItemToMainPool(Rando::StaticData::GetLocation(loc)->GetVanillaItem());
+ }
+ }
+ } else if (ctx->GetOption(RSK_SHUFFLE_POTS).Is(RO_SHUFFLE_POTS_OVERWORLD)) {
+ for (RandomizerCheck loc : ctx->GetLocations(ctx->allLocations, Category::cPot)) {
+ if (Rando::StaticData::GetLocation(loc)->IsDungeon()) {
+ ctx->PlaceItemInLocation(loc, Rando::StaticData::GetLocation(loc)->GetVanillaItem(), false, true);
+ } else {
+ AddItemToMainPool(Rando::StaticData::GetLocation(loc)->GetVanillaItem());
+ }
+ }
+ } else {
+ for (RandomizerCheck loc : ctx->GetLocations(ctx->allLocations, Category::cPot)) {
+ AddItemToMainPool(Rando::StaticData::GetLocation(loc)->GetVanillaItem());
+ }
+ }
+
auto fsMode = ctx->GetOption(RSK_FISHSANITY);
if (fsMode.IsNot(RO_FISHSANITY_OFF)) {
if (fsMode.Is(RO_FISHSANITY_POND) || fsMode.Is(RO_FISHSANITY_BOTH)) {
diff --git a/soh/soh/Enhancements/randomizer/3drando/location_access/locacc_bottom_of_the_well.cpp b/soh/soh/Enhancements/randomizer/3drando/location_access/locacc_bottom_of_the_well.cpp
index 44260c7ebe4..df833529181 100644
--- a/soh/soh/Enhancements/randomizer/3drando/location_access/locacc_bottom_of_the_well.cpp
+++ b/soh/soh/Enhancements/randomizer/3drando/location_access/locacc_bottom_of_the_well.cpp
@@ -42,6 +42,25 @@ void AreaTable_Init_BottomOfTheWell() {
LOCATION(RC_BOTTOM_OF_THE_WELL_GS_WEST_INNER_ROOM, logic->Boomerang && (randoCtx->GetTrickOption(RT_LENS_BOTW) || logic->CanUse(RG_LENS_OF_TRUTH)) && logic->SmallKeys(RR_BOTTOM_OF_THE_WELL, 3)),
LOCATION(RC_BOTTOM_OF_THE_WELL_GS_EAST_INNER_ROOM, logic->Boomerang && (randoCtx->GetTrickOption(RT_LENS_BOTW) || logic->CanUse(RG_LENS_OF_TRUTH)) && logic->SmallKeys(RR_BOTTOM_OF_THE_WELL, 3)),
LOCATION(RC_BOTTOM_OF_THE_WELL_GS_LIKE_LIKE_CAGE, logic->SmallKeys(RR_BOTTOM_OF_THE_WELL, 3) && (randoCtx->GetTrickOption(RT_LENS_BOTW) || logic->CanUse(RG_LENS_OF_TRUTH)) && logic->Boomerang),
+ LOCATION(RC_BOTTOM_OF_THE_WELL_LEFT_SIDE_POT_1, logic->CanBreakPots),
+ LOCATION(RC_BOTTOM_OF_THE_WELL_LEFT_SIDE_POT_2, logic->CanBreakPots),
+ LOCATION(RC_BOTTOM_OF_THE_WELL_LEFT_SIDE_POT_3, logic->CanBreakPots),
+ LOCATION(RC_BOTTOM_OF_THE_WELL_NEAR_ENTRANCE_POT_1, logic->CanBreakPots),
+ LOCATION(RC_BOTTOM_OF_THE_WELL_NEAR_ENTRANCE_POT_2, logic->CanBreakPots),
+ LOCATION(RC_BOTTOM_OF_THE_WELL_FIRE_KEESE_POT_1, logic->CanBreakPots && logic->SmallKeys(RR_BOTTOM_OF_THE_WELL, 3)),
+ LOCATION(RC_BOTTOM_OF_THE_WELL_UNDERWATER_POT, (logic->CanBreakPots && logic->CanUse(RG_ZELDAS_LULLABY)) || logic->Boomerang),
+ LOCATION(RC_BOTTOM_OF_THE_WELL_BASEMENT_POT_1, logic->CanBreakPots),
+ LOCATION(RC_BOTTOM_OF_THE_WELL_BASEMENT_POT_2, logic->CanBreakPots),
+ LOCATION(RC_BOTTOM_OF_THE_WELL_BASEMENT_POT_3, logic->CanBreakPots),
+ LOCATION(RC_BOTTOM_OF_THE_WELL_BASEMENT_POT_4, logic->CanBreakPots),
+ LOCATION(RC_BOTTOM_OF_THE_WELL_BASEMENT_POT_5, logic->CanBreakPots),
+ LOCATION(RC_BOTTOM_OF_THE_WELL_BASEMENT_POT_6, logic->CanBreakPots),
+ LOCATION(RC_BOTTOM_OF_THE_WELL_BASEMENT_POT_7, logic->CanBreakPots),
+ LOCATION(RC_BOTTOM_OF_THE_WELL_BASEMENT_POT_8, logic->CanBreakPots),
+ LOCATION(RC_BOTTOM_OF_THE_WELL_BASEMENT_POT_9, logic->CanBreakPots),
+ LOCATION(RC_BOTTOM_OF_THE_WELL_BASEMENT_POT_10, logic->CanBreakPots),
+ LOCATION(RC_BOTTOM_OF_THE_WELL_BASEMENT_POT_11, logic->CanBreakPots),
+ LOCATION(RC_BOTTOM_OF_THE_WELL_BASEMENT_POT_12, logic->CanBreakPots),
}, {
//Exits
Entrance(RR_BOTTOM_OF_THE_WELL_ENTRYWAY, {[]{return true;}}),
diff --git a/soh/soh/Enhancements/randomizer/3drando/location_access/locacc_castle_town.cpp b/soh/soh/Enhancements/randomizer/3drando/location_access/locacc_castle_town.cpp
index e809beb5472..32c9eb886e3 100644
--- a/soh/soh/Enhancements/randomizer/3drando/location_access/locacc_castle_town.cpp
+++ b/soh/soh/Enhancements/randomizer/3drando/location_access/locacc_castle_town.cpp
@@ -127,6 +127,10 @@ void AreaTable_Init_CastleTown() {
//Locations
LOCATION(RC_HC_GS_STORMS_GROTTO, (logic->CanBlastOrSmash && logic->HookshotOrBoomerang) || (logic->Boomerang && randoCtx->GetTrickOption(RT_HC_STORMS_GS))),
LOCATION(RC_HC_STORMS_GROTTO_GOSSIP_STONE, logic->CanBlastOrSmash),
+ LOCATION(RC_HC_STORMS_GROTTO_POT_1, logic->CanBlastOrSmash && logic->CanBreakPots),
+ LOCATION(RC_HC_STORMS_GROTTO_POT_2, logic->CanBlastOrSmash && logic->CanBreakPots),
+ LOCATION(RC_HC_STORMS_GROTTO_POT_3, logic->CanBlastOrSmash && logic->CanBreakPots),
+ LOCATION(RC_HC_STORMS_GROTTO_POT_4, logic->CanBlastOrSmash && logic->CanBreakPots),
}, {
//Exits
Entrance(RR_CASTLE_GROUNDS, {[]{return true;}}),
@@ -167,8 +171,63 @@ void AreaTable_Init_CastleTown() {
areaTable[RR_MARKET_GUARD_HOUSE] = Area("Market Guard House", "Market Guard House", RA_NONE, NO_DAY_NIGHT_CYCLE, {}, {
//Locations
- LOCATION(RC_MARKET_10_BIG_POES, logic->IsAdult && logic->BigPoeKill),
- LOCATION(RC_MARKET_GS_GUARD_HOUSE, logic->IsChild),
+ LOCATION(RC_MARKET_10_BIG_POES, logic->IsAdult && logic->BigPoeKill),
+ 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),
+ LOCATION(RC_MK_GUARD_HOUSE_CHILD_POT_3, logic->IsChild && logic->CanBreakPots),
+ LOCATION(RC_MK_GUARD_HOUSE_CHILD_POT_4, logic->IsChild && logic->CanBreakPots),
+ LOCATION(RC_MK_GUARD_HOUSE_CHILD_POT_5, logic->IsChild && logic->CanBreakPots),
+ LOCATION(RC_MK_GUARD_HOUSE_CHILD_POT_6, logic->IsChild && logic->CanBreakPots),
+ LOCATION(RC_MK_GUARD_HOUSE_CHILD_POT_7, logic->IsChild && logic->CanBreakPots),
+ LOCATION(RC_MK_GUARD_HOUSE_CHILD_POT_8, logic->IsChild && logic->CanBreakPots),
+ LOCATION(RC_MK_GUARD_HOUSE_CHILD_POT_9, logic->IsChild && logic->CanBreakPots),
+ LOCATION(RC_MK_GUARD_HOUSE_CHILD_POT_10, logic->IsChild && logic->CanBreakPots),
+ LOCATION(RC_MK_GUARD_HOUSE_CHILD_POT_11, logic->IsChild && logic->CanBreakPots),
+ LOCATION(RC_MK_GUARD_HOUSE_CHILD_POT_12, logic->IsChild && logic->CanBreakPots),
+ LOCATION(RC_MK_GUARD_HOUSE_CHILD_POT_13, logic->IsChild && logic->CanBreakPots),
+ LOCATION(RC_MK_GUARD_HOUSE_CHILD_POT_14, logic->IsChild && logic->CanBreakPots),
+ LOCATION(RC_MK_GUARD_HOUSE_CHILD_POT_15, logic->IsChild && logic->CanBreakPots),
+ LOCATION(RC_MK_GUARD_HOUSE_CHILD_POT_16, logic->IsChild && logic->CanBreakPots),
+ LOCATION(RC_MK_GUARD_HOUSE_CHILD_POT_17, logic->IsChild && logic->CanBreakPots),
+ LOCATION(RC_MK_GUARD_HOUSE_CHILD_POT_18, logic->IsChild && logic->CanBreakPots),
+ LOCATION(RC_MK_GUARD_HOUSE_CHILD_POT_19, logic->IsChild && logic->CanBreakPots),
+ LOCATION(RC_MK_GUARD_HOUSE_CHILD_POT_20, logic->IsChild && logic->CanBreakPots),
+ LOCATION(RC_MK_GUARD_HOUSE_CHILD_POT_21, logic->IsChild && logic->CanBreakPots),
+ LOCATION(RC_MK_GUARD_HOUSE_CHILD_POT_22, logic->IsChild && logic->CanBreakPots),
+ LOCATION(RC_MK_GUARD_HOUSE_CHILD_POT_23, logic->IsChild && logic->CanBreakPots),
+ LOCATION(RC_MK_GUARD_HOUSE_CHILD_POT_24, logic->IsChild && logic->CanBreakPots),
+ LOCATION(RC_MK_GUARD_HOUSE_CHILD_POT_25, logic->IsChild && logic->CanBreakPots),
+ LOCATION(RC_MK_GUARD_HOUSE_CHILD_POT_26, logic->IsChild && logic->CanBreakPots),
+ LOCATION(RC_MK_GUARD_HOUSE_CHILD_POT_27, logic->IsChild && logic->CanBreakPots),
+ LOCATION(RC_MK_GUARD_HOUSE_CHILD_POT_28, logic->IsChild && logic->CanBreakPots),
+ LOCATION(RC_MK_GUARD_HOUSE_CHILD_POT_29, logic->IsChild && logic->CanBreakPots),
+ LOCATION(RC_MK_GUARD_HOUSE_CHILD_POT_30, logic->IsChild && logic->CanBreakPots),
+ LOCATION(RC_MK_GUARD_HOUSE_CHILD_POT_31, logic->IsChild && logic->CanBreakPots),
+ LOCATION(RC_MK_GUARD_HOUSE_CHILD_POT_32, logic->IsChild && logic->CanBreakPots),
+ LOCATION(RC_MK_GUARD_HOUSE_CHILD_POT_33, logic->IsChild && logic->CanBreakPots),
+ LOCATION(RC_MK_GUARD_HOUSE_CHILD_POT_34, logic->IsChild && logic->CanBreakPots),
+ LOCATION(RC_MK_GUARD_HOUSE_CHILD_POT_35, logic->IsChild && logic->CanBreakPots),
+ LOCATION(RC_MK_GUARD_HOUSE_CHILD_POT_36, logic->IsChild && logic->CanBreakPots),
+ LOCATION(RC_MK_GUARD_HOUSE_CHILD_POT_37, logic->IsChild && logic->CanBreakPots),
+ LOCATION(RC_MK_GUARD_HOUSE_CHILD_POT_38, logic->IsChild && logic->CanBreakPots),
+ LOCATION(RC_MK_GUARD_HOUSE_CHILD_POT_39, logic->IsChild && logic->CanBreakPots),
+ LOCATION(RC_MK_GUARD_HOUSE_CHILD_POT_40, logic->IsChild && logic->CanBreakPots),
+ LOCATION(RC_MK_GUARD_HOUSE_CHILD_POT_41, logic->IsChild && logic->CanBreakPots),
+ LOCATION(RC_MK_GUARD_HOUSE_CHILD_POT_42, logic->IsChild && logic->CanBreakPots),
+ LOCATION(RC_MK_GUARD_HOUSE_CHILD_POT_43, logic->IsChild && logic->CanBreakPots),
+ LOCATION(RC_MK_GUARD_HOUSE_CHILD_POT_44, logic->IsChild && logic->CanBreakPots),
+ LOCATION(RC_MK_GUARD_HOUSE_ADULT_POT_1, logic->IsAdult && logic->CanBreakPots),
+ LOCATION(RC_MK_GUARD_HOUSE_ADULT_POT_2, logic->IsAdult && logic->CanBreakPots),
+ LOCATION(RC_MK_GUARD_HOUSE_ADULT_POT_3, logic->IsAdult && logic->CanBreakPots),
+ LOCATION(RC_MK_GUARD_HOUSE_ADULT_POT_4, logic->IsAdult && logic->CanBreakPots),
+ LOCATION(RC_MK_GUARD_HOUSE_ADULT_POT_5, logic->IsAdult && logic->CanBreakPots),
+ LOCATION(RC_MK_GUARD_HOUSE_ADULT_POT_6, logic->IsAdult && logic->CanBreakPots),
+ LOCATION(RC_MK_GUARD_HOUSE_ADULT_POT_7, logic->IsAdult && logic->CanBreakPots),
+ LOCATION(RC_MK_GUARD_HOUSE_ADULT_POT_8, logic->IsAdult && logic->CanBreakPots),
+ LOCATION(RC_MK_GUARD_HOUSE_ADULT_POT_9, logic->IsAdult && logic->CanBreakPots),
+ LOCATION(RC_MK_GUARD_HOUSE_ADULT_POT_10, logic->IsAdult && logic->CanBreakPots),
+ LOCATION(RC_MK_GUARD_HOUSE_ADULT_POT_11, logic->IsAdult && logic->CanBreakPots),
}, {
//Exits
Entrance(RR_MARKET_ENTRANCE, {[]{return true;}}),
@@ -277,7 +336,12 @@ void AreaTable_Init_CastleTown() {
Entrance(RR_MARKET_BACK_ALLEY, {[]{return true;}}),
});
- areaTable[RR_MARKET_MAN_IN_GREEN_HOUSE] = Area("Market Man in Green House", "Market Man in Green House", RA_NONE, NO_DAY_NIGHT_CYCLE, {}, {}, {
+ areaTable[RR_MARKET_MAN_IN_GREEN_HOUSE] = Area("Market Man in Green House", "Market Man in Green House", RA_NONE, NO_DAY_NIGHT_CYCLE, {}, {
+ // Locations
+ LOCATION(RC_MK_BACK_ALLEY_HOUSE_POT_1, logic->CanBreakPots),
+ LOCATION(RC_MK_BACK_ALLEY_HOUSE_POT_2, logic->CanBreakPots),
+ LOCATION(RC_MK_BACK_ALLEY_HOUSE_POT_3, logic->CanBreakPots),
+ }, {
//Exits
Entrance(RR_MARKET_BACK_ALLEY, {[]{return true;}}),
});
diff --git a/soh/soh/Enhancements/randomizer/3drando/location_access/locacc_death_mountain.cpp b/soh/soh/Enhancements/randomizer/3drando/location_access/locacc_death_mountain.cpp
index 73284dbc8f5..19fb4c1f499 100644
--- a/soh/soh/Enhancements/randomizer/3drando/location_access/locacc_death_mountain.cpp
+++ b/soh/soh/Enhancements/randomizer/3drando/location_access/locacc_death_mountain.cpp
@@ -102,6 +102,12 @@ void AreaTable_Init_DeathMountain() {
LOCATION(RC_GC_MEDIGORON, logic->IsAdult && logic->AdultsWallet && (logic->CanBlastOrSmash || logic->GoronBracelet)),
LOCATION(RC_GC_MAZE_GOSSIP_STONE, logic->CanBlastOrSmash || logic->CanUse(RG_SILVER_GAUNTLETS)),
LOCATION(RC_GC_MEDIGORON_GOSSIP_STONE, logic->CanBlastOrSmash || logic->GoronBracelet),
+ LOCATION(RC_GC_LOWER_STAIRCASE_POT_1, logic->CanBreakPots),
+ LOCATION(RC_GC_LOWER_STAIRCASE_POT_2, logic->CanBreakPots),
+ LOCATION(RC_GC_UPPER_STAIRCASE_POT_1, logic->CanBreakPots),
+ LOCATION(RC_GC_UPPER_STAIRCASE_POT_2, logic->CanBreakPots),
+ LOCATION(RC_GC_UPPER_STAIRCASE_POT_3, logic->CanBreakPots),
+ LOCATION(RC_GC_MEDIGORON_POT_1, logic->CanBlastOrSmash || logic->GoronBracelet),
}, {
//Exits
Entrance(RR_DEATH_MOUNTAIN_TRAIL, {[]{return true;}}),
@@ -125,7 +131,10 @@ void AreaTable_Init_DeathMountain() {
EventAccess(&logic->GoronCityChildFire, {[]{return logic->GoronCityChildFire || (logic->IsChild && logic->CanUse(RG_STICKS));}}),
}, {
//Locations
- LOCATION(RC_GC_DARUNIAS_JOY, logic->IsChild && logic->CanUse(RG_SARIAS_SONG)),
+ LOCATION(RC_GC_DARUNIAS_JOY, logic->IsChild && logic->CanUse(RG_SARIAS_SONG)),
+ LOCATION(RC_GC_DARUNIA_POT_1, logic->CanBreakPots),
+ LOCATION(RC_GC_DARUNIA_POT_2, logic->CanBreakPots),
+ LOCATION(RC_GC_DARUNIA_POT_3, logic->CanBreakPots),
}, {
//Exits
Entrance(RR_GORON_CITY, {[]{return true;}}),
@@ -196,7 +205,13 @@ void AreaTable_Init_DeathMountain() {
Entrance(RR_DMC_LOWER_NEARBY, {[]{return logic->Hearts >= 3 && (logic->CanUse(RG_HOVER_BOOTS) || (randoCtx->GetTrickOption(RT_DMC_BOULDER_JS) && logic->IsAdult && logic->CanUse(RG_MEGATON_HAMMER)) || (randoCtx->GetTrickOption(RT_DMC_BOULDER_SKIP) && logic->IsAdult));}}),
});
- areaTable[RR_DMC_LOWER_NEARBY] = Area("DMC Lower Nearby", "Death Mountain Crater", RA_DEATH_MOUNTAIN_CRATER, NO_DAY_NIGHT_CYCLE, {}, {}, {
+ areaTable[RR_DMC_LOWER_NEARBY] = Area("DMC Lower Nearby", "Death Mountain Crater", RA_DEATH_MOUNTAIN_CRATER, NO_DAY_NIGHT_CYCLE, {}, {
+ // Locations
+ LOCATION(RC_DMC_NEAR_GC_POT_1, logic->CanBreakPots),
+ LOCATION(RC_DMC_NEAR_GC_POT_2, logic->CanBreakPots),
+ LOCATION(RC_DMC_NEAR_GC_POT_3, logic->CanBreakPots),
+ LOCATION(RC_DMC_NEAR_GC_POT_4, logic->CanBreakPots),
+ }, {
//Exits
Entrance(RR_DMC_LOWER_LOCAL, {[]{return logic->FireTimer >= 48;}}),
Entrance(RR_GC_DARUNIAS_CHAMBER, {[]{return true;}}),
diff --git a/soh/soh/Enhancements/randomizer/3drando/location_access/locacc_dodongos_cavern.cpp b/soh/soh/Enhancements/randomizer/3drando/location_access/locacc_dodongos_cavern.cpp
index 591705e51fc..e2de6983ccf 100644
--- a/soh/soh/Enhancements/randomizer/3drando/location_access/locacc_dodongos_cavern.cpp
+++ b/soh/soh/Enhancements/randomizer/3drando/location_access/locacc_dodongos_cavern.cpp
@@ -74,7 +74,13 @@ void AreaTable_Init_DodongosCavern() {
Entrance(RR_DODONGOS_CAVERN_LOWER_LIZALFOS, {[]{return true;}}),
});
- areaTable[RR_DODONGOS_CAVERN_LOWER_LIZALFOS] = Area("Dodongos Cavern Lower Lizalfos", "Dodongos Cavern", RA_DODONGOS_CAVERN, NO_DAY_NIGHT_CYCLE, {}, {}, {
+ areaTable[RR_DODONGOS_CAVERN_LOWER_LIZALFOS] = Area("Dodongos Cavern Lower Lizalfos", "Dodongos Cavern", RA_DODONGOS_CAVERN, NO_DAY_NIGHT_CYCLE, {}, {
+ //Locations
+ LOCATION(RC_DODONGOS_CAVERN_LIZALFOS_POT_1, logic->CanBreakPots),
+ LOCATION(RC_DODONGOS_CAVERN_LIZALFOS_POT_2, logic->CanBreakPots),
+ LOCATION(RC_DODONGOS_CAVERN_LIZALFOS_POT_3, logic->CanBreakPots),
+ LOCATION(RC_DODONGOS_CAVERN_LIZALFOS_POT_4, logic->CanBreakPots),
+ }, {
//Exits
Entrance(RR_DODONGOS_CAVERN_NEAR_LOWER_LIZALFOS, {[]{return Here(RR_DODONGOS_CAVERN_LOWER_LIZALFOS, []{return logic->CanUse(RG_FAIRY_BOW) || logic->CanUse(RG_FAIRY_SLINGSHOT) || logic->CanUse(RG_STICKS) || logic->CanUse(RG_KOKIRI_SWORD) ||
logic->CanUse(RG_MASTER_SWORD) || logic->CanUse(RG_BIGGORON_SWORD) || logic->CanUse(RG_MEGATON_HAMMER) || logic->HasExplosives;});}}),
@@ -92,6 +98,10 @@ void AreaTable_Init_DodongosCavern() {
areaTable[RR_DODONGOS_CAVERN_NEAR_DODONGO_ROOM] = Area("Dodongos Cavern Near Dodongo Room", "Dodongos Cavern", RA_DODONGOS_CAVERN, NO_DAY_NIGHT_CYCLE, {}, {
//Locations
LOCATION(RC_DODONGOS_CAVERN_DEKU_SCRUB_SIDE_ROOM_NEAR_DODONGOS, logic->CanStunDeku),
+ LOCATION(RC_DODONGOS_CAVERN_TORCH_ROOM_POT_1, logic->CanBreakPots),
+ LOCATION(RC_DODONGOS_CAVERN_TORCH_ROOM_POT_2, logic->CanBreakPots),
+ LOCATION(RC_DODONGOS_CAVERN_TORCH_ROOM_POT_3, logic->CanBreakPots),
+ LOCATION(RC_DODONGOS_CAVERN_TORCH_ROOM_POT_4, logic->CanBreakPots),
}, {
//Exits
Entrance(RR_DODONGOS_CAVERN_DODONGO_ROOM, {[]{return true;}}),
@@ -108,6 +118,10 @@ void AreaTable_Init_DodongosCavern() {
//Locations
LOCATION(RC_DODONGOS_CAVERN_GS_ALCOVE_ABOVE_STAIRS, Here(RR_DODONGOS_CAVERN_FAR_BRIDGE, []{return logic->HookshotOrBoomerang;}) || logic->CanUse(RG_LONGSHOT)),
LOCATION(RC_DODONGOS_CAVERN_GS_VINES_ABOVE_STAIRS, logic->IsAdult || logic->CanChildAttack || (HasAccessTo(RR_DODONGOS_CAVERN_STAIRS_LOWER) && logic->CanUse(RG_LONGSHOT) && randoCtx->GetTrickOption(RT_DC_VINES_GS))),
+ LOCATION(RC_DODONGOS_CAVERN_STAIRCASE_POT_1, logic->CanBreakPots),
+ LOCATION(RC_DODONGOS_CAVERN_STAIRCASE_POT_2, logic->CanBreakPots),
+ LOCATION(RC_DODONGOS_CAVERN_STAIRCASE_POT_3, logic->CanBreakPots),
+ LOCATION(RC_DODONGOS_CAVERN_STAIRCASE_POT_4, logic->CanBreakPots),
}, {
//Exits
Entrance(RR_DODONGOS_CAVERN_STAIRS_LOWER, {[]{return true;}}),
@@ -147,7 +161,11 @@ void AreaTable_Init_DodongosCavern() {
Entrance(RR_DODONGOS_CAVERN_BOMB_ROOM_LOWER, {[]{return true;}}),
});
- areaTable[RR_DODONGOS_CAVERN_FIRST_SLINGSHOT_ROOM] = Area("Dodongos Cavern First Slingshot Room", "Dodongos Cavern", RA_DODONGOS_CAVERN, NO_DAY_NIGHT_CYCLE, {}, {}, {
+ areaTable[RR_DODONGOS_CAVERN_FIRST_SLINGSHOT_ROOM] = Area("Dodongos Cavern First Slingshot Room", "Dodongos Cavern", RA_DODONGOS_CAVERN, NO_DAY_NIGHT_CYCLE, {}, {
+ //Locations
+ LOCATION(RC_DODONGOS_CAVERN_SINGLE_EYE_POT_1, logic->CanBreakPots),
+ LOCATION(RC_DODONGOS_CAVERN_SINGLE_EYE_POT_2, logic->CanBreakPots),
+ }, {
//Exits
Entrance(RR_DODONGOS_CAVERN_BOMB_ROOM_LOWER, {[]{return true;}}),
Entrance(RR_DODONGOS_CAVERN_UPPER_LIZALFOS, {[]{return logic->CanUse(RG_FAIRY_SLINGSHOT) || logic->CanUse(RG_FAIRY_BOW) || randoCtx->GetTrickOption(RT_DC_SLINGSHOT_SKIP);}}),
@@ -162,7 +180,11 @@ void AreaTable_Init_DodongosCavern() {
logic->CanUse(RG_MASTER_SWORD) || logic->CanUse(RG_BIGGORON_SWORD) || logic->CanUse(RG_MEGATON_HAMMER) || logic->HasExplosives;});}}),
});
- areaTable[RR_DODONGOS_CAVERN_SECOND_SLINGSHOT_ROOM] = Area("Dodongos Cavern Second Slingshot Room", "Dodongos Cavern", RA_DODONGOS_CAVERN, NO_DAY_NIGHT_CYCLE, {}, {}, {
+ areaTable[RR_DODONGOS_CAVERN_SECOND_SLINGSHOT_ROOM] = Area("Dodongos Cavern Second Slingshot Room", "Dodongos Cavern", RA_DODONGOS_CAVERN, NO_DAY_NIGHT_CYCLE, {}, {
+ //Location
+ LOCATION(RC_DODONGOS_CAVERN_DOUBLE_EYE_POT_1, logic->CanBreakPots),
+ LOCATION(RC_DODONGOS_CAVERN_DOUBLE_EYE_POT_2, logic->CanBreakPots),
+ }, {
//Exits
Entrance(RR_DODONGOS_CAVERN_UPPER_LIZALFOS, {[]{return true;}}),
Entrance(RR_DODONGOS_CAVERN_BOMB_ROOM_UPPER, {[]{return logic->CanUse(RG_FAIRY_SLINGSHOT) || logic->CanUse(RG_FAIRY_BOW) || randoCtx->GetTrickOption(RT_DC_SLINGSHOT_SKIP);}}),
@@ -171,6 +193,8 @@ void AreaTable_Init_DodongosCavern() {
areaTable[RR_DODONGOS_CAVERN_BOMB_ROOM_UPPER] = Area("Dodongos Cavern Bomb Room Upper", "Dodongos Cavern", RA_DODONGOS_CAVERN, NO_DAY_NIGHT_CYCLE, {}, {
//Locations
LOCATION(RC_DODONGOS_CAVERN_BOMB_BAG_CHEST, true),
+ LOCATION(RC_DODONGOS_CAVERN_BLADE_POT_1, logic->CanBreakPots),
+ LOCATION(RC_DODONGOS_CAVERN_BLADE_POT_2, logic->CanBreakPots),
}, {
//Exits
Entrance(RR_DODONGOS_CAVERN_BOMB_ROOM_LOWER, {[]{return true;}}),
@@ -190,7 +214,15 @@ void AreaTable_Init_DodongosCavern() {
areaTable[RR_DODONGOS_CAVERN_BOSS_AREA] = Area("Dodongos Cavern Boss Area", "Dodongos Cavern", RA_DODONGOS_CAVERN, NO_DAY_NIGHT_CYCLE, {
//Events
EventAccess(&logic->FairyPot, {[]{return true;}}),
- }, {}, {
+ }, {
+ //Locations
+ LOCATION(RC_DODONGOS_CAVERN_SIDE_ROOM_POT_1, logic->CanBreakPots),
+ LOCATION(RC_DODONGOS_CAVERN_SIDE_ROOM_POT_2, logic->CanBreakPots),
+ LOCATION(RC_DODONGOS_CAVERN_SIDE_ROOM_POT_3, logic->CanBreakPots),
+ LOCATION(RC_DODONGOS_CAVERN_SIDE_ROOM_POT_4, logic->CanBreakPots),
+ LOCATION(RC_DODONGOS_CAVERN_SIDE_ROOM_POT_5, logic->CanBreakPots),
+ LOCATION(RC_DODONGOS_CAVERN_SIDE_ROOM_POT_6, logic->CanBreakPots),
+ }, {
//Exits
Entrance(RR_DODONGOS_CAVERN_LOBBY, {[]{return true;}}),
Entrance(RR_DODONGOS_CAVERN_BACK_ROOM, {[]{return Here(RR_DODONGOS_CAVERN_BOSS_AREA, []{return logic->CanBlastOrSmash;});}}),
@@ -200,6 +232,10 @@ void AreaTable_Init_DodongosCavern() {
areaTable[RR_DODONGOS_CAVERN_BACK_ROOM] = Area("Dodongos Cavern Back Room", "Dodongos Cavern", RA_DODONGOS_CAVERN, NO_DAY_NIGHT_CYCLE, {}, {
//Locations
LOCATION(RC_DODONGOS_CAVERN_GS_BACK_ROOM, logic->CanAdultAttack || logic->CanChildAttack),
+ LOCATION(RC_DODONGOS_CAVERN_BACK_ROOM_POT_1, logic->CanBreakPots),
+ LOCATION(RC_DODONGOS_CAVERN_BACK_ROOM_POT_2, logic->CanBreakPots),
+ LOCATION(RC_DODONGOS_CAVERN_BACK_ROOM_POT_3, logic->CanBreakPots),
+ LOCATION(RC_DODONGOS_CAVERN_BACK_ROOM_POT_4, logic->CanBreakPots),
}, {
//Exits
Entrance(RR_DODONGOS_CAVERN_BOSS_AREA, {[]{return true;}}),
diff --git a/soh/soh/Enhancements/randomizer/3drando/location_access/locacc_fire_temple.cpp b/soh/soh/Enhancements/randomizer/3drando/location_access/locacc_fire_temple.cpp
index b3c2e5387d1..ba0d1b382d9 100644
--- a/soh/soh/Enhancements/randomizer/3drando/location_access/locacc_fire_temple.cpp
+++ b/soh/soh/Enhancements/randomizer/3drando/location_access/locacc_fire_temple.cpp
@@ -35,6 +35,10 @@ void AreaTable_Init_FireTemple() {
}, {
//Locations
LOCATION(RC_FIRE_TEMPLE_NEAR_BOSS_CHEST, true),
+ LOCATION(RC_FIRE_TEMPLE_NEAR_BOSS_POT_1, logic->CanBreakPots),
+ LOCATION(RC_FIRE_TEMPLE_NEAR_BOSS_POT_2, logic->CanBreakPots),
+ LOCATION(RC_FIRE_TEMPLE_NEAR_BOSS_POT_3, logic->CanBreakPots),
+ LOCATION(RC_FIRE_TEMPLE_NEAR_BOSS_POT_4, logic->CanBreakPots),
}, {
//Exits
Entrance(RR_FIRE_TEMPLE_FIRST_ROOM, {[]{return true;}}),
@@ -90,7 +94,12 @@ void AreaTable_Init_FireTemple() {
Entrance(RR_FIRE_TEMPLE_LOOP_GORON_ROOM, {[]{return logic->FireLoopSwitch;}}),
});
- areaTable[RR_FIRE_TEMPLE_BIG_LAVA_ROOM] = Area("Fire Temple Big Lava Room", "Fire Temple", RA_FIRE_TEMPLE, NO_DAY_NIGHT_CYCLE, {}, {}, {
+ areaTable[RR_FIRE_TEMPLE_BIG_LAVA_ROOM] = Area("Fire Temple Big Lava Room", "Fire Temple", RA_FIRE_TEMPLE, NO_DAY_NIGHT_CYCLE, {}, {
+ //Locations
+ LOCATION(RC_FIRE_TEMPLE_BIG_LAVA_POT_1, logic->CanBreakPots),
+ LOCATION(RC_FIRE_TEMPLE_BIG_LAVA_POT_2, logic->CanBreakPots),
+ LOCATION(RC_FIRE_TEMPLE_BIG_LAVA_POT_3, logic->CanBreakPots),
+ }, {
//Exits
Entrance(RR_FIRE_TEMPLE_FIRST_ROOM, {[]{return logic->SmallKeys(RR_FIRE_TEMPLE, 2);}}),
Entrance(RR_FIRE_TEMPLE_BIG_LAVA_ROOM_NORTH_GORON, {[]{return true;}}),
@@ -225,7 +234,17 @@ void AreaTable_Init_FireTemple() {
Entrance(RR_FIRE_TEMPLE_FIRE_MAZE_ROOM, {[]{return true;}}),
});
- areaTable[RR_FIRE_TEMPLE_FIRE_MAZE_ROOM] = Area("Fire Temple Fire Maze Room", "Fire Temple", RA_FIRE_TEMPLE, NO_DAY_NIGHT_CYCLE, {}, {}, {
+ areaTable[RR_FIRE_TEMPLE_FIRE_MAZE_ROOM] = Area("Fire Temple Fire Maze Room", "Fire Temple", RA_FIRE_TEMPLE, NO_DAY_NIGHT_CYCLE, {}, {
+ //Locations
+ LOCATION(RC_FIRE_TEMPLE_FLAME_MAZE_LEFT_POT_1, logic->CanBreakPots),
+ LOCATION(RC_FIRE_TEMPLE_FLAME_MAZE_LEFT_POT_2, logic->CanBreakPots),
+ LOCATION(RC_FIRE_TEMPLE_FLAME_MAZE_LEFT_POT_3, logic->CanBreakPots),
+ LOCATION(RC_FIRE_TEMPLE_FLAME_MAZE_LEFT_POT_4, logic->CanBreakPots),
+ LOCATION(RC_FIRE_TEMPLE_FLAME_MAZE_RIGHT_POT_1, logic->CanBreakPots),
+ LOCATION(RC_FIRE_TEMPLE_FLAME_MAZE_RIGHT_POT_2, logic->CanBreakPots),
+ LOCATION(RC_FIRE_TEMPLE_FLAME_MAZE_RIGHT_POT_3, logic->CanBreakPots),
+ LOCATION(RC_FIRE_TEMPLE_FLAME_MAZE_RIGHT_POT_4, logic->CanBreakPots),
+ }, {
//Exits
Entrance(RR_FIRE_TEMPLE_CORRIDOR, {[]{return true;}}),
Entrance(RR_FIRE_TEMPLE_FIRE_MAZE_UPPER, {[]{return logic->CanUse(RG_HOVER_BOOTS);}}),
diff --git a/soh/soh/Enhancements/randomizer/3drando/location_access/locacc_forest_temple.cpp b/soh/soh/Enhancements/randomizer/3drando/location_access/locacc_forest_temple.cpp
index eaaee1f36e0..44c7ecd5dd1 100644
--- a/soh/soh/Enhancements/randomizer/3drando/location_access/locacc_forest_temple.cpp
+++ b/soh/soh/Enhancements/randomizer/3drando/location_access/locacc_forest_temple.cpp
@@ -41,6 +41,12 @@ void AreaTable_Init_ForestTemple() {
}, {
//Locations
LOCATION(RC_FOREST_TEMPLE_GS_LOBBY, logic->HookshotOrBoomerang),
+ LOCATION(RC_FOREST_TEMPLE_LOBBY_POT_1, logic->CanBreakPots),
+ LOCATION(RC_FOREST_TEMPLE_LOBBY_POT_2, logic->CanBreakPots),
+ LOCATION(RC_FOREST_TEMPLE_LOBBY_POT_3, logic->CanBreakPots),
+ LOCATION(RC_FOREST_TEMPLE_LOBBY_POT_4, logic->CanBreakPots),
+ LOCATION(RC_FOREST_TEMPLE_LOBBY_POT_5, logic->CanBreakPots),
+ LOCATION(RC_FOREST_TEMPLE_LOBBY_POT_6, logic->CanBreakPots),
}, {
//Exits
Entrance(RR_FOREST_TEMPLE_SOUTH_CORRIDOR, {[]{return true;}}),
@@ -65,6 +71,8 @@ void AreaTable_Init_ForestTemple() {
}, {
//Locations
LOCATION(RC_FOREST_TEMPLE_FIRST_STALFOS_CHEST, logic->CanUse(RG_KOKIRI_SWORD) || logic->CanUse(RG_MASTER_SWORD) || logic->CanUse(RG_BIGGORON_SWORD) || logic->CanUse(RG_MEGATON_HAMMER)),
+ LOCATION(RC_FOREST_TEMPLE_LOWER_STALFOS_POT_1, logic->CanBreakPots),
+ LOCATION(RC_FOREST_TEMPLE_LOWER_STALFOS_POT_2, logic->CanBreakPots),
}, {
//Exits
Entrance(RR_FOREST_TEMPLE_NORTH_CORRIDOR, {[]{return true;}}),
@@ -203,6 +211,10 @@ void AreaTable_Init_ForestTemple() {
areaTable[RR_FOREST_TEMPLE_UPPER_STALFOS] = Area("Forest Temple Upper Stalfos", "Forest Temple", RA_FOREST_TEMPLE, NO_DAY_NIGHT_CYCLE, {}, {
//Locations
LOCATION(RC_FOREST_TEMPLE_BOW_CHEST, logic->CanUse(RG_KOKIRI_SWORD) || logic->CanUse(RG_MASTER_SWORD) || logic->CanUse(RG_BIGGORON_SWORD) || logic->CanUse(RG_MEGATON_HAMMER)),
+ LOCATION(RC_FOREST_TEMPLE_UPPER_STALFOS_POT_1, logic->CanBreakPots),
+ LOCATION(RC_FOREST_TEMPLE_UPPER_STALFOS_POT_2, logic->CanBreakPots),
+ LOCATION(RC_FOREST_TEMPLE_UPPER_STALFOS_POT_3, logic->CanBreakPots),
+ LOCATION(RC_FOREST_TEMPLE_UPPER_STALFOS_POT_4, logic->CanBreakPots),
}, {
//Exits
Entrance(RR_FOREST_TEMPLE_RED_POE_ROOM, {[]{return logic->CanUse(RG_KOKIRI_SWORD) || logic->CanUse(RG_MASTER_SWORD) || logic->CanUse(RG_BIGGORON_SWORD) || logic->CanUse(RG_MEGATON_HAMMER);}}),
@@ -215,6 +227,9 @@ void AreaTable_Init_ForestTemple() {
}, {
//Locations
LOCATION(RC_FOREST_TEMPLE_BLUE_POE_CHEST, logic->ForestTempleBeth),
+ LOCATION(RC_FOREST_TEMPLE_BLUE_POE_POT_1, logic->CanBreakPots),
+ LOCATION(RC_FOREST_TEMPLE_BLUE_POE_POT_2, logic->CanBreakPots),
+ LOCATION(RC_FOREST_TEMPLE_BLUE_POE_POT_3, logic->CanBreakPots),
}, {
//Exits
Entrance(RR_FOREST_TEMPLE_UPPER_STALFOS, {[]{return true;}}),
@@ -233,7 +248,11 @@ void AreaTable_Init_ForestTemple() {
Entrance(RR_FOREST_TEMPLE_FALLING_ROOM, {[]{return true;}}),
});
- areaTable[RR_FOREST_TEMPLE_FROZEN_EYE_ROOM] = Area("Forest Temple Frozen Eye Room", "Forest Temple", RA_FOREST_TEMPLE, NO_DAY_NIGHT_CYCLE, {}, {}, {
+ areaTable[RR_FOREST_TEMPLE_FROZEN_EYE_ROOM] = Area("Forest Temple Frozen Eye Room", "Forest Temple", RA_FOREST_TEMPLE, NO_DAY_NIGHT_CYCLE, {}, {
+ //Locations
+ LOCATION(RC_FOREST_TEMPLE_FROZEN_EYE_POT_1, logic->CanBreakPots),
+ LOCATION(RC_FOREST_TEMPLE_FROZEN_EYE_POT_2, logic->CanBreakPots),
+ }, {
//Exits
Entrance(RR_FOREST_TEMPLE_NE_CORRIDOR_STRAIGHTENED, {[]{return logic->SmallKeys(RR_FOREST_TEMPLE, 5);}}),
Entrance(RR_FOREST_TEMPLE_NE_CORRIDOR_TWISTED, {[]{return logic->SmallKeys(RR_FOREST_TEMPLE, 5) && (logic->CanUse(RG_FAIRY_BOW) || logic->CanUse(RG_DINS_FIRE));}}),
@@ -251,7 +270,11 @@ void AreaTable_Init_ForestTemple() {
areaTable[RR_FOREST_TEMPLE_GREEN_POE_ROOM] = Area("Forest Temple Green Poe Room", "Forest Temple", RA_FOREST_TEMPLE, NO_DAY_NIGHT_CYCLE, {
//Events
EventAccess(&logic->ForestTempleAmy, {[]{return logic->ForestTempleAmy || logic->CanUse(RG_FAIRY_BOW);}}),
- }, {}, {
+ }, {
+ //Locations
+ LOCATION(RC_FOREST_TEMPLE_GREEN_POE_POT_1, logic->CanBreakPots),
+ LOCATION(RC_FOREST_TEMPLE_GREEN_POE_POT_2, logic->CanBreakPots),
+ }, {
//Exits
Entrance(RR_FOREST_TEMPLE_FALLING_ROOM, {[]{return true;}}),
Entrance(RR_FOREST_TEMPLE_EAST_CORRIDOR, {[]{return logic->ForestTempleAmy;}}),
diff --git a/soh/soh/Enhancements/randomizer/3drando/location_access/locacc_ganons_castle.cpp b/soh/soh/Enhancements/randomizer/3drando/location_access/locacc_ganons_castle.cpp
index 05249def11a..c70195b062f 100644
--- a/soh/soh/Enhancements/randomizer/3drando/location_access/locacc_ganons_castle.cpp
+++ b/soh/soh/Enhancements/randomizer/3drando/location_access/locacc_ganons_castle.cpp
@@ -22,7 +22,7 @@ void AreaTable_Init_GanonsCastle() {
if (randoCtx->GetDungeon(GANONS_CASTLE)->IsVanilla()) {
areaTable[RR_GANONS_CASTLE_LOBBY] = Area("Ganon's Castle Lobby", "Ganon's Castle", RA_GANONS_CASTLE, NO_DAY_NIGHT_CYCLE, {}, {
//Locations
- LOCATION(RC_SHEIK_HINT_GC, true),
+ LOCATION(RC_SHEIK_HINT_GC, true),
}, {
//Exits
Entrance(RR_GANONS_CASTLE_ENTRYWAY, {[]{return true;}}),
@@ -58,12 +58,18 @@ void AreaTable_Init_GanonsCastle() {
}, {
//Locations
LOCATION(RC_GANONS_CASTLE_FOREST_TRIAL_CHEST, logic->CanAdultDamage || logic->CanChildDamage),
+ LOCATION(RC_GANONS_CASTLE_FOREST_TRIAL_POT_1, logic->CanBreakPots && (logic->FireArrows || logic->DinsFire)),
+ LOCATION(RC_GANONS_CASTLE_FOREST_TRIAL_POT_2, logic->CanBreakPots && (logic->FireArrows || logic->DinsFire)),
}, {});
areaTable[RR_GANONS_CASTLE_FIRE_TRIAL] = Area("Ganon's Castle Fire Trial", "Ganon's Castle", RA_GANONS_CASTLE, NO_DAY_NIGHT_CYCLE, {
//Events
EventAccess(&logic->FireTrialClear, {[]{return logic->CanUse(RG_GORON_TUNIC) && logic->CanUse(RG_GOLDEN_GAUNTLETS) && logic->CanUse(RG_LIGHT_ARROWS) && logic->CanUse(RG_LONGSHOT);}}),
- }, {}, {});
+ }, {
+ //Locations
+ LOCATION(RC_GANONS_CASTLE_FIRE_TRIAL_POT_1, logic->CanBreakPots && logic->CanUse(RG_GORON_TUNIC) && logic->CanUse(RG_GOLDEN_GAUNTLETS) && logic->CanUse(RG_LONGSHOT)),
+ LOCATION(RC_GANONS_CASTLE_FIRE_TRIAL_POT_2, logic->CanBreakPots && logic->CanUse(RG_GORON_TUNIC) && logic->CanUse(RG_GOLDEN_GAUNTLETS) && logic->CanUse(RG_LONGSHOT)),
+ }, {});
areaTable[RR_GANONS_CASTLE_WATER_TRIAL] = Area("Ganon's Castle Water Trial", "Ganon's Castle", RA_GANONS_CASTLE, NO_DAY_NIGHT_CYCLE, {
//Events
@@ -74,6 +80,9 @@ void AreaTable_Init_GanonsCastle() {
//Locations
LOCATION(RC_GANONS_CASTLE_WATER_TRIAL_LEFT_CHEST, true),
LOCATION(RC_GANONS_CASTLE_WATER_TRIAL_RIGHT_CHEST, true),
+ LOCATION(RC_GANONS_CASTLE_WATER_TRIAL_POT_1, logic->CanBreakPots && logic->BlueFireAccess),
+ LOCATION(RC_GANONS_CASTLE_WATER_TRIAL_POT_2, logic->CanBreakPots && logic->FairyPot),
+ LOCATION(RC_GANONS_CASTLE_WATER_TRIAL_POT_3, logic->CanBreakPots && logic->BlueFire && logic->IsAdult && logic->CanUse(RG_MEGATON_HAMMER)),
}, {});
areaTable[RR_GANONS_CASTLE_SHADOW_TRIAL] = Area("Ganon's Castle Shadow Trial", "Ganon's Castle", RA_GANONS_CASTLE, NO_DAY_NIGHT_CYCLE, {
@@ -83,6 +92,10 @@ void AreaTable_Init_GanonsCastle() {
//Locations
LOCATION(RC_GANONS_CASTLE_SHADOW_TRIAL_FRONT_CHEST, logic->CanUse(RG_FIRE_ARROWS) || logic->CanUse(RG_HOOKSHOT) || logic->CanUse(RG_HOVER_BOOTS) || logic->CanUse(RG_SONG_OF_TIME) || logic->IsChild),
LOCATION(RC_GANONS_CASTLE_SHADOW_TRIAL_GOLDEN_GAUNTLETS_CHEST, logic->CanUse(RG_FIRE_ARROWS) || (logic->CanUse(RG_LONGSHOT) && (logic->CanUse(RG_HOVER_BOOTS) || logic->CanUse(RG_DINS_FIRE)))),
+ LOCATION(RC_GANONS_CASTLE_SHADOW_TRIAL_POT_1, logic->CanBreakPots && (logic->CanUse(RG_FIRE_ARROWS) || (logic->CanUse(RG_LONGSHOT) && (logic->CanUse(RG_HOVER_BOOTS) || logic->CanUse(RG_DINS_FIRE))))),
+ LOCATION(RC_GANONS_CASTLE_SHADOW_TRIAL_POT_2, logic->CanBreakPots && (logic->CanUse(RG_FIRE_ARROWS) || (logic->CanUse(RG_LONGSHOT) && (logic->CanUse(RG_HOVER_BOOTS) || logic->CanUse(RG_DINS_FIRE))))),
+ LOCATION(RC_GANONS_CASTLE_SHADOW_TRIAL_POT_3, logic->CanBreakPots && (logic->CanUse(RG_FIRE_ARROWS) || (logic->CanUse(RG_LONGSHOT) && (logic->CanUse(RG_HOVER_BOOTS) || logic->CanUse(RG_DINS_FIRE))))),
+ LOCATION(RC_GANONS_CASTLE_SHADOW_TRIAL_POT_4, logic->CanBreakPots && (logic->CanUse(RG_FIRE_ARROWS) || (logic->CanUse(RG_LONGSHOT) && (logic->CanUse(RG_HOVER_BOOTS) || logic->CanUse(RG_DINS_FIRE))))),
}, {});
areaTable[RR_GANONS_CASTLE_SPIRIT_TRIAL] = Area("Ganon's Castle Spirit Trial", "Ganon's Castle", RA_GANONS_CASTLE, NO_DAY_NIGHT_CYCLE, {
@@ -93,6 +106,8 @@ void AreaTable_Init_GanonsCastle() {
//Locations
LOCATION(RC_GANONS_CASTLE_SPIRIT_TRIAL_CRYSTAL_SWITCH_CHEST, (randoCtx->GetTrickOption(RT_GANON_SPIRIT_TRIAL_HOOKSHOT) || logic->CanUse(RG_HOOKSHOT)) && logic->CanJumpslash),
LOCATION(RC_GANONS_CASTLE_SPIRIT_TRIAL_INVISIBLE_CHEST, (randoCtx->GetTrickOption(RT_GANON_SPIRIT_TRIAL_HOOKSHOT) || logic->CanUse(RG_HOOKSHOT)) && logic->CanUse(RG_BOMBCHU_5) && (randoCtx->GetTrickOption(RT_LENS_GANON) || logic->CanUse(RG_LENS_OF_TRUTH))),
+ LOCATION(RC_GANONS_CASTLE_SPIRIT_TRIAL_POT_1, logic->CanBreakPots && logic->NutPot),
+ LOCATION(RC_GANONS_CASTLE_SPIRIT_TRIAL_POT_2, logic->CanBreakPots && logic->NutPot),
}, {});
areaTable[RR_GANONS_CASTLE_LIGHT_TRIAL] = Area("Ganon's Castle Light Trial", "Ganon's Castle", RA_GANONS_CASTLE, NO_DAY_NIGHT_CYCLE, {
@@ -108,14 +123,35 @@ void AreaTable_Init_GanonsCastle() {
LOCATION(RC_GANONS_CASTLE_LIGHT_TRIAL_THIRD_RIGHT_CHEST, true),
LOCATION(RC_GANONS_CASTLE_LIGHT_TRIAL_INVISIBLE_ENEMIES_CHEST, randoCtx->GetTrickOption(RT_LENS_GANON) || logic->CanUse(RG_LENS_OF_TRUTH)),
LOCATION(RC_GANONS_CASTLE_LIGHT_TRIAL_LULLABY_CHEST, logic->CanUse(RG_ZELDAS_LULLABY) && logic->SmallKeys(RR_GANONS_CASTLE, 1)),
+ LOCATION(RC_GANONS_CASTLE_LIGHT_TRIAL_BOULDER_POT_1, logic->CanBreakPots && logic->CanUse(RG_ZELDAS_LULLABY) && logic->SmallKeys(RR_GANONS_CASTLE, 1)),
+ LOCATION(RC_GANONS_CASTLE_LIGHT_TRIAL_POT_1, logic->CanBreakPots && logic->CanUse(RG_HOOKSHOT) && logic->SmallKeys(RR_GANONS_CASTLE, 2) && (randoCtx->GetTrickOption(RT_LENS_GANON) || logic->CanUse(RG_LENS_OF_TRUTH))),
+ LOCATION(RC_GANONS_CASTLE_LIGHT_TRIAL_POT_2, logic->CanBreakPots && logic->CanUse(RG_HOOKSHOT) && logic->SmallKeys(RR_GANONS_CASTLE, 2) && (randoCtx->GetTrickOption(RT_LENS_GANON) || logic->CanUse(RG_LENS_OF_TRUTH))),
}, {});
}
areaTable[RR_GANONS_CASTLE_TOWER] = Area("Ganon's Castle Tower", "Ganons Castle", RA_GANONS_CASTLE, NO_DAY_NIGHT_CYCLE, {}, {
//Locations
- LOCATION(RC_GANONS_TOWER_BOSS_KEY_CHEST, logic->CanUse(RG_KOKIRI_SWORD) || logic->CanUse(RG_MASTER_SWORD) || logic->CanUse(RG_BIGGORON_SWORD)),
- LOCATION(RC_GANONDORF_HINT, logic->BossKeyGanonsCastle && (logic->CanUse(RG_KOKIRI_SWORD) || logic->CanUse(RG_MASTER_SWORD) || logic->CanUse(RG_BIGGORON_SWORD))),
- LOCATION(RC_GANON, logic->HasBossSoul(RG_GANON_SOUL) && logic->BossKeyGanonsCastle && logic->CanUse(RG_LIGHT_ARROWS) && logic->CanUse(RG_MASTER_SWORD)),
+ LOCATION(RC_GANONS_TOWER_BOSS_KEY_CHEST, logic->CanUse(RG_KOKIRI_SWORD) || logic->CanUse(RG_MASTER_SWORD) || logic->CanUse(RG_BIGGORON_SWORD)),
+ LOCATION(RC_GANONDORF_HINT, logic->BossKeyGanonsCastle && (logic->CanUse(RG_KOKIRI_SWORD) || logic->CanUse(RG_MASTER_SWORD) || logic->CanUse(RG_BIGGORON_SWORD))),
+ LOCATION(RC_GANON, logic->HasBossSoul(RG_GANON_SOUL) && logic->BossKeyGanonsCastle && logic->CanUse(RG_LIGHT_ARROWS) && logic->CanUse(RG_MASTER_SWORD)),
+ LOCATION(RC_GANONS_CASTLE_GANONS_TOWER_POT_1, logic->CanBreakPots && logic->CanUse(RG_KOKIRI_SWORD) || logic->CanUse(RG_MASTER_SWORD) || logic->CanUse(RG_BIGGORON_SWORD)),
+ LOCATION(RC_GANONS_CASTLE_GANONS_TOWER_POT_2, logic->CanBreakPots && logic->CanUse(RG_KOKIRI_SWORD) || logic->CanUse(RG_MASTER_SWORD) || logic->CanUse(RG_BIGGORON_SWORD)),
+ LOCATION(RC_GANONS_CASTLE_GANONS_TOWER_POT_3, logic->CanBreakPots && logic->CanUse(RG_KOKIRI_SWORD) || logic->CanUse(RG_MASTER_SWORD) || logic->CanUse(RG_BIGGORON_SWORD)),
+ LOCATION(RC_GANONS_CASTLE_GANONS_TOWER_POT_4, logic->CanBreakPots && logic->CanUse(RG_KOKIRI_SWORD) || logic->CanUse(RG_MASTER_SWORD) || logic->CanUse(RG_BIGGORON_SWORD)),
+ LOCATION(RC_GANONS_CASTLE_GANONS_TOWER_POT_5, logic->CanBreakPots && logic->CanUse(RG_KOKIRI_SWORD) || logic->CanUse(RG_MASTER_SWORD) || logic->CanUse(RG_BIGGORON_SWORD)),
+ LOCATION(RC_GANONS_CASTLE_GANONS_TOWER_POT_6, logic->CanBreakPots && logic->CanUse(RG_KOKIRI_SWORD) || logic->CanUse(RG_MASTER_SWORD) || logic->CanUse(RG_BIGGORON_SWORD)),
+ LOCATION(RC_GANONS_CASTLE_GANONS_TOWER_POT_7, logic->CanBreakPots && logic->CanUse(RG_KOKIRI_SWORD) || logic->CanUse(RG_MASTER_SWORD) || logic->CanUse(RG_BIGGORON_SWORD)),
+ LOCATION(RC_GANONS_CASTLE_GANONS_TOWER_POT_8, logic->CanBreakPots && logic->CanUse(RG_KOKIRI_SWORD) || logic->CanUse(RG_MASTER_SWORD) || logic->CanUse(RG_BIGGORON_SWORD)),
+ LOCATION(RC_GANONS_CASTLE_GANONS_TOWER_POT_9, logic->CanBreakPots && logic->CanUse(RG_KOKIRI_SWORD) || logic->CanUse(RG_MASTER_SWORD) || logic->CanUse(RG_BIGGORON_SWORD)),
+ LOCATION(RC_GANONS_CASTLE_GANONS_TOWER_POT_10, logic->CanBreakPots && logic->CanUse(RG_KOKIRI_SWORD) || logic->CanUse(RG_MASTER_SWORD) || logic->CanUse(RG_BIGGORON_SWORD)),
+ LOCATION(RC_GANONS_CASTLE_GANONS_TOWER_POT_11, logic->CanBreakPots && logic->CanUse(RG_KOKIRI_SWORD) || logic->CanUse(RG_MASTER_SWORD) || logic->CanUse(RG_BIGGORON_SWORD)),
+ LOCATION(RC_GANONS_CASTLE_GANONS_TOWER_POT_12, logic->CanBreakPots && logic->CanUse(RG_KOKIRI_SWORD) || logic->CanUse(RG_MASTER_SWORD) || logic->CanUse(RG_BIGGORON_SWORD)),
+ LOCATION(RC_GANONS_CASTLE_GANONS_TOWER_POT_13, logic->CanBreakPots && logic->CanUse(RG_KOKIRI_SWORD) || logic->CanUse(RG_MASTER_SWORD) || logic->CanUse(RG_BIGGORON_SWORD)),
+ LOCATION(RC_GANONS_CASTLE_GANONS_TOWER_POT_14, logic->CanBreakPots && logic->CanUse(RG_KOKIRI_SWORD) || logic->CanUse(RG_MASTER_SWORD) || logic->CanUse(RG_BIGGORON_SWORD)),
+ LOCATION(RC_GANONS_CASTLE_GANONS_TOWER_POT_15, logic->CanBreakPots && logic->CanUse(RG_KOKIRI_SWORD) || logic->CanUse(RG_MASTER_SWORD) || logic->CanUse(RG_BIGGORON_SWORD)),
+ LOCATION(RC_GANONS_CASTLE_GANONS_TOWER_POT_16, logic->CanBreakPots && logic->CanUse(RG_KOKIRI_SWORD) || logic->CanUse(RG_MASTER_SWORD) || logic->CanUse(RG_BIGGORON_SWORD)),
+ LOCATION(RC_GANONS_CASTLE_GANONS_TOWER_POT_17, logic->CanBreakPots && logic->CanUse(RG_KOKIRI_SWORD) || logic->CanUse(RG_MASTER_SWORD) || logic->CanUse(RG_BIGGORON_SWORD)),
+ LOCATION(RC_GANONS_CASTLE_GANONS_TOWER_POT_18, logic->CanBreakPots && logic->CanUse(RG_KOKIRI_SWORD) || logic->CanUse(RG_MASTER_SWORD) || logic->CanUse(RG_BIGGORON_SWORD)),
}, {});
/*---------------------------
diff --git a/soh/soh/Enhancements/randomizer/3drando/location_access/locacc_gerudo_valley.cpp b/soh/soh/Enhancements/randomizer/3drando/location_access/locacc_gerudo_valley.cpp
index 5913e2d3b37..950c143e9bb 100644
--- a/soh/soh/Enhancements/randomizer/3drando/location_access/locacc_gerudo_valley.cpp
+++ b/soh/soh/Enhancements/randomizer/3drando/location_access/locacc_gerudo_valley.cpp
@@ -110,6 +110,22 @@ void AreaTable_Init_GerudoValley() {
LOCATION(RC_GF_GERUDO_MEMBERSHIP_CARD, logic->CanFinishGerudoFortress),
LOCATION(RC_GF_GS_ARCHERY_RANGE, logic->IsAdult && logic->HookshotOrBoomerang && logic->GerudoToken && logic->AtNight && logic->CanGetNightTimeGS),
LOCATION(RC_GF_GS_TOP_FLOOR, logic->IsAdult && logic->AtNight && (logic->CanJumpslash || logic->CanUse(RG_FAIRY_SLINGSHOT) || logic->CanUse(RG_BOOMERANG) || logic->HasExplosives || logic->CanUse(RG_FAIRY_BOW) || logic->CanUse(RG_HOOKSHOT) || logic->CanUse(RG_DINS_FIRE)) && (logic->GerudoToken || logic->CanUse(RG_FAIRY_BOW) || logic->CanUse(RG_HOOKSHOT) || logic->CanUse(RG_HOVER_BOOTS) || randoCtx->GetTrickOption(RT_GF_KITCHEN) || randoCtx->GetTrickOption(RT_GF_JUMP)) && logic->CanGetNightTimeGS),
+ LOCATION(RC_GF_BREAK_ROOM_POT_1, logic->CanBreakPots),
+ LOCATION(RC_GF_BREAK_ROOM_POT_2, logic->CanBreakPots),
+ LOCATION(RC_GF_KITCHEN_POT_1, (logic->GerudoToken || logic->Bow || logic->Hookshot) && logic->CanBreakPots),
+ LOCATION(RC_GF_KITCHEN_POT_2, (logic->GerudoToken || logic->Bow || logic->Hookshot) && logic->CanBreakPots),
+ LOCATION(RC_GF_NORTH_F1_CARPENTER_POT_1, logic->CanBreakPots),
+ LOCATION(RC_GF_NORTH_F1_CARPENTER_POT_2, logic->CanBreakPots),
+ LOCATION(RC_GF_NORTH_F1_CARPENTER_POT_3, logic->CanBreakPots),
+ LOCATION(RC_GF_NORTH_F2_CARPENTER_POT_1, logic->CanBreakPots),
+ LOCATION(RC_GF_NORTH_F2_CARPENTER_POT_2, logic->CanBreakPots),
+ LOCATION(RC_GF_SOUTH_F1_CARPENTER_POT_1, logic->CanBreakPots),
+ LOCATION(RC_GF_SOUTH_F1_CARPENTER_POT_2, logic->CanBreakPots),
+ LOCATION(RC_GF_SOUTH_F1_CARPENTER_POT_3, logic->CanBreakPots),
+ LOCATION(RC_GF_SOUTH_F1_CARPENTER_CELL_POT_1, logic->CanBreakPots),
+ LOCATION(RC_GF_SOUTH_F1_CARPENTER_CELL_POT_2, logic->CanBreakPots),
+ LOCATION(RC_GF_SOUTH_F1_CARPENTER_CELL_POT_3, logic->CanBreakPots),
+ LOCATION(RC_GF_SOUTH_F1_CARPENTER_CELL_POT_4, logic->CanBreakPots),
}, {
//Exits
Entrance(RR_GV_FORTRESS_SIDE, {[]{return true;}}),
@@ -151,6 +167,10 @@ void AreaTable_Init_GerudoValley() {
LOCATION(RC_WASTELAND_CHEST, logic->HasFireSource),
LOCATION(RC_WASTELAND_BOMBCHU_SALESMAN, logic->CarpetMerchant),
LOCATION(RC_WASTELAND_GS, logic->HookshotOrBoomerang),
+ LOCATION(RC_WASTELAND_NEAR_GS_POT_1, logic->CanBreakPots),
+ LOCATION(RC_WASTELAND_NEAR_GS_POT_2, logic->CanBreakPots),
+ LOCATION(RC_WASTELAND_NEAR_GS_POT_3, logic->CanBreakPots),
+ LOCATION(RC_WASTELAND_NEAR_GS_POT_4, logic->CanBreakPots),
}, {
//Exits
Entrance(RR_WASTELAND_NEAR_COLOSSUS, {[]{return randoCtx->GetTrickOption(RT_LENS_HW) || logic->CanUse(RG_LENS_OF_TRUTH);}}),
diff --git a/soh/soh/Enhancements/randomizer/3drando/location_access/locacc_hyrule_field.cpp b/soh/soh/Enhancements/randomizer/3drando/location_access/locacc_hyrule_field.cpp
index 860b90e8b80..a68d379c4bb 100644
--- a/soh/soh/Enhancements/randomizer/3drando/location_access/locacc_hyrule_field.cpp
+++ b/soh/soh/Enhancements/randomizer/3drando/location_access/locacc_hyrule_field.cpp
@@ -68,6 +68,8 @@ void AreaTable_Init_HyruleField() {
LOCATION(RC_HF_GS_COW_GROTTO, logic->HasFireSource && logic->HookshotOrBoomerang),
LOCATION(RC_HF_COW_GROTTO_COW, logic->HasFireSource && logic->CanUse(RG_EPONAS_SONG)),
LOCATION(RC_HF_COW_GROTTO_GOSSIP_STONE, logic->HasFireSource),
+ LOCATION(RC_HF_COW_GROTTO_POT_1, logic->HasFireSource && logic->CanBreakPots),
+ LOCATION(RC_HF_COW_GROTTO_POT_2, logic->HasFireSource && logic->CanBreakPots),
}, {
//Exits
Entrance(RR_HYRULE_FIELD, {[]{return true;}}),
@@ -231,6 +233,13 @@ void AreaTable_Init_HyruleField() {
LOCATION(RC_LLR_GS_RAIN_SHED, logic->IsChild && logic->AtNight && logic->CanGetNightTimeGS),
LOCATION(RC_LLR_GS_HOUSE_WINDOW, logic->IsChild && logic->HookshotOrBoomerang && logic->AtNight && logic->CanGetNightTimeGS),
LOCATION(RC_LLR_GS_BACK_WALL, logic->IsChild && logic->HookshotOrBoomerang && logic->AtNight && logic->CanGetNightTimeGS),
+ LOCATION(RC_LLR_FRONT_POT_1, logic->IsChild && logic->CanBreakPots),
+ LOCATION(RC_LLR_FRONT_POT_2, logic->IsChild && logic->CanBreakPots),
+ LOCATION(RC_LLR_FRONT_POT_3, logic->IsChild && logic->CanBreakPots),
+ LOCATION(RC_LLR_FRONT_POT_4, logic->IsChild && logic->CanBreakPots),
+ LOCATION(RC_LLR_RAIN_SHED_POT_1, logic->IsChild && logic->CanBreakPots),
+ LOCATION(RC_LLR_RAIN_SHED_POT_2, logic->IsChild && logic->CanBreakPots),
+ LOCATION(RC_LLR_RAIN_SHED_POT_3, logic->IsChild && logic->CanBreakPots),
}, {
//Exits
Entrance(RR_HYRULE_FIELD, {[]{return true;}}),
@@ -242,7 +251,10 @@ void AreaTable_Init_HyruleField() {
areaTable[RR_LLR_TALONS_HOUSE] = Area("LLR Talons House", "LLR Talons House", RA_NONE, NO_DAY_NIGHT_CYCLE, {}, {
//Locations
- LOCATION(RC_LLR_TALONS_CHICKENS, logic->ChildsWallet && logic->IsChild && logic->AtDay && logic->ZeldasLetter),
+ LOCATION(RC_LLR_TALONS_CHICKENS, logic->ChildsWallet && logic->IsChild && logic->AtDay && logic->ZeldasLetter),
+ LOCATION(RC_LLR_TALONS_HOUSE_POT_1, logic->CanBreakPots),
+ LOCATION(RC_LLR_TALONS_HOUSE_POT_2, logic->CanBreakPots),
+ LOCATION(RC_LLR_TALONS_HOUSE_POT_3, logic->CanBreakPots),
}, {
//Exits
Entrance(RR_LON_LON_RANCH, {[]{return true;}}),
diff --git a/soh/soh/Enhancements/randomizer/3drando/location_access/locacc_ice_cavern.cpp b/soh/soh/Enhancements/randomizer/3drando/location_access/locacc_ice_cavern.cpp
index 7f5873ba17a..acff212c272 100644
--- a/soh/soh/Enhancements/randomizer/3drando/location_access/locacc_ice_cavern.cpp
+++ b/soh/soh/Enhancements/randomizer/3drando/location_access/locacc_ice_cavern.cpp
@@ -38,6 +38,14 @@ void AreaTable_Init_IceCavern() {
LOCATION(RC_ICE_CAVERN_GS_SPINNING_SCYTHE_ROOM, logic->HookshotOrBoomerang),
LOCATION(RC_ICE_CAVERN_GS_HEART_PIECE_ROOM, logic->BlueFire && logic->HookshotOrBoomerang),
LOCATION(RC_ICE_CAVERN_GS_PUSH_BLOCK_ROOM, logic->BlueFire && (logic->HookshotOrBoomerang || (randoCtx->GetTrickOption(RT_ICE_BLOCK_GS) && logic->IsAdult && logic->CanUse(RG_HOVER_BOOTS)))),
+ LOCATION(RC_ICE_CAVERN_HALL_POT_1, logic->CanBreakPots),
+ LOCATION(RC_ICE_CAVERN_HALL_POT_2, logic->CanBreakPots),
+ LOCATION(RC_ICE_CAVERN_SPINNING_BLADE_POT_1, logic->CanBreakPots),
+ LOCATION(RC_ICE_CAVERN_SPINNING_BLADE_POT_2, logic->CanBreakPots),
+ LOCATION(RC_ICE_CAVERN_SPINNING_BLADE_POT_3, logic->CanBreakPots),
+ LOCATION(RC_ICE_CAVERN_NEAR_END_POT_1, logic->CanBreakPots),
+ LOCATION(RC_ICE_CAVERN_NEAR_END_POT_2, logic->CanBreakPots),
+ LOCATION(RC_ICE_CAVERN_FROZEN_POT_1, logic->CanBreakPots),
}, {});
}
diff --git a/soh/soh/Enhancements/randomizer/3drando/location_access/locacc_jabujabus_belly.cpp b/soh/soh/Enhancements/randomizer/3drando/location_access/locacc_jabujabus_belly.cpp
index 036a522b0f7..bd0a4fc6b8d 100644
--- a/soh/soh/Enhancements/randomizer/3drando/location_access/locacc_jabujabus_belly.cpp
+++ b/soh/soh/Enhancements/randomizer/3drando/location_access/locacc_jabujabus_belly.cpp
@@ -58,6 +58,9 @@ void AreaTable_Init_JabuJabusBelly() {
}, {
//Locations
LOCATION(RC_JABU_JABUS_BELLY_GS_WATER_SWITCH_ROOM, true),
+ LOCATION(RC_JABU_JABUS_BELLY_BASEMENT_POT_1, logic->CanBreakPots),
+ LOCATION(RC_JABU_JABUS_BELLY_BASEMENT_POT_2, logic->CanBreakPots),
+ LOCATION(RC_JABU_JABUS_BELLY_BASEMENT_POT_3, logic->CanBreakPots),
}, {
//Exits
Entrance(RR_JABU_JABUS_BELLY_MAIN_LOWER, {[]{return logic->Swim;}}),
@@ -67,7 +70,14 @@ void AreaTable_Init_JabuJabusBelly() {
areaTable[RR_JABU_JABUS_BELLY_LOWER_SIDE_ROOM] = Area("Jabu Jabus Belly Lower Side Room", "Jabu Jabus Belly", RA_JABU_JABUS_BELLY, NO_DAY_NIGHT_CYCLE, {
//Events
EventAccess(&logic->FairyPot, {[]{return logic->FairyPot || (logic->CanUse(RG_BOOMERANG) || logic->CanUse(RG_HOVER_BOOTS));}}),
- }, {}, {
+ }, {
+ //Locations
+ LOCATION(RC_JABU_JABUS_BELLY_TWO_OCTOROK_POT_1, logic->CanBreakPots),
+ LOCATION(RC_JABU_JABUS_BELLY_TWO_OCTOROK_POT_2, logic->CanBreakPots),
+ LOCATION(RC_JABU_JABUS_BELLY_TWO_OCTOROK_POT_3, logic->CanBreakPots),
+ LOCATION(RC_JABU_JABUS_BELLY_TWO_OCTOROK_POT_4, logic->CanBreakPots),
+ LOCATION(RC_JABU_JABUS_BELLY_TWO_OCTOROK_POT_5, logic->CanBreakPots),
+ }, {
//Exits
Entrance(RR_JABU_JABUS_BELLY_MAIN_LOWER, {[]{return true;}}),
});
@@ -135,7 +145,12 @@ void AreaTable_Init_JabuJabusBelly() {
//Events
EventAccess(&logic->FairyPot, {[]{return true;}}),
EventAccess(&logic->NutPot, {[]{return true;}}),
- }, {}, {
+ }, {
+ //Locations
+ LOCATION(RC_JABU_JABUS_BELLY_ABOVE_BIG_OCTO_POT_1, logic->CanBreakPots),
+ LOCATION(RC_JABU_JABUS_BELLY_ABOVE_BIG_OCTO_POT_2, logic->CanBreakPots),
+ LOCATION(RC_JABU_JABUS_BELLY_ABOVE_BIG_OCTO_POT_3, logic->CanBreakPots),
+ }, {
//Exits
Entrance(RR_JABU_JABUS_BELLY_LIFT_UPPER, {[]{return logic->CanUse(RG_BOOMERANG);}}),
});
@@ -221,7 +236,15 @@ void AreaTable_Init_JabuJabusBelly() {
| BOSS ROOM |
---------------------------*/
areaTable[RR_JABU_JABUS_BELLY_BOSS_ENTRYWAY] =
- Area("Jabu Jabus Belly Boss Entryway", "Jabu Jabus Belly", RA_JABU_JABUS_BELLY, NO_DAY_NIGHT_CYCLE, {}, {},
+ Area("Jabu Jabus Belly Boss Entryway", "Jabu Jabus Belly", RA_JABU_JABUS_BELLY, NO_DAY_NIGHT_CYCLE, {}, {
+ //Locations
+ LOCATION(RC_JABU_JABUS_BELLY_BARINADE_POT_1, logic->CanBreakPots),
+ LOCATION(RC_JABU_JABUS_BELLY_BARINADE_POT_2, logic->CanBreakPots),
+ LOCATION(RC_JABU_JABUS_BELLY_BARINADE_POT_3, logic->CanBreakPots),
+ LOCATION(RC_JABU_JABUS_BELLY_BARINADE_POT_4, logic->CanBreakPots),
+ LOCATION(RC_JABU_JABUS_BELLY_BARINADE_POT_5, logic->CanBreakPots),
+ LOCATION(RC_JABU_JABUS_BELLY_BARINADE_POT_6, logic->CanBreakPots),
+ },
{
// Exits
Entrance(RR_JABU_JABUS_BELLY_NEAR_BOSS_ROOM, { [] { return randoCtx->GetDungeon(JABU_JABUS_BELLY)->IsVanilla(); } }),
diff --git a/soh/soh/Enhancements/randomizer/3drando/location_access/locacc_kakariko.cpp b/soh/soh/Enhancements/randomizer/3drando/location_access/locacc_kakariko.cpp
index b0452e41938..8081eb17bd2 100644
--- a/soh/soh/Enhancements/randomizer/3drando/location_access/locacc_kakariko.cpp
+++ b/soh/soh/Enhancements/randomizer/3drando/location_access/locacc_kakariko.cpp
@@ -20,6 +20,17 @@ void AreaTable_Init_Kakariko() {
LOCATION(RC_KAK_GS_GUARDS_HOUSE, logic->IsChild && logic->AtNight && logic->CanGetNightTimeGS),
LOCATION(RC_KAK_GS_TREE, logic->IsChild && logic->AtNight && logic->CanGetNightTimeGS),
LOCATION(RC_KAK_GS_WATCHTOWER, logic->IsChild && (logic->Slingshot || logic->CanUse(RG_BOMBCHU_5) || logic->CanUse(RG_FAIRY_BOW) || logic->CanUse(RG_LONGSHOT) || (randoCtx->GetTrickOption(RT_KAK_TOWER_GS) && logic->CanJumpslash)) && logic->AtNight && logic->CanGetNightTimeGS),
+ LOCATION(RC_KAK_NEAR_POTION_SHOP_POT_1, logic->IsChild && logic->CanBreakPots),
+ LOCATION(RC_KAK_NEAR_POTION_SHOP_POT_2, logic->IsChild && logic->CanBreakPots),
+ LOCATION(RC_KAK_NEAR_POTION_SHOP_POT_3, logic->IsChild && logic->CanBreakPots),
+ LOCATION(RC_KAK_NEAR_IMPAS_HOUSE_POT_1, logic->IsChild && logic->CanBreakPots),
+ LOCATION(RC_KAK_NEAR_IMPAS_HOUSE_POT_2, logic->IsChild && logic->CanBreakPots),
+ LOCATION(RC_KAK_NEAR_IMPAS_HOUSE_POT_3, logic->IsChild && logic->CanBreakPots),
+ LOCATION(RC_KAK_NEAR_GUARDS_HOUSE_POT_1, logic->IsChild && logic->CanBreakPots),
+ LOCATION(RC_KAK_NEAR_GUARDS_HOUSE_POT_2, logic->IsChild && logic->CanBreakPots),
+ LOCATION(RC_KAK_NEAR_GUARDS_HOUSE_POT_3, logic->IsChild && logic->CanBreakPots),
+ LOCATION(RC_KAK_NEAR_MEDICINE_SHOP_POT_1, logic->IsChild && logic->CanBreakPots),
+ LOCATION(RC_KAK_NEAR_MEDICINE_SHOP_POT_2, logic->IsChild && logic->CanBreakPots),
}, {
//Exits
Entrance(RR_HYRULE_FIELD, {[]{return true;}}),
@@ -262,6 +273,12 @@ void AreaTable_Init_Kakariko() {
//Locations
LOCATION(RC_GRAVEYARD_HOOKSHOT_CHEST, true),
LOCATION(RC_GRAVEYARD_DAMPE_RACE_FREESTANDING_POH, logic->IsAdult || randoCtx->GetTrickOption(RT_GY_CHILD_DAMPE_RACE_POH)),
+ LOCATION(RC_GY_DAMPES_GRAVE_POT_1, logic->CanBreakPots),
+ LOCATION(RC_GY_DAMPES_GRAVE_POT_2, logic->CanBreakPots),
+ LOCATION(RC_GY_DAMPES_GRAVE_POT_3, logic->CanBreakPots),
+ LOCATION(RC_GY_DAMPES_GRAVE_POT_4, logic->CanBreakPots),
+ LOCATION(RC_GY_DAMPES_GRAVE_POT_5, logic->CanBreakPots),
+ LOCATION(RC_GY_DAMPES_GRAVE_POT_6, logic->CanBreakPots),
}, {
//Exits
Entrance(RR_THE_GRAVEYARD, {[]{return true;}}),
diff --git a/soh/soh/Enhancements/randomizer/3drando/location_access/locacc_lost_woods.cpp b/soh/soh/Enhancements/randomizer/3drando/location_access/locacc_lost_woods.cpp
index 66c08590555..05e372af7bf 100644
--- a/soh/soh/Enhancements/randomizer/3drando/location_access/locacc_lost_woods.cpp
+++ b/soh/soh/Enhancements/randomizer/3drando/location_access/locacc_lost_woods.cpp
@@ -48,6 +48,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, {}, {
//Locations
LOCATION(RC_KF_LINKS_HOUSE_COW, logic->IsAdult && logic->CanUse(RG_EPONAS_SONG) && logic->LinksCow),
+ LOCATION(RC_KF_LINKS_HOUSE_POT, logic->CanBreakPots),
}, {
//Exits
Entrance(RR_KOKIRI_FOREST, {[]{return true;}})
@@ -69,12 +70,20 @@ void AreaTable_Init_LostWoods() {
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
+ LOCATION(RC_KF_TWINS_HOUSE_POT_1, logic->CanBreakPots),
+ LOCATION(RC_KF_TWINS_HOUSE_POT_2, logic->CanBreakPots),
+ }, {
//Exits
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
+ LOCATION(RC_KF_BROTHERS_HOUSE_POT_1, logic->CanBreakPots),
+ LOCATION(RC_KF_BROTHERS_HOUSE_POT_2, logic->CanBreakPots),
+ }, {
//Exits
Entrance(RR_KOKIRI_FOREST, {[]{return true;}}),
});
diff --git a/soh/soh/Enhancements/randomizer/3drando/location_access/locacc_shadow_temple.cpp b/soh/soh/Enhancements/randomizer/3drando/location_access/locacc_shadow_temple.cpp
index fb926506007..ea20c179a5b 100644
--- a/soh/soh/Enhancements/randomizer/3drando/location_access/locacc_shadow_temple.cpp
+++ b/soh/soh/Enhancements/randomizer/3drando/location_access/locacc_shadow_temple.cpp
@@ -24,8 +24,16 @@ void AreaTable_Init_ShadowTemple() {
EventAccess(&logic->NutPot, {[]{return true;}}),
}, {
//Locations
- LOCATION(RC_SHADOW_TEMPLE_MAP_CHEST, logic->CanJumpslash),
- LOCATION(RC_SHADOW_TEMPLE_HOVER_BOOTS_CHEST, (logic->CanUse(RG_KOKIRI_SWORD) || logic->CanUse(RG_MASTER_SWORD) || logic->CanUse(RG_BIGGORON_SWORD))),
+ LOCATION(RC_SHADOW_TEMPLE_MAP_CHEST, logic->CanJumpslash),
+ LOCATION(RC_SHADOW_TEMPLE_HOVER_BOOTS_CHEST, (logic->CanUse(RG_KOKIRI_SWORD) || logic->CanUse(RG_MASTER_SWORD) || logic->CanUse(RG_BIGGORON_SWORD))),
+ LOCATION(RC_SHADOW_TEMPLE_NEAR_DEAD_HAND_POT_1, logic->CanBreakPots),
+ LOCATION(RC_SHADOW_TEMPLE_WHISPERING_WALLS_POT_1, logic->CanBreakPots),
+ LOCATION(RC_SHADOW_TEMPLE_WHISPERING_WALLS_POT_2, logic->CanBreakPots),
+ LOCATION(RC_SHADOW_TEMPLE_WHISPERING_WALLS_POT_3, logic->CanBreakPots),
+ LOCATION(RC_SHADOW_TEMPLE_WHISPERING_WALLS_POT_4, logic->CanBreakPots),
+ LOCATION(RC_SHADOW_TEMPLE_WHISPERING_WALLS_POT_5, logic->CanBreakPots),
+ LOCATION(RC_SHADOW_TEMPLE_MAP_CHEST_POT_1, logic->CanBreakPots),
+ LOCATION(RC_SHADOW_TEMPLE_MAP_CHEST_POT_2, logic->CanBreakPots),
}, {
//Exits
Entrance(RR_SHADOW_TEMPLE_ENTRYWAY, {[]{return true;}}),
@@ -58,6 +66,10 @@ void AreaTable_Init_ShadowTemple() {
LOCATION(RC_SHADOW_TEMPLE_GS_LIKE_LIKE_ROOM, logic->CanJumpslash),
LOCATION(RC_SHADOW_TEMPLE_GS_FALLING_SPIKES_ROOM, logic->Hookshot || (randoCtx->GetTrickOption(RT_SHADOW_UMBRELLA_GS) && logic->HoverBoots)),
LOCATION(RC_SHADOW_TEMPLE_GS_SINGLE_GIANT_POT, logic->SmallKeys(RR_SHADOW_TEMPLE, 2, 3) && ((randoCtx->GetTrickOption(RT_LENS_SHADOW_PLATFORM) && randoCtx->GetTrickOption(RT_LENS_SHADOW)) || logic->CanUse(RG_LENS_OF_TRUTH)) && logic->Hookshot),
+ LOCATION(RC_SHADOW_TEMPLE_FALLING_SPIKES_POT_1, logic->CanBreakPots),
+ LOCATION(RC_SHADOW_TEMPLE_FALLING_SPIKES_POT_2, logic->CanBreakPots),
+ LOCATION(RC_SHADOW_TEMPLE_FALLING_SPIKES_POT_3, logic->CanBreakPots),
+ LOCATION(RC_SHADOW_TEMPLE_FALLING_SPIKES_POT_4, logic->CanBreakPots),
}, {
//Exits
Entrance(RR_SHADOW_TEMPLE_WIND_TUNNEL, {[]{return ((randoCtx->GetTrickOption(RT_LENS_SHADOW_PLATFORM) && randoCtx->GetTrickOption(RT_LENS_SHADOW)) || logic->CanUse(RG_LENS_OF_TRUTH)) && logic->Hookshot && logic->SmallKeys(RR_SHADOW_TEMPLE, 3, 4);}}),
@@ -69,6 +81,8 @@ void AreaTable_Init_ShadowTemple() {
LOCATION(RC_SHADOW_TEMPLE_AFTER_WIND_ENEMY_CHEST, logic->CanJumpslash),
LOCATION(RC_SHADOW_TEMPLE_AFTER_WIND_HIDDEN_CHEST, true),
LOCATION(RC_SHADOW_TEMPLE_GS_NEAR_SHIP, logic->CanUse(RG_LONGSHOT) && logic->SmallKeys(RR_SHADOW_TEMPLE, 4, 5)),
+ LOCATION(RC_SHADOW_TEMPLE_AFTER_WIND_POT_1, logic->CanBreakPots),
+ LOCATION(RC_SHADOW_TEMPLE_AFTER_WIND_POT_2, logic->CanBreakPots),
}, {
//Exits
Entrance(RR_SHADOW_TEMPLE_BEYOND_BOAT, {[]{return logic->CanJumpslash && logic->CanUse(RG_ZELDAS_LULLABY) && logic->SmallKeys(RR_SHADOW_TEMPLE, 4, 5);}}),
@@ -80,7 +94,14 @@ void AreaTable_Init_ShadowTemple() {
LOCATION(RC_SHADOW_TEMPLE_BOSS_KEY_CHEST, logic->CanUse(RG_DINS_FIRE)),
LOCATION(RC_SHADOW_TEMPLE_INVISIBLE_FLOORMASTER_CHEST, logic->CanJumpslash),
LOCATION(RC_SHADOW_TEMPLE_GS_TRIPLE_GIANT_POT, logic->CanAdultAttack),
- }, {
+ LOCATION(RC_SHADOW_TEMPLE_AFTER_BOAT_POT_1, logic->CanBreakPots),
+ LOCATION(RC_SHADOW_TEMPLE_AFTER_BOAT_POT_2, logic->CanBreakPots),
+ LOCATION(RC_SHADOW_TEMPLE_AFTER_BOAT_POT_3, logic->CanBreakPots),
+ LOCATION(RC_SHADOW_TEMPLE_AFTER_BOAT_POT_4, logic->CanBreakPots),
+ LOCATION(RC_SHADOW_TEMPLE_SPIKE_WALLS_POT_1, logic->CanBreakPots),
+ LOCATION(RC_SHADOW_TEMPLE_FLOORMASTER_POT_1, logic->CanBreakPots),
+ LOCATION(RC_SHADOW_TEMPLE_FLOORMASTER_POT_2, logic->CanBreakPots),
+ }, {
//Exits
Entrance(RR_SHADOW_TEMPLE_BOSS_ENTRYWAY, {[]{return (logic->CanUse(RG_FAIRY_BOW) || logic->CanUse(RG_DISTANT_SCARECROW) || (randoCtx->GetTrickOption(RT_SHADOW_STATUE) && logic->CanUse(RG_BOMBCHU_5))) && logic->SmallKeys(RR_SHADOW_TEMPLE, 5) && logic->CanUse(RG_HOVER_BOOTS) && logic->BossKeyShadowTemple;}})
});
diff --git a/soh/soh/Enhancements/randomizer/3drando/location_access/locacc_spirit_temple.cpp b/soh/soh/Enhancements/randomizer/3drando/location_access/locacc_spirit_temple.cpp
index 747b5ec2f45..f80354461cb 100644
--- a/soh/soh/Enhancements/randomizer/3drando/location_access/locacc_spirit_temple.cpp
+++ b/soh/soh/Enhancements/randomizer/3drando/location_access/locacc_spirit_temple.cpp
@@ -19,7 +19,11 @@ void AreaTable_Init_SpiritTemple() {
| VANILLA DUNGEON |
---------------------------*/
if (randoCtx->GetDungeon(SPIRIT_TEMPLE)->IsVanilla()) {
- areaTable[RR_SPIRIT_TEMPLE_LOBBY] = Area("Spirit Temple Lobby", "Spirit Temple", RA_SPIRIT_TEMPLE, NO_DAY_NIGHT_CYCLE, {}, {}, {
+ areaTable[RR_SPIRIT_TEMPLE_LOBBY] = Area("Spirit Temple Lobby", "Spirit Temple", RA_SPIRIT_TEMPLE, NO_DAY_NIGHT_CYCLE, {}, {
+ //Locations
+ LOCATION(RC_SPIRIT_TEMPLE_LOBBY_POT_1, logic->CanBreakPots),
+ LOCATION(RC_SPIRIT_TEMPLE_LOBBY_POT_2, logic->CanBreakPots),
+ }, {
//Exits
Entrance(RR_SPIRIT_TEMPLE_ENTRYWAY, {[]{return true;}}),
Entrance(RR_SPIRIT_TEMPLE_CHILD, {[]{return logic->IsChild;}}),
@@ -34,6 +38,10 @@ void AreaTable_Init_SpiritTemple() {
LOCATION(RC_SPIRIT_TEMPLE_CHILD_BRIDGE_CHEST, (logic->Boomerang || logic->Slingshot || (logic->CanUse(RG_BOMBCHU_5) && randoCtx->GetTrickOption(RT_SPIRIT_CHILD_CHU))) && (logic->HasExplosives || ((logic->CanUse(RG_NUTS) || logic->Boomerang) && (logic->CanUse(RG_STICKS) || logic->KokiriSword || logic->Slingshot)))),
LOCATION(RC_SPIRIT_TEMPLE_CHILD_EARLY_TORCHES_CHEST, (logic->Boomerang || logic->Slingshot || (logic->CanUse(RG_BOMBCHU_5) && randoCtx->GetTrickOption(RT_SPIRIT_CHILD_CHU))) && (logic->HasExplosives || ((logic->CanUse(RG_NUTS) || logic->Boomerang) && (logic->CanUse(RG_STICKS) || logic->KokiriSword || logic->Slingshot))) && (logic->CanUse(RG_STICKS) || logic->CanUse(RG_DINS_FIRE))),
LOCATION(RC_SPIRIT_TEMPLE_GS_METAL_FENCE, (logic->Boomerang || logic->Slingshot || (logic->CanUse(RG_BOMBCHU_5) && randoCtx->GetTrickOption(RT_SPIRIT_CHILD_CHU))) && (logic->HasExplosives || ((logic->CanUse(RG_NUTS) || logic->Boomerang) && (logic->CanUse(RG_STICKS) || logic->KokiriSword || logic->Slingshot)))),
+ LOCATION(RC_SPIRIT_TEMPLE_ANUBIS_POT_1, logic->CanBreakPots),
+ LOCATION(RC_SPIRIT_TEMPLE_ANUBIS_POT_2, logic->CanBreakPots),
+ LOCATION(RC_SPIRIT_TEMPLE_ANUBIS_POT_3, logic->CanBreakPots),
+ LOCATION(RC_SPIRIT_TEMPLE_ANUBIS_POT_4, logic->CanBreakPots),
}, {
//Exits
Entrance(RR_SPIRIT_TEMPLE_CHILD_CLIMB, {[]{return logic->SmallKeys(RR_SPIRIT_TEMPLE, 1);}}),
@@ -47,6 +55,7 @@ void AreaTable_Init_SpiritTemple() {
(logic->CanTakeDamage && (logic->CanJumpslash || logic->HasProjectile(HasProjectileAge::Child))) ||
(logic->IsChild && logic->SmallKeys(RR_SPIRIT_TEMPLE, 5) && logic->HasProjectile(HasProjectileAge::Child)) ||
((logic->SmallKeys(RR_SPIRIT_TEMPLE, 3) || (logic->SmallKeys(RR_SPIRIT_TEMPLE, 2) && randoCtx->GetOption(RSK_BOMBCHUS_IN_LOGIC) && logic->BombchuRefill && randoCtx->GetOption(RSK_SHUFFLE_DUNGEON_ENTRANCES).Is(RO_DUNGEON_ENTRANCE_SHUFFLE_OFF))) && logic->CanUse(RG_SILVER_GAUNTLETS) && (logic->HasProjectile(HasProjectileAge::Adult) || (logic->CanTakeDamage && logic->CanJumpslash)))),
+ LOCATION(RC_SPIRIT_TEMPLE_CHILD_CLIMB_POT_1, logic->CanBreakPots),
}, {
//Exits
Entrance(RR_SPIRIT_TEMPLE_CENTRAL_CHAMBER, {[]{return logic->HasExplosives || (randoCtx->GetOption(RSK_SUNLIGHT_ARROWS) && logic->CanUse(RG_LIGHT_ARROWS));}}),
@@ -87,6 +96,14 @@ void AreaTable_Init_SpiritTemple() {
randoCtx->GetTrickOption(RT_SPIRIT_LOBBY_GS) && logic->Boomerang && (logic->Hookshot || logic->HoverBoots || randoCtx->GetTrickOption(RT_SPIRIT_LOBBY_JUMP))) ||
(randoCtx->GetTrickOption(RT_SPIRIT_LOBBY_GS) && logic->SmallKeys(RR_SPIRIT_TEMPLE, 5) && logic->HasExplosives && logic->CanUse(RG_BOOMERANG)) ||
(logic->SmallKeys(RR_SPIRIT_TEMPLE, 3) && logic->CanUse(RG_SILVER_GAUNTLETS) && (logic->Hookshot || logic->HoverBoots || randoCtx->GetTrickOption(RT_SPIRIT_LOBBY_JUMP)))),
+ LOCATION(RC_SPIRIT_TEMPLE_AFTER_SUN_BLOCK_POT_1, logic->CanBreakPots),
+ LOCATION(RC_SPIRIT_TEMPLE_AFTER_SUN_BLOCK_POT_2, logic->CanBreakPots),
+ LOCATION(RC_SPIRIT_TEMPLE_CENTRAL_CHAMBER_POT_1, logic->CanBreakPots),
+ LOCATION(RC_SPIRIT_TEMPLE_CENTRAL_CHAMBER_POT_2, logic->CanBreakPots),
+ LOCATION(RC_SPIRIT_TEMPLE_CENTRAL_CHAMBER_POT_3, logic->CanBreakPots),
+ LOCATION(RC_SPIRIT_TEMPLE_CENTRAL_CHAMBER_POT_4, logic->CanBreakPots),
+ LOCATION(RC_SPIRIT_TEMPLE_CENTRAL_CHAMBER_POT_5, logic->CanBreakPots),
+ LOCATION(RC_SPIRIT_TEMPLE_CENTRAL_CHAMBER_POT_6, logic->CanBreakPots),
}, {
//Exits
Entrance(RR_SPIRIT_TEMPLE_OUTDOOR_HANDS, {[]{return logic->CanJumpslash || logic->HasExplosives;}}),
@@ -108,6 +125,7 @@ void AreaTable_Init_SpiritTemple() {
LOCATION(RC_SPIRIT_TEMPLE_NEAR_FOUR_ARMOS_CHEST, (logic->MirrorShield || (randoCtx->GetOption(RSK_SUNLIGHT_ARROWS) && logic->CanUse(RG_LIGHT_ARROWS))) && logic->HasExplosives),
LOCATION(RC_SPIRIT_TEMPLE_HALLWAY_LEFT_INVISIBLE_CHEST, (randoCtx->GetTrickOption(RT_LENS_SPIRIT) || logic->CanUse(RG_LENS_OF_TRUTH)) && logic->HasExplosives),
LOCATION(RC_SPIRIT_TEMPLE_HALLWAY_RIGHT_INVISIBLE_CHEST, (randoCtx->GetTrickOption(RT_LENS_SPIRIT) || logic->CanUse(RG_LENS_OF_TRUTH)) && logic->HasExplosives),
+ LOCATION(RC_SPIRIT_TEMPLE_BEAMOS_HALL_POT_1, logic->CanBreakPots),
}, {
//Exits
Entrance(RR_SPIRIT_TEMPLE_BEYOND_FINAL_LOCKED_DOOR, {[]{return logic->SmallKeys(RR_SPIRIT_TEMPLE, 5) && (randoCtx->GetTrickOption(RT_SPIRIT_WALL) || logic->CanUse(RG_LONGSHOT) || logic->CanUse(RG_BOMBCHU_5) || ((logic->Bombs || logic->CanUse(RG_NUTS) || logic->CanUse(RG_DINS_FIRE)) && (logic->Bow || logic->CanUse(RG_HOOKSHOT) || logic->Hammer)));}}),
diff --git a/soh/soh/Enhancements/randomizer/3drando/location_access/locacc_water_temple.cpp b/soh/soh/Enhancements/randomizer/3drando/location_access/locacc_water_temple.cpp
index ef9c5ecd9dd..1d29fdd82ce 100644
--- a/soh/soh/Enhancements/randomizer/3drando/location_access/locacc_water_temple.cpp
+++ b/soh/soh/Enhancements/randomizer/3drando/location_access/locacc_water_temple.cpp
@@ -20,7 +20,13 @@ void AreaTable_Init_WaterTemple() {
---------------------------*/
if (randoCtx->GetDungeon(WATER_TEMPLE)->IsVanilla()) {
//Water Temple logic currently assumes that the locked door leading to the upper water raising location is unlocked from the start
- areaTable[RR_WATER_TEMPLE_LOBBY] = Area("Water Temple Lobby", "Water Temple", RA_WATER_TEMPLE, NO_DAY_NIGHT_CYCLE, {}, {}, {
+ areaTable[RR_WATER_TEMPLE_LOBBY] = Area("Water Temple Lobby", "Water Temple", RA_WATER_TEMPLE, NO_DAY_NIGHT_CYCLE, {}, {
+ //Locations
+ LOCATION(RC_WATER_TEMPLE_MAIN_LEVEL_2_POT_1, logic->CanBreakPots),
+ LOCATION(RC_WATER_TEMPLE_MAIN_LEVEL_2_POT_2, logic->CanBreakPots),
+ LOCATION(RC_WATER_TEMPLE_MAIN_LEVEL_1_POT_1, logic->CanBreakPots),
+ LOCATION(RC_WATER_TEMPLE_MAIN_LEVEL_1_POT_2, logic->CanBreakPots),
+ }, {
//Exits
Entrance(RR_WATER_TEMPLE_ENTRYWAY, {[]{return true;}}),
Entrance(RR_WATER_TEMPLE_EAST_LOWER, {[]{return logic->WaterTempleLow || ((randoCtx->GetTrickOption(RT_FEWER_TUNIC_REQUIREMENTS) || logic->CanUse(RG_ZORA_TUNIC)) && (logic->CanUse(RG_IRON_BOOTS) || (logic->CanUse(RG_LONGSHOT) && randoCtx->GetTrickOption(RT_WATER_LONGSHOT_TORCH))));}}),
@@ -40,7 +46,11 @@ void AreaTable_Init_WaterTemple() {
areaTable[RR_WATER_TEMPLE_EAST_LOWER] = Area("Water Temple East Lower", "Water Temple", RA_WATER_TEMPLE, NO_DAY_NIGHT_CYCLE, {
//Events
EventAccess(&logic->WaterTempleLow, {[]{return logic->WaterTempleLow || logic->CanUse(RG_ZELDAS_LULLABY);}}),
- }, {}, {
+ }, {
+ //Locations
+ LOCATION(RC_WATER_TEMPLE_TORCH_POT_1, logic->CanBreakPots),
+ LOCATION(RC_WATER_TEMPLE_TORCH_POT_2, logic->CanBreakPots),
+ }, {
//Exits
Entrance(RR_WATER_TEMPLE_LOBBY, {[]{return logic->WaterTempleLow || ((randoCtx->GetTrickOption(RT_FEWER_TUNIC_REQUIREMENTS) || logic->CanUse(RG_ZORA_TUNIC)) && logic->CanUse(RG_IRON_BOOTS));}}),
Entrance(RR_WATER_TEMPLE_MAP_ROOM, {[]{return logic->WaterTempleHigh;}}),
@@ -88,7 +98,11 @@ void AreaTable_Init_WaterTemple() {
Entrance(RR_WATER_TEMPLE_BOULDERS_UPPER, {[]{return (logic->IsAdult && (logic->CanUse(RG_HOVER_BOOTS) || randoCtx->GetTrickOption(RT_WATER_NORTH_BASEMENT_LEDGE_JUMP))) || (logic->CanUse(RG_HOVER_BOOTS) && logic->CanUse(RG_IRON_BOOTS));}}),
});
- areaTable[RR_WATER_TEMPLE_BLOCK_ROOM] = Area("Water Temple Block Room", "Water Temple", RA_WATER_TEMPLE, NO_DAY_NIGHT_CYCLE, {}, {}, {
+ areaTable[RR_WATER_TEMPLE_BLOCK_ROOM] = Area("Water Temple Block Room", "Water Temple", RA_WATER_TEMPLE, NO_DAY_NIGHT_CYCLE, {}, {
+ //Locations
+ LOCATION(RC_WATER_TEMPLE_BASEMENT_BLOCK_PUZZLE_POT_1, logic->CanBreakPots),
+ LOCATION(RC_WATER_TEMPLE_BASEMENT_BLOCK_PUZZLE_POT_2, logic->CanBreakPots),
+ }, {
//Exits
Entrance(RR_WATER_TEMPLE_BOULDERS_LOWER, {[]{return (logic->GoronBracelet && logic->HasExplosives) || logic->CanUse(RG_HOOKSHOT);}}),
Entrance(RR_WATER_TEMPLE_JETS_ROOM, {[]{return (logic->GoronBracelet && logic->HasExplosives) || (logic->CanUse(RG_HOOKSHOT) && logic->CanUse(RG_HOVER_BOOTS));}}),
@@ -113,6 +127,8 @@ void AreaTable_Init_WaterTemple() {
}, {
//Locations
LOCATION(RC_WATER_TEMPLE_BOSS_KEY_CHEST, true),
+ LOCATION(RC_WATER_TEMPLE_BOSS_KEY_POT_1, logic->CanBreakPots),
+ LOCATION(RC_WATER_TEMPLE_BOSS_KEY_POT_2, logic->CanBreakPots),
}, {
//Exits
Entrance(RR_WATER_TEMPLE_BOULDERS_UPPER, {[]{return (logic->CanUse(RG_IRON_BOOTS) || (logic->IsAdult && randoCtx->GetTrickOption(RT_WATER_BK_JUMP_DIVE)) || logic->IsChild || logic->CanDive) && logic->SmallKeys(RR_WATER_TEMPLE, 5);}}),
@@ -121,6 +137,10 @@ void AreaTable_Init_WaterTemple() {
areaTable[RR_WATER_TEMPLE_SOUTH_LOWER] = Area("Water Temple South Lower", "Water Temple", RA_WATER_TEMPLE, NO_DAY_NIGHT_CYCLE, {}, {
//Locations
LOCATION(RC_WATER_TEMPLE_GS_BEHIND_GATE, (logic->CanJumpslash || logic->CanUse(RG_MEGATON_HAMMER)) && (logic->CanUse(RG_HOOKSHOT) || (logic->IsAdult && logic->CanUse(RG_HOVER_BOOTS)))),
+ LOCATION(RC_WATER_TEMPLE_BEHIND_GATE_POT_1, logic->CanBreakPots && (logic->CanJumpslash || logic->CanUse(RG_MEGATON_HAMMER)) && (logic->CanUse(RG_HOOKSHOT) || (logic->IsAdult && logic->CanUse(RG_HOVER_BOOTS)))),
+ LOCATION(RC_WATER_TEMPLE_BEHIND_GATE_POT_2, logic->CanBreakPots && (logic->CanJumpslash || logic->CanUse(RG_MEGATON_HAMMER)) && (logic->CanUse(RG_HOOKSHOT) || (logic->IsAdult && logic->CanUse(RG_HOVER_BOOTS)))),
+ LOCATION(RC_WATER_TEMPLE_BEHIND_GATE_POT_3, logic->CanBreakPots && (logic->CanJumpslash || logic->CanUse(RG_MEGATON_HAMMER)) && (logic->CanUse(RG_HOOKSHOT) || (logic->IsAdult && logic->CanUse(RG_HOVER_BOOTS)))),
+ LOCATION(RC_WATER_TEMPLE_BEHIND_GATE_POT_4, logic->CanBreakPots && (logic->CanJumpslash || logic->CanUse(RG_MEGATON_HAMMER)) && (logic->CanUse(RG_HOOKSHOT) || (logic->IsAdult && logic->CanUse(RG_HOVER_BOOTS)))),
}, {
//Exits
Entrance(RR_WATER_TEMPLE_LOBBY, {[]{return logic->CanUse(RG_IRON_BOOTS);}}),
@@ -171,6 +191,9 @@ void AreaTable_Init_WaterTemple() {
areaTable[RR_WATER_TEMPLE_EAST_MIDDLE] = Area("Water Temple East Middle", "Water Temple", RA_WATER_TEMPLE, NO_DAY_NIGHT_CYCLE, {}, {
//Locations
LOCATION(RC_WATER_TEMPLE_COMPASS_CHEST, logic->CanUseProjectile),
+ LOCATION(RC_WATER_TEMPLE_NEAR_COMPASS_POT_1, logic->CanBreakPots),
+ LOCATION(RC_WATER_TEMPLE_NEAR_COMPASS_POT_2, logic->CanBreakPots),
+ LOCATION(RC_WATER_TEMPLE_NEAR_COMPASS_POT_3, logic->CanBreakPots),
}, {
//Exits
Entrance(RR_WATER_TEMPLE_LOBBY, {[]{return logic->CanUse(RG_IRON_BOOTS);}}),
@@ -193,6 +216,8 @@ void AreaTable_Init_WaterTemple() {
areaTable[RR_WATER_TEMPLE_BLOCK_CORRIDOR] = Area("Water Temple Block Corridor", "Water Temple", RA_WATER_TEMPLE, NO_DAY_NIGHT_CYCLE, {}, {
//Locations
LOCATION(RC_WATER_TEMPLE_CENTRAL_BOW_TARGET_CHEST, logic->GoronBracelet && (logic->WaterTempleLow || logic->WaterTempleMiddle)),
+ LOCATION(RC_WATER_TEMPLE_CENTRAL_BOW_POT_1, logic->CanBreakPots && logic->GoronBracelet && (logic->WaterTempleLow || logic->WaterTempleMiddle)),
+ LOCATION(RC_WATER_TEMPLE_CENTRAL_BOW_POT_2, logic->CanBreakPots && logic->GoronBracelet && (logic->WaterTempleLow || logic->WaterTempleMiddle)),
}, {
//Exits
Entrance(RR_WATER_TEMPLE_LOBBY, {[]{return logic->CanUse(RG_HOOKSHOT);}}),
@@ -207,7 +232,11 @@ void AreaTable_Init_WaterTemple() {
Entrance(RR_WATER_TEMPLE_DRAGON_PILLARS_ROOM, {[]{return logic->CanUse(RG_HOOKSHOT) && logic->SmallKeys(RR_WATER_TEMPLE, 5);}}),
});
- areaTable[RR_WATER_TEMPLE_DRAGON_PILLARS_ROOM] = Area("Water Temple Dragon Pillars Room", "Water Temple", RA_WATER_TEMPLE, NO_DAY_NIGHT_CYCLE, {}, {}, {
+ areaTable[RR_WATER_TEMPLE_DRAGON_PILLARS_ROOM] = Area("Water Temple Dragon Pillars Room", "Water Temple", RA_WATER_TEMPLE, NO_DAY_NIGHT_CYCLE, {}, {
+ //Locations
+ LOCATION(RC_WATER_TEMPLE_LIKE_LIKE_POT_1, logic->CanBreakPots),
+ LOCATION(RC_WATER_TEMPLE_LIKE_LIKE_POT_2, logic->CanBreakPots),
+ }, {
//Exits
Entrance(RR_WATER_TEMPLE_FALLING_PLATFORM_ROOM, {[]{return logic->CanUseProjectile;}}),
Entrance(RR_WATER_TEMPLE_DARK_LINK_ROOM, {[]{return logic->CanUse(RG_HOOKSHOT);}}),
@@ -232,6 +261,8 @@ void AreaTable_Init_WaterTemple() {
//Locations
LOCATION(RC_WATER_TEMPLE_RIVER_CHEST, (logic->CanUse(RG_FAIRY_SLINGSHOT) || logic->CanUse(RG_FAIRY_BOW)) && (logic->IsAdult || logic->CanUse(RG_HOVER_BOOTS) || logic->CanUse(RG_HOOKSHOT))),
LOCATION(RC_WATER_TEMPLE_GS_RIVER, (logic->CanUse(RG_IRON_BOOTS) && logic->CanUse(RG_HOOKSHOT)) || (randoCtx->GetTrickOption(RT_WATER_RIVER_GS) && logic->CanUse(RG_LONGSHOT))),
+ LOCATION(RC_WATER_TEMPLE_RIVER_POT_1, logic->CanBreakPots),
+ LOCATION(RC_WATER_TEMPLE_RIVER_POT_2, logic->CanBreakPots),
}, {
//Exits
Entrance(RR_WATER_TEMPLE_DRAGON_ROOM, {[]{return (logic->CanUse(RG_FAIRY_SLINGSHOT) || logic->CanUse(RG_FAIRY_BOW)) && (logic->IsAdult || logic->CanUse(RG_HOVER_BOOTS) || logic->CanUse(RG_HOOKSHOT));}}),
diff --git a/soh/soh/Enhancements/randomizer/3drando/location_access/locacc_zoras_domain.cpp b/soh/soh/Enhancements/randomizer/3drando/location_access/locacc_zoras_domain.cpp
index 49a76414718..76181b9b6b2 100644
--- a/soh/soh/Enhancements/randomizer/3drando/location_access/locacc_zoras_domain.cpp
+++ b/soh/soh/Enhancements/randomizer/3drando/location_access/locacc_zoras_domain.cpp
@@ -106,6 +106,11 @@ void AreaTable_Init_ZorasDomain() {
LOCATION(RC_ZD_GOSSIP_STONE, true),
LOCATION(RC_ZD_IN_FRONT_OF_KING_ZORA_BEEHIVE_LEFT, logic->CanBreakUpperBeehives),
LOCATION(RC_ZD_IN_FRONT_OF_KING_ZORA_BEEHIVE_RIGHT, logic->CanBreakUpperBeehives),
+ LOCATION(RC_ZD_NEAR_SHOP_POT_1, logic->CanBreakPots),
+ LOCATION(RC_ZD_NEAR_SHOP_POT_2, logic->CanBreakPots),
+ LOCATION(RC_ZD_NEAR_SHOP_POT_3, logic->CanBreakPots),
+ LOCATION(RC_ZD_NEAR_SHOP_POT_4, logic->CanBreakPots),
+ LOCATION(RC_ZD_NEAR_SHOP_POT_5, logic->CanBreakPots),
}, {
//Exits
Entrance(RR_ZR_BEHIND_WATERFALL, {[]{return true;}}),
@@ -158,8 +163,15 @@ void AreaTable_Init_ZorasDomain() {
LOCATION(RC_ZF_GS_TREE, logic->IsChild),
LOCATION(RC_ZF_GS_ABOVE_THE_LOG, logic->IsChild && logic->HookshotOrBoomerang && logic->AtNight && logic->CanGetNightTimeGS),
LOCATION(RC_ZF_GS_HIDDEN_CAVE, logic->CanUse(RG_SILVER_GAUNTLETS) && logic->CanBlastOrSmash && logic->HookshotOrBoomerang && logic->IsAdult && logic->AtNight && logic->CanGetNightTimeGS),
+ LOCATION(RC_ZF_HIDDEN_CAVE_POT_1, logic->CanUse(RG_SILVER_GAUNTLETS) && logic->IsAdult && logic->CanBlastOrSmash && logic->CanBreakPots),
+ LOCATION(RC_ZF_HIDDEN_CAVE_POT_2, logic->CanUse(RG_SILVER_GAUNTLETS) && logic->IsAdult && logic->CanBlastOrSmash && logic->CanBreakPots),
+ LOCATION(RC_ZF_HIDDEN_CAVE_POT_3, logic->CanUse(RG_SILVER_GAUNTLETS) && logic->IsAdult && logic->CanBlastOrSmash && logic->CanBreakPots),
LOCATION(RC_ZF_FAIRY_GOSSIP_STONE, true),
LOCATION(RC_ZF_JABU_GOSSIP_STONE, true),
+ LOCATION(RC_ZF_NEAR_JABU_POT_1, logic->IsChild && logic->CanBreakPots),
+ LOCATION(RC_ZF_NEAR_JABU_POT_2, logic->IsChild && logic->CanBreakPots),
+ LOCATION(RC_ZF_NEAR_JABU_POT_3, logic->IsChild && logic->CanBreakPots),
+ LOCATION(RC_ZF_NEAR_JABU_POT_4, logic->IsChild && logic->CanBreakPots),
}, {
//Exits
Entrance(RR_ZD_BEHIND_KING_ZORA, {[]{return true;}}),
diff --git a/soh/soh/Enhancements/randomizer/3drando/spoiler_log.cpp b/soh/soh/Enhancements/randomizer/3drando/spoiler_log.cpp
index 1fa01cdd7bd..d7fdbe0cda2 100644
--- a/soh/soh/Enhancements/randomizer/3drando/spoiler_log.cpp
+++ b/soh/soh/Enhancements/randomizer/3drando/spoiler_log.cpp
@@ -123,6 +123,10 @@ void WriteIngameSpoilerLog() {
else if (!ctx->GetOption(RSK_SHUFFLE_COWS) && loc->IsCategory(Category::cCow)) {
continue;
}
+ // Shuffle Pots
+ else if (ctx->GetOption(RSK_SHUFFLE_POTS).Is(RO_SHUFFLE_POTS_OFF) && loc->IsCategory(Category::cPot)) {
+ continue;
+ }
// Merchants
else if (ctx->GetOption(RSK_SHUFFLE_MERCHANTS).Is(RO_SHUFFLE_MERCHANTS_OFF) && loc->IsCategory(Category::cMerchant)) {
continue;
diff --git a/soh/soh/Enhancements/randomizer/3drando/spoiler_log.hpp b/soh/soh/Enhancements/randomizer/3drando/spoiler_log.hpp
index 89b9d36bc61..a4bd2f4ba2e 100644
--- a/soh/soh/Enhancements/randomizer/3drando/spoiler_log.hpp
+++ b/soh/soh/Enhancements/randomizer/3drando/spoiler_log.hpp
@@ -25,6 +25,7 @@ typedef enum {
SPOILER_CHK_MASTER_SWORD,
SPOILER_CHK_GRAVEDIGGER,
SPOILER_CHK_RANDOMIZER_INF,
+ SPOILER_CHK_POT,
} SpoilerCollectionCheckType;
// GetLocation groups for checks, used to group the checks by logical location
diff --git a/soh/soh/Enhancements/randomizer/ShufflePots.cpp b/soh/soh/Enhancements/randomizer/ShufflePots.cpp
new file mode 100644
index 00000000000..15a3f540480
--- /dev/null
+++ b/soh/soh/Enhancements/randomizer/ShufflePots.cpp
@@ -0,0 +1,121 @@
+#include "ShufflePots.h"
+#include "soh_assets.h"
+#include "soh/Enhancements/game-interactor/GameInteractor.h"
+#include "soh/Enhancements/game-interactor/GameInteractor_Hooks.h"
+#include "soh/OTRGlobals.h"
+
+extern "C" {
+#include "z64.h"
+#include "variables.h"
+#include "overlays/actors/ovl_Obj_Tsubo/z_obj_tsubo.h"
+#include "overlays/actors/ovl_Door_Shutter/z_door_shutter.h"
+
+u8 Randomizer_GetSettingValue(RandomizerSettingKey randoSettingKey);
+GetItemEntry Randomizer_GetItemFromKnownCheck(RandomizerCheck randomizerCheck, GetItemID ogId);
+PotIdentity Randomizer_IdentifyPot(s32 sceneNum, s32 posX, s32 posZ);
+extern PlayState* gPlayState;
+}
+
+
+extern "C" void ObjTsubo_RandomizerDraw(Actor* thisx, PlayState* play) {
+ float potSize = 1.0f;
+
+ OPEN_DISPS(play->state.gfxCtx);
+ Gfx_SetupDL_25Opa(play->state.gfxCtx);
+ Matrix_Scale(potSize, potSize, potSize, MTXMODE_APPLY);
+ gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, (char*)__FILE__, __LINE__),
+ G_MTX_MODELVIEW | G_MTX_LOAD);
+
+ gSPDisplayList(POLY_OPA_DISP++, (Gfx*)gRandoPotDL);
+ CLOSE_DISPS(play->state.gfxCtx);
+}
+
+uint8_t ObjTsubo_RandomizerHoldsItem(ObjTsubo* potActor, PlayState* play) {
+ uint8_t isDungeon =
+ play->sceneNum < SCENE_GANONS_TOWER_COLLAPSE_INTERIOR ||
+ (play->sceneNum > SCENE_TREASURE_BOX_SHOP && play->sceneNum < SCENE_GANONS_TOWER_COLLAPSE_EXTERIOR);
+ uint8_t potSetting = Randomizer_GetSettingValue(RSK_SHUFFLE_POTS);
+
+ // Don't pull randomized item if pot isn't randomized or is already checked
+ if (!IS_RANDO || (potSetting == RO_SHUFFLE_POTS_OVERWORLD && isDungeon) ||
+ (potSetting == RO_SHUFFLE_POTS_DUNGEONS && !isDungeon) ||
+ Flags_GetRandomizerInf(potActor->potIdentity.randomizerInf) ||
+ potActor->potIdentity.randomizerCheck == RC_UNKNOWN_CHECK) {
+ return false;
+ } else {
+ return true;
+ }
+}
+
+void ObjTsubo_RandomizerSpawnCollectible(ObjTsubo* potActor, PlayState* play) {
+ EnItem00* item00 = (EnItem00*)Item_DropCollectible2(play, &potActor->actor.world.pos, ITEM00_SOH_DUMMY);
+ item00->randoInf = potActor->potIdentity.randomizerInf;
+ item00->itemEntry =
+ OTRGlobals::Instance->gRandomizer->GetItemFromKnownCheck(potActor->potIdentity.randomizerCheck, GI_NONE);
+ item00->actor.draw = (ActorFunc)EnItem00_DrawRandomizedItem;
+ item00->actor.velocity.y = 8.0f;
+ item00->actor.speedXZ = 2.0f;
+ item00->actor.world.rot.y = Rand_CenteredFloat(65536.0f);
+}
+
+void ObjTsubo_RandomizerInit(void* actorRef) {
+ Actor* actor = static_cast(actorRef);
+
+ if (actor->id != ACTOR_OBJ_TSUBO) return;
+
+ ObjTsubo* potActor = static_cast(actorRef);
+
+ potActor->potIdentity =
+ Randomizer_IdentifyPot(gPlayState->sceneNum, (s16)actor->world.pos.x, (s16)actor->world.pos.z);
+}
+
+void PotOnVanillaBehaviorHandler(GIVanillaBehavior id, bool* should, void* optionalArg) {
+ // Draw custom model for pot to indicate it holding a randomized item.
+ if (id == VB_POT_DRAW) {
+ ObjTsubo* potActor = static_cast(optionalArg);
+ if (ObjTsubo_RandomizerHoldsItem(potActor, gPlayState)) {
+ potActor->actor.draw = (ActorFunc)ObjTsubo_RandomizerDraw;
+ *should = false;
+ }
+ }
+
+ // Do not spawn vanilla item from pot, instead spawn the ranomized item.
+ if (id == VB_POT_DROP_ITEM) {
+ ObjTsubo* potActor = static_cast(optionalArg);
+ if (ObjTsubo_RandomizerHoldsItem(potActor, gPlayState)) {
+ ObjTsubo_RandomizerSpawnCollectible(potActor, gPlayState);
+ *should = false;
+ }
+ }
+
+ // Unlock early Ganon's Boss Key doors to allow access to the pots there when pots are shuffled in dungeon
+ if (id == VB_LOCK_DOOR) {
+ DoorShutter* doorActor = static_cast(optionalArg);
+ uint8_t shufflePotSetting = Randomizer_GetSettingValue(RSK_SHUFFLE_POTS);
+ if (gPlayState->sceneNum == SCENE_GANONS_TOWER && doorActor->dyna.actor.world.pos.y == 800 &&
+ (shufflePotSetting == RO_SHUFFLE_POTS_DUNGEONS || shufflePotSetting == RO_SHUFFLE_POTS_ALL)) {
+ *should = false;
+ }
+ }
+}
+
+void RegisterShufflePots() {
+ static uint32_t onActorInitHook = 0;
+ static uint32_t onVanillaBehaviorHook = 0;
+
+ GameInteractor::Instance->RegisterGameHook([](int32_t fileNum) {
+
+ GameInteractor::Instance->UnregisterGameHook(onActorInitHook);
+ GameInteractor::Instance->UnregisterGameHook(onVanillaBehaviorHook);
+
+ onActorInitHook = 0;
+ onVanillaBehaviorHook = 0;
+
+ if (!IS_RANDO) return;
+ if (!Randomizer_GetSettingValue(RSK_SHUFFLE_POTS)) return;
+
+ onActorInitHook = GameInteractor::Instance->RegisterGameHook(ObjTsubo_RandomizerInit);
+ onVanillaBehaviorHook = GameInteractor::Instance->RegisterGameHook(PotOnVanillaBehaviorHandler);
+
+ });
+}
diff --git a/soh/soh/Enhancements/randomizer/ShufflePots.h b/soh/soh/Enhancements/randomizer/ShufflePots.h
new file mode 100644
index 00000000000..2379a8b4949
--- /dev/null
+++ b/soh/soh/Enhancements/randomizer/ShufflePots.h
@@ -0,0 +1,12 @@
+#ifndef SHUFFLEPOTS_H
+#define SHUFFLEPOTS_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+void RegisterShufflePots();
+#ifdef __cplusplus
+};
+#endif
+
+#endif //SHUFFLEPOTS_H
diff --git a/soh/soh/Enhancements/randomizer/dungeon.cpp b/soh/soh/Enhancements/randomizer/dungeon.cpp
index 0f799b03646..b04d15c9cc2 100644
--- a/soh/soh/Enhancements/randomizer/dungeon.cpp
+++ b/soh/soh/Enhancements/randomizer/dungeon.cpp
@@ -215,6 +215,36 @@ Dungeons::Dungeons() {
RC_DODONGOS_CAVERN_GS_ALCOVE_ABOVE_STAIRS,
RC_DODONGOS_CAVERN_GS_BACK_ROOM,
RC_DODONGOS_CAVERN_GS_SIDE_ROOM_NEAR_LOWER_LIZALFOS,
+
+ // Vanilla Pots
+ RC_DODONGOS_CAVERN_LIZALFOS_POT_1,
+ RC_DODONGOS_CAVERN_LIZALFOS_POT_2,
+ RC_DODONGOS_CAVERN_LIZALFOS_POT_3,
+ RC_DODONGOS_CAVERN_LIZALFOS_POT_4,
+ RC_DODONGOS_CAVERN_SIDE_ROOM_POT_1,
+ RC_DODONGOS_CAVERN_SIDE_ROOM_POT_2,
+ RC_DODONGOS_CAVERN_SIDE_ROOM_POT_3,
+ RC_DODONGOS_CAVERN_SIDE_ROOM_POT_4,
+ RC_DODONGOS_CAVERN_SIDE_ROOM_POT_5,
+ RC_DODONGOS_CAVERN_SIDE_ROOM_POT_6,
+ RC_DODONGOS_CAVERN_TORCH_ROOM_POT_1,
+ RC_DODONGOS_CAVERN_TORCH_ROOM_POT_2,
+ RC_DODONGOS_CAVERN_TORCH_ROOM_POT_3,
+ RC_DODONGOS_CAVERN_TORCH_ROOM_POT_4,
+ RC_DODONGOS_CAVERN_STAIRCASE_POT_1,
+ RC_DODONGOS_CAVERN_STAIRCASE_POT_2,
+ RC_DODONGOS_CAVERN_STAIRCASE_POT_3,
+ RC_DODONGOS_CAVERN_STAIRCASE_POT_4,
+ RC_DODONGOS_CAVERN_SINGLE_EYE_POT_1,
+ RC_DODONGOS_CAVERN_SINGLE_EYE_POT_2,
+ RC_DODONGOS_CAVERN_BLADE_POT_1,
+ RC_DODONGOS_CAVERN_BLADE_POT_2,
+ RC_DODONGOS_CAVERN_DOUBLE_EYE_POT_1,
+ RC_DODONGOS_CAVERN_DOUBLE_EYE_POT_2,
+ RC_DODONGOS_CAVERN_BACK_ROOM_POT_1,
+ RC_DODONGOS_CAVERN_BACK_ROOM_POT_2,
+ RC_DODONGOS_CAVERN_BACK_ROOM_POT_3,
+ RC_DODONGOS_CAVERN_BACK_ROOM_POT_4,
},
{
// MQ Locations
@@ -233,6 +263,38 @@ Dungeons::Dungeons() {
RC_DODONGOS_CAVERN_MQ_GS_LIZALFOS_ROOM,
RC_DODONGOS_CAVERN_MQ_GS_LARVAE_ROOM,
RC_DODONGOS_CAVERN_MQ_GS_BACK_AREA,
+
+ // MQ Pots
+ RC_DODONGOS_CAVERN_MQ_RIGHT_SIDE_POT_1,
+ RC_DODONGOS_CAVERN_MQ_RIGHT_SIDE_POT_2,
+ RC_DODONGOS_CAVERN_MQ_RIGHT_SIDE_POT_3,
+ RC_DODONGOS_CAVERN_MQ_RIGHT_SIDE_POT_4,
+ RC_DODONGOS_CAVERN_MQ_UPPER_LIZALFOS_POT_1,
+ RC_DODONGOS_CAVERN_MQ_UPPER_LIZALFOS_POT_2,
+ RC_DODONGOS_CAVERN_MQ_UPPER_LIZALFOS_POT_3,
+ RC_DODONGOS_CAVERN_MQ_UPPER_LIZALFOS_POT_4,
+ RC_DODONGOS_CAVERN_MQ_POE_ROOM_POT_1,
+ RC_DODONGOS_CAVERN_MQ_POE_ROOM_POT_2,
+ RC_DODONGOS_CAVERN_MQ_POE_ROOM_POT_3,
+ RC_DODONGOS_CAVERN_MQ_POE_ROOM_POT_4,
+ RC_DODONGOS_CAVERN_MQ_BLOCK_ROOM_POT_1,
+ RC_DODONGOS_CAVERN_MQ_BLOCK_ROOM_POT_2,
+ RC_DODONGOS_CAVERN_MQ_TWO_FLAMES_POT_1,
+ RC_DODONGOS_CAVERN_MQ_TWO_FLAMES_POT_2,
+ RC_DODONGOS_CAVERN_MQ_SILVER_BLOCK_POT_1,
+ RC_DODONGOS_CAVERN_MQ_SILVER_BLOCK_POT_2,
+ RC_DODONGOS_CAVERN_MQ_STAIRCASE_POT_1,
+ RC_DODONGOS_CAVERN_MQ_STAIRCASE_POT_2,
+ RC_DODONGOS_CAVERN_MQ_STAIRCASE_POT_3,
+ RC_DODONGOS_CAVERN_MQ_STAIRCASE_POT_4,
+ RC_DODONGOS_CAVERN_MQ_ARMOS_POT_1,
+ RC_DODONGOS_CAVERN_MQ_ARMOS_POT_2,
+ RC_DODONGOS_CAVERN_MQ_ARMOS_POT_3,
+ RC_DODONGOS_CAVERN_MQ_ARMOS_POT_4,
+ RC_DODONGOS_CAVERN_MQ_BEFORE_BOSS_POT_1,
+ RC_DODONGOS_CAVERN_MQ_BEFORE_BOSS_POT_2,
+ RC_DODONGOS_CAVERN_MQ_BACKROOM_POT_1,
+ RC_DODONGOS_CAVERN_MQ_BACKROOM_POT_2,
},
{},
{
@@ -253,6 +315,19 @@ Dungeons::Dungeons() {
RC_JABU_JABUS_BELLY_GS_LOBBY_BASEMENT_UPPER,
RC_JABU_JABUS_BELLY_GS_NEAR_BOSS,
RC_JABU_JABUS_BELLY_GS_WATER_SWITCH_ROOM,
+
+ // Vanilla Pots
+ RC_JABU_JABUS_BELLY_ABOVE_BIG_OCTO_POT_1,
+ RC_JABU_JABUS_BELLY_ABOVE_BIG_OCTO_POT_2,
+ RC_JABU_JABUS_BELLY_ABOVE_BIG_OCTO_POT_3,
+ RC_JABU_JABUS_BELLY_BASEMENT_POT_1,
+ RC_JABU_JABUS_BELLY_BASEMENT_POT_2,
+ RC_JABU_JABUS_BELLY_BASEMENT_POT_3,
+ RC_JABU_JABUS_BELLY_TWO_OCTOROK_POT_1,
+ RC_JABU_JABUS_BELLY_TWO_OCTOROK_POT_2,
+ RC_JABU_JABUS_BELLY_TWO_OCTOROK_POT_3,
+ RC_JABU_JABUS_BELLY_TWO_OCTOROK_POT_4,
+ RC_JABU_JABUS_BELLY_TWO_OCTOROK_POT_5,
},
{
// MQ Locations
@@ -272,12 +347,31 @@ Dungeons::Dungeons() {
RC_JABU_JABUS_BELLY_MQ_GS_INVISIBLE_ENEMIES_ROOM,
RC_JABU_JABUS_BELLY_MQ_GS_BOOMERANG_CHEST_ROOM,
RC_JABU_JABUS_BELLY_MQ_GS_NEAR_BOSS,
+
+ // MQ Pots
+ RC_JABU_JABUS_BELLY_MQ_ENTRANCE_POT_1,
+ RC_JABU_JABUS_BELLY_MQ_ENTRANCE_POT_2,
+ RC_JABU_JABUS_BELLY_MQ_GEYSER_POT_1,
+ RC_JABU_JABUS_BELLY_MQ_GEYSER_POT_2,
+ RC_JABU_JABUS_BELLY_MQ_TIME_BLOCK_POT_1,
+ RC_JABU_JABUS_BELLY_MQ_TIME_BLOCK_POT_2,
+ RC_JABU_JABUS_BELLY_MQ_LIKE_LIKES_POT_1,
+ RC_JABU_JABUS_BELLY_MQ_LIKE_LIKES_POT_2,
+ RC_JABU_JABUS_BELLY_MQ_BEFORE_BOSS_POT_1,
},
{},
{
// Boss Room Locations
RC_JABU_JABUS_BELLY_BARINADE_HEART,
RC_BARINADE,
+
+ // Boss Room Pots
+ RC_JABU_JABUS_BELLY_BARINADE_POT_1,
+ RC_JABU_JABUS_BELLY_BARINADE_POT_2,
+ RC_JABU_JABUS_BELLY_BARINADE_POT_3,
+ RC_JABU_JABUS_BELLY_BARINADE_POT_4,
+ RC_JABU_JABUS_BELLY_BARINADE_POT_5,
+ RC_JABU_JABUS_BELLY_BARINADE_POT_6,
});
dungeonList[FOREST_TEMPLE] =
DungeonInfo("Forest Temple", RHT_FOREST_TEMPLE, RG_FOREST_TEMPLE_MAP, RG_FOREST_TEMPLE_COMPASS,
@@ -302,6 +396,27 @@ Dungeons::Dungeons() {
RC_FOREST_TEMPLE_GS_LEVEL_ISLAND_COURTYARD,
RC_FOREST_TEMPLE_GS_LOBBY,
RC_FOREST_TEMPLE_GS_BASEMENT,
+
+ // Vanilla Pots
+ RC_FOREST_TEMPLE_LOBBY_POT_1,
+ RC_FOREST_TEMPLE_LOBBY_POT_2,
+ RC_FOREST_TEMPLE_LOBBY_POT_3,
+ RC_FOREST_TEMPLE_LOBBY_POT_4,
+ RC_FOREST_TEMPLE_LOBBY_POT_5,
+ RC_FOREST_TEMPLE_LOBBY_POT_6,
+ RC_FOREST_TEMPLE_LOWER_STALFOS_POT_1,
+ RC_FOREST_TEMPLE_LOWER_STALFOS_POT_2,
+ RC_FOREST_TEMPLE_GREEN_POE_POT_1,
+ RC_FOREST_TEMPLE_GREEN_POE_POT_2,
+ RC_FOREST_TEMPLE_UPPER_STALFOS_POT_1,
+ RC_FOREST_TEMPLE_UPPER_STALFOS_POT_2,
+ RC_FOREST_TEMPLE_UPPER_STALFOS_POT_3,
+ RC_FOREST_TEMPLE_UPPER_STALFOS_POT_4,
+ RC_FOREST_TEMPLE_BLUE_POE_POT_1,
+ RC_FOREST_TEMPLE_BLUE_POE_POT_2,
+ RC_FOREST_TEMPLE_BLUE_POE_POT_3,
+ RC_FOREST_TEMPLE_FROZEN_EYE_POT_1,
+ RC_FOREST_TEMPLE_FROZEN_EYE_POT_2,
},
{
// MQ Locations
@@ -322,6 +437,29 @@ Dungeons::Dungeons() {
RC_FOREST_TEMPLE_MQ_GS_RAISED_ISLAND_COURTYARD,
RC_FOREST_TEMPLE_MQ_GS_LEVEL_ISLAND_COURTYARD,
RC_FOREST_TEMPLE_MQ_GS_WELL,
+
+ // MQ Pots
+ RC_FOREST_TEMPLE_MQ_LOBBY_POT_1,
+ RC_FOREST_TEMPLE_MQ_LOBBY_POT_2,
+ RC_FOREST_TEMPLE_MQ_LOBBY_POT_3,
+ RC_FOREST_TEMPLE_MQ_LOBBY_POT_4,
+ RC_FOREST_TEMPLE_MQ_LOBBY_POT_5,
+ RC_FOREST_TEMPLE_MQ_LOBBY_POT_6,
+ RC_FOREST_TEMPLE_MQ_LOWER_STALFOS_POT_1,
+ RC_FOREST_TEMPLE_MQ_LOWER_STALFOS_POT_2,
+ RC_FOREST_TEMPLE_MQ_UPPER_STALFOS_POT_1,
+ RC_FOREST_TEMPLE_MQ_UPPER_STALFOS_POT_2,
+ RC_FOREST_TEMPLE_MQ_UPPER_STALFOS_POT_3,
+ RC_FOREST_TEMPLE_MQ_UPPER_STALFOS_POT_4,
+ RC_FOREST_TEMPLE_MQ_BLUE_POE_POT_1,
+ RC_FOREST_TEMPLE_MQ_BLUE_POE_POT_2,
+ RC_FOREST_TEMPLE_MQ_BLUE_POE_POT_3,
+ RC_FOREST_TEMPLE_MQ_GREEN_POE_POT_1,
+ RC_FOREST_TEMPLE_MQ_GREEN_POE_POT_2,
+ RC_FOREST_TEMPLE_MQ_BASEMENT_POT_1,
+ RC_FOREST_TEMPLE_MQ_BASEMENT_POT_2,
+ RC_FOREST_TEMPLE_MQ_BASEMENT_POT_3,
+ RC_FOREST_TEMPLE_MQ_BASEMENT_POT_4,
},
{},
{
@@ -353,6 +491,23 @@ Dungeons::Dungeons() {
RC_FIRE_TEMPLE_GS_BOULDER_MAZE,
RC_FIRE_TEMPLE_GS_SCARECROW_TOP,
RC_FIRE_TEMPLE_GS_SCARECROW_CLIMB,
+
+ // Vanilla Pots
+ RC_FIRE_TEMPLE_NEAR_BOSS_POT_1,
+ RC_FIRE_TEMPLE_NEAR_BOSS_POT_2,
+ RC_FIRE_TEMPLE_NEAR_BOSS_POT_3,
+ RC_FIRE_TEMPLE_NEAR_BOSS_POT_4,
+ RC_FIRE_TEMPLE_BIG_LAVA_POT_1,
+ RC_FIRE_TEMPLE_BIG_LAVA_POT_2,
+ RC_FIRE_TEMPLE_BIG_LAVA_POT_3,
+ RC_FIRE_TEMPLE_FLAME_MAZE_LEFT_POT_1,
+ RC_FIRE_TEMPLE_FLAME_MAZE_LEFT_POT_2,
+ RC_FIRE_TEMPLE_FLAME_MAZE_LEFT_POT_3,
+ RC_FIRE_TEMPLE_FLAME_MAZE_LEFT_POT_4,
+ RC_FIRE_TEMPLE_FLAME_MAZE_RIGHT_POT_1,
+ RC_FIRE_TEMPLE_FLAME_MAZE_RIGHT_POT_2,
+ RC_FIRE_TEMPLE_FLAME_MAZE_RIGHT_POT_3,
+ RC_FIRE_TEMPLE_FLAME_MAZE_RIGHT_POT_4,
},
{
// MQ Locations
@@ -373,6 +528,36 @@ Dungeons::Dungeons() {
RC_FIRE_TEMPLE_MQ_GS_BIG_LAVA_ROOM_OPEN_DOOR,
RC_FIRE_TEMPLE_MQ_GS_FIRE_WALL_MAZE_SIDE_ROOM,
RC_FIRE_TEMPLE_MQ_GS_SKULL_ON_FIRE,
+
+ // MQ Pots
+ RC_FIRE_TEMPLE_MQ_ENTRANCE_POT_1,
+ RC_FIRE_TEMPLE_MQ_ENTRANCE_POT_2,
+ RC_FIRE_TEMPLE_MQ_OUTSIDE_BOSS_POT_1,
+ RC_FIRE_TEMPLE_MQ_OUTSIDE_BOSS_POT_2,
+ RC_FIRE_TEMPLE_MQ_LAVA_POT_1,
+ RC_FIRE_TEMPLE_MQ_LAVA_POT_2,
+ RC_FIRE_TEMPLE_MQ_LAVA_POT_3,
+ RC_FIRE_TEMPLE_MQ_LAVA_TORCH_POT_1,
+ RC_FIRE_TEMPLE_MQ_LAVA_TORCH_POT_2,
+ RC_FIRE_TEMPLE_MQ_ABOVE_LAVA_POT_1,
+ RC_FIRE_TEMPLE_MQ_ABOVE_LAVA_POT_2,
+ RC_FIRE_TEMPLE_MQ_ABOVE_LAVA_POT_3,
+ RC_FIRE_TEMPLE_MQ_FLAME_WALL_POT_1,
+ RC_FIRE_TEMPLE_MQ_FLAME_WALL_POT_2,
+ RC_FIRE_TEMPLE_MQ_FIRE_MAZE_POT_1,
+ RC_FIRE_TEMPLE_MQ_FIRE_MAZE_POT_2,
+ RC_FIRE_TEMPLE_MQ_FIRE_MAZE_POT_3,
+ RC_FIRE_TEMPLE_MQ_FIRE_MAZE_POT_4,
+ RC_FIRE_TEMPLE_MQ_FIRE_MAZE_POT_5,
+ RC_FIRE_TEMPLE_MQ_FIRE_MAZE_POT_6,
+ RC_FIRE_TEMPLE_MQ_BEFORE_MINI_BOSS_POT_1,
+ RC_FIRE_TEMPLE_MQ_BEFORE_MINI_BOSS_POT_2,
+ RC_FIRE_TEMPLE_MQ_BEFORE_MINI_BOSS_POT_3,
+ RC_FIRE_TEMPLE_MQ_BEFORE_MINI_BOSS_POT_4,
+ RC_FIRE_TEMPLE_MQ_BEFORE_MINI_BOSS_POT_5,
+ RC_FIRE_TEMPLE_MQ_BEFORE_MINI_BOSS_POT_6,
+ RC_FIRE_TEMPLE_MQ_BEFORE_MINI_BOSS_POT_7,
+ RC_FIRE_TEMPLE_MQ_BEFORE_MINI_BOSS_POT_8,
},
{},
{
@@ -400,6 +585,31 @@ Dungeons::Dungeons() {
RC_WATER_TEMPLE_GS_CENTRAL_PILLAR,
RC_WATER_TEMPLE_GS_NEAR_BOSS_KEY_CHEST,
RC_WATER_TEMPLE_GS_RIVER,
+
+ // Vanilla Pots
+ RC_WATER_TEMPLE_MAIN_LEVEL_2_POT_1,
+ RC_WATER_TEMPLE_MAIN_LEVEL_2_POT_2,
+ RC_WATER_TEMPLE_MAIN_LEVEL_1_POT_1,
+ RC_WATER_TEMPLE_MAIN_LEVEL_1_POT_2,
+ RC_WATER_TEMPLE_TORCH_POT_1,
+ RC_WATER_TEMPLE_TORCH_POT_2,
+ RC_WATER_TEMPLE_NEAR_COMPASS_POT_1,
+ RC_WATER_TEMPLE_NEAR_COMPASS_POT_2,
+ RC_WATER_TEMPLE_NEAR_COMPASS_POT_3,
+ RC_WATER_TEMPLE_CENTRAL_BOW_POT_1,
+ RC_WATER_TEMPLE_CENTRAL_BOW_POT_2,
+ RC_WATER_TEMPLE_BEHIND_GATE_POT_1,
+ RC_WATER_TEMPLE_BEHIND_GATE_POT_2,
+ RC_WATER_TEMPLE_BEHIND_GATE_POT_3,
+ RC_WATER_TEMPLE_BEHIND_GATE_POT_4,
+ RC_WATER_TEMPLE_BASEMENT_BLOCK_PUZZLE_POT_1,
+ RC_WATER_TEMPLE_BASEMENT_BLOCK_PUZZLE_POT_2,
+ RC_WATER_TEMPLE_RIVER_POT_1,
+ RC_WATER_TEMPLE_RIVER_POT_2,
+ RC_WATER_TEMPLE_LIKE_LIKE_POT_1,
+ RC_WATER_TEMPLE_LIKE_LIKE_POT_2,
+ RC_WATER_TEMPLE_BOSS_KEY_POT_1,
+ RC_WATER_TEMPLE_BOSS_KEY_POT_2,
},
{
// MQ Locations
@@ -414,6 +624,39 @@ Dungeons::Dungeons() {
RC_WATER_TEMPLE_MQ_GS_LIZALFOS_HALLWAY,
RC_WATER_TEMPLE_MQ_GS_RIVER,
RC_WATER_TEMPLE_MQ_GS_TRIPLE_WALL_TORCH,
+
+ // MQ Pots
+ RC_WATER_TEMPLE_MQ_CENTRAL_GATE_POT_1,
+ RC_WATER_TEMPLE_MQ_CENTRAL_GATE_POT_2,
+ RC_WATER_TEMPLE_MQ_CENTRAL_GATE_POT_3,
+ RC_WATER_TEMPLE_MQ_CENTRAL_GATE_POT_4,
+ RC_WATER_TEMPLE_MQ_CENTRAL_GATE_POT_5,
+ RC_WATER_TEMPLE_MQ_STORAGE_ROOM_A_POT_1,
+ RC_WATER_TEMPLE_MQ_STORAGE_ROOM_A_POT_2,
+ RC_WATER_TEMPLE_MQ_STORAGE_ROOM_A_POT_3,
+ RC_WATER_TEMPLE_MQ_BEFORE_DARK_LINK_POT_1,
+ RC_WATER_TEMPLE_MQ_BEFORE_DARK_LINK_POT_2,
+ RC_WATER_TEMPLE_MQ_BEFORE_DARK_LINK_POT_3,
+ RC_WATER_TEMPLE_MQ_BEFORE_DARK_LINK_POT_4,
+ RC_WATER_TEMPLE_MQ_BEFORE_DARK_LINK_POT_5,
+ RC_WATER_TEMPLE_MQ_AFTER_DARK_LINK_POT_1,
+ RC_WATER_TEMPLE_MQ_AFTER_DARK_LINK_POT_2,
+ RC_WATER_TEMPLE_MQ_RIVER_POT_1,
+ RC_WATER_TEMPLE_MQ_RIVER_POT_2,
+ RC_WATER_TEMPLE_MQ_MINI_DODONGO_POT_1,
+ RC_WATER_TEMPLE_MQ_MINI_DODONGO_POT_2,
+ RC_WATER_TEMPLE_MQ_STORAGE_ROOM_B_POT_1,
+ RC_WATER_TEMPLE_MQ_STORAGE_ROOM_B_POT_2,
+ RC_WATER_TEMPLE_MQ_GS_STORAGE_ROOM_POT_1,
+ RC_WATER_TEMPLE_MQ_GS_STORAGE_ROOM_POT_2,
+ RC_WATER_TEMPLE_MQ_GS_STORAGE_ROOM_POT_3,
+ RC_WATER_TEMPLE_MQ_LOWER_TORCHES_POT_1,
+ RC_WATER_TEMPLE_MQ_LOWER_TORCHES_POT_2,
+ RC_WATER_TEMPLE_MQ_LOWEST_GS_POT_1,
+ RC_WATER_TEMPLE_MQ_LOWEST_GS_POT_2,
+ RC_WATER_TEMPLE_MQ_LOWEST_GS_POT_3,
+ RC_WATER_TEMPLE_MQ_LOWEST_GS_POT_4,
+ RC_WATER_TEMPLE_MQ_BOSS_KEY_POT,
},
{},
{
@@ -448,6 +691,24 @@ Dungeons::Dungeons() {
RC_SPIRIT_TEMPLE_GS_LOBBY,
RC_SPIRIT_TEMPLE_GS_SUN_ON_FLOOR_ROOM,
RC_SPIRIT_TEMPLE_GS_METAL_FENCE,
+
+ // Vanilla Pots
+ RC_SPIRIT_TEMPLE_LOBBY_POT_1,
+ RC_SPIRIT_TEMPLE_LOBBY_POT_2,
+ RC_SPIRIT_TEMPLE_ANUBIS_POT_1,
+ RC_SPIRIT_TEMPLE_ANUBIS_POT_2,
+ RC_SPIRIT_TEMPLE_ANUBIS_POT_3,
+ RC_SPIRIT_TEMPLE_ANUBIS_POT_4,
+ RC_SPIRIT_TEMPLE_CHILD_CLIMB_POT_1,
+ RC_SPIRIT_TEMPLE_AFTER_SUN_BLOCK_POT_1,
+ RC_SPIRIT_TEMPLE_AFTER_SUN_BLOCK_POT_2,
+ RC_SPIRIT_TEMPLE_CENTRAL_CHAMBER_POT_1,
+ RC_SPIRIT_TEMPLE_CENTRAL_CHAMBER_POT_2,
+ RC_SPIRIT_TEMPLE_CENTRAL_CHAMBER_POT_3,
+ RC_SPIRIT_TEMPLE_CENTRAL_CHAMBER_POT_4,
+ RC_SPIRIT_TEMPLE_CENTRAL_CHAMBER_POT_5,
+ RC_SPIRIT_TEMPLE_CENTRAL_CHAMBER_POT_6,
+ RC_SPIRIT_TEMPLE_BEAMOS_HALL_POT_1,
},
{
// MQ Locations
@@ -476,6 +737,37 @@ Dungeons::Dungeons() {
RC_SPIRIT_TEMPLE_MQ_GS_NINE_THRONES_ROOM_WEST,
RC_SPIRIT_TEMPLE_MQ_GS_NINE_THRONES_ROOM_NORTH,
RC_SPIRIT_TEMPLE_MQ_GS_SUN_BLOCK_ROOM,
+
+ // MQ Pots
+ RC_SPIRIT_TEMPLE_MQ_ENTRANCE_POT_1,
+ RC_SPIRIT_TEMPLE_MQ_ENTRANCE_POT_2,
+ RC_SPIRIT_TEMPLE_MQ_ENTRANCE_POT_3,
+ RC_SPIRIT_TEMPLE_MQ_ENTRANCE_POT_4,
+ RC_SPIRIT_TEMPLE_MQ_CHILD_SLUGMA_POT,
+ RC_SPIRIT_TEMPLE_MQ_CHILD_GIBDO_POT_1,
+ RC_SPIRIT_TEMPLE_MQ_CHILD_GIBDO_POT_2,
+ RC_SPIRIT_TEMPLE_MQ_CHILD_LIKE_LIKE_POT,
+ RC_SPIRIT_TEMPLE_MQ_CHILD_STALFOS_POT_1,
+ RC_SPIRIT_TEMPLE_MQ_CHILD_STALFOS_POT_2,
+ RC_SPIRIT_TEMPLE_MQ_CHILD_STALFOS_POT_3,
+ RC_SPIRIT_TEMPLE_MQ_CHILD_STALFOS_POT_4,
+ RC_SPIRIT_TEMPLE_MQ_CENTRAL_CHAMBER_POT_1,
+ RC_SPIRIT_TEMPLE_MQ_CENTRAL_CHAMBER_POT_2,
+ RC_SPIRIT_TEMPLE_MQ_CENTRAL_CHAMBER_POT_3,
+ RC_SPIRIT_TEMPLE_MQ_CENTRAL_CHAMBER_POT_4,
+ RC_SPIRIT_TEMPLE_MQ_CENTRAL_CHAMBER_POT_5,
+ RC_SPIRIT_TEMPLE_MQ_SUN_BLOCKS_POT_1,
+ RC_SPIRIT_TEMPLE_MQ_SUN_BLOCKS_POT_2,
+ RC_SPIRIT_TEMPLE_MQ_LONG_CLIMB_POT_1,
+ RC_SPIRIT_TEMPLE_MQ_LONG_CLIMB_POT_2,
+ RC_SPIRIT_TEMPLE_MQ_BIG_MIRROR_POT_1,
+ RC_SPIRIT_TEMPLE_MQ_BIG_MIRROR_POT_2,
+ RC_SPIRIT_TEMPLE_MQ_BIG_MIRROR_POT_3,
+ RC_SPIRIT_TEMPLE_MQ_BIG_MIRROR_POT_4,
+ RC_SPIRIT_TEMPLE_MQ_BEFORE_MIRROR_POT_1,
+ RC_SPIRIT_TEMPLE_MQ_BEFORE_MIRROR_POT_2,
+ RC_SPIRIT_TEMPLE_MQ_EARLY_ADULT_POT_1,
+ RC_SPIRIT_TEMPLE_MQ_EARLY_ADULT_POT_2,
},
{
// Shared Locations
@@ -514,6 +806,29 @@ Dungeons::Dungeons() {
RC_SHADOW_TEMPLE_GS_TRIPLE_GIANT_POT,
RC_SHADOW_TEMPLE_GS_LIKE_LIKE_ROOM,
RC_SHADOW_TEMPLE_GS_NEAR_SHIP,
+
+ // Vanilla Pots
+ RC_SHADOW_TEMPLE_NEAR_DEAD_HAND_POT_1,
+ RC_SHADOW_TEMPLE_WHISPERING_WALLS_POT_1,
+ RC_SHADOW_TEMPLE_WHISPERING_WALLS_POT_2,
+ RC_SHADOW_TEMPLE_WHISPERING_WALLS_POT_3,
+ RC_SHADOW_TEMPLE_WHISPERING_WALLS_POT_4,
+ RC_SHADOW_TEMPLE_WHISPERING_WALLS_POT_5,
+ RC_SHADOW_TEMPLE_MAP_CHEST_POT_1,
+ RC_SHADOW_TEMPLE_MAP_CHEST_POT_2,
+ RC_SHADOW_TEMPLE_FALLING_SPIKES_POT_1,
+ RC_SHADOW_TEMPLE_FALLING_SPIKES_POT_2,
+ RC_SHADOW_TEMPLE_FALLING_SPIKES_POT_3,
+ RC_SHADOW_TEMPLE_FALLING_SPIKES_POT_4,
+ RC_SHADOW_TEMPLE_AFTER_WIND_POT_1,
+ RC_SHADOW_TEMPLE_AFTER_WIND_POT_2,
+ RC_SHADOW_TEMPLE_SPIKE_WALLS_POT_1,
+ RC_SHADOW_TEMPLE_FLOORMASTER_POT_1,
+ RC_SHADOW_TEMPLE_FLOORMASTER_POT_2,
+ RC_SHADOW_TEMPLE_AFTER_BOAT_POT_1,
+ RC_SHADOW_TEMPLE_AFTER_BOAT_POT_2,
+ RC_SHADOW_TEMPLE_AFTER_BOAT_POT_3,
+ RC_SHADOW_TEMPLE_AFTER_BOAT_POT_4,
},
{
// MQ Locations
@@ -542,6 +857,25 @@ Dungeons::Dungeons() {
RC_SHADOW_TEMPLE_MQ_GS_AFTER_WIND,
RC_SHADOW_TEMPLE_MQ_GS_AFTER_SHIP,
RC_SHADOW_TEMPLE_MQ_GS_NEAR_BOSS,
+
+ // MQ Pots
+ RC_SHADOW_TEMPLE_MQ_WHISPERING_WALLS_POT_1,
+ RC_SHADOW_TEMPLE_MQ_WHISPERING_WALLS_POT_2,
+ RC_SHADOW_TEMPLE_MQ_ENTRANCE_REDEAD_POT_1,
+ RC_SHADOW_TEMPLE_MQ_ENTRANCE_REDEAD_POT_2,
+ RC_SHADOW_TEMPLE_MQ_FALLING_SPIKES_POT_1,
+ RC_SHADOW_TEMPLE_MQ_FALLING_SPIKES_POT_2,
+ RC_SHADOW_TEMPLE_MQ_FALLING_SPIKES_POT_3,
+ RC_SHADOW_TEMPLE_MQ_FALLING_SPIKES_POT_4,
+ RC_SHADOW_TEMPLE_MQ_BEFORE_BOAT_POT_1,
+ RC_SHADOW_TEMPLE_MQ_BEFORE_BOAT_POT_2,
+ RC_SHADOW_TEMPLE_MQ_AFTER_BOAT_POT_1,
+ RC_SHADOW_TEMPLE_MQ_AFTER_BOAT_POT_2,
+ RC_SHADOW_TEMPLE_MQ_AFTER_BOAT_POT_3,
+ RC_SHADOW_TEMPLE_MQ_AFTER_BOAT_POT_4,
+ RC_SHADOW_TEMPLE_MQ_SPIKE_BARICADE_POT,
+ RC_SHADOW_TEMPLE_MQ_DEAD_HAND_POT_1,
+ RC_SHADOW_TEMPLE_MQ_DEAD_HAND_POT_2,
},
{},
{
@@ -571,6 +905,27 @@ Dungeons::Dungeons() {
RC_BOTTOM_OF_THE_WELL_GS_LIKE_LIKE_CAGE,
RC_BOTTOM_OF_THE_WELL_GS_EAST_INNER_ROOM,
RC_BOTTOM_OF_THE_WELL_GS_WEST_INNER_ROOM,
+
+ // Vanilla Pots
+ RC_BOTTOM_OF_THE_WELL_BASEMENT_POT_1,
+ RC_BOTTOM_OF_THE_WELL_BASEMENT_POT_2,
+ RC_BOTTOM_OF_THE_WELL_BASEMENT_POT_3,
+ RC_BOTTOM_OF_THE_WELL_BASEMENT_POT_4,
+ RC_BOTTOM_OF_THE_WELL_BASEMENT_POT_5,
+ RC_BOTTOM_OF_THE_WELL_BASEMENT_POT_6,
+ RC_BOTTOM_OF_THE_WELL_BASEMENT_POT_7,
+ RC_BOTTOM_OF_THE_WELL_BASEMENT_POT_8,
+ RC_BOTTOM_OF_THE_WELL_BASEMENT_POT_9,
+ RC_BOTTOM_OF_THE_WELL_BASEMENT_POT_10,
+ RC_BOTTOM_OF_THE_WELL_BASEMENT_POT_11,
+ RC_BOTTOM_OF_THE_WELL_BASEMENT_POT_12,
+ RC_BOTTOM_OF_THE_WELL_LEFT_SIDE_POT_1,
+ RC_BOTTOM_OF_THE_WELL_LEFT_SIDE_POT_2,
+ RC_BOTTOM_OF_THE_WELL_LEFT_SIDE_POT_3,
+ RC_BOTTOM_OF_THE_WELL_NEAR_ENTRANCE_POT_1,
+ RC_BOTTOM_OF_THE_WELL_NEAR_ENTRANCE_POT_2,
+ RC_BOTTOM_OF_THE_WELL_FIRE_KEESE_POT_1,
+ RC_BOTTOM_OF_THE_WELL_UNDERWATER_POT,
},
{
// MQ Locations
@@ -582,6 +937,15 @@ Dungeons::Dungeons() {
RC_BOTTOM_OF_THE_WELL_MQ_GS_BASEMENT,
RC_BOTTOM_OF_THE_WELL_MQ_GS_COFFIN_ROOM,
RC_BOTTOM_OF_THE_WELL_MQ_GS_WEST_INNER_ROOM,
+
+ // MQ Pots
+ RC_BOTTOM_OF_THE_WELL_MQ_INNER_LOBBY_POT_1,
+ RC_BOTTOM_OF_THE_WELL_MQ_INNER_LOBBY_POT_2,
+ RC_BOTTOM_OF_THE_WELL_MQ_INNER_LOBBY_POT_3,
+ RC_BOTTOM_OF_THE_WELL_MQ_OUTER_LOBBY_POT,
+ RC_BOTTOM_OF_THE_WELL_MQ_SOUTH_KEY_POT_1,
+ RC_BOTTOM_OF_THE_WELL_MQ_SOUTH_KEY_POT_2,
+ RC_BOTTOM_OF_THE_WELL_MQ_SOUTH_KEY_POT_3,
},
{}, {});
dungeonList[ICE_CAVERN] = DungeonInfo("Ice Cavern", RHT_ICE_CAVERN, RG_ICE_CAVERN_MAP, RG_ICE_CAVERN_COMPASS,
@@ -595,6 +959,16 @@ Dungeons::Dungeons() {
RC_ICE_CAVERN_GS_PUSH_BLOCK_ROOM,
RC_ICE_CAVERN_GS_SPINNING_SCYTHE_ROOM,
RC_ICE_CAVERN_GS_HEART_PIECE_ROOM,
+
+ // Vanilla Pots
+ RC_ICE_CAVERN_HALL_POT_1,
+ RC_ICE_CAVERN_HALL_POT_2,
+ RC_ICE_CAVERN_SPINNING_BLADE_POT_1,
+ RC_ICE_CAVERN_SPINNING_BLADE_POT_2,
+ RC_ICE_CAVERN_SPINNING_BLADE_POT_3,
+ RC_ICE_CAVERN_NEAR_END_POT_1,
+ RC_ICE_CAVERN_NEAR_END_POT_2,
+ RC_ICE_CAVERN_FROZEN_POT_1,
},
{
// MQ Locations
@@ -605,6 +979,19 @@ Dungeons::Dungeons() {
RC_ICE_CAVERN_MQ_GS_SCARECROW,
RC_ICE_CAVERN_MQ_GS_ICE_BLOCK,
RC_ICE_CAVERN_MQ_GS_RED_ICE,
+
+ // MQ Pots
+ RC_ICE_CAVERN_MQ_ENTRANCE_POT,
+ RC_ICE_CAVERN_MQ_FIRST_CRYSTAL_POT_1,
+ RC_ICE_CAVERN_MQ_FIRST_CRYSTAL_POT_2,
+ RC_ICE_CAVERN_MQ_EARLY_WOLFOS_POT_1,
+ RC_ICE_CAVERN_MQ_EARLY_WOLFOS_POT_2,
+ RC_ICE_CAVERN_MQ_EARLY_WOLFOS_POT_3,
+ RC_ICE_CAVERN_MQ_EARLY_WOLFOS_POT_4,
+ RC_ICE_CAVERN_MQ_PUSH_BLOCK_POT_1,
+ RC_ICE_CAVERN_MQ_PUSH_BLOCK_POT_2,
+ RC_ICE_CAVERN_MQ_COMPASS_POT_1,
+ RC_ICE_CAVERN_MQ_COMPASS_POT_2,
},
{
// Shared Locations
@@ -684,6 +1071,24 @@ Dungeons::Dungeons() {
RC_GANONS_CASTLE_DEKU_SCRUB_CENTER_LEFT,
RC_GANONS_CASTLE_DEKU_SCRUB_CENTER_RIGHT,
RC_GANONS_CASTLE_DEKU_SCRUB_RIGHT,
+
+ // Vanilla Pots
+ RC_GANONS_CASTLE_FOREST_TRIAL_POT_1,
+ RC_GANONS_CASTLE_FOREST_TRIAL_POT_2,
+ RC_GANONS_CASTLE_FIRE_TRIAL_POT_1,
+ RC_GANONS_CASTLE_FIRE_TRIAL_POT_2,
+ RC_GANONS_CASTLE_WATER_TRIAL_POT_1,
+ RC_GANONS_CASTLE_WATER_TRIAL_POT_2,
+ RC_GANONS_CASTLE_WATER_TRIAL_POT_3,
+ RC_GANONS_CASTLE_SHADOW_TRIAL_POT_1,
+ RC_GANONS_CASTLE_SHADOW_TRIAL_POT_2,
+ RC_GANONS_CASTLE_SHADOW_TRIAL_POT_3,
+ RC_GANONS_CASTLE_SHADOW_TRIAL_POT_4,
+ RC_GANONS_CASTLE_SPIRIT_TRIAL_POT_1,
+ RC_GANONS_CASTLE_SPIRIT_TRIAL_POT_2,
+ RC_GANONS_CASTLE_LIGHT_TRIAL_BOULDER_POT_1,
+ RC_GANONS_CASTLE_LIGHT_TRIAL_POT_1,
+ RC_GANONS_CASTLE_LIGHT_TRIAL_POT_2,
},
{
// MQ Locations
@@ -705,11 +1110,45 @@ Dungeons::Dungeons() {
RC_GANONS_CASTLE_MQ_DEKU_SCRUB_CENTER,
RC_GANONS_CASTLE_MQ_DEKU_SCRUB_CENTER_RIGHT,
RC_GANONS_CASTLE_MQ_DEKU_SCRUB_LEFT,
+
+ // MQ Pots
+ RC_GANONS_CASTLE_MQ_FOREST_TRIAL_POT_1,
+ RC_GANONS_CASTLE_MQ_FOREST_TRIAL_POT_2,
+ RC_GANONS_CASTLE_MQ_WATER_TRIAL_POT_1,
+ RC_GANONS_CASTLE_MQ_WATER_TRIAL_POT_2,
+ RC_GANONS_CASTLE_MQ_SHADOW_TRIAL_POT_1,
+ RC_GANONS_CASTLE_MQ_SHADOW_TRIAL_POT_2,
+ RC_GANONS_CASTLE_MQ_FIRE_TRIAL_POT_1,
+ RC_GANONS_CASTLE_MQ_FIRE_TRIAL_POT_2,
+ RC_GANONS_CASTLE_MQ_LIGHT_TRIAL_POT_1,
+ RC_GANONS_CASTLE_MQ_LIGHT_TRIAL_POT_2,
+ RC_GANONS_CASTLE_MQ_SPIRIT_TRIAL_POT_1,
+ RC_GANONS_CASTLE_MQ_SPIRIT_TRIAL_POT_2,
},
{
// Shared Locations
RC_GANONS_TOWER_BOSS_KEY_CHEST,
RC_GANON,
+
+ // Shared Pots
+ RC_GANONS_CASTLE_GANONS_TOWER_POT_1,
+ RC_GANONS_CASTLE_GANONS_TOWER_POT_2,
+ RC_GANONS_CASTLE_GANONS_TOWER_POT_3,
+ RC_GANONS_CASTLE_GANONS_TOWER_POT_4,
+ RC_GANONS_CASTLE_GANONS_TOWER_POT_5,
+ RC_GANONS_CASTLE_GANONS_TOWER_POT_6,
+ RC_GANONS_CASTLE_GANONS_TOWER_POT_7,
+ RC_GANONS_CASTLE_GANONS_TOWER_POT_8,
+ RC_GANONS_CASTLE_GANONS_TOWER_POT_9,
+ RC_GANONS_CASTLE_GANONS_TOWER_POT_10,
+ RC_GANONS_CASTLE_GANONS_TOWER_POT_11,
+ RC_GANONS_CASTLE_GANONS_TOWER_POT_12,
+ RC_GANONS_CASTLE_GANONS_TOWER_POT_13,
+ RC_GANONS_CASTLE_GANONS_TOWER_POT_14,
+ RC_GANONS_CASTLE_GANONS_TOWER_POT_15,
+ RC_GANONS_CASTLE_GANONS_TOWER_POT_16,
+ RC_GANONS_CASTLE_GANONS_TOWER_POT_17,
+ RC_GANONS_CASTLE_GANONS_TOWER_POT_18,
},
{});
}
diff --git a/soh/soh/Enhancements/randomizer/location_list.cpp b/soh/soh/Enhancements/randomizer/location_list.cpp
index dd31dae5c9d..bed7bc2ef70 100644
--- a/soh/soh/Enhancements/randomizer/location_list.cpp
+++ b/soh/soh/Enhancements/randomizer/location_list.cpp
@@ -1,8 +1,6 @@
#include "static_data.h"
#include "z64save.h"
-#define TWO_ACTOR_PARAMS(a, b) (abs(a) << 16) | abs(b)
-
std::array Rando::StaticData::locationTable;
std::multimap, RandomizerCheck> Rando::StaticData::CheckFromActorMultimap;
@@ -110,6 +108,11 @@ std::vector Rando::StaticData::overworldLocations = {
RC_KF_MIDOS_BOTTOM_RIGHT_CHEST,
RC_KF_STORMS_GROTTO_CHEST,
RC_KF_LINKS_HOUSE_COW,
+ RC_KF_LINKS_HOUSE_POT,
+ RC_KF_TWINS_HOUSE_POT_1,
+ RC_KF_TWINS_HOUSE_POT_2,
+ RC_KF_BROTHERS_HOUSE_POT_1,
+ RC_KF_BROTHERS_HOUSE_POT_2,
// Shop
RC_KF_SHOP_ITEM_1,
@@ -153,6 +156,8 @@ std::vector Rando::StaticData::overworldLocations = {
RC_HF_TEKTITE_GROTTO_FREESTANDING_POH,
RC_HF_DEKU_SCRUB_GROTTO,
RC_HF_COW_GROTTO_COW,
+ RC_HF_COW_GROTTO_POT_1,
+ RC_HF_COW_GROTTO_POT_2,
// Lake Hylia
RC_LH_CHILD_FISHING,
@@ -185,10 +190,30 @@ std::vector Rando::StaticData::overworldLocations = {
RC_GF_SOUTH_F1_CARPENTER,
RC_GF_SOUTH_F2_CARPENTER,
RC_GF_GERUDO_MEMBERSHIP_CARD,
+ RC_GF_BREAK_ROOM_POT_1,
+ RC_GF_BREAK_ROOM_POT_2,
+ RC_GF_KITCHEN_POT_1,
+ RC_GF_KITCHEN_POT_2,
+ RC_GF_NORTH_F1_CARPENTER_POT_1,
+ RC_GF_NORTH_F1_CARPENTER_POT_2,
+ RC_GF_NORTH_F1_CARPENTER_POT_3,
+ RC_GF_NORTH_F2_CARPENTER_POT_1,
+ RC_GF_NORTH_F2_CARPENTER_POT_2,
+ RC_GF_SOUTH_F1_CARPENTER_POT_1,
+ RC_GF_SOUTH_F1_CARPENTER_POT_2,
+ RC_GF_SOUTH_F1_CARPENTER_POT_3,
+ RC_GF_SOUTH_F1_CARPENTER_CELL_POT_1,
+ RC_GF_SOUTH_F1_CARPENTER_CELL_POT_2,
+ RC_GF_SOUTH_F1_CARPENTER_CELL_POT_3,
+ RC_GF_SOUTH_F1_CARPENTER_CELL_POT_4,
// Haunted Wasteland
RC_WASTELAND_CHEST,
RC_WASTELAND_BOMBCHU_SALESMAN,
+ RC_WASTELAND_NEAR_GS_POT_1,
+ RC_WASTELAND_NEAR_GS_POT_2,
+ RC_WASTELAND_NEAR_GS_POT_3,
+ RC_WASTELAND_NEAR_GS_POT_4,
// Desert Colossus
RC_SHEIK_AT_COLOSSUS,
@@ -209,6 +234,64 @@ std::vector Rando::StaticData::overworldLocations = {
RC_MARKET_TREASURE_CHEST_GAME_ITEM_3,
RC_MARKET_TREASURE_CHEST_GAME_ITEM_4,
RC_MARKET_TREASURE_CHEST_GAME_ITEM_5,
+ RC_MK_GUARD_HOUSE_CHILD_POT_1,
+ RC_MK_GUARD_HOUSE_CHILD_POT_2,
+ RC_MK_GUARD_HOUSE_CHILD_POT_3,
+ RC_MK_GUARD_HOUSE_CHILD_POT_4,
+ RC_MK_GUARD_HOUSE_CHILD_POT_5,
+ RC_MK_GUARD_HOUSE_CHILD_POT_6,
+ RC_MK_GUARD_HOUSE_CHILD_POT_7,
+ RC_MK_GUARD_HOUSE_CHILD_POT_8,
+ RC_MK_GUARD_HOUSE_CHILD_POT_9,
+ RC_MK_GUARD_HOUSE_CHILD_POT_10,
+ RC_MK_GUARD_HOUSE_CHILD_POT_11,
+ RC_MK_GUARD_HOUSE_CHILD_POT_12,
+ RC_MK_GUARD_HOUSE_CHILD_POT_13,
+ RC_MK_GUARD_HOUSE_CHILD_POT_14,
+ RC_MK_GUARD_HOUSE_CHILD_POT_15,
+ RC_MK_GUARD_HOUSE_CHILD_POT_16,
+ RC_MK_GUARD_HOUSE_CHILD_POT_17,
+ RC_MK_GUARD_HOUSE_CHILD_POT_18,
+ RC_MK_GUARD_HOUSE_CHILD_POT_19,
+ RC_MK_GUARD_HOUSE_CHILD_POT_20,
+ RC_MK_GUARD_HOUSE_CHILD_POT_21,
+ RC_MK_GUARD_HOUSE_CHILD_POT_22,
+ RC_MK_GUARD_HOUSE_CHILD_POT_23,
+ RC_MK_GUARD_HOUSE_CHILD_POT_24,
+ RC_MK_GUARD_HOUSE_CHILD_POT_25,
+ RC_MK_GUARD_HOUSE_CHILD_POT_26,
+ RC_MK_GUARD_HOUSE_CHILD_POT_27,
+ RC_MK_GUARD_HOUSE_CHILD_POT_28,
+ RC_MK_GUARD_HOUSE_CHILD_POT_29,
+ RC_MK_GUARD_HOUSE_CHILD_POT_30,
+ RC_MK_GUARD_HOUSE_CHILD_POT_31,
+ RC_MK_GUARD_HOUSE_CHILD_POT_32,
+ RC_MK_GUARD_HOUSE_CHILD_POT_33,
+ RC_MK_GUARD_HOUSE_CHILD_POT_34,
+ RC_MK_GUARD_HOUSE_CHILD_POT_35,
+ RC_MK_GUARD_HOUSE_CHILD_POT_36,
+ RC_MK_GUARD_HOUSE_CHILD_POT_37,
+ RC_MK_GUARD_HOUSE_CHILD_POT_38,
+ RC_MK_GUARD_HOUSE_CHILD_POT_39,
+ RC_MK_GUARD_HOUSE_CHILD_POT_40,
+ RC_MK_GUARD_HOUSE_CHILD_POT_41,
+ RC_MK_GUARD_HOUSE_CHILD_POT_42,
+ RC_MK_GUARD_HOUSE_CHILD_POT_43,
+ RC_MK_GUARD_HOUSE_CHILD_POT_44,
+ RC_MK_GUARD_HOUSE_ADULT_POT_1,
+ RC_MK_GUARD_HOUSE_ADULT_POT_2,
+ RC_MK_GUARD_HOUSE_ADULT_POT_3,
+ RC_MK_GUARD_HOUSE_ADULT_POT_4,
+ RC_MK_GUARD_HOUSE_ADULT_POT_5,
+ RC_MK_GUARD_HOUSE_ADULT_POT_6,
+ RC_MK_GUARD_HOUSE_ADULT_POT_7,
+ RC_MK_GUARD_HOUSE_ADULT_POT_8,
+ RC_MK_GUARD_HOUSE_ADULT_POT_9,
+ RC_MK_GUARD_HOUSE_ADULT_POT_10,
+ RC_MK_GUARD_HOUSE_ADULT_POT_11,
+ RC_MK_BACK_ALLEY_HOUSE_POT_1,
+ RC_MK_BACK_ALLEY_HOUSE_POT_2,
+ RC_MK_BACK_ALLEY_HOUSE_POT_3,
RC_MARKET_TREASURE_CHEST_GAME_KEY_1,
RC_MARKET_TREASURE_CHEST_GAME_KEY_2,
RC_MARKET_TREASURE_CHEST_GAME_KEY_3,
@@ -247,6 +330,10 @@ std::vector Rando::StaticData::overworldLocations = {
RC_SONG_FROM_IMPA,
RC_HC_GREAT_FAIRY_REWARD,
RC_OGC_GREAT_FAIRY_REWARD,
+ RC_HC_STORMS_GROTTO_POT_1,
+ RC_HC_STORMS_GROTTO_POT_2,
+ RC_HC_STORMS_GROTTO_POT_3,
+ RC_HC_STORMS_GROTTO_POT_4,
// Temple of Time
RC_TOT_MASTER_SWORD,
@@ -275,6 +362,17 @@ std::vector Rando::StaticData::overworldLocations = {
RC_KAK_WINDMILL_FREESTANDING_POH,
RC_SONG_FROM_WINDMILL,
RC_KAK_IMPAS_HOUSE_COW,
+ RC_KAK_NEAR_POTION_SHOP_POT_1,
+ RC_KAK_NEAR_POTION_SHOP_POT_2,
+ RC_KAK_NEAR_POTION_SHOP_POT_3,
+ RC_KAK_NEAR_IMPAS_HOUSE_POT_1,
+ RC_KAK_NEAR_IMPAS_HOUSE_POT_2,
+ RC_KAK_NEAR_IMPAS_HOUSE_POT_3,
+ RC_KAK_NEAR_GUARDS_HOUSE_POT_1,
+ RC_KAK_NEAR_GUARDS_HOUSE_POT_2,
+ RC_KAK_NEAR_GUARDS_HOUSE_POT_3,
+ RC_KAK_NEAR_MEDICINE_SHOP_POT_1,
+ RC_KAK_NEAR_MEDICINE_SHOP_POT_2,
// Kakariko Shops
RC_KAK_POTION_SHOP_ITEM_1,
@@ -303,6 +401,12 @@ std::vector Rando::StaticData::overworldLocations = {
RC_GRAVEYARD_FREESTANDING_POH,
RC_GRAVEYARD_DAMPE_RACE_FREESTANDING_POH,
RC_GRAVEYARD_DAMPE_GRAVEDIGGING_TOUR,
+ RC_GY_DAMPES_GRAVE_POT_1,
+ RC_GY_DAMPES_GRAVE_POT_2,
+ RC_GY_DAMPES_GRAVE_POT_3,
+ RC_GY_DAMPES_GRAVE_POT_4,
+ RC_GY_DAMPES_GRAVE_POT_5,
+ RC_GY_DAMPES_GRAVE_POT_6,
// Death Mountain Trail
RC_DMT_CHEST,
@@ -326,6 +430,15 @@ std::vector Rando::StaticData::overworldLocations = {
RC_GC_DEKU_SCRUB_GROTTO_RIGHT,
RC_GC_DEKU_SCRUB_GROTTO_CENTER,
RC_GC_MEDIGORON,
+ RC_GC_LOWER_STAIRCASE_POT_1,
+ RC_GC_LOWER_STAIRCASE_POT_2,
+ RC_GC_UPPER_STAIRCASE_POT_1,
+ RC_GC_UPPER_STAIRCASE_POT_2,
+ RC_GC_UPPER_STAIRCASE_POT_3,
+ RC_GC_MEDIGORON_POT_1,
+ RC_GC_DARUNIA_POT_1,
+ RC_GC_DARUNIA_POT_2,
+ RC_GC_DARUNIA_POT_3,
// Goron City Shop
RC_GC_SHOP_ITEM_1,
@@ -347,6 +460,10 @@ std::vector Rando::StaticData::overworldLocations = {
RC_DMC_DEKU_SCRUB_GROTTO_LEFT,
RC_DMC_DEKU_SCRUB_GROTTO_RIGHT,
RC_DMC_DEKU_SCRUB_GROTTO_CENTER,
+ RC_DMC_NEAR_GC_POT_1,
+ RC_DMC_NEAR_GC_POT_2,
+ RC_DMC_NEAR_GC_POT_3,
+ RC_DMC_NEAR_GC_POT_4,
// Zoras River
RC_ZR_OPEN_GROTTO_CHEST,
@@ -368,6 +485,11 @@ std::vector Rando::StaticData::overworldLocations = {
RC_ZD_DIVING_MINIGAME,
RC_ZD_KING_ZORA_THAWED,
RC_ZD_TRADE_PRESCRIPTION,
+ RC_ZD_NEAR_SHOP_POT_1,
+ RC_ZD_NEAR_SHOP_POT_2,
+ RC_ZD_NEAR_SHOP_POT_3,
+ RC_ZD_NEAR_SHOP_POT_4,
+ RC_ZD_NEAR_SHOP_POT_5,
// Zora's Domain Shop
RC_ZD_SHOP_ITEM_1,
@@ -383,6 +505,13 @@ std::vector Rando::StaticData::overworldLocations = {
RC_ZF_ICEBERC_FREESTANDING_POH,
RC_ZF_BOTTOM_FREESTANDING_POH,
RC_ZF_GREAT_FAIRY_REWARD,
+ RC_ZF_HIDDEN_CAVE_POT_1,
+ RC_ZF_HIDDEN_CAVE_POT_2,
+ RC_ZF_HIDDEN_CAVE_POT_3,
+ RC_ZF_NEAR_JABU_POT_1,
+ RC_ZF_NEAR_JABU_POT_2,
+ RC_ZF_NEAR_JABU_POT_3,
+ RC_ZF_NEAR_JABU_POT_4,
// Lon Lon Ranch
RC_SONG_FROM_MALON,
@@ -395,6 +524,16 @@ std::vector Rando::StaticData::overworldLocations = {
RC_LLR_STABLES_RIGHT_COW,
RC_LLR_TOWER_LEFT_COW,
RC_LLR_TOWER_RIGHT_COW,
+ RC_LLR_FRONT_POT_1,
+ RC_LLR_FRONT_POT_2,
+ RC_LLR_FRONT_POT_3,
+ RC_LLR_FRONT_POT_4,
+ RC_LLR_RAIN_SHED_POT_1,
+ RC_LLR_RAIN_SHED_POT_2,
+ RC_LLR_RAIN_SHED_POT_3,
+ RC_LLR_TALONS_HOUSE_POT_1,
+ RC_LLR_TALONS_HOUSE_POT_2,
+ RC_LLR_TALONS_HOUSE_POT_3,
/*-------------------------------
--- GOLD SKULLTULA TOKENS ---
@@ -1378,6 +1517,552 @@ 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", RHT_GV_COW, RG_MILK, { Category::cCow }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_COWS_MILKED_GV_COW), 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", RHT_JABU_JABUS_BELLY_MQ_COW, RG_MILK, { Category::cCow }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_COWS_MILKED_JABU_JABUS_BELLY_MQ_COW), SpoilerCollectionCheckGroup::GROUP_DUNGEON_JABUJABUS_BELLY);
+ // Overworld Pots
+ // 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_POT_KOKIRI_FOREST, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_KF_LINKS_HOUSE_POT), 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_POT_KOKIRI_FOREST, RG_GREEN_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_KF_TWINS_HOUSE_POT_1), 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_POT_KOKIRI_FOREST, RG_BLUE_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_KF_TWINS_HOUSE_POT_2), SpoilerCollectionCheckGroup::GROUP_KOKIRI_FOREST);
+ locationTable[RC_KF_BROTHERS_HOUSE_POT_1] = Location::Base(RC_KF_BROTHERS_HOUSE_POT_1, RCQUEST_BOTH, RCTYPE_POT, RCAREA_KOKIRI_FOREST, ACTOR_OBJ_TSUBO, SCENE_KNOW_IT_ALL_BROS_HOUSE, TWO_ACTOR_PARAMS(-134, -29), 0x4100, "Brothers House Pot 1", "KF Brothers House Pot 1", RHT_POT_KOKIRI_FOREST, RG_GREEN_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_KF_BROTHERS_HOUSE_POT_1), SpoilerCollectionCheckGroup::GROUP_KOKIRI_FOREST);
+ locationTable[RC_KF_BROTHERS_HOUSE_POT_2] = Location::Base(RC_KF_BROTHERS_HOUSE_POT_2, RCQUEST_BOTH, RCTYPE_POT, RCAREA_KOKIRI_FOREST, ACTOR_OBJ_TSUBO, SCENE_KNOW_IT_ALL_BROS_HOUSE, TWO_ACTOR_PARAMS(-68, 114), 0x4300, "Brothers House Pot 2", "KF Brothers House Pot 2", RHT_POT_KOKIRI_FOREST, RG_GREEN_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_KF_BROTHERS_HOUSE_POT_2), SpoilerCollectionCheckGroup::GROUP_KOKIRI_FOREST);
+ locationTable[RC_GF_BREAK_ROOM_POT_1] = Location::Base(RC_GF_BREAK_ROOM_POT_1, RCQUEST_BOTH, RCTYPE_POT, RCAREA_GERUDO_FORTRESS, ACTOR_OBJ_TSUBO, SCENE_THIEVES_HIDEOUT, TWO_ACTOR_PARAMS(1438, -3629), 0x5409, "Break Room Pot 1", "GF Break Room Pot 1", RHT_POT_GERUDO_FORTRESS, RG_ARROWS_10, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_GF_BREAK_ROOM_POT_1), SpoilerCollectionCheckGroup::GROUP_GERUDO_VALLEY);
+ locationTable[RC_GF_BREAK_ROOM_POT_2] = Location::Base(RC_GF_BREAK_ROOM_POT_2, RCQUEST_BOTH, RCTYPE_POT, RCAREA_GERUDO_FORTRESS, ACTOR_OBJ_TSUBO, SCENE_THIEVES_HIDEOUT, TWO_ACTOR_PARAMS(1403, -3679), 0x560e, "Break Room Pot 2", "GF Break Room Pot 2", RHT_POT_GERUDO_FORTRESS, RG_BLUE_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_GF_BREAK_ROOM_POT_2), SpoilerCollectionCheckGroup::GROUP_GERUDO_VALLEY);
+ locationTable[RC_GF_KITCHEN_POT_1] = Location::Base(RC_GF_KITCHEN_POT_1, RCQUEST_BOTH, RCTYPE_POT, RCAREA_GERUDO_FORTRESS, ACTOR_OBJ_TSUBO, SCENE_THIEVES_HIDEOUT, TWO_ACTOR_PARAMS(1908, -789), 0x4609, "Kitchen Pot 1", "GF Kitchen Pot 1", RHT_POT_GERUDO_FORTRESS, RG_ARROWS_10, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_GF_KITCHEN_POT_1), SpoilerCollectionCheckGroup::GROUP_GERUDO_VALLEY);
+ locationTable[RC_GF_KITCHEN_POT_2] = Location::Base(RC_GF_KITCHEN_POT_2, RCQUEST_BOTH, RCTYPE_POT, RCAREA_GERUDO_FORTRESS, ACTOR_OBJ_TSUBO, SCENE_THIEVES_HIDEOUT, TWO_ACTOR_PARAMS(1951, -850), 0x4803, "Kitchen Pot 2", "GF Kitchen Pot 2", RHT_POT_GERUDO_FORTRESS, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_GF_KITCHEN_POT_2), SpoilerCollectionCheckGroup::GROUP_GERUDO_VALLEY);
+ locationTable[RC_GF_NORTH_F1_CARPENTER_POT_1] = Location::Base(RC_GF_NORTH_F1_CARPENTER_POT_1, RCQUEST_BOTH, RCTYPE_POT, RCAREA_GERUDO_FORTRESS, ACTOR_OBJ_TSUBO, SCENE_THIEVES_HIDEOUT, TWO_ACTOR_PARAMS(-475, -2622), 0x4003, "North F1 Carpenter Pot 1", "GF North F1 Carpenter Pot 1", RHT_POT_GERUDO_FORTRESS, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_GF_NORTH_F1_CARPENTER_POT_1), SpoilerCollectionCheckGroup::GROUP_GERUDO_VALLEY);
+ locationTable[RC_GF_NORTH_F1_CARPENTER_POT_2] = Location::Base(RC_GF_NORTH_F1_CARPENTER_POT_2, RCQUEST_BOTH, RCTYPE_POT, RCAREA_GERUDO_FORTRESS, ACTOR_OBJ_TSUBO, SCENE_THIEVES_HIDEOUT, TWO_ACTOR_PARAMS(-512, -2621), 0x4402, "North F1 Carpenter Pot 2", "GF North F1 Carpenter Pot 2", RHT_POT_GERUDO_FORTRESS, RG_RED_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_GF_NORTH_F1_CARPENTER_POT_2), SpoilerCollectionCheckGroup::GROUP_GERUDO_VALLEY);
+ locationTable[RC_GF_NORTH_F1_CARPENTER_POT_3] = Location::Base(RC_GF_NORTH_F1_CARPENTER_POT_3, RCQUEST_BOTH, RCTYPE_POT, RCAREA_GERUDO_FORTRESS, ACTOR_OBJ_TSUBO, SCENE_THIEVES_HIDEOUT, TWO_ACTOR_PARAMS(-511, -2582), 0x4209, "North F1 Carpenter Pot 3", "GF North F1 Carpenter Pot 3", RHT_POT_GERUDO_FORTRESS, RG_ARROWS_10, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_GF_NORTH_F1_CARPENTER_POT_3), SpoilerCollectionCheckGroup::GROUP_GERUDO_VALLEY);
+ locationTable[RC_GF_NORTH_F2_CARPENTER_POT_1] = Location::Base(RC_GF_NORTH_F2_CARPENTER_POT_1, RCQUEST_BOTH, RCTYPE_POT, RCAREA_GERUDO_FORTRESS, ACTOR_OBJ_TSUBO, SCENE_THIEVES_HIDEOUT, TWO_ACTOR_PARAMS(67, -1975), 0x4a01, "North F2 Carpenter Pot 1", "GF North F2 Carpenter Pot 1", RHT_POT_GERUDO_FORTRESS, RG_BLUE_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_GF_NORTH_F2_CARPENTER_POT_1), SpoilerCollectionCheckGroup::GROUP_GERUDO_VALLEY);
+ locationTable[RC_GF_NORTH_F2_CARPENTER_POT_2] = Location::Base(RC_GF_NORTH_F2_CARPENTER_POT_2, RCQUEST_BOTH, RCTYPE_POT, RCAREA_GERUDO_FORTRESS, ACTOR_OBJ_TSUBO, SCENE_THIEVES_HIDEOUT, TWO_ACTOR_PARAMS(39, -1943), 0x4c03, "North F2 Carpenter Pot 2", "GF North F2 Carpenter Pot 2", RHT_POT_GERUDO_FORTRESS, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_GF_NORTH_F2_CARPENTER_POT_2), SpoilerCollectionCheckGroup::GROUP_GERUDO_VALLEY);
+ locationTable[RC_GF_SOUTH_F1_CARPENTER_POT_1] = Location::Base(RC_GF_SOUTH_F1_CARPENTER_POT_1, RCQUEST_BOTH, RCTYPE_POT, RCAREA_GERUDO_FORTRESS, ACTOR_OBJ_TSUBO, SCENE_THIEVES_HIDEOUT, TWO_ACTOR_PARAMS(691, 48), 0x5001, "South F1 Carpenter Pot 1", "GF South F1 Carpenter Pot 1", RHT_POT_GERUDO_FORTRESS, RG_BLUE_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_GF_SOUTH_F1_CARPENTER_POT_1), SpoilerCollectionCheckGroup::GROUP_GERUDO_VALLEY);
+ locationTable[RC_GF_SOUTH_F1_CARPENTER_POT_2] = Location::Base(RC_GF_SOUTH_F1_CARPENTER_POT_2, RCQUEST_BOTH, RCTYPE_POT, RCAREA_GERUDO_FORTRESS, ACTOR_OBJ_TSUBO, SCENE_THIEVES_HIDEOUT, TWO_ACTOR_PARAMS(691, 16), 0x5202, "South F1 Carpenter Pot 2", "GF South F1 Carpenter Pot 2", RHT_POT_GERUDO_FORTRESS, RG_RED_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_GF_SOUTH_F1_CARPENTER_POT_2), SpoilerCollectionCheckGroup::GROUP_GERUDO_VALLEY);
+ locationTable[RC_GF_SOUTH_F1_CARPENTER_POT_3] = Location::Base(RC_GF_SOUTH_F1_CARPENTER_POT_3, RCQUEST_BOTH, RCTYPE_POT, RCAREA_GERUDO_FORTRESS, ACTOR_OBJ_TSUBO, SCENE_THIEVES_HIDEOUT, TWO_ACTOR_PARAMS(661, 16), 0x4e03, "South F1 Carpenter Pot 3", "GF South F1 Carpenter Pot 3", RHT_POT_GERUDO_FORTRESS, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_GF_SOUTH_F1_CARPENTER_POT_3), SpoilerCollectionCheckGroup::GROUP_GERUDO_VALLEY);
+ locationTable[RC_GF_SOUTH_F1_CARPENTER_CELL_POT_1] = Location::Base(RC_GF_SOUTH_F1_CARPENTER_CELL_POT_1, RCQUEST_BOTH, RCTYPE_POT, RCAREA_GERUDO_FORTRESS, ACTOR_OBJ_TSUBO, SCENE_THIEVES_HIDEOUT, TWO_ACTOR_PARAMS(26, 524), 0x5c03, "South F1 Carpenter Cell Pot 1", "GF South F1 Carpenter Cell Pot 1", RHT_POT_GERUDO_FORTRESS, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_GF_SOUTH_F1_CARPENTER_CELL_POT_1), SpoilerCollectionCheckGroup::GROUP_GERUDO_VALLEY);
+ locationTable[RC_GF_SOUTH_F1_CARPENTER_CELL_POT_2] = Location::Base(RC_GF_SOUTH_F1_CARPENTER_CELL_POT_2, RCQUEST_BOTH, RCTYPE_POT, RCAREA_GERUDO_FORTRESS, ACTOR_OBJ_TSUBO, SCENE_THIEVES_HIDEOUT, TWO_ACTOR_PARAMS(61, 549), 0x5e03, "South F1 Carpenter Cell Pot 2", "GF South F1 Carpenter Cell Pot 2", RHT_POT_GERUDO_FORTRESS, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_GF_SOUTH_F1_CARPENTER_CELL_POT_2), SpoilerCollectionCheckGroup::GROUP_GERUDO_VALLEY);
+ locationTable[RC_GF_SOUTH_F1_CARPENTER_CELL_POT_3] = Location::Base(RC_GF_SOUTH_F1_CARPENTER_CELL_POT_3, RCQUEST_BOTH, RCTYPE_POT, RCAREA_GERUDO_FORTRESS, ACTOR_OBJ_TSUBO, SCENE_THIEVES_HIDEOUT, TWO_ACTOR_PARAMS(215, 549), 0x5a03, "South F1 Carpenter Cell Pot 3", "GF South F1 Carpenter Cell Pot 3", RHT_POT_GERUDO_FORTRESS, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_GF_SOUTH_F1_CARPENTER_CELL_POT_3), SpoilerCollectionCheckGroup::GROUP_GERUDO_VALLEY);
+ locationTable[RC_GF_SOUTH_F1_CARPENTER_CELL_POT_4] = Location::Base(RC_GF_SOUTH_F1_CARPENTER_CELL_POT_4, RCQUEST_BOTH, RCTYPE_POT, RCAREA_GERUDO_FORTRESS, ACTOR_OBJ_TSUBO, SCENE_THIEVES_HIDEOUT, TWO_ACTOR_PARAMS(254, 529), 0x5803, "South F1 Carpenter Cell Pot 4", "GF South F1 Carpenter Cell Pot 4", RHT_POT_GERUDO_FORTRESS, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_GF_SOUTH_F1_CARPENTER_CELL_POT_4), SpoilerCollectionCheckGroup::GROUP_GERUDO_VALLEY);
+ locationTable[RC_WASTELAND_NEAR_GS_POT_1] = Location::Base(RC_WASTELAND_NEAR_GS_POT_1, RCQUEST_BOTH, RCTYPE_POT, RCAREA_WASTELAND, ACTOR_OBJ_TSUBO, SCENE_HAUNTED_WASTELAND, TWO_ACTOR_PARAMS(488, -2424), 0x470f, "Near GS Pot 1", "Wasteland Near GS Pot 1", RHT_POT_GERUDO_FORTRESS, RG_BLUE_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_WASTELAND_NEAR_GS_POT_1), SpoilerCollectionCheckGroup::GROUP_GERUDO_VALLEY);
+ locationTable[RC_WASTELAND_NEAR_GS_POT_2] = Location::Base(RC_WASTELAND_NEAR_GS_POT_2, RCQUEST_BOTH, RCTYPE_POT, RCAREA_WASTELAND, ACTOR_OBJ_TSUBO, SCENE_HAUNTED_WASTELAND, TWO_ACTOR_PARAMS(485, -2463), 0x4512, "Near GS Pot 2", "Wasteland Near GS Pot 2", RHT_POT_GERUDO_FORTRESS, RG_GREEN_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_WASTELAND_NEAR_GS_POT_2), SpoilerCollectionCheckGroup::GROUP_GERUDO_VALLEY);
+ locationTable[RC_WASTELAND_NEAR_GS_POT_3] = Location::Base(RC_WASTELAND_NEAR_GS_POT_3, RCQUEST_BOTH, RCTYPE_POT, RCAREA_WASTELAND, ACTOR_OBJ_TSUBO, SCENE_HAUNTED_WASTELAND, TWO_ACTOR_PARAMS(806, -2426), 0x430c, "Near GS Pot 3", "Wasteland Near GS Pot 3", RHT_POT_GERUDO_FORTRESS, RG_DEKU_NUTS_5, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_WASTELAND_NEAR_GS_POT_3), SpoilerCollectionCheckGroup::GROUP_GERUDO_VALLEY);
+ locationTable[RC_WASTELAND_NEAR_GS_POT_4] = Location::Base(RC_WASTELAND_NEAR_GS_POT_4, RCQUEST_BOTH, RCTYPE_POT, RCAREA_WASTELAND, ACTOR_OBJ_TSUBO, SCENE_HAUNTED_WASTELAND, TWO_ACTOR_PARAMS(801, -2460), 0x4103, "Near GS Pot 4", "Wasteland Near GS Pot 4", RHT_POT_GERUDO_FORTRESS, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_WASTELAND_NEAR_GS_POT_4), SpoilerCollectionCheckGroup::GROUP_GERUDO_VALLEY);
+ locationTable[RC_MK_GUARD_HOUSE_CHILD_POT_1] = Location::Base(RC_MK_GUARD_HOUSE_CHILD_POT_1, RCQUEST_BOTH, RCTYPE_POT, RCAREA_MARKET, ACTOR_OBJ_TSUBO, SCENE_MARKET_GUARD_HOUSE, TWO_ACTOR_PARAMS(-60, 27), 0x4100, "Guard House Child Pot 1", "MK Guard House Child Pot 1", RHT_POT_MARKET, RG_GREEN_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_MK_GUARD_HOUSE_CHILD_POT_1), SpoilerCollectionCheckGroup::GROUP_HYRULE_CASTLE);
+ locationTable[RC_MK_GUARD_HOUSE_CHILD_POT_2] = Location::Base(RC_MK_GUARD_HOUSE_CHILD_POT_2, RCQUEST_BOTH, RCTYPE_POT, RCAREA_MARKET, ACTOR_OBJ_TSUBO, SCENE_MARKET_GUARD_HOUSE, TWO_ACTOR_PARAMS(-89, 28), 0x5700, "Guard House Child Pot 2", "MK Guard House Child Pot 2", RHT_POT_MARKET, RG_GREEN_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_MK_GUARD_HOUSE_CHILD_POT_2), SpoilerCollectionCheckGroup::GROUP_HYRULE_CASTLE);
+ locationTable[RC_MK_GUARD_HOUSE_CHILD_POT_3] = Location::Base(RC_MK_GUARD_HOUSE_CHILD_POT_3, RCQUEST_BOTH, RCTYPE_POT, RCAREA_MARKET, ACTOR_OBJ_TSUBO, SCENE_MARKET_GUARD_HOUSE, TWO_ACTOR_PARAMS(-110, 6), 0x4700, "Guard House Child Pot 3", "MK Guard House Child Pot 3", RHT_POT_MARKET, RG_GREEN_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_MK_GUARD_HOUSE_CHILD_POT_3), SpoilerCollectionCheckGroup::GROUP_HYRULE_CASTLE);
+ locationTable[RC_MK_GUARD_HOUSE_CHILD_POT_4] = Location::Base(RC_MK_GUARD_HOUSE_CHILD_POT_4, RCQUEST_BOTH, RCTYPE_POT, RCAREA_MARKET, ACTOR_OBJ_TSUBO, SCENE_MARKET_GUARD_HOUSE, TWO_ACTOR_PARAMS(-58, -7), 0x4b00, "Guard House Child Pot 4", "MK Guard House Child Pot 4", RHT_POT_MARKET, RG_GREEN_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_MK_GUARD_HOUSE_CHILD_POT_4), SpoilerCollectionCheckGroup::GROUP_HYRULE_CASTLE);
+ locationTable[RC_MK_GUARD_HOUSE_CHILD_POT_5] = Location::Base(RC_MK_GUARD_HOUSE_CHILD_POT_5, RCQUEST_BOTH, RCTYPE_POT, RCAREA_MARKET, ACTOR_OBJ_TSUBO, SCENE_MARKET_GUARD_HOUSE, TWO_ACTOR_PARAMS(-80, -7), 0x7700, "Guard House Child Pot 5", "MK Guard House Child Pot 5", RHT_POT_MARKET, RG_GREEN_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_MK_GUARD_HOUSE_CHILD_POT_5), SpoilerCollectionCheckGroup::GROUP_HYRULE_CASTLE);
+ locationTable[RC_MK_GUARD_HOUSE_CHILD_POT_6] = Location::Base(RC_MK_GUARD_HOUSE_CHILD_POT_6, RCQUEST_BOTH, RCTYPE_POT, RCAREA_MARKET, ACTOR_OBJ_TSUBO, SCENE_MARKET_GUARD_HOUSE, TWO_ACTOR_PARAMS(-65, -45), 0x7700, "Guard House Child Pot 6", "MK Guard House Child Pot 6", RHT_POT_MARKET, RG_GREEN_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_MK_GUARD_HOUSE_CHILD_POT_6), SpoilerCollectionCheckGroup::GROUP_HYRULE_CASTLE);
+ locationTable[RC_MK_GUARD_HOUSE_CHILD_POT_7] = Location::Base(RC_MK_GUARD_HOUSE_CHILD_POT_7, RCQUEST_BOTH, RCTYPE_POT, RCAREA_MARKET, ACTOR_OBJ_TSUBO, SCENE_MARKET_GUARD_HOUSE, TWO_ACTOR_PARAMS(-85, -41), 0x5d00, "Guard House Child Pot 7", "MK Guard House Child Pot 7", RHT_POT_MARKET, RG_GREEN_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_MK_GUARD_HOUSE_CHILD_POT_7), SpoilerCollectionCheckGroup::GROUP_HYRULE_CASTLE);
+ locationTable[RC_MK_GUARD_HOUSE_CHILD_POT_8] = Location::Base(RC_MK_GUARD_HOUSE_CHILD_POT_8, RCQUEST_BOTH, RCTYPE_POT, RCAREA_MARKET, ACTOR_OBJ_TSUBO, SCENE_MARKET_GUARD_HOUSE, TWO_ACTOR_PARAMS(-107, -45), 0x4300, "Guard House Child Pot 8", "MK Guard House Child Pot 8", RHT_POT_MARKET, RG_GREEN_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_MK_GUARD_HOUSE_CHILD_POT_8), SpoilerCollectionCheckGroup::GROUP_HYRULE_CASTLE);
+ locationTable[RC_MK_GUARD_HOUSE_CHILD_POT_9] = Location::Base(RC_MK_GUARD_HOUSE_CHILD_POT_9, RCQUEST_BOTH, RCTYPE_POT, RCAREA_MARKET, ACTOR_OBJ_TSUBO, SCENE_MARKET_GUARD_HOUSE, TWO_ACTOR_PARAMS(-66, -79), 0x5b00, "Guard House Child Pot 9", "MK Guard House Child Pot 9", RHT_POT_MARKET, RG_GREEN_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_MK_GUARD_HOUSE_CHILD_POT_9), SpoilerCollectionCheckGroup::GROUP_HYRULE_CASTLE);
+ locationTable[RC_MK_GUARD_HOUSE_CHILD_POT_10] = Location::Base(RC_MK_GUARD_HOUSE_CHILD_POT_10, RCQUEST_BOTH, RCTYPE_POT, RCAREA_MARKET, ACTOR_OBJ_TSUBO, SCENE_MARKET_GUARD_HOUSE, TWO_ACTOR_PARAMS(-88, -84), 0x4500, "Guard House Child Pot 10", "MK Guard House Child Pot 10", RHT_POT_MARKET, RG_GREEN_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_MK_GUARD_HOUSE_CHILD_POT_10), SpoilerCollectionCheckGroup::GROUP_HYRULE_CASTLE);
+ locationTable[RC_MK_GUARD_HOUSE_CHILD_POT_11] = Location::Base(RC_MK_GUARD_HOUSE_CHILD_POT_11, RCQUEST_BOTH, RCTYPE_POT, RCAREA_MARKET, ACTOR_OBJ_TSUBO, SCENE_MARKET_GUARD_HOUSE, TWO_ACTOR_PARAMS(70, 215), 0x5701, "Guard House Child Pot 11", "MK Guard House Child Pot 11", RHT_POT_MARKET, RG_BLUE_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_MK_GUARD_HOUSE_CHILD_POT_11), SpoilerCollectionCheckGroup::GROUP_HYRULE_CASTLE);
+ locationTable[RC_MK_GUARD_HOUSE_CHILD_POT_12] = Location::Base(RC_MK_GUARD_HOUSE_CHILD_POT_12, RCQUEST_BOTH, RCTYPE_POT, RCAREA_MARKET, ACTOR_OBJ_TSUBO, SCENE_MARKET_GUARD_HOUSE, TWO_ACTOR_PARAMS(68, 148), 0x6303, "Guard House Child Pot 12", "MK Guard House Child Pot 12", RHT_POT_MARKET, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_MK_GUARD_HOUSE_CHILD_POT_12), SpoilerCollectionCheckGroup::GROUP_HYRULE_CASTLE);
+ locationTable[RC_MK_GUARD_HOUSE_CHILD_POT_13] = Location::Base(RC_MK_GUARD_HOUSE_CHILD_POT_13, RCQUEST_BOTH, RCTYPE_POT, RCAREA_MARKET, ACTOR_OBJ_TSUBO, SCENE_MARKET_GUARD_HOUSE, TWO_ACTOR_PARAMS(73, 117), 0x6900, "Guard House Child Pot 13", "MK Guard House Child Pot 13", RHT_POT_MARKET, RG_GREEN_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_MK_GUARD_HOUSE_CHILD_POT_13), SpoilerCollectionCheckGroup::GROUP_HYRULE_CASTLE);
+ locationTable[RC_MK_GUARD_HOUSE_CHILD_POT_14] = Location::Base(RC_MK_GUARD_HOUSE_CHILD_POT_14, RCQUEST_BOTH, RCTYPE_POT, RCAREA_MARKET, ACTOR_OBJ_TSUBO, SCENE_MARKET_GUARD_HOUSE, TWO_ACTOR_PARAMS(40, 123), 0x6100, "Guard House Child Pot 14", "MK Guard House Child Pot 14", RHT_POT_MARKET, RG_GREEN_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_MK_GUARD_HOUSE_CHILD_POT_14), SpoilerCollectionCheckGroup::GROUP_HYRULE_CASTLE);
+ locationTable[RC_MK_GUARD_HOUSE_CHILD_POT_15] = Location::Base(RC_MK_GUARD_HOUSE_CHILD_POT_15, RCQUEST_BOTH, RCTYPE_POT, RCAREA_MARKET, ACTOR_OBJ_TSUBO, SCENE_MARKET_GUARD_HOUSE, TWO_ACTOR_PARAMS(43, 89), 0x6700, "Guard House Child Pot 15", "MK Guard House Child Pot 15", RHT_POT_MARKET, RG_GREEN_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_MK_GUARD_HOUSE_CHILD_POT_15), SpoilerCollectionCheckGroup::GROUP_HYRULE_CASTLE);
+ locationTable[RC_MK_GUARD_HOUSE_CHILD_POT_16] = Location::Base(RC_MK_GUARD_HOUSE_CHILD_POT_16, RCQUEST_BOTH, RCTYPE_POT, RCAREA_MARKET, ACTOR_OBJ_TSUBO, SCENE_MARKET_GUARD_HOUSE, TWO_ACTOR_PARAMS(68, 81), 0x4300, "Guard House Child Pot 16", "MK Guard House Child Pot 16", RHT_POT_MARKET, RG_GREEN_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_MK_GUARD_HOUSE_CHILD_POT_16), SpoilerCollectionCheckGroup::GROUP_HYRULE_CASTLE);
+ locationTable[RC_MK_GUARD_HOUSE_CHILD_POT_17] = Location::Base(RC_MK_GUARD_HOUSE_CHILD_POT_17, RCQUEST_BOTH, RCTYPE_POT, RCAREA_MARKET, ACTOR_OBJ_TSUBO, SCENE_MARKET_GUARD_HOUSE, TWO_ACTOR_PARAMS(21, 73), 0x6500, "Guard House Child Pot 17", "MK Guard House Child Pot 17", RHT_POT_MARKET, RG_GREEN_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_MK_GUARD_HOUSE_CHILD_POT_17), SpoilerCollectionCheckGroup::GROUP_HYRULE_CASTLE);
+ locationTable[RC_MK_GUARD_HOUSE_CHILD_POT_18] = Location::Base(RC_MK_GUARD_HOUSE_CHILD_POT_18, RCQUEST_BOTH, RCTYPE_POT, RCAREA_MARKET, ACTOR_OBJ_TSUBO, SCENE_MARKET_GUARD_HOUSE, TWO_ACTOR_PARAMS(64, 45), 0x6500, "Guard House Child Pot 18", "MK Guard House Child Pot 18", RHT_POT_MARKET, RG_GREEN_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_MK_GUARD_HOUSE_CHILD_POT_18), SpoilerCollectionCheckGroup::GROUP_HYRULE_CASTLE);
+ locationTable[RC_MK_GUARD_HOUSE_CHILD_POT_19] = Location::Base(RC_MK_GUARD_HOUSE_CHILD_POT_19, RCQUEST_BOTH, RCTYPE_POT, RCAREA_MARKET, ACTOR_OBJ_TSUBO, SCENE_MARKET_GUARD_HOUSE, TWO_ACTOR_PARAMS(84, 31), 0x6f00, "Guard House Child Pot 19", "MK Guard House Child Pot 19", RHT_POT_MARKET, RG_GREEN_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_MK_GUARD_HOUSE_CHILD_POT_19), SpoilerCollectionCheckGroup::GROUP_HYRULE_CASTLE);
+ locationTable[RC_MK_GUARD_HOUSE_CHILD_POT_20] = Location::Base(RC_MK_GUARD_HOUSE_CHILD_POT_20, RCQUEST_BOTH, RCTYPE_POT, RCAREA_MARKET, ACTOR_OBJ_TSUBO, SCENE_MARKET_GUARD_HOUSE, TWO_ACTOR_PARAMS(42, 26), 0x6d00, "Guard House Child Pot 20", "MK Guard House Child Pot 20", RHT_POT_MARKET, RG_GREEN_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_MK_GUARD_HOUSE_CHILD_POT_20), SpoilerCollectionCheckGroup::GROUP_HYRULE_CASTLE);
+ locationTable[RC_MK_GUARD_HOUSE_CHILD_POT_21] = Location::Base(RC_MK_GUARD_HOUSE_CHILD_POT_21, RCQUEST_BOTH, RCTYPE_POT, RCAREA_MARKET, ACTOR_OBJ_TSUBO, SCENE_MARKET_GUARD_HOUSE, TWO_ACTOR_PARAMS(20, 34), 0x5100, "Guard House Child Pot 21", "MK Guard House Child Pot 21", RHT_POT_MARKET, RG_GREEN_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_MK_GUARD_HOUSE_CHILD_POT_21), SpoilerCollectionCheckGroup::GROUP_HYRULE_CASTLE);
+ locationTable[RC_MK_GUARD_HOUSE_CHILD_POT_22] = Location::Base(RC_MK_GUARD_HOUSE_CHILD_POT_22, RCQUEST_BOTH, RCTYPE_POT, RCAREA_MARKET, ACTOR_OBJ_TSUBO, SCENE_MARKET_GUARD_HOUSE, TWO_ACTOR_PARAMS(89, -2), 0x6b00, "Guard House Child Pot 22", "MK Guard House Child Pot 22", RHT_POT_MARKET, RG_GREEN_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_MK_GUARD_HOUSE_CHILD_POT_22), SpoilerCollectionCheckGroup::GROUP_HYRULE_CASTLE);
+ locationTable[RC_MK_GUARD_HOUSE_CHILD_POT_23] = Location::Base(RC_MK_GUARD_HOUSE_CHILD_POT_23, RCQUEST_BOTH, RCTYPE_POT, RCAREA_MARKET, ACTOR_OBJ_TSUBO, SCENE_MARKET_GUARD_HOUSE, TWO_ACTOR_PARAMS(70, -12), 0x6701, "Guard House Child Pot 23", "MK Guard House Child Pot 23", RHT_POT_MARKET, RG_BLUE_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_MK_GUARD_HOUSE_CHILD_POT_23), SpoilerCollectionCheckGroup::GROUP_HYRULE_CASTLE);
+ locationTable[RC_MK_GUARD_HOUSE_CHILD_POT_24] = Location::Base(RC_MK_GUARD_HOUSE_CHILD_POT_24, RCQUEST_BOTH, RCTYPE_POT, RCAREA_MARKET, ACTOR_OBJ_TSUBO, SCENE_MARKET_GUARD_HOUSE, TWO_ACTOR_PARAMS(42, -5), 0x4f00, "Guard House Child Pot 24", "MK Guard House Child Pot 24", RHT_POT_MARKET, RG_GREEN_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_MK_GUARD_HOUSE_CHILD_POT_24), SpoilerCollectionCheckGroup::GROUP_HYRULE_CASTLE);
+ locationTable[RC_MK_GUARD_HOUSE_CHILD_POT_25] = Location::Base(RC_MK_GUARD_HOUSE_CHILD_POT_25, RCQUEST_BOTH, RCTYPE_POT, RCAREA_MARKET, ACTOR_OBJ_TSUBO, SCENE_MARKET_GUARD_HOUSE, TWO_ACTOR_PARAMS(16, -6), 0x6100, "Guard House Child Pot 25", "MK Guard House Child Pot 25", RHT_POT_MARKET, RG_GREEN_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_MK_GUARD_HOUSE_CHILD_POT_25), SpoilerCollectionCheckGroup::GROUP_HYRULE_CASTLE);
+ locationTable[RC_MK_GUARD_HOUSE_CHILD_POT_26] = Location::Base(RC_MK_GUARD_HOUSE_CHILD_POT_26, RCQUEST_BOTH, RCTYPE_POT, RCAREA_MARKET, ACTOR_OBJ_TSUBO, SCENE_MARKET_GUARD_HOUSE, TWO_ACTOR_PARAMS(68, -44), 0x6300, "Guard House Child Pot 26", "MK Guard House Child Pot 26", RHT_POT_MARKET, RG_GREEN_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_MK_GUARD_HOUSE_CHILD_POT_26), SpoilerCollectionCheckGroup::GROUP_HYRULE_CASTLE);
+ locationTable[RC_MK_GUARD_HOUSE_CHILD_POT_27] = Location::Base(RC_MK_GUARD_HOUSE_CHILD_POT_27, RCQUEST_BOTH, RCTYPE_POT, RCAREA_MARKET, ACTOR_OBJ_TSUBO, SCENE_MARKET_GUARD_HOUSE, TWO_ACTOR_PARAMS(37, -40), 0x5101, "Guard House Child Pot 27", "MK Guard House Child Pot 27", RHT_POT_MARKET, RG_BLUE_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_MK_GUARD_HOUSE_CHILD_POT_27), SpoilerCollectionCheckGroup::GROUP_HYRULE_CASTLE);
+ locationTable[RC_MK_GUARD_HOUSE_CHILD_POT_28] = Location::Base(RC_MK_GUARD_HOUSE_CHILD_POT_28, RCQUEST_BOTH, RCTYPE_POT, RCAREA_MARKET, ACTOR_OBJ_TSUBO, SCENE_MARKET_GUARD_HOUSE, TWO_ACTOR_PARAMS(70, -80), 0x4100, "Guard House Child Pot 28", "MK Guard House Child Pot 28", RHT_POT_MARKET, RG_GREEN_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_MK_GUARD_HOUSE_CHILD_POT_28), SpoilerCollectionCheckGroup::GROUP_HYRULE_CASTLE);
+ locationTable[RC_MK_GUARD_HOUSE_CHILD_POT_29] = Location::Base(RC_MK_GUARD_HOUSE_CHILD_POT_29, RCQUEST_BOTH, RCTYPE_POT, RCAREA_MARKET, ACTOR_OBJ_TSUBO, SCENE_MARKET_GUARD_HOUSE, TWO_ACTOR_PARAMS(50, -74), 0x5900, "Guard House Child Pot 29", "MK Guard House Child Pot 29", RHT_POT_MARKET, RG_GREEN_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_MK_GUARD_HOUSE_CHILD_POT_29), SpoilerCollectionCheckGroup::GROUP_HYRULE_CASTLE);
+ locationTable[RC_MK_GUARD_HOUSE_CHILD_POT_30] = Location::Base(RC_MK_GUARD_HOUSE_CHILD_POT_30, RCQUEST_BOTH, RCTYPE_POT, RCAREA_MARKET, ACTOR_OBJ_TSUBO, SCENE_MARKET_GUARD_HOUSE, TWO_ACTOR_PARAMS(28, -79), 0x5300, "Guard House Child Pot 30", "MK Guard House Child Pot 30", RHT_POT_MARKET, RG_GREEN_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_MK_GUARD_HOUSE_CHILD_POT_30), SpoilerCollectionCheckGroup::GROUP_HYRULE_CASTLE);
+ locationTable[RC_MK_GUARD_HOUSE_CHILD_POT_31] = Location::Base(RC_MK_GUARD_HOUSE_CHILD_POT_31, RCQUEST_BOTH, RCTYPE_POT, RCAREA_MARKET, ACTOR_OBJ_TSUBO, SCENE_MARKET_GUARD_HOUSE, TWO_ACTOR_PARAMS(39, -111), 0x5300, "Guard House Child Pot 31", "MK Guard House Child Pot 31", RHT_POT_MARKET, RG_GREEN_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_MK_GUARD_HOUSE_CHILD_POT_31), SpoilerCollectionCheckGroup::GROUP_HYRULE_CASTLE);
+ locationTable[RC_MK_GUARD_HOUSE_CHILD_POT_32] = Location::Base(RC_MK_GUARD_HOUSE_CHILD_POT_32, RCQUEST_BOTH, RCTYPE_POT, RCAREA_MARKET, ACTOR_OBJ_TSUBO, SCENE_MARKET_GUARD_HOUSE, TWO_ACTOR_PARAMS(169, 216), 0x4700, "Guard House Child Pot 32", "MK Guard House Child Pot 32", RHT_POT_MARKET, RG_GREEN_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_MK_GUARD_HOUSE_CHILD_POT_32), SpoilerCollectionCheckGroup::GROUP_HYRULE_CASTLE);
+ locationTable[RC_MK_GUARD_HOUSE_CHILD_POT_33] = Location::Base(RC_MK_GUARD_HOUSE_CHILD_POT_33, RCQUEST_BOTH, RCTYPE_POT, RCAREA_MARKET, ACTOR_OBJ_TSUBO, SCENE_MARKET_GUARD_HOUSE, TWO_ACTOR_PARAMS(168, 166), 0x5d03, "Guard House Child Pot 33", "MK Guard House Child Pot 33", RHT_POT_MARKET, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_MK_GUARD_HOUSE_CHILD_POT_33), SpoilerCollectionCheckGroup::GROUP_HYRULE_CASTLE);
+ locationTable[RC_MK_GUARD_HOUSE_CHILD_POT_34] = Location::Base(RC_MK_GUARD_HOUSE_CHILD_POT_34, RCQUEST_BOTH, RCTYPE_POT, RCAREA_MARKET, ACTOR_OBJ_TSUBO, SCENE_MARKET_GUARD_HOUSE, TWO_ACTOR_PARAMS(170, 120), 0x4500, "Guard House Child Pot 34", "MK Guard House Child Pot 34", RHT_POT_MARKET, RG_GREEN_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_MK_GUARD_HOUSE_CHILD_POT_34), SpoilerCollectionCheckGroup::GROUP_HYRULE_CASTLE);
+ locationTable[RC_MK_GUARD_HOUSE_CHILD_POT_35] = Location::Base(RC_MK_GUARD_HOUSE_CHILD_POT_35, RCQUEST_BOTH, RCTYPE_POT, RCAREA_MARKET, ACTOR_OBJ_TSUBO, SCENE_MARKET_GUARD_HOUSE, TWO_ACTOR_PARAMS(177, 85), 0x6d1c, "Guard House Child Pot 35", "MK Guard House Child Pot 35", RHT_POT_MARKET, RG_GREEN_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_MK_GUARD_HOUSE_CHILD_POT_35), SpoilerCollectionCheckGroup::GROUP_HYRULE_CASTLE);
+ locationTable[RC_MK_GUARD_HOUSE_CHILD_POT_36] = Location::Base(RC_MK_GUARD_HOUSE_CHILD_POT_36, RCQUEST_BOTH, RCTYPE_POT, RCAREA_MARKET, ACTOR_OBJ_TSUBO, SCENE_MARKET_GUARD_HOUSE, TWO_ACTOR_PARAMS(155, 39), 0x4b00, "Guard House Child Pot 36", "MK Guard House Child Pot 36", RHT_POT_MARKET, RG_GREEN_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_MK_GUARD_HOUSE_CHILD_POT_36), SpoilerCollectionCheckGroup::GROUP_HYRULE_CASTLE);
+ locationTable[RC_MK_GUARD_HOUSE_CHILD_POT_37] = Location::Base(RC_MK_GUARD_HOUSE_CHILD_POT_37, RCQUEST_BOTH, RCTYPE_POT, RCAREA_MARKET, ACTOR_OBJ_TSUBO, SCENE_MARKET_GUARD_HOUSE, TWO_ACTOR_PARAMS(184, 13), 0x6f00, "Guard House Child Pot 37", "MK Guard House Child Pot 37", RHT_POT_MARKET, RG_GREEN_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_MK_GUARD_HOUSE_CHILD_POT_37), SpoilerCollectionCheckGroup::GROUP_HYRULE_CASTLE);
+ locationTable[RC_MK_GUARD_HOUSE_CHILD_POT_38] = Location::Base(RC_MK_GUARD_HOUSE_CHILD_POT_38, RCQUEST_BOTH, RCTYPE_POT, RCAREA_MARKET, ACTOR_OBJ_TSUBO, SCENE_MARKET_GUARD_HOUSE, TWO_ACTOR_PARAMS(156, -1), 0x5b01, "Guard House Child Pot 38", "MK Guard House Child Pot 38", RHT_POT_MARKET, RG_BLUE_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_MK_GUARD_HOUSE_CHILD_POT_38), SpoilerCollectionCheckGroup::GROUP_HYRULE_CASTLE);
+ locationTable[RC_MK_GUARD_HOUSE_CHILD_POT_39] = Location::Base(RC_MK_GUARD_HOUSE_CHILD_POT_39, RCQUEST_BOTH, RCTYPE_POT, RCAREA_MARKET, ACTOR_OBJ_TSUBO, SCENE_MARKET_GUARD_HOUSE, TWO_ACTOR_PARAMS(181, -33), 0x6d00, "Guard House Child Pot 39", "MK Guard House Child Pot 39", RHT_POT_MARKET, RG_GREEN_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_MK_GUARD_HOUSE_CHILD_POT_39), SpoilerCollectionCheckGroup::GROUP_HYRULE_CASTLE);
+ locationTable[RC_MK_GUARD_HOUSE_CHILD_POT_40] = Location::Base(RC_MK_GUARD_HOUSE_CHILD_POT_40, RCQUEST_BOTH, RCTYPE_POT, RCAREA_MARKET, ACTOR_OBJ_TSUBO, SCENE_MARKET_GUARD_HOUSE, TWO_ACTOR_PARAMS(156, -45), 0x4900, "Guard House Child Pot 40", "MK Guard House Child Pot 40", RHT_POT_MARKET, RG_GREEN_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_MK_GUARD_HOUSE_CHILD_POT_40), SpoilerCollectionCheckGroup::GROUP_HYRULE_CASTLE);
+ locationTable[RC_MK_GUARD_HOUSE_CHILD_POT_41] = Location::Base(RC_MK_GUARD_HOUSE_CHILD_POT_41, RCQUEST_BOTH, RCTYPE_POT, RCAREA_MARKET, ACTOR_OBJ_TSUBO, SCENE_MARKET_GUARD_HOUSE, TWO_ACTOR_PARAMS(172, -82), 0x6900, "Guard House Child Pot 41", "MK Guard House Child Pot 41", RHT_POT_MARKET, RG_GREEN_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_MK_GUARD_HOUSE_CHILD_POT_41), SpoilerCollectionCheckGroup::GROUP_HYRULE_CASTLE);
+ locationTable[RC_MK_GUARD_HOUSE_CHILD_POT_42] = Location::Base(RC_MK_GUARD_HOUSE_CHILD_POT_42, RCQUEST_BOTH, RCTYPE_POT, RCAREA_MARKET, ACTOR_OBJ_TSUBO, SCENE_MARKET_GUARD_HOUSE, TWO_ACTOR_PARAMS(170, -120), 0x4f00, "Guard House Child Pot 42", "MK Guard House Child Pot 42", RHT_POT_MARKET, RG_GREEN_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_MK_GUARD_HOUSE_CHILD_POT_42), SpoilerCollectionCheckGroup::GROUP_HYRULE_CASTLE);
+ locationTable[RC_MK_GUARD_HOUSE_CHILD_POT_43] = Location::Base(RC_MK_GUARD_HOUSE_CHILD_POT_43, RCQUEST_BOTH, RCTYPE_POT, RCAREA_MARKET, ACTOR_OBJ_TSUBO, SCENE_MARKET_GUARD_HOUSE, TWO_ACTOR_PARAMS(170, -166), 0x5900, "Guard House Child Pot 43", "MK Guard House Child Pot 43", RHT_POT_MARKET, RG_GREEN_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_MK_GUARD_HOUSE_CHILD_POT_43), SpoilerCollectionCheckGroup::GROUP_HYRULE_CASTLE);
+ locationTable[RC_MK_GUARD_HOUSE_CHILD_POT_44] = Location::Base(RC_MK_GUARD_HOUSE_CHILD_POT_44, RCQUEST_BOTH, RCTYPE_POT, RCAREA_MARKET, ACTOR_OBJ_TSUBO, SCENE_MARKET_GUARD_HOUSE, TWO_ACTOR_PARAMS(170, -216), 0x4901, "Guard House Child Pot 44", "MK Guard House Child Pot 44", RHT_POT_MARKET, RG_BLUE_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_MK_GUARD_HOUSE_CHILD_POT_44), SpoilerCollectionCheckGroup::GROUP_HYRULE_CASTLE);
+ locationTable[RC_MK_GUARD_HOUSE_ADULT_POT_1] = Location::Base(RC_MK_GUARD_HOUSE_ADULT_POT_1, RCQUEST_BOTH, RCTYPE_POT, RCAREA_MARKET, ACTOR_OBJ_TSUBO, SCENE_MARKET_GUARD_HOUSE, TWO_ACTOR_PARAMS(61, 204), 0x4500, "Guard House Adult Pot 1", "MK Guard House Adult Pot 1", RHT_POT_MARKET, RG_GREEN_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_MK_GUARD_HOUSE_ADULT_POT_1), SpoilerCollectionCheckGroup::GROUP_HYRULE_CASTLE);
+ locationTable[RC_MK_GUARD_HOUSE_ADULT_POT_2] = Location::Base(RC_MK_GUARD_HOUSE_ADULT_POT_2, RCQUEST_BOTH, RCTYPE_POT, RCAREA_MARKET, ACTOR_OBJ_TSUBO, SCENE_MARKET_GUARD_HOUSE, TWO_ACTOR_PARAMS(71, 132), 0x433f, "Guard House Adult Pot 2", "MK Guard House Adult Pot 2", RHT_POT_MARKET, RG_GREEN_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_MK_GUARD_HOUSE_ADULT_POT_2), SpoilerCollectionCheckGroup::GROUP_HYRULE_CASTLE);
+ locationTable[RC_MK_GUARD_HOUSE_ADULT_POT_3] = Location::Base(RC_MK_GUARD_HOUSE_ADULT_POT_3, RCQUEST_BOTH, RCTYPE_POT, RCAREA_MARKET, ACTOR_OBJ_TSUBO, SCENE_MARKET_GUARD_HOUSE, TWO_ACTOR_PARAMS(74, 23), 0x4d00, "Guard House Adult Pot 3", "MK Guard House Adult Pot 3", RHT_POT_MARKET, RG_GREEN_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_MK_GUARD_HOUSE_ADULT_POT_3), SpoilerCollectionCheckGroup::GROUP_HYRULE_CASTLE);
+ locationTable[RC_MK_GUARD_HOUSE_ADULT_POT_4] = Location::Base(RC_MK_GUARD_HOUSE_ADULT_POT_4, RCQUEST_BOTH, RCTYPE_POT, RCAREA_MARKET, ACTOR_OBJ_TSUBO, SCENE_MARKET_GUARD_HOUSE, TWO_ACTOR_PARAMS(40, 4), 0x533f, "Guard House Adult Pot 4", "MK Guard House Adult Pot 4", RHT_POT_MARKET, RG_GREEN_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_MK_GUARD_HOUSE_ADULT_POT_4), SpoilerCollectionCheckGroup::GROUP_HYRULE_CASTLE);
+ locationTable[RC_MK_GUARD_HOUSE_ADULT_POT_5] = Location::Base(RC_MK_GUARD_HOUSE_ADULT_POT_5, RCQUEST_BOTH, RCTYPE_POT, RCAREA_MARKET, ACTOR_OBJ_TSUBO, SCENE_MARKET_GUARD_HOUSE, TWO_ACTOR_PARAMS(71, -22), 0x5500, "Guard House Adult Pot 5", "MK Guard House Adult Pot 5", RHT_POT_MARKET, RG_GREEN_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_MK_GUARD_HOUSE_ADULT_POT_5), SpoilerCollectionCheckGroup::GROUP_HYRULE_CASTLE);
+ locationTable[RC_MK_GUARD_HOUSE_ADULT_POT_6] = Location::Base(RC_MK_GUARD_HOUSE_ADULT_POT_6, RCQUEST_BOTH, RCTYPE_POT, RCAREA_MARKET, ACTOR_OBJ_TSUBO, SCENE_MARKET_GUARD_HOUSE, TWO_ACTOR_PARAMS(44, -151), 0x5103, "Guard House Adult Pot 6", "MK Guard House Adult Pot 6", RHT_POT_MARKET, RG_GREEN_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_MK_GUARD_HOUSE_ADULT_POT_6), SpoilerCollectionCheckGroup::GROUP_HYRULE_CASTLE);
+ locationTable[RC_MK_GUARD_HOUSE_ADULT_POT_7] = Location::Base(RC_MK_GUARD_HOUSE_ADULT_POT_7, RCQUEST_BOTH, RCTYPE_POT, RCAREA_MARKET, ACTOR_OBJ_TSUBO, SCENE_MARKET_GUARD_HOUSE, TWO_ACTOR_PARAMS(79, -182), 0x4100, "Guard House Adult Pot 7", "MK Guard House Adult Pot 7", RHT_POT_MARKET, RG_GREEN_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_MK_GUARD_HOUSE_ADULT_POT_7), SpoilerCollectionCheckGroup::GROUP_HYRULE_CASTLE);
+ locationTable[RC_MK_GUARD_HOUSE_ADULT_POT_8] = Location::Base(RC_MK_GUARD_HOUSE_ADULT_POT_8, RCQUEST_BOTH, RCTYPE_POT, RCAREA_MARKET, ACTOR_OBJ_TSUBO, SCENE_MARKET_GUARD_HOUSE, TWO_ACTOR_PARAMS(44, -198), 0x4f3f, "Guard House Adult Pot 8", "MK Guard House Adult Pot 8", RHT_POT_MARKET, RG_GREEN_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_MK_GUARD_HOUSE_ADULT_POT_8), SpoilerCollectionCheckGroup::GROUP_HYRULE_CASTLE);
+ locationTable[RC_MK_GUARD_HOUSE_ADULT_POT_9] = Location::Base(RC_MK_GUARD_HOUSE_ADULT_POT_9, RCQUEST_BOTH, RCTYPE_POT, RCAREA_MARKET, ACTOR_OBJ_TSUBO, SCENE_MARKET_GUARD_HOUSE, TWO_ACTOR_PARAMS(168, 210), 0x4b02, "Guard House Adult Pot 9", "MK Guard House Adult Pot 9", RHT_POT_MARKET, RG_RED_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_MK_GUARD_HOUSE_ADULT_POT_9), SpoilerCollectionCheckGroup::GROUP_HYRULE_CASTLE);
+ locationTable[RC_MK_GUARD_HOUSE_ADULT_POT_10] = Location::Base(RC_MK_GUARD_HOUSE_ADULT_POT_10, RCQUEST_BOTH, RCTYPE_POT, RCAREA_MARKET, ACTOR_OBJ_TSUBO, SCENE_MARKET_GUARD_HOUSE, TWO_ACTOR_PARAMS(167, -122), 0x493f, "Guard House Adult Pot 10", "MK Guard House Adult Pot 10", RHT_POT_MARKET, RG_GREEN_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_MK_GUARD_HOUSE_ADULT_POT_10), SpoilerCollectionCheckGroup::GROUP_HYRULE_CASTLE);
+ locationTable[RC_MK_GUARD_HOUSE_ADULT_POT_11] = Location::Base(RC_MK_GUARD_HOUSE_ADULT_POT_11, RCQUEST_BOTH, RCTYPE_POT, RCAREA_MARKET, ACTOR_OBJ_TSUBO, SCENE_MARKET_GUARD_HOUSE, TWO_ACTOR_PARAMS(167, -210), 0x4703, "Guard House Adult Pot 11", "MK Guard House Adult Pot 11", RHT_POT_MARKET, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_MK_GUARD_HOUSE_ADULT_POT_11), SpoilerCollectionCheckGroup::GROUP_HYRULE_CASTLE);
+ locationTable[RC_MK_BACK_ALLEY_HOUSE_POT_1] = Location::Base(RC_MK_BACK_ALLEY_HOUSE_POT_1, RCQUEST_BOTH, RCTYPE_POT, RCAREA_MARKET, ACTOR_OBJ_TSUBO, SCENE_BACK_ALLEY_HOUSE, TWO_ACTOR_PARAMS(100, 45), 0x4303, "Back Alley House Pot 1", "MK Back Alley House Pot 1", RHT_POT_MARKET, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_MK_BACK_ALLEY_HOUSE_POT_1), SpoilerCollectionCheckGroup::GROUP_HYRULE_CASTLE);
+ locationTable[RC_MK_BACK_ALLEY_HOUSE_POT_2] = Location::Base(RC_MK_BACK_ALLEY_HOUSE_POT_2, RCQUEST_BOTH, RCTYPE_POT, RCAREA_MARKET, ACTOR_OBJ_TSUBO, SCENE_BACK_ALLEY_HOUSE, TWO_ACTOR_PARAMS(12, -180), 0x470f, "Back Alley House Pot 2", "MK Back Alley House Pot 2", RHT_POT_MARKET, RG_GREEN_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_MK_BACK_ALLEY_HOUSE_POT_2), SpoilerCollectionCheckGroup::GROUP_HYRULE_CASTLE);
+ locationTable[RC_MK_BACK_ALLEY_HOUSE_POT_3] = Location::Base(RC_MK_BACK_ALLEY_HOUSE_POT_3, RCQUEST_BOTH, RCTYPE_POT, RCAREA_MARKET, ACTOR_OBJ_TSUBO, SCENE_BACK_ALLEY_HOUSE, TWO_ACTOR_PARAMS(-54, -180), 0x4503, "Back Alley House Pot 3", "MK Back Alley House Pot 3", RHT_POT_MARKET, RG_GREEN_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_MK_BACK_ALLEY_HOUSE_POT_3), SpoilerCollectionCheckGroup::GROUP_HYRULE_CASTLE);
+ locationTable[RC_KAK_NEAR_POTION_SHOP_POT_1] = Location::Base(RC_KAK_NEAR_POTION_SHOP_POT_1, RCQUEST_BOTH, RCTYPE_POT, RCAREA_KAKARIKO_VILLAGE, ACTOR_OBJ_TSUBO, SCENE_KAKARIKO_VILLAGE, TWO_ACTOR_PARAMS(222, -377), 0x4103, "Near Potion Shop Pot 1", "Kak Near Potion Shop Pot 1", RHT_POT_KAKARIKO, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_KAK_NEAR_POTION_SHOP_POT_1), SpoilerCollectionCheckGroup::GROUP_KAKARIKO);
+ locationTable[RC_KAK_NEAR_POTION_SHOP_POT_2] = Location::Base(RC_KAK_NEAR_POTION_SHOP_POT_2, RCQUEST_BOTH, RCTYPE_POT, RCAREA_KAKARIKO_VILLAGE, ACTOR_OBJ_TSUBO, SCENE_KAKARIKO_VILLAGE, TWO_ACTOR_PARAMS(255, -366), 0x4303, "Near Potion Shop Pot 2", "Kak Near Potion Shop Pot 2", RHT_POT_KAKARIKO, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_KAK_NEAR_POTION_SHOP_POT_2), SpoilerCollectionCheckGroup::GROUP_KAKARIKO);
+ locationTable[RC_KAK_NEAR_POTION_SHOP_POT_3] = Location::Base(RC_KAK_NEAR_POTION_SHOP_POT_3, RCQUEST_BOTH, RCTYPE_POT, RCAREA_KAKARIKO_VILLAGE, ACTOR_OBJ_TSUBO, SCENE_KAKARIKO_VILLAGE, TWO_ACTOR_PARAMS(284, -356), 0x4503, "Near Potion Shop Pot 3", "Kak Near Potion Shop Pot 3", RHT_POT_KAKARIKO, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_KAK_NEAR_POTION_SHOP_POT_3), SpoilerCollectionCheckGroup::GROUP_KAKARIKO);
+ locationTable[RC_KAK_NEAR_IMPAS_HOUSE_POT_1] = Location::Base(RC_KAK_NEAR_IMPAS_HOUSE_POT_1, RCQUEST_BOTH, RCTYPE_POT, RCAREA_KAKARIKO_VILLAGE, ACTOR_OBJ_TSUBO, SCENE_KAKARIKO_VILLAGE, TWO_ACTOR_PARAMS(-384, 1568), 0x4703, "Near Impas House Pot 1", "Kak Near Impas House Pot 1", RHT_POT_KAKARIKO, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_KAK_NEAR_IMPAS_HOUSE_POT_1), SpoilerCollectionCheckGroup::GROUP_KAKARIKO);
+ locationTable[RC_KAK_NEAR_IMPAS_HOUSE_POT_2] = Location::Base(RC_KAK_NEAR_IMPAS_HOUSE_POT_2, RCQUEST_BOTH, RCTYPE_POT, RCAREA_KAKARIKO_VILLAGE, ACTOR_OBJ_TSUBO, SCENE_KAKARIKO_VILLAGE, TWO_ACTOR_PARAMS(-384, 1539), 0x4903, "Near Impas House Pot 2", "Kak Near Impas House Pot 2", RHT_POT_KAKARIKO, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_KAK_NEAR_IMPAS_HOUSE_POT_2), SpoilerCollectionCheckGroup::GROUP_KAKARIKO);
+ locationTable[RC_KAK_NEAR_IMPAS_HOUSE_POT_3] = Location::Base(RC_KAK_NEAR_IMPAS_HOUSE_POT_3, RCQUEST_BOTH, RCTYPE_POT, RCAREA_KAKARIKO_VILLAGE, ACTOR_OBJ_TSUBO, SCENE_KAKARIKO_VILLAGE, TWO_ACTOR_PARAMS(-384, 1510), 0x4b03, "Near Impas House Pot 3", "Kak Near Impas House Pot 3", RHT_POT_KAKARIKO, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_KAK_NEAR_IMPAS_HOUSE_POT_3), SpoilerCollectionCheckGroup::GROUP_KAKARIKO);
+ locationTable[RC_KAK_NEAR_GUARDS_HOUSE_POT_1] = Location::Base(RC_KAK_NEAR_GUARDS_HOUSE_POT_1, RCQUEST_BOTH, RCTYPE_POT, RCAREA_KAKARIKO_VILLAGE, ACTOR_OBJ_TSUBO, SCENE_KAKARIKO_VILLAGE, TWO_ACTOR_PARAMS(-392, -870), 0x5103, "Near Guards House Pot 1", "Kak Near Guards House Pot 1", RHT_POT_KAKARIKO, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_KAK_NEAR_GUARDS_HOUSE_POT_1), SpoilerCollectionCheckGroup::GROUP_KAKARIKO);
+ locationTable[RC_KAK_NEAR_GUARDS_HOUSE_POT_2] = Location::Base(RC_KAK_NEAR_GUARDS_HOUSE_POT_2, RCQUEST_BOTH, RCTYPE_POT, RCAREA_KAKARIKO_VILLAGE, ACTOR_OBJ_TSUBO, SCENE_KAKARIKO_VILLAGE, TWO_ACTOR_PARAMS(-422, -883), 0x4f03, "Near Guards House Pot 2", "Kak Near Guards House Pot 2", RHT_POT_KAKARIKO, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_KAK_NEAR_GUARDS_HOUSE_POT_2), SpoilerCollectionCheckGroup::GROUP_KAKARIKO);
+ locationTable[RC_KAK_NEAR_GUARDS_HOUSE_POT_3] = Location::Base(RC_KAK_NEAR_GUARDS_HOUSE_POT_3, RCQUEST_BOTH, RCTYPE_POT, RCAREA_KAKARIKO_VILLAGE, ACTOR_OBJ_TSUBO, SCENE_KAKARIKO_VILLAGE, TWO_ACTOR_PARAMS(-450, -895), 0x4d03, "Near Guards House Pot 3", "Kak Near Guards House Pot 3", RHT_POT_KAKARIKO, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_KAK_NEAR_GUARDS_HOUSE_POT_3), SpoilerCollectionCheckGroup::GROUP_KAKARIKO);
+ locationTable[RC_KAK_NEAR_MEDICINE_SHOP_POT_1] = Location::Base(RC_KAK_NEAR_MEDICINE_SHOP_POT_1, RCQUEST_BOTH, RCTYPE_POT, RCAREA_KAKARIKO_VILLAGE, ACTOR_OBJ_TSUBO, SCENE_KAKARIKO_VILLAGE, TWO_ACTOR_PARAMS(781, 89), 0x5303, "Near Medicine Shop Pot 1", "Kak Near Medicine Shop Pot 1", RHT_POT_KAKARIKO, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_KAK_NEAR_MEDICINE_SHOP_POT_1), SpoilerCollectionCheckGroup::GROUP_KAKARIKO);
+ locationTable[RC_KAK_NEAR_MEDICINE_SHOP_POT_2] = Location::Base(RC_KAK_NEAR_MEDICINE_SHOP_POT_2, RCQUEST_BOTH, RCTYPE_POT, RCAREA_KAKARIKO_VILLAGE, ACTOR_OBJ_TSUBO, SCENE_KAKARIKO_VILLAGE, TWO_ACTOR_PARAMS(815, 89), 0x5503, "Near Medicine Shop Pot 2", "Kak Near Medicine Shop Pot 2", RHT_POT_KAKARIKO, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_KAK_NEAR_MEDICINE_SHOP_POT_2), SpoilerCollectionCheckGroup::GROUP_KAKARIKO);
+ locationTable[RC_GY_DAMPES_GRAVE_POT_1] = Location::Base(RC_GY_DAMPES_GRAVE_POT_1, RCQUEST_BOTH, RCTYPE_POT, RCAREA_GRAVEYARD, ACTOR_OBJ_TSUBO, SCENE_WINDMILL_AND_DAMPES_GRAVE, TWO_ACTOR_PARAMS(-319, -1542), 0x4a08, "Dampes Grave Pot 1", "GY Dampes Grave Pot 1", RHT_POT_GRAVEYARD, RG_ARROWS_5, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_GY_DAMPES_GRAVE_POT_1), SpoilerCollectionCheckGroup::GROUP_KAKARIKO);
+ locationTable[RC_GY_DAMPES_GRAVE_POT_2] = Location::Base(RC_GY_DAMPES_GRAVE_POT_2, RCQUEST_BOTH, RCTYPE_POT, RCAREA_GRAVEYARD, ACTOR_OBJ_TSUBO, SCENE_WINDMILL_AND_DAMPES_GRAVE, TWO_ACTOR_PARAMS(-319, -1600), 0x4804, "Dampes Grave Pot 2", "GY Dampes Grave Pot 2", RHT_POT_GRAVEYARD, RG_BOMBS_5, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_GY_DAMPES_GRAVE_POT_2), SpoilerCollectionCheckGroup::GROUP_KAKARIKO);
+ locationTable[RC_GY_DAMPES_GRAVE_POT_3] = Location::Base(RC_GY_DAMPES_GRAVE_POT_3, RCQUEST_BOTH, RCTYPE_POT, RCAREA_GRAVEYARD, ACTOR_OBJ_TSUBO, SCENE_WINDMILL_AND_DAMPES_GRAVE, TWO_ACTOR_PARAMS(-364, -1571), 0x4e02, "Dampes Grave Pot 3", "GY Dampes Grave Pot 3", RHT_POT_GRAVEYARD, RG_RED_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_GY_DAMPES_GRAVE_POT_3), SpoilerCollectionCheckGroup::GROUP_KAKARIKO);
+ locationTable[RC_GY_DAMPES_GRAVE_POT_4] = Location::Base(RC_GY_DAMPES_GRAVE_POT_4, RCQUEST_BOTH, RCTYPE_POT, RCAREA_GRAVEYARD, ACTOR_OBJ_TSUBO, SCENE_WINDMILL_AND_DAMPES_GRAVE, TWO_ACTOR_PARAMS(198, -1540), 0x4c0f, "Dampes Grave Pot 4", "GY Dampes Grave Pot 4", RHT_POT_GRAVEYARD, RG_BLUE_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_GY_DAMPES_GRAVE_POT_4), SpoilerCollectionCheckGroup::GROUP_KAKARIKO);
+ locationTable[RC_GY_DAMPES_GRAVE_POT_5] = Location::Base(RC_GY_DAMPES_GRAVE_POT_5, RCQUEST_BOTH, RCTYPE_POT, RCAREA_GRAVEYARD, ACTOR_OBJ_TSUBO, SCENE_WINDMILL_AND_DAMPES_GRAVE, TWO_ACTOR_PARAMS(198, -1608), 0x4403, "Dampes Grave Pot 5", "GY Dampes Grave Pot 5", RHT_POT_GRAVEYARD, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_GY_DAMPES_GRAVE_POT_5), SpoilerCollectionCheckGroup::GROUP_KAKARIKO);
+ locationTable[RC_GY_DAMPES_GRAVE_POT_6] = Location::Base(RC_GY_DAMPES_GRAVE_POT_6, RCQUEST_BOTH, RCTYPE_POT, RCAREA_GRAVEYARD, ACTOR_OBJ_TSUBO, SCENE_WINDMILL_AND_DAMPES_GRAVE, TWO_ACTOR_PARAMS(239, -1577), 0x460c, "Dampes Grave Pot 6", "GY Dampes Grave Pot 6", RHT_POT_GRAVEYARD, RG_DEKU_NUTS_5, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_GY_DAMPES_GRAVE_POT_6), SpoilerCollectionCheckGroup::GROUP_KAKARIKO);
+ locationTable[RC_GC_LOWER_STAIRCASE_POT_1] = Location::Base(RC_GC_LOWER_STAIRCASE_POT_1, RCQUEST_BOTH, RCTYPE_POT, RCAREA_GORON_CITY, ACTOR_OBJ_TSUBO, SCENE_GORON_CITY, TWO_ACTOR_PARAMS(-189, 866), 0x690d, "Lower Staircase Pot 1", "GC Lower Staircase Pot 1", RHT_POT_GORON_CITY, RG_DEKU_STICK_1, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_GC_LOWER_STAIRCASE_POT_1), SpoilerCollectionCheckGroup::GROUP_GORON_CITY);
+ locationTable[RC_GC_LOWER_STAIRCASE_POT_2] = Location::Base(RC_GC_LOWER_STAIRCASE_POT_2, RCQUEST_BOTH, RCTYPE_POT, RCAREA_GORON_CITY, ACTOR_OBJ_TSUBO, SCENE_GORON_CITY, TWO_ACTOR_PARAMS(-271, 825), 0x7903, "Lower Staircase Pot 2", "GC Lower Staircase Pot 2", RHT_POT_GORON_CITY, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_GC_LOWER_STAIRCASE_POT_2), SpoilerCollectionCheckGroup::GROUP_GORON_CITY);
+ locationTable[RC_GC_UPPER_STAIRCASE_POT_1] = Location::Base(RC_GC_UPPER_STAIRCASE_POT_1, RCQUEST_BOTH, RCTYPE_POT, RCAREA_GORON_CITY, ACTOR_OBJ_TSUBO, SCENE_GORON_CITY, TWO_ACTOR_PARAMS(-1170, 60), 0x6d00, "Upper Staircase Pot 1", "GC Upper Staircase Pot 1", RHT_POT_GORON_CITY, RG_GREEN_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_GC_UPPER_STAIRCASE_POT_1), SpoilerCollectionCheckGroup::GROUP_GORON_CITY);
+ locationTable[RC_GC_UPPER_STAIRCASE_POT_2] = Location::Base(RC_GC_UPPER_STAIRCASE_POT_2, RCQUEST_BOTH, RCTYPE_POT, RCAREA_GORON_CITY, ACTOR_OBJ_TSUBO, SCENE_GORON_CITY, TWO_ACTOR_PARAMS(-1185, 95), 0x7701, "Upper Staircase Pot 2", "GC Upper Staircase Pot 2", RHT_POT_GORON_CITY, RG_BLUE_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_GC_UPPER_STAIRCASE_POT_2), SpoilerCollectionCheckGroup::GROUP_GORON_CITY);
+ locationTable[RC_GC_UPPER_STAIRCASE_POT_3] = Location::Base(RC_GC_UPPER_STAIRCASE_POT_3, RCQUEST_BOTH, RCTYPE_POT, RCAREA_GORON_CITY, ACTOR_OBJ_TSUBO, SCENE_GORON_CITY, TWO_ACTOR_PARAMS(-1200, 63), 0x6b01, "Upper Staircase Pot 3", "GC Upper Staircase Pot 3", RHT_POT_GORON_CITY, RG_BLUE_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_GC_UPPER_STAIRCASE_POT_3), SpoilerCollectionCheckGroup::GROUP_GORON_CITY);
+ locationTable[RC_GC_MEDIGORON_POT_1] = Location::Base(RC_GC_MEDIGORON_POT_1, RCQUEST_BOTH, RCTYPE_POT, RCAREA_GORON_CITY, ACTOR_OBJ_TSUBO, SCENE_GORON_CITY, TWO_ACTOR_PARAMS(-694, 1196), 0x7101, "Medigoron Pot 1", "GC Medigoron Pot 1", RHT_POT_GORON_CITY, RG_BLUE_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_GC_MEDIGORON_POT_1), SpoilerCollectionCheckGroup::GROUP_GORON_CITY);
+ locationTable[RC_GC_DARUNIA_POT_1] = Location::Base(RC_GC_DARUNIA_POT_1, RCQUEST_BOTH, RCTYPE_POT, RCAREA_GORON_CITY, ACTOR_OBJ_TSUBO, SCENE_GORON_CITY, TWO_ACTOR_PARAMS(262, -1210), 0x7108, "Darunia Pot 1", "GC Darunia Pot 1", RHT_POT_GORON_CITY, RG_ARROWS_5, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_GC_DARUNIA_POT_1), SpoilerCollectionCheckGroup::GROUP_GORON_CITY);
+ locationTable[RC_GC_DARUNIA_POT_2] = Location::Base(RC_GC_DARUNIA_POT_2, RCQUEST_BOTH, RCTYPE_POT, RCAREA_GORON_CITY, ACTOR_OBJ_TSUBO, SCENE_GORON_CITY, TWO_ACTOR_PARAMS(261, -1254), 0x7303, "Darunia Pot 2", "GC Darunia Pot 2", RHT_POT_GORON_CITY, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_GC_DARUNIA_POT_2), SpoilerCollectionCheckGroup::GROUP_GORON_CITY);
+ locationTable[RC_GC_DARUNIA_POT_3] = Location::Base(RC_GC_DARUNIA_POT_3, RCQUEST_BOTH, RCTYPE_POT, RCAREA_GORON_CITY, ACTOR_OBJ_TSUBO, SCENE_GORON_CITY, TWO_ACTOR_PARAMS(262, -1386), 0x7502, "Darunia Pot 3", "GC Darunia Pot 3", RHT_POT_GORON_CITY, RG_RED_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_GC_DARUNIA_POT_3), SpoilerCollectionCheckGroup::GROUP_GORON_CITY);
+ locationTable[RC_DMC_NEAR_GC_POT_2] = Location::Base(RC_DMC_NEAR_GC_POT_2, RCQUEST_BOTH, RCTYPE_POT, RCAREA_DEATH_MOUNTAIN_CRATER, ACTOR_OBJ_TSUBO, SCENE_DEATH_MOUNTAIN_CRATER, TWO_ACTOR_PARAMS(-1546, 141), 0x470f, "Near GC Pot 2", "DMC Near GC Pot 2", RHT_POT_DEATH_MOUNTAIN_CRATER, RG_BLUE_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_DMC_NEAR_GC_POT_2), SpoilerCollectionCheckGroup::GROUP_DEATH_MOUNTAIN);
+ locationTable[RC_DMC_NEAR_GC_POT_3] = Location::Base(RC_DMC_NEAR_GC_POT_3, RCQUEST_BOTH, RCTYPE_POT, RCAREA_DEATH_MOUNTAIN_CRATER, ACTOR_OBJ_TSUBO, SCENE_DEATH_MOUNTAIN_CRATER, TWO_ACTOR_PARAMS(-1641, -127), 0x4308, "Near GC Pot 3", "DMC Near GC Pot 3", RHT_POT_DEATH_MOUNTAIN_CRATER, RG_ARROWS_5, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_DMC_NEAR_GC_POT_3), SpoilerCollectionCheckGroup::GROUP_DEATH_MOUNTAIN);
+ locationTable[RC_DMC_NEAR_GC_POT_1] = Location::Base(RC_DMC_NEAR_GC_POT_1, RCQUEST_BOTH, RCTYPE_POT, RCAREA_DEATH_MOUNTAIN_CRATER, ACTOR_OBJ_TSUBO, SCENE_DEATH_MOUNTAIN_CRATER, TWO_ACTOR_PARAMS(-1590, 132), 0x4501, "Near GC Pot 1", "DMC Near GC Pot 1", RHT_POT_DEATH_MOUNTAIN_CRATER, RG_BLUE_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_DMC_NEAR_GC_POT_1), SpoilerCollectionCheckGroup::GROUP_DEATH_MOUNTAIN);
+ locationTable[RC_DMC_NEAR_GC_POT_4] = Location::Base(RC_DMC_NEAR_GC_POT_4, RCQUEST_BOTH, RCTYPE_POT, RCAREA_DEATH_MOUNTAIN_CRATER, ACTOR_OBJ_TSUBO, SCENE_DEATH_MOUNTAIN_CRATER, TWO_ACTOR_PARAMS(-1606, -166), 0x4103, "Near GC Pot 4", "DMC Near GC Pot 4", RHT_POT_DEATH_MOUNTAIN_CRATER, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_DMC_NEAR_GC_POT_4), SpoilerCollectionCheckGroup::GROUP_DEATH_MOUNTAIN);
+ locationTable[RC_ZD_NEAR_SHOP_POT_1] = Location::Base(RC_ZD_NEAR_SHOP_POT_1, RCQUEST_BOTH, RCTYPE_POT, RCAREA_ZORAS_DOMAIN, ACTOR_OBJ_TSUBO, SCENE_ZORAS_DOMAIN, TWO_ACTOR_PARAMS(676, 377), 0x4503, "Near Shop Pot 1", "ZD Near Shop Pot 1", RHT_POT_ZORAS_DOMAIN, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_ZD_NEAR_SHOP_POT_1), SpoilerCollectionCheckGroup::GROUP_ZORAS_DOMAIN);
+ locationTable[RC_ZD_NEAR_SHOP_POT_2] = Location::Base(RC_ZD_NEAR_SHOP_POT_2, RCQUEST_BOTH, RCTYPE_POT, RCAREA_ZORAS_DOMAIN, ACTOR_OBJ_TSUBO, SCENE_ZORAS_DOMAIN, TWO_ACTOR_PARAMS(614, 419), 0x4039, "Near Shop Pot 2", "ZD Near Shop Pot 2", RHT_POT_ZORAS_DOMAIN, RG_GREEN_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_ZD_NEAR_SHOP_POT_2), SpoilerCollectionCheckGroup::GROUP_ZORAS_DOMAIN);
+ locationTable[RC_ZD_NEAR_SHOP_POT_3] = Location::Base(RC_ZD_NEAR_SHOP_POT_3, RCQUEST_BOTH, RCTYPE_POT, RCAREA_ZORAS_DOMAIN, ACTOR_OBJ_TSUBO, SCENE_ZORAS_DOMAIN, TWO_ACTOR_PARAMS(289, 415), 0x4303, "Near Shop Pot 3", "ZD Near Shop Pot 3", RHT_POT_ZORAS_DOMAIN, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_ZD_NEAR_SHOP_POT_3), SpoilerCollectionCheckGroup::GROUP_ZORAS_DOMAIN);
+ locationTable[RC_ZD_NEAR_SHOP_POT_4] = Location::Base(RC_ZD_NEAR_SHOP_POT_4, RCQUEST_BOTH, RCTYPE_POT, RCAREA_ZORAS_DOMAIN, ACTOR_OBJ_TSUBO, SCENE_ZORAS_DOMAIN, TWO_ACTOR_PARAMS(289, 289), 0x470c, "Near Shop Pot 4", "ZD Near Shop Pot 4", RHT_POT_ZORAS_DOMAIN, RG_DEKU_NUTS_5, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_ZD_NEAR_SHOP_POT_4), SpoilerCollectionCheckGroup::GROUP_ZORAS_DOMAIN);
+ locationTable[RC_ZD_NEAR_SHOP_POT_5] = Location::Base(RC_ZD_NEAR_SHOP_POT_5, RCQUEST_BOTH, RCTYPE_POT, RCAREA_ZORAS_DOMAIN, ACTOR_OBJ_TSUBO, SCENE_ZORAS_DOMAIN, TWO_ACTOR_PARAMS(220, 384), 0x490d, "Near Shop Pot 5", "ZD Near Shop Pot 5", RHT_POT_ZORAS_DOMAIN, RG_DEKU_STICK_1, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_ZD_NEAR_SHOP_POT_5), SpoilerCollectionCheckGroup::GROUP_ZORAS_DOMAIN);
+ locationTable[RC_ZF_HIDDEN_CAVE_POT_1] = Location::Base(RC_ZF_HIDDEN_CAVE_POT_1, RCQUEST_BOTH, RCTYPE_POT, RCAREA_ZORAS_FOUNTAIN, ACTOR_OBJ_TSUBO, SCENE_ZORAS_FOUNTAIN, TWO_ACTOR_PARAMS(385, 2587), 0x790e, "Hidden Cave Pot 1", "ZF Hidden Cave Pot 1", RHT_POT_ZORAS_FOUNTAIN, RG_BLUE_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_ZF_HIDDEN_CAVE_POT_1), SpoilerCollectionCheckGroup::GROUP_ZORAS_DOMAIN);
+ locationTable[RC_ZF_HIDDEN_CAVE_POT_2] = Location::Base(RC_ZF_HIDDEN_CAVE_POT_2, RCQUEST_BOTH, RCTYPE_POT, RCAREA_ZORAS_FOUNTAIN, ACTOR_OBJ_TSUBO, SCENE_ZORAS_FOUNTAIN, TWO_ACTOR_PARAMS(418, 2609), 0x7b09, "Hidden Cave Pot 2", "ZF Hidden Cave Pot 2", RHT_POT_ZORAS_FOUNTAIN, RG_ARROWS_10, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_ZF_HIDDEN_CAVE_POT_2), SpoilerCollectionCheckGroup::GROUP_ZORAS_DOMAIN);
+ locationTable[RC_ZF_HIDDEN_CAVE_POT_3] = Location::Base(RC_ZF_HIDDEN_CAVE_POT_3, RCQUEST_BOTH, RCTYPE_POT, RCAREA_ZORAS_FOUNTAIN, ACTOR_OBJ_TSUBO, SCENE_ZORAS_FOUNTAIN, TWO_ACTOR_PARAMS(430, 2568), 0x770e, "Hidden Cave Pot 3", "ZF Hidden Cave Pot 3", RHT_POT_ZORAS_FOUNTAIN, RG_BLUE_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_ZF_HIDDEN_CAVE_POT_3), SpoilerCollectionCheckGroup::GROUP_ZORAS_DOMAIN);
+ locationTable[RC_ZF_NEAR_JABU_POT_1] = Location::Base(RC_ZF_NEAR_JABU_POT_1, RCQUEST_BOTH, RCTYPE_POT, RCAREA_ZORAS_FOUNTAIN, ACTOR_OBJ_TSUBO, SCENE_ZORAS_FOUNTAIN, TWO_ACTOR_PARAMS(-1630, 170), 0x7b03, "Near Jabu Pot 1", "ZF Near Jabu Pot 1", RHT_POT_ZORAS_FOUNTAIN, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_ZF_NEAR_JABU_POT_1), SpoilerCollectionCheckGroup::GROUP_ZORAS_DOMAIN);
+ locationTable[RC_ZF_NEAR_JABU_POT_2] = Location::Base(RC_ZF_NEAR_JABU_POT_2, RCQUEST_BOTH, RCTYPE_POT, RCAREA_ZORAS_FOUNTAIN, ACTOR_OBJ_TSUBO, SCENE_ZORAS_FOUNTAIN, TWO_ACTOR_PARAMS(-1550, 170), 0x7710, "Near Jabu Pot 2", "ZF Near Jabu Pot 2", RHT_POT_ZORAS_FOUNTAIN, RG_DEKU_SEEDS_30, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_ZF_NEAR_JABU_POT_2), SpoilerCollectionCheckGroup::GROUP_ZORAS_DOMAIN);
+ locationTable[RC_ZF_NEAR_JABU_POT_3] = Location::Base(RC_ZF_NEAR_JABU_POT_3, RCQUEST_BOTH, RCTYPE_POT, RCAREA_ZORAS_FOUNTAIN, ACTOR_OBJ_TSUBO, SCENE_ZORAS_FOUNTAIN, TWO_ACTOR_PARAMS(-1630, -260), 0x7110, "Near Jabu Pot 3", "ZF Near Jabu Pot 3", RHT_POT_ZORAS_FOUNTAIN, RG_DEKU_SEEDS_30, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_ZF_NEAR_JABU_POT_3), SpoilerCollectionCheckGroup::GROUP_ZORAS_DOMAIN);
+ locationTable[RC_ZF_NEAR_JABU_POT_4] = Location::Base(RC_ZF_NEAR_JABU_POT_4, RCQUEST_BOTH, RCTYPE_POT, RCAREA_ZORAS_FOUNTAIN, ACTOR_OBJ_TSUBO, SCENE_ZORAS_FOUNTAIN, TWO_ACTOR_PARAMS(-1550, -260), 0x7310, "Near Jabu Pot 4", "ZF Near Jabu Pot 4", RHT_POT_ZORAS_FOUNTAIN, RG_DEKU_SEEDS_30, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_ZF_NEAR_JABU_POT_4), SpoilerCollectionCheckGroup::GROUP_ZORAS_DOMAIN);
+ locationTable[RC_LLR_FRONT_POT_1] = Location::Base(RC_LLR_FRONT_POT_1, RCQUEST_BOTH, RCTYPE_POT, RCAREA_LON_LON_RANCH, ACTOR_OBJ_TSUBO, SCENE_LON_LON_RANCH, TWO_ACTOR_PARAMS(667, -3218), 0x4103, "Front Pot 1", "LLR Front Pot 1", RHT_POT_LON_LON_RANCH, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_LLR_FRONT_POT_1), SpoilerCollectionCheckGroup::GROUP_LON_LON_RANCH);
+ locationTable[RC_LLR_FRONT_POT_2] = Location::Base(RC_LLR_FRONT_POT_2, RCQUEST_BOTH, RCTYPE_POT, RCAREA_LON_LON_RANCH, ACTOR_OBJ_TSUBO, SCENE_LON_LON_RANCH, TWO_ACTOR_PARAMS(667, -3186), 0x4500, "Front Pot 2", "LLR Front Pot 2", RHT_POT_LON_LON_RANCH, RG_GREEN_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_LLR_FRONT_POT_2), SpoilerCollectionCheckGroup::GROUP_LON_LON_RANCH);
+ locationTable[RC_LLR_FRONT_POT_3] = Location::Base(RC_LLR_FRONT_POT_3, RCQUEST_BOTH, RCTYPE_POT, RCAREA_LON_LON_RANCH, ACTOR_OBJ_TSUBO, SCENE_LON_LON_RANCH, TWO_ACTOR_PARAMS(667, -3154), 0x4303, "Front Pot 3", "LLR Front Pot 3", RHT_POT_LON_LON_RANCH, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_LLR_FRONT_POT_3), SpoilerCollectionCheckGroup::GROUP_LON_LON_RANCH);
+ locationTable[RC_LLR_FRONT_POT_4] = Location::Base(RC_LLR_FRONT_POT_4, RCQUEST_BOTH, RCTYPE_POT, RCAREA_LON_LON_RANCH, ACTOR_OBJ_TSUBO, SCENE_LON_LON_RANCH, TWO_ACTOR_PARAMS(667, -3122), 0x4700, "Front Pot 4", "LLR Front Pot 4", RHT_POT_LON_LON_RANCH, RG_GREEN_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_LLR_FRONT_POT_4), SpoilerCollectionCheckGroup::GROUP_LON_LON_RANCH);
+ locationTable[RC_LLR_RAIN_SHED_POT_1] = Location::Base(RC_LLR_RAIN_SHED_POT_1, RCQUEST_BOTH, RCTYPE_POT, RCAREA_LON_LON_RANCH, ACTOR_OBJ_TSUBO, SCENE_LON_LON_RANCH, TWO_ACTOR_PARAMS(852, 172), 0x4d03, "Rain Shed Pot 1", "LLR Rain Shed Pot 1", RHT_POT_LON_LON_RANCH, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_LLR_RAIN_SHED_POT_1), SpoilerCollectionCheckGroup::GROUP_LON_LON_RANCH);
+ locationTable[RC_LLR_RAIN_SHED_POT_2] = Location::Base(RC_LLR_RAIN_SHED_POT_2, RCQUEST_BOTH, RCTYPE_POT, RCAREA_LON_LON_RANCH, ACTOR_OBJ_TSUBO, SCENE_LON_LON_RANCH, TWO_ACTOR_PARAMS(840, 212), 0x5103, "Rain Shed Pot 2", "LLR Rain Shed Pot 2", RHT_POT_LON_LON_RANCH, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_LLR_RAIN_SHED_POT_2), SpoilerCollectionCheckGroup::GROUP_LON_LON_RANCH);
+ locationTable[RC_LLR_RAIN_SHED_POT_3] = Location::Base(RC_LLR_RAIN_SHED_POT_3, RCQUEST_BOTH, RCTYPE_POT, RCAREA_LON_LON_RANCH, ACTOR_OBJ_TSUBO, SCENE_LON_LON_RANCH, TWO_ACTOR_PARAMS(872, 219), 0x4f03, "Rain Shed Pot 3", "LLR Rain Shed Pot 3", RHT_POT_LON_LON_RANCH, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_LLR_RAIN_SHED_POT_3), SpoilerCollectionCheckGroup::GROUP_LON_LON_RANCH);
+ locationTable[RC_LLR_TALONS_HOUSE_POT_1] = Location::Base(RC_LLR_TALONS_HOUSE_POT_1, RCQUEST_BOTH, RCTYPE_POT, RCAREA_LON_LON_RANCH, ACTOR_OBJ_TSUBO, SCENE_LON_LON_BUILDINGS, TWO_ACTOR_PARAMS(1255, 47), 0x5700, "Talons House Pot 1", "LLR Talons House Pot 1", RHT_POT_LON_LON_RANCH, RG_GREEN_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_LLR_TALONS_HOUSE_POT_1), SpoilerCollectionCheckGroup::GROUP_LON_LON_RANCH);
+ locationTable[RC_LLR_TALONS_HOUSE_POT_2] = Location::Base(RC_LLR_TALONS_HOUSE_POT_2, RCQUEST_BOTH, RCTYPE_POT, RCAREA_LON_LON_RANCH, ACTOR_OBJ_TSUBO, SCENE_LON_LON_BUILDINGS, TWO_ACTOR_PARAMS(1256, -51), 0x5501, "Talons House Pot 2", "LLR Talons House Pot 2", RHT_POT_LON_LON_RANCH, RG_BLUE_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_LLR_TALONS_HOUSE_POT_2), SpoilerCollectionCheckGroup::GROUP_LON_LON_RANCH);
+ locationTable[RC_LLR_TALONS_HOUSE_POT_3] = Location::Base(RC_LLR_TALONS_HOUSE_POT_3, RCQUEST_BOTH, RCTYPE_POT, RCAREA_LON_LON_RANCH, ACTOR_OBJ_TSUBO, SCENE_LON_LON_BUILDINGS, TWO_ACTOR_PARAMS(1256, -78), 0x5301, "Talons House Pot 3", "LLR Talons House Pot 3", RHT_POT_LON_LON_RANCH, RG_BLUE_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_LLR_TALONS_HOUSE_POT_3), SpoilerCollectionCheckGroup::GROUP_LON_LON_RANCH);
+ locationTable[RC_HF_COW_GROTTO_POT_1] = Location::Base(RC_HF_COW_GROTTO_POT_1, RCQUEST_BOTH, RCTYPE_POT, RCAREA_HYRULE_FIELD, ACTOR_OBJ_TSUBO, SCENE_GROTTOS, TWO_ACTOR_PARAMS(3410, -223), 0x430f, "Cow Grotto Pot 1", "HF Cow Grotto Pot 1", RHT_POT_HYRULE_FIELD, RG_BLUE_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_HF_COW_GROTTO_POT_1), SpoilerCollectionCheckGroup::GROUP_HYRULE_FIELD);
+ locationTable[RC_HF_COW_GROTTO_POT_2] = Location::Base(RC_HF_COW_GROTTO_POT_2, RCQUEST_BOTH, RCTYPE_POT, RCAREA_HYRULE_FIELD, ACTOR_OBJ_TSUBO, SCENE_GROTTOS, TWO_ACTOR_PARAMS(3390, -258), 0x410e, "Cow Grotto Pot 2", "HF Cow Grotto Pot 2", RHT_POT_HYRULE_FIELD, RG_BLUE_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_HF_COW_GROTTO_POT_2), SpoilerCollectionCheckGroup::GROUP_HYRULE_FIELD);
+ locationTable[RC_HC_STORMS_GROTTO_POT_1] = Location::Base(RC_HC_STORMS_GROTTO_POT_1, RCQUEST_BOTH, RCTYPE_POT, RCAREA_HYRULE_CASTLE, ACTOR_OBJ_TSUBO, SCENE_GROTTOS, TWO_ACTOR_PARAMS(1843, 1014), 0x4502, "Storms Grotto Pot 1", "HC Storms Grotto Pot 1", RHT_POT_HYRULE_CASTLE, RG_RED_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_HC_STORMS_GROTTO_POT_1), SpoilerCollectionCheckGroup::GROUP_HYRULE_CASTLE);
+ locationTable[RC_HC_STORMS_GROTTO_POT_2] = Location::Base(RC_HC_STORMS_GROTTO_POT_2, RCQUEST_BOTH, RCTYPE_POT, RCAREA_HYRULE_CASTLE, ACTOR_OBJ_TSUBO, SCENE_GROTTOS, TWO_ACTOR_PARAMS(1769, 954), 0x4908, "Storms Grotto Pot 2", "HC Storms Grotto Pot 2", RHT_POT_HYRULE_CASTLE, RG_ARROWS_5, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_HC_STORMS_GROTTO_POT_2), SpoilerCollectionCheckGroup::GROUP_HYRULE_CASTLE);
+ locationTable[RC_HC_STORMS_GROTTO_POT_3] = Location::Base(RC_HC_STORMS_GROTTO_POT_3, RCQUEST_BOTH, RCTYPE_POT, RCAREA_HYRULE_CASTLE, ACTOR_OBJ_TSUBO, SCENE_GROTTOS, TWO_ACTOR_PARAMS(1857, 897), 0x4704, "Storms Grotto Pot 3", "HC Storms Grotto Pot 3", RHT_POT_HYRULE_CASTLE, RG_BOMBS_5, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_HC_STORMS_GROTTO_POT_3), SpoilerCollectionCheckGroup::GROUP_HYRULE_CASTLE);
+ locationTable[RC_HC_STORMS_GROTTO_POT_4] = Location::Base(RC_HC_STORMS_GROTTO_POT_4, RCQUEST_BOTH, RCTYPE_POT, RCAREA_HYRULE_CASTLE, ACTOR_OBJ_TSUBO, SCENE_GROTTOS, TWO_ACTOR_PARAMS(1764, 847), 0x4b0c, "Storms Grotto Pot 4", "HC Storms Grotto Pot 4", RHT_POT_HYRULE_CASTLE, RG_DEKU_NUTS_5, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_HC_STORMS_GROTTO_POT_4), SpoilerCollectionCheckGroup::GROUP_HYRULE_CASTLE);
+
+ // Dungeon Pots
+ // 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_DODONGOS_CAVERN_LIZALFOS_POT_3] = Location::Base(RC_DODONGOS_CAVERN_LIZALFOS_POT_3, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_DODONGOS_CAVERN, ACTOR_OBJ_TSUBO, SCENE_DODONGOS_CAVERN, TWO_ACTOR_PARAMS(2673, -2060), 0x5603, "Lizalfos Pot 3", "Dodongos Cavern Lizalfos Pot 3", RHT_POT_DODONGOS_CAVERN, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_DODONGOS_CAVERN_LIZALFOS_POT_3), SpoilerCollectionCheckGroup::GROUP_DUNGEON_DODONGOS_CAVERN);
+ locationTable[RC_DODONGOS_CAVERN_LIZALFOS_POT_2] = Location::Base(RC_DODONGOS_CAVERN_LIZALFOS_POT_2, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_DODONGOS_CAVERN, ACTOR_OBJ_TSUBO, SCENE_DODONGOS_CAVERN, TWO_ACTOR_PARAMS(3526, -2574), 0x5801, "Lizalfos Pot 2", "Dodongos Cavern Lizalfos Pot 2", RHT_POT_DODONGOS_CAVERN, RG_BLUE_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_DODONGOS_CAVERN_LIZALFOS_POT_2), SpoilerCollectionCheckGroup::GROUP_DUNGEON_DODONGOS_CAVERN);
+ locationTable[RC_DODONGOS_CAVERN_LIZALFOS_POT_1] = Location::Base(RC_DODONGOS_CAVERN_LIZALFOS_POT_1, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_DODONGOS_CAVERN, ACTOR_OBJ_TSUBO, SCENE_DODONGOS_CAVERN, TWO_ACTOR_PARAMS(3579, -2574), 0x5a01, "Lizalfos Pot 1", "Dodongos Cavern Lizalfos Pot 1", RHT_POT_DODONGOS_CAVERN, RG_BLUE_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_DODONGOS_CAVERN_LIZALFOS_POT_1), SpoilerCollectionCheckGroup::GROUP_DUNGEON_DODONGOS_CAVERN);
+ locationTable[RC_DODONGOS_CAVERN_LIZALFOS_POT_4] = Location::Base(RC_DODONGOS_CAVERN_LIZALFOS_POT_4, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_DODONGOS_CAVERN, ACTOR_OBJ_TSUBO, SCENE_DODONGOS_CAVERN, TWO_ACTOR_PARAMS(2653, -2031), 0x5403, "Lizalfos Pot 4", "Dodongos Cavern Lizalfos Pot 4", RHT_POT_DODONGOS_CAVERN, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_DODONGOS_CAVERN_LIZALFOS_POT_4), SpoilerCollectionCheckGroup::GROUP_DUNGEON_DODONGOS_CAVERN);
+ locationTable[RC_DODONGOS_CAVERN_SIDE_ROOM_POT_1] = Location::Base(RC_DODONGOS_CAVERN_SIDE_ROOM_POT_1, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_DODONGOS_CAVERN, ACTOR_OBJ_TSUBO, SCENE_DODONGOS_CAVERN, TWO_ACTOR_PARAMS(1708, -471), 0x4400, "Side Room Pot 1", "Dodongos Cavern Side Room Pot 1", RHT_POT_DODONGOS_CAVERN, RG_GREEN_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_DODONGOS_CAVERN_SIDE_ROOM_POT_1), SpoilerCollectionCheckGroup::GROUP_DUNGEON_DODONGOS_CAVERN);
+ locationTable[RC_DODONGOS_CAVERN_SIDE_ROOM_POT_2] = Location::Base(RC_DODONGOS_CAVERN_SIDE_ROOM_POT_2, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_DODONGOS_CAVERN, ACTOR_OBJ_TSUBO, SCENE_DODONGOS_CAVERN, TWO_ACTOR_PARAMS(1746, -424), 0x4601, "Side Room Pot 2", "Dodongos Cavern Side Room Pot 2", RHT_POT_DODONGOS_CAVERN, RG_BLUE_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_DODONGOS_CAVERN_SIDE_ROOM_POT_2), SpoilerCollectionCheckGroup::GROUP_DUNGEON_DODONGOS_CAVERN);
+ locationTable[RC_DODONGOS_CAVERN_SIDE_ROOM_POT_3] = Location::Base(RC_DODONGOS_CAVERN_SIDE_ROOM_POT_3, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_DODONGOS_CAVERN, ACTOR_OBJ_TSUBO, SCENE_DODONGOS_CAVERN, TWO_ACTOR_PARAMS(2573, -489), 0x4c00, "Side Room Pot 3", "Dodongos Cavern Side Room Pot 3", RHT_POT_DODONGOS_CAVERN, RG_GREEN_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_DODONGOS_CAVERN_SIDE_ROOM_POT_3), SpoilerCollectionCheckGroup::GROUP_DUNGEON_DODONGOS_CAVERN);
+ locationTable[RC_DODONGOS_CAVERN_SIDE_ROOM_POT_4] = Location::Base(RC_DODONGOS_CAVERN_SIDE_ROOM_POT_4, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_DODONGOS_CAVERN, ACTOR_OBJ_TSUBO, SCENE_DODONGOS_CAVERN, TWO_ACTOR_PARAMS(2622, -489), 0x4e01, "Side Room Pot 4", "Dodongos Cavern Side Room Pot 4", RHT_POT_DODONGOS_CAVERN, RG_BLUE_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_DODONGOS_CAVERN_SIDE_ROOM_POT_4), SpoilerCollectionCheckGroup::GROUP_DUNGEON_DODONGOS_CAVERN);
+ locationTable[RC_DODONGOS_CAVERN_SIDE_ROOM_POT_5] = Location::Base(RC_DODONGOS_CAVERN_SIDE_ROOM_POT_5, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_DODONGOS_CAVERN, ACTOR_OBJ_TSUBO, SCENE_DODONGOS_CAVERN, TWO_ACTOR_PARAMS(3507, -964), 0x5000, "Side Room Pot 5", "Dodongos Cavern Side Room Pot 5", RHT_POT_DODONGOS_CAVERN, RG_GREEN_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_DODONGOS_CAVERN_SIDE_ROOM_POT_5), SpoilerCollectionCheckGroup::GROUP_DUNGEON_DODONGOS_CAVERN);
+ locationTable[RC_DODONGOS_CAVERN_SIDE_ROOM_POT_6] = Location::Base(RC_DODONGOS_CAVERN_SIDE_ROOM_POT_6, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_DODONGOS_CAVERN, ACTOR_OBJ_TSUBO, SCENE_DODONGOS_CAVERN, TWO_ACTOR_PARAMS(3617, -911), 0x5203, "Side Room Pot 6", "Dodongos Cavern Side Room Pot 6", RHT_POT_DODONGOS_CAVERN, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_DODONGOS_CAVERN_SIDE_ROOM_POT_6), SpoilerCollectionCheckGroup::GROUP_DUNGEON_DODONGOS_CAVERN);
+ locationTable[RC_DODONGOS_CAVERN_TORCH_ROOM_POT_1] = Location::Base(RC_DODONGOS_CAVERN_TORCH_ROOM_POT_1, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_DODONGOS_CAVERN, ACTOR_OBJ_TSUBO, SCENE_DODONGOS_CAVERN, TWO_ACTOR_PARAMS(1846, -1879), 0x6201, "Torch Room Pot 1", "Dodongos Cavern Torch Room Pot 1", RHT_POT_DODONGOS_CAVERN, RG_BLUE_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_DODONGOS_CAVERN_TORCH_ROOM_POT_1), SpoilerCollectionCheckGroup::GROUP_DUNGEON_DODONGOS_CAVERN);
+ locationTable[RC_DODONGOS_CAVERN_TORCH_ROOM_POT_2] = Location::Base(RC_DODONGOS_CAVERN_TORCH_ROOM_POT_2, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_DODONGOS_CAVERN, ACTOR_OBJ_TSUBO, SCENE_DODONGOS_CAVERN, TWO_ACTOR_PARAMS(2050, -1964), 0x5c01, "Torch Room Pot 2", "Dodongos Cavern Torch Room Pot 2", RHT_POT_DODONGOS_CAVERN, RG_BLUE_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_DODONGOS_CAVERN_TORCH_ROOM_POT_2), SpoilerCollectionCheckGroup::GROUP_DUNGEON_DODONGOS_CAVERN);
+ locationTable[RC_DODONGOS_CAVERN_TORCH_ROOM_POT_3] = Location::Base(RC_DODONGOS_CAVERN_TORCH_ROOM_POT_3, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_DODONGOS_CAVERN, ACTOR_OBJ_TSUBO, SCENE_DODONGOS_CAVERN, TWO_ACTOR_PARAMS(2281, -1799), 0x6403, "Torch Room Pot 3", "Dodongos Cavern Torch Room Pot 3", RHT_POT_DODONGOS_CAVERN, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_DODONGOS_CAVERN_TORCH_ROOM_POT_3), SpoilerCollectionCheckGroup::GROUP_DUNGEON_DODONGOS_CAVERN);
+ locationTable[RC_DODONGOS_CAVERN_TORCH_ROOM_POT_4] = Location::Base(RC_DODONGOS_CAVERN_TORCH_ROOM_POT_4, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_DODONGOS_CAVERN, ACTOR_OBJ_TSUBO, SCENE_DODONGOS_CAVERN, TWO_ACTOR_PARAMS(1836, -1239), 0x5e00, "Torch Room Pot 4", "Dodongos Cavern Torch Room Pot 4", RHT_POT_DODONGOS_CAVERN, RG_GREEN_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_DODONGOS_CAVERN_TORCH_ROOM_POT_4), SpoilerCollectionCheckGroup::GROUP_DUNGEON_DODONGOS_CAVERN);
+ locationTable[RC_DODONGOS_CAVERN_STAIRCASE_POT_1] = Location::Base(RC_DODONGOS_CAVERN_STAIRCASE_POT_1, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_DODONGOS_CAVERN, ACTOR_OBJ_TSUBO, SCENE_DODONGOS_CAVERN, TWO_ACTOR_PARAMS(-2414, -1823), 0x6603, "Staircase Pot 1", "Dodongos Cavern Staircase Pot 1", RHT_POT_DODONGOS_CAVERN, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_DODONGOS_CAVERN_STAIRCASE_POT_1), SpoilerCollectionCheckGroup::GROUP_DUNGEON_DODONGOS_CAVERN);
+ locationTable[RC_DODONGOS_CAVERN_STAIRCASE_POT_2] = Location::Base(RC_DODONGOS_CAVERN_STAIRCASE_POT_2, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_DODONGOS_CAVERN, ACTOR_OBJ_TSUBO, SCENE_DODONGOS_CAVERN, TWO_ACTOR_PARAMS(-2368, -1827), 0x6802, "Staircase Pot 2", "Dodongos Cavern Staircase Pot 2", RHT_POT_DODONGOS_CAVERN, RG_RED_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_DODONGOS_CAVERN_STAIRCASE_POT_2), SpoilerCollectionCheckGroup::GROUP_DUNGEON_DODONGOS_CAVERN);
+ locationTable[RC_DODONGOS_CAVERN_STAIRCASE_POT_3] = Location::Base(RC_DODONGOS_CAVERN_STAIRCASE_POT_3, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_DODONGOS_CAVERN, ACTOR_OBJ_TSUBO, SCENE_DODONGOS_CAVERN, TWO_ACTOR_PARAMS(-1574, -1831), 0x6a02, "Staircase Pot 3", "Dodongos Cavern Staircase Pot 3", RHT_POT_DODONGOS_CAVERN, RG_RED_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_DODONGOS_CAVERN_STAIRCASE_POT_3), SpoilerCollectionCheckGroup::GROUP_DUNGEON_DODONGOS_CAVERN);
+ locationTable[RC_DODONGOS_CAVERN_STAIRCASE_POT_4] = Location::Base(RC_DODONGOS_CAVERN_STAIRCASE_POT_4, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_DODONGOS_CAVERN, ACTOR_OBJ_TSUBO, SCENE_DODONGOS_CAVERN, TWO_ACTOR_PARAMS(-1528, -1827), 0x6c03, "Staircase Pot 4", "Dodongos Cavern Staircase Pot 4", RHT_POT_DODONGOS_CAVERN, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_DODONGOS_CAVERN_STAIRCASE_POT_4), SpoilerCollectionCheckGroup::GROUP_DUNGEON_DODONGOS_CAVERN);
+ locationTable[RC_DODONGOS_CAVERN_SINGLE_EYE_POT_1] = Location::Base(RC_DODONGOS_CAVERN_SINGLE_EYE_POT_1, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_DODONGOS_CAVERN, ACTOR_OBJ_TSUBO, SCENE_DODONGOS_CAVERN, TWO_ACTOR_PARAMS(2704, -483), 0x7401, "Single Eye Pot 1", "Dodongos Cavern Single Eye Pot 1", RHT_POT_DODONGOS_CAVERN, RG_BLUE_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_DODONGOS_CAVERN_SINGLE_EYE_POT_1), SpoilerCollectionCheckGroup::GROUP_DUNGEON_DODONGOS_CAVERN);
+ locationTable[RC_DODONGOS_CAVERN_SINGLE_EYE_POT_2] = Location::Base(RC_DODONGOS_CAVERN_SINGLE_EYE_POT_2, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_DODONGOS_CAVERN, ACTOR_OBJ_TSUBO, SCENE_DODONGOS_CAVERN, TWO_ACTOR_PARAMS(3195, -155), 0x7203, "Single Eye Pot 2", "Dodongos Cavern Single Eye Pot 2", RHT_POT_DODONGOS_CAVERN, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_DODONGOS_CAVERN_SINGLE_EYE_POT_2), SpoilerCollectionCheckGroup::GROUP_DUNGEON_DODONGOS_CAVERN);
+ locationTable[RC_DODONGOS_CAVERN_BLADE_POT_1] = Location::Base(RC_DODONGOS_CAVERN_BLADE_POT_1, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_DODONGOS_CAVERN, ACTOR_OBJ_TSUBO, SCENE_DODONGOS_CAVERN, TWO_ACTOR_PARAMS(1656, -531), 0x6e03, "Blade Pot 1", "Dodongos Cavern Blade Pot 1", RHT_POT_DODONGOS_CAVERN, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_DODONGOS_CAVERN_BLADE_POT_1), SpoilerCollectionCheckGroup::GROUP_DUNGEON_DODONGOS_CAVERN);
+ locationTable[RC_DODONGOS_CAVERN_BLADE_POT_2] = Location::Base(RC_DODONGOS_CAVERN_BLADE_POT_2, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_DODONGOS_CAVERN, ACTOR_OBJ_TSUBO, SCENE_DODONGOS_CAVERN, TWO_ACTOR_PARAMS(1831, -593), 0x7003, "Blade Pot 2", "Dodongos Cavern Blade Pot 2", RHT_POT_DODONGOS_CAVERN, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_DODONGOS_CAVERN_BLADE_POT_2), SpoilerCollectionCheckGroup::GROUP_DUNGEON_DODONGOS_CAVERN);
+ locationTable[RC_DODONGOS_CAVERN_DOUBLE_EYE_POT_1] = Location::Base(RC_DODONGOS_CAVERN_DOUBLE_EYE_POT_1, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_DODONGOS_CAVERN, ACTOR_OBJ_TSUBO, SCENE_DODONGOS_CAVERN, TWO_ACTOR_PARAMS(3329, -753), 0x7801, "Double Eye Pot 1", "Dodongos Cavern Double Eye Pot 1", RHT_POT_DODONGOS_CAVERN, RG_BLUE_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_DODONGOS_CAVERN_DOUBLE_EYE_POT_1), SpoilerCollectionCheckGroup::GROUP_DUNGEON_DODONGOS_CAVERN);
+ locationTable[RC_DODONGOS_CAVERN_DOUBLE_EYE_POT_2] = Location::Base(RC_DODONGOS_CAVERN_DOUBLE_EYE_POT_2, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_DODONGOS_CAVERN, ACTOR_OBJ_TSUBO, SCENE_DODONGOS_CAVERN, TWO_ACTOR_PARAMS(2705, -1086), 0x7603, "Double Eye Pot 2", "Dodongos Cavern Double Eye Pot 2", RHT_POT_DODONGOS_CAVERN, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_DODONGOS_CAVERN_DOUBLE_EYE_POT_2), SpoilerCollectionCheckGroup::GROUP_DUNGEON_DODONGOS_CAVERN);
+ locationTable[RC_DODONGOS_CAVERN_BACK_ROOM_POT_1] = Location::Base(RC_DODONGOS_CAVERN_BACK_ROOM_POT_1, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_DODONGOS_CAVERN, ACTOR_OBJ_TSUBO, SCENE_DODONGOS_CAVERN, TWO_ACTOR_PARAMS(1027, -3704), 0x4212, "Back Room Pot 1", "Dodongos Cavern Back Room Pot 1", RHT_POT_DODONGOS_CAVERN, RG_GREEN_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_DODONGOS_CAVERN_BACK_ROOM_POT_1), SpoilerCollectionCheckGroup::GROUP_DUNGEON_DODONGOS_CAVERN);
+ locationTable[RC_DODONGOS_CAVERN_BACK_ROOM_POT_2] = Location::Base(RC_DODONGOS_CAVERN_BACK_ROOM_POT_2, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_DODONGOS_CAVERN, ACTOR_OBJ_TSUBO, SCENE_DODONGOS_CAVERN, TWO_ACTOR_PARAMS(966, -3704), 0x4010, "Back Room Pot 2", "Dodongos Cavern Back Room Pot 2", RHT_POT_DODONGOS_CAVERN, RG_DEKU_SEEDS_30, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_DODONGOS_CAVERN_BACK_ROOM_POT_2), SpoilerCollectionCheckGroup::GROUP_DUNGEON_DODONGOS_CAVERN);
+ locationTable[RC_DODONGOS_CAVERN_BACK_ROOM_POT_3] = Location::Base(RC_DODONGOS_CAVERN_BACK_ROOM_POT_3, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_DODONGOS_CAVERN, ACTOR_OBJ_TSUBO, SCENE_DODONGOS_CAVERN, TWO_ACTOR_PARAMS(125, -3854), 0x7c03, "Back Room Pot 3", "Dodongos Cavern Back Room Pot 3", RHT_POT_DODONGOS_CAVERN, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_DODONGOS_CAVERN_BACK_ROOM_POT_3), SpoilerCollectionCheckGroup::GROUP_DUNGEON_DODONGOS_CAVERN);
+ locationTable[RC_DODONGOS_CAVERN_BACK_ROOM_POT_4] = Location::Base(RC_DODONGOS_CAVERN_BACK_ROOM_POT_4, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_DODONGOS_CAVERN, ACTOR_OBJ_TSUBO, SCENE_DODONGOS_CAVERN, TWO_ACTOR_PARAMS(78, -3835), 0x7a04, "Back Room Pot 4", "Dodongos Cavern Back Room Pot 4", RHT_POT_DODONGOS_CAVERN, RG_BOMBS_5, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_DODONGOS_CAVERN_BACK_ROOM_POT_4), SpoilerCollectionCheckGroup::GROUP_DUNGEON_DODONGOS_CAVERN);
+ locationTable[RC_JABU_JABUS_BELLY_ABOVE_BIG_OCTO_POT_1] = Location::Base(RC_JABU_JABUS_BELLY_ABOVE_BIG_OCTO_POT_1, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_JABU_JABUS_BELLY, ACTOR_OBJ_TSUBO, SCENE_JABU_JABU, TWO_ACTOR_PARAMS(-1295, -3612), 0x540c, "Above Big Octo Pot 1", "Jabu Jabus Belly Above Big Octo Pot 1", RHT_POT_JABU_JABUS_BELLY, RG_DEKU_NUTS_5, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_JABU_JABUS_BELLY_ABOVE_BIG_OCTO_POT_1), SpoilerCollectionCheckGroup::GROUP_DUNGEON_JABUJABUS_BELLY);
+ locationTable[RC_JABU_JABUS_BELLY_ABOVE_BIG_OCTO_POT_2] = Location::Base(RC_JABU_JABUS_BELLY_ABOVE_BIG_OCTO_POT_2, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_JABU_JABUS_BELLY, ACTOR_OBJ_TSUBO, SCENE_JABU_JABU, TWO_ACTOR_PARAMS(-1355, -3612), 0x5012, "Above Big Octo Pot 2", "Jabu Jabus Belly Above Big Octo Pot 2", RHT_POT_JABU_JABUS_BELLY, RG_GREEN_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_JABU_JABUS_BELLY_ABOVE_BIG_OCTO_POT_2), SpoilerCollectionCheckGroup::GROUP_DUNGEON_JABUJABUS_BELLY);
+ locationTable[RC_JABU_JABUS_BELLY_ABOVE_BIG_OCTO_POT_3] = Location::Base(RC_JABU_JABUS_BELLY_ABOVE_BIG_OCTO_POT_3, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_JABU_JABUS_BELLY, ACTOR_OBJ_TSUBO, SCENE_JABU_JABU, TWO_ACTOR_PARAMS(-1422, -3612), 0x520c, "Above Big Octo Pot 3", "Jabu Jabus Belly Above Big Octo Pot 3", RHT_POT_JABU_JABUS_BELLY, RG_DEKU_NUTS_5, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_JABU_JABUS_BELLY_ABOVE_BIG_OCTO_POT_3), SpoilerCollectionCheckGroup::GROUP_DUNGEON_JABUJABUS_BELLY);
+ locationTable[RC_JABU_JABUS_BELLY_BARINADE_POT_1] = Location::Base(RC_JABU_JABUS_BELLY_BARINADE_POT_1, RCQUEST_BOTH, RCTYPE_POT, RCAREA_JABU_JABUS_BELLY, ACTOR_OBJ_TSUBO, SCENE_JABU_JABU_BOSS, TWO_ACTOR_PARAMS(-551, 33), 0x4a03, "Barinade Pot 1", "Jabu Jabus Belly Barinade Pot 1", RHT_POT_JABU_JABUS_BELLY, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_JABU_JABUS_BELLY_BARINADE_POT_1), SpoilerCollectionCheckGroup::GROUP_DUNGEON_JABUJABUS_BELLY);
+ locationTable[RC_JABU_JABUS_BELLY_BARINADE_POT_2] = Location::Base(RC_JABU_JABUS_BELLY_BARINADE_POT_2, RCQUEST_BOTH, RCTYPE_POT, RCAREA_JABU_JABUS_BELLY, ACTOR_OBJ_TSUBO, SCENE_JABU_JABU_BOSS, TWO_ACTOR_PARAMS(551, 36), 0x4803, "Barinade Pot 2", "Jabu Jabus Belly Barinade Pot 2", RHT_POT_JABU_JABUS_BELLY, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_JABU_JABUS_BELLY_BARINADE_POT_2), SpoilerCollectionCheckGroup::GROUP_DUNGEON_JABUJABUS_BELLY);
+ locationTable[RC_JABU_JABUS_BELLY_BARINADE_POT_3] = Location::Base(RC_JABU_JABUS_BELLY_BARINADE_POT_3, RCQUEST_BOTH, RCTYPE_POT, RCAREA_JABU_JABUS_BELLY, ACTOR_OBJ_TSUBO, SCENE_JABU_JABU_BOSS, TWO_ACTOR_PARAMS(554, -493), 0x4603, "Barinade Pot 3", "Jabu Jabus Belly Barinade Pot 3", RHT_POT_JABU_JABUS_BELLY, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_JABU_JABUS_BELLY_BARINADE_POT_3), SpoilerCollectionCheckGroup::GROUP_DUNGEON_JABUJABUS_BELLY);
+ locationTable[RC_JABU_JABUS_BELLY_BARINADE_POT_4] = Location::Base(RC_JABU_JABUS_BELLY_BARINADE_POT_4, RCQUEST_BOTH, RCTYPE_POT, RCAREA_JABU_JABUS_BELLY, ACTOR_OBJ_TSUBO, SCENE_JABU_JABU_BOSS, TWO_ACTOR_PARAMS(-543, -496), 0x4403, "Barinade Pot 4", "Jabu Jabus Belly Barinade Pot 4", RHT_POT_JABU_JABUS_BELLY, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_JABU_JABUS_BELLY_BARINADE_POT_4), SpoilerCollectionCheckGroup::GROUP_DUNGEON_JABUJABUS_BELLY);
+ locationTable[RC_JABU_JABUS_BELLY_BARINADE_POT_5] = Location::Base(RC_JABU_JABUS_BELLY_BARINADE_POT_5, RCQUEST_BOTH, RCTYPE_POT, RCAREA_JABU_JABUS_BELLY, ACTOR_OBJ_TSUBO, SCENE_JABU_JABU_BOSS, TWO_ACTOR_PARAMS(-268, -786), 0x4203, "Barinade Pot 5", "Jabu Jabus Belly Barinade Pot 5", RHT_POT_JABU_JABUS_BELLY, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_JABU_JABUS_BELLY_BARINADE_POT_5), SpoilerCollectionCheckGroup::GROUP_DUNGEON_JABUJABUS_BELLY);
+ locationTable[RC_JABU_JABUS_BELLY_BARINADE_POT_6] = Location::Base(RC_JABU_JABUS_BELLY_BARINADE_POT_6, RCQUEST_BOTH, RCTYPE_POT, RCAREA_JABU_JABUS_BELLY, ACTOR_OBJ_TSUBO, SCENE_JABU_JABU_BOSS, TWO_ACTOR_PARAMS(279, -761), 0x4003, "Barinade Pot 6", "Jabu Jabus Belly Barinade Pot 6", RHT_POT_JABU_JABUS_BELLY, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_JABU_JABUS_BELLY_BARINADE_POT_6), SpoilerCollectionCheckGroup::GROUP_DUNGEON_JABUJABUS_BELLY);
+ locationTable[RC_JABU_JABUS_BELLY_BASEMENT_POT_1] = Location::Base(RC_JABU_JABUS_BELLY_BASEMENT_POT_1, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_JABU_JABUS_BELLY, ACTOR_OBJ_TSUBO, SCENE_JABU_JABU, TWO_ACTOR_PARAMS(703, -2371), 0x4c12, "Basement Pot 1", "Jabu Jabus Belly Basement Pot 1", RHT_POT_JABU_JABUS_BELLY, RG_GREEN_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_JABU_JABUS_BELLY_BASEMENT_POT_1), SpoilerCollectionCheckGroup::GROUP_DUNGEON_JABUJABUS_BELLY);
+ locationTable[RC_JABU_JABUS_BELLY_BASEMENT_POT_2] = Location::Base(RC_JABU_JABUS_BELLY_BASEMENT_POT_2, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_JABU_JABUS_BELLY, ACTOR_OBJ_TSUBO, SCENE_JABU_JABU, TWO_ACTOR_PARAMS(645, -2408), 0x4a10, "Basement Pot 2", "Jabu Jabus Belly Basement Pot 2", RHT_POT_JABU_JABUS_BELLY, RG_DEKU_SEEDS_30, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_JABU_JABUS_BELLY_BASEMENT_POT_2), SpoilerCollectionCheckGroup::GROUP_DUNGEON_JABUJABUS_BELLY);
+ locationTable[RC_JABU_JABUS_BELLY_BASEMENT_POT_3] = Location::Base(RC_JABU_JABUS_BELLY_BASEMENT_POT_3, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_JABU_JABUS_BELLY, ACTOR_OBJ_TSUBO, SCENE_JABU_JABU, TWO_ACTOR_PARAMS(650, -2344), 0x4dac, "Basement Pot 3", "Jabu Jabus Belly Basement Pot 3", RHT_POT_JABU_JABUS_BELLY, RG_DEKU_NUTS_5, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_JABU_JABUS_BELLY_BASEMENT_POT_3), SpoilerCollectionCheckGroup::GROUP_DUNGEON_JABUJABUS_BELLY);
+ locationTable[RC_JABU_JABUS_BELLY_TWO_OCTOROK_POT_1] = Location::Base(RC_JABU_JABUS_BELLY_TWO_OCTOROK_POT_1, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_JABU_JABUS_BELLY, ACTOR_OBJ_TSUBO, SCENE_JABU_JABU, TWO_ACTOR_PARAMS(-1127, -2271), 0x4201, "Two Octorok Pot 1", "Jabu Jabus Belly Two Octorok Pot 1", RHT_POT_JABU_JABUS_BELLY, RG_BLUE_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_JABU_JABUS_BELLY_TWO_OCTOROK_POT_1), SpoilerCollectionCheckGroup::GROUP_DUNGEON_JABUJABUS_BELLY);
+ locationTable[RC_JABU_JABUS_BELLY_TWO_OCTOROK_POT_2] = Location::Base(RC_JABU_JABUS_BELLY_TWO_OCTOROK_POT_2, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_JABU_JABUS_BELLY, ACTOR_OBJ_TSUBO, SCENE_JABU_JABU, TWO_ACTOR_PARAMS(-1178, -2272), 0x4402, "Two Octorok Pot 2", "Jabu Jabus Belly Two Octorok Pot 2", RHT_POT_JABU_JABUS_BELLY, RG_RED_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_JABU_JABUS_BELLY_TWO_OCTOROK_POT_2), SpoilerCollectionCheckGroup::GROUP_DUNGEON_JABUJABUS_BELLY);
+ locationTable[RC_JABU_JABUS_BELLY_TWO_OCTOROK_POT_3] = Location::Base(RC_JABU_JABUS_BELLY_TWO_OCTOROK_POT_3, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_JABU_JABUS_BELLY, ACTOR_OBJ_TSUBO, SCENE_JABU_JABU, TWO_ACTOR_PARAMS(-1150, -2248), 0x4012, "Two Octorok Pot 3", "Jabu Jabus Belly Two Octorok Pot 3", RHT_POT_JABU_JABUS_BELLY, RG_GREEN_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_JABU_JABUS_BELLY_TWO_OCTOROK_POT_3), SpoilerCollectionCheckGroup::GROUP_DUNGEON_JABUJABUS_BELLY);
+ locationTable[RC_JABU_JABUS_BELLY_TWO_OCTOROK_POT_4] = Location::Base(RC_JABU_JABUS_BELLY_TWO_OCTOROK_POT_4, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_JABU_JABUS_BELLY, ACTOR_OBJ_TSUBO, SCENE_JABU_JABU, TWO_ACTOR_PARAMS(-1131, -2221), 0x4602, "Two Octorok Pot 4", "Jabu Jabus Belly Two Octorok Pot 4", RHT_POT_JABU_JABUS_BELLY, RG_RED_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_JABU_JABUS_BELLY_TWO_OCTOROK_POT_4), SpoilerCollectionCheckGroup::GROUP_DUNGEON_JABUJABUS_BELLY);
+ locationTable[RC_JABU_JABUS_BELLY_TWO_OCTOROK_POT_5] = Location::Base(RC_JABU_JABUS_BELLY_TWO_OCTOROK_POT_5, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_JABU_JABUS_BELLY, ACTOR_OBJ_TSUBO, SCENE_JABU_JABU, TWO_ACTOR_PARAMS(-1173, -2227), 0x4801, "Two Octorok Pot 5", "Jabu Jabus Belly Two Octorok Pot 5", RHT_POT_JABU_JABUS_BELLY, RG_BLUE_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_JABU_JABUS_BELLY_TWO_OCTOROK_POT_5), SpoilerCollectionCheckGroup::GROUP_DUNGEON_JABUJABUS_BELLY);
+ locationTable[RC_FOREST_TEMPLE_LOBBY_POT_1] = Location::Base(RC_FOREST_TEMPLE_LOBBY_POT_1, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_FOREST_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_FOREST_TEMPLE, TWO_ACTOR_PARAMS(720, -1037), 0x4403, "Lobby Pot 1", "Forest Temple Lobby Pot 1", RHT_POT_FOREST_TEMPLE, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_FOREST_TEMPLE_LOBBY_POT_1), SpoilerCollectionCheckGroup::GROUP_DUNGEON_FOREST_TEMPLE);
+ locationTable[RC_FOREST_TEMPLE_LOBBY_POT_2] = Location::Base(RC_FOREST_TEMPLE_LOBBY_POT_2, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_FOREST_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_FOREST_TEMPLE, TWO_ACTOR_PARAMS(675, -989), 0x400f, "Lobby Pot 2", "Forest Temple Lobby Pot 2", RHT_POT_FOREST_TEMPLE, RG_BLUE_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_FOREST_TEMPLE_LOBBY_POT_2), SpoilerCollectionCheckGroup::GROUP_DUNGEON_FOREST_TEMPLE);
+ locationTable[RC_FOREST_TEMPLE_LOBBY_POT_3] = Location::Base(RC_FOREST_TEMPLE_LOBBY_POT_3, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_FOREST_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_FOREST_TEMPLE, TWO_ACTOR_PARAMS(630, -943), 0x4809, "Lobby Pot 3", "Forest Temple Lobby Pot 3", RHT_POT_FOREST_TEMPLE, RG_ARROWS_10, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_FOREST_TEMPLE_LOBBY_POT_3), SpoilerCollectionCheckGroup::GROUP_DUNGEON_FOREST_TEMPLE);
+ locationTable[RC_FOREST_TEMPLE_LOBBY_POT_4] = Location::Base(RC_FOREST_TEMPLE_LOBBY_POT_4, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_FOREST_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_FOREST_TEMPLE, TWO_ACTOR_PARAMS(-384, -937), 0x4a09, "Lobby Pot 4", "Forest Temple Lobby Pot 4", RHT_POT_FOREST_TEMPLE, RG_ARROWS_10, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_FOREST_TEMPLE_LOBBY_POT_4), SpoilerCollectionCheckGroup::GROUP_DUNGEON_FOREST_TEMPLE);
+ locationTable[RC_FOREST_TEMPLE_LOBBY_POT_5] = Location::Base(RC_FOREST_TEMPLE_LOBBY_POT_5, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_FOREST_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_FOREST_TEMPLE, TWO_ACTOR_PARAMS(-429, -981), 0x420f, "Lobby Pot 5", "Forest Temple Lobby Pot 5", RHT_POT_FOREST_TEMPLE, RG_BLUE_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_FOREST_TEMPLE_LOBBY_POT_5), SpoilerCollectionCheckGroup::GROUP_DUNGEON_FOREST_TEMPLE);
+ locationTable[RC_FOREST_TEMPLE_LOBBY_POT_6] = Location::Base(RC_FOREST_TEMPLE_LOBBY_POT_6, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_FOREST_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_FOREST_TEMPLE, TWO_ACTOR_PARAMS(-477, -1034), 0x4603, "Lobby Pot 6", "Forest Temple Lobby Pot 6", RHT_POT_FOREST_TEMPLE, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_FOREST_TEMPLE_LOBBY_POT_6), SpoilerCollectionCheckGroup::GROUP_DUNGEON_FOREST_TEMPLE);
+ locationTable[RC_FOREST_TEMPLE_LOWER_STALFOS_POT_1] = Location::Base(RC_FOREST_TEMPLE_LOWER_STALFOS_POT_1, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_FOREST_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_FOREST_TEMPLE, TWO_ACTOR_PARAMS(90, -3583), 0x6203, "Lower Stalfos Pot 1", "Forest Temple Lower Stalfos Pot 1", RHT_POT_FOREST_TEMPLE, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_FOREST_TEMPLE_LOWER_STALFOS_POT_1), SpoilerCollectionCheckGroup::GROUP_DUNGEON_FOREST_TEMPLE);
+ locationTable[RC_FOREST_TEMPLE_LOWER_STALFOS_POT_2] = Location::Base(RC_FOREST_TEMPLE_LOWER_STALFOS_POT_2, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_FOREST_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_FOREST_TEMPLE, TWO_ACTOR_PARAMS(142, -3583), 0x6412, "Lower Stalfos Pot 2", "Forest Temple Lower Stalfos Pot 2", RHT_POT_FOREST_TEMPLE, RG_GREEN_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_FOREST_TEMPLE_LOWER_STALFOS_POT_2), SpoilerCollectionCheckGroup::GROUP_DUNGEON_FOREST_TEMPLE);
+ locationTable[RC_FOREST_TEMPLE_GREEN_POE_POT_1] = Location::Base(RC_FOREST_TEMPLE_GREEN_POE_POT_1, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_FOREST_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_FOREST_TEMPLE, TWO_ACTOR_PARAMS(1647, -1529), 0x5603, "Green Poe Pot 1", "Forest Temple Green Poe Pot 1", RHT_POT_FOREST_TEMPLE, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_FOREST_TEMPLE_GREEN_POE_POT_1), SpoilerCollectionCheckGroup::GROUP_DUNGEON_FOREST_TEMPLE);
+ locationTable[RC_FOREST_TEMPLE_GREEN_POE_POT_2] = Location::Base(RC_FOREST_TEMPLE_GREEN_POE_POT_2, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_FOREST_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_FOREST_TEMPLE, TWO_ACTOR_PARAMS(1645, -1588), 0x5809, "Green Poe Pot 2", "Forest Temple Green Poe Pot 2", RHT_POT_FOREST_TEMPLE, RG_ARROWS_10, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_FOREST_TEMPLE_GREEN_POE_POT_2), SpoilerCollectionCheckGroup::GROUP_DUNGEON_FOREST_TEMPLE);
+ locationTable[RC_FOREST_TEMPLE_UPPER_STALFOS_POT_1] = Location::Base(RC_FOREST_TEMPLE_UPPER_STALFOS_POT_1, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_FOREST_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_FOREST_TEMPLE, TWO_ACTOR_PARAMS(32, -3012), 0x6803, "Upper Stalfos Pot 1", "Forest Temple Upper Stalfos Pot 1", RHT_POT_FOREST_TEMPLE, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_FOREST_TEMPLE_UPPER_STALFOS_POT_1), SpoilerCollectionCheckGroup::GROUP_DUNGEON_FOREST_TEMPLE);
+ locationTable[RC_FOREST_TEMPLE_UPPER_STALFOS_POT_2] = Location::Base(RC_FOREST_TEMPLE_UPPER_STALFOS_POT_2, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_FOREST_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_FOREST_TEMPLE, TWO_ACTOR_PARAMS(202, -3012), 0x6c03, "Upper Stalfos Pot 2", "Forest Temple Upper Stalfos Pot 2", RHT_POT_FOREST_TEMPLE, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_FOREST_TEMPLE_UPPER_STALFOS_POT_2), SpoilerCollectionCheckGroup::GROUP_DUNGEON_FOREST_TEMPLE);
+ locationTable[RC_FOREST_TEMPLE_UPPER_STALFOS_POT_3] = Location::Base(RC_FOREST_TEMPLE_UPPER_STALFOS_POT_3, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_FOREST_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_FOREST_TEMPLE, TWO_ACTOR_PARAMS(30, -3631), 0x6a03, "Upper Stalfos Pot 3", "Forest Temple Upper Stalfos Pot 3", RHT_POT_FOREST_TEMPLE, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_FOREST_TEMPLE_UPPER_STALFOS_POT_3), SpoilerCollectionCheckGroup::GROUP_DUNGEON_FOREST_TEMPLE);
+ locationTable[RC_FOREST_TEMPLE_UPPER_STALFOS_POT_4] = Location::Base(RC_FOREST_TEMPLE_UPPER_STALFOS_POT_4, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_FOREST_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_FOREST_TEMPLE, TWO_ACTOR_PARAMS(206, -3631), 0x6603, "Upper Stalfos Pot 4", "Forest Temple Upper Stalfos Pot 4", RHT_POT_FOREST_TEMPLE, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_FOREST_TEMPLE_UPPER_STALFOS_POT_4), SpoilerCollectionCheckGroup::GROUP_DUNGEON_FOREST_TEMPLE);
+ locationTable[RC_FOREST_TEMPLE_BLUE_POE_POT_1] = Location::Base(RC_FOREST_TEMPLE_BLUE_POE_POT_1, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_FOREST_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_FOREST_TEMPLE, TWO_ACTOR_PARAMS(830, -3639), 0x4c03, "Blue Poe Pot 1", "Forest Temple Blue Poe Pot 1", RHT_POT_FOREST_TEMPLE, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_FOREST_TEMPLE_BLUE_POE_POT_1), SpoilerCollectionCheckGroup::GROUP_DUNGEON_FOREST_TEMPLE);
+ locationTable[RC_FOREST_TEMPLE_BLUE_POE_POT_2] = Location::Base(RC_FOREST_TEMPLE_BLUE_POE_POT_2, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_FOREST_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_FOREST_TEMPLE, TWO_ACTOR_PARAMS(883, -3640), 0x5009, "Blue Poe Pot 2", "Forest Temple Blue Poe Pot 2", RHT_POT_FOREST_TEMPLE, RG_ARROWS_10, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_FOREST_TEMPLE_BLUE_POE_POT_2), SpoilerCollectionCheckGroup::GROUP_DUNGEON_FOREST_TEMPLE);
+ locationTable[RC_FOREST_TEMPLE_BLUE_POE_POT_3] = Location::Base(RC_FOREST_TEMPLE_BLUE_POE_POT_3, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_FOREST_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_FOREST_TEMPLE, TWO_ACTOR_PARAMS(941, -3640), 0x4e09, "Blue Poe Pot 3", "Forest Temple Blue Poe Pot 3", RHT_POT_FOREST_TEMPLE, RG_ARROWS_10, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_FOREST_TEMPLE_BLUE_POE_POT_3), SpoilerCollectionCheckGroup::GROUP_DUNGEON_FOREST_TEMPLE);
+ locationTable[RC_FOREST_TEMPLE_FROZEN_EYE_POT_1] = Location::Base(RC_FOREST_TEMPLE_FROZEN_EYE_POT_1, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_FOREST_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_FOREST_TEMPLE, TWO_ACTOR_PARAMS(2312, -874), 0x5203, "Frozen Eye Pot 1", "Forest Temple Frozen Eye Pot 1", RHT_POT_FOREST_TEMPLE, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_FOREST_TEMPLE_FROZEN_EYE_POT_1), SpoilerCollectionCheckGroup::GROUP_DUNGEON_FOREST_TEMPLE);
+ locationTable[RC_FOREST_TEMPLE_FROZEN_EYE_POT_2] = Location::Base(RC_FOREST_TEMPLE_FROZEN_EYE_POT_2, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_FOREST_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_FOREST_TEMPLE, TWO_ACTOR_PARAMS(2364, -873), 0x5409, "Frozen Eye Pot 2", "Forest Temple Frozen Eye Pot 2", RHT_POT_FOREST_TEMPLE, RG_ARROWS_10, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_FOREST_TEMPLE_FROZEN_EYE_POT_2), SpoilerCollectionCheckGroup::GROUP_DUNGEON_FOREST_TEMPLE);
+ locationTable[RC_FIRE_TEMPLE_NEAR_BOSS_POT_1] = Location::Base(RC_FIRE_TEMPLE_NEAR_BOSS_POT_1, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_FIRE_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_FIRE_TEMPLE, TWO_ACTOR_PARAMS(-1086, -714), 0x5c12, "Near Boss Pot 1", "Fire Temple Near Boss Pot 1", RHT_POT_FIRE_TEMPLE, RG_GREEN_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_FIRE_TEMPLE_NEAR_BOSS_POT_1), SpoilerCollectionCheckGroup::GROUP_DUNGEON_FIRE_TEMPLE);
+ locationTable[RC_FIRE_TEMPLE_NEAR_BOSS_POT_2] = Location::Base(RC_FIRE_TEMPLE_NEAR_BOSS_POT_2, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_FIRE_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_FIRE_TEMPLE, TWO_ACTOR_PARAMS(-1138, -713), 0x5804, "Near Boss Pot 2", "Fire Temple Near Boss Pot 2", RHT_POT_FIRE_TEMPLE, RG_BOMBS_5, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_FIRE_TEMPLE_NEAR_BOSS_POT_2), SpoilerCollectionCheckGroup::GROUP_DUNGEON_FIRE_TEMPLE);
+ locationTable[RC_FIRE_TEMPLE_NEAR_BOSS_POT_3] = Location::Base(RC_FIRE_TEMPLE_NEAR_BOSS_POT_3, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_FIRE_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_FIRE_TEMPLE, TWO_ACTOR_PARAMS(-1087, -765), 0x5a04, "Near Boss Pot 3", "Fire Temple Near Boss Pot 3", RHT_POT_FIRE_TEMPLE, RG_BOMBS_5, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_FIRE_TEMPLE_NEAR_BOSS_POT_3), SpoilerCollectionCheckGroup::GROUP_DUNGEON_FIRE_TEMPLE);
+ locationTable[RC_FIRE_TEMPLE_NEAR_BOSS_POT_4] = Location::Base(RC_FIRE_TEMPLE_NEAR_BOSS_POT_4, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_FIRE_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_FIRE_TEMPLE, TWO_ACTOR_PARAMS(-1139, -766), 0x5612, "Near Boss Pot 4", "Fire Temple Near Boss Pot 4", RHT_POT_FIRE_TEMPLE, RG_GREEN_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_FIRE_TEMPLE_NEAR_BOSS_POT_4), SpoilerCollectionCheckGroup::GROUP_DUNGEON_FIRE_TEMPLE);
+ locationTable[RC_FIRE_TEMPLE_BIG_LAVA_POT_1] = Location::Base(RC_FIRE_TEMPLE_BIG_LAVA_POT_1, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_FIRE_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_FIRE_TEMPLE, TWO_ACTOR_PARAMS(2226, -754), 0x4409, "Big Lava Pot 1", "Fire Temple Big Lava Pot 1", RHT_POT_FIRE_TEMPLE, RG_ARROWS_10, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_FIRE_TEMPLE_BIG_LAVA_POT_1), SpoilerCollectionCheckGroup::GROUP_DUNGEON_FIRE_TEMPLE);
+ locationTable[RC_FIRE_TEMPLE_BIG_LAVA_POT_2] = Location::Base(RC_FIRE_TEMPLE_BIG_LAVA_POT_2, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_FIRE_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_FIRE_TEMPLE, TWO_ACTOR_PARAMS(2226, -809), 0x4203, "Big Lava Pot 2", "Fire Temple Big Lava Pot 2", RHT_POT_FIRE_TEMPLE, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_FIRE_TEMPLE_BIG_LAVA_POT_2), SpoilerCollectionCheckGroup::GROUP_DUNGEON_FIRE_TEMPLE);
+ locationTable[RC_FIRE_TEMPLE_BIG_LAVA_POT_3] = Location::Base(RC_FIRE_TEMPLE_BIG_LAVA_POT_3, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_FIRE_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_FIRE_TEMPLE, TWO_ACTOR_PARAMS(2227, -862), 0x4009, "Big Lava Pot 3", "Fire Temple Big Lava Pot 3", RHT_POT_FIRE_TEMPLE, RG_ARROWS_10, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_FIRE_TEMPLE_BIG_LAVA_POT_3), SpoilerCollectionCheckGroup::GROUP_DUNGEON_FIRE_TEMPLE);
+ locationTable[RC_FIRE_TEMPLE_FLAME_MAZE_LEFT_POT_1] = Location::Base(RC_FIRE_TEMPLE_FLAME_MAZE_LEFT_POT_1, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_FIRE_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_FIRE_TEMPLE, TWO_ACTOR_PARAMS(-2388, 953), 0x5403, "Flame Maze Left Pot 1", "Fire Temple Flame Maze Left Pot 1", RHT_POT_FIRE_TEMPLE, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_FIRE_TEMPLE_FLAME_MAZE_LEFT_POT_1), SpoilerCollectionCheckGroup::GROUP_DUNGEON_FIRE_TEMPLE);
+ locationTable[RC_FIRE_TEMPLE_FLAME_MAZE_LEFT_POT_2] = Location::Base(RC_FIRE_TEMPLE_FLAME_MAZE_LEFT_POT_2, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_FIRE_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_FIRE_TEMPLE, TWO_ACTOR_PARAMS(-2423, 920), 0x5203, "Flame Maze Left Pot 2", "Fire Temple Flame Maze Left Pot 2", RHT_POT_FIRE_TEMPLE, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_FIRE_TEMPLE_FLAME_MAZE_LEFT_POT_2), SpoilerCollectionCheckGroup::GROUP_DUNGEON_FIRE_TEMPLE);
+ locationTable[RC_FIRE_TEMPLE_FLAME_MAZE_LEFT_POT_3] = Location::Base(RC_FIRE_TEMPLE_FLAME_MAZE_LEFT_POT_3, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_FIRE_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_FIRE_TEMPLE, TWO_ACTOR_PARAMS(-2442, 715), 0x4e03, "Flame Maze Left Pot 3", "Fire Temple Flame Maze Left Pot 3", RHT_POT_FIRE_TEMPLE, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_FIRE_TEMPLE_FLAME_MAZE_LEFT_POT_3), SpoilerCollectionCheckGroup::GROUP_DUNGEON_FIRE_TEMPLE);
+ locationTable[RC_FIRE_TEMPLE_FLAME_MAZE_LEFT_POT_4] = Location::Base(RC_FIRE_TEMPLE_FLAME_MAZE_LEFT_POT_4, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_FIRE_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_FIRE_TEMPLE, TWO_ACTOR_PARAMS(-2408, 680), 0x5003, "Flame Maze Left Pot 4", "Fire Temple Flame Maze Left Pot 4", RHT_POT_FIRE_TEMPLE, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_FIRE_TEMPLE_FLAME_MAZE_LEFT_POT_4), SpoilerCollectionCheckGroup::GROUP_DUNGEON_FIRE_TEMPLE);
+ locationTable[RC_FIRE_TEMPLE_FLAME_MAZE_RIGHT_POT_1] = Location::Base(RC_FIRE_TEMPLE_FLAME_MAZE_RIGHT_POT_1, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_FIRE_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_FIRE_TEMPLE, TWO_ACTOR_PARAMS(-2208, -168), 0x4c04, "Flame Maze Right Pot 1", "Fire Temple Flame Maze Right Pot 1", RHT_POT_FIRE_TEMPLE, RG_BOMBS_5, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_FIRE_TEMPLE_FLAME_MAZE_RIGHT_POT_1), SpoilerCollectionCheckGroup::GROUP_DUNGEON_FIRE_TEMPLE);
+ locationTable[RC_FIRE_TEMPLE_FLAME_MAZE_RIGHT_POT_2] = Location::Base(RC_FIRE_TEMPLE_FLAME_MAZE_RIGHT_POT_2, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_FIRE_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_FIRE_TEMPLE, TWO_ACTOR_PARAMS(-2253, -167), 0x4a03, "Flame Maze Right Pot 2", "Fire Temple Flame Maze Right Pot 2", RHT_POT_FIRE_TEMPLE, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_FIRE_TEMPLE_FLAME_MAZE_RIGHT_POT_2), SpoilerCollectionCheckGroup::GROUP_DUNGEON_FIRE_TEMPLE);
+ locationTable[RC_FIRE_TEMPLE_FLAME_MAZE_RIGHT_POT_3] = Location::Base(RC_FIRE_TEMPLE_FLAME_MAZE_RIGHT_POT_3, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_FIRE_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_FIRE_TEMPLE, TWO_ACTOR_PARAMS(-2657, -591), 0x4803, "Flame Maze Right Pot 3", "Fire Temple Flame Maze Right Pot 3", RHT_POT_FIRE_TEMPLE, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_FIRE_TEMPLE_FLAME_MAZE_RIGHT_POT_3), SpoilerCollectionCheckGroup::GROUP_DUNGEON_FIRE_TEMPLE);
+ locationTable[RC_FIRE_TEMPLE_FLAME_MAZE_RIGHT_POT_4] = Location::Base(RC_FIRE_TEMPLE_FLAME_MAZE_RIGHT_POT_4, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_FIRE_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_FIRE_TEMPLE, TWO_ACTOR_PARAMS(-2657, -635), 0x4604, "Flame Maze Right Pot 4", "Fire Temple Flame Maze Right Pot 4", RHT_POT_FIRE_TEMPLE, RG_BOMBS_5, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_FIRE_TEMPLE_FLAME_MAZE_RIGHT_POT_4), SpoilerCollectionCheckGroup::GROUP_DUNGEON_FIRE_TEMPLE);
+ locationTable[RC_WATER_TEMPLE_MAIN_LEVEL_2_POT_1] = Location::Base(RC_WATER_TEMPLE_MAIN_LEVEL_2_POT_1, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_WATER_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_WATER_TEMPLE, TWO_ACTOR_PARAMS(330, -198), 0x4603, "Main Level 2 Pot 1", "Water Temple Main Level 2 Pot 1", RHT_POT_WATER_TEMPLE, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_WATER_TEMPLE_MAIN_LEVEL_2_POT_1), SpoilerCollectionCheckGroup::GROUP_DUNGEON_WATER_TEMPLE);
+ locationTable[RC_WATER_TEMPLE_MAIN_LEVEL_2_POT_2] = Location::Base(RC_WATER_TEMPLE_MAIN_LEVEL_2_POT_2, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_WATER_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_WATER_TEMPLE, TWO_ACTOR_PARAMS(331, -168), 0x4403, "Main Level 2 Pot 2", "Water Temple Main Level 2 Pot 2", RHT_POT_WATER_TEMPLE, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_WATER_TEMPLE_MAIN_LEVEL_2_POT_2), SpoilerCollectionCheckGroup::GROUP_DUNGEON_WATER_TEMPLE);
+ locationTable[RC_WATER_TEMPLE_MAIN_LEVEL_1_POT_1] = Location::Base(RC_WATER_TEMPLE_MAIN_LEVEL_1_POT_1, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_WATER_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_WATER_TEMPLE, TWO_ACTOR_PARAMS(-241, -1193), 0x6c12, "Main Level 1 Pot 1", "Water Temple Main Level 1 Pot 1", RHT_POT_WATER_TEMPLE, RG_GREEN_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_WATER_TEMPLE_MAIN_LEVEL_1_POT_1), SpoilerCollectionCheckGroup::GROUP_DUNGEON_WATER_TEMPLE);
+ locationTable[RC_WATER_TEMPLE_MAIN_LEVEL_1_POT_2] = Location::Base(RC_WATER_TEMPLE_MAIN_LEVEL_1_POT_2, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_WATER_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_WATER_TEMPLE, TWO_ACTOR_PARAMS(-117, -1192), 0x6012, "Main Level 1 Pot 2", "Water Temple Main Level 1 Pot 2", RHT_POT_WATER_TEMPLE, RG_GREEN_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_WATER_TEMPLE_MAIN_LEVEL_1_POT_2), SpoilerCollectionCheckGroup::GROUP_DUNGEON_WATER_TEMPLE);
+ locationTable[RC_WATER_TEMPLE_TORCH_POT_1] = Location::Base(RC_WATER_TEMPLE_TORCH_POT_1, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_WATER_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_WATER_TEMPLE, TWO_ACTOR_PARAMS(1123, 62), 0x4a09, "Torch Pot 1", "Water Temple Torch Pot 1", RHT_POT_WATER_TEMPLE, RG_ARROWS_10, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_WATER_TEMPLE_TORCH_POT_1), SpoilerCollectionCheckGroup::GROUP_DUNGEON_WATER_TEMPLE);
+ locationTable[RC_WATER_TEMPLE_TORCH_POT_2] = Location::Base(RC_WATER_TEMPLE_TORCH_POT_2, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_WATER_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_WATER_TEMPLE, TWO_ACTOR_PARAMS(1123, 293), 0x4c09, "Torch Pot 2", "Water Temple Torch Pot 2", RHT_POT_WATER_TEMPLE, RG_ARROWS_10, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_WATER_TEMPLE_TORCH_POT_2), SpoilerCollectionCheckGroup::GROUP_DUNGEON_WATER_TEMPLE);
+ locationTable[RC_WATER_TEMPLE_NEAR_COMPASS_POT_1] = Location::Base(RC_WATER_TEMPLE_NEAR_COMPASS_POT_1, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_WATER_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_WATER_TEMPLE, TWO_ACTOR_PARAMS(1222, -617), 0x4003, "Near Compass Pot 1", "Water Temple Near Compass Pot 1", RHT_POT_WATER_TEMPLE, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_WATER_TEMPLE_NEAR_COMPASS_POT_1), SpoilerCollectionCheckGroup::GROUP_DUNGEON_WATER_TEMPLE);
+ locationTable[RC_WATER_TEMPLE_NEAR_COMPASS_POT_2] = Location::Base(RC_WATER_TEMPLE_NEAR_COMPASS_POT_2, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_WATER_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_WATER_TEMPLE, TWO_ACTOR_PARAMS(1172, -617), 0x5003, "Near Compass Pot 2", "Water Temple Near Compass Pot 2", RHT_POT_WATER_TEMPLE, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_WATER_TEMPLE_NEAR_COMPASS_POT_2), SpoilerCollectionCheckGroup::GROUP_DUNGEON_WATER_TEMPLE);
+ locationTable[RC_WATER_TEMPLE_NEAR_COMPASS_POT_3] = Location::Base(RC_WATER_TEMPLE_NEAR_COMPASS_POT_3, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_WATER_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_WATER_TEMPLE, TWO_ACTOR_PARAMS(1122, -617), 0x4e03, "Near Compass Pot 3", "Water Temple Near Compass Pot 3", RHT_POT_WATER_TEMPLE, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_WATER_TEMPLE_NEAR_COMPASS_POT_3), SpoilerCollectionCheckGroup::GROUP_DUNGEON_WATER_TEMPLE);
+ locationTable[RC_WATER_TEMPLE_CENTRAL_BOW_POT_1] = Location::Base(RC_WATER_TEMPLE_CENTRAL_BOW_POT_1, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_WATER_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_WATER_TEMPLE, TWO_ACTOR_PARAMS(688, 1008), 0x6e03, "Central Bow Pot 1", "Water Temple Central Bow Pot 1", RHT_POT_WATER_TEMPLE, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_WATER_TEMPLE_CENTRAL_BOW_POT_1), SpoilerCollectionCheckGroup::GROUP_DUNGEON_WATER_TEMPLE);
+ locationTable[RC_WATER_TEMPLE_CENTRAL_BOW_POT_2] = Location::Base(RC_WATER_TEMPLE_CENTRAL_BOW_POT_2, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_WATER_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_WATER_TEMPLE, TWO_ACTOR_PARAMS(631, 1008), 0x7e03, "Central Bow Pot 2", "Water Temple Central Bow Pot 2", RHT_POT_WATER_TEMPLE, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_WATER_TEMPLE_CENTRAL_BOW_POT_2), SpoilerCollectionCheckGroup::GROUP_DUNGEON_WATER_TEMPLE);
+ locationTable[RC_WATER_TEMPLE_BEHIND_GATE_POT_1] = Location::Base(RC_WATER_TEMPLE_BEHIND_GATE_POT_1, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_WATER_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_WATER_TEMPLE, TWO_ACTOR_PARAMS(-2313, 944), 0x5209, "Behind Gate Pot 1", "Water Temple Behind Gate Pot 1", RHT_POT_WATER_TEMPLE, RG_ARROWS_10, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_WATER_TEMPLE_BEHIND_GATE_POT_1), SpoilerCollectionCheckGroup::GROUP_DUNGEON_WATER_TEMPLE);
+ locationTable[RC_WATER_TEMPLE_BEHIND_GATE_POT_2] = Location::Base(RC_WATER_TEMPLE_BEHIND_GATE_POT_2, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_WATER_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_WATER_TEMPLE, TWO_ACTOR_PARAMS(-2313, 905), 0x6a09, "Behind Gate Pot 2", "Water Temple Behind Gate Pot 2", RHT_POT_WATER_TEMPLE, RG_ARROWS_10, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_WATER_TEMPLE_BEHIND_GATE_POT_2), SpoilerCollectionCheckGroup::GROUP_DUNGEON_WATER_TEMPLE);
+ locationTable[RC_WATER_TEMPLE_BEHIND_GATE_POT_3] = Location::Base(RC_WATER_TEMPLE_BEHIND_GATE_POT_3, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_WATER_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_WATER_TEMPLE, TWO_ACTOR_PARAMS(-2314, 808), 0x4804, "Behind Gate Pot 3", "Water Temple Behind Gate Pot 3", RHT_POT_WATER_TEMPLE, RG_BOMBS_5, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_WATER_TEMPLE_BEHIND_GATE_POT_3), SpoilerCollectionCheckGroup::GROUP_DUNGEON_WATER_TEMPLE);
+ locationTable[RC_WATER_TEMPLE_BEHIND_GATE_POT_4] = Location::Base(RC_WATER_TEMPLE_BEHIND_GATE_POT_4, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_WATER_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_WATER_TEMPLE, TWO_ACTOR_PARAMS(-2314, 770), 0x4204, "Behind Gate Pot 4", "Water Temple Behind Gate Pot 4", RHT_POT_WATER_TEMPLE, RG_BOMBS_5, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_WATER_TEMPLE_BEHIND_GATE_POT_4), SpoilerCollectionCheckGroup::GROUP_DUNGEON_WATER_TEMPLE);
+ locationTable[RC_WATER_TEMPLE_BASEMENT_BLOCK_PUZZLE_POT_1] = Location::Base(RC_WATER_TEMPLE_BASEMENT_BLOCK_PUZZLE_POT_1, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_WATER_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_WATER_TEMPLE, TWO_ACTOR_PARAMS(-28, -3817), 0x7804, "Basement Block Puzzle Pot 1", "Water Temple Basement Block Puzzle Pot 1", RHT_POT_WATER_TEMPLE, RG_BOMBS_5, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_WATER_TEMPLE_BASEMENT_BLOCK_PUZZLE_POT_1), SpoilerCollectionCheckGroup::GROUP_DUNGEON_WATER_TEMPLE);
+ locationTable[RC_WATER_TEMPLE_BASEMENT_BLOCK_PUZZLE_POT_2] = Location::Base(RC_WATER_TEMPLE_BASEMENT_BLOCK_PUZZLE_POT_2, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_WATER_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_WATER_TEMPLE, TWO_ACTOR_PARAMS(28, -3817), 0x7604, "Basement Block Puzzle Pot 2", "Water Temple Basement Block Puzzle Pot 2", RHT_POT_WATER_TEMPLE, RG_BOMBS_5, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_WATER_TEMPLE_BASEMENT_BLOCK_PUZZLE_POT_2), SpoilerCollectionCheckGroup::GROUP_DUNGEON_WATER_TEMPLE);
+ locationTable[RC_WATER_TEMPLE_RIVER_POT_1] = Location::Base(RC_WATER_TEMPLE_RIVER_POT_1, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_WATER_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_WATER_TEMPLE, TWO_ACTOR_PARAMS(-2226, -2487), 0x5e09, "River Pot 1", "Water Temple River Pot 1", RHT_POT_WATER_TEMPLE, RG_ARROWS_10, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_WATER_TEMPLE_RIVER_POT_1), SpoilerCollectionCheckGroup::GROUP_DUNGEON_WATER_TEMPLE);
+ locationTable[RC_WATER_TEMPLE_RIVER_POT_2] = Location::Base(RC_WATER_TEMPLE_RIVER_POT_2, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_WATER_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_WATER_TEMPLE, TWO_ACTOR_PARAMS(-2184, -2456), 0x6212, "River Pot 2", "Water Temple River Pot 2", RHT_POT_WATER_TEMPLE, RG_GREEN_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_WATER_TEMPLE_RIVER_POT_2), SpoilerCollectionCheckGroup::GROUP_DUNGEON_WATER_TEMPLE);
+ locationTable[RC_WATER_TEMPLE_LIKE_LIKE_POT_1] = Location::Base(RC_WATER_TEMPLE_LIKE_LIKE_POT_1, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_WATER_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_WATER_TEMPLE, TWO_ACTOR_PARAMS(-3188, -1628), 0x560e, "Like Like Pot 1", "Water Temple Like Like Pot 1", RHT_POT_WATER_TEMPLE, RG_BLUE_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_WATER_TEMPLE_LIKE_LIKE_POT_1), SpoilerCollectionCheckGroup::GROUP_DUNGEON_WATER_TEMPLE);
+ locationTable[RC_WATER_TEMPLE_LIKE_LIKE_POT_2] = Location::Base(RC_WATER_TEMPLE_LIKE_LIKE_POT_2, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_WATER_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_WATER_TEMPLE, TWO_ACTOR_PARAMS(-3056, -1626), 0x580e, "Like Like Pot 2", "Water Temple Like Like Pot 2", RHT_POT_WATER_TEMPLE, RG_BLUE_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_WATER_TEMPLE_LIKE_LIKE_POT_2), SpoilerCollectionCheckGroup::GROUP_DUNGEON_WATER_TEMPLE);
+ locationTable[RC_WATER_TEMPLE_BOSS_KEY_POT_1] = Location::Base(RC_WATER_TEMPLE_BOSS_KEY_POT_1, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_WATER_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_WATER_TEMPLE, TWO_ACTOR_PARAMS(-1150, -3031), 0x560e, "Boss Key Pot 1", "Water Temple Boss Key Pot 1", RHT_POT_WATER_TEMPLE, RG_BLUE_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_WATER_TEMPLE_BOSS_KEY_POT_1), SpoilerCollectionCheckGroup::GROUP_DUNGEON_WATER_TEMPLE);
+ locationTable[RC_WATER_TEMPLE_BOSS_KEY_POT_2] = Location::Base(RC_WATER_TEMPLE_BOSS_KEY_POT_2, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_WATER_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_WATER_TEMPLE, TWO_ACTOR_PARAMS(-1417, -3025), 0x580e, "Boss Key Pot 2", "Water Temple Boss Key Pot 2", RHT_POT_WATER_TEMPLE, RG_BLUE_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_WATER_TEMPLE_BOSS_KEY_POT_2), SpoilerCollectionCheckGroup::GROUP_DUNGEON_WATER_TEMPLE);
+ locationTable[RC_SHADOW_TEMPLE_NEAR_DEAD_HAND_POT_1] = Location::Base(RC_SHADOW_TEMPLE_NEAR_DEAD_HAND_POT_1, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_SHADOW_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_SHADOW_TEMPLE, TWO_ACTOR_PARAMS(-1806, -344), 0x500F, "Near Dead Hand Pot 1", "Shadow Temple Near Dead Hand Pot 1", RHT_POT_SHADOW_TEMPLE, RG_BLUE_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_SHADOW_TEMPLE_NEAR_DEAD_HAND_POT_1), SpoilerCollectionCheckGroup::GROUP_DUNGEON_SHADOW_TEMPLE);
+ locationTable[RC_SHADOW_TEMPLE_WHISPERING_WALLS_POT_1] = Location::Base(RC_SHADOW_TEMPLE_WHISPERING_WALLS_POT_1, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_SHADOW_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_SHADOW_TEMPLE, TWO_ACTOR_PARAMS(-1721, 61), 0x520F, "Whispering Walls Pot 1", "Shadow Temple Whispering Walls Pot 1", RHT_POT_SHADOW_TEMPLE, RG_BLUE_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_SHADOW_TEMPLE_WHISPERING_WALLS_POT_1), SpoilerCollectionCheckGroup::GROUP_DUNGEON_SHADOW_TEMPLE);
+ locationTable[RC_SHADOW_TEMPLE_WHISPERING_WALLS_POT_2] = Location::Base(RC_SHADOW_TEMPLE_WHISPERING_WALLS_POT_2, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_SHADOW_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_SHADOW_TEMPLE, TWO_ACTOR_PARAMS(-1407, 61), 0x5403, "Whispering Walls Pot 2", "Shadow Temple Whispering Walls Pot 2", RHT_POT_SHADOW_TEMPLE, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_SHADOW_TEMPLE_WHISPERING_WALLS_POT_2), SpoilerCollectionCheckGroup::GROUP_DUNGEON_SHADOW_TEMPLE);
+ locationTable[RC_SHADOW_TEMPLE_WHISPERING_WALLS_POT_3] = Location::Base(RC_SHADOW_TEMPLE_WHISPERING_WALLS_POT_3, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_SHADOW_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_SHADOW_TEMPLE, TWO_ACTOR_PARAMS(-1614, 61), 0x5E01, "Whispering Walls Pot 3", "Shadow Temple Whispering Walls Pot 3", RHT_POT_SHADOW_TEMPLE, RG_BLUE_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_SHADOW_TEMPLE_WHISPERING_WALLS_POT_3), SpoilerCollectionCheckGroup::GROUP_DUNGEON_SHADOW_TEMPLE);
+ locationTable[RC_SHADOW_TEMPLE_WHISPERING_WALLS_POT_4] = Location::Base(RC_SHADOW_TEMPLE_WHISPERING_WALLS_POT_4, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_SHADOW_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_SHADOW_TEMPLE, TWO_ACTOR_PARAMS(-1055, -257), 0x600C, "Whispering Walls Pot 4", "Shadow Temple Whispering Walls Pot 4", RHT_POT_SHADOW_TEMPLE, RG_DEKU_NUTS_5, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_SHADOW_TEMPLE_WHISPERING_WALLS_POT_4), SpoilerCollectionCheckGroup::GROUP_DUNGEON_SHADOW_TEMPLE);
+ locationTable[RC_SHADOW_TEMPLE_WHISPERING_WALLS_POT_5] = Location::Base(RC_SHADOW_TEMPLE_WHISPERING_WALLS_POT_5, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_SHADOW_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_SHADOW_TEMPLE, TWO_ACTOR_PARAMS(-1050, -130), 0x6203, "Whispering Walls Pot 5", "Shadow Temple Whispering Walls Pot 5", RHT_POT_SHADOW_TEMPLE, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_SHADOW_TEMPLE_WHISPERING_WALLS_POT_5), SpoilerCollectionCheckGroup::GROUP_DUNGEON_SHADOW_TEMPLE);
+ locationTable[RC_SHADOW_TEMPLE_MAP_CHEST_POT_1] = Location::Base(RC_SHADOW_TEMPLE_MAP_CHEST_POT_1, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_SHADOW_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_SHADOW_TEMPLE, TWO_ACTOR_PARAMS(-665, -760), 0x4E09, "Map Chest Pot 1", "Shadow Temple Map Chest Pot 1", RHT_POT_SHADOW_TEMPLE, RG_ARROWS_10, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_SHADOW_TEMPLE_MAP_CHEST_POT_1), SpoilerCollectionCheckGroup::GROUP_DUNGEON_SHADOW_TEMPLE);
+ locationTable[RC_SHADOW_TEMPLE_MAP_CHEST_POT_2] = Location::Base(RC_SHADOW_TEMPLE_MAP_CHEST_POT_2, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_SHADOW_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_SHADOW_TEMPLE, TWO_ACTOR_PARAMS(-929, -748), 0x5803, "Map Chest Pot 2", "Shadow Temple Map Chest Pot 2", RHT_POT_SHADOW_TEMPLE, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_SHADOW_TEMPLE_MAP_CHEST_POT_2), SpoilerCollectionCheckGroup::GROUP_DUNGEON_SHADOW_TEMPLE);
+ locationTable[RC_SHADOW_TEMPLE_FALLING_SPIKES_POT_1] = Location::Base(RC_SHADOW_TEMPLE_FALLING_SPIKES_POT_1, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_SHADOW_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_SHADOW_TEMPLE, TWO_ACTOR_PARAMS(614, 3579), 0x4803, "Falling Spikes Pot 1", "Shadow Temple Falling Spikes Pot 1", RHT_POT_SHADOW_TEMPLE, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_SHADOW_TEMPLE_FALLING_SPIKES_POT_1), SpoilerCollectionCheckGroup::GROUP_DUNGEON_SHADOW_TEMPLE);
+ locationTable[RC_SHADOW_TEMPLE_FALLING_SPIKES_POT_2] = Location::Base(RC_SHADOW_TEMPLE_FALLING_SPIKES_POT_2, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_SHADOW_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_SHADOW_TEMPLE, TWO_ACTOR_PARAMS(798, 3574), 0x4A04, "Falling Spikes Pot 2", "Shadow Temple Falling Spikes Pot 2", RHT_POT_SHADOW_TEMPLE, RG_BOMBS_5, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_SHADOW_TEMPLE_FALLING_SPIKES_POT_2), SpoilerCollectionCheckGroup::GROUP_DUNGEON_SHADOW_TEMPLE);
+ locationTable[RC_SHADOW_TEMPLE_FALLING_SPIKES_POT_3] = Location::Base(RC_SHADOW_TEMPLE_FALLING_SPIKES_POT_3, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_SHADOW_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_SHADOW_TEMPLE, TWO_ACTOR_PARAMS(1173, 3707), 0x5603, "Falling Spikes Pot 3", "Shadow Temple Falling Spikes Pot 3", RHT_POT_SHADOW_TEMPLE, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_SHADOW_TEMPLE_FALLING_SPIKES_POT_3), SpoilerCollectionCheckGroup::GROUP_DUNGEON_SHADOW_TEMPLE);
+ locationTable[RC_SHADOW_TEMPLE_FALLING_SPIKES_POT_4] = Location::Base(RC_SHADOW_TEMPLE_FALLING_SPIKES_POT_4, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_SHADOW_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_SHADOW_TEMPLE, TWO_ACTOR_PARAMS(1173, 3605), 0x5A03, "Falling Spikes Pot 4", "Shadow Temple Falling Spikes Pot 4", RHT_POT_SHADOW_TEMPLE, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_SHADOW_TEMPLE_FALLING_SPIKES_POT_4), SpoilerCollectionCheckGroup::GROUP_DUNGEON_SHADOW_TEMPLE);
+ locationTable[RC_SHADOW_TEMPLE_AFTER_WIND_POT_1] = Location::Base(RC_SHADOW_TEMPLE_AFTER_WIND_POT_1, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_SHADOW_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_SHADOW_TEMPLE, TWO_ACTOR_PARAMS(4222, -916), 0x5C01, "After Wind Pot 1", "Shadow Temple After Wind Pot 1", RHT_POT_SHADOW_TEMPLE, RG_BLUE_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_SHADOW_TEMPLE_AFTER_WIND_POT_1), SpoilerCollectionCheckGroup::GROUP_DUNGEON_SHADOW_TEMPLE);
+ locationTable[RC_SHADOW_TEMPLE_AFTER_WIND_POT_2] = Location::Base(RC_SHADOW_TEMPLE_AFTER_WIND_POT_2, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_SHADOW_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_SHADOW_TEMPLE, TWO_ACTOR_PARAMS(4549, -922), 0x640C, "After Wind Pot 2", "Shadow Temple After Wind Pot 2", RHT_POT_SHADOW_TEMPLE, RG_DEKU_NUTS_5, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_SHADOW_TEMPLE_AFTER_WIND_POT_2), SpoilerCollectionCheckGroup::GROUP_DUNGEON_SHADOW_TEMPLE);
+ locationTable[RC_SHADOW_TEMPLE_SPIKE_WALLS_POT_1] = Location::Base(RC_SHADOW_TEMPLE_SPIKE_WALLS_POT_1, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_SHADOW_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_SHADOW_TEMPLE, TWO_ACTOR_PARAMS(-4303, -2657), 0x4C0E, "Spike Walls Pot 1", "Shadow Temple Spike Walls Pot 1", RHT_POT_SHADOW_TEMPLE, RG_BLUE_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_SHADOW_TEMPLE_SPIKE_WALLS_POT_1), SpoilerCollectionCheckGroup::GROUP_DUNGEON_SHADOW_TEMPLE);
+ locationTable[RC_SHADOW_TEMPLE_FLOORMASTER_POT_1] = Location::Base(RC_SHADOW_TEMPLE_FLOORMASTER_POT_1, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_SHADOW_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_SHADOW_TEMPLE, TWO_ACTOR_PARAMS(-4575, -811), 0x6603, "Floormaster Pot 1", "Shadow Temple Floormaster Pot 1", RHT_POT_SHADOW_TEMPLE, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_SHADOW_TEMPLE_FLOORMASTER_POT_1), SpoilerCollectionCheckGroup::GROUP_DUNGEON_SHADOW_TEMPLE);
+ locationTable[RC_SHADOW_TEMPLE_FLOORMASTER_POT_2] = Location::Base(RC_SHADOW_TEMPLE_FLOORMASTER_POT_2, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_SHADOW_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_SHADOW_TEMPLE, TWO_ACTOR_PARAMS(-4036, -811), 0x680A, "Floormaster Pot 2", "Shadow Temple Floormaster Pot 2", RHT_POT_SHADOW_TEMPLE, RG_ARROWS_30, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_SHADOW_TEMPLE_FLOORMASTER_POT_2), SpoilerCollectionCheckGroup::GROUP_DUNGEON_SHADOW_TEMPLE);
+ locationTable[RC_SHADOW_TEMPLE_AFTER_BOAT_POT_1] = Location::Base(RC_SHADOW_TEMPLE_AFTER_BOAT_POT_1, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_SHADOW_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_SHADOW_TEMPLE, TWO_ACTOR_PARAMS(-2400, -1470), 0x7009, "After Boat Pot 1", "Shadow Temple After Boat Pot 1", RHT_POT_SHADOW_TEMPLE, RG_ARROWS_10, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_SHADOW_TEMPLE_AFTER_BOAT_POT_1), SpoilerCollectionCheckGroup::GROUP_DUNGEON_SHADOW_TEMPLE);
+ locationTable[RC_SHADOW_TEMPLE_AFTER_BOAT_POT_2] = Location::Base(RC_SHADOW_TEMPLE_AFTER_BOAT_POT_2, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_SHADOW_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_SHADOW_TEMPLE, TWO_ACTOR_PARAMS(-2230, -1470), 0x763F, "After Boat Pot 2", "Shadow Temple After Boat Pot 2", RHT_POT_SHADOW_TEMPLE, RG_GREEN_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_SHADOW_TEMPLE_AFTER_BOAT_POT_2), SpoilerCollectionCheckGroup::GROUP_DUNGEON_SHADOW_TEMPLE);
+ locationTable[RC_SHADOW_TEMPLE_AFTER_BOAT_POT_3] = Location::Base(RC_SHADOW_TEMPLE_AFTER_BOAT_POT_3, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_SHADOW_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_SHADOW_TEMPLE, TWO_ACTOR_PARAMS(-2859, -497), 0x7A0A, "After Boat Pot 3", "Shadow Temple After Boat Pot 3", RHT_POT_SHADOW_TEMPLE, RG_ARROWS_30, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_SHADOW_TEMPLE_AFTER_BOAT_POT_3), SpoilerCollectionCheckGroup::GROUP_DUNGEON_SHADOW_TEMPLE);
+ locationTable[RC_SHADOW_TEMPLE_AFTER_BOAT_POT_4] = Location::Base(RC_SHADOW_TEMPLE_AFTER_BOAT_POT_4, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_SHADOW_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_SHADOW_TEMPLE, TWO_ACTOR_PARAMS(-2624, -492), 0x7C0E, "After Boat Pot 4", "Shadow Temple After Boat Pot 4", RHT_POT_SHADOW_TEMPLE, RG_BLUE_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_SHADOW_TEMPLE_AFTER_BOAT_POT_4), SpoilerCollectionCheckGroup::GROUP_DUNGEON_SHADOW_TEMPLE);
+ locationTable[RC_SPIRIT_TEMPLE_LOBBY_POT_1] = Location::Base(RC_SPIRIT_TEMPLE_LOBBY_POT_1, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_SPIRIT_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_SPIRIT_TEMPLE, TWO_ACTOR_PARAMS(-181, 233), 0x4203, "Lobby Pot 1", "Spirit Temple Lobby Pot 1", RHT_POT_SPIRIT_TEMPLE, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_SPIRIT_TEMPLE_LOBBY_POT_1), SpoilerCollectionCheckGroup::GROUP_DUNGEON_SPIRIT_TEMPLE);
+ locationTable[RC_SPIRIT_TEMPLE_LOBBY_POT_2] = Location::Base(RC_SPIRIT_TEMPLE_LOBBY_POT_2, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_SPIRIT_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_SPIRIT_TEMPLE, TWO_ACTOR_PARAMS(184, 231), 0x440E, "Lobby Pot 2", "Spirit Temple Lobby Pot 2", RHT_POT_SPIRIT_TEMPLE, RG_BLUE_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_SPIRIT_TEMPLE_LOBBY_POT_2), SpoilerCollectionCheckGroup::GROUP_DUNGEON_SPIRIT_TEMPLE);
+ locationTable[RC_SPIRIT_TEMPLE_ANUBIS_POT_1] = Location::Base(RC_SPIRIT_TEMPLE_ANUBIS_POT_1, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_SPIRIT_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_SPIRIT_TEMPLE, TWO_ACTOR_PARAMS(-975, -1751), 0x5A3F, "Anubis Pot 1", "Spirit Temple Anubis Pot 1", RHT_POT_SPIRIT_TEMPLE, RG_GREEN_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_SPIRIT_TEMPLE_ANUBIS_POT_1), SpoilerCollectionCheckGroup::GROUP_DUNGEON_SPIRIT_TEMPLE);
+ locationTable[RC_SPIRIT_TEMPLE_ANUBIS_POT_2] = Location::Base(RC_SPIRIT_TEMPLE_ANUBIS_POT_2, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_SPIRIT_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_SPIRIT_TEMPLE, TWO_ACTOR_PARAMS(-928, -1827), 0x5C3F, "Anubis Pot 2", "Spirit Temple Anubis Pot 2", RHT_POT_SPIRIT_TEMPLE, RG_GREEN_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_SPIRIT_TEMPLE_ANUBIS_POT_2), SpoilerCollectionCheckGroup::GROUP_DUNGEON_SPIRIT_TEMPLE);
+ locationTable[RC_SPIRIT_TEMPLE_ANUBIS_POT_3] = Location::Base(RC_SPIRIT_TEMPLE_ANUBIS_POT_3, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_SPIRIT_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_SPIRIT_TEMPLE, TWO_ACTOR_PARAMS(-1211, -1530), 0x5E03, "Anubis Pot 3", "Spirit Temple Anubis Pot 3", RHT_POT_SPIRIT_TEMPLE, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_SPIRIT_TEMPLE_ANUBIS_POT_3), SpoilerCollectionCheckGroup::GROUP_DUNGEON_SPIRIT_TEMPLE);
+ locationTable[RC_SPIRIT_TEMPLE_ANUBIS_POT_4] = Location::Base(RC_SPIRIT_TEMPLE_ANUBIS_POT_4, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_SPIRIT_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_SPIRIT_TEMPLE, TWO_ACTOR_PARAMS(-1055, -1680), 0x6015, "Anubis Pot 4", "Spirit Temple Anubis Pot 4", RHT_POT_SPIRIT_TEMPLE, RG_DEKU_SHIELD, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_SPIRIT_TEMPLE_ANUBIS_POT_4), SpoilerCollectionCheckGroup::GROUP_DUNGEON_SPIRIT_TEMPLE);
+ locationTable[RC_SPIRIT_TEMPLE_CHILD_CLIMB_POT_1] = Location::Base(RC_SPIRIT_TEMPLE_CHILD_CLIMB_POT_1, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_SPIRIT_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_SPIRIT_TEMPLE, TWO_ACTOR_PARAMS(-1101, -1305), 0x4610, "Child Climb Pot 1", "Spirit Temple Child Climb Pot 1", RHT_POT_SPIRIT_TEMPLE, RG_DEKU_SEEDS_30, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_SPIRIT_TEMPLE_CHILD_CLIMB_POT_1), SpoilerCollectionCheckGroup::GROUP_DUNGEON_SPIRIT_TEMPLE);
+ locationTable[RC_SPIRIT_TEMPLE_AFTER_SUN_BLOCK_POT_1] = Location::Base(RC_SPIRIT_TEMPLE_AFTER_SUN_BLOCK_POT_1, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_SPIRIT_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_SPIRIT_TEMPLE, TWO_ACTOR_PARAMS(-1781, 830), 0x5403, "After Sun Block Pot 1", "Spirit Temple After Sun Block Pot 1", RHT_POT_SPIRIT_TEMPLE, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_SPIRIT_TEMPLE_AFTER_SUN_BLOCK_POT_1), SpoilerCollectionCheckGroup::GROUP_DUNGEON_SPIRIT_TEMPLE);
+ locationTable[RC_SPIRIT_TEMPLE_AFTER_SUN_BLOCK_POT_2] = Location::Base(RC_SPIRIT_TEMPLE_AFTER_SUN_BLOCK_POT_2, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_SPIRIT_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_SPIRIT_TEMPLE, TWO_ACTOR_PARAMS(-1617, 830), 0x5603, "After Sun Block Pot 2", "Spirit Temple After Sun Block Pot 2", RHT_POT_SPIRIT_TEMPLE, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_SPIRIT_TEMPLE_AFTER_SUN_BLOCK_POT_2), SpoilerCollectionCheckGroup::GROUP_DUNGEON_SPIRIT_TEMPLE);
+ locationTable[RC_SPIRIT_TEMPLE_CENTRAL_CHAMBER_POT_1] = Location::Base(RC_SPIRIT_TEMPLE_CENTRAL_CHAMBER_POT_1, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_SPIRIT_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_SPIRIT_TEMPLE, TWO_ACTOR_PARAMS(-600, -1213), 0x483F, "Central Chamber Pot 1", "Spirit Temple Central Chamber Pot 1", RHT_POT_SPIRIT_TEMPLE, RG_GREEN_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_SPIRIT_TEMPLE_CENTRAL_CHAMBER_POT_1), SpoilerCollectionCheckGroup::GROUP_DUNGEON_SPIRIT_TEMPLE);
+ locationTable[RC_SPIRIT_TEMPLE_CENTRAL_CHAMBER_POT_2] = Location::Base(RC_SPIRIT_TEMPLE_CENTRAL_CHAMBER_POT_2, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_SPIRIT_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_SPIRIT_TEMPLE, TWO_ACTOR_PARAMS(-564, -1180), 0x4A3F, "Central Chamber Pot 2", "Spirit Temple Central Chamber Pot 2", RHT_POT_SPIRIT_TEMPLE, RG_GREEN_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_SPIRIT_TEMPLE_CENTRAL_CHAMBER_POT_2), SpoilerCollectionCheckGroup::GROUP_DUNGEON_SPIRIT_TEMPLE);
+ locationTable[RC_SPIRIT_TEMPLE_CENTRAL_CHAMBER_POT_3] = Location::Base(RC_SPIRIT_TEMPLE_CENTRAL_CHAMBER_POT_3, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_SPIRIT_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_SPIRIT_TEMPLE, TWO_ACTOR_PARAMS(-526, -1213), 0x4C3F, "Central Chamber Pot 3", "Spirit Temple Central Chamber Pot 3", RHT_POT_SPIRIT_TEMPLE, RG_GREEN_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_SPIRIT_TEMPLE_CENTRAL_CHAMBER_POT_3), SpoilerCollectionCheckGroup::GROUP_DUNGEON_SPIRIT_TEMPLE);
+ locationTable[RC_SPIRIT_TEMPLE_CENTRAL_CHAMBER_POT_4] = Location::Base(RC_SPIRIT_TEMPLE_CENTRAL_CHAMBER_POT_4, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_SPIRIT_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_SPIRIT_TEMPLE, TWO_ACTOR_PARAMS(639, -1224), 0x4E3F, "Central Chamber Pot 4", "Spirit Temple Central Chamber Pot 4", RHT_POT_SPIRIT_TEMPLE, RG_GREEN_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_SPIRIT_TEMPLE_CENTRAL_CHAMBER_POT_4), SpoilerCollectionCheckGroup::GROUP_DUNGEON_SPIRIT_TEMPLE);
+ locationTable[RC_SPIRIT_TEMPLE_CENTRAL_CHAMBER_POT_5] = Location::Base(RC_SPIRIT_TEMPLE_CENTRAL_CHAMBER_POT_5, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_SPIRIT_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_SPIRIT_TEMPLE, TWO_ACTOR_PARAMS(671, -1179), 0x503F, "Central Chamber Pot 5", "Spirit Temple Central Chamber Pot 5", RHT_POT_SPIRIT_TEMPLE, RG_GREEN_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_SPIRIT_TEMPLE_CENTRAL_CHAMBER_POT_5), SpoilerCollectionCheckGroup::GROUP_DUNGEON_SPIRIT_TEMPLE);
+ locationTable[RC_SPIRIT_TEMPLE_CENTRAL_CHAMBER_POT_6] = Location::Base(RC_SPIRIT_TEMPLE_CENTRAL_CHAMBER_POT_6, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_SPIRIT_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_SPIRIT_TEMPLE, TWO_ACTOR_PARAMS(704, -1224), 0x523F, "Central Chamber Pot 6", "Spirit Temple Central Chamber Pot 6", RHT_POT_SPIRIT_TEMPLE, RG_GREEN_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_SPIRIT_TEMPLE_CENTRAL_CHAMBER_POT_6), SpoilerCollectionCheckGroup::GROUP_DUNGEON_SPIRIT_TEMPLE);
+ locationTable[RC_SPIRIT_TEMPLE_BEAMOS_HALL_POT_1] = Location::Base(RC_SPIRIT_TEMPLE_BEAMOS_HALL_POT_1, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_SPIRIT_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_SPIRIT_TEMPLE, TWO_ACTOR_PARAMS(819, -333), 0x580B, "Beamos Hall Pot 1", "Spirit Temple Beamos Hall Pot 1", RHT_POT_SPIRIT_TEMPLE, RG_BOMBS_10, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_SPIRIT_TEMPLE_BEAMOS_HALL_POT_1), SpoilerCollectionCheckGroup::GROUP_DUNGEON_SPIRIT_TEMPLE);
+ locationTable[RC_GANONS_CASTLE_FOREST_TRIAL_POT_1] = Location::Base(RC_GANONS_CASTLE_FOREST_TRIAL_POT_1, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_GANONS_CASTLE, ACTOR_OBJ_TSUBO, SCENE_INSIDE_GANONS_CASTLE, TWO_ACTOR_PARAMS(1725, 2336), 0x6A03, "Forest Trial Pot 1", "Ganons Castle Forest Trial Pot 1", RHT_POT_GANONS_CASTLE, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_GANONS_CASTLE_FOREST_TRIAL_POT_1), SpoilerCollectionCheckGroup::GROUP_DUNGEON_GANONS_CASTLE);
+ locationTable[RC_GANONS_CASTLE_FOREST_TRIAL_POT_2] = Location::Base(RC_GANONS_CASTLE_FOREST_TRIAL_POT_2, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_GANONS_CASTLE, ACTOR_OBJ_TSUBO, SCENE_INSIDE_GANONS_CASTLE, TWO_ACTOR_PARAMS(1892, 2241), 0x6C0F, "Forest Trial Pot 2", "Ganons Castle Forest Trial Pot 2", RHT_POT_GANONS_CASTLE, RG_BLUE_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_GANONS_CASTLE_FOREST_TRIAL_POT_2), SpoilerCollectionCheckGroup::GROUP_DUNGEON_GANONS_CASTLE);
+ locationTable[RC_GANONS_CASTLE_FIRE_TRIAL_POT_2] = Location::Base(RC_GANONS_CASTLE_FIRE_TRIAL_POT_2, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_GANONS_CASTLE, ACTOR_OBJ_TSUBO, SCENE_INSIDE_GANONS_CASTLE, TWO_ACTOR_PARAMS(-1898, -3942), 0x620F, "Fire Trial Pot 2", "Ganons Castle Fire Trial Pot 2", RHT_POT_GANONS_CASTLE, RG_BLUE_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_GANONS_CASTLE_FIRE_TRIAL_POT_2), SpoilerCollectionCheckGroup::GROUP_DUNGEON_GANONS_CASTLE);
+ locationTable[RC_GANONS_CASTLE_FIRE_TRIAL_POT_1] = Location::Base(RC_GANONS_CASTLE_FIRE_TRIAL_POT_1, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_GANONS_CASTLE, ACTOR_OBJ_TSUBO, SCENE_INSIDE_GANONS_CASTLE, TWO_ACTOR_PARAMS(-2051, -3855), 0x6003, "Fire Trial Pot 1", "Ganons Castle Fire Trial Pot 1", RHT_POT_GANONS_CASTLE, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_GANONS_CASTLE_FIRE_TRIAL_POT_1), SpoilerCollectionCheckGroup::GROUP_DUNGEON_GANONS_CASTLE);
+ locationTable[RC_GANONS_CASTLE_WATER_TRIAL_POT_1] = Location::Base(RC_GANONS_CASTLE_WATER_TRIAL_POT_1, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_GANONS_CASTLE, ACTOR_OBJ_TSUBO, SCENE_INSIDE_GANONS_CASTLE, TWO_ACTOR_PARAMS(3558, -920), 0x7203, "Water Trial Pot 1", "Ganons Castle Water Trial Pot 1", RHT_POT_GANONS_CASTLE, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_GANONS_CASTLE_WATER_TRIAL_POT_1), SpoilerCollectionCheckGroup::GROUP_DUNGEON_GANONS_CASTLE);
+ locationTable[RC_GANONS_CASTLE_WATER_TRIAL_POT_2] = Location::Base(RC_GANONS_CASTLE_WATER_TRIAL_POT_2, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_GANONS_CASTLE, ACTOR_OBJ_TSUBO, SCENE_INSIDE_GANONS_CASTLE, TWO_ACTOR_PARAMS(3558, -761), 0x740F, "Water Trial Pot 2", "Ganons Castle Water Trial Pot 2", RHT_POT_GANONS_CASTLE, RG_BLUE_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_GANONS_CASTLE_WATER_TRIAL_POT_2), SpoilerCollectionCheckGroup::GROUP_DUNGEON_GANONS_CASTLE);
+ locationTable[RC_GANONS_CASTLE_WATER_TRIAL_POT_3] = Location::Base(RC_GANONS_CASTLE_WATER_TRIAL_POT_3, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_GANONS_CASTLE, ACTOR_OBJ_TSUBO, SCENE_INSIDE_GANONS_CASTLE, TWO_ACTOR_PARAMS(2822, -507), 0x740F, "Water Trial Pot 3", "Ganons Castle Water Trial Pot 3", RHT_POT_GANONS_CASTLE, RG_GREEN_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_GANONS_CASTLE_WATER_TRIAL_POT_3), SpoilerCollectionCheckGroup::GROUP_DUNGEON_GANONS_CASTLE);
+ locationTable[RC_GANONS_CASTLE_SHADOW_TRIAL_POT_1] = Location::Base(RC_GANONS_CASTLE_SHADOW_TRIAL_POT_1, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_GANONS_CASTLE, ACTOR_OBJ_TSUBO, SCENE_INSIDE_GANONS_CASTLE, TWO_ACTOR_PARAMS(1234, -3418), 0x5A09, "Shadow Trial Pot 1", "Ganons Castle Shadow Trial Pot 1", RHT_POT_GANONS_CASTLE, RG_ARROWS_10, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_GANONS_CASTLE_SHADOW_TRIAL_POT_1), SpoilerCollectionCheckGroup::GROUP_DUNGEON_GANONS_CASTLE);
+ locationTable[RC_GANONS_CASTLE_SHADOW_TRIAL_POT_2] = Location::Base(RC_GANONS_CASTLE_SHADOW_TRIAL_POT_2, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_GANONS_CASTLE, ACTOR_OBJ_TSUBO, SCENE_INSIDE_GANONS_CASTLE, TWO_ACTOR_PARAMS(1621, -3203), 0x5E0E, "Shadow Trial Pot 2", "Ganons Castle Shadow Trial Pot 2", RHT_POT_GANONS_CASTLE, RG_BLUE_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_GANONS_CASTLE_SHADOW_TRIAL_POT_2), SpoilerCollectionCheckGroup::GROUP_DUNGEON_GANONS_CASTLE);
+ locationTable[RC_GANONS_CASTLE_SHADOW_TRIAL_POT_3] = Location::Base(RC_GANONS_CASTLE_SHADOW_TRIAL_POT_3, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_GANONS_CASTLE, ACTOR_OBJ_TSUBO, SCENE_INSIDE_GANONS_CASTLE, TWO_ACTOR_PARAMS(2067, -4592), 0x6209, "Shadow Trial Pot 3", "Ganons Castle Shadow Trial Pot 3", RHT_POT_GANONS_CASTLE, RG_ARROWS_10, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_GANONS_CASTLE_SHADOW_TRIAL_POT_3), SpoilerCollectionCheckGroup::GROUP_DUNGEON_GANONS_CASTLE);
+ locationTable[RC_GANONS_CASTLE_SHADOW_TRIAL_POT_4] = Location::Base(RC_GANONS_CASTLE_SHADOW_TRIAL_POT_4, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_GANONS_CASTLE, ACTOR_OBJ_TSUBO, SCENE_INSIDE_GANONS_CASTLE, TWO_ACTOR_PARAMS(2224, -4506), 0x640E, "Shadow Trial Pot 4", "Ganons Castle Shadow Trial Pot 4", RHT_POT_GANONS_CASTLE, RG_BLUE_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_GANONS_CASTLE_SHADOW_TRIAL_POT_4), SpoilerCollectionCheckGroup::GROUP_DUNGEON_GANONS_CASTLE);
+ locationTable[RC_GANONS_CASTLE_SPIRIT_TRIAL_POT_1] = Location::Base(RC_GANONS_CASTLE_SPIRIT_TRIAL_POT_1, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_GANONS_CASTLE, ACTOR_OBJ_TSUBO, SCENE_INSIDE_GANONS_CASTLE, TWO_ACTOR_PARAMS(-1398, 1402), 0x660C, "Spirit Trial Pot 1", "Ganons Castle Spirit Trial Pot 1", RHT_POT_GANONS_CASTLE, RG_DEKU_NUTS_5, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_GANONS_CASTLE_SPIRIT_TRIAL_POT_1), SpoilerCollectionCheckGroup::GROUP_DUNGEON_GANONS_CASTLE);
+ locationTable[RC_GANONS_CASTLE_SPIRIT_TRIAL_POT_2] = Location::Base(RC_GANONS_CASTLE_SPIRIT_TRIAL_POT_2, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_GANONS_CASTLE, ACTOR_OBJ_TSUBO, SCENE_INSIDE_GANONS_CASTLE, TWO_ACTOR_PARAMS(-1237, 1494), 0x680F, "Spirit Trial Pot 2", "Ganons Castle Spirit Trial Pot 2", RHT_POT_GANONS_CASTLE, RG_BLUE_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_GANONS_CASTLE_SPIRIT_TRIAL_POT_2), SpoilerCollectionCheckGroup::GROUP_DUNGEON_GANONS_CASTLE);
+ locationTable[RC_GANONS_CASTLE_LIGHT_TRIAL_BOULDER_POT_1] = Location::Base(RC_GANONS_CASTLE_LIGHT_TRIAL_BOULDER_POT_1, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_GANONS_CASTLE, ACTOR_OBJ_TSUBO, SCENE_INSIDE_GANONS_CASTLE, TWO_ACTOR_PARAMS(-2581, -839), 0x4A2A, "Light Trial Boulder Pot 1", "Ganons Castle Light Trial Boulder Pot 1", RHT_POT_GANONS_CASTLE, RG_ARROWS_30, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_GANONS_CASTLE_LIGHT_TRIAL_BOULDER_POT_1), SpoilerCollectionCheckGroup::GROUP_DUNGEON_GANONS_CASTLE);
+ locationTable[RC_GANONS_CASTLE_LIGHT_TRIAL_POT_1] = Location::Base(RC_GANONS_CASTLE_LIGHT_TRIAL_POT_1, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_GANONS_CASTLE, ACTOR_OBJ_TSUBO, SCENE_INSIDE_GANONS_CASTLE, TWO_ACTOR_PARAMS(-3840, -923), 0x7603, "Light Trial Pot 1", "Ganons Castle Light Trial Pot 1", RHT_POT_GANONS_CASTLE, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_GANONS_CASTLE_LIGHT_TRIAL_POT_1), SpoilerCollectionCheckGroup::GROUP_DUNGEON_GANONS_CASTLE);
+ locationTable[RC_GANONS_CASTLE_LIGHT_TRIAL_POT_2] = Location::Base(RC_GANONS_CASTLE_LIGHT_TRIAL_POT_2, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_GANONS_CASTLE, ACTOR_OBJ_TSUBO, SCENE_INSIDE_GANONS_CASTLE, TWO_ACTOR_PARAMS(-3840, -755), 0x780E, "Light Trial Pot 2", "Ganons Castle Light Trial Pot 2", RHT_POT_GANONS_CASTLE, RG_BLUE_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_GANONS_CASTLE_LIGHT_TRIAL_POT_2), SpoilerCollectionCheckGroup::GROUP_DUNGEON_GANONS_CASTLE);
+ locationTable[RC_GANONS_CASTLE_GANONS_TOWER_POT_1] = Location::Base(RC_GANONS_CASTLE_GANONS_TOWER_POT_1, RCQUEST_BOTH, RCTYPE_POT, RCAREA_GANONS_CASTLE, ACTOR_OBJ_TSUBO, SCENE_GANONS_TOWER, TWO_ACTOR_PARAMS(-422, -258), 0x400E, "Ganons Tower Pot 1", "Ganons Castle Ganons Tower Pot 1", RHT_POT_GANONS_CASTLE, RG_BLUE_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_GANONS_CASTLE_GANONS_TOWER_POT_1), SpoilerCollectionCheckGroup::GROUP_DUNGEON_GANONS_CASTLE);
+ locationTable[RC_GANONS_CASTLE_GANONS_TOWER_POT_2] = Location::Base(RC_GANONS_CASTLE_GANONS_TOWER_POT_2, RCQUEST_BOTH, RCTYPE_POT, RCAREA_GANONS_CASTLE, ACTOR_OBJ_TSUBO, SCENE_GANONS_TOWER, TWO_ACTOR_PARAMS(-382, -300), 0x4203, "Ganons Tower Pot 2", "Ganons Castle Ganons Tower Pot 2", RHT_POT_GANONS_CASTLE, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_GANONS_CASTLE_GANONS_TOWER_POT_2), SpoilerCollectionCheckGroup::GROUP_DUNGEON_GANONS_CASTLE);
+ locationTable[RC_GANONS_CASTLE_GANONS_TOWER_POT_3] = Location::Base(RC_GANONS_CASTLE_GANONS_TOWER_POT_3, RCQUEST_BOTH, RCTYPE_POT, RCAREA_GANONS_CASTLE, ACTOR_OBJ_TSUBO, SCENE_GANONS_TOWER, TWO_ACTOR_PARAMS(-342, -341), 0x440F, "Ganons Tower Pot 3", "Ganons Castle Ganons Tower Pot 3", RHT_POT_GANONS_CASTLE, RG_BLUE_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_GANONS_CASTLE_GANONS_TOWER_POT_3), SpoilerCollectionCheckGroup::GROUP_DUNGEON_GANONS_CASTLE);
+ locationTable[RC_GANONS_CASTLE_GANONS_TOWER_POT_4] = Location::Base(RC_GANONS_CASTLE_GANONS_TOWER_POT_4, RCQUEST_BOTH, RCTYPE_POT, RCAREA_GANONS_CASTLE, ACTOR_OBJ_TSUBO, SCENE_GANONS_TOWER, TWO_ACTOR_PARAMS(-298, -383), 0x460F, "Ganons Tower Pot 4", "Ganons Castle Ganons Tower Pot 4", RHT_POT_GANONS_CASTLE, RG_BLUE_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_GANONS_CASTLE_GANONS_TOWER_POT_4), SpoilerCollectionCheckGroup::GROUP_DUNGEON_GANONS_CASTLE);
+ locationTable[RC_GANONS_CASTLE_GANONS_TOWER_POT_5] = Location::Base(RC_GANONS_CASTLE_GANONS_TOWER_POT_5, RCQUEST_BOTH, RCTYPE_POT, RCAREA_GANONS_CASTLE, ACTOR_OBJ_TSUBO, SCENE_GANONS_TOWER, TWO_ACTOR_PARAMS(-257, -424), 0x4803, "Ganons Tower Pot 5", "Ganons Castle Ganons Tower Pot 5", RHT_POT_GANONS_CASTLE, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_GANONS_CASTLE_GANONS_TOWER_POT_5), SpoilerCollectionCheckGroup::GROUP_DUNGEON_GANONS_CASTLE);
+ locationTable[RC_GANONS_CASTLE_GANONS_TOWER_POT_6] = Location::Base(RC_GANONS_CASTLE_GANONS_TOWER_POT_6, RCQUEST_BOTH, RCTYPE_POT, RCAREA_GANONS_CASTLE, ACTOR_OBJ_TSUBO, SCENE_GANONS_TOWER, TWO_ACTOR_PARAMS(-382, -259), 0x4A09, "Ganons Tower Pot 6", "Ganons Castle Ganons Tower Pot 6", RHT_POT_GANONS_CASTLE, RG_ARROWS_10, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_GANONS_CASTLE_GANONS_TOWER_POT_6), SpoilerCollectionCheckGroup::GROUP_DUNGEON_GANONS_CASTLE);
+ locationTable[RC_GANONS_CASTLE_GANONS_TOWER_POT_7] = Location::Base(RC_GANONS_CASTLE_GANONS_TOWER_POT_7, RCQUEST_BOTH, RCTYPE_POT, RCAREA_GANONS_CASTLE, ACTOR_OBJ_TSUBO, SCENE_GANONS_TOWER, TWO_ACTOR_PARAMS(-342, -300), 0x4C09, "Ganons Tower Pot 7", "Ganons Castle Ganons Tower Pot 7", RHT_POT_GANONS_CASTLE, RG_ARROWS_10, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_GANONS_CASTLE_GANONS_TOWER_POT_7), SpoilerCollectionCheckGroup::GROUP_DUNGEON_GANONS_CASTLE);
+ locationTable[RC_GANONS_CASTLE_GANONS_TOWER_POT_8] = Location::Base(RC_GANONS_CASTLE_GANONS_TOWER_POT_8, RCQUEST_BOTH, RCTYPE_POT, RCAREA_GANONS_CASTLE, ACTOR_OBJ_TSUBO, SCENE_GANONS_TOWER, TWO_ACTOR_PARAMS(-301, -341), 0x4E03, "Ganons Tower Pot 8", "Ganons Castle Ganons Tower Pot 8", RHT_POT_GANONS_CASTLE, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_GANONS_CASTLE_GANONS_TOWER_POT_8), SpoilerCollectionCheckGroup::GROUP_DUNGEON_GANONS_CASTLE);
+ locationTable[RC_GANONS_CASTLE_GANONS_TOWER_POT_9] = Location::Base(RC_GANONS_CASTLE_GANONS_TOWER_POT_9, RCQUEST_BOTH, RCTYPE_POT, RCAREA_GANONS_CASTLE, ACTOR_OBJ_TSUBO, SCENE_GANONS_TOWER, TWO_ACTOR_PARAMS(-258, -383), 0x503F, "Ganons Tower Pot 9", "Ganons Castle Ganons Tower Pot 9", RHT_POT_GANONS_CASTLE, RG_GREEN_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_GANONS_CASTLE_GANONS_TOWER_POT_9), SpoilerCollectionCheckGroup::GROUP_DUNGEON_GANONS_CASTLE);
+ locationTable[RC_GANONS_CASTLE_GANONS_TOWER_POT_10] = Location::Base(RC_GANONS_CASTLE_GANONS_TOWER_POT_10, RCQUEST_BOTH, RCTYPE_POT, RCAREA_GANONS_CASTLE, ACTOR_OBJ_TSUBO, SCENE_GANONS_TOWER, TWO_ACTOR_PARAMS(418, -261), 0x523F, "Ganons Tower Pot 10", "Ganons Castle Ganons Tower Pot 10", RHT_POT_GANONS_CASTLE, RG_GREEN_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_GANONS_CASTLE_GANONS_TOWER_POT_10), SpoilerCollectionCheckGroup::GROUP_DUNGEON_GANONS_CASTLE);
+ locationTable[RC_GANONS_CASTLE_GANONS_TOWER_POT_11] = Location::Base(RC_GANONS_CASTLE_GANONS_TOWER_POT_11, RCQUEST_BOTH, RCTYPE_POT, RCAREA_GANONS_CASTLE, ACTOR_OBJ_TSUBO, SCENE_GANONS_TOWER, TWO_ACTOR_PARAMS(377, -301), 0x5409, "Ganons Tower Pot 11", "Ganons Castle Ganons Tower Pot 11", RHT_POT_GANONS_CASTLE, RG_ARROWS_10, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_GANONS_CASTLE_GANONS_TOWER_POT_11), SpoilerCollectionCheckGroup::GROUP_DUNGEON_GANONS_CASTLE);
+ locationTable[RC_GANONS_CASTLE_GANONS_TOWER_POT_12] = Location::Base(RC_GANONS_CASTLE_GANONS_TOWER_POT_12, RCQUEST_BOTH, RCTYPE_POT, RCAREA_GANONS_CASTLE, ACTOR_OBJ_TSUBO, SCENE_GANONS_TOWER, TWO_ACTOR_PARAMS(338, -340), 0x5609, "Ganons Tower Pot 12", "Ganons Castle Ganons Tower Pot 12", RHT_POT_GANONS_CASTLE, RG_ARROWS_10, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_GANONS_CASTLE_GANONS_TOWER_POT_12), SpoilerCollectionCheckGroup::GROUP_DUNGEON_GANONS_CASTLE);
+ locationTable[RC_GANONS_CASTLE_GANONS_TOWER_POT_13] = Location::Base(RC_GANONS_CASTLE_GANONS_TOWER_POT_13, RCQUEST_BOTH, RCTYPE_POT, RCAREA_GANONS_CASTLE, ACTOR_OBJ_TSUBO, SCENE_GANONS_TOWER, TWO_ACTOR_PARAMS(300, -380), 0x5803, "Ganons Tower Pot 13", "Ganons Castle Ganons Tower Pot 13", RHT_POT_GANONS_CASTLE, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_GANONS_CASTLE_GANONS_TOWER_POT_13), SpoilerCollectionCheckGroup::GROUP_DUNGEON_GANONS_CASTLE);
+ locationTable[RC_GANONS_CASTLE_GANONS_TOWER_POT_14] = Location::Base(RC_GANONS_CASTLE_GANONS_TOWER_POT_14, RCQUEST_BOTH, RCTYPE_POT, RCAREA_GANONS_CASTLE, ACTOR_OBJ_TSUBO, SCENE_GANONS_TOWER, TWO_ACTOR_PARAMS(260, -420), 0x5A03, "Ganons Tower Pot 14", "Ganons Castle Ganons Tower Pot 14", RHT_POT_GANONS_CASTLE, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_GANONS_CASTLE_GANONS_TOWER_POT_14), SpoilerCollectionCheckGroup::GROUP_DUNGEON_GANONS_CASTLE);
+ locationTable[RC_GANONS_CASTLE_GANONS_TOWER_POT_15] = Location::Base(RC_GANONS_CASTLE_GANONS_TOWER_POT_15, RCQUEST_BOTH, RCTYPE_POT, RCAREA_GANONS_CASTLE, ACTOR_OBJ_TSUBO, SCENE_GANONS_TOWER, TWO_ACTOR_PARAMS(378, -261), 0x5C03, "Ganons Tower Pot 15", "Ganons Castle Ganons Tower Pot 15", RHT_POT_GANONS_CASTLE, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_GANONS_CASTLE_GANONS_TOWER_POT_15), SpoilerCollectionCheckGroup::GROUP_DUNGEON_GANONS_CASTLE);
+ locationTable[RC_GANONS_CASTLE_GANONS_TOWER_POT_16] = Location::Base(RC_GANONS_CASTLE_GANONS_TOWER_POT_16, RCQUEST_BOTH, RCTYPE_POT, RCAREA_GANONS_CASTLE, ACTOR_OBJ_TSUBO, SCENE_GANONS_TOWER, TWO_ACTOR_PARAMS(337, -300), 0x5E3F, "Ganons Tower Pot 16", "Ganons Castle Ganons Tower Pot 16", RHT_POT_GANONS_CASTLE, RG_GREEN_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_GANONS_CASTLE_GANONS_TOWER_POT_16), SpoilerCollectionCheckGroup::GROUP_DUNGEON_GANONS_CASTLE);
+ locationTable[RC_GANONS_CASTLE_GANONS_TOWER_POT_17] = Location::Base(RC_GANONS_CASTLE_GANONS_TOWER_POT_17, RCQUEST_BOTH, RCTYPE_POT, RCAREA_GANONS_CASTLE, ACTOR_OBJ_TSUBO, SCENE_GANONS_TOWER, TWO_ACTOR_PARAMS(299, -340), 0x603F, "Ganons Tower Pot 17", "Ganons Castle Ganons Tower Pot 17", RHT_POT_GANONS_CASTLE, RG_GREEN_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_GANONS_CASTLE_GANONS_TOWER_POT_17), SpoilerCollectionCheckGroup::GROUP_DUNGEON_GANONS_CASTLE);
+ locationTable[RC_GANONS_CASTLE_GANONS_TOWER_POT_18] = Location::Base(RC_GANONS_CASTLE_GANONS_TOWER_POT_18, RCQUEST_BOTH, RCTYPE_POT, RCAREA_GANONS_CASTLE, ACTOR_OBJ_TSUBO, SCENE_GANONS_TOWER, TWO_ACTOR_PARAMS(260, -380), 0x6209, "Ganons Tower Pot 18", "Ganons Castle Ganons Tower Pot 18", RHT_POT_GANONS_CASTLE, RG_ARROWS_10, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_GANONS_CASTLE_GANONS_TOWER_POT_18), SpoilerCollectionCheckGroup::GROUP_DUNGEON_GANONS_CASTLE);
+ locationTable[RC_BOTTOM_OF_THE_WELL_BASEMENT_POT_1] = Location::Base(RC_BOTTOM_OF_THE_WELL_BASEMENT_POT_1, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_BOTTOM_OF_THE_WELL, ACTOR_OBJ_TSUBO, SCENE_BOTTOM_OF_THE_WELL, TWO_ACTOR_PARAMS(-95, -673), 0x4E03, "Basement Pot 1", "Bottom Of The Well Basement Pot 1", RHT_POT_BOTTOM_OF_THE_WELL, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_BOTTOM_OF_THE_WELL_BASEMENT_POT_1), SpoilerCollectionCheckGroup::GROUP_DUNGEON_BOTTOM_OF_THE_WELL);
+ locationTable[RC_BOTTOM_OF_THE_WELL_BASEMENT_POT_2] = Location::Base(RC_BOTTOM_OF_THE_WELL_BASEMENT_POT_2, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_BOTTOM_OF_THE_WELL, ACTOR_OBJ_TSUBO, SCENE_BOTTOM_OF_THE_WELL, TWO_ACTOR_PARAMS(75, -598), 0x500E, "Basement Pot 2", "Bottom Of The Well Basement Pot 2", RHT_POT_BOTTOM_OF_THE_WELL, RG_BLUE_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_BOTTOM_OF_THE_WELL_BASEMENT_POT_2), SpoilerCollectionCheckGroup::GROUP_DUNGEON_BOTTOM_OF_THE_WELL);
+ locationTable[RC_BOTTOM_OF_THE_WELL_BASEMENT_POT_3] = Location::Base(RC_BOTTOM_OF_THE_WELL_BASEMENT_POT_3, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_BOTTOM_OF_THE_WELL, ACTOR_OBJ_TSUBO, SCENE_BOTTOM_OF_THE_WELL, TWO_ACTOR_PARAMS(270, -1151), 0x5203, "Basement Pot 3", "Bottom Of The Well Basement Pot 3", RHT_POT_BOTTOM_OF_THE_WELL, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_BOTTOM_OF_THE_WELL_BASEMENT_POT_3), SpoilerCollectionCheckGroup::GROUP_DUNGEON_BOTTOM_OF_THE_WELL);
+ locationTable[RC_BOTTOM_OF_THE_WELL_BASEMENT_POT_4] = Location::Base(RC_BOTTOM_OF_THE_WELL_BASEMENT_POT_4, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_BOTTOM_OF_THE_WELL, ACTOR_OBJ_TSUBO, SCENE_BOTTOM_OF_THE_WELL, TWO_ACTOR_PARAMS(566, -1254), 0x5400, "Basement Pot 4", "Bottom Of The Well Basement Pot 4", RHT_POT_BOTTOM_OF_THE_WELL, RG_GREEN_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_BOTTOM_OF_THE_WELL_BASEMENT_POT_4), SpoilerCollectionCheckGroup::GROUP_DUNGEON_BOTTOM_OF_THE_WELL);
+ locationTable[RC_BOTTOM_OF_THE_WELL_BASEMENT_POT_5] = Location::Base(RC_BOTTOM_OF_THE_WELL_BASEMENT_POT_5, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_BOTTOM_OF_THE_WELL, ACTOR_OBJ_TSUBO, SCENE_BOTTOM_OF_THE_WELL, TWO_ACTOR_PARAMS(378, -1089), 0x560E, "Basement Pot 5", "Bottom Of The Well Basement Pot 5", RHT_POT_BOTTOM_OF_THE_WELL, RG_BLUE_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_BOTTOM_OF_THE_WELL_BASEMENT_POT_5), SpoilerCollectionCheckGroup::GROUP_DUNGEON_BOTTOM_OF_THE_WELL);
+ locationTable[RC_BOTTOM_OF_THE_WELL_BASEMENT_POT_6] = Location::Base(RC_BOTTOM_OF_THE_WELL_BASEMENT_POT_6, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_BOTTOM_OF_THE_WELL, ACTOR_OBJ_TSUBO, SCENE_BOTTOM_OF_THE_WELL, TWO_ACTOR_PARAMS(665, -1252), 0x5803, "Basement Pot 6", "Bottom Of The Well Basement Pot 6", RHT_POT_BOTTOM_OF_THE_WELL, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_BOTTOM_OF_THE_WELL_BASEMENT_POT_6), SpoilerCollectionCheckGroup::GROUP_DUNGEON_BOTTOM_OF_THE_WELL);
+ locationTable[RC_BOTTOM_OF_THE_WELL_BASEMENT_POT_7] = Location::Base(RC_BOTTOM_OF_THE_WELL_BASEMENT_POT_7, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_BOTTOM_OF_THE_WELL, ACTOR_OBJ_TSUBO, SCENE_BOTTOM_OF_THE_WELL, TWO_ACTOR_PARAMS(566, -1345), 0x5A03, "Basement Pot 7", "Bottom Of The Well Basement Pot 7", RHT_POT_BOTTOM_OF_THE_WELL, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_BOTTOM_OF_THE_WELL_BASEMENT_POT_7), SpoilerCollectionCheckGroup::GROUP_DUNGEON_BOTTOM_OF_THE_WELL);
+ locationTable[RC_BOTTOM_OF_THE_WELL_BASEMENT_POT_8] = Location::Base(RC_BOTTOM_OF_THE_WELL_BASEMENT_POT_8, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_BOTTOM_OF_THE_WELL, ACTOR_OBJ_TSUBO, SCENE_BOTTOM_OF_THE_WELL, TWO_ACTOR_PARAMS(562, -1304), 0x5C03, "Basement Pot 8", "Bottom Of The Well Basement Pot 8", RHT_POT_BOTTOM_OF_THE_WELL, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_BOTTOM_OF_THE_WELL_BASEMENT_POT_8), SpoilerCollectionCheckGroup::GROUP_DUNGEON_BOTTOM_OF_THE_WELL);
+ locationTable[RC_BOTTOM_OF_THE_WELL_BASEMENT_POT_9] = Location::Base(RC_BOTTOM_OF_THE_WELL_BASEMENT_POT_9, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_BOTTOM_OF_THE_WELL, ACTOR_OBJ_TSUBO, SCENE_BOTTOM_OF_THE_WELL, TWO_ACTOR_PARAMS(313, -1086), 0x5E0C, "Basement Pot 9", "Bottom Of The Well Basement Pot 9", RHT_POT_BOTTOM_OF_THE_WELL, RG_DEKU_NUTS_5, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_BOTTOM_OF_THE_WELL_BASEMENT_POT_9), SpoilerCollectionCheckGroup::GROUP_DUNGEON_BOTTOM_OF_THE_WELL);
+ locationTable[RC_BOTTOM_OF_THE_WELL_BASEMENT_POT_10] = Location::Base(RC_BOTTOM_OF_THE_WELL_BASEMENT_POT_10, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_BOTTOM_OF_THE_WELL, ACTOR_OBJ_TSUBO, SCENE_BOTTOM_OF_THE_WELL, TWO_ACTOR_PARAMS(618, -1254), 0x600D, "Basement Pot 10", "Bottom Of The Well Basement Pot 10", RHT_POT_BOTTOM_OF_THE_WELL, RG_DEKU_STICK_1, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_BOTTOM_OF_THE_WELL_BASEMENT_POT_10), SpoilerCollectionCheckGroup::GROUP_DUNGEON_BOTTOM_OF_THE_WELL);
+ locationTable[RC_BOTTOM_OF_THE_WELL_BASEMENT_POT_11] = Location::Base(RC_BOTTOM_OF_THE_WELL_BASEMENT_POT_11, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_BOTTOM_OF_THE_WELL, ACTOR_OBJ_TSUBO, SCENE_BOTTOM_OF_THE_WELL, TWO_ACTOR_PARAMS(257, -1099), 0x620E, "Basement Pot 11", "Bottom Of The Well Basement Pot 11", RHT_POT_BOTTOM_OF_THE_WELL, RG_BLUE_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_BOTTOM_OF_THE_WELL_BASEMENT_POT_11), SpoilerCollectionCheckGroup::GROUP_DUNGEON_BOTTOM_OF_THE_WELL);
+ locationTable[RC_BOTTOM_OF_THE_WELL_BASEMENT_POT_12] = Location::Base(RC_BOTTOM_OF_THE_WELL_BASEMENT_POT_12, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_BOTTOM_OF_THE_WELL, ACTOR_OBJ_TSUBO, SCENE_BOTTOM_OF_THE_WELL, TWO_ACTOR_PARAMS(296, -1206), 0x6403, "Basement Pot 12", "Bottom Of The Well Basement Pot 12", RHT_POT_BOTTOM_OF_THE_WELL, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_BOTTOM_OF_THE_WELL_BASEMENT_POT_12), SpoilerCollectionCheckGroup::GROUP_DUNGEON_BOTTOM_OF_THE_WELL);
+ locationTable[RC_BOTTOM_OF_THE_WELL_LEFT_SIDE_POT_1] = Location::Base(RC_BOTTOM_OF_THE_WELL_LEFT_SIDE_POT_1, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_BOTTOM_OF_THE_WELL, ACTOR_OBJ_TSUBO, SCENE_BOTTOM_OF_THE_WELL, TWO_ACTOR_PARAMS(-969, 55), 0x4203, "Left Side Pot 1", "Bottom Of The Well Left Side Pot 1", RHT_POT_BOTTOM_OF_THE_WELL, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_BOTTOM_OF_THE_WELL_LEFT_SIDE_POT_1), SpoilerCollectionCheckGroup::GROUP_DUNGEON_BOTTOM_OF_THE_WELL);
+ locationTable[RC_BOTTOM_OF_THE_WELL_LEFT_SIDE_POT_2] = Location::Base(RC_BOTTOM_OF_THE_WELL_LEFT_SIDE_POT_2, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_BOTTOM_OF_THE_WELL, ACTOR_OBJ_TSUBO, SCENE_BOTTOM_OF_THE_WELL, TWO_ACTOR_PARAMS(-966, 9), 0x440F, "Left Side Pot 2", "Bottom Of The Well Left Side Pot 2", RHT_POT_BOTTOM_OF_THE_WELL, RG_BLUE_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_BOTTOM_OF_THE_WELL_LEFT_SIDE_POT_2), SpoilerCollectionCheckGroup::GROUP_DUNGEON_BOTTOM_OF_THE_WELL);
+ locationTable[RC_BOTTOM_OF_THE_WELL_LEFT_SIDE_POT_3] = Location::Base(RC_BOTTOM_OF_THE_WELL_LEFT_SIDE_POT_3, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_BOTTOM_OF_THE_WELL, ACTOR_OBJ_TSUBO, SCENE_BOTTOM_OF_THE_WELL, TWO_ACTOR_PARAMS(-965, -32), 0x4603, "Left Side Pot 3", "Bottom Of The Well Left Side Pot 3", RHT_POT_BOTTOM_OF_THE_WELL, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_BOTTOM_OF_THE_WELL_LEFT_SIDE_POT_3), SpoilerCollectionCheckGroup::GROUP_DUNGEON_BOTTOM_OF_THE_WELL);
+ locationTable[RC_BOTTOM_OF_THE_WELL_NEAR_ENTRANCE_POT_1] = Location::Base(RC_BOTTOM_OF_THE_WELL_NEAR_ENTRANCE_POT_1, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_BOTTOM_OF_THE_WELL, ACTOR_OBJ_TSUBO, SCENE_BOTTOM_OF_THE_WELL, TWO_ACTOR_PARAMS(-41, 389), 0x480D, "Near Entrance Pot 1", "Bottom Of The Well Near Entrance Pot 1", RHT_POT_BOTTOM_OF_THE_WELL, RG_DEKU_STICK_1, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_BOTTOM_OF_THE_WELL_NEAR_ENTRANCE_POT_1), SpoilerCollectionCheckGroup::GROUP_DUNGEON_BOTTOM_OF_THE_WELL);
+ locationTable[RC_BOTTOM_OF_THE_WELL_NEAR_ENTRANCE_POT_2] = Location::Base(RC_BOTTOM_OF_THE_WELL_NEAR_ENTRANCE_POT_2, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_BOTTOM_OF_THE_WELL, ACTOR_OBJ_TSUBO, SCENE_BOTTOM_OF_THE_WELL, TWO_ACTOR_PARAMS(36, 389), 0x4A0F, "Near Entrance Pot 2", "Bottom Of The Well Near Entrance Pot 2", RHT_POT_BOTTOM_OF_THE_WELL, RG_BLUE_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_BOTTOM_OF_THE_WELL_NEAR_ENTRANCE_POT_2), SpoilerCollectionCheckGroup::GROUP_DUNGEON_BOTTOM_OF_THE_WELL);
+ locationTable[RC_BOTTOM_OF_THE_WELL_FIRE_KEESE_POT_1] = Location::Base(RC_BOTTOM_OF_THE_WELL_FIRE_KEESE_POT_1, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_BOTTOM_OF_THE_WELL, ACTOR_OBJ_TSUBO, SCENE_BOTTOM_OF_THE_WELL, TWO_ACTOR_PARAMS(874, -1294), 0x660F, "Fire Keese Pot 1", "Bottom Of The Well Fire Keese Pot 1", RHT_POT_BOTTOM_OF_THE_WELL, RG_BLUE_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_BOTTOM_OF_THE_WELL_FIRE_KEESE_POT_1), SpoilerCollectionCheckGroup::GROUP_DUNGEON_BOTTOM_OF_THE_WELL);
+ locationTable[RC_BOTTOM_OF_THE_WELL_UNDERWATER_POT] = Location::Base(RC_BOTTOM_OF_THE_WELL_UNDERWATER_POT, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_BOTTOM_OF_THE_WELL, ACTOR_OBJ_TSUBO, SCENE_BOTTOM_OF_THE_WELL, TWO_ACTOR_PARAMS(3, -1641), 0x4C04, "Underwater Pot", "Bottom Of The Well Underwater Pot", RHT_POT_BOTTOM_OF_THE_WELL, RG_BOMBS_5, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_BOTTOM_OF_THE_WELL_UNDERWATER_POT), SpoilerCollectionCheckGroup::GROUP_DUNGEON_BOTTOM_OF_THE_WELL);
+ locationTable[RC_ICE_CAVERN_HALL_POT_1] = Location::Base(RC_ICE_CAVERN_HALL_POT_1, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_ICE_CAVERN, ACTOR_OBJ_TSUBO, SCENE_ICE_CAVERN, TWO_ACTOR_PARAMS(-206, 449), 0x4A03, "Hall Pot 1", "Ice Cavern Hall Pot 1", RHT_POT_ICE_CAVERN, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_ICE_CAVERN_HALL_POT_1), SpoilerCollectionCheckGroup::GROUP_DUNGEON_ICE_CAVERN);
+ locationTable[RC_ICE_CAVERN_HALL_POT_2] = Location::Base(RC_ICE_CAVERN_HALL_POT_2, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_ICE_CAVERN, ACTOR_OBJ_TSUBO, SCENE_ICE_CAVERN, TWO_ACTOR_PARAMS(-203, 492), 0x4C03, "Hall Pot 2", "Ice Cavern Hall Pot 2", RHT_POT_ICE_CAVERN, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_ICE_CAVERN_HALL_POT_2), SpoilerCollectionCheckGroup::GROUP_DUNGEON_ICE_CAVERN);
+ locationTable[RC_ICE_CAVERN_SPINNING_BLADE_POT_1] = Location::Base(RC_ICE_CAVERN_SPINNING_BLADE_POT_1, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_ICE_CAVERN, ACTOR_OBJ_TSUBO, SCENE_ICE_CAVERN, TWO_ACTOR_PARAMS(433, -732), 0x4E09, "Spinning Blade Pot 1", "Ice Cavern Spinning Blade Pot 1", RHT_POT_ICE_CAVERN, RG_ARROWS_10, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_ICE_CAVERN_SPINNING_BLADE_POT_1), SpoilerCollectionCheckGroup::GROUP_DUNGEON_ICE_CAVERN);
+ locationTable[RC_ICE_CAVERN_SPINNING_BLADE_POT_2] = Location::Base(RC_ICE_CAVERN_SPINNING_BLADE_POT_2, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_ICE_CAVERN, ACTOR_OBJ_TSUBO, SCENE_ICE_CAVERN, TWO_ACTOR_PARAMS(569, -175), 0x5001, "Spinning Blade Pot 2", "Ice Cavern Spinning Blade Pot 2", RHT_POT_ICE_CAVERN, RG_BLUE_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_ICE_CAVERN_SPINNING_BLADE_POT_2), SpoilerCollectionCheckGroup::GROUP_DUNGEON_ICE_CAVERN);
+ locationTable[RC_ICE_CAVERN_SPINNING_BLADE_POT_3] = Location::Base(RC_ICE_CAVERN_SPINNING_BLADE_POT_3, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_ICE_CAVERN, ACTOR_OBJ_TSUBO, SCENE_ICE_CAVERN, TWO_ACTOR_PARAMS(521, -131), 0x5203, "Spinning Blade Pot 3", "Ice Cavern Spinning Blade Pot 3", RHT_POT_ICE_CAVERN, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_ICE_CAVERN_SPINNING_BLADE_POT_3), SpoilerCollectionCheckGroup::GROUP_DUNGEON_ICE_CAVERN);
+ locationTable[RC_ICE_CAVERN_NEAR_END_POT_1] = Location::Base(RC_ICE_CAVERN_NEAR_END_POT_1, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_ICE_CAVERN, ACTOR_OBJ_TSUBO, SCENE_ICE_CAVERN, TWO_ACTOR_PARAMS(-1422, 586), 0x5403, "Near End Pot 1", "Ice Cavern Near End Pot 1", RHT_POT_ICE_CAVERN, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_ICE_CAVERN_NEAR_END_POT_1), SpoilerCollectionCheckGroup::GROUP_DUNGEON_ICE_CAVERN);
+ locationTable[RC_ICE_CAVERN_NEAR_END_POT_2] = Location::Base(RC_ICE_CAVERN_NEAR_END_POT_2, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_ICE_CAVERN, ACTOR_OBJ_TSUBO, SCENE_ICE_CAVERN, TWO_ACTOR_PARAMS(-1488, 676), 0x5603, "Near End Pot 2", "Ice Cavern Near End Pot 2", RHT_POT_ICE_CAVERN, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_ICE_CAVERN_NEAR_END_POT_2), SpoilerCollectionCheckGroup::GROUP_DUNGEON_ICE_CAVERN);
+ locationTable[RC_ICE_CAVERN_FROZEN_POT_1] = Location::Base(RC_ICE_CAVERN_FROZEN_POT_1, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_ICE_CAVERN, ACTOR_OBJ_TSUBO, SCENE_ICE_CAVERN, TWO_ACTOR_PARAMS(366, -2036), 0x5A14, "Frozen Pot 1", "Ice Cavern Frozen Pot 1", RHT_POT_ICE_CAVERN, RG_PURPLE_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_ICE_CAVERN_FROZEN_POT_1), SpoilerCollectionCheckGroup::GROUP_DUNGEON_ICE_CAVERN);
+
+ // MQ Dungeon Pots
+ // 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_JABU_JABUS_BELLY_MQ_ENTRANCE_POT_1] = Location::Base(RC_JABU_JABUS_BELLY_MQ_ENTRANCE_POT_1, RCQUEST_MQ, RCTYPE_POT, RCAREA_JABU_JABUS_BELLY, ACTOR_OBJ_TSUBO, SCENE_JABU_JABU, TWO_ACTOR_PARAMS(-183, -449), 0x7804, "MQ Entrance Pot 1", "Jabu Jabus Belly MQ Entrance Pot 1", RHT_POT_JABU_JABUS_BELLY, RG_BOMBS_5, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_JABU_JABUS_BELLY_MQ_ENTRANCE_POT_1), SpoilerCollectionCheckGroup::GROUP_DUNGEON_JABUJABUS_BELLY);
+ locationTable[RC_JABU_JABUS_BELLY_MQ_ENTRANCE_POT_2] = Location::Base(RC_JABU_JABUS_BELLY_MQ_ENTRANCE_POT_2, RCQUEST_MQ, RCTYPE_POT, RCAREA_JABU_JABUS_BELLY, ACTOR_OBJ_TSUBO, SCENE_JABU_JABU, TWO_ACTOR_PARAMS(202, -62), 0x640C, "MQ Entrance Pot 2", "Jabu Jabus Belly MQ Entrance Pot 2", RHT_POT_JABU_JABUS_BELLY, RG_DEKU_NUTS_5, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_JABU_JABUS_BELLY_MQ_ENTRANCE_POT_2), SpoilerCollectionCheckGroup::GROUP_DUNGEON_JABUJABUS_BELLY);
+ locationTable[RC_JABU_JABUS_BELLY_MQ_GEYSER_POT_1] = Location::Base(RC_JABU_JABUS_BELLY_MQ_GEYSER_POT_1, RCQUEST_MQ, RCTYPE_POT, RCAREA_JABU_JABUS_BELLY, ACTOR_OBJ_TSUBO, SCENE_JABU_JABU, TWO_ACTOR_PARAMS(-689, -1800), 0x7208, "MQ Geyser Pot 1", "Jabu Jabus Belly MQ Geyser Pot 1", RHT_POT_JABU_JABUS_BELLY, RG_ARROWS_5, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_JABU_JABUS_BELLY_MQ_GEYSER_POT_1), SpoilerCollectionCheckGroup::GROUP_DUNGEON_JABUJABUS_BELLY);
+ locationTable[RC_JABU_JABUS_BELLY_MQ_GEYSER_POT_2] = Location::Base(RC_JABU_JABUS_BELLY_MQ_GEYSER_POT_2, RCQUEST_MQ, RCTYPE_POT, RCAREA_JABU_JABUS_BELLY, ACTOR_OBJ_TSUBO, SCENE_JABU_JABU, TWO_ACTOR_PARAMS(-693, -1614), 0x740C, "MQ Geyser Pot 2", "Jabu Jabus Belly MQ Geyser Pot 2", RHT_POT_JABU_JABUS_BELLY, RG_DEKU_NUTS_5, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_JABU_JABUS_BELLY_MQ_GEYSER_POT_2), SpoilerCollectionCheckGroup::GROUP_DUNGEON_JABUJABUS_BELLY);
+ locationTable[RC_JABU_JABUS_BELLY_MQ_TIME_BLOCK_POT_1] = Location::Base(RC_JABU_JABUS_BELLY_MQ_TIME_BLOCK_POT_1, RCQUEST_MQ, RCTYPE_POT, RCAREA_JABU_JABUS_BELLY, ACTOR_OBJ_TSUBO, SCENE_JABU_JABU, TWO_ACTOR_PARAMS(697, -2318), 0x6604, "MQ Time Block Pot 1", "Jabu Jabus Belly MQ Time Block Pot 1", RHT_POT_JABU_JABUS_BELLY, RG_BOMBS_5, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_JABU_JABUS_BELLY_MQ_TIME_BLOCK_POT_1), SpoilerCollectionCheckGroup::GROUP_DUNGEON_JABUJABUS_BELLY);
+ locationTable[RC_JABU_JABUS_BELLY_MQ_TIME_BLOCK_POT_2] = Location::Base(RC_JABU_JABUS_BELLY_MQ_TIME_BLOCK_POT_2, RCQUEST_MQ, RCTYPE_POT, RCAREA_JABU_JABUS_BELLY, ACTOR_OBJ_TSUBO, SCENE_JABU_JABU, TWO_ACTOR_PARAMS(699, -2445), 0x6808, "MQ Time Block Pot 2", "Jabu Jabus Belly MQ Time Block Pot 2", RHT_POT_JABU_JABUS_BELLY, RG_ARROWS_5, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_JABU_JABUS_BELLY_MQ_TIME_BLOCK_POT_2), SpoilerCollectionCheckGroup::GROUP_DUNGEON_JABUJABUS_BELLY);
+ locationTable[RC_JABU_JABUS_BELLY_MQ_LIKE_LIKES_POT_1] = Location::Base(RC_JABU_JABUS_BELLY_MQ_LIKE_LIKES_POT_1, RCQUEST_MQ, RCTYPE_POT, RCAREA_JABU_JABUS_BELLY, ACTOR_OBJ_TSUBO, SCENE_JABU_JABU, TWO_ACTOR_PARAMS(612, -5932), 0x7A08, "MQ Like Likes Pot 1", "Jabu Jabus Belly MQ Like Likes Pot 1", RHT_POT_JABU_JABUS_BELLY, RG_ARROWS_5, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_JABU_JABUS_BELLY_MQ_LIKE_LIKES_POT_1), SpoilerCollectionCheckGroup::GROUP_DUNGEON_JABUJABUS_BELLY);
+ locationTable[RC_JABU_JABUS_BELLY_MQ_LIKE_LIKES_POT_2] = Location::Base(RC_JABU_JABUS_BELLY_MQ_LIKE_LIKES_POT_2, RCQUEST_MQ, RCTYPE_POT, RCAREA_JABU_JABUS_BELLY, ACTOR_OBJ_TSUBO, SCENE_JABU_JABU, TWO_ACTOR_PARAMS(718, -5929), 0x7E0B, "MQ Like Likes Pot 2", "Jabu Jabus Belly MQ Like Likes Pot 2", RHT_POT_JABU_JABUS_BELLY, RG_BOMBS_10, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_JABU_JABUS_BELLY_MQ_LIKE_LIKES_POT_2), SpoilerCollectionCheckGroup::GROUP_DUNGEON_JABUJABUS_BELLY);
+ locationTable[RC_JABU_JABUS_BELLY_MQ_BEFORE_BOSS_POT_1] = Location::Base(RC_JABU_JABUS_BELLY_MQ_BEFORE_BOSS_POT_1, RCQUEST_MQ, RCTYPE_POT, RCAREA_JABU_JABUS_BELLY, ACTOR_OBJ_TSUBO, SCENE_JABU_JABU, TWO_ACTOR_PARAMS(1305, -2005), 0x6212, "MQ Before Boss Pot 1", "Jabu Jabus Belly MQ Before Boss Pot 1", RHT_POT_JABU_JABUS_BELLY, RG_GREEN_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_JABU_JABUS_BELLY_MQ_BEFORE_BOSS_POT_1), SpoilerCollectionCheckGroup::GROUP_DUNGEON_JABUJABUS_BELLY);
+ locationTable[RC_FOREST_TEMPLE_MQ_LOBBY_POT_1] = Location::Base(RC_FOREST_TEMPLE_MQ_LOBBY_POT_1, RCQUEST_MQ, RCTYPE_POT, RCAREA_FOREST_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_FOREST_TEMPLE, TWO_ACTOR_PARAMS(675, -989), 0x400F, "MQ Lobby Pot 1", "Forest Temple MQ Lobby Pot 1", RHT_POT_FOREST_TEMPLE, RG_BLUE_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_FOREST_TEMPLE_MQ_LOBBY_POT_1), SpoilerCollectionCheckGroup::GROUP_DUNGEON_FOREST_TEMPLE);
+ locationTable[RC_FOREST_TEMPLE_MQ_LOBBY_POT_2] = Location::Base(RC_FOREST_TEMPLE_MQ_LOBBY_POT_2, RCQUEST_MQ, RCTYPE_POT, RCAREA_FOREST_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_FOREST_TEMPLE, TWO_ACTOR_PARAMS(-429, -981), 0x420F, "MQ Lobby Pot 2", "Forest Temple MQ Lobby Pot 2", RHT_POT_FOREST_TEMPLE, RG_BLUE_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_FOREST_TEMPLE_MQ_LOBBY_POT_2), SpoilerCollectionCheckGroup::GROUP_DUNGEON_FOREST_TEMPLE);
+ locationTable[RC_FOREST_TEMPLE_MQ_LOBBY_POT_3] = Location::Base(RC_FOREST_TEMPLE_MQ_LOBBY_POT_3, RCQUEST_MQ, RCTYPE_POT, RCAREA_FOREST_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_FOREST_TEMPLE, TWO_ACTOR_PARAMS(720, -1037), 0x4403, "MQ Lobby Pot 3", "Forest Temple MQ Lobby Pot 3", RHT_POT_FOREST_TEMPLE, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_FOREST_TEMPLE_MQ_LOBBY_POT_3), SpoilerCollectionCheckGroup::GROUP_DUNGEON_FOREST_TEMPLE);
+ locationTable[RC_FOREST_TEMPLE_MQ_LOBBY_POT_4] = Location::Base(RC_FOREST_TEMPLE_MQ_LOBBY_POT_4, RCQUEST_MQ, RCTYPE_POT, RCAREA_FOREST_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_FOREST_TEMPLE, TWO_ACTOR_PARAMS(-477, -1034), 0x4603, "MQ Lobby Pot 4", "Forest Temple MQ Lobby Pot 4", RHT_POT_FOREST_TEMPLE, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_FOREST_TEMPLE_MQ_LOBBY_POT_4), SpoilerCollectionCheckGroup::GROUP_DUNGEON_FOREST_TEMPLE);
+ locationTable[RC_FOREST_TEMPLE_MQ_LOBBY_POT_5] = Location::Base(RC_FOREST_TEMPLE_MQ_LOBBY_POT_5, RCQUEST_MQ, RCTYPE_POT, RCAREA_FOREST_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_FOREST_TEMPLE, TWO_ACTOR_PARAMS(630, -943), 0x4809, "MQ Lobby Pot 5", "Forest Temple MQ Lobby Pot 5", RHT_POT_FOREST_TEMPLE, RG_ARROWS_10, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_FOREST_TEMPLE_MQ_LOBBY_POT_5), SpoilerCollectionCheckGroup::GROUP_DUNGEON_FOREST_TEMPLE);
+ locationTable[RC_FOREST_TEMPLE_MQ_LOBBY_POT_6] = Location::Base(RC_FOREST_TEMPLE_MQ_LOBBY_POT_6, RCQUEST_MQ, RCTYPE_POT, RCAREA_FOREST_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_FOREST_TEMPLE, TWO_ACTOR_PARAMS(-384, -937), 0x4A09, "MQ Lobby Pot 6", "Forest Temple MQ Lobby Pot 6", RHT_POT_FOREST_TEMPLE, RG_ARROWS_10, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_FOREST_TEMPLE_MQ_LOBBY_POT_6), SpoilerCollectionCheckGroup::GROUP_DUNGEON_FOREST_TEMPLE);
+ locationTable[RC_FOREST_TEMPLE_MQ_LOWER_STALFOS_POT_1] = Location::Base(RC_FOREST_TEMPLE_MQ_LOWER_STALFOS_POT_1, RCQUEST_MQ, RCTYPE_POT, RCAREA_FOREST_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_FOREST_TEMPLE, TWO_ACTOR_PARAMS(90, -3583), 0x6203, "MQ Lower Stalfos Pot 1", "Forest Temple MQ Lower Stalfos Pot 1", RHT_POT_FOREST_TEMPLE, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_FOREST_TEMPLE_MQ_LOWER_STALFOS_POT_1), SpoilerCollectionCheckGroup::GROUP_DUNGEON_FOREST_TEMPLE);
+ locationTable[RC_FOREST_TEMPLE_MQ_LOWER_STALFOS_POT_2] = Location::Base(RC_FOREST_TEMPLE_MQ_LOWER_STALFOS_POT_2, RCQUEST_MQ, RCTYPE_POT, RCAREA_FOREST_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_FOREST_TEMPLE, TWO_ACTOR_PARAMS(142, -3583), 0x6412, "MQ Lower Stalfos Pot 2", "Forest Temple MQ Lower Stalfos Pot 2", RHT_POT_FOREST_TEMPLE, RG_GREEN_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_FOREST_TEMPLE_MQ_LOWER_STALFOS_POT_2), SpoilerCollectionCheckGroup::GROUP_DUNGEON_FOREST_TEMPLE);
+ locationTable[RC_FOREST_TEMPLE_MQ_UPPER_STALFOS_POT_1] = Location::Base(RC_FOREST_TEMPLE_MQ_UPPER_STALFOS_POT_1, RCQUEST_MQ, RCTYPE_POT, RCAREA_FOREST_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_FOREST_TEMPLE, TWO_ACTOR_PARAMS(206, -3631), 0x6603, "MQ Upper Stalfos Pot 1", "Forest Temple MQ Upper Stalfos Pot 1", RHT_POT_FOREST_TEMPLE, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_FOREST_TEMPLE_MQ_UPPER_STALFOS_POT_1), SpoilerCollectionCheckGroup::GROUP_DUNGEON_FOREST_TEMPLE);
+ locationTable[RC_FOREST_TEMPLE_MQ_UPPER_STALFOS_POT_2] = Location::Base(RC_FOREST_TEMPLE_MQ_UPPER_STALFOS_POT_2, RCQUEST_MQ, RCTYPE_POT, RCAREA_FOREST_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_FOREST_TEMPLE, TWO_ACTOR_PARAMS(32, -3012), 0x6803, "MQ Upper Stalfos Pot 2", "Forest Temple MQ Upper Stalfos Pot 2", RHT_POT_FOREST_TEMPLE, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_FOREST_TEMPLE_MQ_UPPER_STALFOS_POT_2), SpoilerCollectionCheckGroup::GROUP_DUNGEON_FOREST_TEMPLE);
+ locationTable[RC_FOREST_TEMPLE_MQ_UPPER_STALFOS_POT_3] = Location::Base(RC_FOREST_TEMPLE_MQ_UPPER_STALFOS_POT_3, RCQUEST_MQ, RCTYPE_POT, RCAREA_FOREST_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_FOREST_TEMPLE, TWO_ACTOR_PARAMS(30, -3631), 0x6A03, "MQ Upper Stalfos Pot 3", "Forest Temple MQ Upper Stalfos Pot 3", RHT_POT_FOREST_TEMPLE, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_FOREST_TEMPLE_MQ_UPPER_STALFOS_POT_3), SpoilerCollectionCheckGroup::GROUP_DUNGEON_FOREST_TEMPLE);
+ locationTable[RC_FOREST_TEMPLE_MQ_UPPER_STALFOS_POT_4] = Location::Base(RC_FOREST_TEMPLE_MQ_UPPER_STALFOS_POT_4, RCQUEST_MQ, RCTYPE_POT, RCAREA_FOREST_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_FOREST_TEMPLE, TWO_ACTOR_PARAMS(202, -3012), 0x6C03, "MQ Upper Stalfos Pot 4", "Forest Temple MQ Upper Stalfos Pot 4", RHT_POT_FOREST_TEMPLE, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_FOREST_TEMPLE_MQ_UPPER_STALFOS_POT_4), SpoilerCollectionCheckGroup::GROUP_DUNGEON_FOREST_TEMPLE);
+ locationTable[RC_FOREST_TEMPLE_MQ_BLUE_POE_POT_1] = Location::Base(RC_FOREST_TEMPLE_MQ_BLUE_POE_POT_1, RCQUEST_MQ, RCTYPE_POT, RCAREA_FOREST_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_FOREST_TEMPLE, TWO_ACTOR_PARAMS(830, -3639), 0x4C03, "MQ Blue Poe Pot 1", "Forest Temple MQ Blue Poe Pot 1", RHT_POT_FOREST_TEMPLE, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_FOREST_TEMPLE_MQ_BLUE_POE_POT_1), SpoilerCollectionCheckGroup::GROUP_DUNGEON_FOREST_TEMPLE);
+ locationTable[RC_FOREST_TEMPLE_MQ_BLUE_POE_POT_2] = Location::Base(RC_FOREST_TEMPLE_MQ_BLUE_POE_POT_2, RCQUEST_MQ, RCTYPE_POT, RCAREA_FOREST_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_FOREST_TEMPLE, TWO_ACTOR_PARAMS(941, -3640), 0x4E09, "MQ Blue Poe Pot 2", "Forest Temple MQ Blue Poe Pot 2", RHT_POT_FOREST_TEMPLE, RG_ARROWS_10, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_FOREST_TEMPLE_MQ_BLUE_POE_POT_2), SpoilerCollectionCheckGroup::GROUP_DUNGEON_FOREST_TEMPLE);
+ locationTable[RC_FOREST_TEMPLE_MQ_BLUE_POE_POT_3] = Location::Base(RC_FOREST_TEMPLE_MQ_BLUE_POE_POT_3, RCQUEST_MQ, RCTYPE_POT, RCAREA_FOREST_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_FOREST_TEMPLE, TWO_ACTOR_PARAMS(883, -3640), 0x5009, "MQ Blue Poe Pot 3", "Forest Temple MQ Blue Poe Pot 3", RHT_POT_FOREST_TEMPLE, RG_ARROWS_10, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_FOREST_TEMPLE_MQ_BLUE_POE_POT_3), SpoilerCollectionCheckGroup::GROUP_DUNGEON_FOREST_TEMPLE);
+ locationTable[RC_FOREST_TEMPLE_MQ_GREEN_POE_POT_1] = Location::Base(RC_FOREST_TEMPLE_MQ_GREEN_POE_POT_1, RCQUEST_MQ, RCTYPE_POT, RCAREA_FOREST_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_FOREST_TEMPLE, TWO_ACTOR_PARAMS(1647, -1529), 0x5603, "MQ Green Poe Pot 1", "Forest Temple MQ Green Poe Pot 1", RHT_POT_FOREST_TEMPLE, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_FOREST_TEMPLE_MQ_GREEN_POE_POT_1), SpoilerCollectionCheckGroup::GROUP_DUNGEON_FOREST_TEMPLE);
+ locationTable[RC_FOREST_TEMPLE_MQ_GREEN_POE_POT_2] = Location::Base(RC_FOREST_TEMPLE_MQ_GREEN_POE_POT_2, RCQUEST_MQ, RCTYPE_POT, RCAREA_FOREST_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_FOREST_TEMPLE, TWO_ACTOR_PARAMS(1645, -1588), 0x5809, "MQ Green Poe Pot 2", "Forest Temple MQ Green Poe Pot 2", RHT_POT_FOREST_TEMPLE, RG_ARROWS_10, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_FOREST_TEMPLE_MQ_GREEN_POE_POT_2), SpoilerCollectionCheckGroup::GROUP_DUNGEON_FOREST_TEMPLE);
+ locationTable[RC_FOREST_TEMPLE_MQ_BASEMENT_POT_1] = Location::Base(RC_FOREST_TEMPLE_MQ_BASEMENT_POT_1, RCQUEST_MQ, RCTYPE_POT, RCAREA_FOREST_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_FOREST_TEMPLE, TWO_ACTOR_PARAMS(-461, -1095), 0x7003, "MQ Basement Pot 1", "Forest Temple MQ Basement Pot 1", RHT_POT_FOREST_TEMPLE, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_FOREST_TEMPLE_MQ_BASEMENT_POT_1), SpoilerCollectionCheckGroup::GROUP_DUNGEON_FOREST_TEMPLE);
+ locationTable[RC_FOREST_TEMPLE_MQ_BASEMENT_POT_2] = Location::Base(RC_FOREST_TEMPLE_MQ_BASEMENT_POT_2, RCQUEST_MQ, RCTYPE_POT, RCAREA_FOREST_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_FOREST_TEMPLE, TWO_ACTOR_PARAMS(-351, -979), 0x7203, "MQ Basement Pot 2", "Forest Temple MQ Basement Pot 2", RHT_POT_FOREST_TEMPLE, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_FOREST_TEMPLE_MQ_BASEMENT_POT_2), SpoilerCollectionCheckGroup::GROUP_DUNGEON_FOREST_TEMPLE);
+ locationTable[RC_FOREST_TEMPLE_MQ_BASEMENT_POT_3] = Location::Base(RC_FOREST_TEMPLE_MQ_BASEMENT_POT_3, RCQUEST_MQ, RCTYPE_POT, RCAREA_FOREST_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_FOREST_TEMPLE, TWO_ACTOR_PARAMS(-387, -1018), 0x740B, "MQ Basement Pot 3", "Forest Temple MQ Basement Pot 3", RHT_POT_FOREST_TEMPLE, RG_BOMBS_10, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_FOREST_TEMPLE_MQ_BASEMENT_POT_3), SpoilerCollectionCheckGroup::GROUP_DUNGEON_FOREST_TEMPLE);
+ locationTable[RC_FOREST_TEMPLE_MQ_BASEMENT_POT_4] = Location::Base(RC_FOREST_TEMPLE_MQ_BASEMENT_POT_4, RCQUEST_MQ, RCTYPE_POT, RCAREA_FOREST_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_FOREST_TEMPLE, TWO_ACTOR_PARAMS(-424, -1057), 0x7608, "MQ Basement Pot 4", "Forest Temple MQ Basement Pot 4", RHT_POT_FOREST_TEMPLE, RG_ARROWS_5, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_FOREST_TEMPLE_MQ_BASEMENT_POT_4), SpoilerCollectionCheckGroup::GROUP_DUNGEON_FOREST_TEMPLE);
+ locationTable[RC_DODONGOS_CAVERN_MQ_RIGHT_SIDE_POT_1] = Location::Base(RC_DODONGOS_CAVERN_MQ_RIGHT_SIDE_POT_1, RCQUEST_MQ, RCTYPE_POT, RCAREA_DODONGOS_CAVERN, ACTOR_OBJ_TSUBO, SCENE_DODONGOS_CAVERN, TWO_ACTOR_PARAMS(1727, -151), 0x4400, "MQ Right Side Pot 1", "Dodongos Cavern MQ Right Side Pot 1", RHT_POT_DODONGOS_CAVERN, RG_GREEN_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_DODONGOS_CAVERN_MQ_RIGHT_SIDE_POT_1), SpoilerCollectionCheckGroup::GROUP_DUNGEON_DODONGOS_CAVERN);
+ locationTable[RC_DODONGOS_CAVERN_MQ_RIGHT_SIDE_POT_2] = Location::Base(RC_DODONGOS_CAVERN_MQ_RIGHT_SIDE_POT_2, RCQUEST_MQ, RCTYPE_POT, RCAREA_DODONGOS_CAVERN, ACTOR_OBJ_TSUBO, SCENE_DODONGOS_CAVERN, TWO_ACTOR_PARAMS(1815, -154), 0x4601, "MQ Right Side Pot 2", "Dodongos Cavern MQ Right Side Pot 2", RHT_POT_DODONGOS_CAVERN, RG_BLUE_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_DODONGOS_CAVERN_MQ_RIGHT_SIDE_POT_2), SpoilerCollectionCheckGroup::GROUP_DUNGEON_DODONGOS_CAVERN);
+ locationTable[RC_DODONGOS_CAVERN_MQ_RIGHT_SIDE_POT_3] = Location::Base(RC_DODONGOS_CAVERN_MQ_RIGHT_SIDE_POT_3, RCQUEST_MQ, RCTYPE_POT, RCAREA_DODONGOS_CAVERN, ACTOR_OBJ_TSUBO, SCENE_DODONGOS_CAVERN, TWO_ACTOR_PARAMS(3442, -469), 0x5000, "MQ Right Side Pot 3", "Dodongos Cavern MQ Right Side Pot 3", RHT_POT_DODONGOS_CAVERN, RG_GREEN_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_DODONGOS_CAVERN_MQ_RIGHT_SIDE_POT_3), SpoilerCollectionCheckGroup::GROUP_DUNGEON_DODONGOS_CAVERN);
+ locationTable[RC_DODONGOS_CAVERN_MQ_RIGHT_SIDE_POT_4] = Location::Base(RC_DODONGOS_CAVERN_MQ_RIGHT_SIDE_POT_4, RCQUEST_MQ, RCTYPE_POT, RCAREA_DODONGOS_CAVERN, ACTOR_OBJ_TSUBO, SCENE_DODONGOS_CAVERN, TWO_ACTOR_PARAMS(3682, -466), 0x5210, "MQ Right Side Pot 4", "Dodongos Cavern MQ Right Side Pot 4", RHT_POT_DODONGOS_CAVERN, RG_DEKU_SEEDS_30, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_DODONGOS_CAVERN_MQ_RIGHT_SIDE_POT_4), SpoilerCollectionCheckGroup::GROUP_DUNGEON_DODONGOS_CAVERN);
+ locationTable[RC_DODONGOS_CAVERN_MQ_UPPER_LIZALFOS_POT_1] = Location::Base(RC_DODONGOS_CAVERN_MQ_UPPER_LIZALFOS_POT_1, RCQUEST_MQ, RCTYPE_POT, RCAREA_DODONGOS_CAVERN, ACTOR_OBJ_TSUBO, SCENE_DODONGOS_CAVERN, TWO_ACTOR_PARAMS(3869, -811), 0x5403, "MQ Upper Lizalfos Pot 1", "Dodongos Cavern MQ Upper Lizalfos Pot 1", RHT_POT_DODONGOS_CAVERN, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_DODONGOS_CAVERN_MQ_UPPER_LIZALFOS_POT_1), SpoilerCollectionCheckGroup::GROUP_DUNGEON_DODONGOS_CAVERN);
+ locationTable[RC_DODONGOS_CAVERN_MQ_UPPER_LIZALFOS_POT_2] = Location::Base(RC_DODONGOS_CAVERN_MQ_UPPER_LIZALFOS_POT_2, RCQUEST_MQ, RCTYPE_POT, RCAREA_DODONGOS_CAVERN, ACTOR_OBJ_TSUBO, SCENE_DODONGOS_CAVERN, TWO_ACTOR_PARAMS(3867, -969), 0x5603, "MQ Upper Lizalfos Pot 2", "Dodongos Cavern MQ Upper Lizalfos Pot 2", RHT_POT_DODONGOS_CAVERN, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_DODONGOS_CAVERN_MQ_UPPER_LIZALFOS_POT_2), SpoilerCollectionCheckGroup::GROUP_DUNGEON_DODONGOS_CAVERN);
+ locationTable[RC_DODONGOS_CAVERN_MQ_UPPER_LIZALFOS_POT_3] = Location::Base(RC_DODONGOS_CAVERN_MQ_UPPER_LIZALFOS_POT_3, RCQUEST_MQ, RCTYPE_POT, RCAREA_DODONGOS_CAVERN, ACTOR_OBJ_TSUBO, SCENE_DODONGOS_CAVERN, TWO_ACTOR_PARAMS(4687, -1071), 0x5801, "MQ Upper Lizalfos Pot 3", "Dodongos Cavern MQ Upper Lizalfos Pot 3", RHT_POT_DODONGOS_CAVERN, RG_BLUE_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_DODONGOS_CAVERN_MQ_UPPER_LIZALFOS_POT_3), SpoilerCollectionCheckGroup::GROUP_DUNGEON_DODONGOS_CAVERN);
+ locationTable[RC_DODONGOS_CAVERN_MQ_UPPER_LIZALFOS_POT_4] = Location::Base(RC_DODONGOS_CAVERN_MQ_UPPER_LIZALFOS_POT_4, RCQUEST_MQ, RCTYPE_POT, RCAREA_DODONGOS_CAVERN, ACTOR_OBJ_TSUBO, SCENE_DODONGOS_CAVERN, TWO_ACTOR_PARAMS(4693, -1194), 0x5A01, "MQ Upper Lizalfos Pot 4", "Dodongos Cavern MQ Upper Lizalfos Pot 4", RHT_POT_DODONGOS_CAVERN, RG_BLUE_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_DODONGOS_CAVERN_MQ_UPPER_LIZALFOS_POT_4), SpoilerCollectionCheckGroup::GROUP_DUNGEON_DODONGOS_CAVERN);
+ locationTable[RC_DODONGOS_CAVERN_MQ_POE_ROOM_POT_1] = Location::Base(RC_DODONGOS_CAVERN_MQ_POE_ROOM_POT_1, RCQUEST_MQ, RCTYPE_POT, RCAREA_DODONGOS_CAVERN, ACTOR_OBJ_TSUBO, SCENE_DODONGOS_CAVERN, TWO_ACTOR_PARAMS(1844, -1867), 0x5C03, "MQ Poe Room Pot 1", "Dodongos Cavern MQ Poe Room Pot 1", RHT_POT_DODONGOS_CAVERN, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_DODONGOS_CAVERN_MQ_POE_ROOM_POT_1), SpoilerCollectionCheckGroup::GROUP_DUNGEON_DODONGOS_CAVERN);
+ locationTable[RC_DODONGOS_CAVERN_MQ_POE_ROOM_POT_2] = Location::Base(RC_DODONGOS_CAVERN_MQ_POE_ROOM_POT_2, RCQUEST_MQ, RCTYPE_POT, RCAREA_DODONGOS_CAVERN, ACTOR_OBJ_TSUBO, SCENE_DODONGOS_CAVERN, TWO_ACTOR_PARAMS(2272, -2213), 0x5E00, "MQ Poe Room Pot 2", "Dodongos Cavern MQ Poe Room Pot 2", RHT_POT_DODONGOS_CAVERN, RG_GREEN_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_DODONGOS_CAVERN_MQ_POE_ROOM_POT_2), SpoilerCollectionCheckGroup::GROUP_DUNGEON_DODONGOS_CAVERN);
+ locationTable[RC_DODONGOS_CAVERN_MQ_POE_ROOM_POT_3] = Location::Base(RC_DODONGOS_CAVERN_MQ_POE_ROOM_POT_3, RCQUEST_MQ, RCTYPE_POT, RCAREA_DODONGOS_CAVERN, ACTOR_OBJ_TSUBO, SCENE_DODONGOS_CAVERN, TWO_ACTOR_PARAMS(2240, -1369), 0x6201, "MQ Poe Room Pot 3", "Dodongos Cavern MQ Poe Room Pot 3", RHT_POT_DODONGOS_CAVERN, RG_BLUE_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_DODONGOS_CAVERN_MQ_POE_ROOM_POT_3), SpoilerCollectionCheckGroup::GROUP_DUNGEON_DODONGOS_CAVERN);
+ locationTable[RC_DODONGOS_CAVERN_MQ_POE_ROOM_POT_4] = Location::Base(RC_DODONGOS_CAVERN_MQ_POE_ROOM_POT_4, RCQUEST_MQ, RCTYPE_POT, RCAREA_DODONGOS_CAVERN, ACTOR_OBJ_TSUBO, SCENE_DODONGOS_CAVERN, TWO_ACTOR_PARAMS(1535, -1299), 0x6403, "MQ Poe Room Pot 4", "Dodongos Cavern MQ Poe Room Pot 4", RHT_POT_DODONGOS_CAVERN, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_DODONGOS_CAVERN_MQ_POE_ROOM_POT_4), SpoilerCollectionCheckGroup::GROUP_DUNGEON_DODONGOS_CAVERN);
+ locationTable[RC_DODONGOS_CAVERN_MQ_BLOCK_ROOM_POT_1] = Location::Base(RC_DODONGOS_CAVERN_MQ_BLOCK_ROOM_POT_1, RCQUEST_MQ, RCTYPE_POT, RCAREA_DODONGOS_CAVERN, ACTOR_OBJ_TSUBO, SCENE_DODONGOS_CAVERN, TWO_ACTOR_PARAMS(1827, -587), 0x4C01, "MQ Block Room Pot 1", "Dodongos Cavern MQ Block Room Pot 1", RHT_POT_DODONGOS_CAVERN, RG_BLUE_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_DODONGOS_CAVERN_MQ_BLOCK_ROOM_POT_1), SpoilerCollectionCheckGroup::GROUP_DUNGEON_DODONGOS_CAVERN);
+ locationTable[RC_DODONGOS_CAVERN_MQ_BLOCK_ROOM_POT_2] = Location::Base(RC_DODONGOS_CAVERN_MQ_BLOCK_ROOM_POT_2, RCQUEST_MQ, RCTYPE_POT, RCAREA_DODONGOS_CAVERN, ACTOR_OBJ_TSUBO, SCENE_DODONGOS_CAVERN, TWO_ACTOR_PARAMS(1532, -1225), 0x4E03, "MQ Block Room Pot 2", "Dodongos Cavern MQ Block Room Pot 2", RHT_POT_DODONGOS_CAVERN, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_DODONGOS_CAVERN_MQ_BLOCK_ROOM_POT_2), SpoilerCollectionCheckGroup::GROUP_DUNGEON_DODONGOS_CAVERN);
+ locationTable[RC_DODONGOS_CAVERN_MQ_TWO_FLAMES_POT_1] = Location::Base(RC_DODONGOS_CAVERN_MQ_TWO_FLAMES_POT_1, RCQUEST_MQ, RCTYPE_POT, RCAREA_DODONGOS_CAVERN, ACTOR_OBJ_TSUBO, SCENE_DODONGOS_CAVERN, TWO_ACTOR_PARAMS(3327, -805), 0x7610, "MQ Two Flames Pot 1", "Dodongos Cavern MQ Two Flames Pot 1", RHT_POT_DODONGOS_CAVERN, RG_DEKU_SEEDS_30, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_DODONGOS_CAVERN_MQ_TWO_FLAMES_POT_1), SpoilerCollectionCheckGroup::GROUP_DUNGEON_DODONGOS_CAVERN);
+ locationTable[RC_DODONGOS_CAVERN_MQ_TWO_FLAMES_POT_2] = Location::Base(RC_DODONGOS_CAVERN_MQ_TWO_FLAMES_POT_2, RCQUEST_MQ, RCTYPE_POT, RCAREA_DODONGOS_CAVERN, ACTOR_OBJ_TSUBO, SCENE_DODONGOS_CAVERN, TWO_ACTOR_PARAMS(3326, -753), 0x7801, "MQ Two Flames Pot 2", "Dodongos Cavern MQ Two Flames Pot 2", RHT_POT_DODONGOS_CAVERN, RG_BLUE_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_DODONGOS_CAVERN_MQ_TWO_FLAMES_POT_2), SpoilerCollectionCheckGroup::GROUP_DUNGEON_DODONGOS_CAVERN);
+ locationTable[RC_DODONGOS_CAVERN_MQ_SILVER_BLOCK_POT_1] = Location::Base(RC_DODONGOS_CAVERN_MQ_SILVER_BLOCK_POT_1, RCQUEST_MQ, RCTYPE_POT, RCAREA_DODONGOS_CAVERN, ACTOR_OBJ_TSUBO, SCENE_DODONGOS_CAVERN, TWO_ACTOR_PARAMS(3195, -155), 0x7210, "MQ Silver Block Pot 1", "Dodongos Cavern MQ Silver Block Pot 1", RHT_POT_DODONGOS_CAVERN, RG_DEKU_SEEDS_30, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_DODONGOS_CAVERN_MQ_SILVER_BLOCK_POT_1), SpoilerCollectionCheckGroup::GROUP_DUNGEON_DODONGOS_CAVERN);
+ locationTable[RC_DODONGOS_CAVERN_MQ_SILVER_BLOCK_POT_2] = Location::Base(RC_DODONGOS_CAVERN_MQ_SILVER_BLOCK_POT_2, RCQUEST_MQ, RCTYPE_POT, RCAREA_DODONGOS_CAVERN, ACTOR_OBJ_TSUBO, SCENE_DODONGOS_CAVERN, TWO_ACTOR_PARAMS(2704, -483), 0x7410, "MQ Silver Block Pot 2", "Dodongos Cavern MQ Silver Block Pot 2", RHT_POT_DODONGOS_CAVERN, RG_DEKU_SEEDS_30, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_DODONGOS_CAVERN_MQ_SILVER_BLOCK_POT_2), SpoilerCollectionCheckGroup::GROUP_DUNGEON_DODONGOS_CAVERN);
+ locationTable[RC_DODONGOS_CAVERN_MQ_STAIRCASE_POT_1] = Location::Base(RC_DODONGOS_CAVERN_MQ_STAIRCASE_POT_1, RCQUEST_MQ, RCTYPE_POT, RCAREA_DODONGOS_CAVERN, ACTOR_OBJ_TSUBO, SCENE_DODONGOS_CAVERN, TWO_ACTOR_PARAMS(-2391, -1804), 0x6603, "MQ Staircase Pot 1", "Dodongos Cavern MQ Staircase Pot 1", RHT_POT_DODONGOS_CAVERN, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_DODONGOS_CAVERN_MQ_STAIRCASE_POT_1), SpoilerCollectionCheckGroup::GROUP_DUNGEON_DODONGOS_CAVERN);
+ locationTable[RC_DODONGOS_CAVERN_MQ_STAIRCASE_POT_2] = Location::Base(RC_DODONGOS_CAVERN_MQ_STAIRCASE_POT_2, RCQUEST_MQ, RCTYPE_POT, RCAREA_DODONGOS_CAVERN, ACTOR_OBJ_TSUBO, SCENE_DODONGOS_CAVERN, TWO_ACTOR_PARAMS(-2361, -1161), 0x6802, "MQ Staircase Pot 2", "Dodongos Cavern MQ Staircase Pot 2", RHT_POT_DODONGOS_CAVERN, RG_RED_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_DODONGOS_CAVERN_MQ_STAIRCASE_POT_2), SpoilerCollectionCheckGroup::GROUP_DUNGEON_DODONGOS_CAVERN);
+ locationTable[RC_DODONGOS_CAVERN_MQ_STAIRCASE_POT_3] = Location::Base(RC_DODONGOS_CAVERN_MQ_STAIRCASE_POT_3, RCQUEST_MQ, RCTYPE_POT, RCAREA_DODONGOS_CAVERN, ACTOR_OBJ_TSUBO, SCENE_DODONGOS_CAVERN, TWO_ACTOR_PARAMS(-1525, -1800), 0x6A02, "MQ Staircase Pot 3", "Dodongos Cavern MQ Staircase Pot 3", RHT_POT_DODONGOS_CAVERN, RG_RED_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_DODONGOS_CAVERN_MQ_STAIRCASE_POT_3), SpoilerCollectionCheckGroup::GROUP_DUNGEON_DODONGOS_CAVERN);
+ locationTable[RC_DODONGOS_CAVERN_MQ_STAIRCASE_POT_4] = Location::Base(RC_DODONGOS_CAVERN_MQ_STAIRCASE_POT_4, RCQUEST_MQ, RCTYPE_POT, RCAREA_DODONGOS_CAVERN, ACTOR_OBJ_TSUBO, SCENE_DODONGOS_CAVERN, TWO_ACTOR_PARAMS(-1558, -1169), 0x6C03, "MQ Staircase Pot 4", "Dodongos Cavern MQ Staircase Pot 4", RHT_POT_DODONGOS_CAVERN, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_DODONGOS_CAVERN_MQ_STAIRCASE_POT_4), SpoilerCollectionCheckGroup::GROUP_DUNGEON_DODONGOS_CAVERN);
+ locationTable[RC_DODONGOS_CAVERN_MQ_ARMOS_POT_1] = Location::Base(RC_DODONGOS_CAVERN_MQ_ARMOS_POT_1, RCQUEST_MQ, RCTYPE_POT, RCAREA_DODONGOS_CAVERN, ACTOR_OBJ_TSUBO, SCENE_DODONGOS_CAVERN, TWO_ACTOR_PARAMS(1005, -3711), 0x4003, "MQ Armos Pot 1", "Dodongos Cavern MQ Armos Pot 1", RHT_POT_DODONGOS_CAVERN, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_DODONGOS_CAVERN_MQ_ARMOS_POT_1), SpoilerCollectionCheckGroup::GROUP_DUNGEON_DODONGOS_CAVERN);
+ locationTable[RC_DODONGOS_CAVERN_MQ_ARMOS_POT_2] = Location::Base(RC_DODONGOS_CAVERN_MQ_ARMOS_POT_2, RCQUEST_MQ, RCTYPE_POT, RCAREA_DODONGOS_CAVERN, ACTOR_OBJ_TSUBO, SCENE_DODONGOS_CAVERN, TWO_ACTOR_PARAMS(1066, -3711), 0x4212, "MQ Armos Pot 2", "Dodongos Cavern MQ Armos Pot 2", RHT_POT_DODONGOS_CAVERN, RG_GREEN_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_DODONGOS_CAVERN_MQ_ARMOS_POT_2), SpoilerCollectionCheckGroup::GROUP_DUNGEON_DODONGOS_CAVERN);
+ locationTable[RC_DODONGOS_CAVERN_MQ_ARMOS_POT_3] = Location::Base(RC_DODONGOS_CAVERN_MQ_ARMOS_POT_3, RCQUEST_MQ, RCTYPE_POT, RCAREA_DODONGOS_CAVERN, ACTOR_OBJ_TSUBO, SCENE_DODONGOS_CAVERN, TWO_ACTOR_PARAMS(1758, -3194), 0x6E04, "MQ Armos Pot 3", "Dodongos Cavern MQ Armos Pot 3", RHT_POT_DODONGOS_CAVERN, RG_BOMBS_5, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_DODONGOS_CAVERN_MQ_ARMOS_POT_3), SpoilerCollectionCheckGroup::GROUP_DUNGEON_DODONGOS_CAVERN);
+ locationTable[RC_DODONGOS_CAVERN_MQ_ARMOS_POT_4] = Location::Base(RC_DODONGOS_CAVERN_MQ_ARMOS_POT_4, RCQUEST_MQ, RCTYPE_POT, RCAREA_DODONGOS_CAVERN, ACTOR_OBJ_TSUBO, SCENE_DODONGOS_CAVERN, TWO_ACTOR_PARAMS(1223, -3197), 0x7804, "MQ Armos Pot 4", "Dodongos Cavern MQ Armos Pot 4", RHT_POT_DODONGOS_CAVERN, RG_BOMBS_5, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_DODONGOS_CAVERN_MQ_ARMOS_POT_4), SpoilerCollectionCheckGroup::GROUP_DUNGEON_DODONGOS_CAVERN);
+ locationTable[RC_DODONGOS_CAVERN_MQ_BEFORE_BOSS_POT_1] = Location::Base(RC_DODONGOS_CAVERN_MQ_BEFORE_BOSS_POT_1, RCQUEST_MQ, RCTYPE_POT, RCAREA_DODONGOS_CAVERN, ACTOR_OBJ_TSUBO, SCENE_DODONGOS_CAVERN, TWO_ACTOR_PARAMS(258, -3055), 0x7A04, "MQ Before Boss Pot 1", "Dodongos Cavern MQ Before Boss Pot 1", RHT_POT_DODONGOS_CAVERN, RG_BOMBS_5, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_DODONGOS_CAVERN_MQ_BEFORE_BOSS_POT_1), SpoilerCollectionCheckGroup::GROUP_DUNGEON_DODONGOS_CAVERN);
+ locationTable[RC_DODONGOS_CAVERN_MQ_BEFORE_BOSS_POT_2] = Location::Base(RC_DODONGOS_CAVERN_MQ_BEFORE_BOSS_POT_2, RCQUEST_MQ, RCTYPE_POT, RCAREA_DODONGOS_CAVERN, ACTOR_OBJ_TSUBO, SCENE_DODONGOS_CAVERN, TWO_ACTOR_PARAMS(-265, -2499), 0x7C03, "MQ Before Boss Pot 2", "Dodongos Cavern MQ Before Boss Pot 2", RHT_POT_DODONGOS_CAVERN, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_DODONGOS_CAVERN_MQ_BEFORE_BOSS_POT_2), SpoilerCollectionCheckGroup::GROUP_DUNGEON_DODONGOS_CAVERN);
+ locationTable[RC_DODONGOS_CAVERN_MQ_BACKROOM_POT_1] = Location::Base(RC_DODONGOS_CAVERN_MQ_BACKROOM_POT_1, RCQUEST_MQ, RCTYPE_POT, RCAREA_DODONGOS_CAVERN, ACTOR_OBJ_TSUBO, SCENE_DODONGOS_CAVERN, TWO_ACTOR_PARAMS(1663, -4311), 0x7004, "MQ Backroom Pot 1", "Dodongos Cavern MQ Backroom Pot 1", RHT_POT_DODONGOS_CAVERN, RG_BOMBS_5, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_DODONGOS_CAVERN_MQ_BACKROOM_POT_1), SpoilerCollectionCheckGroup::GROUP_DUNGEON_DODONGOS_CAVERN);
+ locationTable[RC_DODONGOS_CAVERN_MQ_BACKROOM_POT_2] = Location::Base(RC_DODONGOS_CAVERN_MQ_BACKROOM_POT_2, RCQUEST_MQ, RCTYPE_POT, RCAREA_DODONGOS_CAVERN, ACTOR_OBJ_TSUBO, SCENE_DODONGOS_CAVERN, TWO_ACTOR_PARAMS(1648, -4694), 0x7E04, "MQ Backroom Pot 2", "Dodongos Cavern MQ Backroom Pot 2", RHT_POT_DODONGOS_CAVERN, RG_BOMBS_5, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_DODONGOS_CAVERN_MQ_BACKROOM_POT_2), SpoilerCollectionCheckGroup::GROUP_DUNGEON_DODONGOS_CAVERN);
+ locationTable[RC_GANONS_CASTLE_MQ_FOREST_TRIAL_POT_1] = Location::Base(RC_GANONS_CASTLE_MQ_FOREST_TRIAL_POT_1, RCQUEST_MQ, RCTYPE_POT, RCAREA_GANONS_CASTLE, ACTOR_OBJ_TSUBO, SCENE_INSIDE_GANONS_CASTLE, TWO_ACTOR_PARAMS(1873, 2252), 0x6A03, "MQ Forest Trial Pot 1", "Ganons Castle MQ Forest Trial Pot 1", RHT_POT_GANONS_CASTLE, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_GANONS_CASTLE_MQ_FOREST_TRIAL_POT_1), SpoilerCollectionCheckGroup::GROUP_DUNGEON_GANONS_CASTLE);
+ locationTable[RC_GANONS_CASTLE_MQ_FOREST_TRIAL_POT_2] = Location::Base(RC_GANONS_CASTLE_MQ_FOREST_TRIAL_POT_2, RCQUEST_MQ, RCTYPE_POT, RCAREA_GANONS_CASTLE, ACTOR_OBJ_TSUBO, SCENE_INSIDE_GANONS_CASTLE, TWO_ACTOR_PARAMS(1726, 2326), 0x6C0F, "MQ Forest Trial Pot 2", "Ganons Castle MQ Forest Trial Pot 2", RHT_POT_GANONS_CASTLE, RG_BLUE_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_GANONS_CASTLE_MQ_FOREST_TRIAL_POT_2), SpoilerCollectionCheckGroup::GROUP_DUNGEON_GANONS_CASTLE);
+ locationTable[RC_GANONS_CASTLE_MQ_WATER_TRIAL_POT_1] = Location::Base(RC_GANONS_CASTLE_MQ_WATER_TRIAL_POT_1, RCQUEST_MQ, RCTYPE_POT, RCAREA_GANONS_CASTLE, ACTOR_OBJ_TSUBO, SCENE_INSIDE_GANONS_CASTLE, TWO_ACTOR_PARAMS(3544, -931), 0x7203, "MQ Water Trial Pot 1", "Ganons Castle MQ Water Trial Pot 1", RHT_POT_GANONS_CASTLE, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_GANONS_CASTLE_MQ_WATER_TRIAL_POT_1), SpoilerCollectionCheckGroup::GROUP_DUNGEON_GANONS_CASTLE);
+ locationTable[RC_GANONS_CASTLE_MQ_WATER_TRIAL_POT_2] = Location::Base(RC_GANONS_CASTLE_MQ_WATER_TRIAL_POT_2, RCQUEST_MQ, RCTYPE_POT, RCAREA_GANONS_CASTLE, ACTOR_OBJ_TSUBO, SCENE_INSIDE_GANONS_CASTLE, TWO_ACTOR_PARAMS(3541, -755), 0x7409, "MQ Water Trial Pot 2", "Ganons Castle MQ Water Trial Pot 2", RHT_POT_GANONS_CASTLE, RG_ARROWS_10, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_GANONS_CASTLE_MQ_WATER_TRIAL_POT_2), SpoilerCollectionCheckGroup::GROUP_DUNGEON_GANONS_CASTLE);
+ locationTable[RC_GANONS_CASTLE_MQ_SHADOW_TRIAL_POT_1] = Location::Base(RC_GANONS_CASTLE_MQ_SHADOW_TRIAL_POT_1, RCQUEST_MQ, RCTYPE_POT, RCAREA_GANONS_CASTLE, ACTOR_OBJ_TSUBO, SCENE_INSIDE_GANONS_CASTLE, TWO_ACTOR_PARAMS(2073, -4592), 0x640E, "MQ Shadow Trial Pot 1", "Ganons Castle MQ Shadow Trial Pot 1", RHT_POT_GANONS_CASTLE, RG_BLUE_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_GANONS_CASTLE_MQ_SHADOW_TRIAL_POT_1), SpoilerCollectionCheckGroup::GROUP_DUNGEON_GANONS_CASTLE);
+ locationTable[RC_GANONS_CASTLE_MQ_SHADOW_TRIAL_POT_2] = Location::Base(RC_GANONS_CASTLE_MQ_SHADOW_TRIAL_POT_2, RCQUEST_MQ, RCTYPE_POT, RCAREA_GANONS_CASTLE, ACTOR_OBJ_TSUBO, SCENE_INSIDE_GANONS_CASTLE, TWO_ACTOR_PARAMS(2217, -4516), 0x7009, "MQ Shadow Trial Pot 2", "Ganons Castle MQ Shadow Trial Pot 2", RHT_POT_GANONS_CASTLE, RG_ARROWS_10, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_GANONS_CASTLE_MQ_SHADOW_TRIAL_POT_2), SpoilerCollectionCheckGroup::GROUP_DUNGEON_GANONS_CASTLE);
+ locationTable[RC_GANONS_CASTLE_MQ_FIRE_TRIAL_POT_1] = Location::Base(RC_GANONS_CASTLE_MQ_FIRE_TRIAL_POT_1, RCQUEST_MQ, RCTYPE_POT, RCAREA_GANONS_CASTLE, ACTOR_OBJ_TSUBO, SCENE_INSIDE_GANONS_CASTLE, TWO_ACTOR_PARAMS(-1918, -3957), 0x6E03, "MQ Fire Trial Pot 1", "Ganons Castle MQ Fire Trial Pot 1", RHT_POT_GANONS_CASTLE, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_GANONS_CASTLE_MQ_FIRE_TRIAL_POT_1), SpoilerCollectionCheckGroup::GROUP_DUNGEON_GANONS_CASTLE);
+ locationTable[RC_GANONS_CASTLE_MQ_FIRE_TRIAL_POT_2] = Location::Base(RC_GANONS_CASTLE_MQ_FIRE_TRIAL_POT_2, RCQUEST_MQ, RCTYPE_POT, RCAREA_GANONS_CASTLE, ACTOR_OBJ_TSUBO, SCENE_INSIDE_GANONS_CASTLE, TWO_ACTOR_PARAMS(-2052, -3888), 0x700F, "MQ Fire Trial Pot 2", "Ganons Castle MQ Fire Trial Pot 2", RHT_POT_GANONS_CASTLE, RG_BLUE_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_GANONS_CASTLE_MQ_FIRE_TRIAL_POT_2), SpoilerCollectionCheckGroup::GROUP_DUNGEON_GANONS_CASTLE);
+ locationTable[RC_GANONS_CASTLE_MQ_LIGHT_TRIAL_POT_1] = Location::Base(RC_GANONS_CASTLE_MQ_LIGHT_TRIAL_POT_1, RCQUEST_MQ, RCTYPE_POT, RCAREA_GANONS_CASTLE, ACTOR_OBJ_TSUBO, SCENE_INSIDE_GANONS_CASTLE, TWO_ACTOR_PARAMS(-3842, -759), 0x760E, "MQ Light Trial Pot 1", "Ganons Castle MQ Light Trial Pot 1", RHT_POT_GANONS_CASTLE, RG_BLUE_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_GANONS_CASTLE_MQ_LIGHT_TRIAL_POT_1), SpoilerCollectionCheckGroup::GROUP_DUNGEON_GANONS_CASTLE);
+ locationTable[RC_GANONS_CASTLE_MQ_LIGHT_TRIAL_POT_2] = Location::Base(RC_GANONS_CASTLE_MQ_LIGHT_TRIAL_POT_2, RCQUEST_MQ, RCTYPE_POT, RCAREA_GANONS_CASTLE, ACTOR_OBJ_TSUBO, SCENE_INSIDE_GANONS_CASTLE, TWO_ACTOR_PARAMS(-3845, -933), 0x7803, "MQ Light Trial Pot 2", "Ganons Castle MQ Light Trial Pot 2", RHT_POT_GANONS_CASTLE, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_GANONS_CASTLE_MQ_LIGHT_TRIAL_POT_2), SpoilerCollectionCheckGroup::GROUP_DUNGEON_GANONS_CASTLE);
+ locationTable[RC_GANONS_CASTLE_MQ_SPIRIT_TRIAL_POT_1] = Location::Base(RC_GANONS_CASTLE_MQ_SPIRIT_TRIAL_POT_1, RCQUEST_MQ, RCTYPE_POT, RCAREA_GANONS_CASTLE, ACTOR_OBJ_TSUBO, SCENE_INSIDE_GANONS_CASTLE, TWO_ACTOR_PARAMS(-1402, 1414), 0x660C, "MQ Spirit Trial Pot 1", "Ganons Castle MQ Spirit Trial Pot 1", RHT_POT_GANONS_CASTLE, RG_DEKU_NUTS_5, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_GANONS_CASTLE_MQ_SPIRIT_TRIAL_POT_1), SpoilerCollectionCheckGroup::GROUP_DUNGEON_GANONS_CASTLE);
+ locationTable[RC_GANONS_CASTLE_MQ_SPIRIT_TRIAL_POT_2] = Location::Base(RC_GANONS_CASTLE_MQ_SPIRIT_TRIAL_POT_2, RCQUEST_MQ, RCTYPE_POT, RCAREA_GANONS_CASTLE, ACTOR_OBJ_TSUBO, SCENE_INSIDE_GANONS_CASTLE, TWO_ACTOR_PARAMS(-1256, 1500), 0x680F, "MQ Spirit Trial Pot 2", "Ganons Castle MQ Spirit Trial Pot 2", RHT_POT_GANONS_CASTLE, RG_BLUE_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_GANONS_CASTLE_MQ_SPIRIT_TRIAL_POT_2), SpoilerCollectionCheckGroup::GROUP_DUNGEON_GANONS_CASTLE);
+ locationTable[RC_SHADOW_TEMPLE_MQ_WHISPERING_WALLS_POT_1] = Location::Base(RC_SHADOW_TEMPLE_MQ_WHISPERING_WALLS_POT_1, RCQUEST_MQ, RCTYPE_POT, RCAREA_SHADOW_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_SHADOW_TEMPLE, TWO_ACTOR_PARAMS(-1045, -130), 0x7003, "MQ Whispering Walls Pot 1", "Shadow Temple MQ Whispering Walls Pot 1", RHT_POT_SHADOW_TEMPLE, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_SHADOW_TEMPLE_MQ_WHISPERING_WALLS_POT_1), SpoilerCollectionCheckGroup::GROUP_DUNGEON_SHADOW_TEMPLE);
+ locationTable[RC_SHADOW_TEMPLE_MQ_WHISPERING_WALLS_POT_2] = Location::Base(RC_SHADOW_TEMPLE_MQ_WHISPERING_WALLS_POT_2, RCQUEST_MQ, RCTYPE_POT, RCAREA_SHADOW_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_SHADOW_TEMPLE, TWO_ACTOR_PARAMS(-1045, -240), 0x7203, "MQ Whispering Walls Pot 2", "Shadow Temple MQ Whispering Walls Pot 2", RHT_POT_SHADOW_TEMPLE, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_SHADOW_TEMPLE_MQ_WHISPERING_WALLS_POT_2), SpoilerCollectionCheckGroup::GROUP_DUNGEON_SHADOW_TEMPLE);
+ locationTable[RC_SHADOW_TEMPLE_MQ_ENTRANCE_REDEAD_POT_1] = Location::Base(RC_SHADOW_TEMPLE_MQ_ENTRANCE_REDEAD_POT_1, RCQUEST_MQ, RCTYPE_POT, RCAREA_SHADOW_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_SHADOW_TEMPLE, TWO_ACTOR_PARAMS(-657, -949), 0x4E03, "MQ Entrance Redead Pot 1", "Shadow Temple MQ Entrance Redead Pot 1", RHT_POT_SHADOW_TEMPLE, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_SHADOW_TEMPLE_MQ_ENTRANCE_REDEAD_POT_1), SpoilerCollectionCheckGroup::GROUP_DUNGEON_SHADOW_TEMPLE);
+ locationTable[RC_SHADOW_TEMPLE_MQ_ENTRANCE_REDEAD_POT_2] = Location::Base(RC_SHADOW_TEMPLE_MQ_ENTRANCE_REDEAD_POT_2, RCQUEST_MQ, RCTYPE_POT, RCAREA_SHADOW_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_SHADOW_TEMPLE, TWO_ACTOR_PARAMS(-713, -1016), 0x5803, "MQ Entrance Redead Pot 2", "Shadow Temple MQ Entrance Redead Pot 2", RHT_POT_SHADOW_TEMPLE, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_SHADOW_TEMPLE_MQ_ENTRANCE_REDEAD_POT_2), SpoilerCollectionCheckGroup::GROUP_DUNGEON_SHADOW_TEMPLE);
+ locationTable[RC_SHADOW_TEMPLE_MQ_FALLING_SPIKES_POT_1] = Location::Base(RC_SHADOW_TEMPLE_MQ_FALLING_SPIKES_POT_1, RCQUEST_MQ, RCTYPE_POT, RCAREA_SHADOW_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_SHADOW_TEMPLE, TWO_ACTOR_PARAMS(614, 3579), 0x4803, "MQ Falling Spikes Pot 1", "Shadow Temple MQ Falling Spikes Pot 1", RHT_POT_SHADOW_TEMPLE, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_SHADOW_TEMPLE_MQ_FALLING_SPIKES_POT_1), SpoilerCollectionCheckGroup::GROUP_DUNGEON_SHADOW_TEMPLE);
+ locationTable[RC_SHADOW_TEMPLE_MQ_FALLING_SPIKES_POT_2] = Location::Base(RC_SHADOW_TEMPLE_MQ_FALLING_SPIKES_POT_2, RCQUEST_MQ, RCTYPE_POT, RCAREA_SHADOW_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_SHADOW_TEMPLE, TWO_ACTOR_PARAMS(798, 3574), 0x4A04, "MQ Falling Spikes Pot 2", "Shadow Temple MQ Falling Spikes Pot 2", RHT_POT_SHADOW_TEMPLE, RG_BOMBS_5, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_SHADOW_TEMPLE_MQ_FALLING_SPIKES_POT_2), SpoilerCollectionCheckGroup::GROUP_DUNGEON_SHADOW_TEMPLE);
+ locationTable[RC_SHADOW_TEMPLE_MQ_FALLING_SPIKES_POT_3] = Location::Base(RC_SHADOW_TEMPLE_MQ_FALLING_SPIKES_POT_3, RCQUEST_MQ, RCTYPE_POT, RCAREA_SHADOW_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_SHADOW_TEMPLE, TWO_ACTOR_PARAMS(1173, 3707), 0x5603, "MQ Falling Spikes Pot 3", "Shadow Temple MQ Falling Spikes Pot 3", RHT_POT_SHADOW_TEMPLE, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_SHADOW_TEMPLE_MQ_FALLING_SPIKES_POT_3), SpoilerCollectionCheckGroup::GROUP_DUNGEON_SHADOW_TEMPLE);
+ locationTable[RC_SHADOW_TEMPLE_MQ_FALLING_SPIKES_POT_4] = Location::Base(RC_SHADOW_TEMPLE_MQ_FALLING_SPIKES_POT_4, RCQUEST_MQ, RCTYPE_POT, RCAREA_SHADOW_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_SHADOW_TEMPLE, TWO_ACTOR_PARAMS(1173, 3605), 0x5A03, "MQ Falling Spikes Pot 4", "Shadow Temple MQ Falling Spikes Pot 4", RHT_POT_SHADOW_TEMPLE, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_SHADOW_TEMPLE_MQ_FALLING_SPIKES_POT_4), SpoilerCollectionCheckGroup::GROUP_DUNGEON_SHADOW_TEMPLE);
+ locationTable[RC_SHADOW_TEMPLE_MQ_BEFORE_BOAT_POT_1] = Location::Base(RC_SHADOW_TEMPLE_MQ_BEFORE_BOAT_POT_1, RCQUEST_MQ, RCTYPE_POT, RCAREA_SHADOW_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_SHADOW_TEMPLE, TWO_ACTOR_PARAMS(4222, -916), 0x5C01, "MQ Before Boat Pot 1", "Shadow Temple MQ Before Boat Pot 1", RHT_POT_SHADOW_TEMPLE, RG_BLUE_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_SHADOW_TEMPLE_MQ_BEFORE_BOAT_POT_1), SpoilerCollectionCheckGroup::GROUP_DUNGEON_SHADOW_TEMPLE);
+ locationTable[RC_SHADOW_TEMPLE_MQ_BEFORE_BOAT_POT_2] = Location::Base(RC_SHADOW_TEMPLE_MQ_BEFORE_BOAT_POT_2, RCQUEST_MQ, RCTYPE_POT, RCAREA_SHADOW_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_SHADOW_TEMPLE, TWO_ACTOR_PARAMS(4549, -922), 0x640C, "MQ Before Boat Pot 2", "Shadow Temple MQ Before Boat Pot 2", RHT_POT_SHADOW_TEMPLE, RG_DEKU_NUTS_5, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_SHADOW_TEMPLE_MQ_BEFORE_BOAT_POT_2), SpoilerCollectionCheckGroup::GROUP_DUNGEON_SHADOW_TEMPLE);
+ locationTable[RC_SHADOW_TEMPLE_MQ_AFTER_BOAT_POT_1] = Location::Base(RC_SHADOW_TEMPLE_MQ_AFTER_BOAT_POT_1, RCQUEST_MQ, RCTYPE_POT, RCAREA_SHADOW_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_SHADOW_TEMPLE, TWO_ACTOR_PARAMS(-2400, -1470), 0x7009, "MQ After Boat Pot 1", "Shadow Temple MQ After Boat Pot 1", RHT_POT_SHADOW_TEMPLE, RG_ARROWS_10, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_SHADOW_TEMPLE_MQ_AFTER_BOAT_POT_1), SpoilerCollectionCheckGroup::GROUP_DUNGEON_SHADOW_TEMPLE);
+ locationTable[RC_SHADOW_TEMPLE_MQ_AFTER_BOAT_POT_2] = Location::Base(RC_SHADOW_TEMPLE_MQ_AFTER_BOAT_POT_2, RCQUEST_MQ, RCTYPE_POT, RCAREA_SHADOW_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_SHADOW_TEMPLE, TWO_ACTOR_PARAMS(-2230, -1470), 0x7609, "MQ After Boat Pot 2", "Shadow Temple MQ After Boat Pot 2", RHT_POT_SHADOW_TEMPLE, RG_ARROWS_10, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_SHADOW_TEMPLE_MQ_AFTER_BOAT_POT_2), SpoilerCollectionCheckGroup::GROUP_DUNGEON_SHADOW_TEMPLE);
+ locationTable[RC_SHADOW_TEMPLE_MQ_AFTER_BOAT_POT_3] = Location::Base(RC_SHADOW_TEMPLE_MQ_AFTER_BOAT_POT_3, RCQUEST_MQ, RCTYPE_POT, RCAREA_SHADOW_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_SHADOW_TEMPLE, TWO_ACTOR_PARAMS(-2859, -497), 0x7A0A, "MQ After Boat Pot 3", "Shadow Temple MQ After Boat Pot 3", RHT_POT_SHADOW_TEMPLE, RG_ARROWS_30, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_SHADOW_TEMPLE_MQ_AFTER_BOAT_POT_3), SpoilerCollectionCheckGroup::GROUP_DUNGEON_SHADOW_TEMPLE);
+ locationTable[RC_SHADOW_TEMPLE_MQ_AFTER_BOAT_POT_4] = Location::Base(RC_SHADOW_TEMPLE_MQ_AFTER_BOAT_POT_4, RCQUEST_MQ, RCTYPE_POT, RCAREA_SHADOW_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_SHADOW_TEMPLE, TWO_ACTOR_PARAMS(-2624, -492), 0x7C0E, "MQ After Boat Pot 4", "Shadow Temple MQ After Boat Pot 4", RHT_POT_SHADOW_TEMPLE, RG_BLUE_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_SHADOW_TEMPLE_MQ_AFTER_BOAT_POT_4), SpoilerCollectionCheckGroup::GROUP_DUNGEON_SHADOW_TEMPLE);
+ locationTable[RC_SHADOW_TEMPLE_MQ_SPIKE_BARICADE_POT] = Location::Base(RC_SHADOW_TEMPLE_MQ_SPIKE_BARICADE_POT, RCQUEST_MQ, RCTYPE_POT, RCAREA_SHADOW_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_SHADOW_TEMPLE, TWO_ACTOR_PARAMS(-4303, -2657), 0x4C0E, "MQ Spike Baricade Pot", "Shadow Temple MQ Spike Baricade Pot", RHT_POT_SHADOW_TEMPLE, RG_BLUE_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_SHADOW_TEMPLE_MQ_SPIKE_BARICADE_POT), SpoilerCollectionCheckGroup::GROUP_DUNGEON_SHADOW_TEMPLE);
+ locationTable[RC_SHADOW_TEMPLE_MQ_DEAD_HAND_POT_1] = Location::Base(RC_SHADOW_TEMPLE_MQ_DEAD_HAND_POT_1, RCQUEST_MQ, RCTYPE_POT, RCAREA_SHADOW_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_SHADOW_TEMPLE, TWO_ACTOR_PARAMS(-4575, -811), 0x660B, "MQ Dead Hand Pot 1", "Shadow Temple MQ Dead Hand Pot 1", RHT_POT_SHADOW_TEMPLE, RG_BOMBS_10, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_SHADOW_TEMPLE_MQ_DEAD_HAND_POT_1), SpoilerCollectionCheckGroup::GROUP_DUNGEON_SHADOW_TEMPLE);
+ locationTable[RC_SHADOW_TEMPLE_MQ_DEAD_HAND_POT_2] = Location::Base(RC_SHADOW_TEMPLE_MQ_DEAD_HAND_POT_2, RCQUEST_MQ, RCTYPE_POT, RCAREA_SHADOW_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_SHADOW_TEMPLE, TWO_ACTOR_PARAMS(-4036, -811), 0x680A, "MQ Dead Hand Pot 2", "Shadow Temple MQ Dead Hand Pot 2", RHT_POT_SHADOW_TEMPLE, RG_ARROWS_30, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_SHADOW_TEMPLE_MQ_DEAD_HAND_POT_2), SpoilerCollectionCheckGroup::GROUP_DUNGEON_SHADOW_TEMPLE);
+ locationTable[RC_BOTTOM_OF_THE_WELL_MQ_INNER_LOBBY_POT_1] = Location::Base(RC_BOTTOM_OF_THE_WELL_MQ_INNER_LOBBY_POT_1, RCQUEST_MQ, RCTYPE_POT, RCAREA_BOTTOM_OF_THE_WELL, ACTOR_OBJ_TSUBO, SCENE_BOTTOM_OF_THE_WELL, TWO_ACTOR_PARAMS(339, -377), 0x4E09, "MQ Inner Lobby Pot 1", "Bottom Of The Well MQ Inner Lobby Pot 1", RHT_POT_BOTTOM_OF_THE_WELL, RG_ARROWS_10, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_BOTTOM_OF_THE_WELL_MQ_INNER_LOBBY_POT_1), SpoilerCollectionCheckGroup::GROUP_DUNGEON_BOTTOM_OF_THE_WELL);
+ locationTable[RC_BOTTOM_OF_THE_WELL_MQ_INNER_LOBBY_POT_2] = Location::Base(RC_BOTTOM_OF_THE_WELL_MQ_INNER_LOBBY_POT_2, RCQUEST_MQ, RCTYPE_POT, RCAREA_BOTTOM_OF_THE_WELL, ACTOR_OBJ_TSUBO, SCENE_BOTTOM_OF_THE_WELL, TWO_ACTOR_PARAMS(416, -377), 0x500B, "MQ Inner Lobby Pot 2", "Bottom Of The Well MQ Inner Lobby Pot 2", RHT_POT_BOTTOM_OF_THE_WELL, RG_BOMBS_10, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_BOTTOM_OF_THE_WELL_MQ_INNER_LOBBY_POT_2), SpoilerCollectionCheckGroup::GROUP_DUNGEON_BOTTOM_OF_THE_WELL);
+ locationTable[RC_BOTTOM_OF_THE_WELL_MQ_INNER_LOBBY_POT_3] = Location::Base(RC_BOTTOM_OF_THE_WELL_MQ_INNER_LOBBY_POT_3, RCQUEST_MQ, RCTYPE_POT, RCAREA_BOTTOM_OF_THE_WELL, ACTOR_OBJ_TSUBO, SCENE_BOTTOM_OF_THE_WELL, TWO_ACTOR_PARAMS(269, -376), 0x5203, "MQ Inner Lobby Pot 3", "Bottom Of The Well MQ Inner Lobby Pot 3", RHT_POT_BOTTOM_OF_THE_WELL, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_BOTTOM_OF_THE_WELL_MQ_INNER_LOBBY_POT_3), SpoilerCollectionCheckGroup::GROUP_DUNGEON_BOTTOM_OF_THE_WELL);
+ locationTable[RC_BOTTOM_OF_THE_WELL_MQ_OUTER_LOBBY_POT] = Location::Base(RC_BOTTOM_OF_THE_WELL_MQ_OUTER_LOBBY_POT, RCQUEST_MQ, RCTYPE_POT, RCAREA_BOTTOM_OF_THE_WELL, ACTOR_OBJ_TSUBO, SCENE_BOTTOM_OF_THE_WELL, TWO_ACTOR_PARAMS(421, -174), 0x5412, "MQ Outer Lobby Pot", "Bottom Of The Well MQ Outer Lobby Pot", RHT_POT_BOTTOM_OF_THE_WELL, RG_GREEN_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_BOTTOM_OF_THE_WELL_MQ_OUTER_LOBBY_POT), SpoilerCollectionCheckGroup::GROUP_DUNGEON_BOTTOM_OF_THE_WELL);
+ locationTable[RC_BOTTOM_OF_THE_WELL_MQ_SOUTH_KEY_POT_1] = Location::Base(RC_BOTTOM_OF_THE_WELL_MQ_SOUTH_KEY_POT_1, RCQUEST_MQ, RCTYPE_POT, RCAREA_BOTTOM_OF_THE_WELL, ACTOR_OBJ_TSUBO, SCENE_BOTTOM_OF_THE_WELL, TWO_ACTOR_PARAMS(288, -1240), 0x4803, "MQ South Key Pot 1", "Bottom Of The Well MQ South Key Pot 1", RHT_POT_BOTTOM_OF_THE_WELL, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_BOTTOM_OF_THE_WELL_MQ_SOUTH_KEY_POT_1), SpoilerCollectionCheckGroup::GROUP_DUNGEON_BOTTOM_OF_THE_WELL);
+ locationTable[RC_BOTTOM_OF_THE_WELL_MQ_SOUTH_KEY_POT_2] = Location::Base(RC_BOTTOM_OF_THE_WELL_MQ_SOUTH_KEY_POT_2, RCQUEST_MQ, RCTYPE_POT, RCAREA_BOTTOM_OF_THE_WELL, ACTOR_OBJ_TSUBO, SCENE_BOTTOM_OF_THE_WELL, TWO_ACTOR_PARAMS(438, -1234), 0x4A03, "MQ South Key Pot 2", "Bottom Of The Well MQ South Key Pot 2", RHT_POT_BOTTOM_OF_THE_WELL, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_BOTTOM_OF_THE_WELL_MQ_SOUTH_KEY_POT_2), SpoilerCollectionCheckGroup::GROUP_DUNGEON_BOTTOM_OF_THE_WELL);
+ locationTable[RC_BOTTOM_OF_THE_WELL_MQ_SOUTH_KEY_POT_3] = Location::Base(RC_BOTTOM_OF_THE_WELL_MQ_SOUTH_KEY_POT_3, RCQUEST_MQ, RCTYPE_POT, RCAREA_BOTTOM_OF_THE_WELL, ACTOR_OBJ_TSUBO, SCENE_BOTTOM_OF_THE_WELL, TWO_ACTOR_PARAMS(444, -1114), 0x4C03, "MQ South Key Pot 3", "Bottom Of The Well MQ South Key Pot 3", RHT_POT_BOTTOM_OF_THE_WELL, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_BOTTOM_OF_THE_WELL_MQ_SOUTH_KEY_POT_3), SpoilerCollectionCheckGroup::GROUP_DUNGEON_BOTTOM_OF_THE_WELL);
+ locationTable[RC_FIRE_TEMPLE_MQ_ENTRANCE_POT_1] = Location::Base(RC_FIRE_TEMPLE_MQ_ENTRANCE_POT_1, RCQUEST_MQ, RCTYPE_POT, RCAREA_FIRE_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_FIRE_TEMPLE, TWO_ACTOR_PARAMS(-357, 957), 0x560F, "MQ Entrance Pot 1", "Fire Temple MQ Entrance Pot 1", RHT_POT_FIRE_TEMPLE, RG_BLUE_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_FIRE_TEMPLE_MQ_ENTRANCE_POT_1), SpoilerCollectionCheckGroup::GROUP_DUNGEON_FIRE_TEMPLE);
+ locationTable[RC_FIRE_TEMPLE_MQ_ENTRANCE_POT_2] = Location::Base(RC_FIRE_TEMPLE_MQ_ENTRANCE_POT_2, RCQUEST_MQ, RCTYPE_POT, RCAREA_FIRE_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_FIRE_TEMPLE, TWO_ACTOR_PARAMS(356, 959), 0x580F, "MQ Entrance Pot 2", "Fire Temple MQ Entrance Pot 2", RHT_POT_FIRE_TEMPLE, RG_BLUE_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_FIRE_TEMPLE_MQ_ENTRANCE_POT_2), SpoilerCollectionCheckGroup::GROUP_DUNGEON_FIRE_TEMPLE);
+ locationTable[RC_FIRE_TEMPLE_MQ_OUTSIDE_BOSS_POT_1] = Location::Base(RC_FIRE_TEMPLE_MQ_OUTSIDE_BOSS_POT_1, RCQUEST_MQ, RCTYPE_POT, RCAREA_FIRE_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_FIRE_TEMPLE, TWO_ACTOR_PARAMS(-1426, -711), 0x5A0E, "MQ Outside Boss Pot 1", "Fire Temple MQ Outside Boss Pot 1", RHT_POT_FIRE_TEMPLE, RG_BLUE_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_FIRE_TEMPLE_MQ_OUTSIDE_BOSS_POT_1), SpoilerCollectionCheckGroup::GROUP_DUNGEON_FIRE_TEMPLE);
+ locationTable[RC_FIRE_TEMPLE_MQ_OUTSIDE_BOSS_POT_2] = Location::Base(RC_FIRE_TEMPLE_MQ_OUTSIDE_BOSS_POT_2, RCQUEST_MQ, RCTYPE_POT, RCAREA_FIRE_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_FIRE_TEMPLE, TWO_ACTOR_PARAMS(-1425, -660), 0x5C0A, "MQ Outside Boss Pot 2", "Fire Temple MQ Outside Boss Pot 2", RHT_POT_FIRE_TEMPLE, RG_ARROWS_30, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_FIRE_TEMPLE_MQ_OUTSIDE_BOSS_POT_2), SpoilerCollectionCheckGroup::GROUP_DUNGEON_FIRE_TEMPLE);
+ locationTable[RC_FIRE_TEMPLE_MQ_LAVA_POT_1] = Location::Base(RC_FIRE_TEMPLE_MQ_LAVA_POT_1, RCQUEST_MQ, RCTYPE_POT, RCAREA_FIRE_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_FIRE_TEMPLE, TWO_ACTOR_PARAMS(1646, -1260), 0x4009, "MQ Lava Pot 1", "Fire Temple MQ Lava Pot 1", RHT_POT_FIRE_TEMPLE, RG_ARROWS_10, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_FIRE_TEMPLE_MQ_LAVA_POT_1), SpoilerCollectionCheckGroup::GROUP_DUNGEON_FIRE_TEMPLE);
+ locationTable[RC_FIRE_TEMPLE_MQ_LAVA_POT_2] = Location::Base(RC_FIRE_TEMPLE_MQ_LAVA_POT_2, RCQUEST_MQ, RCTYPE_POT, RCAREA_FIRE_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_FIRE_TEMPLE, TWO_ACTOR_PARAMS(2226, -809), 0x420F, "MQ Lava Pot 2", "Fire Temple MQ Lava Pot 2", RHT_POT_FIRE_TEMPLE, RG_BLUE_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_FIRE_TEMPLE_MQ_LAVA_POT_2), SpoilerCollectionCheckGroup::GROUP_DUNGEON_FIRE_TEMPLE);
+ locationTable[RC_FIRE_TEMPLE_MQ_LAVA_POT_3] = Location::Base(RC_FIRE_TEMPLE_MQ_LAVA_POT_3, RCQUEST_MQ, RCTYPE_POT, RCAREA_FIRE_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_FIRE_TEMPLE, TWO_ACTOR_PARAMS(1634, 1475), 0x440F, "MQ Lava Pot 3", "Fire Temple MQ Lava Pot 3", RHT_POT_FIRE_TEMPLE, RG_BLUE_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_FIRE_TEMPLE_MQ_LAVA_POT_3), SpoilerCollectionCheckGroup::GROUP_DUNGEON_FIRE_TEMPLE);
+ locationTable[RC_FIRE_TEMPLE_MQ_LAVA_TORCH_POT_1] = Location::Base(RC_FIRE_TEMPLE_MQ_LAVA_TORCH_POT_1, RCQUEST_MQ, RCTYPE_POT, RCAREA_FIRE_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_FIRE_TEMPLE, TWO_ACTOR_PARAMS(845, -1591), 0x6E12, "MQ Lava Torch Pot 1", "Fire Temple MQ Lava Torch Pot 1", RHT_POT_FIRE_TEMPLE, RG_GREEN_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_FIRE_TEMPLE_MQ_LAVA_TORCH_POT_1), SpoilerCollectionCheckGroup::GROUP_DUNGEON_FIRE_TEMPLE);
+ locationTable[RC_FIRE_TEMPLE_MQ_LAVA_TORCH_POT_2] = Location::Base(RC_FIRE_TEMPLE_MQ_LAVA_TORCH_POT_2, RCQUEST_MQ, RCTYPE_POT, RCAREA_FIRE_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_FIRE_TEMPLE, TWO_ACTOR_PARAMS(901, -1593), 0x700F, "MQ Lava Torch Pot 2", "Fire Temple MQ Lava Torch Pot 2", RHT_POT_FIRE_TEMPLE, RG_BLUE_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_FIRE_TEMPLE_MQ_LAVA_TORCH_POT_2), SpoilerCollectionCheckGroup::GROUP_DUNGEON_FIRE_TEMPLE);
+ locationTable[RC_FIRE_TEMPLE_MQ_ABOVE_LAVA_POT_1] = Location::Base(RC_FIRE_TEMPLE_MQ_ABOVE_LAVA_POT_1, RCQUEST_MQ, RCTYPE_POT, RCAREA_FIRE_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_FIRE_TEMPLE, TWO_ACTOR_PARAMS(1756, -155), 0x7212, "MQ Above Lava Pot 1", "Fire Temple MQ Above Lava Pot 1", RHT_POT_FIRE_TEMPLE, RG_GREEN_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_FIRE_TEMPLE_MQ_ABOVE_LAVA_POT_1), SpoilerCollectionCheckGroup::GROUP_DUNGEON_FIRE_TEMPLE);
+ locationTable[RC_FIRE_TEMPLE_MQ_ABOVE_LAVA_POT_2] = Location::Base(RC_FIRE_TEMPLE_MQ_ABOVE_LAVA_POT_2, RCQUEST_MQ, RCTYPE_POT, RCAREA_FIRE_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_FIRE_TEMPLE, TWO_ACTOR_PARAMS(1819, -82), 0x7409, "MQ Above Lava Pot 2", "Fire Temple MQ Above Lava Pot 2", RHT_POT_FIRE_TEMPLE, RG_ARROWS_10, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_FIRE_TEMPLE_MQ_ABOVE_LAVA_POT_2), SpoilerCollectionCheckGroup::GROUP_DUNGEON_FIRE_TEMPLE);
+ locationTable[RC_FIRE_TEMPLE_MQ_ABOVE_LAVA_POT_3] = Location::Base(RC_FIRE_TEMPLE_MQ_ABOVE_LAVA_POT_3, RCQUEST_MQ, RCTYPE_POT, RCAREA_FIRE_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_FIRE_TEMPLE, TWO_ACTOR_PARAMS(1789, -122), 0x760B, "MQ Above Lava Pot 3", "Fire Temple MQ Above Lava Pot 3", RHT_POT_FIRE_TEMPLE, RG_BOMBS_10, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_FIRE_TEMPLE_MQ_ABOVE_LAVA_POT_3), SpoilerCollectionCheckGroup::GROUP_DUNGEON_FIRE_TEMPLE);
+ locationTable[RC_FIRE_TEMPLE_MQ_FLAME_WALL_POT_1] = Location::Base(RC_FIRE_TEMPLE_MQ_FLAME_WALL_POT_1, RCQUEST_MQ, RCTYPE_POT, RCAREA_FIRE_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_FIRE_TEMPLE, TWO_ACTOR_PARAMS(1493, 386), 0x5209, "MQ Flame Wall Pot 1", "Fire Temple MQ Flame Wall Pot 1", RHT_POT_FIRE_TEMPLE, RG_ARROWS_10, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_FIRE_TEMPLE_MQ_FLAME_WALL_POT_1), SpoilerCollectionCheckGroup::GROUP_DUNGEON_FIRE_TEMPLE);
+ locationTable[RC_FIRE_TEMPLE_MQ_FLAME_WALL_POT_2] = Location::Base(RC_FIRE_TEMPLE_MQ_FLAME_WALL_POT_2, RCQUEST_MQ, RCTYPE_POT, RCAREA_FIRE_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_FIRE_TEMPLE, TWO_ACTOR_PARAMS(1445, 445), 0x5409, "MQ Flame Wall Pot 2", "Fire Temple MQ Flame Wall Pot 2", RHT_POT_FIRE_TEMPLE, RG_ARROWS_10, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_FIRE_TEMPLE_MQ_FLAME_WALL_POT_2), SpoilerCollectionCheckGroup::GROUP_DUNGEON_FIRE_TEMPLE);
+ locationTable[RC_FIRE_TEMPLE_MQ_FIRE_MAZE_POT_1] = Location::Base(RC_FIRE_TEMPLE_MQ_FIRE_MAZE_POT_1, RCQUEST_MQ, RCTYPE_POT, RCAREA_FIRE_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_FIRE_TEMPLE, TWO_ACTOR_PARAMS(-2217, -163), 0x4604, "MQ Fire Maze Pot 1", "Fire Temple MQ Fire Maze Pot 1", RHT_POT_FIRE_TEMPLE, RG_BOMBS_5, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_FIRE_TEMPLE_MQ_FIRE_MAZE_POT_1), SpoilerCollectionCheckGroup::GROUP_DUNGEON_FIRE_TEMPLE);
+ locationTable[RC_FIRE_TEMPLE_MQ_FIRE_MAZE_POT_2] = Location::Base(RC_FIRE_TEMPLE_MQ_FIRE_MAZE_POT_2, RCQUEST_MQ, RCTYPE_POT, RCAREA_FIRE_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_FIRE_TEMPLE, TWO_ACTOR_PARAMS(-2657, -591), 0x4803, "MQ Fire Maze Pot 2", "Fire Temple MQ Fire Maze Pot 2", RHT_POT_FIRE_TEMPLE, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_FIRE_TEMPLE_MQ_FIRE_MAZE_POT_2), SpoilerCollectionCheckGroup::GROUP_DUNGEON_FIRE_TEMPLE);
+ locationTable[RC_FIRE_TEMPLE_MQ_FIRE_MAZE_POT_3] = Location::Base(RC_FIRE_TEMPLE_MQ_FIRE_MAZE_POT_3, RCQUEST_MQ, RCTYPE_POT, RCAREA_FIRE_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_FIRE_TEMPLE, TWO_ACTOR_PARAMS(-1849, -1114), 0x4A03, "MQ Fire Maze Pot 3", "Fire Temple MQ Fire Maze Pot 3", RHT_POT_FIRE_TEMPLE, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_FIRE_TEMPLE_MQ_FIRE_MAZE_POT_3), SpoilerCollectionCheckGroup::GROUP_DUNGEON_FIRE_TEMPLE);
+ locationTable[RC_FIRE_TEMPLE_MQ_FIRE_MAZE_POT_4] = Location::Base(RC_FIRE_TEMPLE_MQ_FIRE_MAZE_POT_4, RCQUEST_MQ, RCTYPE_POT, RCAREA_FIRE_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_FIRE_TEMPLE, TWO_ACTOR_PARAMS(-2110, -646), 0x4C04, "MQ Fire Maze Pot 4", "Fire Temple MQ Fire Maze Pot 4", RHT_POT_FIRE_TEMPLE, RG_BOMBS_5, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_FIRE_TEMPLE_MQ_FIRE_MAZE_POT_4), SpoilerCollectionCheckGroup::GROUP_DUNGEON_FIRE_TEMPLE);
+ locationTable[RC_FIRE_TEMPLE_MQ_FIRE_MAZE_POT_5] = Location::Base(RC_FIRE_TEMPLE_MQ_FIRE_MAZE_POT_5, RCQUEST_MQ, RCTYPE_POT, RCAREA_FIRE_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_FIRE_TEMPLE, TWO_ACTOR_PARAMS(-2319, 838), 0x4E12, "MQ Fire Maze Pot 5", "Fire Temple MQ Fire Maze Pot 5", RHT_POT_FIRE_TEMPLE, RG_GREEN_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_FIRE_TEMPLE_MQ_FIRE_MAZE_POT_5), SpoilerCollectionCheckGroup::GROUP_DUNGEON_FIRE_TEMPLE);
+ locationTable[RC_FIRE_TEMPLE_MQ_FIRE_MAZE_POT_6] = Location::Base(RC_FIRE_TEMPLE_MQ_FIRE_MAZE_POT_6, RCQUEST_MQ, RCTYPE_POT, RCAREA_FIRE_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_FIRE_TEMPLE, TWO_ACTOR_PARAMS(-2285, 803), 0x500B, "MQ Fire Maze Pot 6", "Fire Temple MQ Fire Maze Pot 6", RHT_POT_FIRE_TEMPLE, RG_BOMBS_10, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_FIRE_TEMPLE_MQ_FIRE_MAZE_POT_6), SpoilerCollectionCheckGroup::GROUP_DUNGEON_FIRE_TEMPLE);
+ locationTable[RC_FIRE_TEMPLE_MQ_BEFORE_MINI_BOSS_POT_1] = Location::Base(RC_FIRE_TEMPLE_MQ_BEFORE_MINI_BOSS_POT_1, RCQUEST_MQ, RCTYPE_POT, RCAREA_FIRE_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_FIRE_TEMPLE, TWO_ACTOR_PARAMS(187, -1449), 0x5E12, "MQ Before Mini Boss Pot 1", "Fire Temple MQ Before Mini Boss Pot 1", RHT_POT_FIRE_TEMPLE, RG_GREEN_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_FIRE_TEMPLE_MQ_BEFORE_MINI_BOSS_POT_1), SpoilerCollectionCheckGroup::GROUP_DUNGEON_FIRE_TEMPLE);
+ locationTable[RC_FIRE_TEMPLE_MQ_BEFORE_MINI_BOSS_POT_2] = Location::Base(RC_FIRE_TEMPLE_MQ_BEFORE_MINI_BOSS_POT_2, RCQUEST_MQ, RCTYPE_POT, RCAREA_FIRE_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_FIRE_TEMPLE, TWO_ACTOR_PARAMS(188, -1514), 0x6004, "MQ Before Mini Boss Pot 2", "Fire Temple MQ Before Mini Boss Pot 2", RHT_POT_FIRE_TEMPLE, RG_BOMBS_5, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_FIRE_TEMPLE_MQ_BEFORE_MINI_BOSS_POT_2), SpoilerCollectionCheckGroup::GROUP_DUNGEON_FIRE_TEMPLE);
+ locationTable[RC_FIRE_TEMPLE_MQ_BEFORE_MINI_BOSS_POT_3] = Location::Base(RC_FIRE_TEMPLE_MQ_BEFORE_MINI_BOSS_POT_3, RCQUEST_MQ, RCTYPE_POT, RCAREA_FIRE_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_FIRE_TEMPLE, TWO_ACTOR_PARAMS(487, -1450), 0x6212, "MQ Before Mini Boss Pot 3", "Fire Temple MQ Before Mini Boss Pot 3", RHT_POT_FIRE_TEMPLE, RG_GREEN_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_FIRE_TEMPLE_MQ_BEFORE_MINI_BOSS_POT_3), SpoilerCollectionCheckGroup::GROUP_DUNGEON_FIRE_TEMPLE);
+ locationTable[RC_FIRE_TEMPLE_MQ_BEFORE_MINI_BOSS_POT_4] = Location::Base(RC_FIRE_TEMPLE_MQ_BEFORE_MINI_BOSS_POT_4, RCQUEST_MQ, RCTYPE_POT, RCAREA_FIRE_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_FIRE_TEMPLE, TWO_ACTOR_PARAMS(486, -1515), 0x6404, "MQ Before Mini Boss Pot 4", "Fire Temple MQ Before Mini Boss Pot 4", RHT_POT_FIRE_TEMPLE, RG_BOMBS_5, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_FIRE_TEMPLE_MQ_BEFORE_MINI_BOSS_POT_4), SpoilerCollectionCheckGroup::GROUP_DUNGEON_FIRE_TEMPLE);
+ locationTable[RC_FIRE_TEMPLE_MQ_BEFORE_MINI_BOSS_POT_5] = Location::Base(RC_FIRE_TEMPLE_MQ_BEFORE_MINI_BOSS_POT_5, RCQUEST_MQ, RCTYPE_POT, RCAREA_FIRE_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_FIRE_TEMPLE, TWO_ACTOR_PARAMS(38, -1179), 0x6604, "MQ Before Mini Boss Pot 5", "Fire Temple MQ Before Mini Boss Pot 5", RHT_POT_FIRE_TEMPLE, RG_BOMBS_5, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_FIRE_TEMPLE_MQ_BEFORE_MINI_BOSS_POT_5), SpoilerCollectionCheckGroup::GROUP_DUNGEON_FIRE_TEMPLE);
+ locationTable[RC_FIRE_TEMPLE_MQ_BEFORE_MINI_BOSS_POT_6] = Location::Base(RC_FIRE_TEMPLE_MQ_BEFORE_MINI_BOSS_POT_6, RCQUEST_MQ, RCTYPE_POT, RCAREA_FIRE_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_FIRE_TEMPLE, TWO_ACTOR_PARAMS(42, -1298), 0x6804, "MQ Before Mini Boss Pot 6", "Fire Temple MQ Before Mini Boss Pot 6", RHT_POT_FIRE_TEMPLE, RG_BOMBS_5, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_FIRE_TEMPLE_MQ_BEFORE_MINI_BOSS_POT_6), SpoilerCollectionCheckGroup::GROUP_DUNGEON_FIRE_TEMPLE);
+ locationTable[RC_FIRE_TEMPLE_MQ_BEFORE_MINI_BOSS_POT_7] = Location::Base(RC_FIRE_TEMPLE_MQ_BEFORE_MINI_BOSS_POT_7, RCQUEST_MQ, RCTYPE_POT, RCAREA_FIRE_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_FIRE_TEMPLE, TWO_ACTOR_PARAMS(520, -943), 0x6A12, "MQ Before Mini Boss Pot 7", "Fire Temple MQ Before Mini Boss Pot 7", RHT_POT_FIRE_TEMPLE, RG_GREEN_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_FIRE_TEMPLE_MQ_BEFORE_MINI_BOSS_POT_7), SpoilerCollectionCheckGroup::GROUP_DUNGEON_FIRE_TEMPLE);
+ locationTable[RC_FIRE_TEMPLE_MQ_BEFORE_MINI_BOSS_POT_8] = Location::Base(RC_FIRE_TEMPLE_MQ_BEFORE_MINI_BOSS_POT_8, RCQUEST_MQ, RCTYPE_POT, RCAREA_FIRE_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_FIRE_TEMPLE, TWO_ACTOR_PARAMS(35, -946), 0x6C12, "MQ Before Mini Boss Pot 8", "Fire Temple MQ Before Mini Boss Pot 8", RHT_POT_FIRE_TEMPLE, RG_GREEN_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_FIRE_TEMPLE_MQ_BEFORE_MINI_BOSS_POT_8), SpoilerCollectionCheckGroup::GROUP_DUNGEON_FIRE_TEMPLE);
+ locationTable[RC_ICE_CAVERN_MQ_ENTRANCE_POT] = Location::Base(RC_ICE_CAVERN_MQ_ENTRANCE_POT, RCQUEST_MQ, RCTYPE_POT, RCAREA_ICE_CAVERN, ACTOR_OBJ_TSUBO, SCENE_ICE_CAVERN, TWO_ACTOR_PARAMS(248, 2287), 0x4003, "MQ Entrance Pot", "Ice Cavern MQ Entrance Pot", RHT_POT_ICE_CAVERN, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_ICE_CAVERN_MQ_ENTRANCE_POT), SpoilerCollectionCheckGroup::GROUP_DUNGEON_ICE_CAVERN);
+ locationTable[RC_ICE_CAVERN_MQ_FIRST_CRYSTAL_POT_1] = Location::Base(RC_ICE_CAVERN_MQ_FIRST_CRYSTAL_POT_1, RCQUEST_MQ, RCTYPE_POT, RCAREA_ICE_CAVERN, ACTOR_OBJ_TSUBO, SCENE_ICE_CAVERN, TWO_ACTOR_PARAMS(51, 718), 0x4A03, "MQ First Crystal Pot 1", "Ice Cavern MQ First Crystal Pot 1", RHT_POT_ICE_CAVERN, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_ICE_CAVERN_MQ_FIRST_CRYSTAL_POT_1), SpoilerCollectionCheckGroup::GROUP_DUNGEON_ICE_CAVERN);
+ locationTable[RC_ICE_CAVERN_MQ_FIRST_CRYSTAL_POT_2] = Location::Base(RC_ICE_CAVERN_MQ_FIRST_CRYSTAL_POT_2, RCQUEST_MQ, RCTYPE_POT, RCAREA_ICE_CAVERN, ACTOR_OBJ_TSUBO, SCENE_ICE_CAVERN, TWO_ACTOR_PARAMS(52, 768), 0x4C03, "MQ First Crystal Pot 2", "Ice Cavern MQ First Crystal Pot 2", RHT_POT_ICE_CAVERN, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_ICE_CAVERN_MQ_FIRST_CRYSTAL_POT_2), SpoilerCollectionCheckGroup::GROUP_DUNGEON_ICE_CAVERN);
+ locationTable[RC_ICE_CAVERN_MQ_EARLY_WOLFOS_POT_1] = Location::Base(RC_ICE_CAVERN_MQ_EARLY_WOLFOS_POT_1, RCQUEST_MQ, RCTYPE_POT, RCAREA_ICE_CAVERN, ACTOR_OBJ_TSUBO, SCENE_ICE_CAVERN, TWO_ACTOR_PARAMS(433, -732), 0x4E12, "MQ Early Wolfos Pot 1", "Ice Cavern MQ Early Wolfos Pot 1", RHT_POT_ICE_CAVERN, RG_GREEN_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_ICE_CAVERN_MQ_EARLY_WOLFOS_POT_1), SpoilerCollectionCheckGroup::GROUP_DUNGEON_ICE_CAVERN);
+ locationTable[RC_ICE_CAVERN_MQ_EARLY_WOLFOS_POT_2] = Location::Base(RC_ICE_CAVERN_MQ_EARLY_WOLFOS_POT_2, RCQUEST_MQ, RCTYPE_POT, RCAREA_ICE_CAVERN, ACTOR_OBJ_TSUBO, SCENE_ICE_CAVERN, TWO_ACTOR_PARAMS(569, -175), 0x5001, "MQ Early Wolfos Pot 2", "Ice Cavern MQ Early Wolfos Pot 2", RHT_POT_ICE_CAVERN, RG_BLUE_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_ICE_CAVERN_MQ_EARLY_WOLFOS_POT_2), SpoilerCollectionCheckGroup::GROUP_DUNGEON_ICE_CAVERN);
+ locationTable[RC_ICE_CAVERN_MQ_EARLY_WOLFOS_POT_3] = Location::Base(RC_ICE_CAVERN_MQ_EARLY_WOLFOS_POT_3, RCQUEST_MQ, RCTYPE_POT, RCAREA_ICE_CAVERN, ACTOR_OBJ_TSUBO, SCENE_ICE_CAVERN, TWO_ACTOR_PARAMS(521, -131), 0x5203, "MQ Early Wolfos Pot 3", "Ice Cavern MQ Early Wolfos Pot 3", RHT_POT_ICE_CAVERN, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_ICE_CAVERN_MQ_EARLY_WOLFOS_POT_3), SpoilerCollectionCheckGroup::GROUP_DUNGEON_ICE_CAVERN);
+ locationTable[RC_ICE_CAVERN_MQ_EARLY_WOLFOS_POT_4] = Location::Base(RC_ICE_CAVERN_MQ_EARLY_WOLFOS_POT_4, RCQUEST_MQ, RCTYPE_POT, RCAREA_ICE_CAVERN, ACTOR_OBJ_TSUBO, SCENE_ICE_CAVERN, TWO_ACTOR_PARAMS(138, -672), 0x5812, "MQ Early Wolfos Pot 4", "Ice Cavern MQ Early Wolfos Pot 4", RHT_POT_ICE_CAVERN, RG_GREEN_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_ICE_CAVERN_MQ_EARLY_WOLFOS_POT_4), SpoilerCollectionCheckGroup::GROUP_DUNGEON_ICE_CAVERN);
+ locationTable[RC_ICE_CAVERN_MQ_PUSH_BLOCK_POT_1] = Location::Base(RC_ICE_CAVERN_MQ_PUSH_BLOCK_POT_1, RCQUEST_MQ, RCTYPE_POT, RCAREA_ICE_CAVERN, ACTOR_OBJ_TSUBO, SCENE_ICE_CAVERN, TWO_ACTOR_PARAMS(-1352, 639), 0x5412, "MQ Push Block Pot 1", "Ice Cavern MQ Push Block Pot 1", RHT_POT_ICE_CAVERN, RG_GREEN_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_ICE_CAVERN_MQ_PUSH_BLOCK_POT_1), SpoilerCollectionCheckGroup::GROUP_DUNGEON_ICE_CAVERN);
+ locationTable[RC_ICE_CAVERN_MQ_PUSH_BLOCK_POT_2] = Location::Base(RC_ICE_CAVERN_MQ_PUSH_BLOCK_POT_2, RCQUEST_MQ, RCTYPE_POT, RCAREA_ICE_CAVERN, ACTOR_OBJ_TSUBO, SCENE_ICE_CAVERN, TWO_ACTOR_PARAMS(-1396, 596), 0x560E, "MQ Push Block Pot 2", "Ice Cavern MQ Push Block Pot 2", RHT_POT_ICE_CAVERN, RG_BLUE_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_ICE_CAVERN_MQ_PUSH_BLOCK_POT_2), SpoilerCollectionCheckGroup::GROUP_DUNGEON_ICE_CAVERN);
+ locationTable[RC_ICE_CAVERN_MQ_COMPASS_POT_1] = Location::Base(RC_ICE_CAVERN_MQ_COMPASS_POT_1, RCQUEST_MQ, RCTYPE_POT, RCAREA_ICE_CAVERN, ACTOR_OBJ_TSUBO, SCENE_ICE_CAVERN, TWO_ACTOR_PARAMS(902, -2720), 0x6E0B, "MQ Compass Pot 1", "Ice Cavern MQ Compass Pot 1", RHT_POT_ICE_CAVERN, RG_BOMBS_10, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_ICE_CAVERN_MQ_COMPASS_POT_1), SpoilerCollectionCheckGroup::GROUP_DUNGEON_ICE_CAVERN);
+ locationTable[RC_ICE_CAVERN_MQ_COMPASS_POT_2] = Location::Base(RC_ICE_CAVERN_MQ_COMPASS_POT_2, RCQUEST_MQ, RCTYPE_POT, RCAREA_ICE_CAVERN, ACTOR_OBJ_TSUBO, SCENE_ICE_CAVERN, TWO_ACTOR_PARAMS(451, -2726), 0x6C0B, "MQ Compass Pot 2", "Ice Cavern MQ Compass Pot 2", RHT_POT_ICE_CAVERN, RG_BOMBS_10, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_ICE_CAVERN_MQ_COMPASS_POT_2), SpoilerCollectionCheckGroup::GROUP_DUNGEON_ICE_CAVERN);
+ locationTable[RC_SPIRIT_TEMPLE_MQ_ENTRANCE_POT_1] = Location::Base(RC_SPIRIT_TEMPLE_MQ_ENTRANCE_POT_1, RCQUEST_MQ, RCTYPE_POT, RCAREA_SPIRIT_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_SPIRIT_TEMPLE, TWO_ACTOR_PARAMS(-255, 742), 0x4203, "MQ Entrance Pot 1", "Spirit Temple MQ Entrance Pot 1", RHT_POT_SPIRIT_TEMPLE, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_SPIRIT_TEMPLE_MQ_ENTRANCE_POT_1), SpoilerCollectionCheckGroup::GROUP_DUNGEON_SPIRIT_TEMPLE);
+ locationTable[RC_SPIRIT_TEMPLE_MQ_ENTRANCE_POT_2] = Location::Base(RC_SPIRIT_TEMPLE_MQ_ENTRANCE_POT_2, RCQUEST_MQ, RCTYPE_POT, RCAREA_SPIRIT_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_SPIRIT_TEMPLE, TWO_ACTOR_PARAMS(306, 682), 0x6403, "MQ Entrance Pot 2", "Spirit Temple MQ Entrance Pot 2", RHT_POT_SPIRIT_TEMPLE, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_SPIRIT_TEMPLE_MQ_ENTRANCE_POT_2), SpoilerCollectionCheckGroup::GROUP_DUNGEON_SPIRIT_TEMPLE);
+ locationTable[RC_SPIRIT_TEMPLE_MQ_ENTRANCE_POT_3] = Location::Base(RC_SPIRIT_TEMPLE_MQ_ENTRANCE_POT_3, RCQUEST_MQ, RCTYPE_POT, RCAREA_SPIRIT_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_SPIRIT_TEMPLE, TWO_ACTOR_PARAMS(-297, 687), 0x6204, "MQ Entrance Pot 3", "Spirit Temple MQ Entrance Pot 3", RHT_POT_SPIRIT_TEMPLE, RG_BOMBS_5, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_SPIRIT_TEMPLE_MQ_ENTRANCE_POT_3), SpoilerCollectionCheckGroup::GROUP_DUNGEON_SPIRIT_TEMPLE);
+ locationTable[RC_SPIRIT_TEMPLE_MQ_ENTRANCE_POT_4] = Location::Base(RC_SPIRIT_TEMPLE_MQ_ENTRANCE_POT_4, RCQUEST_MQ, RCTYPE_POT, RCAREA_SPIRIT_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_SPIRIT_TEMPLE, TWO_ACTOR_PARAMS(260, 735), 0x440E, "MQ Entrance Pot 4", "Spirit Temple MQ Entrance Pot 4", RHT_POT_SPIRIT_TEMPLE, RG_BLUE_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_SPIRIT_TEMPLE_MQ_ENTRANCE_POT_4), SpoilerCollectionCheckGroup::GROUP_DUNGEON_SPIRIT_TEMPLE);
+ locationTable[RC_SPIRIT_TEMPLE_MQ_CHILD_SLUGMA_POT] = Location::Base(RC_SPIRIT_TEMPLE_MQ_CHILD_SLUGMA_POT, RCQUEST_MQ, RCTYPE_POT, RCAREA_SPIRIT_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_SPIRIT_TEMPLE, TWO_ACTOR_PARAMS(-894, -50), 0x4004, "MQ Child Slugma Pot", "Spirit Temple MQ Child Slugma Pot", RHT_POT_SPIRIT_TEMPLE, RG_BOMBS_5, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_SPIRIT_TEMPLE_MQ_CHILD_SLUGMA_POT), SpoilerCollectionCheckGroup::GROUP_DUNGEON_SPIRIT_TEMPLE);
+ locationTable[RC_SPIRIT_TEMPLE_MQ_CHILD_GIBDO_POT_1] = Location::Base(RC_SPIRIT_TEMPLE_MQ_CHILD_GIBDO_POT_1, RCQUEST_MQ, RCTYPE_POT, RCAREA_SPIRIT_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_SPIRIT_TEMPLE, TWO_ACTOR_PARAMS(-382, -1256), 0x6803, "MQ Child Gibdo Pot 1", "Spirit Temple MQ Child Gibdo Pot 1", RHT_POT_SPIRIT_TEMPLE, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_SPIRIT_TEMPLE_MQ_CHILD_GIBDO_POT_1), SpoilerCollectionCheckGroup::GROUP_DUNGEON_SPIRIT_TEMPLE);
+ locationTable[RC_SPIRIT_TEMPLE_MQ_CHILD_GIBDO_POT_2] = Location::Base(RC_SPIRIT_TEMPLE_MQ_CHILD_GIBDO_POT_2, RCQUEST_MQ, RCTYPE_POT, RCAREA_SPIRIT_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_SPIRIT_TEMPLE, TWO_ACTOR_PARAMS(-381, -1207), 0x660E, "MQ Child Gibdo Pot 2", "Spirit Temple MQ Child Gibdo Pot 2", RHT_POT_SPIRIT_TEMPLE, RG_BLUE_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_SPIRIT_TEMPLE_MQ_CHILD_GIBDO_POT_2), SpoilerCollectionCheckGroup::GROUP_DUNGEON_SPIRIT_TEMPLE);
+ locationTable[RC_SPIRIT_TEMPLE_MQ_CHILD_LIKE_LIKE_POT] = Location::Base(RC_SPIRIT_TEMPLE_MQ_CHILD_LIKE_LIKE_POT, RCQUEST_MQ, RCTYPE_POT, RCAREA_SPIRIT_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_SPIRIT_TEMPLE, TWO_ACTOR_PARAMS(-1035, -1240), 0x460E, "MQ Child Like Like Pot", "Spirit Temple MQ Child Like Like Pot", RHT_POT_SPIRIT_TEMPLE, RG_BLUE_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_SPIRIT_TEMPLE_MQ_CHILD_LIKE_LIKE_POT), SpoilerCollectionCheckGroup::GROUP_DUNGEON_SPIRIT_TEMPLE);
+ locationTable[RC_SPIRIT_TEMPLE_MQ_CHILD_STALFOS_POT_1] = Location::Base(RC_SPIRIT_TEMPLE_MQ_CHILD_STALFOS_POT_1, RCQUEST_MQ, RCTYPE_POT, RCAREA_SPIRIT_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_SPIRIT_TEMPLE, TWO_ACTOR_PARAMS(-1166, -1931), 0x5C03, "MQ Child Stalfos Pot 1", "Spirit Temple MQ Child Stalfos Pot 1", RHT_POT_SPIRIT_TEMPLE, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_SPIRIT_TEMPLE_MQ_CHILD_STALFOS_POT_1), SpoilerCollectionCheckGroup::GROUP_DUNGEON_SPIRIT_TEMPLE);
+ locationTable[RC_SPIRIT_TEMPLE_MQ_CHILD_STALFOS_POT_2] = Location::Base(RC_SPIRIT_TEMPLE_MQ_CHILD_STALFOS_POT_2, RCQUEST_MQ, RCTYPE_POT, RCAREA_SPIRIT_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_SPIRIT_TEMPLE, TWO_ACTOR_PARAMS(-959, -1930), 0x5E03, "MQ Child Stalfos Pot 2", "Spirit Temple MQ Child Stalfos Pot 2", RHT_POT_SPIRIT_TEMPLE, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_SPIRIT_TEMPLE_MQ_CHILD_STALFOS_POT_2), SpoilerCollectionCheckGroup::GROUP_DUNGEON_SPIRIT_TEMPLE);
+ locationTable[RC_SPIRIT_TEMPLE_MQ_CHILD_STALFOS_POT_3] = Location::Base(RC_SPIRIT_TEMPLE_MQ_CHILD_STALFOS_POT_3, RCQUEST_MQ, RCTYPE_POT, RCAREA_SPIRIT_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_SPIRIT_TEMPLE, TWO_ACTOR_PARAMS(-853, -1837), 0x6010, "MQ Child Stalfos Pot 3", "Spirit Temple MQ Child Stalfos Pot 3", RHT_POT_SPIRIT_TEMPLE, RG_DEKU_SEEDS_30, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_SPIRIT_TEMPLE_MQ_CHILD_STALFOS_POT_3), SpoilerCollectionCheckGroup::GROUP_DUNGEON_SPIRIT_TEMPLE);
+ locationTable[RC_SPIRIT_TEMPLE_MQ_CHILD_STALFOS_POT_4] = Location::Base(RC_SPIRIT_TEMPLE_MQ_CHILD_STALFOS_POT_4, RCQUEST_MQ, RCTYPE_POT, RCAREA_SPIRIT_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_SPIRIT_TEMPLE, TWO_ACTOR_PARAMS(-1250, -1852), 0x5A12, "MQ Child Stalfos Pot 4", "Spirit Temple MQ Child Stalfos Pot 4", RHT_POT_SPIRIT_TEMPLE, RG_GREEN_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_SPIRIT_TEMPLE_MQ_CHILD_STALFOS_POT_4), SpoilerCollectionCheckGroup::GROUP_DUNGEON_SPIRIT_TEMPLE);
+ locationTable[RC_SPIRIT_TEMPLE_MQ_CENTRAL_CHAMBER_POT_1] = Location::Base(RC_SPIRIT_TEMPLE_MQ_CENTRAL_CHAMBER_POT_1, RCQUEST_MQ, RCTYPE_POT, RCAREA_SPIRIT_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_SPIRIT_TEMPLE, TWO_ACTOR_PARAMS(639, -1224), 0x4E03, "MQ Central Chamber Pot 1", "Spirit Temple MQ Central Chamber Pot 1", RHT_POT_SPIRIT_TEMPLE, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_SPIRIT_TEMPLE_MQ_CENTRAL_CHAMBER_POT_1), SpoilerCollectionCheckGroup::GROUP_DUNGEON_SPIRIT_TEMPLE);
+ locationTable[RC_SPIRIT_TEMPLE_MQ_CENTRAL_CHAMBER_POT_2] = Location::Base(RC_SPIRIT_TEMPLE_MQ_CENTRAL_CHAMBER_POT_2, RCQUEST_MQ, RCTYPE_POT, RCAREA_SPIRIT_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_SPIRIT_TEMPLE, TWO_ACTOR_PARAMS(-521, -1576), 0x4C08, "MQ Central Chamber Pot 2", "Spirit Temple MQ Central Chamber Pot 2", RHT_POT_SPIRIT_TEMPLE, RG_ARROWS_5, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_SPIRIT_TEMPLE_MQ_CENTRAL_CHAMBER_POT_2), SpoilerCollectionCheckGroup::GROUP_DUNGEON_SPIRIT_TEMPLE);
+ locationTable[RC_SPIRIT_TEMPLE_MQ_CENTRAL_CHAMBER_POT_3] = Location::Base(RC_SPIRIT_TEMPLE_MQ_CENTRAL_CHAMBER_POT_3, RCQUEST_MQ, RCTYPE_POT, RCAREA_SPIRIT_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_SPIRIT_TEMPLE, TWO_ACTOR_PARAMS(-595, -1576), 0x480E, "MQ Central Chamber Pot 3", "Spirit Temple MQ Central Chamber Pot 3", RHT_POT_SPIRIT_TEMPLE, RG_BLUE_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_SPIRIT_TEMPLE_MQ_CENTRAL_CHAMBER_POT_3), SpoilerCollectionCheckGroup::GROUP_DUNGEON_SPIRIT_TEMPLE);
+ locationTable[RC_SPIRIT_TEMPLE_MQ_CENTRAL_CHAMBER_POT_4] = Location::Base(RC_SPIRIT_TEMPLE_MQ_CENTRAL_CHAMBER_POT_4, RCQUEST_MQ, RCTYPE_POT, RCAREA_SPIRIT_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_SPIRIT_TEMPLE, TWO_ACTOR_PARAMS(-559, -1209), 0x6A0F, "MQ Central Chamber Pot 4", "Spirit Temple MQ Central Chamber Pot 4", RHT_POT_SPIRIT_TEMPLE, RG_BLUE_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_SPIRIT_TEMPLE_MQ_CENTRAL_CHAMBER_POT_4), SpoilerCollectionCheckGroup::GROUP_DUNGEON_SPIRIT_TEMPLE);
+ locationTable[RC_SPIRIT_TEMPLE_MQ_CENTRAL_CHAMBER_POT_5] = Location::Base(RC_SPIRIT_TEMPLE_MQ_CENTRAL_CHAMBER_POT_5, RCQUEST_MQ, RCTYPE_POT, RCAREA_SPIRIT_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_SPIRIT_TEMPLE, TWO_ACTOR_PARAMS(704, -1224), 0x5210, "MQ Central Chamber Pot 5", "Spirit Temple MQ Central Chamber Pot 5", RHT_POT_SPIRIT_TEMPLE, RG_DEKU_SEEDS_30, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_SPIRIT_TEMPLE_MQ_CENTRAL_CHAMBER_POT_5), SpoilerCollectionCheckGroup::GROUP_DUNGEON_SPIRIT_TEMPLE);
+ locationTable[RC_SPIRIT_TEMPLE_MQ_SUN_BLOCKS_POT_1] = Location::Base(RC_SPIRIT_TEMPLE_MQ_SUN_BLOCKS_POT_1, RCQUEST_MQ, RCTYPE_POT, RCAREA_SPIRIT_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_SPIRIT_TEMPLE, TWO_ACTOR_PARAMS(-1276, 432), 0x5603, "MQ Sun Blocks Pot 1", "Spirit Temple MQ Sun Blocks Pot 1", RHT_POT_SPIRIT_TEMPLE, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_SPIRIT_TEMPLE_MQ_SUN_BLOCKS_POT_1), SpoilerCollectionCheckGroup::GROUP_DUNGEON_SPIRIT_TEMPLE);
+ locationTable[RC_SPIRIT_TEMPLE_MQ_SUN_BLOCKS_POT_2] = Location::Base(RC_SPIRIT_TEMPLE_MQ_SUN_BLOCKS_POT_2, RCQUEST_MQ, RCTYPE_POT, RCAREA_SPIRIT_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_SPIRIT_TEMPLE, TWO_ACTOR_PARAMS(-1635, -446), 0x5410, "MQ Sun Blocks Pot 2", "Spirit Temple MQ Sun Blocks Pot 2", RHT_POT_SPIRIT_TEMPLE, RG_DEKU_SEEDS_30, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_SPIRIT_TEMPLE_MQ_SUN_BLOCKS_POT_2), SpoilerCollectionCheckGroup::GROUP_DUNGEON_SPIRIT_TEMPLE);
+ locationTable[RC_SPIRIT_TEMPLE_MQ_LONG_CLIMB_POT_1] = Location::Base(RC_SPIRIT_TEMPLE_MQ_LONG_CLIMB_POT_1, RCQUEST_MQ, RCTYPE_POT, RCAREA_SPIRIT_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_SPIRIT_TEMPLE, TWO_ACTOR_PARAMS(829, 250), 0x0203, "MQ Long Climb Pot 1", "Spirit Temple MQ Long Climb Pot 1", RHT_POT_SPIRIT_TEMPLE, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_SPIRIT_TEMPLE_MQ_LONG_CLIMB_POT_1), SpoilerCollectionCheckGroup::GROUP_DUNGEON_SPIRIT_TEMPLE);
+ locationTable[RC_SPIRIT_TEMPLE_MQ_LONG_CLIMB_POT_2] = Location::Base(RC_SPIRIT_TEMPLE_MQ_LONG_CLIMB_POT_2, RCQUEST_MQ, RCTYPE_POT, RCAREA_SPIRIT_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_SPIRIT_TEMPLE, TWO_ACTOR_PARAMS(531, 249), 0x0403, "MQ Long Climb Pot 2", "Spirit Temple MQ Long Climb Pot 2", RHT_POT_SPIRIT_TEMPLE, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_SPIRIT_TEMPLE_MQ_LONG_CLIMB_POT_2), SpoilerCollectionCheckGroup::GROUP_DUNGEON_SPIRIT_TEMPLE);
+ locationTable[RC_SPIRIT_TEMPLE_MQ_BIG_MIRROR_POT_1] = Location::Base(RC_SPIRIT_TEMPLE_MQ_BIG_MIRROR_POT_1, RCQUEST_MQ, RCTYPE_POT, RCAREA_SPIRIT_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_SPIRIT_TEMPLE, TWO_ACTOR_PARAMS(244, -893), 0x7803, "MQ Big Mirror Pot 1", "Spirit Temple MQ Big Mirror Pot 1", RHT_POT_SPIRIT_TEMPLE, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_SPIRIT_TEMPLE_MQ_BIG_MIRROR_POT_1), SpoilerCollectionCheckGroup::GROUP_DUNGEON_SPIRIT_TEMPLE);
+ locationTable[RC_SPIRIT_TEMPLE_MQ_BIG_MIRROR_POT_2] = Location::Base(RC_SPIRIT_TEMPLE_MQ_BIG_MIRROR_POT_2, RCQUEST_MQ, RCTYPE_POT, RCAREA_SPIRIT_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_SPIRIT_TEMPLE, TWO_ACTOR_PARAMS(-122, -741), 0x7A03, "MQ Big Mirror Pot 2", "Spirit Temple MQ Big Mirror Pot 2", RHT_POT_SPIRIT_TEMPLE, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_SPIRIT_TEMPLE_MQ_BIG_MIRROR_POT_2), SpoilerCollectionCheckGroup::GROUP_DUNGEON_SPIRIT_TEMPLE);
+ locationTable[RC_SPIRIT_TEMPLE_MQ_BIG_MIRROR_POT_3] = Location::Base(RC_SPIRIT_TEMPLE_MQ_BIG_MIRROR_POT_3, RCQUEST_MQ, RCTYPE_POT, RCAREA_SPIRIT_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_SPIRIT_TEMPLE, TWO_ACTOR_PARAMS(250, -741), 0x7C03, "MQ Big Mirror Pot 3", "Spirit Temple MQ Big Mirror Pot 3", RHT_POT_SPIRIT_TEMPLE, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_SPIRIT_TEMPLE_MQ_BIG_MIRROR_POT_3), SpoilerCollectionCheckGroup::GROUP_DUNGEON_SPIRIT_TEMPLE);
+ locationTable[RC_SPIRIT_TEMPLE_MQ_BIG_MIRROR_POT_4] = Location::Base(RC_SPIRIT_TEMPLE_MQ_BIG_MIRROR_POT_4, RCQUEST_MQ, RCTYPE_POT, RCAREA_SPIRIT_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_SPIRIT_TEMPLE, TWO_ACTOR_PARAMS(-123, -892), 0x760F, "MQ Big Mirror Pot 4", "Spirit Temple MQ Big Mirror Pot 4", RHT_POT_SPIRIT_TEMPLE, RG_BLUE_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_SPIRIT_TEMPLE_MQ_BIG_MIRROR_POT_4), SpoilerCollectionCheckGroup::GROUP_DUNGEON_SPIRIT_TEMPLE);
+ locationTable[RC_SPIRIT_TEMPLE_MQ_BEFORE_MIRROR_POT_1] = Location::Base(RC_SPIRIT_TEMPLE_MQ_BEFORE_MIRROR_POT_1, RCQUEST_MQ, RCTYPE_POT, RCAREA_SPIRIT_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_SPIRIT_TEMPLE, TWO_ACTOR_PARAMS(781, -841), 0x7403, "MQ Before Mirror Pot 1", "Spirit Temple MQ Before Mirror Pot 1", RHT_POT_SPIRIT_TEMPLE, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_SPIRIT_TEMPLE_MQ_BEFORE_MIRROR_POT_1), SpoilerCollectionCheckGroup::GROUP_DUNGEON_SPIRIT_TEMPLE);
+ locationTable[RC_SPIRIT_TEMPLE_MQ_BEFORE_MIRROR_POT_2] = Location::Base(RC_SPIRIT_TEMPLE_MQ_BEFORE_MIRROR_POT_2, RCQUEST_MQ, RCTYPE_POT, RCAREA_SPIRIT_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_SPIRIT_TEMPLE, TWO_ACTOR_PARAMS(587, -844), 0x7204, "MQ Before Mirror Pot 2", "Spirit Temple MQ Before Mirror Pot 2", RHT_POT_SPIRIT_TEMPLE, RG_BOMBS_5, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_SPIRIT_TEMPLE_MQ_BEFORE_MIRROR_POT_2), SpoilerCollectionCheckGroup::GROUP_DUNGEON_SPIRIT_TEMPLE);
+ locationTable[RC_SPIRIT_TEMPLE_MQ_EARLY_ADULT_POT_1] = Location::Base(RC_SPIRIT_TEMPLE_MQ_EARLY_ADULT_POT_1, RCQUEST_MQ, RCTYPE_POT, RCAREA_SPIRIT_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_SPIRIT_TEMPLE, TWO_ACTOR_PARAMS(1204, -910), 0x6E03, "MQ Early Adult Pot 1", "Spirit Temple MQ Early Adult Pot 1", RHT_POT_SPIRIT_TEMPLE, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_SPIRIT_TEMPLE_MQ_EARLY_ADULT_POT_1), SpoilerCollectionCheckGroup::GROUP_DUNGEON_SPIRIT_TEMPLE);
+ locationTable[RC_SPIRIT_TEMPLE_MQ_EARLY_ADULT_POT_2] = Location::Base(RC_SPIRIT_TEMPLE_MQ_EARLY_ADULT_POT_2, RCQUEST_MQ, RCTYPE_POT, RCAREA_SPIRIT_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_SPIRIT_TEMPLE, TWO_ACTOR_PARAMS(1204, -1028), 0x7003, "MQ Early Adult Pot 2", "Spirit Temple MQ Early Adult Pot 2", RHT_POT_SPIRIT_TEMPLE, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_SPIRIT_TEMPLE_MQ_EARLY_ADULT_POT_2), SpoilerCollectionCheckGroup::GROUP_DUNGEON_SPIRIT_TEMPLE);
+ locationTable[RC_WATER_TEMPLE_MQ_CENTRAL_GATE_POT_1] = Location::Base(RC_WATER_TEMPLE_MQ_CENTRAL_GATE_POT_1, RCQUEST_MQ, RCTYPE_POT, RCAREA_WATER_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_WATER_TEMPLE, TWO_ACTOR_PARAMS(512, 579), 0x4402, "MQ Central Gate Pot 1", "Water Temple MQ Central Gate Pot 1", RHT_POT_WATER_TEMPLE, RG_RED_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_WATER_TEMPLE_MQ_CENTRAL_GATE_POT_1), SpoilerCollectionCheckGroup::GROUP_DUNGEON_WATER_TEMPLE);
+ locationTable[RC_WATER_TEMPLE_MQ_CENTRAL_GATE_POT_2] = Location::Base(RC_WATER_TEMPLE_MQ_CENTRAL_GATE_POT_2, RCQUEST_MQ, RCTYPE_POT, RCAREA_WATER_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_WATER_TEMPLE, TWO_ACTOR_PARAMS(602, 1022), 0x4609, "MQ Central Gate Pot 2", "Water Temple MQ Central Gate Pot 2", RHT_POT_WATER_TEMPLE, RG_ARROWS_10, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_WATER_TEMPLE_MQ_CENTRAL_GATE_POT_2), SpoilerCollectionCheckGroup::GROUP_DUNGEON_WATER_TEMPLE);
+ locationTable[RC_WATER_TEMPLE_MQ_CENTRAL_GATE_POT_3] = Location::Base(RC_WATER_TEMPLE_MQ_CENTRAL_GATE_POT_3, RCQUEST_MQ, RCTYPE_POT, RCAREA_WATER_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_WATER_TEMPLE, TWO_ACTOR_PARAMS(789, 947), 0x540E, "MQ Central Gate Pot 3", "Water Temple MQ Central Gate Pot 3", RHT_POT_WATER_TEMPLE, RG_BLUE_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_WATER_TEMPLE_MQ_CENTRAL_GATE_POT_3), SpoilerCollectionCheckGroup::GROUP_DUNGEON_WATER_TEMPLE);
+ locationTable[RC_WATER_TEMPLE_MQ_CENTRAL_GATE_POT_4] = Location::Base(RC_WATER_TEMPLE_MQ_CENTRAL_GATE_POT_4, RCQUEST_MQ, RCTYPE_POT, RCAREA_WATER_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_WATER_TEMPLE, TWO_ACTOR_PARAMS(768, 565), 0x6E03, "MQ Central Gate Pot 4", "Water Temple MQ Central Gate Pot 4", RHT_POT_WATER_TEMPLE, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_WATER_TEMPLE_MQ_CENTRAL_GATE_POT_4), SpoilerCollectionCheckGroup::GROUP_DUNGEON_WATER_TEMPLE);
+ locationTable[RC_WATER_TEMPLE_MQ_CENTRAL_GATE_POT_5] = Location::Base(RC_WATER_TEMPLE_MQ_CENTRAL_GATE_POT_5, RCQUEST_MQ, RCTYPE_POT, RCAREA_WATER_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_WATER_TEMPLE, TWO_ACTOR_PARAMS(767, 517), 0x7E03, "MQ Central Gate Pot 5", "Water Temple MQ Central Gate Pot 5", RHT_POT_WATER_TEMPLE, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_WATER_TEMPLE_MQ_CENTRAL_GATE_POT_5), SpoilerCollectionCheckGroup::GROUP_DUNGEON_WATER_TEMPLE);
+ locationTable[RC_WATER_TEMPLE_MQ_STORAGE_ROOM_A_POT_1] = Location::Base(RC_WATER_TEMPLE_MQ_STORAGE_ROOM_A_POT_1, RCQUEST_MQ, RCTYPE_POT, RCAREA_WATER_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_WATER_TEMPLE, TWO_ACTOR_PARAMS(1222, -617), 0x4003, "MQ Storage Room A Pot 1", "Water Temple MQ Storage Room A Pot 1", RHT_POT_WATER_TEMPLE, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_WATER_TEMPLE_MQ_STORAGE_ROOM_A_POT_1), SpoilerCollectionCheckGroup::GROUP_DUNGEON_WATER_TEMPLE);
+ locationTable[RC_WATER_TEMPLE_MQ_STORAGE_ROOM_A_POT_2] = Location::Base(RC_WATER_TEMPLE_MQ_STORAGE_ROOM_A_POT_2, RCQUEST_MQ, RCTYPE_POT, RCAREA_WATER_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_WATER_TEMPLE, TWO_ACTOR_PARAMS(1122, -617), 0x4E03, "MQ Storage Room A Pot 2", "Water Temple MQ Storage Room A Pot 2", RHT_POT_WATER_TEMPLE, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_WATER_TEMPLE_MQ_STORAGE_ROOM_A_POT_2), SpoilerCollectionCheckGroup::GROUP_DUNGEON_WATER_TEMPLE);
+ locationTable[RC_WATER_TEMPLE_MQ_STORAGE_ROOM_A_POT_3] = Location::Base(RC_WATER_TEMPLE_MQ_STORAGE_ROOM_A_POT_3, RCQUEST_MQ, RCTYPE_POT, RCAREA_WATER_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_WATER_TEMPLE, TWO_ACTOR_PARAMS(1172, -617), 0x5003, "MQ Storage Room A Pot 3", "Water Temple MQ Storage Room A Pot 3", RHT_POT_WATER_TEMPLE, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_WATER_TEMPLE_MQ_STORAGE_ROOM_A_POT_3), SpoilerCollectionCheckGroup::GROUP_DUNGEON_WATER_TEMPLE);
+ locationTable[RC_WATER_TEMPLE_MQ_BEFORE_DARK_LINK_POT_1] = Location::Base(RC_WATER_TEMPLE_MQ_BEFORE_DARK_LINK_POT_1, RCQUEST_MQ, RCTYPE_POT, RCAREA_WATER_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_WATER_TEMPLE, TWO_ACTOR_PARAMS(-3188, -1628), 0x560E, "MQ Before Dark Link Pot 1", "Water Temple MQ Before Dark Link Pot 1", RHT_POT_WATER_TEMPLE, RG_BLUE_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_WATER_TEMPLE_MQ_BEFORE_DARK_LINK_POT_1), SpoilerCollectionCheckGroup::GROUP_DUNGEON_WATER_TEMPLE);
+ locationTable[RC_WATER_TEMPLE_MQ_BEFORE_DARK_LINK_POT_2] = Location::Base(RC_WATER_TEMPLE_MQ_BEFORE_DARK_LINK_POT_2, RCQUEST_MQ, RCTYPE_POT, RCAREA_WATER_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_WATER_TEMPLE, TWO_ACTOR_PARAMS(-3056, -1626), 0x580E, "MQ Before Dark Link Pot 2", "Water Temple MQ Before Dark Link Pot 2", RHT_POT_WATER_TEMPLE, RG_BLUE_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_WATER_TEMPLE_MQ_BEFORE_DARK_LINK_POT_2), SpoilerCollectionCheckGroup::GROUP_DUNGEON_WATER_TEMPLE);
+ locationTable[RC_WATER_TEMPLE_MQ_BEFORE_DARK_LINK_POT_3] = Location::Base(RC_WATER_TEMPLE_MQ_BEFORE_DARK_LINK_POT_3, RCQUEST_MQ, RCTYPE_POT, RCAREA_WATER_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_WATER_TEMPLE, TWO_ACTOR_PARAMS(-3500, -751), 0x5A0C, "MQ Before Dark Link Pot 3", "Water Temple MQ Before Dark Link Pot 3", RHT_POT_WATER_TEMPLE, RG_DEKU_NUTS_5, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_WATER_TEMPLE_MQ_BEFORE_DARK_LINK_POT_3), SpoilerCollectionCheckGroup::GROUP_DUNGEON_WATER_TEMPLE);
+ locationTable[RC_WATER_TEMPLE_MQ_BEFORE_DARK_LINK_POT_4] = Location::Base(RC_WATER_TEMPLE_MQ_BEFORE_DARK_LINK_POT_4, RCQUEST_MQ, RCTYPE_POT, RCAREA_WATER_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_WATER_TEMPLE, TWO_ACTOR_PARAMS(-3500, -686), 0x5C12, "MQ Before Dark Link Pot 4", "Water Temple MQ Before Dark Link Pot 4", RHT_POT_WATER_TEMPLE, RG_GREEN_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_WATER_TEMPLE_MQ_BEFORE_DARK_LINK_POT_4), SpoilerCollectionCheckGroup::GROUP_DUNGEON_WATER_TEMPLE);
+ locationTable[RC_WATER_TEMPLE_MQ_BEFORE_DARK_LINK_POT_5] = Location::Base(RC_WATER_TEMPLE_MQ_BEFORE_DARK_LINK_POT_5, RCQUEST_MQ, RCTYPE_POT, RCAREA_WATER_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_WATER_TEMPLE, TWO_ACTOR_PARAMS(-3500, -810), 0x6012, "MQ Before Dark Link Pot 5", "Water Temple MQ Before Dark Link Pot 5", RHT_POT_WATER_TEMPLE, RG_GREEN_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_WATER_TEMPLE_MQ_BEFORE_DARK_LINK_POT_5), SpoilerCollectionCheckGroup::GROUP_DUNGEON_WATER_TEMPLE);
+ locationTable[RC_WATER_TEMPLE_MQ_AFTER_DARK_LINK_POT_1] = Location::Base(RC_WATER_TEMPLE_MQ_AFTER_DARK_LINK_POT_1, RCQUEST_MQ, RCTYPE_POT, RCAREA_WATER_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_WATER_TEMPLE, TWO_ACTOR_PARAMS(-3072, -4024), 0x640A, "MQ After Dark Link Pot 1", "Water Temple MQ After Dark Link Pot 1", RHT_POT_WATER_TEMPLE, RG_ARROWS_30, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_WATER_TEMPLE_MQ_AFTER_DARK_LINK_POT_1), SpoilerCollectionCheckGroup::GROUP_DUNGEON_WATER_TEMPLE);
+ locationTable[RC_WATER_TEMPLE_MQ_AFTER_DARK_LINK_POT_2] = Location::Base(RC_WATER_TEMPLE_MQ_AFTER_DARK_LINK_POT_2, RCQUEST_MQ, RCTYPE_POT, RCAREA_WATER_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_WATER_TEMPLE, TWO_ACTOR_PARAMS(-3169, -4023), 0x6612, "MQ After Dark Link Pot 2", "Water Temple MQ After Dark Link Pot 2", RHT_POT_WATER_TEMPLE, RG_GREEN_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_WATER_TEMPLE_MQ_AFTER_DARK_LINK_POT_2), SpoilerCollectionCheckGroup::GROUP_DUNGEON_WATER_TEMPLE);
+ locationTable[RC_WATER_TEMPLE_MQ_RIVER_POT_1] = Location::Base(RC_WATER_TEMPLE_MQ_RIVER_POT_1, RCQUEST_MQ, RCTYPE_POT, RCAREA_WATER_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_WATER_TEMPLE, TWO_ACTOR_PARAMS(-2226, -2487), 0x5E09, "MQ River Pot 1", "Water Temple MQ River Pot 1", RHT_POT_WATER_TEMPLE, RG_ARROWS_10, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_WATER_TEMPLE_MQ_RIVER_POT_1), SpoilerCollectionCheckGroup::GROUP_DUNGEON_WATER_TEMPLE);
+ locationTable[RC_WATER_TEMPLE_MQ_RIVER_POT_2] = Location::Base(RC_WATER_TEMPLE_MQ_RIVER_POT_2, RCQUEST_MQ, RCTYPE_POT, RCAREA_WATER_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_WATER_TEMPLE, TWO_ACTOR_PARAMS(-2184, -2456), 0x6212, "MQ River Pot 2", "Water Temple MQ River Pot 2", RHT_POT_WATER_TEMPLE, RG_GREEN_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_WATER_TEMPLE_MQ_RIVER_POT_2), SpoilerCollectionCheckGroup::GROUP_DUNGEON_WATER_TEMPLE);
+ locationTable[RC_WATER_TEMPLE_MQ_MINI_DODONGO_POT_1] = Location::Base(RC_WATER_TEMPLE_MQ_MINI_DODONGO_POT_1, RCQUEST_MQ, RCTYPE_POT, RCAREA_WATER_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_WATER_TEMPLE, TWO_ACTOR_PARAMS(28, -3817), 0x7604, "MQ Mini Dodongo Pot 1", "Water Temple MQ Mini Dodongo Pot 1", RHT_POT_WATER_TEMPLE, RG_BOMBS_5, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_WATER_TEMPLE_MQ_MINI_DODONGO_POT_1), SpoilerCollectionCheckGroup::GROUP_DUNGEON_WATER_TEMPLE);
+ locationTable[RC_WATER_TEMPLE_MQ_MINI_DODONGO_POT_2] = Location::Base(RC_WATER_TEMPLE_MQ_MINI_DODONGO_POT_2, RCQUEST_MQ, RCTYPE_POT, RCAREA_WATER_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_WATER_TEMPLE, TWO_ACTOR_PARAMS(-28, -3817), 0x7804, "MQ Mini Dodongo Pot 2", "Water Temple MQ Mini Dodongo Pot 2", RHT_POT_WATER_TEMPLE, RG_BOMBS_5, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_WATER_TEMPLE_MQ_MINI_DODONGO_POT_2), SpoilerCollectionCheckGroup::GROUP_DUNGEON_WATER_TEMPLE);
+ locationTable[RC_WATER_TEMPLE_MQ_STORAGE_ROOM_B_POT_1] = Location::Base(RC_WATER_TEMPLE_MQ_STORAGE_ROOM_B_POT_1, RCQUEST_MQ, RCTYPE_POT, RCAREA_WATER_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_WATER_TEMPLE, TWO_ACTOR_PARAMS(-1417, -3025), 0x7A12, "MQ Storage Room B Pot 1", "Water Temple MQ Storage Room B Pot 1", RHT_POT_WATER_TEMPLE, RG_GREEN_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_WATER_TEMPLE_MQ_STORAGE_ROOM_B_POT_1), SpoilerCollectionCheckGroup::GROUP_DUNGEON_WATER_TEMPLE);
+ locationTable[RC_WATER_TEMPLE_MQ_STORAGE_ROOM_B_POT_2] = Location::Base(RC_WATER_TEMPLE_MQ_STORAGE_ROOM_B_POT_2, RCQUEST_MQ, RCTYPE_POT, RCAREA_WATER_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_WATER_TEMPLE, TWO_ACTOR_PARAMS(-1150, -3031), 0x7C0E, "MQ Storage Room B Pot 2", "Water Temple MQ Storage Room B Pot 2", RHT_POT_WATER_TEMPLE, RG_BLUE_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_WATER_TEMPLE_MQ_STORAGE_ROOM_B_POT_2), SpoilerCollectionCheckGroup::GROUP_DUNGEON_WATER_TEMPLE);
+ locationTable[RC_WATER_TEMPLE_MQ_GS_STORAGE_ROOM_POT_1] = Location::Base(RC_WATER_TEMPLE_MQ_GS_STORAGE_ROOM_POT_1, RCQUEST_MQ, RCTYPE_POT, RCAREA_WATER_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_WATER_TEMPLE, TWO_ACTOR_PARAMS(-989, 255), 0x7003, "MQ GS Storage Room Pot 1", "Water Temple MQ GS Storage Room Pot 1", RHT_POT_WATER_TEMPLE, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_WATER_TEMPLE_MQ_GS_STORAGE_ROOM_POT_1), SpoilerCollectionCheckGroup::GROUP_DUNGEON_WATER_TEMPLE);
+ locationTable[RC_WATER_TEMPLE_MQ_GS_STORAGE_ROOM_POT_2] = Location::Base(RC_WATER_TEMPLE_MQ_GS_STORAGE_ROOM_POT_2, RCQUEST_MQ, RCTYPE_POT, RCAREA_WATER_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_WATER_TEMPLE, TWO_ACTOR_PARAMS(-1026, 257), 0x7203, "MQ GS Storage Room Pot 2", "Water Temple MQ GS Storage Room Pot 2", RHT_POT_WATER_TEMPLE, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_WATER_TEMPLE_MQ_GS_STORAGE_ROOM_POT_2), SpoilerCollectionCheckGroup::GROUP_DUNGEON_WATER_TEMPLE);
+ locationTable[RC_WATER_TEMPLE_MQ_GS_STORAGE_ROOM_POT_3] = Location::Base(RC_WATER_TEMPLE_MQ_GS_STORAGE_ROOM_POT_3, RCQUEST_MQ, RCTYPE_POT, RCAREA_WATER_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_WATER_TEMPLE, TWO_ACTOR_PARAMS(-1062, 256), 0x7403, "MQ GS Storage Room Pot 3", "Water Temple MQ GS Storage Room Pot 3", RHT_POT_WATER_TEMPLE, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_WATER_TEMPLE_MQ_GS_STORAGE_ROOM_POT_3), SpoilerCollectionCheckGroup::GROUP_DUNGEON_WATER_TEMPLE);
+ locationTable[RC_WATER_TEMPLE_MQ_LOWER_TORCHES_POT_1] = Location::Base(RC_WATER_TEMPLE_MQ_LOWER_TORCHES_POT_1, RCQUEST_MQ, RCTYPE_POT, RCAREA_WATER_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_WATER_TEMPLE, TWO_ACTOR_PARAMS(1123, 62), 0x4A0E, "MQ Lower Torches Pot 1", "Water Temple MQ Lower Torches Pot 1", RHT_POT_WATER_TEMPLE, RG_BLUE_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_WATER_TEMPLE_MQ_LOWER_TORCHES_POT_1), SpoilerCollectionCheckGroup::GROUP_DUNGEON_WATER_TEMPLE);
+ locationTable[RC_WATER_TEMPLE_MQ_LOWER_TORCHES_POT_2] = Location::Base(RC_WATER_TEMPLE_MQ_LOWER_TORCHES_POT_2, RCQUEST_MQ, RCTYPE_POT, RCAREA_WATER_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_WATER_TEMPLE, TWO_ACTOR_PARAMS(1123, 293), 0x4C0E, "MQ Lower Torches Pot 2", "Water Temple MQ Lower Torches Pot 2", RHT_POT_WATER_TEMPLE, RG_BLUE_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_WATER_TEMPLE_MQ_LOWER_TORCHES_POT_2), SpoilerCollectionCheckGroup::GROUP_DUNGEON_WATER_TEMPLE);
+ locationTable[RC_WATER_TEMPLE_MQ_LOWEST_GS_POT_1] = Location::Base(RC_WATER_TEMPLE_MQ_LOWEST_GS_POT_1, RCQUEST_MQ, RCTYPE_POT, RCAREA_WATER_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_WATER_TEMPLE, TWO_ACTOR_PARAMS(-2314, 770), 0x4204, "MQ Lowest GS Pot 1", "Water Temple MQ Lowest GS Pot 1", RHT_POT_WATER_TEMPLE, RG_BOMBS_5, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_WATER_TEMPLE_MQ_LOWEST_GS_POT_1), SpoilerCollectionCheckGroup::GROUP_DUNGEON_WATER_TEMPLE);
+ locationTable[RC_WATER_TEMPLE_MQ_LOWEST_GS_POT_2] = Location::Base(RC_WATER_TEMPLE_MQ_LOWEST_GS_POT_2, RCQUEST_MQ, RCTYPE_POT, RCAREA_WATER_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_WATER_TEMPLE, TWO_ACTOR_PARAMS(-2314, 808), 0x4804, "MQ Lowest GS Pot 2", "Water Temple MQ Lowest GS Pot 2", RHT_POT_WATER_TEMPLE, RG_BOMBS_5, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_WATER_TEMPLE_MQ_LOWEST_GS_POT_2), SpoilerCollectionCheckGroup::GROUP_DUNGEON_WATER_TEMPLE);
+ locationTable[RC_WATER_TEMPLE_MQ_LOWEST_GS_POT_3] = Location::Base(RC_WATER_TEMPLE_MQ_LOWEST_GS_POT_3, RCQUEST_MQ, RCTYPE_POT, RCAREA_WATER_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_WATER_TEMPLE, TWO_ACTOR_PARAMS(-2313, 944), 0x5209, "MQ Lowest GS Pot 3", "Water Temple MQ Lowest GS Pot 3", RHT_POT_WATER_TEMPLE, RG_ARROWS_10, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_WATER_TEMPLE_MQ_LOWEST_GS_POT_3), SpoilerCollectionCheckGroup::GROUP_DUNGEON_WATER_TEMPLE);
+ locationTable[RC_WATER_TEMPLE_MQ_LOWEST_GS_POT_4] = Location::Base(RC_WATER_TEMPLE_MQ_LOWEST_GS_POT_4, RCQUEST_MQ, RCTYPE_POT, RCAREA_WATER_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_WATER_TEMPLE, TWO_ACTOR_PARAMS(-2313, 905), 0x6A09, "MQ Lowest GS Pot 4", "Water Temple MQ Lowest GS Pot 4", RHT_POT_WATER_TEMPLE, RG_ARROWS_10, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_WATER_TEMPLE_MQ_LOWEST_GS_POT_4), SpoilerCollectionCheckGroup::GROUP_DUNGEON_WATER_TEMPLE);
+ locationTable[RC_WATER_TEMPLE_MQ_BOSS_KEY_POT] = Location::Base(RC_WATER_TEMPLE_MQ_BOSS_KEY_POT, RCQUEST_MQ, RCTYPE_POT, RCAREA_WATER_TEMPLE, ACTOR_OBJ_TSUBO, SCENE_WATER_TEMPLE, TWO_ACTOR_PARAMS(-1033, -1569), 0x680E, "MQ Boss Key Pot", "Water Temple MQ Boss Key Pot", RHT_POT_WATER_TEMPLE, RG_BLUE_RUPEE, { Category::cPot }, SpoilerCollectionCheck::RandomizerInf(RAND_INF_WATER_TEMPLE_MQ_BOSS_KEY_POT), SpoilerCollectionCheckGroup::GROUP_DUNGEON_WATER_TEMPLE);
+
+
/*-------------------------------
--- SHOPS ---
8 6 2 4
diff --git a/soh/soh/Enhancements/randomizer/logic.cpp b/soh/soh/Enhancements/randomizer/logic.cpp
index edb17df0c88..2e9d44f6496 100644
--- a/soh/soh/Enhancements/randomizer/logic.cpp
+++ b/soh/soh/Enhancements/randomizer/logic.cpp
@@ -610,6 +610,7 @@ namespace Rando {
CanFish = ChildsWallet && (HasItem(RG_FISHING_POLE) || !ctx->GetOption(RSK_SHUFFLE_FISHING_POLE));
CanGetChildFish = CanFish && (IsChild || (IsAdult && !ctx->GetOption(RSK_FISHSANITY_AGE_SPLIT)));
CanGetAdultFish = CanFish && IsAdult && ctx->GetOption(RSK_FISHSANITY_AGE_SPLIT);
+ CanBreakPots = true;
GuaranteeTradePath = ctx->GetOption(RSK_SHUFFLE_INTERIOR_ENTRANCES) || ctx->GetOption(RSK_SHUFFLE_OVERWORLD_ENTRANCES) || ctx->GetTrickOption(RT_DMT_BOLERO_BIGGORON) || CanBlastOrSmash || StopGCRollingGoronAsAdult;
//GuaranteeHint = (hints == "Mask" && MaskofTruth) || (hints == "Agony") || (hints != "Mask" && hints != "Agony");
@@ -1034,6 +1035,7 @@ namespace Rando {
CanGetAdultFish = false;
FishingPole = false;
CanFish = false;
+ CanBreakPots = false;
BaseHearts = ctx->GetOption(RSK_STARTING_HEARTS).Value() + 1;
Hearts = 0;
diff --git a/soh/soh/Enhancements/randomizer/logic.h b/soh/soh/Enhancements/randomizer/logic.h
index 6a669d7ebb0..7eb31cf730c 100644
--- a/soh/soh/Enhancements/randomizer/logic.h
+++ b/soh/soh/Enhancements/randomizer/logic.h
@@ -278,6 +278,7 @@ class Logic {
bool CanGetChildFish = false;
bool CanGetAdultFish = false;
bool CanFish = false;
+ bool CanBreakPots = false;
uint8_t OcarinaButtons = 0;
uint8_t BaseHearts = 0;
diff --git a/soh/soh/Enhancements/randomizer/option.cpp b/soh/soh/Enhancements/randomizer/option.cpp
index 36fdd1f8ba4..6e89993fc0d 100644
--- a/soh/soh/Enhancements/randomizer/option.cpp
+++ b/soh/soh/Enhancements/randomizer/option.cpp
@@ -477,7 +477,7 @@ bool OptionGroup::RenderImGui() const { // NOLINT(*-no-recursion)
ImGui::Unindent();
}
if (option->HasFlag(IMFLAG_SEPARATOR_BOTTOM)) {
- UIWidgets::PaddedSeparator();
+ UIWidgets::PaddedSeparator(false, true);
}
}
}
diff --git a/soh/soh/Enhancements/randomizer/option_descriptions.cpp b/soh/soh/Enhancements/randomizer/option_descriptions.cpp
index 597b46db605..e603739fefb 100644
--- a/soh/soh/Enhancements/randomizer/option_descriptions.cpp
+++ b/soh/soh/Enhancements/randomizer/option_descriptions.cpp
@@ -247,6 +247,18 @@ void Settings::CreateOptionDescriptions() {
"\n"
"The Gerudo Card is required to enter the Gerudo Training Grounds, opening "
"the gate to Haunted Wasteland and the Horseback Archery minigame.";
+ mOptionDescriptions[RSK_SHUFFLE_POTS] = "Freestanding pots will drop a randomized item the first time they're broken and collected."
+ " Pots will have a different appearance when they hold a randomized item.\n"
+ "With this option enabled, Ganon's boss key door is moved further up the stairs to\n"
+ "allow access to the pots before obtaining Ganon's Boss Key.\n"
+ "\n"
+ "Off - Pots will not be shuffled.\n"
+ "\n"
+ "Dungeons - Only shuffle pots that are within dungeons.\n"
+ "\n"
+ "Overworld - Only shuffle pots that are outside of dungeons.\n"
+ "\n"
+ "All pots - Shuffle all pots.";
mOptionDescriptions[RSK_SHUFFLE_FISHING_POLE] = "Shuffles the fishing pole into the item pool.\n"
"\n"
"The fishing pole is required to play the fishing pond minigame.";
diff --git a/soh/soh/Enhancements/randomizer/randomizer.cpp b/soh/soh/Enhancements/randomizer/randomizer.cpp
index 066faca7eed..335ec4f2d5f 100644
--- a/soh/soh/Enhancements/randomizer/randomizer.cpp
+++ b/soh/soh/Enhancements/randomizer/randomizer.cpp
@@ -1240,139 +1240,677 @@ bool Randomizer::CheckContainsVanillaItem(RandomizerCheck randoCheck) {
// There has been some talk about potentially just using the RC identifier to store flags rather than randomizer inf, so
// for now we're not going to store randomzierInf in the randomizer check objects, we're just going to map them 1:1 here
std::map rcToRandomizerInf = {
- { RC_KF_LINKS_HOUSE_COW, RAND_INF_COWS_MILKED_KF_LINKS_HOUSE_COW },
- { RC_LW_DEKU_SCRUB_NEAR_DEKU_THEATER_RIGHT, RAND_INF_SCRUBS_PURCHASED_LW_DEKU_SCRUB_NEAR_DEKU_THEATER_RIGHT },
- { RC_LW_DEKU_SCRUB_NEAR_DEKU_THEATER_LEFT, RAND_INF_SCRUBS_PURCHASED_LW_DEKU_SCRUB_NEAR_DEKU_THEATER_LEFT },
- { RC_LW_DEKU_SCRUB_NEAR_BRIDGE, RAND_INF_SCRUBS_PURCHASED_LW_DEKU_SCRUB_NEAR_BRIDGE },
- { RC_LW_DEKU_SCRUB_GROTTO_REAR, RAND_INF_SCRUBS_PURCHASED_LW_DEKU_SCRUB_GROTTO_REAR },
- { RC_LW_DEKU_SCRUB_GROTTO_FRONT, RAND_INF_SCRUBS_PURCHASED_LW_DEKU_SCRUB_GROTTO_FRONT },
- { RC_SFM_DEKU_SCRUB_GROTTO_REAR, RAND_INF_SCRUBS_PURCHASED_SFM_DEKU_SCRUB_GROTTO_REAR },
- { RC_SFM_DEKU_SCRUB_GROTTO_FRONT, RAND_INF_SCRUBS_PURCHASED_SFM_DEKU_SCRUB_GROTTO_FRONT },
- { RC_HF_DEKU_SCRUB_GROTTO, RAND_INF_SCRUBS_PURCHASED_HF_DEKU_SCRUB_GROTTO },
- { RC_HF_COW_GROTTO_COW, RAND_INF_COWS_MILKED_HF_COW_GROTTO_COW },
- { RC_LH_DEKU_SCRUB_GROTTO_LEFT, RAND_INF_SCRUBS_PURCHASED_LH_DEKU_SCRUB_GROTTO_LEFT },
- { RC_LH_DEKU_SCRUB_GROTTO_RIGHT, RAND_INF_SCRUBS_PURCHASED_LH_DEKU_SCRUB_GROTTO_RIGHT },
- { RC_LH_DEKU_SCRUB_GROTTO_CENTER, RAND_INF_SCRUBS_PURCHASED_LH_DEKU_SCRUB_GROTTO_CENTER },
- { RC_GV_DEKU_SCRUB_GROTTO_REAR, RAND_INF_SCRUBS_PURCHASED_GV_DEKU_SCRUB_GROTTO_REAR },
- { RC_GV_DEKU_SCRUB_GROTTO_FRONT, RAND_INF_SCRUBS_PURCHASED_GV_DEKU_SCRUB_GROTTO_FRONT },
- { RC_GV_COW, RAND_INF_COWS_MILKED_GV_COW },
- { RC_COLOSSUS_DEKU_SCRUB_GROTTO_REAR, RAND_INF_SCRUBS_PURCHASED_COLOSSUS_DEKU_SCRUB_GROTTO_REAR },
- { RC_COLOSSUS_DEKU_SCRUB_GROTTO_FRONT, RAND_INF_SCRUBS_PURCHASED_COLOSSUS_DEKU_SCRUB_GROTTO_FRONT },
- { RC_KAK_IMPAS_HOUSE_COW, RAND_INF_COWS_MILKED_KAK_IMPAS_HOUSE_COW },
- { RC_DMT_COW_GROTTO_COW, RAND_INF_COWS_MILKED_DMT_COW_GROTTO_COW },
- { RC_GC_DEKU_SCRUB_GROTTO_LEFT, RAND_INF_SCRUBS_PURCHASED_GC_DEKU_SCRUB_GROTTO_LEFT },
- { RC_GC_DEKU_SCRUB_GROTTO_RIGHT, RAND_INF_SCRUBS_PURCHASED_GC_DEKU_SCRUB_GROTTO_RIGHT },
- { RC_GC_DEKU_SCRUB_GROTTO_CENTER, RAND_INF_SCRUBS_PURCHASED_GC_DEKU_SCRUB_GROTTO_CENTER },
- { RC_DMC_DEKU_SCRUB, RAND_INF_SCRUBS_PURCHASED_DMC_DEKU_SCRUB },
- { RC_DMC_DEKU_SCRUB_GROTTO_LEFT, RAND_INF_SCRUBS_PURCHASED_DMC_DEKU_SCRUB_GROTTO_LEFT },
- { RC_DMC_DEKU_SCRUB_GROTTO_RIGHT, RAND_INF_SCRUBS_PURCHASED_DMC_DEKU_SCRUB_GROTTO_RIGHT },
- { RC_DMC_DEKU_SCRUB_GROTTO_CENTER, RAND_INF_SCRUBS_PURCHASED_DMC_DEKU_SCRUB_GROTTO_CENTER },
- { RC_ZR_DEKU_SCRUB_GROTTO_REAR, RAND_INF_SCRUBS_PURCHASED_ZR_DEKU_SCRUB_GROTTO_REAR },
- { RC_ZR_DEKU_SCRUB_GROTTO_FRONT, RAND_INF_SCRUBS_PURCHASED_ZR_DEKU_SCRUB_GROTTO_FRONT },
- { RC_LLR_DEKU_SCRUB_GROTTO_LEFT, RAND_INF_SCRUBS_PURCHASED_LLR_DEKU_SCRUB_GROTTO_LEFT },
- { RC_LLR_DEKU_SCRUB_GROTTO_RIGHT, RAND_INF_SCRUBS_PURCHASED_LLR_DEKU_SCRUB_GROTTO_RIGHT },
- { RC_LLR_DEKU_SCRUB_GROTTO_CENTER, RAND_INF_SCRUBS_PURCHASED_LLR_DEKU_SCRUB_GROTTO_CENTER },
- { RC_LLR_STABLES_LEFT_COW, RAND_INF_COWS_MILKED_LLR_STABLES_LEFT_COW },
- { RC_LLR_STABLES_RIGHT_COW, RAND_INF_COWS_MILKED_LLR_STABLES_RIGHT_COW },
- { RC_LLR_TOWER_LEFT_COW, RAND_INF_COWS_MILKED_LLR_TOWER_LEFT_COW },
- { RC_LLR_TOWER_RIGHT_COW, RAND_INF_COWS_MILKED_LLR_TOWER_RIGHT_COW },
- { RC_DEKU_TREE_MQ_DEKU_SCRUB, RAND_INF_SCRUBS_PURCHASED_DEKU_TREE_MQ_DEKU_SCRUB },
- { RC_DODONGOS_CAVERN_DEKU_SCRUB_NEAR_BOMB_BAG_LEFT, RAND_INF_SCRUBS_PURCHASED_DODONGOS_CAVERN_DEKU_SCRUB_NEAR_BOMB_BAG_LEFT },
- { RC_DODONGOS_CAVERN_DEKU_SCRUB_SIDE_ROOM_NEAR_DODONGOS, RAND_INF_SCRUBS_PURCHASED_DODONGOS_CAVERN_DEKU_SCRUB_SIDE_ROOM_NEAR_DODONGOS },
- { RC_DODONGOS_CAVERN_DEKU_SCRUB_NEAR_BOMB_BAG_RIGHT, RAND_INF_SCRUBS_PURCHASED_DODONGOS_CAVERN_DEKU_SCRUB_NEAR_BOMB_BAG_RIGHT },
- { RC_DODONGOS_CAVERN_DEKU_SCRUB_LOBBY, RAND_INF_SCRUBS_PURCHASED_DODONGOS_CAVERN_DEKU_SCRUB_LOBBY },
- { RC_DODONGOS_CAVERN_MQ_DEKU_SCRUB_LOBBY_REAR, RAND_INF_SCRUBS_PURCHASED_DODONGOS_CAVERN_MQ_DEKU_SCRUB_LOBBY_REAR },
- { RC_DODONGOS_CAVERN_MQ_DEKU_SCRUB_LOBBY_FRONT, RAND_INF_SCRUBS_PURCHASED_DODONGOS_CAVERN_MQ_DEKU_SCRUB_LOBBY_FRONT },
- { RC_DODONGOS_CAVERN_MQ_DEKU_SCRUB_STAIRCASE, RAND_INF_SCRUBS_PURCHASED_DODONGOS_CAVERN_MQ_DEKU_SCRUB_STAIRCASE },
- { RC_DODONGOS_CAVERN_MQ_DEKU_SCRUB_SIDE_ROOM_NEAR_LOWER_LIZALFOS, RAND_INF_SCRUBS_PURCHASED_DODONGOS_CAVERN_MQ_DEKU_SCRUB_SIDE_ROOM_NEAR_LOWER_LIZALFOS },
- { RC_JABU_JABUS_BELLY_DEKU_SCRUB, RAND_INF_SCRUBS_PURCHASED_JABU_JABUS_BELLY_DEKU_SCRUB },
- { RC_JABU_JABUS_BELLY_MQ_COW, RAND_INF_COWS_MILKED_JABU_JABUS_BELLY_MQ_COW },
- { RC_GANONS_CASTLE_DEKU_SCRUB_CENTER_LEFT, RAND_INF_SCRUBS_PURCHASED_GANONS_CASTLE_DEKU_SCRUB_CENTER_LEFT },
- { RC_GANONS_CASTLE_DEKU_SCRUB_CENTER_RIGHT, RAND_INF_SCRUBS_PURCHASED_GANONS_CASTLE_DEKU_SCRUB_CENTER_RIGHT },
- { RC_GANONS_CASTLE_DEKU_SCRUB_RIGHT, RAND_INF_SCRUBS_PURCHASED_GANONS_CASTLE_DEKU_SCRUB_RIGHT },
- { RC_GANONS_CASTLE_DEKU_SCRUB_LEFT, RAND_INF_SCRUBS_PURCHASED_GANONS_CASTLE_DEKU_SCRUB_LEFT },
- { RC_GANONS_CASTLE_MQ_DEKU_SCRUB_RIGHT, RAND_INF_SCRUBS_PURCHASED_GANONS_CASTLE_MQ_DEKU_SCRUB_RIGHT },
- { RC_GANONS_CASTLE_MQ_DEKU_SCRUB_CENTER_LEFT, RAND_INF_SCRUBS_PURCHASED_GANONS_CASTLE_MQ_DEKU_SCRUB_CENTER_LEFT },
- { RC_GANONS_CASTLE_MQ_DEKU_SCRUB_CENTER, RAND_INF_SCRUBS_PURCHASED_GANONS_CASTLE_MQ_DEKU_SCRUB_CENTER },
- { RC_GANONS_CASTLE_MQ_DEKU_SCRUB_CENTER_RIGHT, RAND_INF_SCRUBS_PURCHASED_GANONS_CASTLE_MQ_DEKU_SCRUB_CENTER_RIGHT },
- { RC_GANONS_CASTLE_MQ_DEKU_SCRUB_LEFT, RAND_INF_SCRUBS_PURCHASED_GANONS_CASTLE_MQ_DEKU_SCRUB_LEFT },
- { RC_KF_SHOP_ITEM_1, RAND_INF_SHOP_ITEMS_KF_SHOP_ITEM_1 },
- { RC_KF_SHOP_ITEM_2, RAND_INF_SHOP_ITEMS_KF_SHOP_ITEM_2 },
- { RC_KF_SHOP_ITEM_3, RAND_INF_SHOP_ITEMS_KF_SHOP_ITEM_3 },
- { RC_KF_SHOP_ITEM_4, RAND_INF_SHOP_ITEMS_KF_SHOP_ITEM_4 },
- { RC_KF_SHOP_ITEM_5, RAND_INF_SHOP_ITEMS_KF_SHOP_ITEM_5 },
- { RC_KF_SHOP_ITEM_6, RAND_INF_SHOP_ITEMS_KF_SHOP_ITEM_6 },
- { RC_KF_SHOP_ITEM_7, RAND_INF_SHOP_ITEMS_KF_SHOP_ITEM_7 },
- { RC_KF_SHOP_ITEM_8, RAND_INF_SHOP_ITEMS_KF_SHOP_ITEM_8 },
- { RC_GC_SHOP_ITEM_1, RAND_INF_SHOP_ITEMS_GC_SHOP_ITEM_1 },
- { RC_GC_SHOP_ITEM_2, RAND_INF_SHOP_ITEMS_GC_SHOP_ITEM_2 },
- { RC_GC_SHOP_ITEM_3, RAND_INF_SHOP_ITEMS_GC_SHOP_ITEM_3 },
- { RC_GC_SHOP_ITEM_4, RAND_INF_SHOP_ITEMS_GC_SHOP_ITEM_4 },
- { RC_GC_SHOP_ITEM_5, RAND_INF_SHOP_ITEMS_GC_SHOP_ITEM_5 },
- { RC_GC_SHOP_ITEM_6, RAND_INF_SHOP_ITEMS_GC_SHOP_ITEM_6 },
- { RC_GC_SHOP_ITEM_7, RAND_INF_SHOP_ITEMS_GC_SHOP_ITEM_7 },
- { RC_GC_SHOP_ITEM_8, RAND_INF_SHOP_ITEMS_GC_SHOP_ITEM_8 },
- { RC_ZD_SHOP_ITEM_1, RAND_INF_SHOP_ITEMS_ZD_SHOP_ITEM_1 },
- { RC_ZD_SHOP_ITEM_2, RAND_INF_SHOP_ITEMS_ZD_SHOP_ITEM_2 },
- { RC_ZD_SHOP_ITEM_3, RAND_INF_SHOP_ITEMS_ZD_SHOP_ITEM_3 },
- { RC_ZD_SHOP_ITEM_4, RAND_INF_SHOP_ITEMS_ZD_SHOP_ITEM_4 },
- { RC_ZD_SHOP_ITEM_5, RAND_INF_SHOP_ITEMS_ZD_SHOP_ITEM_5 },
- { RC_ZD_SHOP_ITEM_6, RAND_INF_SHOP_ITEMS_ZD_SHOP_ITEM_6 },
- { RC_ZD_SHOP_ITEM_7, RAND_INF_SHOP_ITEMS_ZD_SHOP_ITEM_7 },
- { RC_ZD_SHOP_ITEM_8, RAND_INF_SHOP_ITEMS_ZD_SHOP_ITEM_8 },
- { RC_KAK_BAZAAR_ITEM_1, RAND_INF_SHOP_ITEMS_KAK_BAZAAR_ITEM_1 },
- { RC_KAK_BAZAAR_ITEM_2, RAND_INF_SHOP_ITEMS_KAK_BAZAAR_ITEM_2 },
- { RC_KAK_BAZAAR_ITEM_3, RAND_INF_SHOP_ITEMS_KAK_BAZAAR_ITEM_3 },
- { RC_KAK_BAZAAR_ITEM_4, RAND_INF_SHOP_ITEMS_KAK_BAZAAR_ITEM_4 },
- { RC_KAK_BAZAAR_ITEM_5, RAND_INF_SHOP_ITEMS_KAK_BAZAAR_ITEM_5 },
- { RC_KAK_BAZAAR_ITEM_6, RAND_INF_SHOP_ITEMS_KAK_BAZAAR_ITEM_6 },
- { RC_KAK_BAZAAR_ITEM_7, RAND_INF_SHOP_ITEMS_KAK_BAZAAR_ITEM_7 },
- { RC_KAK_BAZAAR_ITEM_8, RAND_INF_SHOP_ITEMS_KAK_BAZAAR_ITEM_8 },
- { RC_KAK_POTION_SHOP_ITEM_1, RAND_INF_SHOP_ITEMS_KAK_POTION_SHOP_ITEM_1 },
- { RC_KAK_POTION_SHOP_ITEM_2, RAND_INF_SHOP_ITEMS_KAK_POTION_SHOP_ITEM_2 },
- { RC_KAK_POTION_SHOP_ITEM_3, RAND_INF_SHOP_ITEMS_KAK_POTION_SHOP_ITEM_3 },
- { RC_KAK_POTION_SHOP_ITEM_4, RAND_INF_SHOP_ITEMS_KAK_POTION_SHOP_ITEM_4 },
- { RC_KAK_POTION_SHOP_ITEM_5, RAND_INF_SHOP_ITEMS_KAK_POTION_SHOP_ITEM_5 },
- { RC_KAK_POTION_SHOP_ITEM_6, RAND_INF_SHOP_ITEMS_KAK_POTION_SHOP_ITEM_6 },
- { RC_KAK_POTION_SHOP_ITEM_7, RAND_INF_SHOP_ITEMS_KAK_POTION_SHOP_ITEM_7 },
- { RC_KAK_POTION_SHOP_ITEM_8, RAND_INF_SHOP_ITEMS_KAK_POTION_SHOP_ITEM_8 },
- { RC_MARKET_BAZAAR_ITEM_1, RAND_INF_SHOP_ITEMS_MARKET_BAZAAR_ITEM_1 },
- { RC_MARKET_BAZAAR_ITEM_2, RAND_INF_SHOP_ITEMS_MARKET_BAZAAR_ITEM_2 },
- { RC_MARKET_BAZAAR_ITEM_3, RAND_INF_SHOP_ITEMS_MARKET_BAZAAR_ITEM_3 },
- { RC_MARKET_BAZAAR_ITEM_4, RAND_INF_SHOP_ITEMS_MARKET_BAZAAR_ITEM_4 },
- { RC_MARKET_BAZAAR_ITEM_5, RAND_INF_SHOP_ITEMS_MARKET_BAZAAR_ITEM_5 },
- { RC_MARKET_BAZAAR_ITEM_6, RAND_INF_SHOP_ITEMS_MARKET_BAZAAR_ITEM_6 },
- { RC_MARKET_BAZAAR_ITEM_7, RAND_INF_SHOP_ITEMS_MARKET_BAZAAR_ITEM_7 },
- { RC_MARKET_BAZAAR_ITEM_8, RAND_INF_SHOP_ITEMS_MARKET_BAZAAR_ITEM_8 },
- { RC_MARKET_POTION_SHOP_ITEM_1, RAND_INF_SHOP_ITEMS_MARKET_POTION_SHOP_ITEM_1 },
- { RC_MARKET_POTION_SHOP_ITEM_2, RAND_INF_SHOP_ITEMS_MARKET_POTION_SHOP_ITEM_2 },
- { RC_MARKET_POTION_SHOP_ITEM_3, RAND_INF_SHOP_ITEMS_MARKET_POTION_SHOP_ITEM_3 },
- { RC_MARKET_POTION_SHOP_ITEM_4, RAND_INF_SHOP_ITEMS_MARKET_POTION_SHOP_ITEM_4 },
- { RC_MARKET_POTION_SHOP_ITEM_5, RAND_INF_SHOP_ITEMS_MARKET_POTION_SHOP_ITEM_5 },
- { RC_MARKET_POTION_SHOP_ITEM_6, RAND_INF_SHOP_ITEMS_MARKET_POTION_SHOP_ITEM_6 },
- { RC_MARKET_POTION_SHOP_ITEM_7, RAND_INF_SHOP_ITEMS_MARKET_POTION_SHOP_ITEM_7 },
- { RC_MARKET_POTION_SHOP_ITEM_8, RAND_INF_SHOP_ITEMS_MARKET_POTION_SHOP_ITEM_8 },
- { RC_MARKET_BOMBCHU_SHOP_ITEM_1, RAND_INF_SHOP_ITEMS_MARKET_BOMBCHU_SHOP_ITEM_1 },
- { RC_MARKET_BOMBCHU_SHOP_ITEM_2, RAND_INF_SHOP_ITEMS_MARKET_BOMBCHU_SHOP_ITEM_2 },
- { RC_MARKET_BOMBCHU_SHOP_ITEM_3, RAND_INF_SHOP_ITEMS_MARKET_BOMBCHU_SHOP_ITEM_3 },
- { RC_MARKET_BOMBCHU_SHOP_ITEM_4, RAND_INF_SHOP_ITEMS_MARKET_BOMBCHU_SHOP_ITEM_4 },
- { RC_MARKET_BOMBCHU_SHOP_ITEM_5, RAND_INF_SHOP_ITEMS_MARKET_BOMBCHU_SHOP_ITEM_5 },
- { RC_MARKET_BOMBCHU_SHOP_ITEM_6, RAND_INF_SHOP_ITEMS_MARKET_BOMBCHU_SHOP_ITEM_6 },
- { RC_MARKET_BOMBCHU_SHOP_ITEM_7, RAND_INF_SHOP_ITEMS_MARKET_BOMBCHU_SHOP_ITEM_7 },
- { RC_MARKET_BOMBCHU_SHOP_ITEM_8, RAND_INF_SHOP_ITEMS_MARKET_BOMBCHU_SHOP_ITEM_8 },
- { RC_TOT_MASTER_SWORD, RAND_INF_TOT_MASTER_SWORD },
- { RC_GC_MEDIGORON, RAND_INF_MERCHANTS_MEDIGORON },
- { RC_KAK_GRANNYS_SHOP, RAND_INF_MERCHANTS_GRANNYS_SHOP },
- { RC_WASTELAND_BOMBCHU_SALESMAN, RAND_INF_MERCHANTS_CARPET_SALESMAN },
- { RC_LW_TRADE_COJIRO, RAND_INF_ADULT_TRADES_LW_TRADE_COJIRO },
- { RC_GV_TRADE_SAW, RAND_INF_ADULT_TRADES_GV_TRADE_SAW },
- { RC_DMT_TRADE_BROKEN_SWORD, RAND_INF_ADULT_TRADES_DMT_TRADE_BROKEN_SWORD },
- { RC_LH_TRADE_FROG, RAND_INF_ADULT_TRADES_LH_TRADE_FROG },
- { RC_DMT_TRADE_EYEDROPS, RAND_INF_ADULT_TRADES_DMT_TRADE_EYEDROPS },
- { RC_LH_CHILD_FISHING, RAND_INF_CHILD_FISHING },
- { RC_LH_ADULT_FISHING, RAND_INF_ADULT_FISHING },
- { RC_MARKET_10_BIG_POES, RAND_INF_10_BIG_POES },
- { RC_KAK_100_GOLD_SKULLTULA_REWARD, RAND_INF_KAK_100_GOLD_SKULLTULA_REWARD },
+ { RC_KF_LINKS_HOUSE_COW, RAND_INF_COWS_MILKED_KF_LINKS_HOUSE_COW },
+ { RC_LW_DEKU_SCRUB_NEAR_DEKU_THEATER_RIGHT, RAND_INF_SCRUBS_PURCHASED_LW_DEKU_SCRUB_NEAR_DEKU_THEATER_RIGHT },
+ { RC_LW_DEKU_SCRUB_NEAR_DEKU_THEATER_LEFT, RAND_INF_SCRUBS_PURCHASED_LW_DEKU_SCRUB_NEAR_DEKU_THEATER_LEFT },
+ { RC_LW_DEKU_SCRUB_NEAR_BRIDGE, RAND_INF_SCRUBS_PURCHASED_LW_DEKU_SCRUB_NEAR_BRIDGE },
+ { RC_LW_DEKU_SCRUB_GROTTO_REAR, RAND_INF_SCRUBS_PURCHASED_LW_DEKU_SCRUB_GROTTO_REAR },
+ { RC_LW_DEKU_SCRUB_GROTTO_FRONT, RAND_INF_SCRUBS_PURCHASED_LW_DEKU_SCRUB_GROTTO_FRONT },
+ { RC_SFM_DEKU_SCRUB_GROTTO_REAR, RAND_INF_SCRUBS_PURCHASED_SFM_DEKU_SCRUB_GROTTO_REAR },
+ { RC_SFM_DEKU_SCRUB_GROTTO_FRONT, RAND_INF_SCRUBS_PURCHASED_SFM_DEKU_SCRUB_GROTTO_FRONT },
+ { RC_HF_DEKU_SCRUB_GROTTO, RAND_INF_SCRUBS_PURCHASED_HF_DEKU_SCRUB_GROTTO },
+ { RC_HF_COW_GROTTO_COW, RAND_INF_COWS_MILKED_HF_COW_GROTTO_COW },
+ { RC_LH_DEKU_SCRUB_GROTTO_LEFT, RAND_INF_SCRUBS_PURCHASED_LH_DEKU_SCRUB_GROTTO_LEFT },
+ { RC_LH_DEKU_SCRUB_GROTTO_RIGHT, RAND_INF_SCRUBS_PURCHASED_LH_DEKU_SCRUB_GROTTO_RIGHT },
+ { RC_LH_DEKU_SCRUB_GROTTO_CENTER, RAND_INF_SCRUBS_PURCHASED_LH_DEKU_SCRUB_GROTTO_CENTER },
+ { RC_GV_DEKU_SCRUB_GROTTO_REAR, RAND_INF_SCRUBS_PURCHASED_GV_DEKU_SCRUB_GROTTO_REAR },
+ { RC_GV_DEKU_SCRUB_GROTTO_FRONT, RAND_INF_SCRUBS_PURCHASED_GV_DEKU_SCRUB_GROTTO_FRONT },
+ { RC_GV_COW, RAND_INF_COWS_MILKED_GV_COW },
+ { RC_COLOSSUS_DEKU_SCRUB_GROTTO_REAR, RAND_INF_SCRUBS_PURCHASED_COLOSSUS_DEKU_SCRUB_GROTTO_REAR },
+ { RC_COLOSSUS_DEKU_SCRUB_GROTTO_FRONT, RAND_INF_SCRUBS_PURCHASED_COLOSSUS_DEKU_SCRUB_GROTTO_FRONT },
+ { RC_KAK_IMPAS_HOUSE_COW, RAND_INF_COWS_MILKED_KAK_IMPAS_HOUSE_COW },
+ { RC_DMT_COW_GROTTO_COW, RAND_INF_COWS_MILKED_DMT_COW_GROTTO_COW },
+ { RC_GC_DEKU_SCRUB_GROTTO_LEFT, RAND_INF_SCRUBS_PURCHASED_GC_DEKU_SCRUB_GROTTO_LEFT },
+ { RC_GC_DEKU_SCRUB_GROTTO_RIGHT, RAND_INF_SCRUBS_PURCHASED_GC_DEKU_SCRUB_GROTTO_RIGHT },
+ { RC_GC_DEKU_SCRUB_GROTTO_CENTER, RAND_INF_SCRUBS_PURCHASED_GC_DEKU_SCRUB_GROTTO_CENTER },
+ { RC_DMC_DEKU_SCRUB, RAND_INF_SCRUBS_PURCHASED_DMC_DEKU_SCRUB },
+ { RC_DMC_DEKU_SCRUB_GROTTO_LEFT, RAND_INF_SCRUBS_PURCHASED_DMC_DEKU_SCRUB_GROTTO_LEFT },
+ { RC_DMC_DEKU_SCRUB_GROTTO_RIGHT, RAND_INF_SCRUBS_PURCHASED_DMC_DEKU_SCRUB_GROTTO_RIGHT },
+ { RC_DMC_DEKU_SCRUB_GROTTO_CENTER, RAND_INF_SCRUBS_PURCHASED_DMC_DEKU_SCRUB_GROTTO_CENTER },
+ { RC_ZR_DEKU_SCRUB_GROTTO_REAR, RAND_INF_SCRUBS_PURCHASED_ZR_DEKU_SCRUB_GROTTO_REAR },
+ { RC_ZR_DEKU_SCRUB_GROTTO_FRONT, RAND_INF_SCRUBS_PURCHASED_ZR_DEKU_SCRUB_GROTTO_FRONT },
+ { RC_LLR_DEKU_SCRUB_GROTTO_LEFT, RAND_INF_SCRUBS_PURCHASED_LLR_DEKU_SCRUB_GROTTO_LEFT },
+ { RC_LLR_DEKU_SCRUB_GROTTO_RIGHT, RAND_INF_SCRUBS_PURCHASED_LLR_DEKU_SCRUB_GROTTO_RIGHT },
+ { RC_LLR_DEKU_SCRUB_GROTTO_CENTER, RAND_INF_SCRUBS_PURCHASED_LLR_DEKU_SCRUB_GROTTO_CENTER },
+ { RC_LLR_STABLES_LEFT_COW, RAND_INF_COWS_MILKED_LLR_STABLES_LEFT_COW },
+ { RC_LLR_STABLES_RIGHT_COW, RAND_INF_COWS_MILKED_LLR_STABLES_RIGHT_COW },
+ { RC_LLR_TOWER_LEFT_COW, RAND_INF_COWS_MILKED_LLR_TOWER_LEFT_COW },
+ { RC_LLR_TOWER_RIGHT_COW, RAND_INF_COWS_MILKED_LLR_TOWER_RIGHT_COW },
+ { RC_DEKU_TREE_MQ_DEKU_SCRUB, RAND_INF_SCRUBS_PURCHASED_DEKU_TREE_MQ_DEKU_SCRUB },
+ { RC_DODONGOS_CAVERN_DEKU_SCRUB_NEAR_BOMB_BAG_LEFT, RAND_INF_SCRUBS_PURCHASED_DODONGOS_CAVERN_DEKU_SCRUB_NEAR_BOMB_BAG_LEFT },
+ { RC_DODONGOS_CAVERN_DEKU_SCRUB_SIDE_ROOM_NEAR_DODONGOS, RAND_INF_SCRUBS_PURCHASED_DODONGOS_CAVERN_DEKU_SCRUB_SIDE_ROOM_NEAR_DODONGOS },
+ { RC_DODONGOS_CAVERN_DEKU_SCRUB_NEAR_BOMB_BAG_RIGHT, RAND_INF_SCRUBS_PURCHASED_DODONGOS_CAVERN_DEKU_SCRUB_NEAR_BOMB_BAG_RIGHT },
+ { RC_DODONGOS_CAVERN_DEKU_SCRUB_LOBBY, RAND_INF_SCRUBS_PURCHASED_DODONGOS_CAVERN_DEKU_SCRUB_LOBBY },
+ { RC_DODONGOS_CAVERN_MQ_DEKU_SCRUB_LOBBY_REAR, RAND_INF_SCRUBS_PURCHASED_DODONGOS_CAVERN_MQ_DEKU_SCRUB_LOBBY_REAR },
+ { RC_DODONGOS_CAVERN_MQ_DEKU_SCRUB_LOBBY_FRONT, RAND_INF_SCRUBS_PURCHASED_DODONGOS_CAVERN_MQ_DEKU_SCRUB_LOBBY_FRONT },
+ { RC_DODONGOS_CAVERN_MQ_DEKU_SCRUB_STAIRCASE, RAND_INF_SCRUBS_PURCHASED_DODONGOS_CAVERN_MQ_DEKU_SCRUB_STAIRCASE },
+ { RC_DODONGOS_CAVERN_MQ_DEKU_SCRUB_SIDE_ROOM_NEAR_LOWER_LIZALFOS, RAND_INF_SCRUBS_PURCHASED_DODONGOS_CAVERN_MQ_DEKU_SCRUB_SIDE_ROOM_NEAR_LOWER_LIZALFOS },
+ { RC_JABU_JABUS_BELLY_DEKU_SCRUB, RAND_INF_SCRUBS_PURCHASED_JABU_JABUS_BELLY_DEKU_SCRUB },
+ { RC_JABU_JABUS_BELLY_MQ_COW, RAND_INF_COWS_MILKED_JABU_JABUS_BELLY_MQ_COW },
+ { RC_GANONS_CASTLE_DEKU_SCRUB_CENTER_LEFT, RAND_INF_SCRUBS_PURCHASED_GANONS_CASTLE_DEKU_SCRUB_CENTER_LEFT },
+ { RC_GANONS_CASTLE_DEKU_SCRUB_CENTER_RIGHT, RAND_INF_SCRUBS_PURCHASED_GANONS_CASTLE_DEKU_SCRUB_CENTER_RIGHT },
+ { RC_GANONS_CASTLE_DEKU_SCRUB_RIGHT, RAND_INF_SCRUBS_PURCHASED_GANONS_CASTLE_DEKU_SCRUB_RIGHT },
+ { RC_GANONS_CASTLE_DEKU_SCRUB_LEFT, RAND_INF_SCRUBS_PURCHASED_GANONS_CASTLE_DEKU_SCRUB_LEFT },
+ { RC_GANONS_CASTLE_MQ_DEKU_SCRUB_RIGHT, RAND_INF_SCRUBS_PURCHASED_GANONS_CASTLE_MQ_DEKU_SCRUB_RIGHT },
+ { RC_GANONS_CASTLE_MQ_DEKU_SCRUB_CENTER_LEFT, RAND_INF_SCRUBS_PURCHASED_GANONS_CASTLE_MQ_DEKU_SCRUB_CENTER_LEFT },
+ { RC_GANONS_CASTLE_MQ_DEKU_SCRUB_CENTER, RAND_INF_SCRUBS_PURCHASED_GANONS_CASTLE_MQ_DEKU_SCRUB_CENTER },
+ { RC_GANONS_CASTLE_MQ_DEKU_SCRUB_CENTER_RIGHT, RAND_INF_SCRUBS_PURCHASED_GANONS_CASTLE_MQ_DEKU_SCRUB_CENTER_RIGHT },
+ { RC_GANONS_CASTLE_MQ_DEKU_SCRUB_LEFT, RAND_INF_SCRUBS_PURCHASED_GANONS_CASTLE_MQ_DEKU_SCRUB_LEFT },
+ { RC_KF_SHOP_ITEM_1, RAND_INF_SHOP_ITEMS_KF_SHOP_ITEM_1 },
+ { RC_KF_SHOP_ITEM_2, RAND_INF_SHOP_ITEMS_KF_SHOP_ITEM_2 },
+ { RC_KF_SHOP_ITEM_3, RAND_INF_SHOP_ITEMS_KF_SHOP_ITEM_3 },
+ { RC_KF_SHOP_ITEM_4, RAND_INF_SHOP_ITEMS_KF_SHOP_ITEM_4 },
+ { RC_KF_SHOP_ITEM_5, RAND_INF_SHOP_ITEMS_KF_SHOP_ITEM_5 },
+ { RC_KF_SHOP_ITEM_6, RAND_INF_SHOP_ITEMS_KF_SHOP_ITEM_6 },
+ { RC_KF_SHOP_ITEM_7, RAND_INF_SHOP_ITEMS_KF_SHOP_ITEM_7 },
+ { RC_KF_SHOP_ITEM_8, RAND_INF_SHOP_ITEMS_KF_SHOP_ITEM_8 },
+ { RC_GC_SHOP_ITEM_1, RAND_INF_SHOP_ITEMS_GC_SHOP_ITEM_1 },
+ { RC_GC_SHOP_ITEM_2, RAND_INF_SHOP_ITEMS_GC_SHOP_ITEM_2 },
+ { RC_GC_SHOP_ITEM_3, RAND_INF_SHOP_ITEMS_GC_SHOP_ITEM_3 },
+ { RC_GC_SHOP_ITEM_4, RAND_INF_SHOP_ITEMS_GC_SHOP_ITEM_4 },
+ { RC_GC_SHOP_ITEM_5, RAND_INF_SHOP_ITEMS_GC_SHOP_ITEM_5 },
+ { RC_GC_SHOP_ITEM_6, RAND_INF_SHOP_ITEMS_GC_SHOP_ITEM_6 },
+ { RC_GC_SHOP_ITEM_7, RAND_INF_SHOP_ITEMS_GC_SHOP_ITEM_7 },
+ { RC_GC_SHOP_ITEM_8, RAND_INF_SHOP_ITEMS_GC_SHOP_ITEM_8 },
+ { RC_ZD_SHOP_ITEM_1, RAND_INF_SHOP_ITEMS_ZD_SHOP_ITEM_1 },
+ { RC_ZD_SHOP_ITEM_2, RAND_INF_SHOP_ITEMS_ZD_SHOP_ITEM_2 },
+ { RC_ZD_SHOP_ITEM_3, RAND_INF_SHOP_ITEMS_ZD_SHOP_ITEM_3 },
+ { RC_ZD_SHOP_ITEM_4, RAND_INF_SHOP_ITEMS_ZD_SHOP_ITEM_4 },
+ { RC_ZD_SHOP_ITEM_5, RAND_INF_SHOP_ITEMS_ZD_SHOP_ITEM_5 },
+ { RC_ZD_SHOP_ITEM_6, RAND_INF_SHOP_ITEMS_ZD_SHOP_ITEM_6 },
+ { RC_ZD_SHOP_ITEM_7, RAND_INF_SHOP_ITEMS_ZD_SHOP_ITEM_7 },
+ { RC_ZD_SHOP_ITEM_8, RAND_INF_SHOP_ITEMS_ZD_SHOP_ITEM_8 },
+ { RC_KAK_BAZAAR_ITEM_1, RAND_INF_SHOP_ITEMS_KAK_BAZAAR_ITEM_1 },
+ { RC_KAK_BAZAAR_ITEM_2, RAND_INF_SHOP_ITEMS_KAK_BAZAAR_ITEM_2 },
+ { RC_KAK_BAZAAR_ITEM_3, RAND_INF_SHOP_ITEMS_KAK_BAZAAR_ITEM_3 },
+ { RC_KAK_BAZAAR_ITEM_4, RAND_INF_SHOP_ITEMS_KAK_BAZAAR_ITEM_4 },
+ { RC_KAK_BAZAAR_ITEM_5, RAND_INF_SHOP_ITEMS_KAK_BAZAAR_ITEM_5 },
+ { RC_KAK_BAZAAR_ITEM_6, RAND_INF_SHOP_ITEMS_KAK_BAZAAR_ITEM_6 },
+ { RC_KAK_BAZAAR_ITEM_7, RAND_INF_SHOP_ITEMS_KAK_BAZAAR_ITEM_7 },
+ { RC_KAK_BAZAAR_ITEM_8, RAND_INF_SHOP_ITEMS_KAK_BAZAAR_ITEM_8 },
+ { RC_KAK_POTION_SHOP_ITEM_1, RAND_INF_SHOP_ITEMS_KAK_POTION_SHOP_ITEM_1 },
+ { RC_KAK_POTION_SHOP_ITEM_2, RAND_INF_SHOP_ITEMS_KAK_POTION_SHOP_ITEM_2 },
+ { RC_KAK_POTION_SHOP_ITEM_3, RAND_INF_SHOP_ITEMS_KAK_POTION_SHOP_ITEM_3 },
+ { RC_KAK_POTION_SHOP_ITEM_4, RAND_INF_SHOP_ITEMS_KAK_POTION_SHOP_ITEM_4 },
+ { RC_KAK_POTION_SHOP_ITEM_5, RAND_INF_SHOP_ITEMS_KAK_POTION_SHOP_ITEM_5 },
+ { RC_KAK_POTION_SHOP_ITEM_6, RAND_INF_SHOP_ITEMS_KAK_POTION_SHOP_ITEM_6 },
+ { RC_KAK_POTION_SHOP_ITEM_7, RAND_INF_SHOP_ITEMS_KAK_POTION_SHOP_ITEM_7 },
+ { RC_KAK_POTION_SHOP_ITEM_8, RAND_INF_SHOP_ITEMS_KAK_POTION_SHOP_ITEM_8 },
+ { RC_MARKET_BAZAAR_ITEM_1, RAND_INF_SHOP_ITEMS_MARKET_BAZAAR_ITEM_1 },
+ { RC_MARKET_BAZAAR_ITEM_2, RAND_INF_SHOP_ITEMS_MARKET_BAZAAR_ITEM_2 },
+ { RC_MARKET_BAZAAR_ITEM_3, RAND_INF_SHOP_ITEMS_MARKET_BAZAAR_ITEM_3 },
+ { RC_MARKET_BAZAAR_ITEM_4, RAND_INF_SHOP_ITEMS_MARKET_BAZAAR_ITEM_4 },
+ { RC_MARKET_BAZAAR_ITEM_5, RAND_INF_SHOP_ITEMS_MARKET_BAZAAR_ITEM_5 },
+ { RC_MARKET_BAZAAR_ITEM_6, RAND_INF_SHOP_ITEMS_MARKET_BAZAAR_ITEM_6 },
+ { RC_MARKET_BAZAAR_ITEM_7, RAND_INF_SHOP_ITEMS_MARKET_BAZAAR_ITEM_7 },
+ { RC_MARKET_BAZAAR_ITEM_8, RAND_INF_SHOP_ITEMS_MARKET_BAZAAR_ITEM_8 },
+ { RC_MARKET_POTION_SHOP_ITEM_1, RAND_INF_SHOP_ITEMS_MARKET_POTION_SHOP_ITEM_1 },
+ { RC_MARKET_POTION_SHOP_ITEM_2, RAND_INF_SHOP_ITEMS_MARKET_POTION_SHOP_ITEM_2 },
+ { RC_MARKET_POTION_SHOP_ITEM_3, RAND_INF_SHOP_ITEMS_MARKET_POTION_SHOP_ITEM_3 },
+ { RC_MARKET_POTION_SHOP_ITEM_4, RAND_INF_SHOP_ITEMS_MARKET_POTION_SHOP_ITEM_4 },
+ { RC_MARKET_POTION_SHOP_ITEM_5, RAND_INF_SHOP_ITEMS_MARKET_POTION_SHOP_ITEM_5 },
+ { RC_MARKET_POTION_SHOP_ITEM_6, RAND_INF_SHOP_ITEMS_MARKET_POTION_SHOP_ITEM_6 },
+ { RC_MARKET_POTION_SHOP_ITEM_7, RAND_INF_SHOP_ITEMS_MARKET_POTION_SHOP_ITEM_7 },
+ { RC_MARKET_POTION_SHOP_ITEM_8, RAND_INF_SHOP_ITEMS_MARKET_POTION_SHOP_ITEM_8 },
+ { RC_MARKET_BOMBCHU_SHOP_ITEM_1, RAND_INF_SHOP_ITEMS_MARKET_BOMBCHU_SHOP_ITEM_1 },
+ { RC_MARKET_BOMBCHU_SHOP_ITEM_2, RAND_INF_SHOP_ITEMS_MARKET_BOMBCHU_SHOP_ITEM_2 },
+ { RC_MARKET_BOMBCHU_SHOP_ITEM_3, RAND_INF_SHOP_ITEMS_MARKET_BOMBCHU_SHOP_ITEM_3 },
+ { RC_MARKET_BOMBCHU_SHOP_ITEM_4, RAND_INF_SHOP_ITEMS_MARKET_BOMBCHU_SHOP_ITEM_4 },
+ { RC_MARKET_BOMBCHU_SHOP_ITEM_5, RAND_INF_SHOP_ITEMS_MARKET_BOMBCHU_SHOP_ITEM_5 },
+ { RC_MARKET_BOMBCHU_SHOP_ITEM_6, RAND_INF_SHOP_ITEMS_MARKET_BOMBCHU_SHOP_ITEM_6 },
+ { RC_MARKET_BOMBCHU_SHOP_ITEM_7, RAND_INF_SHOP_ITEMS_MARKET_BOMBCHU_SHOP_ITEM_7 },
+ { RC_MARKET_BOMBCHU_SHOP_ITEM_8, RAND_INF_SHOP_ITEMS_MARKET_BOMBCHU_SHOP_ITEM_8 },
+ { RC_TOT_MASTER_SWORD, RAND_INF_TOT_MASTER_SWORD },
+ { RC_GC_MEDIGORON, RAND_INF_MERCHANTS_MEDIGORON },
+ { RC_KAK_GRANNYS_SHOP, RAND_INF_MERCHANTS_GRANNYS_SHOP },
+ { RC_WASTELAND_BOMBCHU_SALESMAN, RAND_INF_MERCHANTS_CARPET_SALESMAN },
+ { RC_LW_TRADE_COJIRO, RAND_INF_ADULT_TRADES_LW_TRADE_COJIRO },
+ { RC_GV_TRADE_SAW, RAND_INF_ADULT_TRADES_GV_TRADE_SAW },
+ { RC_DMT_TRADE_BROKEN_SWORD, RAND_INF_ADULT_TRADES_DMT_TRADE_BROKEN_SWORD },
+ { RC_LH_TRADE_FROG, RAND_INF_ADULT_TRADES_LH_TRADE_FROG },
+ { RC_DMT_TRADE_EYEDROPS, RAND_INF_ADULT_TRADES_DMT_TRADE_EYEDROPS },
+ { RC_LH_CHILD_FISHING, RAND_INF_CHILD_FISHING },
+ { RC_LH_ADULT_FISHING, RAND_INF_ADULT_FISHING },
+ { RC_MARKET_10_BIG_POES, RAND_INF_10_BIG_POES },
+ { RC_KAK_100_GOLD_SKULLTULA_REWARD, RAND_INF_KAK_100_GOLD_SKULLTULA_REWARD },
+ { RC_KF_LINKS_HOUSE_POT, RAND_INF_KF_LINKS_HOUSE_POT },
+ { RC_KF_TWINS_HOUSE_POT_1, RAND_INF_KF_TWINS_HOUSE_POT_1 },
+ { RC_KF_TWINS_HOUSE_POT_2, RAND_INF_KF_TWINS_HOUSE_POT_2 },
+ { RC_KF_BROTHERS_HOUSE_POT_1, RAND_INF_KF_BROTHERS_HOUSE_POT_1 },
+ { RC_KF_BROTHERS_HOUSE_POT_2, RAND_INF_KF_BROTHERS_HOUSE_POT_2 },
+ { RC_GF_BREAK_ROOM_POT_1, RAND_INF_GF_BREAK_ROOM_POT_1 },
+ { RC_GF_BREAK_ROOM_POT_2, RAND_INF_GF_BREAK_ROOM_POT_2 },
+ { RC_GF_KITCHEN_POT_1, RAND_INF_GF_KITCHEN_POT_1 },
+ { RC_GF_KITCHEN_POT_2, RAND_INF_GF_KITCHEN_POT_2 },
+ { RC_GF_NORTH_F1_CARPENTER_POT_1, RAND_INF_GF_NORTH_F1_CARPENTER_POT_1 },
+ { RC_GF_NORTH_F1_CARPENTER_POT_2, RAND_INF_GF_NORTH_F1_CARPENTER_POT_2 },
+ { RC_GF_NORTH_F1_CARPENTER_POT_3, RAND_INF_GF_NORTH_F1_CARPENTER_POT_3 },
+ { RC_GF_NORTH_F2_CARPENTER_POT_1, RAND_INF_GF_NORTH_F2_CARPENTER_POT_1 },
+ { RC_GF_NORTH_F2_CARPENTER_POT_2, RAND_INF_GF_NORTH_F2_CARPENTER_POT_2 },
+ { RC_GF_SOUTH_F1_CARPENTER_POT_1, RAND_INF_GF_SOUTH_F1_CARPENTER_POT_1 },
+ { RC_GF_SOUTH_F1_CARPENTER_POT_2, RAND_INF_GF_SOUTH_F1_CARPENTER_POT_2 },
+ { RC_GF_SOUTH_F1_CARPENTER_POT_3, RAND_INF_GF_SOUTH_F1_CARPENTER_POT_3 },
+ { RC_GF_SOUTH_F1_CARPENTER_CELL_POT_1, RAND_INF_GF_SOUTH_F1_CARPENTER_CELL_POT_1 },
+ { RC_GF_SOUTH_F1_CARPENTER_CELL_POT_2, RAND_INF_GF_SOUTH_F1_CARPENTER_CELL_POT_2 },
+ { RC_GF_SOUTH_F1_CARPENTER_CELL_POT_3, RAND_INF_GF_SOUTH_F1_CARPENTER_CELL_POT_3 },
+ { RC_GF_SOUTH_F1_CARPENTER_CELL_POT_4, RAND_INF_GF_SOUTH_F1_CARPENTER_CELL_POT_4 },
+ { RC_WASTELAND_NEAR_GS_POT_1, RAND_INF_WASTELAND_NEAR_GS_POT_1 },
+ { RC_WASTELAND_NEAR_GS_POT_2, RAND_INF_WASTELAND_NEAR_GS_POT_2 },
+ { RC_WASTELAND_NEAR_GS_POT_3, RAND_INF_WASTELAND_NEAR_GS_POT_3 },
+ { RC_WASTELAND_NEAR_GS_POT_4, RAND_INF_WASTELAND_NEAR_GS_POT_4 },
+ { RC_MK_GUARD_HOUSE_CHILD_POT_1, RAND_INF_MK_GUARD_HOUSE_CHILD_POT_1 },
+ { RC_MK_GUARD_HOUSE_CHILD_POT_2, RAND_INF_MK_GUARD_HOUSE_CHILD_POT_2 },
+ { RC_MK_GUARD_HOUSE_CHILD_POT_3, RAND_INF_MK_GUARD_HOUSE_CHILD_POT_3 },
+ { RC_MK_GUARD_HOUSE_CHILD_POT_4, RAND_INF_MK_GUARD_HOUSE_CHILD_POT_4 },
+ { RC_MK_GUARD_HOUSE_CHILD_POT_5, RAND_INF_MK_GUARD_HOUSE_CHILD_POT_5 },
+ { RC_MK_GUARD_HOUSE_CHILD_POT_6, RAND_INF_MK_GUARD_HOUSE_CHILD_POT_6 },
+ { RC_MK_GUARD_HOUSE_CHILD_POT_7, RAND_INF_MK_GUARD_HOUSE_CHILD_POT_7 },
+ { RC_MK_GUARD_HOUSE_CHILD_POT_8, RAND_INF_MK_GUARD_HOUSE_CHILD_POT_8 },
+ { RC_MK_GUARD_HOUSE_CHILD_POT_9, RAND_INF_MK_GUARD_HOUSE_CHILD_POT_9 },
+ { RC_MK_GUARD_HOUSE_CHILD_POT_10, RAND_INF_MK_GUARD_HOUSE_CHILD_POT_10 },
+ { RC_MK_GUARD_HOUSE_CHILD_POT_11, RAND_INF_MK_GUARD_HOUSE_CHILD_POT_11 },
+ { RC_MK_GUARD_HOUSE_CHILD_POT_12, RAND_INF_MK_GUARD_HOUSE_CHILD_POT_12 },
+ { RC_MK_GUARD_HOUSE_CHILD_POT_13, RAND_INF_MK_GUARD_HOUSE_CHILD_POT_13 },
+ { RC_MK_GUARD_HOUSE_CHILD_POT_14, RAND_INF_MK_GUARD_HOUSE_CHILD_POT_14 },
+ { RC_MK_GUARD_HOUSE_CHILD_POT_15, RAND_INF_MK_GUARD_HOUSE_CHILD_POT_15 },
+ { RC_MK_GUARD_HOUSE_CHILD_POT_16, RAND_INF_MK_GUARD_HOUSE_CHILD_POT_16 },
+ { RC_MK_GUARD_HOUSE_CHILD_POT_17, RAND_INF_MK_GUARD_HOUSE_CHILD_POT_17 },
+ { RC_MK_GUARD_HOUSE_CHILD_POT_18, RAND_INF_MK_GUARD_HOUSE_CHILD_POT_18 },
+ { RC_MK_GUARD_HOUSE_CHILD_POT_19, RAND_INF_MK_GUARD_HOUSE_CHILD_POT_19 },
+ { RC_MK_GUARD_HOUSE_CHILD_POT_20, RAND_INF_MK_GUARD_HOUSE_CHILD_POT_20 },
+ { RC_MK_GUARD_HOUSE_CHILD_POT_21, RAND_INF_MK_GUARD_HOUSE_CHILD_POT_21 },
+ { RC_MK_GUARD_HOUSE_CHILD_POT_22, RAND_INF_MK_GUARD_HOUSE_CHILD_POT_22 },
+ { RC_MK_GUARD_HOUSE_CHILD_POT_23, RAND_INF_MK_GUARD_HOUSE_CHILD_POT_23 },
+ { RC_MK_GUARD_HOUSE_CHILD_POT_24, RAND_INF_MK_GUARD_HOUSE_CHILD_POT_24 },
+ { RC_MK_GUARD_HOUSE_CHILD_POT_25, RAND_INF_MK_GUARD_HOUSE_CHILD_POT_25 },
+ { RC_MK_GUARD_HOUSE_CHILD_POT_26, RAND_INF_MK_GUARD_HOUSE_CHILD_POT_26 },
+ { RC_MK_GUARD_HOUSE_CHILD_POT_27, RAND_INF_MK_GUARD_HOUSE_CHILD_POT_27 },
+ { RC_MK_GUARD_HOUSE_CHILD_POT_28, RAND_INF_MK_GUARD_HOUSE_CHILD_POT_28 },
+ { RC_MK_GUARD_HOUSE_CHILD_POT_29, RAND_INF_MK_GUARD_HOUSE_CHILD_POT_29 },
+ { RC_MK_GUARD_HOUSE_CHILD_POT_30, RAND_INF_MK_GUARD_HOUSE_CHILD_POT_30 },
+ { RC_MK_GUARD_HOUSE_CHILD_POT_31, RAND_INF_MK_GUARD_HOUSE_CHILD_POT_31 },
+ { RC_MK_GUARD_HOUSE_CHILD_POT_32, RAND_INF_MK_GUARD_HOUSE_CHILD_POT_32 },
+ { RC_MK_GUARD_HOUSE_CHILD_POT_33, RAND_INF_MK_GUARD_HOUSE_CHILD_POT_33 },
+ { RC_MK_GUARD_HOUSE_CHILD_POT_34, RAND_INF_MK_GUARD_HOUSE_CHILD_POT_34 },
+ { RC_MK_GUARD_HOUSE_CHILD_POT_35, RAND_INF_MK_GUARD_HOUSE_CHILD_POT_35 },
+ { RC_MK_GUARD_HOUSE_CHILD_POT_36, RAND_INF_MK_GUARD_HOUSE_CHILD_POT_36 },
+ { RC_MK_GUARD_HOUSE_CHILD_POT_37, RAND_INF_MK_GUARD_HOUSE_CHILD_POT_37 },
+ { RC_MK_GUARD_HOUSE_CHILD_POT_38, RAND_INF_MK_GUARD_HOUSE_CHILD_POT_38 },
+ { RC_MK_GUARD_HOUSE_CHILD_POT_39, RAND_INF_MK_GUARD_HOUSE_CHILD_POT_39 },
+ { RC_MK_GUARD_HOUSE_CHILD_POT_40, RAND_INF_MK_GUARD_HOUSE_CHILD_POT_40 },
+ { RC_MK_GUARD_HOUSE_CHILD_POT_41, RAND_INF_MK_GUARD_HOUSE_CHILD_POT_41 },
+ { RC_MK_GUARD_HOUSE_CHILD_POT_42, RAND_INF_MK_GUARD_HOUSE_CHILD_POT_42 },
+ { RC_MK_GUARD_HOUSE_CHILD_POT_43, RAND_INF_MK_GUARD_HOUSE_CHILD_POT_43 },
+ { RC_MK_GUARD_HOUSE_CHILD_POT_44, RAND_INF_MK_GUARD_HOUSE_CHILD_POT_44 },
+ { RC_MK_GUARD_HOUSE_ADULT_POT_1, RAND_INF_MK_GUARD_HOUSE_ADULT_POT_1 },
+ { RC_MK_GUARD_HOUSE_ADULT_POT_2, RAND_INF_MK_GUARD_HOUSE_ADULT_POT_2 },
+ { RC_MK_GUARD_HOUSE_ADULT_POT_3, RAND_INF_MK_GUARD_HOUSE_ADULT_POT_3 },
+ { RC_MK_GUARD_HOUSE_ADULT_POT_4, RAND_INF_MK_GUARD_HOUSE_ADULT_POT_4 },
+ { RC_MK_GUARD_HOUSE_ADULT_POT_5, RAND_INF_MK_GUARD_HOUSE_ADULT_POT_5 },
+ { RC_MK_GUARD_HOUSE_ADULT_POT_6, RAND_INF_MK_GUARD_HOUSE_ADULT_POT_6 },
+ { RC_MK_GUARD_HOUSE_ADULT_POT_7, RAND_INF_MK_GUARD_HOUSE_ADULT_POT_7 },
+ { RC_MK_GUARD_HOUSE_ADULT_POT_8, RAND_INF_MK_GUARD_HOUSE_ADULT_POT_8 },
+ { RC_MK_GUARD_HOUSE_ADULT_POT_9, RAND_INF_MK_GUARD_HOUSE_ADULT_POT_9 },
+ { RC_MK_GUARD_HOUSE_ADULT_POT_10, RAND_INF_MK_GUARD_HOUSE_ADULT_POT_10 },
+ { RC_MK_GUARD_HOUSE_ADULT_POT_11, RAND_INF_MK_GUARD_HOUSE_ADULT_POT_11 },
+ { RC_MK_BACK_ALLEY_HOUSE_POT_1, RAND_INF_MK_BACK_ALLEY_HOUSE_POT_1 },
+ { RC_MK_BACK_ALLEY_HOUSE_POT_2, RAND_INF_MK_BACK_ALLEY_HOUSE_POT_2 },
+ { RC_MK_BACK_ALLEY_HOUSE_POT_3, RAND_INF_MK_BACK_ALLEY_HOUSE_POT_3 },
+ { RC_KAK_NEAR_POTION_SHOP_POT_1, RAND_INF_KAK_NEAR_POTION_SHOP_POT_1 },
+ { RC_KAK_NEAR_POTION_SHOP_POT_2, RAND_INF_KAK_NEAR_POTION_SHOP_POT_2 },
+ { RC_KAK_NEAR_POTION_SHOP_POT_3, RAND_INF_KAK_NEAR_POTION_SHOP_POT_3 },
+ { RC_KAK_NEAR_IMPAS_HOUSE_POT_1, RAND_INF_KAK_NEAR_IMPAS_HOUSE_POT_1 },
+ { RC_KAK_NEAR_IMPAS_HOUSE_POT_2, RAND_INF_KAK_NEAR_IMPAS_HOUSE_POT_2 },
+ { RC_KAK_NEAR_IMPAS_HOUSE_POT_3, RAND_INF_KAK_NEAR_IMPAS_HOUSE_POT_3 },
+ { RC_KAK_NEAR_GUARDS_HOUSE_POT_1, RAND_INF_KAK_NEAR_GUARDS_HOUSE_POT_1 },
+ { RC_KAK_NEAR_GUARDS_HOUSE_POT_2, RAND_INF_KAK_NEAR_GUARDS_HOUSE_POT_2 },
+ { RC_KAK_NEAR_GUARDS_HOUSE_POT_3, RAND_INF_KAK_NEAR_GUARDS_HOUSE_POT_3 },
+ { RC_KAK_NEAR_MEDICINE_SHOP_POT_1, RAND_INF_KAK_NEAR_MEDICINE_SHOP_POT_1 },
+ { RC_KAK_NEAR_MEDICINE_SHOP_POT_2, RAND_INF_KAK_NEAR_MEDICINE_SHOP_POT_2 },
+ { RC_GY_DAMPES_GRAVE_POT_1, RAND_INF_GY_DAMPES_GRAVE_POT_1 },
+ { RC_GY_DAMPES_GRAVE_POT_2, RAND_INF_GY_DAMPES_GRAVE_POT_2 },
+ { RC_GY_DAMPES_GRAVE_POT_3, RAND_INF_GY_DAMPES_GRAVE_POT_3 },
+ { RC_GY_DAMPES_GRAVE_POT_4, RAND_INF_GY_DAMPES_GRAVE_POT_4 },
+ { RC_GY_DAMPES_GRAVE_POT_5, RAND_INF_GY_DAMPES_GRAVE_POT_5 },
+ { RC_GY_DAMPES_GRAVE_POT_6, RAND_INF_GY_DAMPES_GRAVE_POT_6 },
+ { RC_GC_LOWER_STAIRCASE_POT_1, RAND_INF_GC_LOWER_STAIRCASE_POT_1 },
+ { RC_GC_LOWER_STAIRCASE_POT_2, RAND_INF_GC_LOWER_STAIRCASE_POT_2 },
+ { RC_GC_UPPER_STAIRCASE_POT_1, RAND_INF_GC_UPPER_STAIRCASE_POT_1 },
+ { RC_GC_UPPER_STAIRCASE_POT_2, RAND_INF_GC_UPPER_STAIRCASE_POT_2 },
+ { RC_GC_UPPER_STAIRCASE_POT_3, RAND_INF_GC_UPPER_STAIRCASE_POT_3 },
+ { RC_GC_MEDIGORON_POT_1, RAND_INF_GC_MEDIGORON_POT_1 },
+ { RC_GC_DARUNIA_POT_1, RAND_INF_GC_DARUNIA_POT_1 },
+ { RC_GC_DARUNIA_POT_2, RAND_INF_GC_DARUNIA_POT_2 },
+ { RC_GC_DARUNIA_POT_3, RAND_INF_GC_DARUNIA_POT_3 },
+ { RC_DMC_NEAR_GC_POT_1, RAND_INF_DMC_NEAR_GC_POT_1 },
+ { RC_DMC_NEAR_GC_POT_2, RAND_INF_DMC_NEAR_GC_POT_2 },
+ { RC_DMC_NEAR_GC_POT_3, RAND_INF_DMC_NEAR_GC_POT_3 },
+ { RC_DMC_NEAR_GC_POT_4, RAND_INF_DMC_NEAR_GC_POT_4 },
+ { RC_ZD_NEAR_SHOP_POT_1, RAND_INF_ZD_NEAR_SHOP_POT_1 },
+ { RC_ZD_NEAR_SHOP_POT_2, RAND_INF_ZD_NEAR_SHOP_POT_2 },
+ { RC_ZD_NEAR_SHOP_POT_3, RAND_INF_ZD_NEAR_SHOP_POT_3 },
+ { RC_ZD_NEAR_SHOP_POT_4, RAND_INF_ZD_NEAR_SHOP_POT_4 },
+ { RC_ZD_NEAR_SHOP_POT_5, RAND_INF_ZD_NEAR_SHOP_POT_5 },
+ { RC_ZF_HIDDEN_CAVE_POT_1, RAND_INF_ZF_HIDDEN_CAVE_POT_1 },
+ { RC_ZF_HIDDEN_CAVE_POT_2, RAND_INF_ZF_HIDDEN_CAVE_POT_2 },
+ { RC_ZF_HIDDEN_CAVE_POT_3, RAND_INF_ZF_HIDDEN_CAVE_POT_3 },
+ { RC_ZF_NEAR_JABU_POT_1, RAND_INF_ZF_NEAR_JABU_POT_1 },
+ { RC_ZF_NEAR_JABU_POT_2, RAND_INF_ZF_NEAR_JABU_POT_2 },
+ { RC_ZF_NEAR_JABU_POT_3, RAND_INF_ZF_NEAR_JABU_POT_3 },
+ { RC_ZF_NEAR_JABU_POT_4, RAND_INF_ZF_NEAR_JABU_POT_4 },
+ { RC_LLR_FRONT_POT_1, RAND_INF_LLR_FRONT_POT_1 },
+ { RC_LLR_FRONT_POT_2, RAND_INF_LLR_FRONT_POT_2 },
+ { RC_LLR_FRONT_POT_3, RAND_INF_LLR_FRONT_POT_3 },
+ { RC_LLR_FRONT_POT_4, RAND_INF_LLR_FRONT_POT_4 },
+ { RC_LLR_RAIN_SHED_POT_1, RAND_INF_LLR_RAIN_SHED_POT_1 },
+ { RC_LLR_RAIN_SHED_POT_2, RAND_INF_LLR_RAIN_SHED_POT_2 },
+ { RC_LLR_RAIN_SHED_POT_3, RAND_INF_LLR_RAIN_SHED_POT_3 },
+ { RC_LLR_TALONS_HOUSE_POT_1, RAND_INF_LLR_TALONS_HOUSE_POT_1 },
+ { RC_LLR_TALONS_HOUSE_POT_2, RAND_INF_LLR_TALONS_HOUSE_POT_2 },
+ { RC_LLR_TALONS_HOUSE_POT_3, RAND_INF_LLR_TALONS_HOUSE_POT_3 },
+ { RC_HF_COW_GROTTO_POT_1, RAND_INF_HF_COW_GROTTO_POT_1 },
+ { RC_HF_COW_GROTTO_POT_2, RAND_INF_HF_COW_GROTTO_POT_2 },
+ { RC_HC_STORMS_GROTTO_POT_1, RAND_INF_HC_STORMS_GROTTO_POT_1 },
+ { RC_HC_STORMS_GROTTO_POT_2, RAND_INF_HC_STORMS_GROTTO_POT_2 },
+ { RC_HC_STORMS_GROTTO_POT_3, RAND_INF_HC_STORMS_GROTTO_POT_3 },
+ { RC_HC_STORMS_GROTTO_POT_4, RAND_INF_HC_STORMS_GROTTO_POT_4 },
+ { RC_DODONGOS_CAVERN_LIZALFOS_POT_1, RAND_INF_DODONGOS_CAVERN_LIZALFOS_POT_1 },
+ { RC_DODONGOS_CAVERN_LIZALFOS_POT_2, RAND_INF_DODONGOS_CAVERN_LIZALFOS_POT_2 },
+ { RC_DODONGOS_CAVERN_LIZALFOS_POT_3, RAND_INF_DODONGOS_CAVERN_LIZALFOS_POT_3 },
+ { RC_DODONGOS_CAVERN_LIZALFOS_POT_4, RAND_INF_DODONGOS_CAVERN_LIZALFOS_POT_4 },
+ { RC_DODONGOS_CAVERN_SIDE_ROOM_POT_1, RAND_INF_DODONGOS_CAVERN_SIDE_ROOM_POT_1 },
+ { RC_DODONGOS_CAVERN_SIDE_ROOM_POT_2, RAND_INF_DODONGOS_CAVERN_SIDE_ROOM_POT_2 },
+ { RC_DODONGOS_CAVERN_SIDE_ROOM_POT_3, RAND_INF_DODONGOS_CAVERN_SIDE_ROOM_POT_3 },
+ { RC_DODONGOS_CAVERN_SIDE_ROOM_POT_4, RAND_INF_DODONGOS_CAVERN_SIDE_ROOM_POT_4 },
+ { RC_DODONGOS_CAVERN_SIDE_ROOM_POT_5, RAND_INF_DODONGOS_CAVERN_SIDE_ROOM_POT_5 },
+ { RC_DODONGOS_CAVERN_SIDE_ROOM_POT_6, RAND_INF_DODONGOS_CAVERN_SIDE_ROOM_POT_6 },
+ { RC_DODONGOS_CAVERN_TORCH_ROOM_POT_1, RAND_INF_DODONGOS_CAVERN_TORCH_ROOM_POT_1 },
+ { RC_DODONGOS_CAVERN_TORCH_ROOM_POT_2, RAND_INF_DODONGOS_CAVERN_TORCH_ROOM_POT_2 },
+ { RC_DODONGOS_CAVERN_TORCH_ROOM_POT_3, RAND_INF_DODONGOS_CAVERN_TORCH_ROOM_POT_3 },
+ { RC_DODONGOS_CAVERN_TORCH_ROOM_POT_4, RAND_INF_DODONGOS_CAVERN_TORCH_ROOM_POT_4 },
+ { RC_DODONGOS_CAVERN_STAIRCASE_POT_1, RAND_INF_DODONGOS_CAVERN_STAIRCASE_POT_1 },
+ { RC_DODONGOS_CAVERN_STAIRCASE_POT_2, RAND_INF_DODONGOS_CAVERN_STAIRCASE_POT_2 },
+ { RC_DODONGOS_CAVERN_STAIRCASE_POT_3, RAND_INF_DODONGOS_CAVERN_STAIRCASE_POT_3 },
+ { RC_DODONGOS_CAVERN_STAIRCASE_POT_4, RAND_INF_DODONGOS_CAVERN_STAIRCASE_POT_4 },
+ { RC_DODONGOS_CAVERN_SINGLE_EYE_POT_1, RAND_INF_DODONGOS_CAVERN_SINGLE_EYE_POT_1 },
+ { RC_DODONGOS_CAVERN_SINGLE_EYE_POT_2, RAND_INF_DODONGOS_CAVERN_SINGLE_EYE_POT_2 },
+ { RC_DODONGOS_CAVERN_BLADE_POT_1, RAND_INF_DODONGOS_CAVERN_BLADE_POT_1 },
+ { RC_DODONGOS_CAVERN_BLADE_POT_2, RAND_INF_DODONGOS_CAVERN_BLADE_POT_2 },
+ { RC_DODONGOS_CAVERN_DOUBLE_EYE_POT_1, RAND_INF_DODONGOS_CAVERN_DOUBLE_EYE_POT_1 },
+ { RC_DODONGOS_CAVERN_DOUBLE_EYE_POT_2, RAND_INF_DODONGOS_CAVERN_DOUBLE_EYE_POT_2 },
+ { RC_DODONGOS_CAVERN_BACK_ROOM_POT_1, RAND_INF_DODONGOS_CAVERN_BACK_ROOM_POT_1 },
+ { RC_DODONGOS_CAVERN_BACK_ROOM_POT_2, RAND_INF_DODONGOS_CAVERN_BACK_ROOM_POT_2 },
+ { RC_DODONGOS_CAVERN_BACK_ROOM_POT_3, RAND_INF_DODONGOS_CAVERN_BACK_ROOM_POT_3 },
+ { RC_DODONGOS_CAVERN_BACK_ROOM_POT_4, RAND_INF_DODONGOS_CAVERN_BACK_ROOM_POT_4 },
+ { RC_JABU_JABUS_BELLY_ABOVE_BIG_OCTO_POT_1, RAND_INF_JABU_JABUS_BELLY_ABOVE_BIG_OCTO_POT_1 },
+ { RC_JABU_JABUS_BELLY_ABOVE_BIG_OCTO_POT_2, RAND_INF_JABU_JABUS_BELLY_ABOVE_BIG_OCTO_POT_2 },
+ { RC_JABU_JABUS_BELLY_ABOVE_BIG_OCTO_POT_3, RAND_INF_JABU_JABUS_BELLY_ABOVE_BIG_OCTO_POT_3 },
+ { RC_JABU_JABUS_BELLY_BARINADE_POT_1, RAND_INF_JABU_JABUS_BELLY_BARINADE_POT_1 },
+ { RC_JABU_JABUS_BELLY_BARINADE_POT_2, RAND_INF_JABU_JABUS_BELLY_BARINADE_POT_2 },
+ { RC_JABU_JABUS_BELLY_BARINADE_POT_3, RAND_INF_JABU_JABUS_BELLY_BARINADE_POT_3 },
+ { RC_JABU_JABUS_BELLY_BARINADE_POT_4, RAND_INF_JABU_JABUS_BELLY_BARINADE_POT_4 },
+ { RC_JABU_JABUS_BELLY_BARINADE_POT_5, RAND_INF_JABU_JABUS_BELLY_BARINADE_POT_5 },
+ { RC_JABU_JABUS_BELLY_BARINADE_POT_6, RAND_INF_JABU_JABUS_BELLY_BARINADE_POT_6 },
+ { RC_JABU_JABUS_BELLY_BASEMENT_POT_1, RAND_INF_JABU_JABUS_BELLY_BASEMENT_POT_1 },
+ { RC_JABU_JABUS_BELLY_BASEMENT_POT_2, RAND_INF_JABU_JABUS_BELLY_BASEMENT_POT_2 },
+ { RC_JABU_JABUS_BELLY_BASEMENT_POT_3, RAND_INF_JABU_JABUS_BELLY_BASEMENT_POT_3 },
+ { RC_JABU_JABUS_BELLY_TWO_OCTOROK_POT_1, RAND_INF_JABU_JABUS_BELLY_TWO_OCTOROK_POT_1 },
+ { RC_JABU_JABUS_BELLY_TWO_OCTOROK_POT_2, RAND_INF_JABU_JABUS_BELLY_TWO_OCTOROK_POT_2 },
+ { RC_JABU_JABUS_BELLY_TWO_OCTOROK_POT_3, RAND_INF_JABU_JABUS_BELLY_TWO_OCTOROK_POT_3 },
+ { RC_JABU_JABUS_BELLY_TWO_OCTOROK_POT_4, RAND_INF_JABU_JABUS_BELLY_TWO_OCTOROK_POT_4 },
+ { RC_JABU_JABUS_BELLY_TWO_OCTOROK_POT_5, RAND_INF_JABU_JABUS_BELLY_TWO_OCTOROK_POT_5 },
+ { RC_FOREST_TEMPLE_LOBBY_POT_1, RAND_INF_FOREST_TEMPLE_LOBBY_POT_1 },
+ { RC_FOREST_TEMPLE_LOBBY_POT_2, RAND_INF_FOREST_TEMPLE_LOBBY_POT_2 },
+ { RC_FOREST_TEMPLE_LOBBY_POT_3, RAND_INF_FOREST_TEMPLE_LOBBY_POT_3 },
+ { RC_FOREST_TEMPLE_LOBBY_POT_4, RAND_INF_FOREST_TEMPLE_LOBBY_POT_4 },
+ { RC_FOREST_TEMPLE_LOBBY_POT_5, RAND_INF_FOREST_TEMPLE_LOBBY_POT_5 },
+ { RC_FOREST_TEMPLE_LOBBY_POT_6, RAND_INF_FOREST_TEMPLE_LOBBY_POT_6 },
+ { RC_FOREST_TEMPLE_LOWER_STALFOS_POT_1, RAND_INF_FOREST_TEMPLE_LOWER_STALFOS_POT_1 },
+ { RC_FOREST_TEMPLE_LOWER_STALFOS_POT_2, RAND_INF_FOREST_TEMPLE_LOWER_STALFOS_POT_2 },
+ { RC_FOREST_TEMPLE_GREEN_POE_POT_1, RAND_INF_FOREST_TEMPLE_GREEN_POE_POT_1 },
+ { RC_FOREST_TEMPLE_GREEN_POE_POT_2, RAND_INF_FOREST_TEMPLE_GREEN_POE_POT_2 },
+ { RC_FOREST_TEMPLE_UPPER_STALFOS_POT_1, RAND_INF_FOREST_TEMPLE_UPPER_STALFOS_POT_1 },
+ { RC_FOREST_TEMPLE_UPPER_STALFOS_POT_2, RAND_INF_FOREST_TEMPLE_UPPER_STALFOS_POT_2 },
+ { RC_FOREST_TEMPLE_UPPER_STALFOS_POT_3, RAND_INF_FOREST_TEMPLE_UPPER_STALFOS_POT_3 },
+ { RC_FOREST_TEMPLE_UPPER_STALFOS_POT_4, RAND_INF_FOREST_TEMPLE_UPPER_STALFOS_POT_4 },
+ { RC_FOREST_TEMPLE_BLUE_POE_POT_1, RAND_INF_FOREST_TEMPLE_BLUE_POE_POT_1 },
+ { RC_FOREST_TEMPLE_BLUE_POE_POT_2, RAND_INF_FOREST_TEMPLE_BLUE_POE_POT_2 },
+ { RC_FOREST_TEMPLE_BLUE_POE_POT_3, RAND_INF_FOREST_TEMPLE_BLUE_POE_POT_3 },
+ { RC_FOREST_TEMPLE_FROZEN_EYE_POT_1, RAND_INF_FOREST_TEMPLE_FROZEN_EYE_POT_1 },
+ { RC_FOREST_TEMPLE_FROZEN_EYE_POT_2, RAND_INF_FOREST_TEMPLE_FROZEN_EYE_POT_2 },
+ { RC_FIRE_TEMPLE_NEAR_BOSS_POT_1, RAND_INF_FIRE_TEMPLE_NEAR_BOSS_POT_1 },
+ { RC_FIRE_TEMPLE_NEAR_BOSS_POT_2, RAND_INF_FIRE_TEMPLE_NEAR_BOSS_POT_2 },
+ { RC_FIRE_TEMPLE_NEAR_BOSS_POT_3, RAND_INF_FIRE_TEMPLE_NEAR_BOSS_POT_3 },
+ { RC_FIRE_TEMPLE_NEAR_BOSS_POT_4, RAND_INF_FIRE_TEMPLE_NEAR_BOSS_POT_4 },
+ { RC_FIRE_TEMPLE_BIG_LAVA_POT_1, RAND_INF_FIRE_TEMPLE_BIG_LAVA_POT_1 },
+ { RC_FIRE_TEMPLE_BIG_LAVA_POT_2, RAND_INF_FIRE_TEMPLE_BIG_LAVA_POT_2 },
+ { RC_FIRE_TEMPLE_BIG_LAVA_POT_3, RAND_INF_FIRE_TEMPLE_BIG_LAVA_POT_3 },
+ { RC_FIRE_TEMPLE_FLAME_MAZE_LEFT_POT_1, RAND_INF_FIRE_TEMPLE_FLAME_MAZE_LEFT_POT_1 },
+ { RC_FIRE_TEMPLE_FLAME_MAZE_LEFT_POT_2, RAND_INF_FIRE_TEMPLE_FLAME_MAZE_LEFT_POT_2 },
+ { RC_FIRE_TEMPLE_FLAME_MAZE_LEFT_POT_3, RAND_INF_FIRE_TEMPLE_FLAME_MAZE_LEFT_POT_3 },
+ { RC_FIRE_TEMPLE_FLAME_MAZE_LEFT_POT_4, RAND_INF_FIRE_TEMPLE_FLAME_MAZE_LEFT_POT_4 },
+ { RC_FIRE_TEMPLE_FLAME_MAZE_RIGHT_POT_1, RAND_INF_FIRE_TEMPLE_FLAME_MAZE_RIGHT_POT_1 },
+ { RC_FIRE_TEMPLE_FLAME_MAZE_RIGHT_POT_2, RAND_INF_FIRE_TEMPLE_FLAME_MAZE_RIGHT_POT_2 },
+ { RC_FIRE_TEMPLE_FLAME_MAZE_RIGHT_POT_3, RAND_INF_FIRE_TEMPLE_FLAME_MAZE_RIGHT_POT_3 },
+ { RC_FIRE_TEMPLE_FLAME_MAZE_RIGHT_POT_4, RAND_INF_FIRE_TEMPLE_FLAME_MAZE_RIGHT_POT_4 },
+ { RC_WATER_TEMPLE_MAIN_LEVEL_2_POT_1, RAND_INF_WATER_TEMPLE_MAIN_LEVEL_2_POT_1 },
+ { RC_WATER_TEMPLE_MAIN_LEVEL_2_POT_2, RAND_INF_WATER_TEMPLE_MAIN_LEVEL_2_POT_2 },
+ { RC_WATER_TEMPLE_MAIN_LEVEL_1_POT_1, RAND_INF_WATER_TEMPLE_MAIN_LEVEL_1_POT_1 },
+ { RC_WATER_TEMPLE_MAIN_LEVEL_1_POT_2, RAND_INF_WATER_TEMPLE_MAIN_LEVEL_1_POT_2 },
+ { RC_WATER_TEMPLE_TORCH_POT_1, RAND_INF_WATER_TEMPLE_TORCH_POT_1 },
+ { RC_WATER_TEMPLE_TORCH_POT_2, RAND_INF_WATER_TEMPLE_TORCH_POT_2 },
+ { RC_WATER_TEMPLE_NEAR_COMPASS_POT_1, RAND_INF_WATER_TEMPLE_NEAR_COMPASS_POT_1 },
+ { RC_WATER_TEMPLE_NEAR_COMPASS_POT_2, RAND_INF_WATER_TEMPLE_NEAR_COMPASS_POT_2 },
+ { RC_WATER_TEMPLE_NEAR_COMPASS_POT_3, RAND_INF_WATER_TEMPLE_NEAR_COMPASS_POT_3 },
+ { RC_WATER_TEMPLE_CENTRAL_BOW_POT_1, RAND_INF_WATER_TEMPLE_CENTRAL_BOW_POT_1 },
+ { RC_WATER_TEMPLE_CENTRAL_BOW_POT_2, RAND_INF_WATER_TEMPLE_CENTRAL_BOW_POT_2 },
+ { RC_WATER_TEMPLE_BEHIND_GATE_POT_1, RAND_INF_WATER_TEMPLE_BEHIND_GATE_POT_1 },
+ { RC_WATER_TEMPLE_BEHIND_GATE_POT_2, RAND_INF_WATER_TEMPLE_BEHIND_GATE_POT_2 },
+ { RC_WATER_TEMPLE_BEHIND_GATE_POT_3, RAND_INF_WATER_TEMPLE_BEHIND_GATE_POT_3 },
+ { RC_WATER_TEMPLE_BEHIND_GATE_POT_4, RAND_INF_WATER_TEMPLE_BEHIND_GATE_POT_4 },
+ { RC_WATER_TEMPLE_BASEMENT_BLOCK_PUZZLE_POT_1, RAND_INF_WATER_TEMPLE_BASEMENT_BLOCK_PUZZLE_POT_1 },
+ { RC_WATER_TEMPLE_BASEMENT_BLOCK_PUZZLE_POT_2, RAND_INF_WATER_TEMPLE_BASEMENT_BLOCK_PUZZLE_POT_2 },
+ { RC_WATER_TEMPLE_RIVER_POT_1, RAND_INF_WATER_TEMPLE_RIVER_POT_1 },
+ { RC_WATER_TEMPLE_RIVER_POT_2, RAND_INF_WATER_TEMPLE_RIVER_POT_2 },
+ { RC_WATER_TEMPLE_LIKE_LIKE_POT_1, RAND_INF_WATER_TEMPLE_LIKE_LIKE_POT_1 },
+ { RC_WATER_TEMPLE_LIKE_LIKE_POT_2, RAND_INF_WATER_TEMPLE_LIKE_LIKE_POT_2 },
+ { RC_WATER_TEMPLE_BOSS_KEY_POT_1, RAND_INF_WATER_TEMPLE_BOSS_KEY_POT_1 },
+ { RC_WATER_TEMPLE_BOSS_KEY_POT_2, RAND_INF_WATER_TEMPLE_BOSS_KEY_POT_2 },
+ { RC_SHADOW_TEMPLE_NEAR_DEAD_HAND_POT_1, RAND_INF_SHADOW_TEMPLE_NEAR_DEAD_HAND_POT_1 },
+ { RC_SHADOW_TEMPLE_WHISPERING_WALLS_POT_1, RAND_INF_SHADOW_TEMPLE_WHISPERING_WALLS_POT_1 },
+ { RC_SHADOW_TEMPLE_WHISPERING_WALLS_POT_2, RAND_INF_SHADOW_TEMPLE_WHISPERING_WALLS_POT_2 },
+ { RC_SHADOW_TEMPLE_WHISPERING_WALLS_POT_3, RAND_INF_SHADOW_TEMPLE_WHISPERING_WALLS_POT_3 },
+ { RC_SHADOW_TEMPLE_WHISPERING_WALLS_POT_4, RAND_INF_SHADOW_TEMPLE_WHISPERING_WALLS_POT_4 },
+ { RC_SHADOW_TEMPLE_WHISPERING_WALLS_POT_5, RAND_INF_SHADOW_TEMPLE_WHISPERING_WALLS_POT_5 },
+ { RC_SHADOW_TEMPLE_MAP_CHEST_POT_1, RAND_INF_SHADOW_TEMPLE_MAP_CHEST_POT_1 },
+ { RC_SHADOW_TEMPLE_MAP_CHEST_POT_2, RAND_INF_SHADOW_TEMPLE_MAP_CHEST_POT_2 },
+ { RC_SHADOW_TEMPLE_FALLING_SPIKES_POT_1, RAND_INF_SHADOW_TEMPLE_FALLING_SPIKES_POT_1 },
+ { RC_SHADOW_TEMPLE_FALLING_SPIKES_POT_2, RAND_INF_SHADOW_TEMPLE_FALLING_SPIKES_POT_2 },
+ { RC_SHADOW_TEMPLE_FALLING_SPIKES_POT_3, RAND_INF_SHADOW_TEMPLE_FALLING_SPIKES_POT_3 },
+ { RC_SHADOW_TEMPLE_FALLING_SPIKES_POT_4, RAND_INF_SHADOW_TEMPLE_FALLING_SPIKES_POT_4 },
+ { RC_SHADOW_TEMPLE_AFTER_WIND_POT_1, RAND_INF_SHADOW_TEMPLE_AFTER_WIND_POT_1 },
+ { RC_SHADOW_TEMPLE_AFTER_WIND_POT_2, RAND_INF_SHADOW_TEMPLE_AFTER_WIND_POT_2 },
+ { RC_SHADOW_TEMPLE_SPIKE_WALLS_POT_1, RAND_INF_SHADOW_TEMPLE_SPIKE_WALLS_POT_1 },
+ { RC_SHADOW_TEMPLE_FLOORMASTER_POT_1, RAND_INF_SHADOW_TEMPLE_FLOORMASTER_POT_1 },
+ { RC_SHADOW_TEMPLE_FLOORMASTER_POT_2, RAND_INF_SHADOW_TEMPLE_FLOORMASTER_POT_2 },
+ { RC_SHADOW_TEMPLE_AFTER_BOAT_POT_1, RAND_INF_SHADOW_TEMPLE_AFTER_BOAT_POT_1 },
+ { RC_SHADOW_TEMPLE_AFTER_BOAT_POT_2, RAND_INF_SHADOW_TEMPLE_AFTER_BOAT_POT_2 },
+ { RC_SHADOW_TEMPLE_AFTER_BOAT_POT_3, RAND_INF_SHADOW_TEMPLE_AFTER_BOAT_POT_3 },
+ { RC_SHADOW_TEMPLE_AFTER_BOAT_POT_4, RAND_INF_SHADOW_TEMPLE_AFTER_BOAT_POT_4 },
+ { RC_SPIRIT_TEMPLE_LOBBY_POT_1, RAND_INF_SPIRIT_TEMPLE_LOBBY_POT_1 },
+ { RC_SPIRIT_TEMPLE_LOBBY_POT_2, RAND_INF_SPIRIT_TEMPLE_LOBBY_POT_2 },
+ { RC_SPIRIT_TEMPLE_ANUBIS_POT_1, RAND_INF_SPIRIT_TEMPLE_ANUBIS_POT_1 },
+ { RC_SPIRIT_TEMPLE_ANUBIS_POT_2, RAND_INF_SPIRIT_TEMPLE_ANUBIS_POT_2 },
+ { RC_SPIRIT_TEMPLE_ANUBIS_POT_3, RAND_INF_SPIRIT_TEMPLE_ANUBIS_POT_3 },
+ { RC_SPIRIT_TEMPLE_ANUBIS_POT_4, RAND_INF_SPIRIT_TEMPLE_ANUBIS_POT_4 },
+ { RC_SPIRIT_TEMPLE_CHILD_CLIMB_POT_1, RAND_INF_SPIRIT_TEMPLE_CHILD_CLIMB_POT_1 },
+ { RC_SPIRIT_TEMPLE_AFTER_SUN_BLOCK_POT_1, RAND_INF_SPIRIT_TEMPLE_AFTER_SUN_BLOCK_POT_1 },
+ { RC_SPIRIT_TEMPLE_AFTER_SUN_BLOCK_POT_2, RAND_INF_SPIRIT_TEMPLE_AFTER_SUN_BLOCK_POT_2 },
+ { RC_SPIRIT_TEMPLE_CENTRAL_CHAMBER_POT_1, RAND_INF_SPIRIT_TEMPLE_CENTRAL_CHAMBER_POT_1 },
+ { RC_SPIRIT_TEMPLE_CENTRAL_CHAMBER_POT_2, RAND_INF_SPIRIT_TEMPLE_CENTRAL_CHAMBER_POT_2 },
+ { RC_SPIRIT_TEMPLE_CENTRAL_CHAMBER_POT_3, RAND_INF_SPIRIT_TEMPLE_CENTRAL_CHAMBER_POT_3 },
+ { RC_SPIRIT_TEMPLE_CENTRAL_CHAMBER_POT_4, RAND_INF_SPIRIT_TEMPLE_CENTRAL_CHAMBER_POT_4 },
+ { RC_SPIRIT_TEMPLE_CENTRAL_CHAMBER_POT_5, RAND_INF_SPIRIT_TEMPLE_CENTRAL_CHAMBER_POT_5 },
+ { RC_SPIRIT_TEMPLE_CENTRAL_CHAMBER_POT_6, RAND_INF_SPIRIT_TEMPLE_CENTRAL_CHAMBER_POT_6 },
+ { RC_SPIRIT_TEMPLE_BEAMOS_HALL_POT_1, RAND_INF_SPIRIT_TEMPLE_BEAMOS_HALL_POT_1 },
+ { RC_GANONS_CASTLE_FOREST_TRIAL_POT_1, RAND_INF_GANONS_CASTLE_FOREST_TRIAL_POT_1 },
+ { RC_GANONS_CASTLE_FOREST_TRIAL_POT_2, RAND_INF_GANONS_CASTLE_FOREST_TRIAL_POT_2 },
+ { RC_GANONS_CASTLE_FIRE_TRIAL_POT_1, RAND_INF_GANONS_CASTLE_FIRE_TRIAL_POT_1 },
+ { RC_GANONS_CASTLE_FIRE_TRIAL_POT_2, RAND_INF_GANONS_CASTLE_FIRE_TRIAL_POT_2 },
+ { RC_GANONS_CASTLE_WATER_TRIAL_POT_1, RAND_INF_GANONS_CASTLE_WATER_TRIAL_POT_1 },
+ { RC_GANONS_CASTLE_WATER_TRIAL_POT_2, RAND_INF_GANONS_CASTLE_WATER_TRIAL_POT_2 },
+ { RC_GANONS_CASTLE_WATER_TRIAL_POT_3, RAND_INF_GANONS_CASTLE_WATER_TRIAL_POT_3 },
+ { RC_GANONS_CASTLE_SHADOW_TRIAL_POT_1, RAND_INF_GANONS_CASTLE_SHADOW_TRIAL_POT_1 },
+ { RC_GANONS_CASTLE_SHADOW_TRIAL_POT_2, RAND_INF_GANONS_CASTLE_SHADOW_TRIAL_POT_2 },
+ { RC_GANONS_CASTLE_SHADOW_TRIAL_POT_3, RAND_INF_GANONS_CASTLE_SHADOW_TRIAL_POT_3 },
+ { RC_GANONS_CASTLE_SHADOW_TRIAL_POT_4, RAND_INF_GANONS_CASTLE_SHADOW_TRIAL_POT_4 },
+ { RC_GANONS_CASTLE_SPIRIT_TRIAL_POT_1, RAND_INF_GANONS_CASTLE_SPIRIT_TRIAL_POT_1 },
+ { RC_GANONS_CASTLE_SPIRIT_TRIAL_POT_2, RAND_INF_GANONS_CASTLE_SPIRIT_TRIAL_POT_2 },
+ { RC_GANONS_CASTLE_LIGHT_TRIAL_BOULDER_POT_1, RAND_INF_GANONS_CASTLE_LIGHT_TRIAL_BOULDER_POT_1 },
+ { RC_GANONS_CASTLE_LIGHT_TRIAL_POT_1, RAND_INF_GANONS_CASTLE_LIGHT_TRIAL_POT_1 },
+ { RC_GANONS_CASTLE_LIGHT_TRIAL_POT_2, RAND_INF_GANONS_CASTLE_LIGHT_TRIAL_POT_2 },
+ { RC_GANONS_CASTLE_GANONS_TOWER_POT_1, RAND_INF_GANONS_CASTLE_GANONS_TOWER_POT_1 },
+ { RC_GANONS_CASTLE_GANONS_TOWER_POT_2, RAND_INF_GANONS_CASTLE_GANONS_TOWER_POT_2 },
+ { RC_GANONS_CASTLE_GANONS_TOWER_POT_3, RAND_INF_GANONS_CASTLE_GANONS_TOWER_POT_3 },
+ { RC_GANONS_CASTLE_GANONS_TOWER_POT_4, RAND_INF_GANONS_CASTLE_GANONS_TOWER_POT_4 },
+ { RC_GANONS_CASTLE_GANONS_TOWER_POT_5, RAND_INF_GANONS_CASTLE_GANONS_TOWER_POT_5 },
+ { RC_GANONS_CASTLE_GANONS_TOWER_POT_6, RAND_INF_GANONS_CASTLE_GANONS_TOWER_POT_6 },
+ { RC_GANONS_CASTLE_GANONS_TOWER_POT_7, RAND_INF_GANONS_CASTLE_GANONS_TOWER_POT_7 },
+ { RC_GANONS_CASTLE_GANONS_TOWER_POT_8, RAND_INF_GANONS_CASTLE_GANONS_TOWER_POT_8 },
+ { RC_GANONS_CASTLE_GANONS_TOWER_POT_9, RAND_INF_GANONS_CASTLE_GANONS_TOWER_POT_9 },
+ { RC_GANONS_CASTLE_GANONS_TOWER_POT_10, RAND_INF_GANONS_CASTLE_GANONS_TOWER_POT_10 },
+ { RC_GANONS_CASTLE_GANONS_TOWER_POT_11, RAND_INF_GANONS_CASTLE_GANONS_TOWER_POT_11 },
+ { RC_GANONS_CASTLE_GANONS_TOWER_POT_12, RAND_INF_GANONS_CASTLE_GANONS_TOWER_POT_12 },
+ { RC_GANONS_CASTLE_GANONS_TOWER_POT_13, RAND_INF_GANONS_CASTLE_GANONS_TOWER_POT_13 },
+ { RC_GANONS_CASTLE_GANONS_TOWER_POT_14, RAND_INF_GANONS_CASTLE_GANONS_TOWER_POT_14 },
+ { RC_GANONS_CASTLE_GANONS_TOWER_POT_15, RAND_INF_GANONS_CASTLE_GANONS_TOWER_POT_15 },
+ { RC_GANONS_CASTLE_GANONS_TOWER_POT_16, RAND_INF_GANONS_CASTLE_GANONS_TOWER_POT_16 },
+ { RC_GANONS_CASTLE_GANONS_TOWER_POT_17, RAND_INF_GANONS_CASTLE_GANONS_TOWER_POT_17 },
+ { RC_GANONS_CASTLE_GANONS_TOWER_POT_18, RAND_INF_GANONS_CASTLE_GANONS_TOWER_POT_18 },
+ { RC_BOTTOM_OF_THE_WELL_BASEMENT_POT_1, RAND_INF_BOTTOM_OF_THE_WELL_BASEMENT_POT_1 },
+ { RC_BOTTOM_OF_THE_WELL_BASEMENT_POT_2, RAND_INF_BOTTOM_OF_THE_WELL_BASEMENT_POT_2 },
+ { RC_BOTTOM_OF_THE_WELL_BASEMENT_POT_3, RAND_INF_BOTTOM_OF_THE_WELL_BASEMENT_POT_3 },
+ { RC_BOTTOM_OF_THE_WELL_BASEMENT_POT_4, RAND_INF_BOTTOM_OF_THE_WELL_BASEMENT_POT_4 },
+ { RC_BOTTOM_OF_THE_WELL_BASEMENT_POT_5, RAND_INF_BOTTOM_OF_THE_WELL_BASEMENT_POT_5 },
+ { RC_BOTTOM_OF_THE_WELL_BASEMENT_POT_6, RAND_INF_BOTTOM_OF_THE_WELL_BASEMENT_POT_6 },
+ { RC_BOTTOM_OF_THE_WELL_BASEMENT_POT_7, RAND_INF_BOTTOM_OF_THE_WELL_BASEMENT_POT_7 },
+ { RC_BOTTOM_OF_THE_WELL_BASEMENT_POT_8, RAND_INF_BOTTOM_OF_THE_WELL_BASEMENT_POT_8 },
+ { RC_BOTTOM_OF_THE_WELL_BASEMENT_POT_9, RAND_INF_BOTTOM_OF_THE_WELL_BASEMENT_POT_9 },
+ { RC_BOTTOM_OF_THE_WELL_BASEMENT_POT_10, RAND_INF_BOTTOM_OF_THE_WELL_BASEMENT_POT_10 },
+ { RC_BOTTOM_OF_THE_WELL_BASEMENT_POT_11, RAND_INF_BOTTOM_OF_THE_WELL_BASEMENT_POT_11 },
+ { RC_BOTTOM_OF_THE_WELL_BASEMENT_POT_12, RAND_INF_BOTTOM_OF_THE_WELL_BASEMENT_POT_12 },
+ { RC_BOTTOM_OF_THE_WELL_LEFT_SIDE_POT_1, RAND_INF_BOTTOM_OF_THE_WELL_LEFT_SIDE_POT_1 },
+ { RC_BOTTOM_OF_THE_WELL_LEFT_SIDE_POT_2, RAND_INF_BOTTOM_OF_THE_WELL_LEFT_SIDE_POT_2 },
+ { RC_BOTTOM_OF_THE_WELL_LEFT_SIDE_POT_3, RAND_INF_BOTTOM_OF_THE_WELL_LEFT_SIDE_POT_3 },
+ { RC_BOTTOM_OF_THE_WELL_NEAR_ENTRANCE_POT_1, RAND_INF_BOTTOM_OF_THE_WELL_NEAR_ENTRANCE_POT_1 },
+ { RC_BOTTOM_OF_THE_WELL_NEAR_ENTRANCE_POT_2, RAND_INF_BOTTOM_OF_THE_WELL_NEAR_ENTRANCE_POT_2 },
+ { RC_BOTTOM_OF_THE_WELL_FIRE_KEESE_POT_1, RAND_INF_BOTTOM_OF_THE_WELL_FIRE_KEESE_POT_1 },
+ { RC_BOTTOM_OF_THE_WELL_UNDERWATER_POT, RAND_INF_BOTTOM_OF_THE_WELL_UNDERWATER_POT },
+ { RC_ICE_CAVERN_HALL_POT_1, RAND_INF_ICE_CAVERN_HALL_POT_1 },
+ { RC_ICE_CAVERN_HALL_POT_2, RAND_INF_ICE_CAVERN_HALL_POT_2 },
+ { RC_ICE_CAVERN_SPINNING_BLADE_POT_1, RAND_INF_ICE_CAVERN_SPINNING_BLADE_POT_1 },
+ { RC_ICE_CAVERN_SPINNING_BLADE_POT_2, RAND_INF_ICE_CAVERN_SPINNING_BLADE_POT_2 },
+ { RC_ICE_CAVERN_SPINNING_BLADE_POT_3, RAND_INF_ICE_CAVERN_SPINNING_BLADE_POT_3 },
+ { RC_ICE_CAVERN_NEAR_END_POT_1, RAND_INF_ICE_CAVERN_NEAR_END_POT_1 },
+ { RC_ICE_CAVERN_NEAR_END_POT_2, RAND_INF_ICE_CAVERN_NEAR_END_POT_2 },
+ { RC_ICE_CAVERN_FROZEN_POT_1, RAND_INF_ICE_CAVERN_FROZEN_POT_1 },
+
+ { RC_JABU_JABUS_BELLY_MQ_ENTRANCE_POT_1, RAND_INF_JABU_JABUS_BELLY_MQ_ENTRANCE_POT_1 },
+ { RC_JABU_JABUS_BELLY_MQ_ENTRANCE_POT_2, RAND_INF_JABU_JABUS_BELLY_MQ_ENTRANCE_POT_2 },
+ { RC_JABU_JABUS_BELLY_MQ_GEYSER_POT_1, RAND_INF_JABU_JABUS_BELLY_MQ_GEYSER_POT_1 },
+ { RC_JABU_JABUS_BELLY_MQ_GEYSER_POT_2, RAND_INF_JABU_JABUS_BELLY_MQ_GEYSER_POT_2 },
+ { RC_JABU_JABUS_BELLY_MQ_TIME_BLOCK_POT_1, RAND_INF_JABU_JABUS_BELLY_MQ_TIME_BLOCK_POT_1 },
+ { RC_JABU_JABUS_BELLY_MQ_TIME_BLOCK_POT_2, RAND_INF_JABU_JABUS_BELLY_MQ_TIME_BLOCK_POT_2 },
+ { RC_JABU_JABUS_BELLY_MQ_LIKE_LIKES_POT_1, RAND_INF_JABU_JABUS_BELLY_MQ_LIKE_LIKES_POT_1 },
+ { RC_JABU_JABUS_BELLY_MQ_LIKE_LIKES_POT_2, RAND_INF_JABU_JABUS_BELLY_MQ_LIKE_LIKES_POT_2 },
+ { RC_JABU_JABUS_BELLY_MQ_BEFORE_BOSS_POT_1, RAND_INF_JABU_JABUS_BELLY_MQ_BEFORE_BOSS_POT_1 },
+ { RC_FOREST_TEMPLE_MQ_LOBBY_POT_1, RAND_INF_FOREST_TEMPLE_MQ_LOBBY_POT_1 },
+ { RC_FOREST_TEMPLE_MQ_LOBBY_POT_2, RAND_INF_FOREST_TEMPLE_MQ_LOBBY_POT_2 },
+ { RC_FOREST_TEMPLE_MQ_LOBBY_POT_3, RAND_INF_FOREST_TEMPLE_MQ_LOBBY_POT_3 },
+ { RC_FOREST_TEMPLE_MQ_LOBBY_POT_4, RAND_INF_FOREST_TEMPLE_MQ_LOBBY_POT_4 },
+ { RC_FOREST_TEMPLE_MQ_LOBBY_POT_5, RAND_INF_FOREST_TEMPLE_MQ_LOBBY_POT_5 },
+ { RC_FOREST_TEMPLE_MQ_LOBBY_POT_6, RAND_INF_FOREST_TEMPLE_MQ_LOBBY_POT_6 },
+ { RC_FOREST_TEMPLE_MQ_LOWER_STALFOS_POT_1, RAND_INF_FOREST_TEMPLE_MQ_LOWER_STALFOS_POT_1 },
+ { RC_FOREST_TEMPLE_MQ_LOWER_STALFOS_POT_2, RAND_INF_FOREST_TEMPLE_MQ_LOWER_STALFOS_POT_2 },
+ { RC_FOREST_TEMPLE_MQ_UPPER_STALFOS_POT_1, RAND_INF_FOREST_TEMPLE_MQ_UPPER_STALFOS_POT_1 },
+ { RC_FOREST_TEMPLE_MQ_UPPER_STALFOS_POT_2, RAND_INF_FOREST_TEMPLE_MQ_UPPER_STALFOS_POT_2 },
+ { RC_FOREST_TEMPLE_MQ_UPPER_STALFOS_POT_3, RAND_INF_FOREST_TEMPLE_MQ_UPPER_STALFOS_POT_3 },
+ { RC_FOREST_TEMPLE_MQ_UPPER_STALFOS_POT_4, RAND_INF_FOREST_TEMPLE_MQ_UPPER_STALFOS_POT_4 },
+ { RC_FOREST_TEMPLE_MQ_BLUE_POE_POT_1, RAND_INF_FOREST_TEMPLE_MQ_BLUE_POE_POT_1 },
+ { RC_FOREST_TEMPLE_MQ_BLUE_POE_POT_2, RAND_INF_FOREST_TEMPLE_MQ_BLUE_POE_POT_2 },
+ { RC_FOREST_TEMPLE_MQ_BLUE_POE_POT_3, RAND_INF_FOREST_TEMPLE_MQ_BLUE_POE_POT_3 },
+ { RC_FOREST_TEMPLE_MQ_GREEN_POE_POT_1, RAND_INF_FOREST_TEMPLE_MQ_GREEN_POE_POT_1 },
+ { RC_FOREST_TEMPLE_MQ_GREEN_POE_POT_2, RAND_INF_FOREST_TEMPLE_MQ_GREEN_POE_POT_2 },
+ { RC_FOREST_TEMPLE_MQ_BASEMENT_POT_1, RAND_INF_FOREST_TEMPLE_MQ_BASEMENT_POT_1 },
+ { RC_FOREST_TEMPLE_MQ_BASEMENT_POT_2, RAND_INF_FOREST_TEMPLE_MQ_BASEMENT_POT_2 },
+ { RC_FOREST_TEMPLE_MQ_BASEMENT_POT_3, RAND_INF_FOREST_TEMPLE_MQ_BASEMENT_POT_3 },
+ { RC_FOREST_TEMPLE_MQ_BASEMENT_POT_4, RAND_INF_FOREST_TEMPLE_MQ_BASEMENT_POT_4 },
+ { RC_DODONGOS_CAVERN_MQ_RIGHT_SIDE_POT_1, RAND_INF_DODONGOS_CAVERN_MQ_RIGHT_SIDE_POT_1 },
+ { RC_DODONGOS_CAVERN_MQ_RIGHT_SIDE_POT_2, RAND_INF_DODONGOS_CAVERN_MQ_RIGHT_SIDE_POT_2 },
+ { RC_DODONGOS_CAVERN_MQ_RIGHT_SIDE_POT_3, RAND_INF_DODONGOS_CAVERN_MQ_RIGHT_SIDE_POT_3 },
+ { RC_DODONGOS_CAVERN_MQ_RIGHT_SIDE_POT_4, RAND_INF_DODONGOS_CAVERN_MQ_RIGHT_SIDE_POT_4 },
+ { RC_DODONGOS_CAVERN_MQ_UPPER_LIZALFOS_POT_1, RAND_INF_DODONGOS_CAVERN_MQ_UPPER_LIZALFOS_POT_1 },
+ { RC_DODONGOS_CAVERN_MQ_UPPER_LIZALFOS_POT_2, RAND_INF_DODONGOS_CAVERN_MQ_UPPER_LIZALFOS_POT_2 },
+ { RC_DODONGOS_CAVERN_MQ_UPPER_LIZALFOS_POT_3, RAND_INF_DODONGOS_CAVERN_MQ_UPPER_LIZALFOS_POT_3 },
+ { RC_DODONGOS_CAVERN_MQ_UPPER_LIZALFOS_POT_4, RAND_INF_DODONGOS_CAVERN_MQ_UPPER_LIZALFOS_POT_4 },
+ { RC_DODONGOS_CAVERN_MQ_POE_ROOM_POT_1, RAND_INF_DODONGOS_CAVERN_MQ_POE_ROOM_POT_1 },
+ { RC_DODONGOS_CAVERN_MQ_POE_ROOM_POT_2, RAND_INF_DODONGOS_CAVERN_MQ_POE_ROOM_POT_2 },
+ { RC_DODONGOS_CAVERN_MQ_POE_ROOM_POT_3, RAND_INF_DODONGOS_CAVERN_MQ_POE_ROOM_POT_3 },
+ { RC_DODONGOS_CAVERN_MQ_POE_ROOM_POT_4, RAND_INF_DODONGOS_CAVERN_MQ_POE_ROOM_POT_4 },
+ { RC_DODONGOS_CAVERN_MQ_BLOCK_ROOM_POT_1, RAND_INF_DODONGOS_CAVERN_MQ_BLOCK_ROOM_POT_1 },
+ { RC_DODONGOS_CAVERN_MQ_BLOCK_ROOM_POT_2, RAND_INF_DODONGOS_CAVERN_MQ_BLOCK_ROOM_POT_2 },
+ { RC_DODONGOS_CAVERN_MQ_TWO_FLAMES_POT_1, RAND_INF_DODONGOS_CAVERN_MQ_TWO_FLAMES_POT_1 },
+ { RC_DODONGOS_CAVERN_MQ_TWO_FLAMES_POT_2, RAND_INF_DODONGOS_CAVERN_MQ_TWO_FLAMES_POT_2 },
+ { RC_DODONGOS_CAVERN_MQ_SILVER_BLOCK_POT_1, RAND_INF_DODONGOS_CAVERN_MQ_SILVER_BLOCK_POT_1 },
+ { RC_DODONGOS_CAVERN_MQ_SILVER_BLOCK_POT_2, RAND_INF_DODONGOS_CAVERN_MQ_SILVER_BLOCK_POT_2 },
+ { RC_DODONGOS_CAVERN_MQ_STAIRCASE_POT_1, RAND_INF_DODONGOS_CAVERN_MQ_STAIRCASE_POT_1 },
+ { RC_DODONGOS_CAVERN_MQ_STAIRCASE_POT_2, RAND_INF_DODONGOS_CAVERN_MQ_STAIRCASE_POT_2 },
+ { RC_DODONGOS_CAVERN_MQ_STAIRCASE_POT_3, RAND_INF_DODONGOS_CAVERN_MQ_STAIRCASE_POT_3 },
+ { RC_DODONGOS_CAVERN_MQ_STAIRCASE_POT_4, RAND_INF_DODONGOS_CAVERN_MQ_STAIRCASE_POT_4 },
+ { RC_DODONGOS_CAVERN_MQ_ARMOS_POT_1, RAND_INF_DODONGOS_CAVERN_MQ_ARMOS_POT_1 },
+ { RC_DODONGOS_CAVERN_MQ_ARMOS_POT_2, RAND_INF_DODONGOS_CAVERN_MQ_ARMOS_POT_2 },
+ { RC_DODONGOS_CAVERN_MQ_ARMOS_POT_3, RAND_INF_DODONGOS_CAVERN_MQ_ARMOS_POT_3 },
+ { RC_DODONGOS_CAVERN_MQ_ARMOS_POT_4, RAND_INF_DODONGOS_CAVERN_MQ_ARMOS_POT_4 },
+ { RC_DODONGOS_CAVERN_MQ_BEFORE_BOSS_POT_1, RAND_INF_DODONGOS_CAVERN_MQ_BEFORE_BOSS_POT_1 },
+ { RC_DODONGOS_CAVERN_MQ_BEFORE_BOSS_POT_2, RAND_INF_DODONGOS_CAVERN_MQ_BEFORE_BOSS_POT_2 },
+ { RC_DODONGOS_CAVERN_MQ_BACKROOM_POT_1, RAND_INF_DODONGOS_CAVERN_MQ_BACKROOM_POT_1 },
+ { RC_DODONGOS_CAVERN_MQ_BACKROOM_POT_2, RAND_INF_DODONGOS_CAVERN_MQ_BACKROOM_POT_2 },
+ { RC_GANONS_CASTLE_MQ_FOREST_TRIAL_POT_1, RAND_INF_GANONS_CASTLE_MQ_FOREST_TRIAL_POT_1 },
+ { RC_GANONS_CASTLE_MQ_FOREST_TRIAL_POT_2, RAND_INF_GANONS_CASTLE_MQ_FOREST_TRIAL_POT_2 },
+ { RC_GANONS_CASTLE_MQ_WATER_TRIAL_POT_1, RAND_INF_GANONS_CASTLE_MQ_WATER_TRIAL_POT_1 },
+ { RC_GANONS_CASTLE_MQ_WATER_TRIAL_POT_2, RAND_INF_GANONS_CASTLE_MQ_WATER_TRIAL_POT_2 },
+ { RC_GANONS_CASTLE_MQ_SHADOW_TRIAL_POT_1, RAND_INF_GANONS_CASTLE_MQ_SHADOW_TRIAL_POT_1 },
+ { RC_GANONS_CASTLE_MQ_SHADOW_TRIAL_POT_2, RAND_INF_GANONS_CASTLE_MQ_SHADOW_TRIAL_POT_2 },
+ { RC_GANONS_CASTLE_MQ_FIRE_TRIAL_POT_1, RAND_INF_GANONS_CASTLE_MQ_FIRE_TRIAL_POT_1 },
+ { RC_GANONS_CASTLE_MQ_FIRE_TRIAL_POT_2, RAND_INF_GANONS_CASTLE_MQ_FIRE_TRIAL_POT_2 },
+ { RC_GANONS_CASTLE_MQ_LIGHT_TRIAL_POT_1, RAND_INF_GANONS_CASTLE_MQ_LIGHT_TRIAL_POT_1 },
+ { RC_GANONS_CASTLE_MQ_LIGHT_TRIAL_POT_2, RAND_INF_GANONS_CASTLE_MQ_LIGHT_TRIAL_POT_2 },
+ { RC_GANONS_CASTLE_MQ_SPIRIT_TRIAL_POT_1, RAND_INF_GANONS_CASTLE_MQ_SPIRIT_TRIAL_POT_1 },
+ { RC_GANONS_CASTLE_MQ_SPIRIT_TRIAL_POT_2, RAND_INF_GANONS_CASTLE_MQ_SPIRIT_TRIAL_POT_2 },
+ { RC_SHADOW_TEMPLE_MQ_WHISPERING_WALLS_POT_1, RAND_INF_SHADOW_TEMPLE_MQ_WHISPERING_WALLS_POT_1 },
+ { RC_SHADOW_TEMPLE_MQ_WHISPERING_WALLS_POT_2, RAND_INF_SHADOW_TEMPLE_MQ_WHISPERING_WALLS_POT_2 },
+ { RC_SHADOW_TEMPLE_MQ_ENTRANCE_REDEAD_POT_1, RAND_INF_SHADOW_TEMPLE_MQ_ENTRANCE_REDEAD_POT_1 },
+ { RC_SHADOW_TEMPLE_MQ_ENTRANCE_REDEAD_POT_2, RAND_INF_SHADOW_TEMPLE_MQ_ENTRANCE_REDEAD_POT_2 },
+ { RC_SHADOW_TEMPLE_MQ_FALLING_SPIKES_POT_1, RAND_INF_SHADOW_TEMPLE_MQ_FALLING_SPIKES_POT_1 },
+ { RC_SHADOW_TEMPLE_MQ_FALLING_SPIKES_POT_2, RAND_INF_SHADOW_TEMPLE_MQ_FALLING_SPIKES_POT_2 },
+ { RC_SHADOW_TEMPLE_MQ_FALLING_SPIKES_POT_3, RAND_INF_SHADOW_TEMPLE_MQ_FALLING_SPIKES_POT_3 },
+ { RC_SHADOW_TEMPLE_MQ_FALLING_SPIKES_POT_4, RAND_INF_SHADOW_TEMPLE_MQ_FALLING_SPIKES_POT_4 },
+ { RC_SHADOW_TEMPLE_MQ_BEFORE_BOAT_POT_1, RAND_INF_SHADOW_TEMPLE_MQ_BEFORE_BOAT_POT_1 },
+ { RC_SHADOW_TEMPLE_MQ_BEFORE_BOAT_POT_2, RAND_INF_SHADOW_TEMPLE_MQ_BEFORE_BOAT_POT_2 },
+ { RC_SHADOW_TEMPLE_MQ_AFTER_BOAT_POT_1, RAND_INF_SHADOW_TEMPLE_MQ_AFTER_BOAT_POT_1 },
+ { RC_SHADOW_TEMPLE_MQ_AFTER_BOAT_POT_2, RAND_INF_SHADOW_TEMPLE_MQ_AFTER_BOAT_POT_2 },
+ { RC_SHADOW_TEMPLE_MQ_AFTER_BOAT_POT_3, RAND_INF_SHADOW_TEMPLE_MQ_AFTER_BOAT_POT_3 },
+ { RC_SHADOW_TEMPLE_MQ_AFTER_BOAT_POT_4, RAND_INF_SHADOW_TEMPLE_MQ_AFTER_BOAT_POT_4 },
+ { RC_SHADOW_TEMPLE_MQ_SPIKE_BARICADE_POT, RAND_INF_SHADOW_TEMPLE_MQ_SPIKE_BARICADE_POT },
+ { RC_SHADOW_TEMPLE_MQ_DEAD_HAND_POT_1, RAND_INF_SHADOW_TEMPLE_MQ_DEAD_HAND_POT_1 },
+ { RC_SHADOW_TEMPLE_MQ_DEAD_HAND_POT_2, RAND_INF_SHADOW_TEMPLE_MQ_DEAD_HAND_POT_2 },
+ { RC_BOTTOM_OF_THE_WELL_MQ_INNER_LOBBY_POT_1, RAND_INF_BOTTOM_OF_THE_WELL_MQ_INNER_LOBBY_POT_1 },
+ { RC_BOTTOM_OF_THE_WELL_MQ_INNER_LOBBY_POT_2, RAND_INF_BOTTOM_OF_THE_WELL_MQ_INNER_LOBBY_POT_2 },
+ { RC_BOTTOM_OF_THE_WELL_MQ_INNER_LOBBY_POT_3, RAND_INF_BOTTOM_OF_THE_WELL_MQ_INNER_LOBBY_POT_3 },
+ { RC_BOTTOM_OF_THE_WELL_MQ_OUTER_LOBBY_POT, RAND_INF_BOTTOM_OF_THE_WELL_MQ_OUTER_LOBBY_POT },
+ { RC_BOTTOM_OF_THE_WELL_MQ_SOUTH_KEY_POT_1, RAND_INF_BOTTOM_OF_THE_WELL_MQ_SOUTH_KEY_POT_1 },
+ { RC_BOTTOM_OF_THE_WELL_MQ_SOUTH_KEY_POT_2, RAND_INF_BOTTOM_OF_THE_WELL_MQ_SOUTH_KEY_POT_2 },
+ { RC_BOTTOM_OF_THE_WELL_MQ_SOUTH_KEY_POT_3, RAND_INF_BOTTOM_OF_THE_WELL_MQ_SOUTH_KEY_POT_3 },
+ { RC_FIRE_TEMPLE_MQ_ENTRANCE_POT_1, RAND_INF_FIRE_TEMPLE_MQ_ENTRANCE_POT_1 },
+ { RC_FIRE_TEMPLE_MQ_ENTRANCE_POT_2, RAND_INF_FIRE_TEMPLE_MQ_ENTRANCE_POT_2 },
+ { RC_FIRE_TEMPLE_MQ_OUTSIDE_BOSS_POT_1, RAND_INF_FIRE_TEMPLE_MQ_OUTSIDE_BOSS_POT_1 },
+ { RC_FIRE_TEMPLE_MQ_OUTSIDE_BOSS_POT_2, RAND_INF_FIRE_TEMPLE_MQ_OUTSIDE_BOSS_POT_2 },
+ { RC_FIRE_TEMPLE_MQ_LAVA_POT_1, RAND_INF_FIRE_TEMPLE_MQ_LAVA_POT_1 },
+ { RC_FIRE_TEMPLE_MQ_LAVA_POT_2, RAND_INF_FIRE_TEMPLE_MQ_LAVA_POT_2 },
+ { RC_FIRE_TEMPLE_MQ_LAVA_POT_3, RAND_INF_FIRE_TEMPLE_MQ_LAVA_POT_3 },
+ { RC_FIRE_TEMPLE_MQ_LAVA_TORCH_POT_1, RAND_INF_FIRE_TEMPLE_MQ_LAVA_TORCH_POT_1 },
+ { RC_FIRE_TEMPLE_MQ_LAVA_TORCH_POT_2, RAND_INF_FIRE_TEMPLE_MQ_LAVA_TORCH_POT_2 },
+ { RC_FIRE_TEMPLE_MQ_ABOVE_LAVA_POT_1, RAND_INF_FIRE_TEMPLE_MQ_ABOVE_LAVA_POT_1 },
+ { RC_FIRE_TEMPLE_MQ_ABOVE_LAVA_POT_2, RAND_INF_FIRE_TEMPLE_MQ_ABOVE_LAVA_POT_2 },
+ { RC_FIRE_TEMPLE_MQ_ABOVE_LAVA_POT_3, RAND_INF_FIRE_TEMPLE_MQ_ABOVE_LAVA_POT_3 },
+ { RC_FIRE_TEMPLE_MQ_FLAME_WALL_POT_1, RAND_INF_FIRE_TEMPLE_MQ_FLAME_WALL_POT_1 },
+ { RC_FIRE_TEMPLE_MQ_FLAME_WALL_POT_2, RAND_INF_FIRE_TEMPLE_MQ_FLAME_WALL_POT_2 },
+ { RC_FIRE_TEMPLE_MQ_FIRE_MAZE_POT_1, RAND_INF_FIRE_TEMPLE_MQ_FIRE_MAZE_POT_1 },
+ { RC_FIRE_TEMPLE_MQ_FIRE_MAZE_POT_2, RAND_INF_FIRE_TEMPLE_MQ_FIRE_MAZE_POT_2 },
+ { RC_FIRE_TEMPLE_MQ_FIRE_MAZE_POT_3, RAND_INF_FIRE_TEMPLE_MQ_FIRE_MAZE_POT_3 },
+ { RC_FIRE_TEMPLE_MQ_FIRE_MAZE_POT_4, RAND_INF_FIRE_TEMPLE_MQ_FIRE_MAZE_POT_4 },
+ { RC_FIRE_TEMPLE_MQ_FIRE_MAZE_POT_5, RAND_INF_FIRE_TEMPLE_MQ_FIRE_MAZE_POT_5 },
+ { RC_FIRE_TEMPLE_MQ_FIRE_MAZE_POT_6, RAND_INF_FIRE_TEMPLE_MQ_FIRE_MAZE_POT_6 },
+ { RC_FIRE_TEMPLE_MQ_BEFORE_MINI_BOSS_POT_1, RAND_INF_FIRE_TEMPLE_MQ_BEFORE_MINI_BOSS_POT_1 },
+ { RC_FIRE_TEMPLE_MQ_BEFORE_MINI_BOSS_POT_2, RAND_INF_FIRE_TEMPLE_MQ_BEFORE_MINI_BOSS_POT_2 },
+ { RC_FIRE_TEMPLE_MQ_BEFORE_MINI_BOSS_POT_3, RAND_INF_FIRE_TEMPLE_MQ_BEFORE_MINI_BOSS_POT_3 },
+ { RC_FIRE_TEMPLE_MQ_BEFORE_MINI_BOSS_POT_4, RAND_INF_FIRE_TEMPLE_MQ_BEFORE_MINI_BOSS_POT_4 },
+ { RC_FIRE_TEMPLE_MQ_BEFORE_MINI_BOSS_POT_5, RAND_INF_FIRE_TEMPLE_MQ_BEFORE_MINI_BOSS_POT_5 },
+ { RC_FIRE_TEMPLE_MQ_BEFORE_MINI_BOSS_POT_6, RAND_INF_FIRE_TEMPLE_MQ_BEFORE_MINI_BOSS_POT_6 },
+ { RC_FIRE_TEMPLE_MQ_BEFORE_MINI_BOSS_POT_7, RAND_INF_FIRE_TEMPLE_MQ_BEFORE_MINI_BOSS_POT_7 },
+ { RC_FIRE_TEMPLE_MQ_BEFORE_MINI_BOSS_POT_8, RAND_INF_FIRE_TEMPLE_MQ_BEFORE_MINI_BOSS_POT_8 },
+ { RC_ICE_CAVERN_MQ_ENTRANCE_POT, RAND_INF_ICE_CAVERN_MQ_ENTRANCE_POT },
+ { RC_ICE_CAVERN_MQ_FIRST_CRYSTAL_POT_1, RAND_INF_ICE_CAVERN_MQ_FIRST_CRYSTAL_POT_1 },
+ { RC_ICE_CAVERN_MQ_FIRST_CRYSTAL_POT_2, RAND_INF_ICE_CAVERN_MQ_FIRST_CRYSTAL_POT_2 },
+ { RC_ICE_CAVERN_MQ_EARLY_WOLFOS_POT_1, RAND_INF_ICE_CAVERN_MQ_EARLY_WOLFOS_POT_1 },
+ { RC_ICE_CAVERN_MQ_EARLY_WOLFOS_POT_2, RAND_INF_ICE_CAVERN_MQ_EARLY_WOLFOS_POT_2 },
+ { RC_ICE_CAVERN_MQ_EARLY_WOLFOS_POT_3, RAND_INF_ICE_CAVERN_MQ_EARLY_WOLFOS_POT_3 },
+ { RC_ICE_CAVERN_MQ_EARLY_WOLFOS_POT_4, RAND_INF_ICE_CAVERN_MQ_EARLY_WOLFOS_POT_4 },
+ { RC_ICE_CAVERN_MQ_PUSH_BLOCK_POT_1, RAND_INF_ICE_CAVERN_MQ_PUSH_BLOCK_POT_1 },
+ { RC_ICE_CAVERN_MQ_PUSH_BLOCK_POT_2, RAND_INF_ICE_CAVERN_MQ_PUSH_BLOCK_POT_2 },
+ { RC_ICE_CAVERN_MQ_COMPASS_POT_1, RAND_INF_ICE_CAVERN_MQ_COMPASS_POT_1 },
+ { RC_ICE_CAVERN_MQ_COMPASS_POT_2, RAND_INF_ICE_CAVERN_MQ_COMPASS_POT_2 },
+ { RC_SPIRIT_TEMPLE_MQ_ENTRANCE_POT_1, RAND_INF_SPIRIT_TEMPLE_MQ_ENTRANCE_POT_1 },
+ { RC_SPIRIT_TEMPLE_MQ_ENTRANCE_POT_2, RAND_INF_SPIRIT_TEMPLE_MQ_ENTRANCE_POT_2 },
+ { RC_SPIRIT_TEMPLE_MQ_ENTRANCE_POT_3, RAND_INF_SPIRIT_TEMPLE_MQ_ENTRANCE_POT_3 },
+ { RC_SPIRIT_TEMPLE_MQ_ENTRANCE_POT_4, RAND_INF_SPIRIT_TEMPLE_MQ_ENTRANCE_POT_4 },
+ { RC_SPIRIT_TEMPLE_MQ_CHILD_SLUGMA_POT, RAND_INF_SPIRIT_TEMPLE_MQ_CHILD_SLUGMA_POT },
+ { RC_SPIRIT_TEMPLE_MQ_CHILD_GIBDO_POT_1, RAND_INF_SPIRIT_TEMPLE_MQ_CHILD_GIBDO_POT_1 },
+ { RC_SPIRIT_TEMPLE_MQ_CHILD_GIBDO_POT_2, RAND_INF_SPIRIT_TEMPLE_MQ_CHILD_GIBDO_POT_2 },
+ { RC_SPIRIT_TEMPLE_MQ_CHILD_LIKE_LIKE_POT, RAND_INF_SPIRIT_TEMPLE_MQ_CHILD_LIKE_LIKE_POT },
+ { RC_SPIRIT_TEMPLE_MQ_CHILD_STALFOS_POT_1, RAND_INF_SPIRIT_TEMPLE_MQ_CHILD_STALFOS_POT_1 },
+ { RC_SPIRIT_TEMPLE_MQ_CHILD_STALFOS_POT_2, RAND_INF_SPIRIT_TEMPLE_MQ_CHILD_STALFOS_POT_2 },
+ { RC_SPIRIT_TEMPLE_MQ_CHILD_STALFOS_POT_3, RAND_INF_SPIRIT_TEMPLE_MQ_CHILD_STALFOS_POT_3 },
+ { RC_SPIRIT_TEMPLE_MQ_CHILD_STALFOS_POT_4, RAND_INF_SPIRIT_TEMPLE_MQ_CHILD_STALFOS_POT_4 },
+ { RC_SPIRIT_TEMPLE_MQ_CENTRAL_CHAMBER_POT_1, RAND_INF_SPIRIT_TEMPLE_MQ_CENTRAL_CHAMBER_POT_1 },
+ { RC_SPIRIT_TEMPLE_MQ_CENTRAL_CHAMBER_POT_2, RAND_INF_SPIRIT_TEMPLE_MQ_CENTRAL_CHAMBER_POT_2 },
+ { RC_SPIRIT_TEMPLE_MQ_CENTRAL_CHAMBER_POT_3, RAND_INF_SPIRIT_TEMPLE_MQ_CENTRAL_CHAMBER_POT_3 },
+ { RC_SPIRIT_TEMPLE_MQ_CENTRAL_CHAMBER_POT_4, RAND_INF_SPIRIT_TEMPLE_MQ_CENTRAL_CHAMBER_POT_4 },
+ { RC_SPIRIT_TEMPLE_MQ_CENTRAL_CHAMBER_POT_5, RAND_INF_SPIRIT_TEMPLE_MQ_CENTRAL_CHAMBER_POT_5 },
+ { RC_SPIRIT_TEMPLE_MQ_SUN_BLOCKS_POT_1, RAND_INF_SPIRIT_TEMPLE_MQ_SUN_BLOCKS_POT_1 },
+ { RC_SPIRIT_TEMPLE_MQ_SUN_BLOCKS_POT_2, RAND_INF_SPIRIT_TEMPLE_MQ_SUN_BLOCKS_POT_2 },
+ { RC_SPIRIT_TEMPLE_MQ_LONG_CLIMB_POT_1, RAND_INF_SPIRIT_TEMPLE_MQ_LONG_CLIMB_POT_1 },
+ { RC_SPIRIT_TEMPLE_MQ_LONG_CLIMB_POT_2, RAND_INF_SPIRIT_TEMPLE_MQ_LONG_CLIMB_POT_2 },
+ { RC_SPIRIT_TEMPLE_MQ_BIG_MIRROR_POT_1, RAND_INF_SPIRIT_TEMPLE_MQ_BIG_MIRROR_POT_1 },
+ { RC_SPIRIT_TEMPLE_MQ_BIG_MIRROR_POT_2, RAND_INF_SPIRIT_TEMPLE_MQ_BIG_MIRROR_POT_2 },
+ { RC_SPIRIT_TEMPLE_MQ_BIG_MIRROR_POT_3, RAND_INF_SPIRIT_TEMPLE_MQ_BIG_MIRROR_POT_3 },
+ { RC_SPIRIT_TEMPLE_MQ_BIG_MIRROR_POT_4, RAND_INF_SPIRIT_TEMPLE_MQ_BIG_MIRROR_POT_4 },
+ { RC_SPIRIT_TEMPLE_MQ_BEFORE_MIRROR_POT_1, RAND_INF_SPIRIT_TEMPLE_MQ_BEFORE_MIRROR_POT_1 },
+ { RC_SPIRIT_TEMPLE_MQ_BEFORE_MIRROR_POT_2, RAND_INF_SPIRIT_TEMPLE_MQ_BEFORE_MIRROR_POT_2 },
+ { RC_SPIRIT_TEMPLE_MQ_EARLY_ADULT_POT_1, RAND_INF_SPIRIT_TEMPLE_MQ_EARLY_ADULT_POT_1 },
+ { RC_SPIRIT_TEMPLE_MQ_EARLY_ADULT_POT_2, RAND_INF_SPIRIT_TEMPLE_MQ_EARLY_ADULT_POT_2 },
+ { RC_WATER_TEMPLE_MQ_CENTRAL_GATE_POT_1, RAND_INF_WATER_TEMPLE_MQ_CENTRAL_GATE_POT_1 },
+ { RC_WATER_TEMPLE_MQ_CENTRAL_GATE_POT_2, RAND_INF_WATER_TEMPLE_MQ_CENTRAL_GATE_POT_2 },
+ { RC_WATER_TEMPLE_MQ_CENTRAL_GATE_POT_3, RAND_INF_WATER_TEMPLE_MQ_CENTRAL_GATE_POT_3 },
+ { RC_WATER_TEMPLE_MQ_CENTRAL_GATE_POT_4, RAND_INF_WATER_TEMPLE_MQ_CENTRAL_GATE_POT_4 },
+ { RC_WATER_TEMPLE_MQ_CENTRAL_GATE_POT_5, RAND_INF_WATER_TEMPLE_MQ_CENTRAL_GATE_POT_5 },
+ { RC_WATER_TEMPLE_MQ_STORAGE_ROOM_A_POT_1, RAND_INF_WATER_TEMPLE_MQ_STORAGE_ROOM_A_POT_1 },
+ { RC_WATER_TEMPLE_MQ_STORAGE_ROOM_A_POT_2, RAND_INF_WATER_TEMPLE_MQ_STORAGE_ROOM_A_POT_2 },
+ { RC_WATER_TEMPLE_MQ_STORAGE_ROOM_A_POT_3, RAND_INF_WATER_TEMPLE_MQ_STORAGE_ROOM_A_POT_3 },
+ { RC_WATER_TEMPLE_MQ_BEFORE_DARK_LINK_POT_1, RAND_INF_WATER_TEMPLE_MQ_BEFORE_DARK_LINK_POT_1 },
+ { RC_WATER_TEMPLE_MQ_BEFORE_DARK_LINK_POT_2, RAND_INF_WATER_TEMPLE_MQ_BEFORE_DARK_LINK_POT_2 },
+ { RC_WATER_TEMPLE_MQ_BEFORE_DARK_LINK_POT_3, RAND_INF_WATER_TEMPLE_MQ_BEFORE_DARK_LINK_POT_3 },
+ { RC_WATER_TEMPLE_MQ_BEFORE_DARK_LINK_POT_4, RAND_INF_WATER_TEMPLE_MQ_BEFORE_DARK_LINK_POT_4 },
+ { RC_WATER_TEMPLE_MQ_BEFORE_DARK_LINK_POT_5, RAND_INF_WATER_TEMPLE_MQ_BEFORE_DARK_LINK_POT_5 },
+ { RC_WATER_TEMPLE_MQ_AFTER_DARK_LINK_POT_1, RAND_INF_WATER_TEMPLE_MQ_AFTER_DARK_LINK_POT_1 },
+ { RC_WATER_TEMPLE_MQ_AFTER_DARK_LINK_POT_2, RAND_INF_WATER_TEMPLE_MQ_AFTER_DARK_LINK_POT_2 },
+ { RC_WATER_TEMPLE_MQ_RIVER_POT_1, RAND_INF_WATER_TEMPLE_MQ_RIVER_POT_1 },
+ { RC_WATER_TEMPLE_MQ_RIVER_POT_2, RAND_INF_WATER_TEMPLE_MQ_RIVER_POT_2 },
+ { RC_WATER_TEMPLE_MQ_MINI_DODONGO_POT_1, RAND_INF_WATER_TEMPLE_MQ_MINI_DODONGO_POT_1 },
+ { RC_WATER_TEMPLE_MQ_MINI_DODONGO_POT_2, RAND_INF_WATER_TEMPLE_MQ_MINI_DODONGO_POT_2 },
+ { RC_WATER_TEMPLE_MQ_STORAGE_ROOM_B_POT_1, RAND_INF_WATER_TEMPLE_MQ_STORAGE_ROOM_B_POT_1 },
+ { RC_WATER_TEMPLE_MQ_STORAGE_ROOM_B_POT_2, RAND_INF_WATER_TEMPLE_MQ_STORAGE_ROOM_B_POT_2 },
+ { RC_WATER_TEMPLE_MQ_GS_STORAGE_ROOM_POT_1, RAND_INF_WATER_TEMPLE_MQ_GS_STORAGE_ROOM_POT_1 },
+ { RC_WATER_TEMPLE_MQ_GS_STORAGE_ROOM_POT_2, RAND_INF_WATER_TEMPLE_MQ_GS_STORAGE_ROOM_POT_2 },
+ { RC_WATER_TEMPLE_MQ_GS_STORAGE_ROOM_POT_3, RAND_INF_WATER_TEMPLE_MQ_GS_STORAGE_ROOM_POT_3 },
+ { RC_WATER_TEMPLE_MQ_LOWER_TORCHES_POT_1, RAND_INF_WATER_TEMPLE_MQ_LOWER_TORCHES_POT_1 },
+ { RC_WATER_TEMPLE_MQ_LOWER_TORCHES_POT_2, RAND_INF_WATER_TEMPLE_MQ_LOWER_TORCHES_POT_2 },
+ { RC_WATER_TEMPLE_MQ_LOWEST_GS_POT_1, RAND_INF_WATER_TEMPLE_MQ_LOWEST_GS_POT_1 },
+ { RC_WATER_TEMPLE_MQ_LOWEST_GS_POT_2, RAND_INF_WATER_TEMPLE_MQ_LOWEST_GS_POT_2 },
+ { RC_WATER_TEMPLE_MQ_LOWEST_GS_POT_3, RAND_INF_WATER_TEMPLE_MQ_LOWEST_GS_POT_3 },
+ { RC_WATER_TEMPLE_MQ_LOWEST_GS_POT_4, RAND_INF_WATER_TEMPLE_MQ_LOWEST_GS_POT_4 },
+ { RC_WATER_TEMPLE_MQ_BOSS_KEY_POT, RAND_INF_WATER_TEMPLE_MQ_BOSS_KEY_POT },
+
{ RC_KF_STORMS_GROTTO_BEEHIVE_LEFT, RAND_INF_BEEHIVE_KF_STORMS_GROTTO_LEFT },
{ RC_KF_STORMS_GROTTO_BEEHIVE_RIGHT, RAND_INF_BEEHIVE_KF_STORMS_GROTTO_RIGHT },
{ RC_LW_NEAR_SHORTCUTS_GROTTO_BEEHIVE_LEFT, RAND_INF_BEEHIVE_LW_NEAR_SHORTCUTS_GROTTO_LEFT },
@@ -1698,6 +2236,29 @@ CowIdentity Randomizer::IdentifyCow(s32 sceneNum, s32 posX, s32 posZ) {
return cowIdentity;
}
+PotIdentity Randomizer::IdentifyPot(s32 sceneNum, s32 posX, s32 posZ) {
+ struct PotIdentity potIdentity;
+ uint32_t potSceneNum = sceneNum;
+
+ if (sceneNum == SCENE_GANONDORF_BOSS) {
+ potSceneNum = SCENE_GANONS_TOWER;
+ }
+
+ potIdentity.randomizerInf = RAND_INF_MAX;
+ potIdentity.randomizerCheck = RC_UNKNOWN_CHECK;
+
+ s32 actorParams = TWO_ACTOR_PARAMS(posX, posZ);
+
+ Rando::Location* location = GetCheckObjectFromActor(ACTOR_OBJ_TSUBO, potSceneNum, actorParams);
+
+ if (location->GetRandomizerCheck() != RC_UNKNOWN_CHECK) {
+ potIdentity.randomizerInf = rcToRandomizerInf[location->GetRandomizerCheck()];
+ potIdentity.randomizerCheck = location->GetRandomizerCheck();
+ }
+
+ return potIdentity;
+}
+
FishIdentity Randomizer::IdentifyFish(s32 sceneNum, s32 actorParams) {
struct FishIdentity fishIdentity;
diff --git a/soh/soh/Enhancements/randomizer/randomizer.h b/soh/soh/Enhancements/randomizer/randomizer.h
index 3e6df621335..26abb85415a 100644
--- a/soh/soh/Enhancements/randomizer/randomizer.h
+++ b/soh/soh/Enhancements/randomizer/randomizer.h
@@ -54,6 +54,7 @@ class Randomizer {
BeehiveIdentity IdentifyBeehive(s32 sceneNum, s16 xPosition, s32 respawnData);
ShopItemIdentity IdentifyShopItem(s32 sceneNum, u8 slotIndex);
CowIdentity IdentifyCow(s32 sceneNum, s32 posX, s32 posZ);
+ PotIdentity IdentifyPot(s32 sceneNum, s32 posX, s32 posZ);
FishIdentity IdentifyFish(s32 sceneNum, s32 actorParams);
GetItemEntry GetItemFromKnownCheck(RandomizerCheck randomizerCheck, GetItemID ogItemId, bool checkObtainability = true);
GetItemEntry GetItemFromActor(s16 actorId, s16 sceneNum, s16 actorParams, GetItemID ogItemId, bool checkObtainability = true);
diff --git a/soh/soh/Enhancements/randomizer/randomizerTypes.h b/soh/soh/Enhancements/randomizer/randomizerTypes.h
index 507ae5fec2b..240307261a0 100644
--- a/soh/soh/Enhancements/randomizer/randomizerTypes.h
+++ b/soh/soh/Enhancements/randomizer/randomizerTypes.h
@@ -6,6 +6,8 @@
#define MAX_TRICK_NAME_SIZE 50
+#define TWO_ACTOR_PARAMS(a, b) ((((a)&0xFFFF) << 16) | ((b)&0xFFFF))
+
// This should probably go in a less rando-specific location
// but the best location will probably be in the modding engine
// which doesn't exist yet.
@@ -270,6 +272,7 @@ typedef enum {
RCTYPE_GOSSIP_STONE, // RANDOTODO make these into event access
RCTYPE_SONG_LOCATION, // Song locations
RCTYPE_BOSS_HEART_OR_OTHER_REWARD, // Boss heart container or lesser dungeon rewards (lens, ice arrow)
+ RCTYPE_POT, // Shuffle Pots
RCTYPE_DUNGEON_REWARD, // Dungeon rewards (blue warps)
RCTYPE_OCARINA, // Ocarina locations
RCTYPE_BEEHIVE, // Beehives
@@ -1550,6 +1553,550 @@ typedef enum {
RC_GANONS_CASTLE_MQ_DEKU_SCRUB_CENTER_RIGHT,
RC_GANONS_CASTLE_MQ_DEKU_SCRUB_RIGHT,
RC_GANONS_TOWER_BOSS_KEY_CHEST,
+
+ // Overworld Pots
+ RC_KF_LINKS_HOUSE_POT,
+ RC_KF_TWINS_HOUSE_POT_1,
+ RC_KF_TWINS_HOUSE_POT_2,
+ RC_KF_BROTHERS_HOUSE_POT_1,
+ RC_KF_BROTHERS_HOUSE_POT_2,
+ RC_GF_BREAK_ROOM_POT_1,
+ RC_GF_BREAK_ROOM_POT_2,
+ RC_GF_KITCHEN_POT_1,
+ RC_GF_KITCHEN_POT_2,
+ RC_GF_NORTH_F1_CARPENTER_POT_1,
+ RC_GF_NORTH_F1_CARPENTER_POT_2,
+ RC_GF_NORTH_F1_CARPENTER_POT_3,
+ RC_GF_NORTH_F2_CARPENTER_POT_1,
+ RC_GF_NORTH_F2_CARPENTER_POT_2,
+ RC_GF_SOUTH_F1_CARPENTER_POT_1,
+ RC_GF_SOUTH_F1_CARPENTER_POT_2,
+ RC_GF_SOUTH_F1_CARPENTER_POT_3,
+ RC_GF_SOUTH_F1_CARPENTER_CELL_POT_1,
+ RC_GF_SOUTH_F1_CARPENTER_CELL_POT_2,
+ RC_GF_SOUTH_F1_CARPENTER_CELL_POT_3,
+ RC_GF_SOUTH_F1_CARPENTER_CELL_POT_4,
+ RC_WASTELAND_NEAR_GS_POT_1,
+ RC_WASTELAND_NEAR_GS_POT_2,
+ RC_WASTELAND_NEAR_GS_POT_3,
+ RC_WASTELAND_NEAR_GS_POT_4,
+ RC_HF_COW_GROTTO_POT_1,
+ RC_HF_COW_GROTTO_POT_2,
+ RC_MK_GUARD_HOUSE_CHILD_POT_1,
+ RC_MK_GUARD_HOUSE_CHILD_POT_2,
+ RC_MK_GUARD_HOUSE_CHILD_POT_3,
+ RC_MK_GUARD_HOUSE_CHILD_POT_4,
+ RC_MK_GUARD_HOUSE_CHILD_POT_5,
+ RC_MK_GUARD_HOUSE_CHILD_POT_6,
+ RC_MK_GUARD_HOUSE_CHILD_POT_7,
+ RC_MK_GUARD_HOUSE_CHILD_POT_8,
+ RC_MK_GUARD_HOUSE_CHILD_POT_9,
+ RC_MK_GUARD_HOUSE_CHILD_POT_10,
+ RC_MK_GUARD_HOUSE_CHILD_POT_11,
+ RC_MK_GUARD_HOUSE_CHILD_POT_12,
+ RC_MK_GUARD_HOUSE_CHILD_POT_13,
+ RC_MK_GUARD_HOUSE_CHILD_POT_14,
+ RC_MK_GUARD_HOUSE_CHILD_POT_15,
+ RC_MK_GUARD_HOUSE_CHILD_POT_16,
+ RC_MK_GUARD_HOUSE_CHILD_POT_17,
+ RC_MK_GUARD_HOUSE_CHILD_POT_18,
+ RC_MK_GUARD_HOUSE_CHILD_POT_19,
+ RC_MK_GUARD_HOUSE_CHILD_POT_20,
+ RC_MK_GUARD_HOUSE_CHILD_POT_21,
+ RC_MK_GUARD_HOUSE_CHILD_POT_22,
+ RC_MK_GUARD_HOUSE_CHILD_POT_23,
+ RC_MK_GUARD_HOUSE_CHILD_POT_24,
+ RC_MK_GUARD_HOUSE_CHILD_POT_25,
+ RC_MK_GUARD_HOUSE_CHILD_POT_26,
+ RC_MK_GUARD_HOUSE_CHILD_POT_27,
+ RC_MK_GUARD_HOUSE_CHILD_POT_28,
+ RC_MK_GUARD_HOUSE_CHILD_POT_29,
+ RC_MK_GUARD_HOUSE_CHILD_POT_30,
+ RC_MK_GUARD_HOUSE_CHILD_POT_31,
+ RC_MK_GUARD_HOUSE_CHILD_POT_32,
+ RC_MK_GUARD_HOUSE_CHILD_POT_33,
+ RC_MK_GUARD_HOUSE_CHILD_POT_34,
+ RC_MK_GUARD_HOUSE_CHILD_POT_35,
+ RC_MK_GUARD_HOUSE_CHILD_POT_36,
+ RC_MK_GUARD_HOUSE_CHILD_POT_37,
+ RC_MK_GUARD_HOUSE_CHILD_POT_38,
+ RC_MK_GUARD_HOUSE_CHILD_POT_39,
+ RC_MK_GUARD_HOUSE_CHILD_POT_40,
+ RC_MK_GUARD_HOUSE_CHILD_POT_41,
+ RC_MK_GUARD_HOUSE_CHILD_POT_42,
+ RC_MK_GUARD_HOUSE_CHILD_POT_43,
+ RC_MK_GUARD_HOUSE_CHILD_POT_44,
+ RC_MK_GUARD_HOUSE_ADULT_POT_1,
+ RC_MK_GUARD_HOUSE_ADULT_POT_2,
+ RC_MK_GUARD_HOUSE_ADULT_POT_3,
+ RC_MK_GUARD_HOUSE_ADULT_POT_4,
+ RC_MK_GUARD_HOUSE_ADULT_POT_5,
+ RC_MK_GUARD_HOUSE_ADULT_POT_6,
+ RC_MK_GUARD_HOUSE_ADULT_POT_7,
+ RC_MK_GUARD_HOUSE_ADULT_POT_8,
+ RC_MK_GUARD_HOUSE_ADULT_POT_9,
+ RC_MK_GUARD_HOUSE_ADULT_POT_10,
+ RC_MK_GUARD_HOUSE_ADULT_POT_11,
+ RC_MK_BACK_ALLEY_HOUSE_POT_1,
+ RC_MK_BACK_ALLEY_HOUSE_POT_2,
+ RC_MK_BACK_ALLEY_HOUSE_POT_3,
+ RC_HC_STORMS_GROTTO_POT_1,
+ RC_HC_STORMS_GROTTO_POT_2,
+ RC_HC_STORMS_GROTTO_POT_3,
+ RC_HC_STORMS_GROTTO_POT_4,
+ RC_LLR_FRONT_POT_1,
+ RC_LLR_FRONT_POT_2,
+ RC_LLR_FRONT_POT_3,
+ RC_LLR_FRONT_POT_4,
+ RC_LLR_RAIN_SHED_POT_1,
+ RC_LLR_RAIN_SHED_POT_2,
+ RC_LLR_RAIN_SHED_POT_3,
+ RC_LLR_TALONS_HOUSE_POT_1,
+ RC_LLR_TALONS_HOUSE_POT_2,
+ RC_LLR_TALONS_HOUSE_POT_3,
+ RC_KAK_NEAR_POTION_SHOP_POT_1,
+ RC_KAK_NEAR_POTION_SHOP_POT_2,
+ RC_KAK_NEAR_POTION_SHOP_POT_3,
+ RC_KAK_NEAR_IMPAS_HOUSE_POT_1,
+ RC_KAK_NEAR_IMPAS_HOUSE_POT_2,
+ RC_KAK_NEAR_IMPAS_HOUSE_POT_3,
+ RC_KAK_NEAR_GUARDS_HOUSE_POT_1,
+ RC_KAK_NEAR_GUARDS_HOUSE_POT_2,
+ RC_KAK_NEAR_GUARDS_HOUSE_POT_3,
+ RC_KAK_NEAR_MEDICINE_SHOP_POT_1,
+ RC_KAK_NEAR_MEDICINE_SHOP_POT_2,
+ RC_GY_DAMPES_GRAVE_POT_1,
+ RC_GY_DAMPES_GRAVE_POT_2,
+ RC_GY_DAMPES_GRAVE_POT_3,
+ RC_GY_DAMPES_GRAVE_POT_4,
+ RC_GY_DAMPES_GRAVE_POT_5,
+ RC_GY_DAMPES_GRAVE_POT_6,
+ RC_GC_LOWER_STAIRCASE_POT_1,
+ RC_GC_LOWER_STAIRCASE_POT_2,
+ RC_GC_UPPER_STAIRCASE_POT_1,
+ RC_GC_UPPER_STAIRCASE_POT_2,
+ RC_GC_UPPER_STAIRCASE_POT_3,
+ RC_GC_MEDIGORON_POT_1,
+ RC_GC_DARUNIA_POT_1,
+ RC_GC_DARUNIA_POT_2,
+ RC_GC_DARUNIA_POT_3,
+ RC_DMC_NEAR_GC_POT_1,
+ RC_DMC_NEAR_GC_POT_2,
+ RC_DMC_NEAR_GC_POT_3,
+ RC_DMC_NEAR_GC_POT_4,
+ RC_ZD_NEAR_SHOP_POT_1,
+ RC_ZD_NEAR_SHOP_POT_2,
+ RC_ZD_NEAR_SHOP_POT_3,
+ RC_ZD_NEAR_SHOP_POT_4,
+ RC_ZD_NEAR_SHOP_POT_5,
+ RC_ZF_HIDDEN_CAVE_POT_1,
+ RC_ZF_HIDDEN_CAVE_POT_2,
+ RC_ZF_HIDDEN_CAVE_POT_3,
+ RC_ZF_NEAR_JABU_POT_1,
+ RC_ZF_NEAR_JABU_POT_2,
+ RC_ZF_NEAR_JABU_POT_3,
+ RC_ZF_NEAR_JABU_POT_4,
+
+ // Dungeon Pots
+ RC_DODONGOS_CAVERN_LIZALFOS_POT_1,
+ RC_DODONGOS_CAVERN_LIZALFOS_POT_2,
+ RC_DODONGOS_CAVERN_LIZALFOS_POT_3,
+ RC_DODONGOS_CAVERN_LIZALFOS_POT_4,
+ RC_DODONGOS_CAVERN_SIDE_ROOM_POT_1,
+ RC_DODONGOS_CAVERN_SIDE_ROOM_POT_2,
+ RC_DODONGOS_CAVERN_SIDE_ROOM_POT_3,
+ RC_DODONGOS_CAVERN_SIDE_ROOM_POT_4,
+ RC_DODONGOS_CAVERN_SIDE_ROOM_POT_5,
+ RC_DODONGOS_CAVERN_SIDE_ROOM_POT_6,
+ RC_DODONGOS_CAVERN_TORCH_ROOM_POT_1,
+ RC_DODONGOS_CAVERN_TORCH_ROOM_POT_2,
+ RC_DODONGOS_CAVERN_TORCH_ROOM_POT_3,
+ RC_DODONGOS_CAVERN_TORCH_ROOM_POT_4,
+ RC_DODONGOS_CAVERN_STAIRCASE_POT_1,
+ RC_DODONGOS_CAVERN_STAIRCASE_POT_2,
+ RC_DODONGOS_CAVERN_STAIRCASE_POT_3,
+ RC_DODONGOS_CAVERN_STAIRCASE_POT_4,
+ RC_DODONGOS_CAVERN_SINGLE_EYE_POT_1,
+ RC_DODONGOS_CAVERN_SINGLE_EYE_POT_2,
+ RC_DODONGOS_CAVERN_BLADE_POT_1,
+ RC_DODONGOS_CAVERN_BLADE_POT_2,
+ RC_DODONGOS_CAVERN_DOUBLE_EYE_POT_1,
+ RC_DODONGOS_CAVERN_DOUBLE_EYE_POT_2,
+ RC_DODONGOS_CAVERN_BACK_ROOM_POT_1,
+ RC_DODONGOS_CAVERN_BACK_ROOM_POT_2,
+ RC_DODONGOS_CAVERN_BACK_ROOM_POT_3,
+ RC_DODONGOS_CAVERN_BACK_ROOM_POT_4,
+ RC_JABU_JABUS_BELLY_ABOVE_BIG_OCTO_POT_1,
+ RC_JABU_JABUS_BELLY_ABOVE_BIG_OCTO_POT_2,
+ RC_JABU_JABUS_BELLY_ABOVE_BIG_OCTO_POT_3,
+ RC_JABU_JABUS_BELLY_BARINADE_POT_1,
+ RC_JABU_JABUS_BELLY_BARINADE_POT_2,
+ RC_JABU_JABUS_BELLY_BARINADE_POT_3,
+ RC_JABU_JABUS_BELLY_BARINADE_POT_4,
+ RC_JABU_JABUS_BELLY_BARINADE_POT_5,
+ RC_JABU_JABUS_BELLY_BARINADE_POT_6,
+ RC_JABU_JABUS_BELLY_BASEMENT_POT_1,
+ RC_JABU_JABUS_BELLY_BASEMENT_POT_2,
+ RC_JABU_JABUS_BELLY_BASEMENT_POT_3,
+ RC_JABU_JABUS_BELLY_TWO_OCTOROK_POT_1,
+ RC_JABU_JABUS_BELLY_TWO_OCTOROK_POT_2,
+ RC_JABU_JABUS_BELLY_TWO_OCTOROK_POT_3,
+ RC_JABU_JABUS_BELLY_TWO_OCTOROK_POT_4,
+ RC_JABU_JABUS_BELLY_TWO_OCTOROK_POT_5,
+ RC_BOTTOM_OF_THE_WELL_BASEMENT_POT_1,
+ RC_BOTTOM_OF_THE_WELL_BASEMENT_POT_2,
+ RC_BOTTOM_OF_THE_WELL_BASEMENT_POT_3,
+ RC_BOTTOM_OF_THE_WELL_BASEMENT_POT_4,
+ RC_BOTTOM_OF_THE_WELL_BASEMENT_POT_5,
+ RC_BOTTOM_OF_THE_WELL_BASEMENT_POT_6,
+ RC_BOTTOM_OF_THE_WELL_BASEMENT_POT_7,
+ RC_BOTTOM_OF_THE_WELL_BASEMENT_POT_8,
+ RC_BOTTOM_OF_THE_WELL_BASEMENT_POT_9,
+ RC_BOTTOM_OF_THE_WELL_BASEMENT_POT_10,
+ RC_BOTTOM_OF_THE_WELL_BASEMENT_POT_11,
+ RC_BOTTOM_OF_THE_WELL_BASEMENT_POT_12,
+ RC_BOTTOM_OF_THE_WELL_LEFT_SIDE_POT_1,
+ RC_BOTTOM_OF_THE_WELL_LEFT_SIDE_POT_2,
+ RC_BOTTOM_OF_THE_WELL_LEFT_SIDE_POT_3,
+ RC_BOTTOM_OF_THE_WELL_NEAR_ENTRANCE_POT_1,
+ RC_BOTTOM_OF_THE_WELL_NEAR_ENTRANCE_POT_2,
+ RC_BOTTOM_OF_THE_WELL_FIRE_KEESE_POT_1,
+ RC_BOTTOM_OF_THE_WELL_UNDERWATER_POT,
+ RC_FOREST_TEMPLE_LOBBY_POT_1,
+ RC_FOREST_TEMPLE_LOBBY_POT_2,
+ RC_FOREST_TEMPLE_LOBBY_POT_3,
+ RC_FOREST_TEMPLE_LOBBY_POT_4,
+ RC_FOREST_TEMPLE_LOBBY_POT_5,
+ RC_FOREST_TEMPLE_LOBBY_POT_6,
+ RC_FOREST_TEMPLE_LOWER_STALFOS_POT_1,
+ RC_FOREST_TEMPLE_LOWER_STALFOS_POT_2,
+ RC_FOREST_TEMPLE_GREEN_POE_POT_1,
+ RC_FOREST_TEMPLE_GREEN_POE_POT_2,
+ RC_FOREST_TEMPLE_UPPER_STALFOS_POT_1,
+ RC_FOREST_TEMPLE_UPPER_STALFOS_POT_2,
+ RC_FOREST_TEMPLE_UPPER_STALFOS_POT_3,
+ RC_FOREST_TEMPLE_UPPER_STALFOS_POT_4,
+ RC_FOREST_TEMPLE_BLUE_POE_POT_1,
+ RC_FOREST_TEMPLE_BLUE_POE_POT_2,
+ RC_FOREST_TEMPLE_BLUE_POE_POT_3,
+ RC_FOREST_TEMPLE_FROZEN_EYE_POT_1,
+ RC_FOREST_TEMPLE_FROZEN_EYE_POT_2,
+ RC_FIRE_TEMPLE_NEAR_BOSS_POT_1,
+ RC_FIRE_TEMPLE_NEAR_BOSS_POT_2,
+ RC_FIRE_TEMPLE_NEAR_BOSS_POT_3,
+ RC_FIRE_TEMPLE_NEAR_BOSS_POT_4,
+ RC_FIRE_TEMPLE_BIG_LAVA_POT_1,
+ RC_FIRE_TEMPLE_BIG_LAVA_POT_2,
+ RC_FIRE_TEMPLE_BIG_LAVA_POT_3,
+ RC_FIRE_TEMPLE_FLAME_MAZE_LEFT_POT_1,
+ RC_FIRE_TEMPLE_FLAME_MAZE_LEFT_POT_2,
+ RC_FIRE_TEMPLE_FLAME_MAZE_LEFT_POT_3,
+ RC_FIRE_TEMPLE_FLAME_MAZE_LEFT_POT_4,
+ RC_FIRE_TEMPLE_FLAME_MAZE_RIGHT_POT_1,
+ RC_FIRE_TEMPLE_FLAME_MAZE_RIGHT_POT_2,
+ RC_FIRE_TEMPLE_FLAME_MAZE_RIGHT_POT_3,
+ RC_FIRE_TEMPLE_FLAME_MAZE_RIGHT_POT_4,
+ RC_WATER_TEMPLE_MAIN_LEVEL_2_POT_1,
+ RC_WATER_TEMPLE_MAIN_LEVEL_2_POT_2,
+ RC_WATER_TEMPLE_MAIN_LEVEL_1_POT_1,
+ RC_WATER_TEMPLE_MAIN_LEVEL_1_POT_2,
+ RC_WATER_TEMPLE_TORCH_POT_1,
+ RC_WATER_TEMPLE_TORCH_POT_2,
+ RC_WATER_TEMPLE_NEAR_COMPASS_POT_1,
+ RC_WATER_TEMPLE_NEAR_COMPASS_POT_2,
+ RC_WATER_TEMPLE_NEAR_COMPASS_POT_3,
+ RC_WATER_TEMPLE_CENTRAL_BOW_POT_1,
+ RC_WATER_TEMPLE_CENTRAL_BOW_POT_2,
+ RC_WATER_TEMPLE_BEHIND_GATE_POT_1,
+ RC_WATER_TEMPLE_BEHIND_GATE_POT_2,
+ RC_WATER_TEMPLE_BEHIND_GATE_POT_3,
+ RC_WATER_TEMPLE_BEHIND_GATE_POT_4,
+ RC_WATER_TEMPLE_BASEMENT_BLOCK_PUZZLE_POT_1,
+ RC_WATER_TEMPLE_BASEMENT_BLOCK_PUZZLE_POT_2,
+ RC_WATER_TEMPLE_RIVER_POT_1,
+ RC_WATER_TEMPLE_RIVER_POT_2,
+ RC_WATER_TEMPLE_LIKE_LIKE_POT_1,
+ RC_WATER_TEMPLE_LIKE_LIKE_POT_2,
+ RC_WATER_TEMPLE_BOSS_KEY_POT_1,
+ RC_WATER_TEMPLE_BOSS_KEY_POT_2,
+ RC_SHADOW_TEMPLE_NEAR_DEAD_HAND_POT_1,
+ RC_SHADOW_TEMPLE_WHISPERING_WALLS_POT_1,
+ RC_SHADOW_TEMPLE_WHISPERING_WALLS_POT_2,
+ RC_SHADOW_TEMPLE_WHISPERING_WALLS_POT_3,
+ RC_SHADOW_TEMPLE_WHISPERING_WALLS_POT_4,
+ RC_SHADOW_TEMPLE_WHISPERING_WALLS_POT_5,
+ RC_SHADOW_TEMPLE_MAP_CHEST_POT_1,
+ RC_SHADOW_TEMPLE_MAP_CHEST_POT_2,
+ RC_SHADOW_TEMPLE_FALLING_SPIKES_POT_1,
+ RC_SHADOW_TEMPLE_FALLING_SPIKES_POT_2,
+ RC_SHADOW_TEMPLE_FALLING_SPIKES_POT_3,
+ RC_SHADOW_TEMPLE_FALLING_SPIKES_POT_4,
+ RC_SHADOW_TEMPLE_AFTER_WIND_POT_1,
+ RC_SHADOW_TEMPLE_AFTER_WIND_POT_2,
+ RC_SHADOW_TEMPLE_SPIKE_WALLS_POT_1,
+ RC_SHADOW_TEMPLE_FLOORMASTER_POT_1,
+ RC_SHADOW_TEMPLE_FLOORMASTER_POT_2,
+ RC_SHADOW_TEMPLE_AFTER_BOAT_POT_1,
+ RC_SHADOW_TEMPLE_AFTER_BOAT_POT_2,
+ RC_SHADOW_TEMPLE_AFTER_BOAT_POT_3,
+ RC_SHADOW_TEMPLE_AFTER_BOAT_POT_4,
+ RC_SPIRIT_TEMPLE_LOBBY_POT_1,
+ RC_SPIRIT_TEMPLE_LOBBY_POT_2,
+ RC_SPIRIT_TEMPLE_ANUBIS_POT_1,
+ RC_SPIRIT_TEMPLE_ANUBIS_POT_2,
+ RC_SPIRIT_TEMPLE_ANUBIS_POT_3,
+ RC_SPIRIT_TEMPLE_ANUBIS_POT_4,
+ RC_SPIRIT_TEMPLE_CHILD_CLIMB_POT_1,
+ RC_SPIRIT_TEMPLE_AFTER_SUN_BLOCK_POT_1,
+ RC_SPIRIT_TEMPLE_AFTER_SUN_BLOCK_POT_2,
+ RC_SPIRIT_TEMPLE_CENTRAL_CHAMBER_POT_1,
+ RC_SPIRIT_TEMPLE_CENTRAL_CHAMBER_POT_2,
+ RC_SPIRIT_TEMPLE_CENTRAL_CHAMBER_POT_3,
+ RC_SPIRIT_TEMPLE_CENTRAL_CHAMBER_POT_4,
+ RC_SPIRIT_TEMPLE_CENTRAL_CHAMBER_POT_5,
+ RC_SPIRIT_TEMPLE_CENTRAL_CHAMBER_POT_6,
+ RC_SPIRIT_TEMPLE_BEAMOS_HALL_POT_1,
+ RC_ICE_CAVERN_HALL_POT_1,
+ RC_ICE_CAVERN_HALL_POT_2,
+ RC_ICE_CAVERN_SPINNING_BLADE_POT_1,
+ RC_ICE_CAVERN_SPINNING_BLADE_POT_2,
+ RC_ICE_CAVERN_SPINNING_BLADE_POT_3,
+ RC_ICE_CAVERN_NEAR_END_POT_1,
+ RC_ICE_CAVERN_NEAR_END_POT_2,
+ RC_ICE_CAVERN_FROZEN_POT_1,
+ RC_GANONS_CASTLE_FOREST_TRIAL_POT_1,
+ RC_GANONS_CASTLE_FOREST_TRIAL_POT_2,
+ RC_GANONS_CASTLE_FIRE_TRIAL_POT_1,
+ RC_GANONS_CASTLE_FIRE_TRIAL_POT_2,
+ RC_GANONS_CASTLE_WATER_TRIAL_POT_1,
+ RC_GANONS_CASTLE_WATER_TRIAL_POT_2,
+ RC_GANONS_CASTLE_WATER_TRIAL_POT_3,
+ RC_GANONS_CASTLE_SHADOW_TRIAL_POT_1,
+ RC_GANONS_CASTLE_SHADOW_TRIAL_POT_2,
+ RC_GANONS_CASTLE_SHADOW_TRIAL_POT_3,
+ RC_GANONS_CASTLE_SHADOW_TRIAL_POT_4,
+ RC_GANONS_CASTLE_SPIRIT_TRIAL_POT_1,
+ RC_GANONS_CASTLE_SPIRIT_TRIAL_POT_2,
+ RC_GANONS_CASTLE_LIGHT_TRIAL_BOULDER_POT_1,
+ RC_GANONS_CASTLE_LIGHT_TRIAL_POT_1,
+ RC_GANONS_CASTLE_LIGHT_TRIAL_POT_2,
+ RC_GANONS_CASTLE_GANONS_TOWER_POT_1,
+ RC_GANONS_CASTLE_GANONS_TOWER_POT_2,
+ RC_GANONS_CASTLE_GANONS_TOWER_POT_3,
+ RC_GANONS_CASTLE_GANONS_TOWER_POT_4,
+ RC_GANONS_CASTLE_GANONS_TOWER_POT_5,
+ RC_GANONS_CASTLE_GANONS_TOWER_POT_6,
+ RC_GANONS_CASTLE_GANONS_TOWER_POT_7,
+ RC_GANONS_CASTLE_GANONS_TOWER_POT_8,
+ RC_GANONS_CASTLE_GANONS_TOWER_POT_9,
+ RC_GANONS_CASTLE_GANONS_TOWER_POT_10,
+ RC_GANONS_CASTLE_GANONS_TOWER_POT_11,
+ RC_GANONS_CASTLE_GANONS_TOWER_POT_12,
+ RC_GANONS_CASTLE_GANONS_TOWER_POT_13,
+ RC_GANONS_CASTLE_GANONS_TOWER_POT_14,
+ RC_GANONS_CASTLE_GANONS_TOWER_POT_15,
+ RC_GANONS_CASTLE_GANONS_TOWER_POT_16,
+ RC_GANONS_CASTLE_GANONS_TOWER_POT_17,
+ RC_GANONS_CASTLE_GANONS_TOWER_POT_18,
+
+ // MQ Dungeon Pots
+ RC_DODONGOS_CAVERN_MQ_RIGHT_SIDE_POT_1,
+ RC_DODONGOS_CAVERN_MQ_RIGHT_SIDE_POT_2,
+ RC_DODONGOS_CAVERN_MQ_RIGHT_SIDE_POT_3,
+ RC_DODONGOS_CAVERN_MQ_RIGHT_SIDE_POT_4,
+ RC_DODONGOS_CAVERN_MQ_UPPER_LIZALFOS_POT_1,
+ RC_DODONGOS_CAVERN_MQ_UPPER_LIZALFOS_POT_2,
+ RC_DODONGOS_CAVERN_MQ_UPPER_LIZALFOS_POT_3,
+ RC_DODONGOS_CAVERN_MQ_UPPER_LIZALFOS_POT_4,
+ RC_DODONGOS_CAVERN_MQ_POE_ROOM_POT_1,
+ RC_DODONGOS_CAVERN_MQ_POE_ROOM_POT_2,
+ RC_DODONGOS_CAVERN_MQ_POE_ROOM_POT_3,
+ RC_DODONGOS_CAVERN_MQ_POE_ROOM_POT_4,
+ RC_DODONGOS_CAVERN_MQ_BLOCK_ROOM_POT_1,
+ RC_DODONGOS_CAVERN_MQ_BLOCK_ROOM_POT_2,
+ RC_DODONGOS_CAVERN_MQ_TWO_FLAMES_POT_1,
+ RC_DODONGOS_CAVERN_MQ_TWO_FLAMES_POT_2,
+ RC_DODONGOS_CAVERN_MQ_SILVER_BLOCK_POT_1,
+ RC_DODONGOS_CAVERN_MQ_SILVER_BLOCK_POT_2,
+ RC_DODONGOS_CAVERN_MQ_STAIRCASE_POT_1,
+ RC_DODONGOS_CAVERN_MQ_STAIRCASE_POT_2,
+ RC_DODONGOS_CAVERN_MQ_STAIRCASE_POT_3,
+ RC_DODONGOS_CAVERN_MQ_STAIRCASE_POT_4,
+ RC_DODONGOS_CAVERN_MQ_ARMOS_POT_1,
+ RC_DODONGOS_CAVERN_MQ_ARMOS_POT_2,
+ RC_DODONGOS_CAVERN_MQ_ARMOS_POT_3,
+ RC_DODONGOS_CAVERN_MQ_ARMOS_POT_4,
+ RC_DODONGOS_CAVERN_MQ_BEFORE_BOSS_POT_1,
+ RC_DODONGOS_CAVERN_MQ_BEFORE_BOSS_POT_2,
+ RC_DODONGOS_CAVERN_MQ_BACKROOM_POT_1,
+ RC_DODONGOS_CAVERN_MQ_BACKROOM_POT_2,
+ RC_JABU_JABUS_BELLY_MQ_ENTRANCE_POT_1,
+ RC_JABU_JABUS_BELLY_MQ_ENTRANCE_POT_2,
+ RC_JABU_JABUS_BELLY_MQ_GEYSER_POT_1,
+ RC_JABU_JABUS_BELLY_MQ_GEYSER_POT_2,
+ RC_JABU_JABUS_BELLY_MQ_TIME_BLOCK_POT_1,
+ RC_JABU_JABUS_BELLY_MQ_TIME_BLOCK_POT_2,
+ RC_JABU_JABUS_BELLY_MQ_LIKE_LIKES_POT_1,
+ RC_JABU_JABUS_BELLY_MQ_LIKE_LIKES_POT_2,
+ RC_JABU_JABUS_BELLY_MQ_BEFORE_BOSS_POT_1,
+ RC_BOTTOM_OF_THE_WELL_MQ_INNER_LOBBY_POT_1,
+ RC_BOTTOM_OF_THE_WELL_MQ_INNER_LOBBY_POT_2,
+ RC_BOTTOM_OF_THE_WELL_MQ_INNER_LOBBY_POT_3,
+ RC_BOTTOM_OF_THE_WELL_MQ_OUTER_LOBBY_POT,
+ RC_BOTTOM_OF_THE_WELL_MQ_SOUTH_KEY_POT_1,
+ RC_BOTTOM_OF_THE_WELL_MQ_SOUTH_KEY_POT_2,
+ RC_BOTTOM_OF_THE_WELL_MQ_SOUTH_KEY_POT_3,
+ RC_FOREST_TEMPLE_MQ_LOBBY_POT_1,
+ RC_FOREST_TEMPLE_MQ_LOBBY_POT_2,
+ RC_FOREST_TEMPLE_MQ_LOBBY_POT_3,
+ RC_FOREST_TEMPLE_MQ_LOBBY_POT_4,
+ RC_FOREST_TEMPLE_MQ_LOBBY_POT_5,
+ RC_FOREST_TEMPLE_MQ_LOBBY_POT_6,
+ RC_FOREST_TEMPLE_MQ_LOWER_STALFOS_POT_1,
+ RC_FOREST_TEMPLE_MQ_LOWER_STALFOS_POT_2,
+ RC_FOREST_TEMPLE_MQ_UPPER_STALFOS_POT_1,
+ RC_FOREST_TEMPLE_MQ_UPPER_STALFOS_POT_2,
+ RC_FOREST_TEMPLE_MQ_UPPER_STALFOS_POT_3,
+ RC_FOREST_TEMPLE_MQ_UPPER_STALFOS_POT_4,
+ RC_FOREST_TEMPLE_MQ_BLUE_POE_POT_1,
+ RC_FOREST_TEMPLE_MQ_BLUE_POE_POT_2,
+ RC_FOREST_TEMPLE_MQ_BLUE_POE_POT_3,
+ RC_FOREST_TEMPLE_MQ_GREEN_POE_POT_1,
+ RC_FOREST_TEMPLE_MQ_GREEN_POE_POT_2,
+ RC_FOREST_TEMPLE_MQ_BASEMENT_POT_1,
+ RC_FOREST_TEMPLE_MQ_BASEMENT_POT_2,
+ RC_FOREST_TEMPLE_MQ_BASEMENT_POT_3,
+ RC_FOREST_TEMPLE_MQ_BASEMENT_POT_4,
+ RC_FIRE_TEMPLE_MQ_ENTRANCE_POT_1,
+ RC_FIRE_TEMPLE_MQ_ENTRANCE_POT_2,
+ RC_FIRE_TEMPLE_MQ_OUTSIDE_BOSS_POT_1,
+ RC_FIRE_TEMPLE_MQ_OUTSIDE_BOSS_POT_2,
+ RC_FIRE_TEMPLE_MQ_LAVA_POT_1,
+ RC_FIRE_TEMPLE_MQ_LAVA_POT_2,
+ RC_FIRE_TEMPLE_MQ_LAVA_POT_3,
+ RC_FIRE_TEMPLE_MQ_LAVA_TORCH_POT_1,
+ RC_FIRE_TEMPLE_MQ_LAVA_TORCH_POT_2,
+ RC_FIRE_TEMPLE_MQ_ABOVE_LAVA_POT_1,
+ RC_FIRE_TEMPLE_MQ_ABOVE_LAVA_POT_2,
+ RC_FIRE_TEMPLE_MQ_ABOVE_LAVA_POT_3,
+ RC_FIRE_TEMPLE_MQ_FLAME_WALL_POT_1,
+ RC_FIRE_TEMPLE_MQ_FLAME_WALL_POT_2,
+ RC_FIRE_TEMPLE_MQ_FIRE_MAZE_POT_1,
+ RC_FIRE_TEMPLE_MQ_FIRE_MAZE_POT_2,
+ RC_FIRE_TEMPLE_MQ_FIRE_MAZE_POT_3,
+ RC_FIRE_TEMPLE_MQ_FIRE_MAZE_POT_4,
+ RC_FIRE_TEMPLE_MQ_FIRE_MAZE_POT_5,
+ RC_FIRE_TEMPLE_MQ_FIRE_MAZE_POT_6,
+ RC_FIRE_TEMPLE_MQ_BEFORE_MINI_BOSS_POT_1,
+ RC_FIRE_TEMPLE_MQ_BEFORE_MINI_BOSS_POT_2,
+ RC_FIRE_TEMPLE_MQ_BEFORE_MINI_BOSS_POT_3,
+ RC_FIRE_TEMPLE_MQ_BEFORE_MINI_BOSS_POT_4,
+ RC_FIRE_TEMPLE_MQ_BEFORE_MINI_BOSS_POT_5,
+ RC_FIRE_TEMPLE_MQ_BEFORE_MINI_BOSS_POT_6,
+ RC_FIRE_TEMPLE_MQ_BEFORE_MINI_BOSS_POT_7,
+ RC_FIRE_TEMPLE_MQ_BEFORE_MINI_BOSS_POT_8,
+ RC_WATER_TEMPLE_MQ_CENTRAL_GATE_POT_1,
+ RC_WATER_TEMPLE_MQ_CENTRAL_GATE_POT_2,
+ RC_WATER_TEMPLE_MQ_CENTRAL_GATE_POT_3,
+ RC_WATER_TEMPLE_MQ_CENTRAL_GATE_POT_4,
+ RC_WATER_TEMPLE_MQ_CENTRAL_GATE_POT_5,
+ RC_WATER_TEMPLE_MQ_STORAGE_ROOM_A_POT_1,
+ RC_WATER_TEMPLE_MQ_STORAGE_ROOM_A_POT_2,
+ RC_WATER_TEMPLE_MQ_STORAGE_ROOM_A_POT_3,
+ RC_WATER_TEMPLE_MQ_BEFORE_DARK_LINK_POT_1,
+ RC_WATER_TEMPLE_MQ_BEFORE_DARK_LINK_POT_2,
+ RC_WATER_TEMPLE_MQ_BEFORE_DARK_LINK_POT_3,
+ RC_WATER_TEMPLE_MQ_BEFORE_DARK_LINK_POT_4,
+ RC_WATER_TEMPLE_MQ_BEFORE_DARK_LINK_POT_5,
+ RC_WATER_TEMPLE_MQ_AFTER_DARK_LINK_POT_1,
+ RC_WATER_TEMPLE_MQ_AFTER_DARK_LINK_POT_2,
+ RC_WATER_TEMPLE_MQ_RIVER_POT_1,
+ RC_WATER_TEMPLE_MQ_RIVER_POT_2,
+ RC_WATER_TEMPLE_MQ_MINI_DODONGO_POT_1,
+ RC_WATER_TEMPLE_MQ_MINI_DODONGO_POT_2,
+ RC_WATER_TEMPLE_MQ_STORAGE_ROOM_B_POT_1,
+ RC_WATER_TEMPLE_MQ_STORAGE_ROOM_B_POT_2,
+ RC_WATER_TEMPLE_MQ_GS_STORAGE_ROOM_POT_1,
+ RC_WATER_TEMPLE_MQ_GS_STORAGE_ROOM_POT_2,
+ RC_WATER_TEMPLE_MQ_GS_STORAGE_ROOM_POT_3,
+ RC_WATER_TEMPLE_MQ_LOWER_TORCHES_POT_1,
+ RC_WATER_TEMPLE_MQ_LOWER_TORCHES_POT_2,
+ RC_WATER_TEMPLE_MQ_LOWEST_GS_POT_1,
+ RC_WATER_TEMPLE_MQ_LOWEST_GS_POT_2,
+ RC_WATER_TEMPLE_MQ_LOWEST_GS_POT_3,
+ RC_WATER_TEMPLE_MQ_LOWEST_GS_POT_4,
+ RC_WATER_TEMPLE_MQ_BOSS_KEY_POT,
+ RC_SHADOW_TEMPLE_MQ_WHISPERING_WALLS_POT_1,
+ RC_SHADOW_TEMPLE_MQ_WHISPERING_WALLS_POT_2,
+ RC_SHADOW_TEMPLE_MQ_ENTRANCE_REDEAD_POT_1,
+ RC_SHADOW_TEMPLE_MQ_ENTRANCE_REDEAD_POT_2,
+ RC_SHADOW_TEMPLE_MQ_FALLING_SPIKES_POT_1,
+ RC_SHADOW_TEMPLE_MQ_FALLING_SPIKES_POT_2,
+ RC_SHADOW_TEMPLE_MQ_FALLING_SPIKES_POT_3,
+ RC_SHADOW_TEMPLE_MQ_FALLING_SPIKES_POT_4,
+ RC_SHADOW_TEMPLE_MQ_BEFORE_BOAT_POT_1,
+ RC_SHADOW_TEMPLE_MQ_BEFORE_BOAT_POT_2,
+ RC_SHADOW_TEMPLE_MQ_AFTER_BOAT_POT_1,
+ RC_SHADOW_TEMPLE_MQ_AFTER_BOAT_POT_2,
+ RC_SHADOW_TEMPLE_MQ_AFTER_BOAT_POT_3,
+ RC_SHADOW_TEMPLE_MQ_AFTER_BOAT_POT_4,
+ RC_SHADOW_TEMPLE_MQ_SPIKE_BARICADE_POT,
+ RC_SHADOW_TEMPLE_MQ_DEAD_HAND_POT_1,
+ RC_SHADOW_TEMPLE_MQ_DEAD_HAND_POT_2,
+ RC_SPIRIT_TEMPLE_MQ_ENTRANCE_POT_1,
+ RC_SPIRIT_TEMPLE_MQ_ENTRANCE_POT_2,
+ RC_SPIRIT_TEMPLE_MQ_ENTRANCE_POT_3,
+ RC_SPIRIT_TEMPLE_MQ_ENTRANCE_POT_4,
+ RC_SPIRIT_TEMPLE_MQ_CHILD_SLUGMA_POT,
+ RC_SPIRIT_TEMPLE_MQ_CHILD_GIBDO_POT_1,
+ RC_SPIRIT_TEMPLE_MQ_CHILD_GIBDO_POT_2,
+ RC_SPIRIT_TEMPLE_MQ_CHILD_LIKE_LIKE_POT,
+ RC_SPIRIT_TEMPLE_MQ_CHILD_STALFOS_POT_1,
+ RC_SPIRIT_TEMPLE_MQ_CHILD_STALFOS_POT_2,
+ RC_SPIRIT_TEMPLE_MQ_CHILD_STALFOS_POT_3,
+ RC_SPIRIT_TEMPLE_MQ_CHILD_STALFOS_POT_4,
+ RC_SPIRIT_TEMPLE_MQ_CENTRAL_CHAMBER_POT_1,
+ RC_SPIRIT_TEMPLE_MQ_CENTRAL_CHAMBER_POT_2,
+ RC_SPIRIT_TEMPLE_MQ_CENTRAL_CHAMBER_POT_3,
+ RC_SPIRIT_TEMPLE_MQ_CENTRAL_CHAMBER_POT_4,
+ RC_SPIRIT_TEMPLE_MQ_CENTRAL_CHAMBER_POT_5,
+ RC_SPIRIT_TEMPLE_MQ_SUN_BLOCKS_POT_1,
+ RC_SPIRIT_TEMPLE_MQ_SUN_BLOCKS_POT_2,
+ RC_SPIRIT_TEMPLE_MQ_LONG_CLIMB_POT_1,
+ RC_SPIRIT_TEMPLE_MQ_LONG_CLIMB_POT_2,
+ RC_SPIRIT_TEMPLE_MQ_BIG_MIRROR_POT_1,
+ RC_SPIRIT_TEMPLE_MQ_BIG_MIRROR_POT_2,
+ RC_SPIRIT_TEMPLE_MQ_BIG_MIRROR_POT_3,
+ RC_SPIRIT_TEMPLE_MQ_BIG_MIRROR_POT_4,
+ RC_SPIRIT_TEMPLE_MQ_BEFORE_MIRROR_POT_1,
+ RC_SPIRIT_TEMPLE_MQ_BEFORE_MIRROR_POT_2,
+ RC_SPIRIT_TEMPLE_MQ_EARLY_ADULT_POT_1,
+ RC_SPIRIT_TEMPLE_MQ_EARLY_ADULT_POT_2,
+ RC_ICE_CAVERN_MQ_ENTRANCE_POT,
+ RC_ICE_CAVERN_MQ_FIRST_CRYSTAL_POT_1,
+ RC_ICE_CAVERN_MQ_FIRST_CRYSTAL_POT_2,
+ RC_ICE_CAVERN_MQ_EARLY_WOLFOS_POT_1,
+ RC_ICE_CAVERN_MQ_EARLY_WOLFOS_POT_2,
+ RC_ICE_CAVERN_MQ_EARLY_WOLFOS_POT_3,
+ RC_ICE_CAVERN_MQ_EARLY_WOLFOS_POT_4,
+ RC_ICE_CAVERN_MQ_PUSH_BLOCK_POT_1,
+ RC_ICE_CAVERN_MQ_PUSH_BLOCK_POT_2,
+ RC_ICE_CAVERN_MQ_COMPASS_POT_1,
+ RC_ICE_CAVERN_MQ_COMPASS_POT_2,
+ RC_GANONS_CASTLE_MQ_FOREST_TRIAL_POT_1,
+ RC_GANONS_CASTLE_MQ_FOREST_TRIAL_POT_2,
+ RC_GANONS_CASTLE_MQ_WATER_TRIAL_POT_1,
+ RC_GANONS_CASTLE_MQ_WATER_TRIAL_POT_2,
+ RC_GANONS_CASTLE_MQ_SHADOW_TRIAL_POT_1,
+ RC_GANONS_CASTLE_MQ_SHADOW_TRIAL_POT_2,
+ RC_GANONS_CASTLE_MQ_FIRE_TRIAL_POT_1,
+ RC_GANONS_CASTLE_MQ_FIRE_TRIAL_POT_2,
+ RC_GANONS_CASTLE_MQ_LIGHT_TRIAL_POT_1,
+ RC_GANONS_CASTLE_MQ_LIGHT_TRIAL_POT_2,
+ RC_GANONS_CASTLE_MQ_SPIRIT_TRIAL_POT_1,
+ RC_GANONS_CASTLE_MQ_SPIRIT_TRIAL_POT_2,
+ // End Pots
+
RC_PIERRE,
RC_DELIVER_RUTOS_LETTER,
RC_MASTER_SWORD_PEDESTAL,
@@ -3620,6 +4167,30 @@ typedef enum {
RHT_OOT_HINT,
RHT_SKULLS_HINT,
RHT_MASK_SHOP_HINT,
+ // Shuffle Pots
+ RHT_POT_KOKIRI_FOREST,
+ RHT_POT_GERUDO_FORTRESS,
+ RHT_POT_WASTELAND,
+ RHT_POT_MARKET,
+ RHT_POT_KAKARIKO,
+ RHT_POT_GRAVEYARD,
+ RHT_POT_GORON_CITY,
+ RHT_POT_DEATH_MOUNTAIN_CRATER,
+ RHT_POT_ZORAS_DOMAIN,
+ RHT_POT_ZORAS_FOUNTAIN,
+ RHT_POT_LON_LON_RANCH,
+ RHT_POT_HYRULE_FIELD,
+ RHT_POT_HYRULE_CASTLE,
+ RHT_POT_DODONGOS_CAVERN,
+ RHT_POT_JABU_JABUS_BELLY,
+ RHT_POT_FOREST_TEMPLE,
+ RHT_POT_FIRE_TEMPLE,
+ RHT_POT_WATER_TEMPLE,
+ RHT_POT_SHADOW_TEMPLE,
+ RHT_POT_SPIRIT_TEMPLE,
+ RHT_POT_GANONS_CASTLE,
+ RHT_POT_BOTTOM_OF_THE_WELL,
+ RHT_POT_ICE_CAVERN,
// Ganon Line
RHT_GANON_JOKE01,
RHT_GANON_JOKE02,
@@ -3636,6 +4207,7 @@ typedef enum {
RHT_YOUR_POCKET,
RHT_DUNGEON_ORDINARY,
RHT_DUNGEON_MASTERFUL,
+ // MAX
RHT_MAX
} RandomizerHintTextKey;
@@ -3763,6 +4335,7 @@ typedef enum {
RSK_SHUFFLE_COWS,
RSK_SHUFFLE_WEIRD_EGG,
RSK_SHUFFLE_GERUDO_MEMBERSHIP_CARD,
+ RSK_SHUFFLE_POTS,
RSK_SHUFFLE_FROG_SONG_RUPEES,
RSK_ITEM_POOL,
RSK_ICE_TRAPS,
@@ -4204,6 +4777,14 @@ typedef enum {
RO_TOKENSANITY_ALL,
} RandoOptionTokensanity;
+// Shuffle Pots settings (off, dungeons, overworld, all)
+typedef enum {
+ RO_SHUFFLE_POTS_OFF,
+ RO_SHUFFLE_POTS_DUNGEONS,
+ RO_SHUFFLE_POTS_OVERWORLD,
+ RO_SHUFFLE_POTS_ALL,
+} RandoOptionShufflePots;
+
//Link's Pocket Settings (dungeon reward, advancement, anything, nothing)
typedef enum {
RO_LINKS_POCKET_DUNGEON_REWARD,
@@ -4290,6 +4871,11 @@ typedef struct CowIdentity {
RandomizerCheck randomizerCheck;
} CowIdentity;
+typedef struct PotIdentity {
+ RandomizerInf randomizerInf;
+ RandomizerCheck randomizerCheck;
+} PotIdentity;
+
typedef struct FishIdentity {
RandomizerInf randomizerInf;
RandomizerCheck randomizerCheck;
diff --git a/soh/soh/Enhancements/randomizer/randomizer_check_objects.cpp b/soh/soh/Enhancements/randomizer/randomizer_check_objects.cpp
index 3b5eed450f7..ba8f306d25e 100644
--- a/soh/soh/Enhancements/randomizer/randomizer_check_objects.cpp
+++ b/soh/soh/Enhancements/randomizer/randomizer_check_objects.cpp
@@ -156,6 +156,7 @@ void RandomizerCheckObjects::UpdateImGuiVisibility() {
RandomizerCheckObjects::AreaIsDungeon(location.GetArea()))) &&
(location.GetRCType() != RCTYPE_BEEHIVE || CVarGetInteger(CVAR_RANDOMIZER_SETTING("ShuffleBeehives"), RO_GENERIC_NO)) &&
(location.GetRCType() != RCTYPE_COW || CVarGetInteger(CVAR_RANDOMIZER_SETTING("ShuffleCows"), RO_GENERIC_NO)) &&
+ (location.GetRCType() != RCTYPE_POT || CVarGetInteger(CVAR_RANDOMIZER_SETTING("ShufflePots"), RO_GENERIC_NO)) &&
(location.GetRCType() != RCTYPE_FISH || ctx->GetFishsanity()->GetFishLocationIncluded(&location, FSO_SOURCE_CVARS)) &&
(location.GetRCType() != RCTYPE_ADULT_TRADE ||
CVarGetInteger(CVAR_RANDOMIZER_SETTING("ShuffleAdultTrade"), RO_GENERIC_NO)) &&
diff --git a/soh/soh/Enhancements/randomizer/randomizer_check_objects.h b/soh/soh/Enhancements/randomizer/randomizer_check_objects.h
index bf9cc98f729..6ab5b8314a9 100644
--- a/soh/soh/Enhancements/randomizer/randomizer_check_objects.h
+++ b/soh/soh/Enhancements/randomizer/randomizer_check_objects.h
@@ -6,10 +6,6 @@
#include
#include