#include "ShuffleGrass.h"
#include "soh_assets.h"
#include "static_data.h"
#include "soh/Enhancements/enhancementTypes.h"

extern "C" {
#include "variables.h"
#include "overlays/actors/ovl_En_Kusa/z_en_kusa.h"
#include "objects/gameplay_field_keep/gameplay_field_keep.h"
#include "objects/object_kusa/object_kusa.h"
extern PlayState* gPlayState;
}

#define RAND_GET_OPTION(option) Rando::Context::GetInstance()->GetOption(option).Get()

extern void EnItem00_DrawRandomizedItem(EnItem00* enItem00, PlayState* play);

void DrawTypeOfGrass(EnKusa* grassActor, Gfx* bushDList, Gfx* grassDList, PlayState* play) {
    // Actor params is -255 for regrowable grass.
    if (grassActor->actor.params == -255) {
        Gfx_DrawDListOpa(play, grassDList);
    } else {
        Gfx_DrawDListOpa(play, bushDList);
    }
}

extern "C" void EnKusa_RandomizerDraw(Actor* thisx, PlayState* play) {
    // static Gfx* dLists[] = { (Gfx*)gRandoBushDL, (Gfx*)object_kusa_DL_000140, (Gfx*)object_kusa_DL_000140 };
    static Gfx* dLists[] = { (Gfx*)gRandoBushJunkDL, (Gfx*)gRandoCuttableGrassJunkDL, (Gfx*)gRandoCuttableGrassJunkDL };
    auto grassActor = ((EnKusa*)thisx);

    OPEN_DISPS(play->state.gfxCtx);
    Gfx_SetupDL_25Opa(play->state.gfxCtx);

    if (grassActor->grassIdentity.randomizerCheck != RC_MAX &&
        Flags_GetRandomizerInf(grassActor->grassIdentity.randomizerInf) == 0) {
        int csmc = CVarGetInteger(CVAR_ENHANCEMENT("ChestSizeAndTextureMatchContents"), CSMC_DISABLED);
        int requiresStoneAgony = CVarGetInteger(CVAR_ENHANCEMENT("ChestSizeDependsStoneOfAgony"), 0);

        if ((csmc == CSMC_BOTH || csmc == CSMC_TEXTURE) &&
            (!requiresStoneAgony || (requiresStoneAgony && CHECK_QUEST_ITEM(QUEST_STONE_OF_AGONY)))) {
            auto itemEntry = Rando::Context::GetInstance()->GetFinalGIEntry(grassActor->grassIdentity.randomizerCheck,
                                                                            true, GI_NONE);
            GetItemCategory getItemCategory = itemEntry.getItemCategory;

            switch (getItemCategory) {
                case ITEM_CATEGORY_JUNK:
                    DrawTypeOfGrass(grassActor, (Gfx*)gRandoBushJunkDL, (Gfx*)gRandoCuttableGrassJunkDL, play);
                    break;
                case ITEM_CATEGORY_LESSER:
                    switch (itemEntry.itemId) {
                        case ITEM_HEART_PIECE:
                        case ITEM_HEART_PIECE_2:
                        case ITEM_HEART_CONTAINER:
                            DrawTypeOfGrass(grassActor, (Gfx*)gRandoBushHeartDL, (Gfx*)gRandoCuttableGrassHeartDL,
                                            play);
                            break;
                        default:
                            DrawTypeOfGrass(grassActor, (Gfx*)gRandoBushMinorDL, (Gfx*)gRandoCuttableGrassMinorDL,
                                            play);
                            break;
                    }
                    break;
                case ITEM_CATEGORY_BOSS_KEY:
                    DrawTypeOfGrass(grassActor, (Gfx*)gRandoBushBossKeyDL, (Gfx*)gRandoCuttableGrassBossKeyDL, play);
                    break;
                case ITEM_CATEGORY_SMALL_KEY:
                    DrawTypeOfGrass(grassActor, (Gfx*)gRandoBushSmallKeyDL, (Gfx*)gRandoCuttableGrassSmallKeyDL, play);
                    break;
                case ITEM_CATEGORY_SKULLTULA_TOKEN:
                    DrawTypeOfGrass(grassActor, (Gfx*)gRandoBushTokenDL, (Gfx*)gRandoCuttableGrassTokenDL, play);
                    break;
                case ITEM_CATEGORY_MAJOR:
                    DrawTypeOfGrass(grassActor, (Gfx*)gRandoBushMajorDL, (Gfx*)gRandoCuttableGrassMajorDL, play);
                    break;
                default:
                    DrawTypeOfGrass(grassActor, (Gfx*)gRandoBushDL, (Gfx*)gRandoCuttableGrassDL, play);
                    break;
            }
        } else {
            DrawTypeOfGrass(grassActor, (Gfx*)gRandoBushDL, (Gfx*)gRandoCuttableGrassDL, play);
        }
    } else if (grassActor->actor.flags & ACTOR_FLAG_GRASS_DESTROYED) {
        Gfx_DrawDListOpa(play, (Gfx*)object_kusa_DL_0002E0);
    } else {
        Gfx_DrawDListOpa(play, dLists[thisx->params & 3]);
    }

    CLOSE_DISPS(play->state.gfxCtx);
}

uint8_t EnKusa_RandomizerHoldsItem(EnKusa* grassActor, PlayState* play) {
    if (grassActor->grassIdentity.randomizerCheck == RC_MAX)
        return false;

    RandomizerCheck rc = grassActor->grassIdentity.randomizerCheck;

    uint8_t isDungeon = Rando::StaticData::GetLocation(rc)->IsDungeon();
    uint8_t grassSetting = Rando::Context::GetInstance()->GetOption(RSK_SHUFFLE_GRASS).Get();

    // Don't pull randomized item if grass isn't randomized or is already checked
    if (!IS_RANDO || (grassSetting == RO_SHUFFLE_GRASS_OVERWORLD && isDungeon) ||
        (grassSetting == RO_SHUFFLE_GRASS_DUNGEONS && !isDungeon) ||
        Flags_GetRandomizerInf(grassActor->grassIdentity.randomizerInf) ||
        grassActor->grassIdentity.randomizerCheck == RC_UNKNOWN_CHECK) {
        return false;
    } else {
        return true;
    }
}

void EnKusa_RandomizerSpawnCollectible(EnKusa* grassActor, PlayState* play) {
    EnItem00* item00 = (EnItem00*)Item_DropCollectible2(play, &grassActor->actor.world.pos, ITEM00_SOH_DUMMY);
    item00->randoInf = grassActor->grassIdentity.randomizerInf;
    item00->itemEntry =
        Rando::Context::GetInstance()->GetFinalGIEntry(grassActor->grassIdentity.randomizerCheck, true, 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 EnKusa_RandomizerInit(void* actorRef) {
    Actor* actor = static_cast<Actor*>(actorRef);

    if (actor->id != ACTOR_EN_KUSA)
        return;

    EnKusa* grassActor = static_cast<EnKusa*>(actorRef);
    s16 respawnData = gSaveContext.respawn[RESPAWN_MODE_RETURN].data & ((1 << 8) - 1);

    grassActor->grassIdentity = OTRGlobals::Instance->gRandomizer->IdentifyGrass(
        gPlayState->sceneNum, (s16)actor->world.pos.x, (s16)actor->world.pos.z, respawnData, gPlayState->linkAgeOnLoad);
}

void RegisterShuffleGrass() {
    bool shouldRegister = IS_RANDO && RAND_GET_OPTION(RSK_SHUFFLE_GRASS);

    COND_ID_HOOK(OnActorInit, ACTOR_EN_KUSA, shouldRegister, EnKusa_RandomizerInit);

    COND_VB_SHOULD(VB_GRASS_SETUP_DRAW, shouldRegister, {
        EnKusa* grassActor = va_arg(args, EnKusa*);
        if (EnKusa_RandomizerHoldsItem(grassActor, gPlayState)) {
            grassActor->actor.draw = (ActorFunc)EnKusa_RandomizerDraw;
            *should = false;
        } else {
            *should = true;
        }
    });

    COND_VB_SHOULD(VB_GRASS_DROP_ITEM, shouldRegister, {
        EnKusa* grassActor = va_arg(args, EnKusa*);
        if (EnKusa_RandomizerHoldsItem(grassActor, gPlayState)) {
            EnKusa_RandomizerSpawnCollectible(grassActor, gPlayState);
            grassActor->grassIdentity.randomizerCheck = RC_MAX;
            grassActor->grassIdentity.randomizerInf = RAND_INF_MAX;
            *should = false;
        } else {
            *should = true;
        }
    });
}

void Rando::StaticData::RegisterGrassLocations() {
    static bool registered = false;
    if (registered)
        return;
    registered = true;
    // clang-format off
    // Overworld Grass
    //            Randomizer Check                                 	       Randomizer Check                                           Quest         Area                          Scene ID                           Params                          Short Name                    	Hint Text Key                     Vanilla             Spoiler Collection Check
    locationTable[RC_KF_CHILD_GRASS_1]                                 =   Location::Grass(RC_KF_CHILD_GRASS_1,                       RCQUEST_BOTH, RCAREA_KOKIRI_FOREST,         SCENE_KOKIRI_FOREST,    TWO_ACTOR_PARAMS(678, 596),     "Child Grass 1",               RHT_KF_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_KF_CHILD_GRASS_1));
    locationTable[RC_KF_CHILD_GRASS_2]                                 =   Location::Grass(RC_KF_CHILD_GRASS_2,                       RCQUEST_BOTH, RCAREA_KOKIRI_FOREST,         SCENE_KOKIRI_FOREST,    TWO_ACTOR_PARAMS(594, 542),     "Child Grass 2",               RHT_KF_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_KF_CHILD_GRASS_2));
    locationTable[RC_KF_CHILD_GRASS_3]                                 =   Location::Grass(RC_KF_CHILD_GRASS_3,                       RCQUEST_BOTH, RCAREA_KOKIRI_FOREST,         SCENE_KOKIRI_FOREST,    TWO_ACTOR_PARAMS(572, 603),     "Child Grass 3",               RHT_KF_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_KF_CHILD_GRASS_3));
    locationTable[RC_KF_CHILD_GRASS_4]                                 =   Location::Grass(RC_KF_CHILD_GRASS_4,                       RCQUEST_BOTH, RCAREA_KOKIRI_FOREST,         SCENE_KOKIRI_FOREST,    TWO_ACTOR_PARAMS(385, 643),     "Child Grass 4",               RHT_KF_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_KF_CHILD_GRASS_4));
    locationTable[RC_KF_CHILD_GRASS_5]                                 =   Location::Grass(RC_KF_CHILD_GRASS_5,                       RCQUEST_BOTH, RCAREA_KOKIRI_FOREST,         SCENE_KOKIRI_FOREST,    TWO_ACTOR_PARAMS(-498, 696),    "Child Grass 5",               RHT_KF_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_KF_CHILD_GRASS_5));
    locationTable[RC_KF_CHILD_GRASS_6]                                 =   Location::Grass(RC_KF_CHILD_GRASS_6,                       RCQUEST_BOTH, RCAREA_KOKIRI_FOREST,         SCENE_KOKIRI_FOREST,    TWO_ACTOR_PARAMS(-523, 771),    "Child Grass 6",               RHT_KF_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_KF_CHILD_GRASS_6));
    locationTable[RC_KF_CHILD_GRASS_7]                                 =   Location::Grass(RC_KF_CHILD_GRASS_7,                       RCQUEST_BOTH, RCAREA_KOKIRI_FOREST,         SCENE_KOKIRI_FOREST,    TWO_ACTOR_PARAMS(-612, 737),    "Child Grass 7",               RHT_KF_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_KF_CHILD_GRASS_7));
    locationTable[RC_KF_CHILD_GRASS_8]                                 =   Location::Grass(RC_KF_CHILD_GRASS_8,                       RCQUEST_BOTH, RCAREA_KOKIRI_FOREST,         SCENE_KOKIRI_FOREST,    TWO_ACTOR_PARAMS(-671, 671),    "Child Grass 8",               RHT_KF_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_KF_CHILD_GRASS_8));
    locationTable[RC_KF_CHILD_GRASS_9]                                 =   Location::Grass(RC_KF_CHILD_GRASS_9,                       RCQUEST_BOTH, RCAREA_KOKIRI_FOREST,         SCENE_KOKIRI_FOREST,    TWO_ACTOR_PARAMS(-748, 632),    "Child Grass 9",               RHT_KF_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_KF_CHILD_GRASS_9));
    locationTable[RC_KF_CHILD_GRASS_10]                                =   Location::Grass(RC_KF_CHILD_GRASS_10,                      RCQUEST_BOTH, RCAREA_KOKIRI_FOREST,         SCENE_KOKIRI_FOREST,    TWO_ACTOR_PARAMS(-757, 708),    "Child Grass 10",              RHT_KF_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_KF_CHILD_GRASS_10));
    locationTable[RC_KF_CHILD_GRASS_11]                                =   Location::Grass(RC_KF_CHILD_GRASS_11,                      RCQUEST_BOTH, RCAREA_KOKIRI_FOREST,         SCENE_KOKIRI_FOREST,    TWO_ACTOR_PARAMS(-823, 666),    "Child Grass 11",              RHT_KF_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_KF_CHILD_GRASS_11));
    locationTable[RC_KF_CHILD_GRASS_12]                                =   Location::Grass(RC_KF_CHILD_GRASS_12,                      RCQUEST_BOTH, RCAREA_KOKIRI_FOREST,         SCENE_KOKIRI_FOREST,    TWO_ACTOR_PARAMS(-835, 605),    "Child Grass 12",              RHT_KF_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_KF_CHILD_GRASS_12));
    locationTable[RC_KF_CHILD_GRASS_MAZE_1]                            =   Location::Grass(RC_KF_CHILD_GRASS_MAZE_1,                  RCQUEST_BOTH, RCAREA_KOKIRI_FOREST,         SCENE_KOKIRI_FOREST,    TWO_ACTOR_PARAMS(-995, 1531),   "Child Grass Maze 1",          RHT_KF_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_KF_CHILD_GRASS_MAZE_1));
    locationTable[RC_KF_CHILD_GRASS_MAZE_2]                            =   Location::Grass(RC_KF_CHILD_GRASS_MAZE_2,                  RCQUEST_BOTH, RCAREA_KOKIRI_FOREST,         SCENE_KOKIRI_FOREST,    TWO_ACTOR_PARAMS(-701, 1882),   "Child Grass Maze 2",          RHT_KF_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_KF_CHILD_GRASS_MAZE_2));
    locationTable[RC_KF_CHILD_GRASS_MAZE_3]                            =   Location::Grass(RC_KF_CHILD_GRASS_MAZE_3,                  RCQUEST_BOTH, RCAREA_KOKIRI_FOREST,         SCENE_KOKIRI_FOREST,    TWO_ACTOR_PARAMS(-295, 2297),   "Child Grass Maze 3",          RHT_KF_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_KF_CHILD_GRASS_MAZE_3));
    locationTable[RC_KF_ADULT_GRASS_1]                                 =   Location::Grass(RC_KF_ADULT_GRASS_1,                       RCQUEST_BOTH, RCAREA_KOKIRI_FOREST,         SCENE_KOKIRI_FOREST,    TWO_ACTOR_PARAMS(839, 685),     "Adult Grass 1",               RHT_KF_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_KF_ADULT_GRASS_1));
    locationTable[RC_KF_ADULT_GRASS_2]                                 =   Location::Grass(RC_KF_ADULT_GRASS_2,                       RCQUEST_BOTH, RCAREA_KOKIRI_FOREST,         SCENE_KOKIRI_FOREST,    TWO_ACTOR_PARAMS(809, 722),     "Adult Grass 2",               RHT_KF_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_KF_ADULT_GRASS_2));
    locationTable[RC_KF_ADULT_GRASS_3]                                 =   Location::Grass(RC_KF_ADULT_GRASS_3,                       RCQUEST_BOTH, RCAREA_KOKIRI_FOREST,         SCENE_KOKIRI_FOREST,    TWO_ACTOR_PARAMS(760, 714),     "Adult Grass 3",               RHT_KF_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_KF_ADULT_GRASS_3));
    locationTable[RC_KF_ADULT_GRASS_4]                                 =   Location::Grass(RC_KF_ADULT_GRASS_4,                       RCQUEST_BOTH, RCAREA_KOKIRI_FOREST,         SCENE_KOKIRI_FOREST,    TWO_ACTOR_PARAMS(725, 679),     "Adult Grass 4",               RHT_KF_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_KF_ADULT_GRASS_4));
    locationTable[RC_KF_ADULT_GRASS_5]                                 =   Location::Grass(RC_KF_ADULT_GRASS_5,                       RCQUEST_BOTH, RCAREA_KOKIRI_FOREST,         SCENE_KOKIRI_FOREST,    TWO_ACTOR_PARAMS(725, 606),     "Adult Grass 5",               RHT_KF_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_KF_ADULT_GRASS_5));
    locationTable[RC_KF_ADULT_GRASS_6]                                 =   Location::Grass(RC_KF_ADULT_GRASS_6,                       RCQUEST_BOTH, RCAREA_KOKIRI_FOREST,         SCENE_KOKIRI_FOREST,    TWO_ACTOR_PARAMS(797, 563),     "Adult Grass 6",               RHT_KF_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_KF_ADULT_GRASS_6));
    locationTable[RC_KF_ADULT_GRASS_7]                                 =   Location::Grass(RC_KF_ADULT_GRASS_7,                       RCQUEST_BOTH, RCAREA_KOKIRI_FOREST,         SCENE_KOKIRI_FOREST,    TWO_ACTOR_PARAMS(868, 606),     "Adult Grass 7",               RHT_KF_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_KF_ADULT_GRASS_7));
    locationTable[RC_KF_ADULT_GRASS_8]                                 =   Location::Grass(RC_KF_ADULT_GRASS_8,                       RCQUEST_BOTH, RCAREA_KOKIRI_FOREST,         SCENE_KOKIRI_FOREST,    TWO_ACTOR_PARAMS(797, 663),     "Adult Grass 8",               RHT_KF_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_KF_ADULT_GRASS_8));
    locationTable[RC_KF_ADULT_GRASS_9]                                 =   Location::Grass(RC_KF_ADULT_GRASS_9,                       RCQUEST_BOTH, RCAREA_KOKIRI_FOREST,         SCENE_KOKIRI_FOREST,    TWO_ACTOR_PARAMS(757, 649),     "Adult Grass 9",               RHT_KF_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_KF_ADULT_GRASS_9));
    locationTable[RC_KF_ADULT_GRASS_10]                                =   Location::Grass(RC_KF_ADULT_GRASS_10,                      RCQUEST_BOTH, RCAREA_KOKIRI_FOREST,         SCENE_KOKIRI_FOREST,    TWO_ACTOR_PARAMS(773, 610),     "Adult Grass 10",              RHT_KF_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_KF_ADULT_GRASS_10));
    locationTable[RC_KF_ADULT_GRASS_11]                                =   Location::Grass(RC_KF_ADULT_GRASS_11,                      RCQUEST_BOTH, RCAREA_KOKIRI_FOREST,         SCENE_KOKIRI_FOREST,    TWO_ACTOR_PARAMS(815, 607),     "Adult Grass 11",              RHT_KF_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_KF_ADULT_GRASS_11));
    locationTable[RC_KF_ADULT_GRASS_12]                                =   Location::Grass(RC_KF_ADULT_GRASS_12,                      RCQUEST_BOTH, RCAREA_KOKIRI_FOREST,         SCENE_KOKIRI_FOREST,    TWO_ACTOR_PARAMS(836, 636),     "Adult Grass 12",              RHT_KF_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_KF_ADULT_GRASS_12));
    locationTable[RC_KF_ADULT_GRASS_13]                                =   Location::Grass(RC_KF_ADULT_GRASS_13,                      RCQUEST_BOTH, RCAREA_KOKIRI_FOREST,         SCENE_KOKIRI_FOREST,    TWO_ACTOR_PARAMS(-772, 654),    "Adult Grass 13",              RHT_KF_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_KF_ADULT_GRASS_13));
    locationTable[RC_KF_ADULT_GRASS_14]                                =   Location::Grass(RC_KF_ADULT_GRASS_14,                      RCQUEST_BOTH, RCAREA_KOKIRI_FOREST,         SCENE_KOKIRI_FOREST,    TWO_ACTOR_PARAMS(-785, 611),    "Adult Grass 14",              RHT_KF_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_KF_ADULT_GRASS_14));
    locationTable[RC_KF_ADULT_GRASS_15]                                =   Location::Grass(RC_KF_ADULT_GRASS_15,                      RCQUEST_BOTH, RCAREA_KOKIRI_FOREST,         SCENE_KOKIRI_FOREST,    TWO_ACTOR_PARAMS(-805, 691),    "Adult Grass 15",              RHT_KF_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_KF_ADULT_GRASS_15));
    locationTable[RC_KF_ADULT_GRASS_16]                                =   Location::Grass(RC_KF_ADULT_GRASS_16,                      RCQUEST_BOTH, RCAREA_KOKIRI_FOREST,         SCENE_KOKIRI_FOREST,    TWO_ACTOR_PARAMS(-822, 644),    "Adult Grass 16",              RHT_KF_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_KF_ADULT_GRASS_16));
    locationTable[RC_KF_ADULT_GRASS_17]                                =   Location::Grass(RC_KF_ADULT_GRASS_17,                      RCQUEST_BOTH, RCAREA_KOKIRI_FOREST,         SCENE_KOKIRI_FOREST,    TWO_ACTOR_PARAMS(-842, 601),    "Adult Grass 17",              RHT_KF_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_KF_ADULT_GRASS_17));
    locationTable[RC_KF_ADULT_GRASS_18]                                =   Location::Grass(RC_KF_ADULT_GRASS_18,                      RCQUEST_BOTH, RCAREA_KOKIRI_FOREST,         SCENE_KOKIRI_FOREST,    TWO_ACTOR_PARAMS(-867, 674),    "Adult Grass 18",              RHT_KF_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_KF_ADULT_GRASS_18));
    locationTable[RC_KF_ADULT_GRASS_19]                                =   Location::Grass(RC_KF_ADULT_GRASS_19,                      RCQUEST_BOTH, RCAREA_KOKIRI_FOREST,         SCENE_KOKIRI_FOREST,    TWO_ACTOR_PARAMS(-498, 0xFF),   "Adult Grass 19",              RHT_KF_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_KF_ADULT_GRASS_19));
    locationTable[RC_KF_ADULT_GRASS_20]                                =   Location::Grass(RC_KF_ADULT_GRASS_20,                      RCQUEST_BOTH, RCAREA_KOKIRI_FOREST,         SCENE_KOKIRI_FOREST,    TWO_ACTOR_PARAMS(-523, 0xFF),   "Adult Grass 20",              RHT_KF_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_KF_ADULT_GRASS_20));
    locationTable[RC_LW_GRASS_1]                                       =   Location::Grass(RC_LW_GRASS_1,                             RCQUEST_BOTH, RCAREA_LOST_WOODS,            SCENE_LOST_WOODS,       TWO_ACTOR_PARAMS(676, -651),    "Near Shortcuts Grass 1",      RHT_LW_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_LW_GRASS_1));
    locationTable[RC_LW_GRASS_2]                                       =   Location::Grass(RC_LW_GRASS_2,                             RCQUEST_BOTH, RCAREA_LOST_WOODS,            SCENE_LOST_WOODS,       TWO_ACTOR_PARAMS(633, -676),    "Near Shortcuts Grass 2",      RHT_LW_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_LW_GRASS_2));
    locationTable[RC_LW_GRASS_3]                                       =   Location::Grass(RC_LW_GRASS_3,                             RCQUEST_BOTH, RCAREA_LOST_WOODS,            SCENE_LOST_WOODS,       TWO_ACTOR_PARAMS(645, -638),    "Near Shortcuts Grass 3",      RHT_LW_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_LW_GRASS_3));
    locationTable[RC_LW_GRASS_4]                                       =   Location::Grass(RC_LW_GRASS_4,                             RCQUEST_BOTH, RCAREA_LOST_WOODS,            SCENE_LOST_WOODS,       TWO_ACTOR_PARAMS(1476, -2251),  "After Mido Grass 1",          RHT_LW_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_LW_GRASS_4));
    locationTable[RC_LW_GRASS_5]                                       =   Location::Grass(RC_LW_GRASS_5,                             RCQUEST_BOTH, RCAREA_LOST_WOODS,            SCENE_LOST_WOODS,       TWO_ACTOR_PARAMS(1433, -2276),  "After Mido Grass 2",          RHT_LW_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_LW_GRASS_5));
    locationTable[RC_LW_GRASS_6]                                       =   Location::Grass(RC_LW_GRASS_6,                             RCQUEST_BOTH, RCAREA_LOST_WOODS,            SCENE_LOST_WOODS,       TWO_ACTOR_PARAMS(1445, -2238),  "After Mido Grass 3",          RHT_LW_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_LW_GRASS_6));
    locationTable[RC_LW_GRASS_7]                                       =   Location::Grass(RC_LW_GRASS_7,                             RCQUEST_BOTH, RCAREA_LOST_WOODS,            SCENE_LOST_WOODS,       TWO_ACTOR_PARAMS(926, -2232),   "Near SFM Grass 1",            RHT_LW_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_LW_GRASS_7));
    locationTable[RC_LW_GRASS_8]                                       =   Location::Grass(RC_LW_GRASS_8,                             RCQUEST_BOTH, RCAREA_LOST_WOODS,            SCENE_LOST_WOODS,       TWO_ACTOR_PARAMS(965, -2241),   "Near SFM Grass 2",            RHT_LW_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_LW_GRASS_8));
    locationTable[RC_LW_GRASS_9]                                       =   Location::Grass(RC_LW_GRASS_9,                             RCQUEST_BOTH, RCAREA_LOST_WOODS,            SCENE_LOST_WOODS,       TWO_ACTOR_PARAMS(952, -2275),   "Near SFM Grass 3",            RHT_LW_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_LW_GRASS_9));
    locationTable[RC_MARKET_GRASS_1]                                   =   Location::Grass(RC_MARKET_GRASS_1,                         RCQUEST_BOTH, RCAREA_MARKET,                SCENE_MARKET_DAY,       TWO_ACTOR_PARAMS(-106, 277),    "Market Grass 1",              RHT_MARKET_GRASS,                 RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_MARKET_GRASS_1));
    locationTable[RC_MARKET_GRASS_2]                                   =   Location::Grass(RC_MARKET_GRASS_2,                         RCQUEST_BOTH, RCAREA_MARKET,                SCENE_MARKET_DAY,       TWO_ACTOR_PARAMS(-131, 225),    "Market Grass 2",              RHT_MARKET_GRASS,                 RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_MARKET_GRASS_2));
    locationTable[RC_MARKET_GRASS_3]                                   =   Location::Grass(RC_MARKET_GRASS_3,                         RCQUEST_BOTH, RCAREA_MARKET,                SCENE_MARKET_DAY,       TWO_ACTOR_PARAMS(504, -546),    "Market Grass 3",              RHT_MARKET_GRASS,                 RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_MARKET_GRASS_3));
    locationTable[RC_MARKET_GRASS_4]                                   =   Location::Grass(RC_MARKET_GRASS_4,                         RCQUEST_BOTH, RCAREA_MARKET,                SCENE_MARKET_DAY,       TWO_ACTOR_PARAMS(465, -548),    "Market Grass 4",              RHT_MARKET_GRASS,                 RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_MARKET_GRASS_4));
    locationTable[RC_MARKET_GRASS_5]                                   =   Location::Grass(RC_MARKET_GRASS_5,                         RCQUEST_BOTH, RCAREA_MARKET,                SCENE_MARKET_DAY,       TWO_ACTOR_PARAMS(432, -548),    "Market Grass 5",              RHT_MARKET_GRASS,                 RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_MARKET_GRASS_5));
    locationTable[RC_MARKET_GRASS_6]                                   =   Location::Grass(RC_MARKET_GRASS_6,                         RCQUEST_BOTH, RCAREA_MARKET,                SCENE_MARKET_DAY,       TWO_ACTOR_PARAMS(73, -428),     "Market Grass 6",              RHT_MARKET_GRASS,                 RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_MARKET_GRASS_6));
    locationTable[RC_MARKET_GRASS_7]                                   =   Location::Grass(RC_MARKET_GRASS_7,                         RCQUEST_BOTH, RCAREA_MARKET,                SCENE_MARKET_DAY,       TWO_ACTOR_PARAMS(75, -310),     "Market Grass 7",              RHT_MARKET_GRASS,                 RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_MARKET_GRASS_7));
    locationTable[RC_MARKET_GRASS_8]                                   =   Location::Grass(RC_MARKET_GRASS_8,                         RCQUEST_BOTH, RCAREA_MARKET,                SCENE_MARKET_DAY,       TWO_ACTOR_PARAMS(76, -190),     "Market Grass 8",              RHT_MARKET_GRASS,                 RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_MARKET_GRASS_8));
    locationTable[RC_HC_GRASS_1]                                       =   Location::Grass(RC_HC_GRASS_1,                             RCQUEST_BOTH, RCAREA_HYRULE_CASTLE,         SCENE_HYRULE_CASTLE,    TWO_ACTOR_PARAMS(1035, 882),    "Near Storms Grotto Grass 1",  RHT_HC_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_HC_GRASS_1));
    locationTable[RC_HC_GRASS_2]                                       =   Location::Grass(RC_HC_GRASS_2,                             RCQUEST_BOTH, RCAREA_HYRULE_CASTLE,         SCENE_HYRULE_CASTLE,    TWO_ACTOR_PARAMS(975, 919),     "Near Storms Grotto Grass 2",  RHT_HC_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_HC_GRASS_2));
    locationTable[RC_KAK_GRASS_1]                                      =   Location::Grass(RC_KAK_GRASS_1,                            RCQUEST_BOTH, RCAREA_KAKARIKO_VILLAGE,      SCENE_KAKARIKO_VILLAGE, TWO_ACTOR_PARAMS(1116, 1581),   "Near Graveyard Grass 1",      RHT_KAK_GRASS,                    RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_KAK_GRASS_1));
    locationTable[RC_KAK_GRASS_2]                                      =   Location::Grass(RC_KAK_GRASS_2,                            RCQUEST_BOTH, RCAREA_KAKARIKO_VILLAGE,      SCENE_KAKARIKO_VILLAGE, TWO_ACTOR_PARAMS(1103, 1532),   "Near Graveyard Grass 2",      RHT_KAK_GRASS,                    RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_KAK_GRASS_2));
    locationTable[RC_KAK_GRASS_3]                                      =   Location::Grass(RC_KAK_GRASS_3,                            RCQUEST_BOTH, RCAREA_KAKARIKO_VILLAGE,      SCENE_KAKARIKO_VILLAGE, TWO_ACTOR_PARAMS(1072, 1592),   "Near Graveyard Grass 3",      RHT_KAK_GRASS,                    RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_KAK_GRASS_3));
    locationTable[RC_KAK_GRASS_4]                                      =   Location::Grass(RC_KAK_GRASS_4,                            RCQUEST_BOTH, RCAREA_KAKARIKO_VILLAGE,      SCENE_KAKARIKO_VILLAGE, TWO_ACTOR_PARAMS(-800, 521),    "Tree Grass 1",                RHT_KAK_GRASS,                    RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_KAK_GRASS_4));
    locationTable[RC_KAK_GRASS_5]                                      =   Location::Grass(RC_KAK_GRASS_5,                            RCQUEST_BOTH, RCAREA_KAKARIKO_VILLAGE,      SCENE_KAKARIKO_VILLAGE, TWO_ACTOR_PARAMS(-826, 585),    "Tree Grass 2",                RHT_KAK_GRASS,                    RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_KAK_GRASS_5));
    locationTable[RC_KAK_GRASS_6]                                      =   Location::Grass(RC_KAK_GRASS_6,                            RCQUEST_BOTH, RCAREA_KAKARIKO_VILLAGE,      SCENE_KAKARIKO_VILLAGE, TWO_ACTOR_PARAMS(-827, 465),    "Tree Grass 3",                RHT_KAK_GRASS,                    RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_KAK_GRASS_6));
    locationTable[RC_KAK_GRASS_7]                                      =   Location::Grass(RC_KAK_GRASS_7,                            RCQUEST_BOTH, RCAREA_KAKARIKO_VILLAGE,      SCENE_KAKARIKO_VILLAGE, TWO_ACTOR_PARAMS(-883, 582),    "Tree Grass 4",                RHT_KAK_GRASS,                    RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_KAK_GRASS_7));
    locationTable[RC_KAK_GRASS_8]                                      =   Location::Grass(RC_KAK_GRASS_8,                            RCQUEST_BOTH, RCAREA_KAKARIKO_VILLAGE,      SCENE_KAKARIKO_VILLAGE, TWO_ACTOR_PARAMS(-887, 467),    "Tree Grass 5",                RHT_KAK_GRASS,                    RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_KAK_GRASS_8));
    locationTable[RC_GY_GRASS_1]                                       =   Location::Grass(RC_GY_GRASS_1,                             RCQUEST_BOTH, RCAREA_GRAVEYARD,             SCENE_GRAVEYARD,        TWO_ACTOR_PARAMS(-1059, 732),   "Graveyard Grass 1",           RHT_GY_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_GY_GRASS_1));
    locationTable[RC_GY_GRASS_2]                                       =   Location::Grass(RC_GY_GRASS_2,                             RCQUEST_BOTH, RCAREA_GRAVEYARD,             SCENE_GRAVEYARD,        TWO_ACTOR_PARAMS(-1089, 769),   "Graveyard Grass 2",           RHT_GY_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_GY_GRASS_2));
    locationTable[RC_GY_GRASS_3]                                       =   Location::Grass(RC_GY_GRASS_3,                             RCQUEST_BOTH, RCAREA_GRAVEYARD,             SCENE_GRAVEYARD,        TWO_ACTOR_PARAMS(-1138, 761),   "Graveyard Grass 3",           RHT_GY_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_GY_GRASS_3));
    locationTable[RC_GY_GRASS_4]                                       =   Location::Grass(RC_GY_GRASS_4,                             RCQUEST_BOTH, RCAREA_GRAVEYARD,             SCENE_GRAVEYARD,        TWO_ACTOR_PARAMS(-1173, 726),   "Graveyard Grass 4",           RHT_GY_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_GY_GRASS_4));
    locationTable[RC_GY_GRASS_5]                                       =   Location::Grass(RC_GY_GRASS_5,                             RCQUEST_BOTH, RCAREA_GRAVEYARD,             SCENE_GRAVEYARD,        TWO_ACTOR_PARAMS(-1173, 653),   "Graveyard Grass 5",           RHT_GY_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_GY_GRASS_5));
    locationTable[RC_GY_GRASS_6]                                       =   Location::Grass(RC_GY_GRASS_6,                             RCQUEST_BOTH, RCAREA_GRAVEYARD,             SCENE_GRAVEYARD,        TWO_ACTOR_PARAMS(-1102, 610),   "Graveyard Grass 6",           RHT_GY_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_GY_GRASS_6));
    locationTable[RC_GY_GRASS_7]                                       =   Location::Grass(RC_GY_GRASS_7,                             RCQUEST_BOTH, RCAREA_GRAVEYARD,             SCENE_GRAVEYARD,        TWO_ACTOR_PARAMS(-1030, 653),   "Graveyard Grass 7",           RHT_GY_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_GY_GRASS_7));
    locationTable[RC_GY_GRASS_8]                                       =   Location::Grass(RC_GY_GRASS_8,                             RCQUEST_BOTH, RCAREA_GRAVEYARD,             SCENE_GRAVEYARD,        TWO_ACTOR_PARAMS(-1102, 710),   "Graveyard Grass 8",           RHT_GY_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_GY_GRASS_8));
    locationTable[RC_GY_GRASS_9]                                       =   Location::Grass(RC_GY_GRASS_9,                             RCQUEST_BOTH, RCAREA_GRAVEYARD,             SCENE_GRAVEYARD,        TWO_ACTOR_PARAMS(-1141, 696),   "Graveyard Grass 9",           RHT_GY_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_GY_GRASS_9));
    locationTable[RC_GY_GRASS_10]                                      =   Location::Grass(RC_GY_GRASS_10,                            RCQUEST_BOTH, RCAREA_GRAVEYARD,             SCENE_GRAVEYARD,        TWO_ACTOR_PARAMS(-1125, 657),   "Graveyard Grass 10",          RHT_GY_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_GY_GRASS_10));
    locationTable[RC_GY_GRASS_11]                                      =   Location::Grass(RC_GY_GRASS_11,                            RCQUEST_BOTH, RCAREA_GRAVEYARD,             SCENE_GRAVEYARD,        TWO_ACTOR_PARAMS(-1083, 654),   "Graveyard Grass 11",          RHT_GY_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_GY_GRASS_11));
    locationTable[RC_GY_GRASS_12]                                      =   Location::Grass(RC_GY_GRASS_12,                            RCQUEST_BOTH, RCAREA_GRAVEYARD,             SCENE_GRAVEYARD,        TWO_ACTOR_PARAMS(-1062, 683),   "Graveyard Grass 12",          RHT_GY_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_GY_GRASS_12));
    locationTable[RC_LH_GRASS_1]                                       =   Location::Grass(RC_LH_GRASS_1,                             RCQUEST_BOTH, RCAREA_LAKE_HYLIA,            SCENE_LAKE_HYLIA,       TWO_ACTOR_PARAMS(-1637, 2796),  "LH Grass 1",                  RHT_LH_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_LH_GRASS_1));
    locationTable[RC_LH_GRASS_2]                                       =   Location::Grass(RC_LH_GRASS_2,                             RCQUEST_BOTH, RCAREA_LAKE_HYLIA,            SCENE_LAKE_HYLIA,       TWO_ACTOR_PARAMS(-1667, 2833),  "LH Grass 2",                  RHT_LH_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_LH_GRASS_2));
    locationTable[RC_LH_GRASS_3]                                       =   Location::Grass(RC_LH_GRASS_3,                             RCQUEST_BOTH, RCAREA_LAKE_HYLIA,            SCENE_LAKE_HYLIA,       TWO_ACTOR_PARAMS(-1716, 2825),  "LH Grass 3",                  RHT_LH_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_LH_GRASS_3));
    locationTable[RC_LH_GRASS_4]                                       =   Location::Grass(RC_LH_GRASS_4,                             RCQUEST_BOTH, RCAREA_LAKE_HYLIA,            SCENE_LAKE_HYLIA,       TWO_ACTOR_PARAMS(-1751, 2790),  "LH Grass 4",                  RHT_LH_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_LH_GRASS_4));
    locationTable[RC_LH_GRASS_5]                                       =   Location::Grass(RC_LH_GRASS_5,                             RCQUEST_BOTH, RCAREA_LAKE_HYLIA,            SCENE_LAKE_HYLIA,       TWO_ACTOR_PARAMS(-1751, 2717),  "LH Grass 5",                  RHT_LH_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_LH_GRASS_5));
    locationTable[RC_LH_GRASS_6]                                       =   Location::Grass(RC_LH_GRASS_6,                             RCQUEST_BOTH, RCAREA_LAKE_HYLIA,            SCENE_LAKE_HYLIA,       TWO_ACTOR_PARAMS(-1680, 2674),  "LH Grass 6",                  RHT_LH_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_LH_GRASS_6));
    locationTable[RC_LH_GRASS_7]                                       =   Location::Grass(RC_LH_GRASS_7,                             RCQUEST_BOTH, RCAREA_LAKE_HYLIA,            SCENE_LAKE_HYLIA,       TWO_ACTOR_PARAMS(-1608, 2717),  "LH Grass 7",                  RHT_LH_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_LH_GRASS_7));
    locationTable[RC_LH_GRASS_8]                                       =   Location::Grass(RC_LH_GRASS_8,                             RCQUEST_BOTH, RCAREA_LAKE_HYLIA,            SCENE_LAKE_HYLIA,       TWO_ACTOR_PARAMS(-1680, 2774),  "LH Grass 8",                  RHT_LH_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_LH_GRASS_8));
    locationTable[RC_LH_GRASS_9]                                       =   Location::Grass(RC_LH_GRASS_9,                             RCQUEST_BOTH, RCAREA_LAKE_HYLIA,            SCENE_LAKE_HYLIA,       TWO_ACTOR_PARAMS(-1719, 2760),  "LH Grass 9",                  RHT_LH_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_LH_GRASS_9));
    locationTable[RC_LH_GRASS_10]                                      =   Location::Grass(RC_LH_GRASS_10,                            RCQUEST_BOTH, RCAREA_LAKE_HYLIA,            SCENE_LAKE_HYLIA,       TWO_ACTOR_PARAMS(-1703, 2721),  "LH Grass 10",                 RHT_LH_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_LH_GRASS_10));
    locationTable[RC_LH_GRASS_11]                                      =   Location::Grass(RC_LH_GRASS_11,                            RCQUEST_BOTH, RCAREA_LAKE_HYLIA,            SCENE_LAKE_HYLIA,       TWO_ACTOR_PARAMS(-1661, 2718),  "LH Grass 11",                 RHT_LH_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_LH_GRASS_11));
    locationTable[RC_LH_GRASS_12]                                      =   Location::Grass(RC_LH_GRASS_12,                            RCQUEST_BOTH, RCAREA_LAKE_HYLIA,            SCENE_LAKE_HYLIA,       TWO_ACTOR_PARAMS(-1640, 2747),  "LH Grass 12",                 RHT_LH_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_LH_GRASS_12));
    locationTable[RC_LH_GRASS_13]                                      =   Location::Grass(RC_LH_GRASS_13,                            RCQUEST_BOTH, RCAREA_LAKE_HYLIA,            SCENE_LAKE_HYLIA,       TWO_ACTOR_PARAMS(-2028, 2542),  "LH Grass 13",                 RHT_LH_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_LH_GRASS_13));
    locationTable[RC_LH_GRASS_14]                                      =   Location::Grass(RC_LH_GRASS_14,                            RCQUEST_BOTH, RCAREA_LAKE_HYLIA,            SCENE_LAKE_HYLIA,       TWO_ACTOR_PARAMS(-2058, 2579),  "LH Grass 14",                 RHT_LH_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_LH_GRASS_14));
    locationTable[RC_LH_GRASS_15]                                      =   Location::Grass(RC_LH_GRASS_15,                            RCQUEST_BOTH, RCAREA_LAKE_HYLIA,            SCENE_LAKE_HYLIA,       TWO_ACTOR_PARAMS(-2107, 2571),  "LH Grass 15",                 RHT_LH_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_LH_GRASS_15));
    locationTable[RC_LH_GRASS_16]                                      =   Location::Grass(RC_LH_GRASS_16,                            RCQUEST_BOTH, RCAREA_LAKE_HYLIA,            SCENE_LAKE_HYLIA,       TWO_ACTOR_PARAMS(-2142, 2536),  "LH Grass 16",                 RHT_LH_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_LH_GRASS_16));
    locationTable[RC_LH_GRASS_17]                                      =   Location::Grass(RC_LH_GRASS_17,                            RCQUEST_BOTH, RCAREA_LAKE_HYLIA,            SCENE_LAKE_HYLIA,       TWO_ACTOR_PARAMS(-2142, 2463),  "LH Grass 17",                 RHT_LH_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_LH_GRASS_17));
    locationTable[RC_LH_GRASS_18]                                      =   Location::Grass(RC_LH_GRASS_18,                            RCQUEST_BOTH, RCAREA_LAKE_HYLIA,            SCENE_LAKE_HYLIA,       TWO_ACTOR_PARAMS(-2071, 2420),  "LH Grass 18",                 RHT_LH_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_LH_GRASS_18));
    locationTable[RC_LH_GRASS_19]                                      =   Location::Grass(RC_LH_GRASS_19,                            RCQUEST_BOTH, RCAREA_LAKE_HYLIA,            SCENE_LAKE_HYLIA,       TWO_ACTOR_PARAMS(-1999, 2463),  "LH Grass 19",                 RHT_LH_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_LH_GRASS_19));
    locationTable[RC_LH_GRASS_20]                                      =   Location::Grass(RC_LH_GRASS_20,                            RCQUEST_BOTH, RCAREA_LAKE_HYLIA,            SCENE_LAKE_HYLIA,       TWO_ACTOR_PARAMS(-2071, 2520),  "LH Grass 20",                 RHT_LH_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_LH_GRASS_20));
    locationTable[RC_LH_GRASS_21]                                      =   Location::Grass(RC_LH_GRASS_21,                            RCQUEST_BOTH, RCAREA_LAKE_HYLIA,            SCENE_LAKE_HYLIA,       TWO_ACTOR_PARAMS(-2110, 2506),  "LH Grass 21",                 RHT_LH_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_LH_GRASS_21));
    locationTable[RC_LH_GRASS_22]                                      =   Location::Grass(RC_LH_GRASS_22,                            RCQUEST_BOTH, RCAREA_LAKE_HYLIA,            SCENE_LAKE_HYLIA,       TWO_ACTOR_PARAMS(-2094, 2467),  "LH Grass 22",                 RHT_LH_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_LH_GRASS_22));
    locationTable[RC_LH_GRASS_23]                                      =   Location::Grass(RC_LH_GRASS_23,                            RCQUEST_BOTH, RCAREA_LAKE_HYLIA,            SCENE_LAKE_HYLIA,       TWO_ACTOR_PARAMS(-2052, 2464),  "LH Grass 23",                 RHT_LH_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_LH_GRASS_23));
    locationTable[RC_LH_GRASS_24]                                      =   Location::Grass(RC_LH_GRASS_24,                            RCQUEST_BOTH, RCAREA_LAKE_HYLIA,            SCENE_LAKE_HYLIA,       TWO_ACTOR_PARAMS(-2031, 2493),  "LH Grass 24",                 RHT_LH_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_LH_GRASS_24));
    locationTable[RC_LH_GRASS_25]                                      =   Location::Grass(RC_LH_GRASS_25,                            RCQUEST_BOTH, RCAREA_LAKE_HYLIA,            SCENE_LAKE_HYLIA,       TWO_ACTOR_PARAMS(-2204, 3050),  "LH Grass 25",                 RHT_LH_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_LH_GRASS_25));
    locationTable[RC_LH_GRASS_26]                                      =   Location::Grass(RC_LH_GRASS_26,                            RCQUEST_BOTH, RCAREA_LAKE_HYLIA,            SCENE_LAKE_HYLIA,       TWO_ACTOR_PARAMS(-2234, 3087),  "LH Grass 26",                 RHT_LH_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_LH_GRASS_26));
    locationTable[RC_LH_GRASS_27]                                      =   Location::Grass(RC_LH_GRASS_27,                            RCQUEST_BOTH, RCAREA_LAKE_HYLIA,            SCENE_LAKE_HYLIA,       TWO_ACTOR_PARAMS(-2283, 3079),  "LH Grass 27",                 RHT_LH_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_LH_GRASS_27));
    locationTable[RC_LH_GRASS_28]                                      =   Location::Grass(RC_LH_GRASS_28,                            RCQUEST_BOTH, RCAREA_LAKE_HYLIA,            SCENE_LAKE_HYLIA,       TWO_ACTOR_PARAMS(-2318, 3044),  "LH Grass 28",                 RHT_LH_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_LH_GRASS_28));
    locationTable[RC_LH_GRASS_29]                                      =   Location::Grass(RC_LH_GRASS_29,                            RCQUEST_BOTH, RCAREA_LAKE_HYLIA,            SCENE_LAKE_HYLIA,       TWO_ACTOR_PARAMS(-2318, 2971),  "LH Grass 29",                 RHT_LH_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_LH_GRASS_29));
    locationTable[RC_LH_GRASS_30]                                      =   Location::Grass(RC_LH_GRASS_30,                            RCQUEST_BOTH, RCAREA_LAKE_HYLIA,            SCENE_LAKE_HYLIA,       TWO_ACTOR_PARAMS(-2247, 2928),  "LH Grass 30",                 RHT_LH_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_LH_GRASS_30));
    locationTable[RC_LH_GRASS_31]                                      =   Location::Grass(RC_LH_GRASS_31,                            RCQUEST_BOTH, RCAREA_LAKE_HYLIA,            SCENE_LAKE_HYLIA,       TWO_ACTOR_PARAMS(-2175, 2971),  "LH Grass 31",                 RHT_LH_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_LH_GRASS_31));
    locationTable[RC_LH_GRASS_32]                                      =   Location::Grass(RC_LH_GRASS_32,                            RCQUEST_BOTH, RCAREA_LAKE_HYLIA,            SCENE_LAKE_HYLIA,       TWO_ACTOR_PARAMS(-2247, 3028),  "LH Grass 32",                 RHT_LH_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_LH_GRASS_32));
    locationTable[RC_LH_GRASS_33]                                      =   Location::Grass(RC_LH_GRASS_33,                            RCQUEST_BOTH, RCAREA_LAKE_HYLIA,            SCENE_LAKE_HYLIA,       TWO_ACTOR_PARAMS(-2286, 3014),  "LH Grass 33",                 RHT_LH_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_LH_GRASS_33));
    locationTable[RC_LH_GRASS_34]                                      =   Location::Grass(RC_LH_GRASS_34,                            RCQUEST_BOTH, RCAREA_LAKE_HYLIA,            SCENE_LAKE_HYLIA,       TWO_ACTOR_PARAMS(-2270, 2975),  "LH Grass 34",                 RHT_LH_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_LH_GRASS_34));
    locationTable[RC_LH_GRASS_35]                                      =   Location::Grass(RC_LH_GRASS_35,                            RCQUEST_BOTH, RCAREA_LAKE_HYLIA,            SCENE_LAKE_HYLIA,       TWO_ACTOR_PARAMS(-2228, 2972),  "LH Grass 35",                 RHT_LH_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_LH_GRASS_35));
    locationTable[RC_LH_GRASS_36]                                      =   Location::Grass(RC_LH_GRASS_36,                            RCQUEST_BOTH, RCAREA_LAKE_HYLIA,            SCENE_LAKE_HYLIA,       TWO_ACTOR_PARAMS(-2207, 3001),  "LH Grass 36",                 RHT_LH_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_LH_GRASS_36));
    locationTable[RC_LH_CHILD_GRASS_1]                                 =   Location::Grass(RC_LH_CHILD_GRASS_1,                       RCQUEST_BOTH, RCAREA_LAKE_HYLIA,            SCENE_LAKE_HYLIA,       TWO_ACTOR_PARAMS(13, 2735),     "LH Child Grass 1",            RHT_LH_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_LH_CHILD_GRASS_1));
    locationTable[RC_LH_CHILD_GRASS_2]                                 =   Location::Grass(RC_LH_CHILD_GRASS_2,                       RCQUEST_BOTH, RCAREA_LAKE_HYLIA,            SCENE_LAKE_HYLIA,       TWO_ACTOR_PARAMS(-77, 2891),    "LH Child Grass 2",            RHT_LH_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_LH_CHILD_GRASS_2));
    locationTable[RC_LH_CHILD_GRASS_3]                                 =   Location::Grass(RC_LH_CHILD_GRASS_3,                       RCQUEST_BOTH, RCAREA_LAKE_HYLIA,            SCENE_LAKE_HYLIA,       TWO_ACTOR_PARAMS(-222, 2888),   "LH Child Grass 3",            RHT_LH_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_LH_CHILD_GRASS_3));
    locationTable[RC_LH_CHILD_GRASS_4]                                 =   Location::Grass(RC_LH_CHILD_GRASS_4,                       RCQUEST_BOTH, RCAREA_LAKE_HYLIA,            SCENE_LAKE_HYLIA,       TWO_ACTOR_PARAMS(-295, 2973),   "LH Child Grass 4",            RHT_LH_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_LH_CHILD_GRASS_4));
    locationTable[RC_LH_WARP_PAD_GRASS_1]                              =   Location::Grass(RC_LH_WARP_PAD_GRASS_1,                    RCQUEST_BOTH, RCAREA_LAKE_HYLIA,            SCENE_LAKE_HYLIA,       TWO_ACTOR_PARAMS(-613, 7369),   "LH Warp Pad Grass 1",         RHT_LH_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_LH_WARP_PAD_GRASS_1));
    locationTable[RC_LH_WARP_PAD_GRASS_2]                              =   Location::Grass(RC_LH_WARP_PAD_GRASS_2,                    RCQUEST_BOTH, RCAREA_LAKE_HYLIA,            SCENE_LAKE_HYLIA,       TWO_ACTOR_PARAMS(-662, 7352),   "LH Warp Pad Grass 2",         RHT_LH_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_LH_WARP_PAD_GRASS_2));
    locationTable[RC_HF_NEAR_KF_GRASS_1]                               =   Location::Grass(RC_HF_NEAR_KF_GRASS_1,                     RCQUEST_BOTH, RCAREA_HYRULE_FIELD,          SCENE_HYRULE_FIELD,     TWO_ACTOR_PARAMS(3186, 7571),   "Near KF Grass 1",             RHT_HF_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_HF_NEAR_KF_GRASS_1));
    locationTable[RC_HF_NEAR_KF_GRASS_2]                               =   Location::Grass(RC_HF_NEAR_KF_GRASS_2,                     RCQUEST_BOTH, RCAREA_HYRULE_FIELD,          SCENE_HYRULE_FIELD,     TWO_ACTOR_PARAMS(3156, 7608),   "Near KF Grass 2",             RHT_HF_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_HF_NEAR_KF_GRASS_2));
    locationTable[RC_HF_NEAR_KF_GRASS_3]                               =   Location::Grass(RC_HF_NEAR_KF_GRASS_3,                     RCQUEST_BOTH, RCAREA_HYRULE_FIELD,          SCENE_HYRULE_FIELD,     TWO_ACTOR_PARAMS(3107, 7600),   "Near KF Grass 3",             RHT_HF_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_HF_NEAR_KF_GRASS_3));
    locationTable[RC_HF_NEAR_KF_GRASS_4]                               =   Location::Grass(RC_HF_NEAR_KF_GRASS_4,                     RCQUEST_BOTH, RCAREA_HYRULE_FIELD,          SCENE_HYRULE_FIELD,     TWO_ACTOR_PARAMS(3072, 7565),   "Near KF Grass 4",             RHT_HF_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_HF_NEAR_KF_GRASS_4));
    locationTable[RC_HF_NEAR_KF_GRASS_5]                               =   Location::Grass(RC_HF_NEAR_KF_GRASS_5,                     RCQUEST_BOTH, RCAREA_HYRULE_FIELD,          SCENE_HYRULE_FIELD,     TWO_ACTOR_PARAMS(3072, 7492),   "Near KF Grass 5",             RHT_HF_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_HF_NEAR_KF_GRASS_5));
    locationTable[RC_HF_NEAR_KF_GRASS_6]                               =   Location::Grass(RC_HF_NEAR_KF_GRASS_6,                     RCQUEST_BOTH, RCAREA_HYRULE_FIELD,          SCENE_HYRULE_FIELD,     TWO_ACTOR_PARAMS(3144, 7449),   "Near KF Grass 6",             RHT_HF_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_HF_NEAR_KF_GRASS_6));
    locationTable[RC_HF_NEAR_KF_GRASS_7]                               =   Location::Grass(RC_HF_NEAR_KF_GRASS_7,                     RCQUEST_BOTH, RCAREA_HYRULE_FIELD,          SCENE_HYRULE_FIELD,     TWO_ACTOR_PARAMS(3215, 7492),   "Near KF Grass 7",             RHT_HF_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_HF_NEAR_KF_GRASS_7));
    locationTable[RC_HF_NEAR_KF_GRASS_8]                               =   Location::Grass(RC_HF_NEAR_KF_GRASS_8,                     RCQUEST_BOTH, RCAREA_HYRULE_FIELD,          SCENE_HYRULE_FIELD,     TWO_ACTOR_PARAMS(3144, 7549),   "Near KF Grass 8",             RHT_HF_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_HF_NEAR_KF_GRASS_8));
    locationTable[RC_HF_NEAR_KF_GRASS_9]                               =   Location::Grass(RC_HF_NEAR_KF_GRASS_9,                     RCQUEST_BOTH, RCAREA_HYRULE_FIELD,          SCENE_HYRULE_FIELD,     TWO_ACTOR_PARAMS(3104, 7535),   "Near KF Grass 9",             RHT_HF_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_HF_NEAR_KF_GRASS_9));
    locationTable[RC_HF_NEAR_KF_GRASS_10]                              =   Location::Grass(RC_HF_NEAR_KF_GRASS_10,                    RCQUEST_BOTH, RCAREA_HYRULE_FIELD,          SCENE_HYRULE_FIELD,     TWO_ACTOR_PARAMS(3120, 7496),   "Near KF Grass 10",            RHT_HF_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_HF_NEAR_KF_GRASS_10));
    locationTable[RC_HF_NEAR_KF_GRASS_11]                              =   Location::Grass(RC_HF_NEAR_KF_GRASS_11,                    RCQUEST_BOTH, RCAREA_HYRULE_FIELD,          SCENE_HYRULE_FIELD,     TWO_ACTOR_PARAMS(3162, 7493),   "Near KF Grass 11",            RHT_HF_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_HF_NEAR_KF_GRASS_11));
    locationTable[RC_HF_NEAR_KF_GRASS_12]                              =   Location::Grass(RC_HF_NEAR_KF_GRASS_12,                    RCQUEST_BOTH, RCAREA_HYRULE_FIELD,          SCENE_HYRULE_FIELD,     TWO_ACTOR_PARAMS(3183, 7522),   "Near KF Grass 12",            RHT_HF_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_HF_NEAR_KF_GRASS_12));
    locationTable[RC_HF_NEAR_MARKET_GRASS_1]                           =   Location::Grass(RC_HF_NEAR_MARKET_GRASS_1,                 RCQUEST_BOTH, RCAREA_HYRULE_FIELD,          SCENE_HYRULE_FIELD,     TWO_ACTOR_PARAMS(950, 3613),    "Near Market Grass 1",         RHT_HF_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_HF_NEAR_MARKET_GRASS_1));
    locationTable[RC_HF_NEAR_MARKET_GRASS_2]                           =   Location::Grass(RC_HF_NEAR_MARKET_GRASS_2,                 RCQUEST_BOTH, RCAREA_HYRULE_FIELD,          SCENE_HYRULE_FIELD,     TWO_ACTOR_PARAMS(920, 3650),    "Near Market Grass 2",         RHT_HF_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_HF_NEAR_MARKET_GRASS_2));
    locationTable[RC_HF_NEAR_MARKET_GRASS_3]                           =   Location::Grass(RC_HF_NEAR_MARKET_GRASS_3,                 RCQUEST_BOTH, RCAREA_HYRULE_FIELD,          SCENE_HYRULE_FIELD,     TWO_ACTOR_PARAMS(871, 3642),    "Near Market Grass 3",         RHT_HF_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_HF_NEAR_MARKET_GRASS_3));
    locationTable[RC_HF_NEAR_MARKET_GRASS_4]                           =   Location::Grass(RC_HF_NEAR_MARKET_GRASS_4,                 RCQUEST_BOTH, RCAREA_HYRULE_FIELD,          SCENE_HYRULE_FIELD,     TWO_ACTOR_PARAMS(836, 3607),    "Near Market Grass 4",         RHT_HF_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_HF_NEAR_MARKET_GRASS_4));
    locationTable[RC_HF_NEAR_MARKET_GRASS_5]                           =   Location::Grass(RC_HF_NEAR_MARKET_GRASS_5,                 RCQUEST_BOTH, RCAREA_HYRULE_FIELD,          SCENE_HYRULE_FIELD,     TWO_ACTOR_PARAMS(836, 3534),    "Near Market Grass 5",         RHT_HF_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_HF_NEAR_MARKET_GRASS_5));
    locationTable[RC_HF_NEAR_MARKET_GRASS_6]                           =   Location::Grass(RC_HF_NEAR_MARKET_GRASS_6,                 RCQUEST_BOTH, RCAREA_HYRULE_FIELD,          SCENE_HYRULE_FIELD,     TWO_ACTOR_PARAMS(908, 3491),    "Near Market Grass 6",         RHT_HF_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_HF_NEAR_MARKET_GRASS_6));
    locationTable[RC_HF_NEAR_MARKET_GRASS_7]                           =   Location::Grass(RC_HF_NEAR_MARKET_GRASS_7,                 RCQUEST_BOTH, RCAREA_HYRULE_FIELD,          SCENE_HYRULE_FIELD,     TWO_ACTOR_PARAMS(979, 3534),    "Near Market Grass 7",         RHT_HF_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_HF_NEAR_MARKET_GRASS_7));
    locationTable[RC_HF_NEAR_MARKET_GRASS_8]                           =   Location::Grass(RC_HF_NEAR_MARKET_GRASS_8,                 RCQUEST_BOTH, RCAREA_HYRULE_FIELD,          SCENE_HYRULE_FIELD,     TWO_ACTOR_PARAMS(908, 3591),    "Near Market Grass 8",         RHT_HF_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_HF_NEAR_MARKET_GRASS_8));
    locationTable[RC_HF_NEAR_MARKET_GRASS_9]                           =   Location::Grass(RC_HF_NEAR_MARKET_GRASS_9,                 RCQUEST_BOTH, RCAREA_HYRULE_FIELD,          SCENE_HYRULE_FIELD,     TWO_ACTOR_PARAMS(868, 3577),    "Near Market Grass 9",         RHT_HF_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_HF_NEAR_MARKET_GRASS_9));
    locationTable[RC_HF_NEAR_MARKET_GRASS_10]                          =   Location::Grass(RC_HF_NEAR_MARKET_GRASS_10,                RCQUEST_BOTH, RCAREA_HYRULE_FIELD,          SCENE_HYRULE_FIELD,     TWO_ACTOR_PARAMS(884, 3538),    "Near Market Grass 10",        RHT_HF_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_HF_NEAR_MARKET_GRASS_10));
    locationTable[RC_HF_NEAR_MARKET_GRASS_11]                          =   Location::Grass(RC_HF_NEAR_MARKET_GRASS_11,                RCQUEST_BOTH, RCAREA_HYRULE_FIELD,          SCENE_HYRULE_FIELD,     TWO_ACTOR_PARAMS(926, 3535),    "Near Market Grass 11",        RHT_HF_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_HF_NEAR_MARKET_GRASS_11));
    locationTable[RC_HF_NEAR_MARKET_GRASS_12]                          =   Location::Grass(RC_HF_NEAR_MARKET_GRASS_12,                RCQUEST_BOTH, RCAREA_HYRULE_FIELD,          SCENE_HYRULE_FIELD,     TWO_ACTOR_PARAMS(947, 3564),    "Near Market Grass 12",        RHT_HF_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_HF_NEAR_MARKET_GRASS_12));
    locationTable[RC_HF_SOUTH_GRASS_1]                                 =   Location::Grass(RC_HF_SOUTH_GRASS_1,                       RCQUEST_BOTH, RCAREA_HYRULE_FIELD,          SCENE_HYRULE_FIELD,     TWO_ACTOR_PARAMS(-483, 11329),  "South Grass 1",               RHT_HF_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_HF_SOUTH_GRASS_1));
    locationTable[RC_HF_SOUTH_GRASS_2]                                 =   Location::Grass(RC_HF_SOUTH_GRASS_2,                       RCQUEST_BOTH, RCAREA_HYRULE_FIELD,          SCENE_HYRULE_FIELD,     TWO_ACTOR_PARAMS(-518, 11294),  "South Grass 2",               RHT_HF_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_HF_SOUTH_GRASS_2));
    locationTable[RC_HF_SOUTH_GRASS_3]                                 =   Location::Grass(RC_HF_SOUTH_GRASS_3,                       RCQUEST_BOTH, RCAREA_HYRULE_FIELD,          SCENE_HYRULE_FIELD,     TWO_ACTOR_PARAMS(-518, 11221),  "South Grass 3",               RHT_HF_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_HF_SOUTH_GRASS_3));
    locationTable[RC_HF_SOUTH_GRASS_4]                                 =   Location::Grass(RC_HF_SOUTH_GRASS_4,                       RCQUEST_BOTH, RCAREA_HYRULE_FIELD,          SCENE_HYRULE_FIELD,     TWO_ACTOR_PARAMS(-447, 11178),  "South Grass 4",               RHT_HF_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_HF_SOUTH_GRASS_4));
    locationTable[RC_HF_SOUTH_GRASS_5]                                 =   Location::Grass(RC_HF_SOUTH_GRASS_5,                       RCQUEST_BOTH, RCAREA_HYRULE_FIELD,          SCENE_HYRULE_FIELD,     TWO_ACTOR_PARAMS(-375, 11221),  "South Grass 5",               RHT_HF_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_HF_SOUTH_GRASS_5));
    locationTable[RC_HF_SOUTH_GRASS_6]                                 =   Location::Grass(RC_HF_SOUTH_GRASS_6,                       RCQUEST_BOTH, RCAREA_HYRULE_FIELD,          SCENE_HYRULE_FIELD,     TWO_ACTOR_PARAMS(-447, 11278),  "South Grass 6",               RHT_HF_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_HF_SOUTH_GRASS_6));
    locationTable[RC_HF_SOUTH_GRASS_7]                                 =   Location::Grass(RC_HF_SOUTH_GRASS_7,                       RCQUEST_BOTH, RCAREA_HYRULE_FIELD,          SCENE_HYRULE_FIELD,     TWO_ACTOR_PARAMS(-486, 11264),  "South Grass 7",               RHT_HF_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_HF_SOUTH_GRASS_7));
    locationTable[RC_HF_SOUTH_GRASS_8]                                 =   Location::Grass(RC_HF_SOUTH_GRASS_8,                       RCQUEST_BOTH, RCAREA_HYRULE_FIELD,          SCENE_HYRULE_FIELD,     TWO_ACTOR_PARAMS(-470, 11225),  "South Grass 8",               RHT_HF_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_HF_SOUTH_GRASS_8));
    locationTable[RC_HF_SOUTH_GRASS_9]                                 =   Location::Grass(RC_HF_SOUTH_GRASS_9,                       RCQUEST_BOTH, RCAREA_HYRULE_FIELD,          SCENE_HYRULE_FIELD,     TWO_ACTOR_PARAMS(-428, 11222),  "South Grass 9",               RHT_HF_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_HF_SOUTH_GRASS_9));
    locationTable[RC_HF_SOUTH_GRASS_10]                                =   Location::Grass(RC_HF_SOUTH_GRASS_10,                      RCQUEST_BOTH, RCAREA_HYRULE_FIELD,          SCENE_HYRULE_FIELD,     TWO_ACTOR_PARAMS(-407, 11251),  "South Grass 10",              RHT_HF_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_HF_SOUTH_GRASS_10));
    locationTable[RC_HF_SOUTH_GRASS_11]                                =   Location::Grass(RC_HF_SOUTH_GRASS_11,                      RCQUEST_BOTH, RCAREA_HYRULE_FIELD,          SCENE_HYRULE_FIELD,     TWO_ACTOR_PARAMS(-404, 11300),  "South Grass 11",              RHT_HF_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_HF_SOUTH_GRASS_11));
    locationTable[RC_HF_SOUTH_GRASS_12]                                =   Location::Grass(RC_HF_SOUTH_GRASS_12,                      RCQUEST_BOTH, RCAREA_HYRULE_FIELD,          SCENE_HYRULE_FIELD,     TWO_ACTOR_PARAMS(-434, 11337),  "South Grass 12",              RHT_HF_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_HF_SOUTH_GRASS_12));
    locationTable[RC_HF_CENTRAL_GRASS_1]                               =   Location::Grass(RC_HF_CENTRAL_GRASS_1,                     RCQUEST_BOTH, RCAREA_HYRULE_FIELD,          SCENE_HYRULE_FIELD,     TWO_ACTOR_PARAMS(-948, 9981),   "Central Grass 1",             RHT_HF_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_HF_CENTRAL_GRASS_1));
    locationTable[RC_HF_CENTRAL_GRASS_2]                               =   Location::Grass(RC_HF_CENTRAL_GRASS_2,                     RCQUEST_BOTH, RCAREA_HYRULE_FIELD,          SCENE_HYRULE_FIELD,     TWO_ACTOR_PARAMS(-978, 10018),  "Central Grass 2",             RHT_HF_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_HF_CENTRAL_GRASS_2));
    locationTable[RC_HF_CENTRAL_GRASS_3]                               =   Location::Grass(RC_HF_CENTRAL_GRASS_3,                     RCQUEST_BOTH, RCAREA_HYRULE_FIELD,          SCENE_HYRULE_FIELD,     TWO_ACTOR_PARAMS(-1027, 10010), "Central Grass 3",             RHT_HF_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_HF_CENTRAL_GRASS_3));
    locationTable[RC_HF_CENTRAL_GRASS_4]                               =   Location::Grass(RC_HF_CENTRAL_GRASS_4,                     RCQUEST_BOTH, RCAREA_HYRULE_FIELD,          SCENE_HYRULE_FIELD,     TWO_ACTOR_PARAMS(-1062, 9975),  "Central Grass 4",             RHT_HF_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_HF_CENTRAL_GRASS_4));
    locationTable[RC_HF_CENTRAL_GRASS_5]                               =   Location::Grass(RC_HF_CENTRAL_GRASS_5,                     RCQUEST_BOTH, RCAREA_HYRULE_FIELD,          SCENE_HYRULE_FIELD,     TWO_ACTOR_PARAMS(-1062, 9902),  "Central Grass 5",             RHT_HF_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_HF_CENTRAL_GRASS_5));
    locationTable[RC_HF_CENTRAL_GRASS_6]                               =   Location::Grass(RC_HF_CENTRAL_GRASS_6,                     RCQUEST_BOTH, RCAREA_HYRULE_FIELD,          SCENE_HYRULE_FIELD,     TWO_ACTOR_PARAMS(-991, 9859),   "Central Grass 6",             RHT_HF_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_HF_CENTRAL_GRASS_6));
    locationTable[RC_HF_CENTRAL_GRASS_7]                               =   Location::Grass(RC_HF_CENTRAL_GRASS_7,                     RCQUEST_BOTH, RCAREA_HYRULE_FIELD,          SCENE_HYRULE_FIELD,     TWO_ACTOR_PARAMS(-919, 9902),   "Central Grass 7",             RHT_HF_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_HF_CENTRAL_GRASS_7));
    locationTable[RC_HF_CENTRAL_GRASS_8]                               =   Location::Grass(RC_HF_CENTRAL_GRASS_8,                     RCQUEST_BOTH, RCAREA_HYRULE_FIELD,          SCENE_HYRULE_FIELD,     TWO_ACTOR_PARAMS(-991, 9959),   "Central Grass 8",             RHT_HF_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_HF_CENTRAL_GRASS_8));
    locationTable[RC_HF_CENTRAL_GRASS_9]                               =   Location::Grass(RC_HF_CENTRAL_GRASS_9,                     RCQUEST_BOTH, RCAREA_HYRULE_FIELD,          SCENE_HYRULE_FIELD,     TWO_ACTOR_PARAMS(-1030, 9945),  "Central Grass 9",             RHT_HF_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_HF_CENTRAL_GRASS_9));
    locationTable[RC_HF_CENTRAL_GRASS_10]                              =   Location::Grass(RC_HF_CENTRAL_GRASS_10,                    RCQUEST_BOTH, RCAREA_HYRULE_FIELD,          SCENE_HYRULE_FIELD,     TWO_ACTOR_PARAMS(-1014, 9906),  "Central Grass 10",            RHT_HF_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_HF_CENTRAL_GRASS_10));
    locationTable[RC_HF_CENTRAL_GRASS_11]                              =   Location::Grass(RC_HF_CENTRAL_GRASS_11,                    RCQUEST_BOTH, RCAREA_HYRULE_FIELD,          SCENE_HYRULE_FIELD,     TWO_ACTOR_PARAMS(-972, 9903),   "Central Grass 11",            RHT_HF_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_HF_CENTRAL_GRASS_11));
    locationTable[RC_HF_CENTRAL_GRASS_12]                              =   Location::Grass(RC_HF_CENTRAL_GRASS_12,                    RCQUEST_BOTH, RCAREA_HYRULE_FIELD,          SCENE_HYRULE_FIELD,     TWO_ACTOR_PARAMS(-951, 9932),   "Central Grass 12",            RHT_HF_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_HF_CENTRAL_GRASS_12));
    locationTable[RC_ZR_GRASS_1]                                       =   Location::Grass(RC_ZR_GRASS_1,                             RCQUEST_BOTH, RCAREA_ZORAS_RIVER,           SCENE_ZORAS_RIVER,      TWO_ACTOR_PARAMS(-1495, 1022),  "Near Tree Grass 1",           RHT_ZR_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_ZR_GRASS_1));
    locationTable[RC_ZR_GRASS_2]                                       =   Location::Grass(RC_ZR_GRASS_2,                             RCQUEST_BOTH, RCAREA_ZORAS_RIVER,           SCENE_ZORAS_RIVER,      TWO_ACTOR_PARAMS(-1465, 985),   "Near Tree Grass 2",           RHT_ZR_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_ZR_GRASS_2));
    locationTable[RC_ZR_GRASS_3]                                       =   Location::Grass(RC_ZR_GRASS_3,                             RCQUEST_BOTH, RCAREA_ZORAS_RIVER,           SCENE_ZORAS_RIVER,      TWO_ACTOR_PARAMS(-1544, 1014),  "Near Tree Grass 3",           RHT_ZR_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_ZR_GRASS_3));
    locationTable[RC_ZR_GRASS_4]                                       =   Location::Grass(RC_ZR_GRASS_4,                             RCQUEST_BOTH, RCAREA_ZORAS_RIVER,           SCENE_ZORAS_RIVER,      TWO_ACTOR_PARAMS(-1579, 979),   "Near Tree Grass 4",           RHT_ZR_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_ZR_GRASS_4));
    locationTable[RC_ZR_GRASS_5]                                       =   Location::Grass(RC_ZR_GRASS_5,                             RCQUEST_BOTH, RCAREA_ZORAS_RIVER,           SCENE_ZORAS_RIVER,      TWO_ACTOR_PARAMS(-1579, 906),   "Near Tree Grass 5",           RHT_ZR_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_ZR_GRASS_5));
    locationTable[RC_ZR_GRASS_6]                                       =   Location::Grass(RC_ZR_GRASS_6,                             RCQUEST_BOTH, RCAREA_ZORAS_RIVER,           SCENE_ZORAS_RIVER,      TWO_ACTOR_PARAMS(-1508, 863),   "Near Tree Grass 6",           RHT_ZR_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_ZR_GRASS_6));
    locationTable[RC_ZR_GRASS_7]                                       =   Location::Grass(RC_ZR_GRASS_7,                             RCQUEST_BOTH, RCAREA_ZORAS_RIVER,           SCENE_ZORAS_RIVER,      TWO_ACTOR_PARAMS(-1508, 963),   "Near Tree Grass 7",           RHT_ZR_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_ZR_GRASS_7));
    locationTable[RC_ZR_GRASS_8]                                       =   Location::Grass(RC_ZR_GRASS_8,                             RCQUEST_BOTH, RCAREA_ZORAS_RIVER,           SCENE_ZORAS_RIVER,      TWO_ACTOR_PARAMS(-1547, 949),   "Near Tree Grass 8",           RHT_ZR_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_ZR_GRASS_8));
    locationTable[RC_ZR_GRASS_9]                                       =   Location::Grass(RC_ZR_GRASS_9,                             RCQUEST_BOTH, RCAREA_ZORAS_RIVER,           SCENE_ZORAS_RIVER,      TWO_ACTOR_PARAMS(-1531, 910),   "Near Tree Grass 9",           RHT_ZR_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_ZR_GRASS_9));
    locationTable[RC_ZR_GRASS_10]                                      =   Location::Grass(RC_ZR_GRASS_10,                            RCQUEST_BOTH, RCAREA_ZORAS_RIVER,           SCENE_ZORAS_RIVER,      TWO_ACTOR_PARAMS(-1489, 907),   "Near Tree Grass 10",          RHT_ZR_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_ZR_GRASS_10));
    locationTable[RC_ZR_GRASS_11]                                      =   Location::Grass(RC_ZR_GRASS_11,                            RCQUEST_BOTH, RCAREA_ZORAS_RIVER,           SCENE_ZORAS_RIVER,      TWO_ACTOR_PARAMS(-1468, 936),   "Near Tree Grass 11",          RHT_ZR_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_ZR_GRASS_11));
    locationTable[RC_ZR_GRASS_12]                                      =   Location::Grass(RC_ZR_GRASS_12,                            RCQUEST_BOTH, RCAREA_ZORAS_RIVER,           SCENE_ZORAS_RIVER,      TWO_ACTOR_PARAMS(-1436, 906),   "Near Tree Grass 12",          RHT_ZR_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_ZR_GRASS_12));
    locationTable[RC_ZR_NEAR_FREESTANDING_POH_GRASS]                   =   Location::Grass(RC_ZR_NEAR_FREESTANDING_POH_GRASS,         RCQUEST_BOTH, RCAREA_ZORAS_RIVER,           SCENE_ZORAS_RIVER,      TWO_ACTOR_PARAMS(231, -1478),   "Near Freestanding PoH Grass", RHT_ZR_GRASS,                     RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_ZR_NEAR_FREESTANDING_POH_GRASS));
    // Grotto Grass
    locationTable[RC_KF_STORMS_GROTTO_GRASS_1]                         =   Location::Grass(RC_KF_STORMS_GROTTO_GRASS_1,               RCQUEST_BOTH, RCAREA_KOKIRI_FOREST,         SCENE_GROTTOS, TWO_ACTOR_PARAMS(3, 0x2C),                "Storms Grotto Grass 1",         RHT_GROTTO_GRASS,                 RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_KF_STORMS_GROTTO_GRASS_1));
    locationTable[RC_KF_STORMS_GROTTO_GRASS_2]                         =   Location::Grass(RC_KF_STORMS_GROTTO_GRASS_2,               RCQUEST_BOTH, RCAREA_KOKIRI_FOREST,         SCENE_GROTTOS, TWO_ACTOR_PARAMS(88, 0x2C),               "Storms Grotto Grass 2",         RHT_GROTTO_GRASS,                 RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_KF_STORMS_GROTTO_GRASS_2));
    locationTable[RC_KF_STORMS_GROTTO_GRASS_3]                         =   Location::Grass(RC_KF_STORMS_GROTTO_GRASS_3,               RCQUEST_BOTH, RCAREA_KOKIRI_FOREST,         SCENE_GROTTOS, TWO_ACTOR_PARAMS(-3, 0x2C),               "Storms Grotto Grass 3",         RHT_GROTTO_GRASS,                 RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_KF_STORMS_GROTTO_GRASS_3));
    locationTable[RC_KF_STORMS_GROTTO_GRASS_4]                         =   Location::Grass(RC_KF_STORMS_GROTTO_GRASS_4,               RCQUEST_BOTH, RCAREA_KOKIRI_FOREST,         SCENE_GROTTOS, TWO_ACTOR_PARAMS(13, 0x2C),               "Storms Grotto Grass 4",         RHT_GROTTO_GRASS,                 RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_KF_STORMS_GROTTO_GRASS_4));
    locationTable[RC_LW_NEAR_SHORTCUTS_GROTTO_GRASS_1]                 =   Location::Grass(RC_LW_NEAR_SHORTCUTS_GROTTO_GRASS_1,       RCQUEST_BOTH, RCAREA_LOST_WOODS,            SCENE_GROTTOS, TWO_ACTOR_PARAMS(3, 0x14),                "Near Shortcuts Grotto Grass 1", RHT_GROTTO_GRASS,                 RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_LW_NEAR_SHORTCUTS_GROTTO_GRASS_1));
    locationTable[RC_LW_NEAR_SHORTCUTS_GROTTO_GRASS_2]                 =   Location::Grass(RC_LW_NEAR_SHORTCUTS_GROTTO_GRASS_2,       RCQUEST_BOTH, RCAREA_LOST_WOODS,            SCENE_GROTTOS, TWO_ACTOR_PARAMS(88, 0x14),               "Near Shortcuts Grotto Grass 2", RHT_GROTTO_GRASS,                 RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_LW_NEAR_SHORTCUTS_GROTTO_GRASS_2));
    locationTable[RC_LW_NEAR_SHORTCUTS_GROTTO_GRASS_3]                 =   Location::Grass(RC_LW_NEAR_SHORTCUTS_GROTTO_GRASS_3,       RCQUEST_BOTH, RCAREA_LOST_WOODS,            SCENE_GROTTOS, TWO_ACTOR_PARAMS(-3, 0x14),               "Near Shortcuts Grotto Grass 3", RHT_GROTTO_GRASS,                 RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_LW_NEAR_SHORTCUTS_GROTTO_GRASS_3));
    locationTable[RC_LW_NEAR_SHORTCUTS_GROTTO_GRASS_4]                 =   Location::Grass(RC_LW_NEAR_SHORTCUTS_GROTTO_GRASS_4,       RCQUEST_BOTH, RCAREA_LOST_WOODS,            SCENE_GROTTOS, TWO_ACTOR_PARAMS(13, 0x14),               "Near Shortcuts Grotto Grass 4", RHT_GROTTO_GRASS,                 RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_LW_NEAR_SHORTCUTS_GROTTO_GRASS_4));
    locationTable[RC_HF_NEAR_MARKET_GROTTO_GRASS_1]                    =   Location::Grass(RC_HF_NEAR_MARKET_GROTTO_GRASS_1,          RCQUEST_BOTH, RCAREA_HYRULE_FIELD,          SCENE_GROTTOS, TWO_ACTOR_PARAMS(3, 0x00),                "Near Market Grotto Grass 1",    RHT_GROTTO_GRASS,                 RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_HF_NEAR_MARKET_GROTTO_GRASS_1));
    locationTable[RC_HF_NEAR_MARKET_GROTTO_GRASS_2]                    =   Location::Grass(RC_HF_NEAR_MARKET_GROTTO_GRASS_2,          RCQUEST_BOTH, RCAREA_HYRULE_FIELD,          SCENE_GROTTOS, TWO_ACTOR_PARAMS(88, 0x00),               "Near Market Grotto Grass 2",    RHT_GROTTO_GRASS,                 RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_HF_NEAR_MARKET_GROTTO_GRASS_2));
    locationTable[RC_HF_NEAR_MARKET_GROTTO_GRASS_3]                    =   Location::Grass(RC_HF_NEAR_MARKET_GROTTO_GRASS_3,          RCQUEST_BOTH, RCAREA_HYRULE_FIELD,          SCENE_GROTTOS, TWO_ACTOR_PARAMS(-3, 0x00),               "Near Market Grotto Grass 3",    RHT_GROTTO_GRASS,                 RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_HF_NEAR_MARKET_GROTTO_GRASS_3));
    locationTable[RC_HF_NEAR_MARKET_GROTTO_GRASS_4]                    =   Location::Grass(RC_HF_NEAR_MARKET_GROTTO_GRASS_4,          RCQUEST_BOTH, RCAREA_HYRULE_FIELD,          SCENE_GROTTOS, TWO_ACTOR_PARAMS(13, 0x00),               "Near Market Grotto Grass 4",    RHT_GROTTO_GRASS,                 RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_HF_NEAR_MARKET_GROTTO_GRASS_4));
    locationTable[RC_HF_OPEN_GROTTO_GRASS_1]                           =   Location::Grass(RC_HF_OPEN_GROTTO_GRASS_1,                 RCQUEST_BOTH, RCAREA_HYRULE_FIELD,          SCENE_GROTTOS, TWO_ACTOR_PARAMS(3, 0x03),                "Open Grotto Grass 1",           RHT_GROTTO_GRASS,                 RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_HF_OPEN_GROTTO_GRASS_1));
    locationTable[RC_HF_OPEN_GROTTO_GRASS_2]                           =   Location::Grass(RC_HF_OPEN_GROTTO_GRASS_2,                 RCQUEST_BOTH, RCAREA_HYRULE_FIELD,          SCENE_GROTTOS, TWO_ACTOR_PARAMS(88, 0x03),               "Open Grotto Grass 2",           RHT_GROTTO_GRASS,                 RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_HF_OPEN_GROTTO_GRASS_2));
    locationTable[RC_HF_OPEN_GROTTO_GRASS_3]                           =   Location::Grass(RC_HF_OPEN_GROTTO_GRASS_3,                 RCQUEST_BOTH, RCAREA_HYRULE_FIELD,          SCENE_GROTTOS, TWO_ACTOR_PARAMS(-3, 0x03),               "Open Grotto Grass 3",           RHT_GROTTO_GRASS,                 RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_HF_OPEN_GROTTO_GRASS_3));
    locationTable[RC_HF_OPEN_GROTTO_GRASS_4]                           =   Location::Grass(RC_HF_OPEN_GROTTO_GRASS_4,                 RCQUEST_BOTH, RCAREA_HYRULE_FIELD,          SCENE_GROTTOS, TWO_ACTOR_PARAMS(13, 0x03),               "Open Grotto Grass 4",           RHT_GROTTO_GRASS,                 RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_HF_OPEN_GROTTO_GRASS_4));
    locationTable[RC_HF_SOUTHEAST_GROTTO_GRASS_1]                      =   Location::Grass(RC_HF_SOUTHEAST_GROTTO_GRASS_1,            RCQUEST_BOTH, RCAREA_HYRULE_FIELD,          SCENE_GROTTOS, TWO_ACTOR_PARAMS(3, 0x22),                "Southeast Grotto Grass 1",      RHT_GROTTO_GRASS,                 RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_HF_SOUTHEAST_GROTTO_GRASS_1));
    locationTable[RC_HF_SOUTHEAST_GROTTO_GRASS_2]                      =   Location::Grass(RC_HF_SOUTHEAST_GROTTO_GRASS_2,            RCQUEST_BOTH, RCAREA_HYRULE_FIELD,          SCENE_GROTTOS, TWO_ACTOR_PARAMS(88, 0x22),               "Southeast Grotto Grass 2",      RHT_GROTTO_GRASS,                 RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_HF_SOUTHEAST_GROTTO_GRASS_2));
    locationTable[RC_HF_SOUTHEAST_GROTTO_GRASS_3]                      =   Location::Grass(RC_HF_SOUTHEAST_GROTTO_GRASS_3,            RCQUEST_BOTH, RCAREA_HYRULE_FIELD,          SCENE_GROTTOS, TWO_ACTOR_PARAMS(-3, 0x22),               "Southeast Grotto Grass 3",      RHT_GROTTO_GRASS,                 RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_HF_SOUTHEAST_GROTTO_GRASS_3));
    locationTable[RC_HF_SOUTHEAST_GROTTO_GRASS_4]                      =   Location::Grass(RC_HF_SOUTHEAST_GROTTO_GRASS_4,            RCQUEST_BOTH, RCAREA_HYRULE_FIELD,          SCENE_GROTTOS, TWO_ACTOR_PARAMS(13, 0x22),               "Southeast Grotto Grass 4",      RHT_GROTTO_GRASS,                 RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_HF_SOUTHEAST_GROTTO_GRASS_4));
    locationTable[RC_HF_COW_GROTTO_GRASS_1]                            =   Location::Grass(RC_HF_COW_GROTTO_GRASS_1,                  RCQUEST_BOTH, RCAREA_HYRULE_FIELD,          SCENE_GROTTOS, TWO_ACTOR_PARAMS(3419, 0xE4),             "Cow Grotto Grass 1",            RHT_GROTTO_GRASS,                 RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_HF_COW_GROTTO_GRASS_1));
    locationTable[RC_HF_COW_GROTTO_GRASS_2]                            =   Location::Grass(RC_HF_COW_GROTTO_GRASS_2,                  RCQUEST_BOTH, RCAREA_HYRULE_FIELD,          SCENE_GROTTOS, TWO_ACTOR_PARAMS(3518, 0xE4),             "Cow Grotto Grass 2",            RHT_GROTTO_GRASS,                 RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_HF_COW_GROTTO_GRASS_2));
    locationTable[RC_KAK_OPEN_GROTTO_GRASS_1]                          =   Location::Grass(RC_KAK_OPEN_GROTTO_GRASS_1,                RCQUEST_BOTH, RCAREA_KAKARIKO_VILLAGE,      SCENE_GROTTOS, TWO_ACTOR_PARAMS(3, 0x28),                "Open Grotto Grass 1",           RHT_GROTTO_GRASS,                 RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_KAK_OPEN_GROTTO_GRASS_1));
    locationTable[RC_KAK_OPEN_GROTTO_GRASS_2]                          =   Location::Grass(RC_KAK_OPEN_GROTTO_GRASS_2,                RCQUEST_BOTH, RCAREA_KAKARIKO_VILLAGE,      SCENE_GROTTOS, TWO_ACTOR_PARAMS(88, 0x28),               "Open Grotto Grass 2",           RHT_GROTTO_GRASS,                 RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_KAK_OPEN_GROTTO_GRASS_2));
    locationTable[RC_KAK_OPEN_GROTTO_GRASS_3]                          =   Location::Grass(RC_KAK_OPEN_GROTTO_GRASS_3,                RCQUEST_BOTH, RCAREA_KAKARIKO_VILLAGE,      SCENE_GROTTOS, TWO_ACTOR_PARAMS(-3, 0x28),               "Open Grotto Grass 3",           RHT_GROTTO_GRASS,                 RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_KAK_OPEN_GROTTO_GRASS_3));
    locationTable[RC_KAK_OPEN_GROTTO_GRASS_4]                          =   Location::Grass(RC_KAK_OPEN_GROTTO_GRASS_4,                RCQUEST_BOTH, RCAREA_KAKARIKO_VILLAGE,      SCENE_GROTTOS, TWO_ACTOR_PARAMS(13, 0x28),               "Open Grotto Grass 4",           RHT_GROTTO_GRASS,                 RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_KAK_OPEN_GROTTO_GRASS_4));
    locationTable[RC_DMT_STORMS_GROTTO_GRASS_1]                        =   Location::Grass(RC_DMT_STORMS_GROTTO_GRASS_1,              RCQUEST_BOTH, RCAREA_DEATH_MOUNTAIN_TRAIL,  SCENE_GROTTOS, TWO_ACTOR_PARAMS(3, 0x57),                "Storms Grotto Grass 1",         RHT_GROTTO_GRASS,                 RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_DMT_STORMS_GROTTO_GRASS_1));
    locationTable[RC_DMT_STORMS_GROTTO_GRASS_2]                        =   Location::Grass(RC_DMT_STORMS_GROTTO_GRASS_2,              RCQUEST_BOTH, RCAREA_DEATH_MOUNTAIN_TRAIL,  SCENE_GROTTOS, TWO_ACTOR_PARAMS(88, 0x57),               "Storms Grotto Grass 2",         RHT_GROTTO_GRASS,                 RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_DMT_STORMS_GROTTO_GRASS_2));
    locationTable[RC_DMT_STORMS_GROTTO_GRASS_3]                        =   Location::Grass(RC_DMT_STORMS_GROTTO_GRASS_3,              RCQUEST_BOTH, RCAREA_DEATH_MOUNTAIN_TRAIL,  SCENE_GROTTOS, TWO_ACTOR_PARAMS(-3, 0x57),               "Storms Grotto Grass 3",         RHT_GROTTO_GRASS,                 RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_DMT_STORMS_GROTTO_GRASS_3));
    locationTable[RC_DMT_STORMS_GROTTO_GRASS_4]                        =   Location::Grass(RC_DMT_STORMS_GROTTO_GRASS_4,              RCQUEST_BOTH, RCAREA_DEATH_MOUNTAIN_TRAIL,  SCENE_GROTTOS, TWO_ACTOR_PARAMS(13, 0x57),               "Storms Grotto Grass 4",         RHT_GROTTO_GRASS,                 RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_DMT_STORMS_GROTTO_GRASS_4));
    locationTable[RC_DMT_COW_GROTTO_GRASS_1]                           =   Location::Grass(RC_DMT_COW_GROTTO_GRASS_1,                 RCQUEST_BOTH, RCAREA_DEATH_MOUNTAIN_TRAIL,  SCENE_GROTTOS, TWO_ACTOR_PARAMS(2443, 0xF8),             "Cow Grotto Grass 1",            RHT_GROTTO_GRASS,                 RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_DMT_COW_GROTTO_GRASS_1));
    locationTable[RC_DMT_COW_GROTTO_GRASS_2]                           =   Location::Grass(RC_DMT_COW_GROTTO_GRASS_2,                 RCQUEST_BOTH, RCAREA_DEATH_MOUNTAIN_TRAIL,  SCENE_GROTTOS, TWO_ACTOR_PARAMS(2494, 0xF8),             "Cow Grotto Grass 2",            RHT_GROTTO_GRASS,                 RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_DMT_COW_GROTTO_GRASS_2));
    locationTable[RC_DMC_UPPER_GROTTO_GRASS_1]                         =   Location::Grass(RC_DMC_UPPER_GROTTO_GRASS_1,               RCQUEST_BOTH, RCAREA_DEATH_MOUNTAIN_CRATER, SCENE_GROTTOS, TWO_ACTOR_PARAMS(3, 0x7A),                "Upper Grotto Grass 1",          RHT_GROTTO_GRASS,                 RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_DMC_UPPER_GROTTO_GRASS_1));
    locationTable[RC_DMC_UPPER_GROTTO_GRASS_2]                         =   Location::Grass(RC_DMC_UPPER_GROTTO_GRASS_2,               RCQUEST_BOTH, RCAREA_DEATH_MOUNTAIN_CRATER, SCENE_GROTTOS, TWO_ACTOR_PARAMS(88, 0x7A),               "Upper Grotto Grass 2",          RHT_GROTTO_GRASS,                 RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_DMC_UPPER_GROTTO_GRASS_2));
    locationTable[RC_DMC_UPPER_GROTTO_GRASS_3]                         =   Location::Grass(RC_DMC_UPPER_GROTTO_GRASS_3,               RCQUEST_BOTH, RCAREA_DEATH_MOUNTAIN_CRATER, SCENE_GROTTOS, TWO_ACTOR_PARAMS(-3, 0x7A),               "Upper Grotto Grass 3",          RHT_GROTTO_GRASS,                 RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_DMC_UPPER_GROTTO_GRASS_3));
    locationTable[RC_DMC_UPPER_GROTTO_GRASS_4]                         =   Location::Grass(RC_DMC_UPPER_GROTTO_GRASS_4,               RCQUEST_BOTH, RCAREA_DEATH_MOUNTAIN_CRATER, SCENE_GROTTOS, TWO_ACTOR_PARAMS(13, 0x7A),               "Upper Grotto Grass 4",          RHT_GROTTO_GRASS,                 RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_DMC_UPPER_GROTTO_GRASS_4));
    locationTable[RC_ZR_OPEN_GROTTO_GRASS_1]                           =   Location::Grass(RC_ZR_OPEN_GROTTO_GRASS_1,                 RCQUEST_BOTH, RCAREA_ZORAS_RIVER,           SCENE_GROTTOS, TWO_ACTOR_PARAMS(3, 0x29),                "Open Grotto Grass 1",           RHT_GROTTO_GRASS,                 RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_ZR_OPEN_GROTTO_GRASS_1));
    locationTable[RC_ZR_OPEN_GROTTO_GRASS_2]                           =   Location::Grass(RC_ZR_OPEN_GROTTO_GRASS_2,                 RCQUEST_BOTH, RCAREA_ZORAS_RIVER,           SCENE_GROTTOS, TWO_ACTOR_PARAMS(88, 0x29),               "Open Grotto Grass 2",           RHT_GROTTO_GRASS,                 RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_ZR_OPEN_GROTTO_GRASS_2));
    locationTable[RC_ZR_OPEN_GROTTO_GRASS_3]                           =   Location::Grass(RC_ZR_OPEN_GROTTO_GRASS_3,                 RCQUEST_BOTH, RCAREA_ZORAS_RIVER,           SCENE_GROTTOS, TWO_ACTOR_PARAMS(-3, 0x29),               "Open Grotto Grass 3",           RHT_GROTTO_GRASS,                 RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_ZR_OPEN_GROTTO_GRASS_3));
    locationTable[RC_ZR_OPEN_GROTTO_GRASS_4]                           =   Location::Grass(RC_ZR_OPEN_GROTTO_GRASS_4,                 RCQUEST_BOTH, RCAREA_ZORAS_RIVER,           SCENE_GROTTOS, TWO_ACTOR_PARAMS(13, 0x29),               "Open Grotto Grass 4",           RHT_GROTTO_GRASS,                 RG_GREEN_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_ZR_OPEN_GROTTO_GRASS_4));
    // Dungeon Grass
    locationTable[RC_DEKU_TREE_LOBBY_GRASS_1]                          =   Location::Grass(RC_DEKU_TREE_LOBBY_GRASS_1,                                   RCQUEST_VANILLA, RCAREA_DEKU_TREE,             SCENE_DEKU_TREE,               TWO_ACTOR_PARAMS(391, -156),    "Lobby Grass 1",                 RHT_DEKU_TREE_GRASS,              RG_BLUE_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_DEKU_TREE_LOBBY_GRASS_1));
    locationTable[RC_DEKU_TREE_LOBBY_GRASS_2]                          =   Location::Grass(RC_DEKU_TREE_LOBBY_GRASS_2,                                   RCQUEST_VANILLA, RCAREA_DEKU_TREE,             SCENE_DEKU_TREE,               TWO_ACTOR_PARAMS(355, -233),    "Lobby Grass 2",                 RHT_DEKU_TREE_GRASS,              RG_BLUE_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_DEKU_TREE_LOBBY_GRASS_2));
    locationTable[RC_DEKU_TREE_LOBBY_GRASS_3]                          =   Location::Grass(RC_DEKU_TREE_LOBBY_GRASS_3,                                   RCQUEST_VANILLA, RCAREA_DEKU_TREE,             SCENE_DEKU_TREE,               TWO_ACTOR_PARAMS(307, -289),    "Lobby Grass 3",                 RHT_DEKU_TREE_GRASS,              RG_BLUE_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_DEKU_TREE_LOBBY_GRASS_3));
    locationTable[RC_DEKU_TREE_LOBBY_GRASS_4]                          =   Location::Grass(RC_DEKU_TREE_LOBBY_GRASS_4,                                   RCQUEST_VANILLA, RCAREA_DEKU_TREE,             SCENE_DEKU_TREE,               TWO_ACTOR_PARAMS(80, -414),     "Lobby Grass 4",                 RHT_DEKU_TREE_GRASS,              RG_BLUE_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_DEKU_TREE_LOBBY_GRASS_4));
    locationTable[RC_DEKU_TREE_LOBBY_GRASS_5]                          =   Location::Grass(RC_DEKU_TREE_LOBBY_GRASS_5,                                   RCQUEST_VANILLA, RCAREA_DEKU_TREE,             SCENE_DEKU_TREE,               TWO_ACTOR_PARAMS(142, -399),    "Lobby Grass 5",                 RHT_DEKU_TREE_GRASS,              RG_BLUE_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_DEKU_TREE_LOBBY_GRASS_5));
    locationTable[RC_DEKU_TREE_SLINGSHOT_GRASS_1]                      =   Location::Grass(RC_DEKU_TREE_SLINGSHOT_GRASS_1,                               RCQUEST_VANILLA, RCAREA_DEKU_TREE,             SCENE_DEKU_TREE,               TWO_ACTOR_PARAMS(-1018, 1263),  "Slingshot Grass 1",             RHT_DEKU_TREE_GRASS,              RG_BLUE_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_DEKU_TREE_SLINGSHOT_GRASS_1));
    locationTable[RC_DEKU_TREE_SLINGSHOT_GRASS_2]                      =   Location::Grass(RC_DEKU_TREE_SLINGSHOT_GRASS_2,                               RCQUEST_VANILLA, RCAREA_DEKU_TREE,             SCENE_DEKU_TREE,               TWO_ACTOR_PARAMS(-1005, 1216),  "Slingshot Grass 2",             RHT_DEKU_TREE_GRASS,              RG_BLUE_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_DEKU_TREE_SLINGSHOT_GRASS_2));
    locationTable[RC_DEKU_TREE_SLINGSHOT_GRASS_3]                      =   Location::Grass(RC_DEKU_TREE_SLINGSHOT_GRASS_3,                               RCQUEST_VANILLA, RCAREA_DEKU_TREE,             SCENE_DEKU_TREE,               TWO_ACTOR_PARAMS(-1280, 1026),  "Slingshot Grass 3",             RHT_DEKU_TREE_GRASS,              RG_BLUE_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_DEKU_TREE_SLINGSHOT_GRASS_3));
    locationTable[RC_DEKU_TREE_SLINGSHOT_GRASS_4]                      =   Location::Grass(RC_DEKU_TREE_SLINGSHOT_GRASS_4,                               RCQUEST_VANILLA, RCAREA_DEKU_TREE,             SCENE_DEKU_TREE,               TWO_ACTOR_PARAMS(-1229, 1006),  "Slingshot Grass 4",             RHT_DEKU_TREE_GRASS,              RG_BLUE_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_DEKU_TREE_SLINGSHOT_GRASS_4));
    locationTable[RC_DEKU_TREE_COMPASS_GRASS_1]                        =   Location::Grass(RC_DEKU_TREE_COMPASS_GRASS_1,                                 RCQUEST_VANILLA, RCAREA_DEKU_TREE,             SCENE_DEKU_TREE,               TWO_ACTOR_PARAMS(-1444, 169),   "Compass Grass 1",               RHT_DEKU_TREE_GRASS,              RG_BLUE_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_DEKU_TREE_COMPASS_GRASS_1));
    locationTable[RC_DEKU_TREE_COMPASS_GRASS_2]                        =   Location::Grass(RC_DEKU_TREE_COMPASS_GRASS_2,                                 RCQUEST_VANILLA, RCAREA_DEKU_TREE,             SCENE_DEKU_TREE,               TWO_ACTOR_PARAMS(-1516, 142),   "Compass Grass 2",               RHT_DEKU_TREE_GRASS,              RG_BLUE_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_DEKU_TREE_COMPASS_GRASS_2));
    locationTable[RC_DEKU_TREE_BASEMENT_GRASS_1]                       =   Location::Grass(RC_DEKU_TREE_BASEMENT_GRASS_1,                                RCQUEST_VANILLA, RCAREA_DEKU_TREE,             SCENE_DEKU_TREE,               TWO_ACTOR_PARAMS(48, 130),      "Basement Grass 1",              RHT_DEKU_TREE_GRASS,              RG_BLUE_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_DEKU_TREE_BASEMENT_GRASS_1));
    locationTable[RC_DEKU_TREE_BASEMENT_GRASS_2]                       =   Location::Grass(RC_DEKU_TREE_BASEMENT_GRASS_2,                                RCQUEST_VANILLA, RCAREA_DEKU_TREE,             SCENE_DEKU_TREE,               TWO_ACTOR_PARAMS(48, 187),      "Basement Grass 2",              RHT_DEKU_TREE_GRASS,              RG_BLUE_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_DEKU_TREE_BASEMENT_GRASS_2));
    locationTable[RC_DEKU_TREE_BASEMENT_SCRUB_ROOM_GRASS_1]            =   Location::Grass(RC_DEKU_TREE_BASEMENT_SCRUB_ROOM_GRASS_1,                     RCQUEST_VANILLA, RCAREA_DEKU_TREE,             SCENE_DEKU_TREE,               TWO_ACTOR_PARAMS(-228, 792),    "Eye Switch Grass 1",            RHT_DEKU_TREE_GRASS,              RG_BLUE_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_DEKU_TREE_BASEMENT_SCRUB_ROOM_GRASS_1));
    locationTable[RC_DEKU_TREE_BASEMENT_SCRUB_ROOM_GRASS_2]            =   Location::Grass(RC_DEKU_TREE_BASEMENT_SCRUB_ROOM_GRASS_2,                     RCQUEST_VANILLA, RCAREA_DEKU_TREE,             SCENE_DEKU_TREE,               TWO_ACTOR_PARAMS(-202, 751),    "Eye Switch Grass 2",            RHT_DEKU_TREE_GRASS,              RG_BLUE_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_DEKU_TREE_BASEMENT_SCRUB_ROOM_GRASS_2));
    locationTable[RC_DEKU_TREE_BASEMENT_SCRUB_ROOM_GRASS_3]            =   Location::Grass(RC_DEKU_TREE_BASEMENT_SCRUB_ROOM_GRASS_3,                     RCQUEST_VANILLA, RCAREA_DEKU_TREE,             SCENE_DEKU_TREE,               TWO_ACTOR_PARAMS(79, 794),      "Eye Switch Grass 3",            RHT_DEKU_TREE_GRASS,              RG_BLUE_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_DEKU_TREE_BASEMENT_SCRUB_ROOM_GRASS_3));
    locationTable[RC_DEKU_TREE_BASEMENT_SCRUB_ROOM_GRASS_4]            =   Location::Grass(RC_DEKU_TREE_BASEMENT_SCRUB_ROOM_GRASS_4,                     RCQUEST_VANILLA, RCAREA_DEKU_TREE,             SCENE_DEKU_TREE,               TWO_ACTOR_PARAMS(49, 752),      "Eye Switch Grass 4",            RHT_DEKU_TREE_GRASS,              RG_BLUE_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_DEKU_TREE_BASEMENT_SCRUB_ROOM_GRASS_4));
    locationTable[RC_DEKU_TREE_BASEMENT_SPIKE_ROLLER_GRASS_1]          =   Location::Grass(RC_DEKU_TREE_BASEMENT_SPIKE_ROLLER_GRASS_1,                   RCQUEST_VANILLA, RCAREA_DEKU_TREE,             SCENE_DEKU_TREE,               TWO_ACTOR_PARAMS(-1310, 840),   "Spike Roller Grass 1",          RHT_DEKU_TREE_GRASS,              RG_BLUE_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_DEKU_TREE_BASEMENT_SPIKE_ROLLER_GRASS_1));
    locationTable[RC_DEKU_TREE_BASEMENT_SPIKE_ROLLER_GRASS_2]          =   Location::Grass(RC_DEKU_TREE_BASEMENT_SPIKE_ROLLER_GRASS_2,                   RCQUEST_VANILLA, RCAREA_DEKU_TREE,             SCENE_DEKU_TREE,               TWO_ACTOR_PARAMS(-1361, 840),   "Spike Roller Grass 2",          RHT_DEKU_TREE_GRASS,              RG_BLUE_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_DEKU_TREE_BASEMENT_SPIKE_ROLLER_GRASS_2));
    locationTable[RC_DEKU_TREE_BASEMENT_TORCHES_GRASS_1]               =   Location::Grass(RC_DEKU_TREE_BASEMENT_TORCHES_GRASS_1,                        RCQUEST_VANILLA, RCAREA_DEKU_TREE,             SCENE_DEKU_TREE,               TWO_ACTOR_PARAMS(-1796, 821),   "Torches Grass 1",               RHT_DEKU_TREE_GRASS,              RG_BLUE_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_DEKU_TREE_BASEMENT_TORCHES_GRASS_1));
    locationTable[RC_DEKU_TREE_BASEMENT_TORCHES_GRASS_2]               =   Location::Grass(RC_DEKU_TREE_BASEMENT_TORCHES_GRASS_2,                        RCQUEST_VANILLA, RCAREA_DEKU_TREE,             SCENE_DEKU_TREE,               TWO_ACTOR_PARAMS(-1919, 820),   "Torches Grass 2",               RHT_DEKU_TREE_GRASS,              RG_BLUE_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_DEKU_TREE_BASEMENT_TORCHES_GRASS_2));
    locationTable[RC_DEKU_TREE_BASEMENT_LARVAE_GRASS_1]                =   Location::Grass(RC_DEKU_TREE_BASEMENT_LARVAE_GRASS_1,                         RCQUEST_VANILLA, RCAREA_DEKU_TREE,             SCENE_DEKU_TREE,               TWO_ACTOR_PARAMS(-1955, -296),  "Larvae Grass 1",                RHT_DEKU_TREE_GRASS,              RG_BLUE_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_DEKU_TREE_BASEMENT_LARVAE_GRASS_1));
    locationTable[RC_DEKU_TREE_BASEMENT_LARVAE_GRASS_2]                =   Location::Grass(RC_DEKU_TREE_BASEMENT_LARVAE_GRASS_2,                         RCQUEST_VANILLA, RCAREA_DEKU_TREE,             SCENE_DEKU_TREE,               TWO_ACTOR_PARAMS(-2025, -301),  "Larvae Grass 2",                RHT_DEKU_TREE_GRASS,              RG_BLUE_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_DEKU_TREE_BASEMENT_LARVAE_GRASS_2));
    locationTable[RC_DEKU_TREE_BEFORE_BOSS_GRASS_1]                    =   Location::Grass(RC_DEKU_TREE_BEFORE_BOSS_GRASS_1,                             RCQUEST_VANILLA, RCAREA_DEKU_TREE,             SCENE_DEKU_TREE,               TWO_ACTOR_PARAMS(-273, -515),   "Before Boss Grass 1",           RHT_DEKU_TREE_GRASS,              RG_BLUE_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_DEKU_TREE_BEFORE_BOSS_GRASS_1));
    locationTable[RC_DEKU_TREE_BEFORE_BOSS_GRASS_2]                    =   Location::Grass(RC_DEKU_TREE_BEFORE_BOSS_GRASS_2,                             RCQUEST_VANILLA, RCAREA_DEKU_TREE,             SCENE_DEKU_TREE,               TWO_ACTOR_PARAMS(-273, -577),   "Before Boss Grass 2",           RHT_DEKU_TREE_GRASS,              RG_BLUE_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_DEKU_TREE_BEFORE_BOSS_GRASS_2));
    locationTable[RC_DEKU_TREE_BEFORE_BOSS_GRASS_3]                    =   Location::Grass(RC_DEKU_TREE_BEFORE_BOSS_GRASS_3,                             RCQUEST_VANILLA, RCAREA_DEKU_TREE,             SCENE_DEKU_TREE,               TWO_ACTOR_PARAMS(-269, -643),   "Before Boss Grass 3",           RHT_DEKU_TREE_GRASS,              RG_BLUE_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_DEKU_TREE_BEFORE_BOSS_GRASS_3));
    locationTable[RC_DODONGOS_CAVERN_FIRST_BRIDGE_GRASS]               =   Location::Grass(RC_DODONGOS_CAVERN_FIRST_BRIDGE_GRASS,                        RCQUEST_VANILLA, RCAREA_DODONGOS_CAVERN,       SCENE_DODONGOS_CAVERN,         TWO_ACTOR_PARAMS(-760, -465),   "First Bridge Grass",            RHT_DODONGOS_CAVERN_GRASS,        RG_BLUE_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_DODONGOS_CAVERN_FIRST_BRIDGE_GRASS));
    locationTable[RC_DODONGOS_CAVERN_BLADE_GRASS]                      =   Location::Grass(RC_DODONGOS_CAVERN_BLADE_GRASS,                               RCQUEST_VANILLA, RCAREA_DODONGOS_CAVERN,       SCENE_DODONGOS_CAVERN,         TWO_ACTOR_PARAMS(1713, -1246),  "Blade Room Grass",              RHT_DODONGOS_CAVERN_GRASS,        RG_BLUE_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_DODONGOS_CAVERN_BLADE_GRASS));
    locationTable[RC_DODONGOS_CAVERN_SINGLE_EYE_GRASS]                 =   Location::Grass(RC_DODONGOS_CAVERN_SINGLE_EYE_GRASS,                          RCQUEST_VANILLA, RCAREA_DODONGOS_CAVERN,       SCENE_DODONGOS_CAVERN,         TWO_ACTOR_PARAMS(3189, -485),   "Single Eye Grass",              RHT_DODONGOS_CAVERN_GRASS,        RG_BLUE_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_DODONGOS_CAVERN_SINGLE_EYE_GRASS));
    locationTable[RC_DODONGOS_CAVERN_BEFORE_BOSS_GRASS]                =   Location::Grass(RC_DODONGOS_CAVERN_BEFORE_BOSS_GRASS,                         RCQUEST_VANILLA, RCAREA_DODONGOS_CAVERN,       SCENE_DODONGOS_CAVERN,         TWO_ACTOR_PARAMS(-249, -2519),  "Before Boss Grass",             RHT_DODONGOS_CAVERN_GRASS,        RG_BLUE_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_DODONGOS_CAVERN_BEFORE_BOSS_GRASS));
    locationTable[RC_BOTTOM_OF_THE_WELL_BASEMENT_BEHIND_ROCKS_GRASS_1] =   Location::Grass(RC_BOTTOM_OF_THE_WELL_BASEMENT_BEHIND_ROCKS_GRASS_1,          RCQUEST_VANILLA, RCAREA_BOTTOM_OF_THE_WELL,    SCENE_BOTTOM_OF_THE_WELL,      TWO_ACTOR_PARAMS(-858, -1330),  "Basement Behind Rocks Grass 1", RHT_BOTTOM_OF_THE_WELL_GRASS,     RG_BLUE_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_BOTTOM_OF_THE_WELL_BASEMENT_BEHIND_ROCKS_GRASS_1));
    locationTable[RC_BOTTOM_OF_THE_WELL_BASEMENT_BEHIND_ROCKS_GRASS_2] =   Location::Grass(RC_BOTTOM_OF_THE_WELL_BASEMENT_BEHIND_ROCKS_GRASS_2,          RCQUEST_VANILLA, RCAREA_BOTTOM_OF_THE_WELL,    SCENE_BOTTOM_OF_THE_WELL,      TWO_ACTOR_PARAMS(-870, -1021),  "Basement Behind Rocks Grass 2", RHT_BOTTOM_OF_THE_WELL_GRASS,     RG_BLUE_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_BOTTOM_OF_THE_WELL_BASEMENT_BEHIND_ROCKS_GRASS_2));
    locationTable[RC_BOTTOM_OF_THE_WELL_BASEMENT_BEHIND_ROCKS_GRASS_3] =   Location::Grass(RC_BOTTOM_OF_THE_WELL_BASEMENT_BEHIND_ROCKS_GRASS_3,          RCQUEST_VANILLA, RCAREA_BOTTOM_OF_THE_WELL,    SCENE_BOTTOM_OF_THE_WELL,      TWO_ACTOR_PARAMS(-872, -1383),  "Basement Behind Rocks Grass 3", RHT_BOTTOM_OF_THE_WELL_GRASS,     RG_BLUE_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_BOTTOM_OF_THE_WELL_BASEMENT_BEHIND_ROCKS_GRASS_3));
    locationTable[RC_BOTTOM_OF_THE_WELL_BASEMENT_BEHIND_ROCKS_GRASS_4] =   Location::Grass(RC_BOTTOM_OF_THE_WELL_BASEMENT_BEHIND_ROCKS_GRASS_4,          RCQUEST_VANILLA, RCAREA_BOTTOM_OF_THE_WELL,    SCENE_BOTTOM_OF_THE_WELL,      TWO_ACTOR_PARAMS(-874, -1447),  "Basement Behind Rocks Grass 4", RHT_BOTTOM_OF_THE_WELL_GRASS,     RG_BLUE_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_BOTTOM_OF_THE_WELL_BASEMENT_BEHIND_ROCKS_GRASS_4));
    locationTable[RC_BOTTOM_OF_THE_WELL_BASEMENT_BEHIND_ROCKS_GRASS_5] =   Location::Grass(RC_BOTTOM_OF_THE_WELL_BASEMENT_BEHIND_ROCKS_GRASS_5,          RCQUEST_VANILLA, RCAREA_BOTTOM_OF_THE_WELL,    SCENE_BOTTOM_OF_THE_WELL,      TWO_ACTOR_PARAMS(-886, -1263),  "Basement Behind Rocks Grass 5", RHT_BOTTOM_OF_THE_WELL_GRASS,     RG_BLUE_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_BOTTOM_OF_THE_WELL_BASEMENT_BEHIND_ROCKS_GRASS_5));
    locationTable[RC_BOTTOM_OF_THE_WELL_BASEMENT_BEHIND_ROCKS_GRASS_6] =   Location::Grass(RC_BOTTOM_OF_THE_WELL_BASEMENT_BEHIND_ROCKS_GRASS_6,          RCQUEST_VANILLA, RCAREA_BOTTOM_OF_THE_WELL,    SCENE_BOTTOM_OF_THE_WELL,      TWO_ACTOR_PARAMS(-918, -1131),  "Basement Behind Rocks Grass 6", RHT_BOTTOM_OF_THE_WELL_GRASS,     RG_BLUE_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_BOTTOM_OF_THE_WELL_BASEMENT_BEHIND_ROCKS_GRASS_6));
    locationTable[RC_BOTTOM_OF_THE_WELL_BASEMENT_BEHIND_ROCKS_GRASS_7] =   Location::Grass(RC_BOTTOM_OF_THE_WELL_BASEMENT_BEHIND_ROCKS_GRASS_7,          RCQUEST_VANILLA, RCAREA_BOTTOM_OF_THE_WELL,    SCENE_BOTTOM_OF_THE_WELL,      TWO_ACTOR_PARAMS(-943, -1316),  "Basement Behind Rocks Grass 7", RHT_BOTTOM_OF_THE_WELL_GRASS,     RG_BLUE_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_BOTTOM_OF_THE_WELL_BASEMENT_BEHIND_ROCKS_GRASS_7));
    locationTable[RC_BOTTOM_OF_THE_WELL_BASEMENT_BEHIND_ROCKS_GRASS_8] =   Location::Grass(RC_BOTTOM_OF_THE_WELL_BASEMENT_BEHIND_ROCKS_GRASS_8,          RCQUEST_VANILLA, RCAREA_BOTTOM_OF_THE_WELL,    SCENE_BOTTOM_OF_THE_WELL,      TWO_ACTOR_PARAMS(-956, -1377),  "Basement Behind Rocks Grass 8", RHT_BOTTOM_OF_THE_WELL_GRASS,     RG_BLUE_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_BOTTOM_OF_THE_WELL_BASEMENT_BEHIND_ROCKS_GRASS_8));
    locationTable[RC_BOTTOM_OF_THE_WELL_BASEMENT_BEHIND_ROCKS_GRASS_9] =   Location::Grass(RC_BOTTOM_OF_THE_WELL_BASEMENT_BEHIND_ROCKS_GRASS_9,          RCQUEST_VANILLA, RCAREA_BOTTOM_OF_THE_WELL,    SCENE_BOTTOM_OF_THE_WELL,      TWO_ACTOR_PARAMS(-956, -1463),  "Basement Behind Rocks Grass 9", RHT_BOTTOM_OF_THE_WELL_GRASS,     RG_BLUE_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_BOTTOM_OF_THE_WELL_BASEMENT_BEHIND_ROCKS_GRASS_9));
    locationTable[RC_BOTTOM_OF_THE_WELL_BASEMENT_GRASS_1]              =   Location::Grass(RC_BOTTOM_OF_THE_WELL_BASEMENT_GRASS_1,                       RCQUEST_VANILLA, RCAREA_BOTTOM_OF_THE_WELL,    SCENE_BOTTOM_OF_THE_WELL,      TWO_ACTOR_PARAMS(-619, -627),   "Basement Grass 1",              RHT_BOTTOM_OF_THE_WELL_GRASS,     RG_BLUE_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_BOTTOM_OF_THE_WELL_BASEMENT_GRASS_1));
    locationTable[RC_BOTTOM_OF_THE_WELL_BASEMENT_GRASS_2]              =   Location::Grass(RC_BOTTOM_OF_THE_WELL_BASEMENT_GRASS_2,                       RCQUEST_VANILLA, RCAREA_BOTTOM_OF_THE_WELL,    SCENE_BOTTOM_OF_THE_WELL,      TWO_ACTOR_PARAMS(-565, -654),   "Basement Grass 2",              RHT_BOTTOM_OF_THE_WELL_GRASS,     RG_BLUE_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_BOTTOM_OF_THE_WELL_BASEMENT_GRASS_2));
    locationTable[RC_BOTTOM_OF_THE_WELL_BASEMENT_GRASS_3]              =   Location::Grass(RC_BOTTOM_OF_THE_WELL_BASEMENT_GRASS_3,                       RCQUEST_VANILLA, RCAREA_BOTTOM_OF_THE_WELL,    SCENE_BOTTOM_OF_THE_WELL,      TWO_ACTOR_PARAMS(-552, -711),   "Basement Grass 3",              RHT_BOTTOM_OF_THE_WELL_GRASS,     RG_BLUE_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_BOTTOM_OF_THE_WELL_BASEMENT_GRASS_3));
    // MQ Dungeon Grass
    locationTable[RC_DEKU_TREE_MQ_LOBBY_GRASS_1]                       =   Location::Grass(RC_DEKU_TREE_MQ_LOBBY_GRASS_1,                       RCQUEST_MQ, RCAREA_DEKU_TREE,             SCENE_DEKU_TREE,                   TWO_ACTOR_PARAMS(392, -158),    "MQ Lobby Grass 1",              RHT_DEKU_TREE_GRASS,                    RG_BLUE_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_DEKU_TREE_MQ_LOBBY_GRASS_1));
    locationTable[RC_DEKU_TREE_MQ_LOBBY_GRASS_2]                       =   Location::Grass(RC_DEKU_TREE_MQ_LOBBY_GRASS_2,                       RCQUEST_MQ, RCAREA_DEKU_TREE,             SCENE_DEKU_TREE,                   TWO_ACTOR_PARAMS(356, -235),    "MQ Lobby Grass 2",              RHT_DEKU_TREE_GRASS,                    RG_BLUE_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_DEKU_TREE_MQ_LOBBY_GRASS_2));
    locationTable[RC_DEKU_TREE_MQ_LOBBY_GRASS_3]                       =   Location::Grass(RC_DEKU_TREE_MQ_LOBBY_GRASS_3,                       RCQUEST_MQ, RCAREA_DEKU_TREE,             SCENE_DEKU_TREE,                   TWO_ACTOR_PARAMS(308, -291),    "MQ Lobby Grass 3",              RHT_DEKU_TREE_GRASS,                    RG_BLUE_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_DEKU_TREE_MQ_LOBBY_GRASS_3));
    locationTable[RC_DEKU_TREE_MQ_LOBBY_GRASS_4]                       =   Location::Grass(RC_DEKU_TREE_MQ_LOBBY_GRASS_4,                       RCQUEST_MQ, RCAREA_DEKU_TREE,             SCENE_DEKU_TREE,                   TWO_ACTOR_PARAMS(81, -416),     "MQ Lobby Grass 4",              RHT_DEKU_TREE_GRASS,                    RG_BLUE_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_DEKU_TREE_MQ_LOBBY_GRASS_4));
    locationTable[RC_DEKU_TREE_MQ_LOBBY_GRASS_5]                       =   Location::Grass(RC_DEKU_TREE_MQ_LOBBY_GRASS_5,                       RCQUEST_MQ, RCAREA_DEKU_TREE,             SCENE_DEKU_TREE,                   TWO_ACTOR_PARAMS(143, -401),    "MQ Lobby Grass 5",              RHT_DEKU_TREE_GRASS,                    RG_BLUE_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_DEKU_TREE_MQ_LOBBY_GRASS_5));
    locationTable[RC_DEKU_TREE_MQ_LOBBY_GRASS_6]                       =   Location::Grass(RC_DEKU_TREE_MQ_LOBBY_GRASS_6,                       RCQUEST_MQ, RCAREA_DEKU_TREE,             SCENE_DEKU_TREE,                   TWO_ACTOR_PARAMS(-11, -344),    "MQ Lobby Grass 6",              RHT_DEKU_TREE_GRASS,                    RG_BLUE_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_DEKU_TREE_MQ_LOBBY_GRASS_6));
    locationTable[RC_DEKU_TREE_MQ_LOBBY_GRASS_7]                       =   Location::Grass(RC_DEKU_TREE_MQ_LOBBY_GRASS_7,                       RCQUEST_MQ, RCAREA_DEKU_TREE,             SCENE_DEKU_TREE,                   TWO_ACTOR_PARAMS(-159, -302),   "MQ Lobby Grass 7",              RHT_DEKU_TREE_GRASS,                    RG_BLUE_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_DEKU_TREE_MQ_LOBBY_GRASS_7));
    locationTable[RC_DEKU_TREE_MQ_SLINGSHOT_GRASS_1]                   =   Location::Grass(RC_DEKU_TREE_MQ_SLINGSHOT_GRASS_1,                   RCQUEST_MQ, RCAREA_DEKU_TREE,             SCENE_DEKU_TREE,                   TWO_ACTOR_PARAMS(-636, 161),    "MQ Slingshot Grass 1",          RHT_DEKU_TREE_GRASS,                    RG_BLUE_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_DEKU_TREE_MQ_SLINGSHOT_GRASS_1));
    locationTable[RC_DEKU_TREE_MQ_SLINGSHOT_GRASS_2]                   =   Location::Grass(RC_DEKU_TREE_MQ_SLINGSHOT_GRASS_2,                   RCQUEST_MQ, RCAREA_DEKU_TREE,             SCENE_DEKU_TREE,                   TWO_ACTOR_PARAMS(-693, 182),    "MQ Slingshot Grass 2",          RHT_DEKU_TREE_GRASS,                    RG_BLUE_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_DEKU_TREE_MQ_SLINGSHOT_GRASS_2));
    locationTable[RC_DEKU_TREE_MQ_SLINGSHOT_GRASS_3]                   =   Location::Grass(RC_DEKU_TREE_MQ_SLINGSHOT_GRASS_3,                   RCQUEST_MQ, RCAREA_DEKU_TREE,             SCENE_DEKU_TREE,                   TWO_ACTOR_PARAMS(-1443, 167),   "MQ Slingshot Grass 3",          RHT_DEKU_TREE_GRASS,                    RG_BLUE_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_DEKU_TREE_MQ_SLINGSHOT_GRASS_3));
    locationTable[RC_DEKU_TREE_MQ_SLINGSHOT_GRASS_4]                   =   Location::Grass(RC_DEKU_TREE_MQ_SLINGSHOT_GRASS_4,                   RCQUEST_MQ, RCAREA_DEKU_TREE,             SCENE_DEKU_TREE,                   TWO_ACTOR_PARAMS(-1515, 140),   "MQ Slingshot Grass 4",          RHT_DEKU_TREE_GRASS,                    RG_BLUE_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_DEKU_TREE_MQ_SLINGSHOT_GRASS_4));
    locationTable[RC_DEKU_TREE_MQ_BEFORE_COMPASS_GRASS_1]              =   Location::Grass(RC_DEKU_TREE_MQ_BEFORE_COMPASS_GRASS_1,              RCQUEST_MQ, RCAREA_DEKU_TREE,             SCENE_DEKU_TREE,                   TWO_ACTOR_PARAMS(-753, 614),    "MQ Before Compass Grass 1",     RHT_DEKU_TREE_GRASS,                    RG_BLUE_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_DEKU_TREE_MQ_BEFORE_COMPASS_GRASS_1));
    locationTable[RC_DEKU_TREE_MQ_BEFORE_COMPASS_GRASS_2]              =   Location::Grass(RC_DEKU_TREE_MQ_BEFORE_COMPASS_GRASS_2,              RCQUEST_MQ, RCAREA_DEKU_TREE,             SCENE_DEKU_TREE,                   TWO_ACTOR_PARAMS(-736, 795),    "MQ Before Compass Grass 2",     RHT_DEKU_TREE_GRASS,                    RG_BLUE_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_DEKU_TREE_MQ_BEFORE_COMPASS_GRASS_2));
    locationTable[RC_DEKU_TREE_MQ_BEFORE_COMPASS_GRASS_3]              =   Location::Grass(RC_DEKU_TREE_MQ_BEFORE_COMPASS_GRASS_3,              RCQUEST_MQ, RCAREA_DEKU_TREE,             SCENE_DEKU_TREE,                   TWO_ACTOR_PARAMS(-575, 627),    "MQ Before Compass Grass 3",     RHT_DEKU_TREE_GRASS,                    RG_BLUE_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_DEKU_TREE_MQ_BEFORE_COMPASS_GRASS_3));
    locationTable[RC_DEKU_TREE_MQ_BEFORE_COMPASS_GRASS_4]              =   Location::Grass(RC_DEKU_TREE_MQ_BEFORE_COMPASS_GRASS_4,              RCQUEST_MQ, RCAREA_DEKU_TREE,             SCENE_DEKU_TREE,                   TWO_ACTOR_PARAMS(-572, 727),    "MQ Before Compass Grass 4",     RHT_DEKU_TREE_GRASS,                    RG_BLUE_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_DEKU_TREE_MQ_BEFORE_COMPASS_GRASS_4));
    locationTable[RC_DEKU_TREE_MQ_BEFORE_COMPASS_GRASS_5]              =   Location::Grass(RC_DEKU_TREE_MQ_BEFORE_COMPASS_GRASS_5,              RCQUEST_MQ, RCAREA_DEKU_TREE,             SCENE_DEKU_TREE,                   TWO_ACTOR_PARAMS(-788, 702),    "MQ Before Compass Grass 5",     RHT_DEKU_TREE_GRASS,                    RG_BLUE_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_DEKU_TREE_MQ_BEFORE_COMPASS_GRASS_5));
    locationTable[RC_DEKU_TREE_MQ_BEFORE_COMPASS_GRASS_6]              =   Location::Grass(RC_DEKU_TREE_MQ_BEFORE_COMPASS_GRASS_6,              RCQUEST_MQ, RCAREA_DEKU_TREE,             SCENE_DEKU_TREE,                   TWO_ACTOR_PARAMS(-654, 582),    "MQ Before Compass Grass 6",     RHT_DEKU_TREE_GRASS,                    RG_BLUE_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_DEKU_TREE_MQ_BEFORE_COMPASS_GRASS_6));
    locationTable[RC_DEKU_TREE_MQ_BEFORE_COMPASS_GRASS_7]              =   Location::Grass(RC_DEKU_TREE_MQ_BEFORE_COMPASS_GRASS_7,              RCQUEST_MQ, RCAREA_DEKU_TREE,             SCENE_DEKU_TREE,                   TWO_ACTOR_PARAMS(-643, 798),    "MQ Before Compass Grass 7",     RHT_DEKU_TREE_GRASS,                    RG_BLUE_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_DEKU_TREE_MQ_BEFORE_COMPASS_GRASS_7));
    locationTable[RC_DEKU_TREE_MQ_COMPASS_GRASS_1]                     =   Location::Grass(RC_DEKU_TREE_MQ_COMPASS_GRASS_1,                     RCQUEST_MQ, RCAREA_DEKU_TREE,             SCENE_DEKU_TREE,                   TWO_ACTOR_PARAMS(-1279, 1024),  "MQ Compass Grass 1",            RHT_DEKU_TREE_GRASS,                    RG_BLUE_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_DEKU_TREE_MQ_COMPASS_GRASS_1));
    locationTable[RC_DEKU_TREE_MQ_COMPASS_GRASS_2]                     =   Location::Grass(RC_DEKU_TREE_MQ_COMPASS_GRASS_2,                     RCQUEST_MQ, RCAREA_DEKU_TREE,             SCENE_DEKU_TREE,                   TWO_ACTOR_PARAMS(-1228, 1004),  "MQ Compass Grass 2",            RHT_DEKU_TREE_GRASS,                    RG_BLUE_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_DEKU_TREE_MQ_COMPASS_GRASS_2));
    locationTable[RC_DEKU_TREE_MQ_COMPASS_GRASS_3]                     =   Location::Grass(RC_DEKU_TREE_MQ_COMPASS_GRASS_3,                     RCQUEST_MQ, RCAREA_DEKU_TREE,             SCENE_DEKU_TREE,                   TWO_ACTOR_PARAMS(-1017, 1261),  "MQ Compass Grass 3",            RHT_DEKU_TREE_GRASS,                    RG_BLUE_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_DEKU_TREE_MQ_COMPASS_GRASS_3));
    locationTable[RC_DEKU_TREE_MQ_COMPASS_GRASS_4]                     =   Location::Grass(RC_DEKU_TREE_MQ_COMPASS_GRASS_4,                     RCQUEST_MQ, RCAREA_DEKU_TREE,             SCENE_DEKU_TREE,                   TWO_ACTOR_PARAMS(-1004, 1214),  "MQ Compass Grass 4",            RHT_DEKU_TREE_GRASS,                    RG_BLUE_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_DEKU_TREE_MQ_COMPASS_GRASS_4));
    locationTable[RC_DEKU_TREE_MQ_BASEMENT_LOWER_GRASS_1]              =   Location::Grass(RC_DEKU_TREE_MQ_BASEMENT_LOWER_GRASS_1,              RCQUEST_MQ, RCAREA_DEKU_TREE,             SCENE_DEKU_TREE,                   TWO_ACTOR_PARAMS(-15, -261),    "MQ Basement Lower Grass 1",     RHT_DEKU_TREE_GRASS,                    RG_BLUE_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_DEKU_TREE_MQ_BASEMENT_LOWER_GRASS_1));
    locationTable[RC_DEKU_TREE_MQ_BASEMENT_LOWER_GRASS_2]              =   Location::Grass(RC_DEKU_TREE_MQ_BASEMENT_LOWER_GRASS_2,              RCQUEST_MQ, RCAREA_DEKU_TREE,             SCENE_DEKU_TREE,                   TWO_ACTOR_PARAMS(-7, -328),     "MQ Basement Lower Grass 2",     RHT_DEKU_TREE_GRASS,                    RG_BLUE_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_DEKU_TREE_MQ_BASEMENT_LOWER_GRASS_2));
    locationTable[RC_DEKU_TREE_MQ_BASEMENT_LOWER_GRASS_3]              =   Location::Grass(RC_DEKU_TREE_MQ_BASEMENT_LOWER_GRASS_3,              RCQUEST_MQ, RCAREA_DEKU_TREE,             SCENE_DEKU_TREE,                   TWO_ACTOR_PARAMS(5, 119),       "MQ Basement Lower Grass 3",     RHT_DEKU_TREE_GRASS,                    RG_BLUE_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_DEKU_TREE_MQ_BASEMENT_LOWER_GRASS_3));
    locationTable[RC_DEKU_TREE_MQ_BASEMENT_LOWER_GRASS_4]              =   Location::Grass(RC_DEKU_TREE_MQ_BASEMENT_LOWER_GRASS_4,              RCQUEST_MQ, RCAREA_DEKU_TREE,             SCENE_DEKU_TREE,                   TWO_ACTOR_PARAMS(-39, 118),     "MQ Basement Lower Grass 4",     RHT_DEKU_TREE_GRASS,                    RG_BLUE_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_DEKU_TREE_MQ_BASEMENT_LOWER_GRASS_4));
    locationTable[RC_DEKU_TREE_MQ_BASEMENT_UPPER_GRASS_1]              =   Location::Grass(RC_DEKU_TREE_MQ_BASEMENT_UPPER_GRASS_1,              RCQUEST_MQ, RCAREA_DEKU_TREE,             SCENE_DEKU_TREE,                   TWO_ACTOR_PARAMS(-807, -228),   "MQ Basement Upper Grass 1",     RHT_DEKU_TREE_GRASS,                    RG_BLUE_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_DEKU_TREE_MQ_BASEMENT_UPPER_GRASS_1));
    locationTable[RC_DEKU_TREE_MQ_BASEMENT_UPPER_GRASS_2]              =   Location::Grass(RC_DEKU_TREE_MQ_BASEMENT_UPPER_GRASS_2,              RCQUEST_MQ, RCAREA_DEKU_TREE,             SCENE_DEKU_TREE,                   TWO_ACTOR_PARAMS(-764, 280),    "MQ Basement Upper Grass 2",     RHT_DEKU_TREE_GRASS,                    RG_BLUE_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_DEKU_TREE_MQ_BASEMENT_UPPER_GRASS_2));
    locationTable[RC_DEKU_TREE_MQ_BASEMENT_UPPER_GRASS_3]              =   Location::Grass(RC_DEKU_TREE_MQ_BASEMENT_UPPER_GRASS_3,              RCQUEST_MQ, RCAREA_DEKU_TREE,             SCENE_DEKU_TREE,                   TWO_ACTOR_PARAMS(-805, 237),    "MQ Basement Upper Grass 3",     RHT_DEKU_TREE_GRASS,                    RG_BLUE_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_DEKU_TREE_MQ_BASEMENT_UPPER_GRASS_3));
    locationTable[RC_DEKU_TREE_MQ_BASEMENT_SPIKE_ROLLER_FRONT_GRASS_1] =   Location::Grass(RC_DEKU_TREE_MQ_BASEMENT_SPIKE_ROLLER_FRONT_GRASS_1, RCQUEST_MQ, RCAREA_DEKU_TREE,             SCENE_DEKU_TREE,                   TWO_ACTOR_PARAMS(-466, 865),    "MQ Spike Roller Front Grass 1", RHT_DEKU_TREE_GRASS,                    RG_BLUE_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_DEKU_TREE_MQ_BASEMENT_SPIKE_ROLLER_FRONT_GRASS_1));
    locationTable[RC_DEKU_TREE_MQ_BASEMENT_SPIKE_ROLLER_FRONT_GRASS_2] =   Location::Grass(RC_DEKU_TREE_MQ_BASEMENT_SPIKE_ROLLER_FRONT_GRASS_2, RCQUEST_MQ, RCAREA_DEKU_TREE,             SCENE_DEKU_TREE,                   TWO_ACTOR_PARAMS(-495, 906),    "MQ Spike Roller Front Grass 2", RHT_DEKU_TREE_GRASS,                    RG_BLUE_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_DEKU_TREE_MQ_BASEMENT_SPIKE_ROLLER_FRONT_GRASS_2));
    locationTable[RC_DEKU_TREE_MQ_BASEMENT_SPIKE_ROLLER_FRONT_GRASS_3] =   Location::Grass(RC_DEKU_TREE_MQ_BASEMENT_SPIKE_ROLLER_FRONT_GRASS_3, RCQUEST_MQ, RCAREA_DEKU_TREE,             SCENE_DEKU_TREE,                   TWO_ACTOR_PARAMS(-538, 907),    "MQ Spike Roller Front Grass 3", RHT_DEKU_TREE_GRASS,                    RG_BLUE_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_DEKU_TREE_MQ_BASEMENT_SPIKE_ROLLER_FRONT_GRASS_3));
    locationTable[RC_DEKU_TREE_MQ_BASEMENT_SPIKE_ROLLER_BACK_GRASS_1]  =   Location::Grass(RC_DEKU_TREE_MQ_BASEMENT_SPIKE_ROLLER_BACK_GRASS_1,  RCQUEST_MQ, RCAREA_DEKU_TREE,             SCENE_DEKU_TREE,                   TWO_ACTOR_PARAMS(-1360, 838),   "MQ Spike Roller Back Grass 1",  RHT_DEKU_TREE_GRASS,                    RG_BLUE_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_DEKU_TREE_MQ_BASEMENT_SPIKE_ROLLER_BACK_GRASS_1));
    locationTable[RC_DEKU_TREE_MQ_BASEMENT_SPIKE_ROLLER_BACK_GRASS_2]  =   Location::Grass(RC_DEKU_TREE_MQ_BASEMENT_SPIKE_ROLLER_BACK_GRASS_2,  RCQUEST_MQ, RCAREA_DEKU_TREE,             SCENE_DEKU_TREE,                   TWO_ACTOR_PARAMS(-1309, 838),   "MQ Spike Roller Back Grass 2",  RHT_DEKU_TREE_GRASS,                    RG_BLUE_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_DEKU_TREE_MQ_BASEMENT_SPIKE_ROLLER_BACK_GRASS_2));
    locationTable[RC_DEKU_TREE_MQ_BASEMENT_TORCHES_GRASS_1]            =   Location::Grass(RC_DEKU_TREE_MQ_BASEMENT_TORCHES_GRASS_1,            RCQUEST_MQ, RCAREA_DEKU_TREE,             SCENE_DEKU_TREE,                   TWO_ACTOR_PARAMS(-227, 790),    "MQ Torches Grass 1",            RHT_DEKU_TREE_GRASS,                    RG_BLUE_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_DEKU_TREE_MQ_BASEMENT_TORCHES_GRASS_1));
    locationTable[RC_DEKU_TREE_MQ_BASEMENT_TORCHES_GRASS_2]            =   Location::Grass(RC_DEKU_TREE_MQ_BASEMENT_TORCHES_GRASS_2,            RCQUEST_MQ, RCAREA_DEKU_TREE,             SCENE_DEKU_TREE,                   TWO_ACTOR_PARAMS(-201, 749),    "MQ Torches Grass 2",            RHT_DEKU_TREE_GRASS,                    RG_BLUE_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_DEKU_TREE_MQ_BASEMENT_TORCHES_GRASS_2));
    locationTable[RC_DEKU_TREE_MQ_BASEMENT_TORCHES_GRASS_3]            =   Location::Grass(RC_DEKU_TREE_MQ_BASEMENT_TORCHES_GRASS_3,            RCQUEST_MQ, RCAREA_DEKU_TREE,             SCENE_DEKU_TREE,                   TWO_ACTOR_PARAMS(50, 750),      "MQ Torches Grass 3",            RHT_DEKU_TREE_GRASS,                    RG_BLUE_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_DEKU_TREE_MQ_BASEMENT_TORCHES_GRASS_3));
    locationTable[RC_DEKU_TREE_MQ_BASEMENT_TORCHES_GRASS_4]            =   Location::Grass(RC_DEKU_TREE_MQ_BASEMENT_TORCHES_GRASS_4,            RCQUEST_MQ, RCAREA_DEKU_TREE,             SCENE_DEKU_TREE,                   TWO_ACTOR_PARAMS(80, 792),      "MQ Torches Grass 4",            RHT_DEKU_TREE_GRASS,                    RG_BLUE_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_DEKU_TREE_MQ_BASEMENT_TORCHES_GRASS_4));
    locationTable[RC_DEKU_TREE_MQ_BASEMENT_LARVAE_GRASS_1]             =   Location::Grass(RC_DEKU_TREE_MQ_BASEMENT_LARVAE_GRASS_1,             RCQUEST_MQ, RCAREA_DEKU_TREE,             SCENE_DEKU_TREE,                   TWO_ACTOR_PARAMS(-1795, 819),   "MQ Larvae Grass 1",             RHT_DEKU_TREE_GRASS,                    RG_BLUE_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_DEKU_TREE_MQ_BASEMENT_LARVAE_GRASS_1));
    locationTable[RC_DEKU_TREE_MQ_BASEMENT_LARVAE_GRASS_2]             =   Location::Grass(RC_DEKU_TREE_MQ_BASEMENT_LARVAE_GRASS_2,             RCQUEST_MQ, RCAREA_DEKU_TREE,             SCENE_DEKU_TREE,                   TWO_ACTOR_PARAMS(-1918, 818),   "MQ Larvae Grass 2",             RHT_DEKU_TREE_GRASS,                    RG_BLUE_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_DEKU_TREE_MQ_BASEMENT_LARVAE_GRASS_2));
    locationTable[RC_DEKU_TREE_MQ_BASEMENT_GRAVES_GRASS_1]             =   Location::Grass(RC_DEKU_TREE_MQ_BASEMENT_GRAVES_GRASS_1,             RCQUEST_MQ, RCAREA_DEKU_TREE,             SCENE_DEKU_TREE,                   TWO_ACTOR_PARAMS(-1678, -120),  "MQ Graves Grass 1",             RHT_DEKU_TREE_GRASS,                    RG_BLUE_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_DEKU_TREE_MQ_BASEMENT_GRAVES_GRASS_1));
    locationTable[RC_DEKU_TREE_MQ_BASEMENT_GRAVES_GRASS_2]             =   Location::Grass(RC_DEKU_TREE_MQ_BASEMENT_GRAVES_GRASS_2,             RCQUEST_MQ, RCAREA_DEKU_TREE,             SCENE_DEKU_TREE,                   TWO_ACTOR_PARAMS(-1700, 196),   "MQ Graves Grass 2",             RHT_DEKU_TREE_GRASS,                    RG_BLUE_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_DEKU_TREE_MQ_BASEMENT_GRAVES_GRASS_2));
    locationTable[RC_DEKU_TREE_MQ_BASEMENT_GRAVES_GRASS_3]             =   Location::Grass(RC_DEKU_TREE_MQ_BASEMENT_GRAVES_GRASS_3,             RCQUEST_MQ, RCAREA_DEKU_TREE,             SCENE_DEKU_TREE,                   TWO_ACTOR_PARAMS(-2165, 350),   "MQ Graves Grass 3",             RHT_DEKU_TREE_GRASS,                    RG_BLUE_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_DEKU_TREE_MQ_BASEMENT_GRAVES_GRASS_3));
    locationTable[RC_DEKU_TREE_MQ_BASEMENT_GRAVES_GRASS_4]             =   Location::Grass(RC_DEKU_TREE_MQ_BASEMENT_GRAVES_GRASS_4,             RCQUEST_MQ, RCAREA_DEKU_TREE,             SCENE_DEKU_TREE,                   TWO_ACTOR_PARAMS(-2215, 56),    "MQ Graves Grass 4",             RHT_DEKU_TREE_GRASS,                    RG_BLUE_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_DEKU_TREE_MQ_BASEMENT_GRAVES_GRASS_4));
    locationTable[RC_DEKU_TREE_MQ_BASEMENT_GRAVES_GRASS_5]             =   Location::Grass(RC_DEKU_TREE_MQ_BASEMENT_GRAVES_GRASS_5,             RCQUEST_MQ, RCAREA_DEKU_TREE,             SCENE_DEKU_TREE,                   TWO_ACTOR_PARAMS(-1901, 604),   "MQ Graves Grass 5",             RHT_DEKU_TREE_GRASS,                    RG_BLUE_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_DEKU_TREE_MQ_BASEMENT_GRAVES_GRASS_5));
    locationTable[RC_DEKU_TREE_MQ_BASEMENT_BACK_GRASS_1]               =   Location::Grass(RC_DEKU_TREE_MQ_BASEMENT_BACK_GRASS_1,               RCQUEST_MQ, RCAREA_DEKU_TREE,             SCENE_DEKU_TREE,                   TWO_ACTOR_PARAMS(-2708, -522),  "MQ Back Grass 1",               RHT_DEKU_TREE_GRASS,                    RG_BLUE_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_DEKU_TREE_MQ_BASEMENT_BACK_GRASS_1));
    locationTable[RC_DEKU_TREE_MQ_BASEMENT_BACK_GRASS_2]               =   Location::Grass(RC_DEKU_TREE_MQ_BASEMENT_BACK_GRASS_2,               RCQUEST_MQ, RCAREA_DEKU_TREE,             SCENE_DEKU_TREE,                   TWO_ACTOR_PARAMS(-2395, -587),  "MQ Back Grass 2",               RHT_DEKU_TREE_GRASS,                    RG_BLUE_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_DEKU_TREE_MQ_BASEMENT_BACK_GRASS_2));
    locationTable[RC_DEKU_TREE_MQ_BASEMENT_BACK_GRASS_3]               =   Location::Grass(RC_DEKU_TREE_MQ_BASEMENT_BACK_GRASS_3,               RCQUEST_MQ, RCAREA_DEKU_TREE,             SCENE_DEKU_TREE,                   TWO_ACTOR_PARAMS(-2553, -433),  "MQ Back Grass 3",               RHT_DEKU_TREE_GRASS,                    RG_BLUE_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_DEKU_TREE_MQ_BASEMENT_BACK_GRASS_3));
    locationTable[RC_DEKU_TREE_MQ_BEFORE_BOSS_GRASS_1]                 =   Location::Grass(RC_DEKU_TREE_MQ_BEFORE_BOSS_GRASS_1,                 RCQUEST_MQ, RCAREA_DEKU_TREE,             SCENE_DEKU_TREE,                   TWO_ACTOR_PARAMS(-272, -517),   "MQ Before Boss Grass 1",        RHT_DEKU_TREE_GRASS,                    RG_BLUE_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_DEKU_TREE_MQ_BEFORE_BOSS_GRASS_1));
    locationTable[RC_DEKU_TREE_MQ_BEFORE_BOSS_GRASS_2]                 =   Location::Grass(RC_DEKU_TREE_MQ_BEFORE_BOSS_GRASS_2,                 RCQUEST_MQ, RCAREA_DEKU_TREE,             SCENE_DEKU_TREE,                   TWO_ACTOR_PARAMS(-272, -579),   "MQ Before Boss Grass 2",        RHT_DEKU_TREE_GRASS,                    RG_BLUE_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_DEKU_TREE_MQ_BEFORE_BOSS_GRASS_2));
    locationTable[RC_DEKU_TREE_MQ_BEFORE_BOSS_GRASS_3]                 =   Location::Grass(RC_DEKU_TREE_MQ_BEFORE_BOSS_GRASS_3,                 RCQUEST_MQ, RCAREA_DEKU_TREE,             SCENE_DEKU_TREE,                   TWO_ACTOR_PARAMS(-268, -645),   "MQ Before Boss Grass 3",        RHT_DEKU_TREE_GRASS,                    RG_BLUE_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_DEKU_TREE_MQ_BEFORE_BOSS_GRASS_3));
    locationTable[RC_DODONGOS_CAVERN_MQ_COMPASS_GRASS_1]               =   Location::Grass(RC_DODONGOS_CAVERN_MQ_COMPASS_GRASS_1,               RCQUEST_MQ, RCAREA_DODONGOS_CAVERN,       SCENE_DODONGOS_CAVERN,             TWO_ACTOR_PARAMS(-1721, -579),  "MQ Compass Grass 1",            RHT_DODONGOS_CAVERN_GRASS,              RG_BLUE_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_DODONGOS_CAVERN_MQ_COMPASS_GRASS_1));
    locationTable[RC_DODONGOS_CAVERN_MQ_COMPASS_GRASS_2]               =   Location::Grass(RC_DODONGOS_CAVERN_MQ_COMPASS_GRASS_2,               RCQUEST_MQ, RCAREA_DODONGOS_CAVERN,       SCENE_DODONGOS_CAVERN,             TWO_ACTOR_PARAMS(-1731, -45),   "MQ Compass Grass 2",            RHT_DODONGOS_CAVERN_GRASS,              RG_BLUE_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_DODONGOS_CAVERN_MQ_COMPASS_GRASS_2));
    locationTable[RC_DODONGOS_CAVERN_MQ_COMPASS_GRASS_3]               =   Location::Grass(RC_DODONGOS_CAVERN_MQ_COMPASS_GRASS_3,               RCQUEST_MQ, RCAREA_DODONGOS_CAVERN,       SCENE_DODONGOS_CAVERN,             TWO_ACTOR_PARAMS(-2218, -56),   "MQ Compass Grass 3",            RHT_DODONGOS_CAVERN_GRASS,              RG_BLUE_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_DODONGOS_CAVERN_MQ_COMPASS_GRASS_3));
    locationTable[RC_DODONGOS_CAVERN_MQ_COMPASS_GRASS_4]               =   Location::Grass(RC_DODONGOS_CAVERN_MQ_COMPASS_GRASS_4,               RCQUEST_MQ, RCAREA_DODONGOS_CAVERN,       SCENE_DODONGOS_CAVERN,             TWO_ACTOR_PARAMS(-2230, -556),  "MQ Compass Grass 4",            RHT_DODONGOS_CAVERN_GRASS,              RG_BLUE_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_DODONGOS_CAVERN_MQ_COMPASS_GRASS_4));
    locationTable[RC_DODONGOS_CAVERN_MQ_ARMOS_GRASS]                   =   Location::Grass(RC_DODONGOS_CAVERN_MQ_ARMOS_GRASS,                   RCQUEST_MQ, RCAREA_DODONGOS_CAVERN,       SCENE_DODONGOS_CAVERN,             TWO_ACTOR_PARAMS(1765, -3940),  "MQ Armos Grass",                RHT_DODONGOS_CAVERN_GRASS,              RG_BLUE_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_DODONGOS_CAVERN_MQ_ARMOS_GRASS));
    locationTable[RC_DODONGOS_CAVERN_MQ_BACK_POE_GRASS]                =   Location::Grass(RC_DODONGOS_CAVERN_MQ_BACK_POE_GRASS,                RCQUEST_MQ, RCAREA_DODONGOS_CAVERN,       SCENE_DODONGOS_CAVERN,             TWO_ACTOR_PARAMS(1285, -4693),  "MQ Back Poe Grass",             RHT_DODONGOS_CAVERN_GRASS,              RG_BLUE_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_DODONGOS_CAVERN_MQ_BACK_POE_GRASS));
    locationTable[RC_DODONGOS_CAVERN_MQ_SCRUB_GRASS_1]                 =   Location::Grass(RC_DODONGOS_CAVERN_MQ_SCRUB_GRASS_1,                 RCQUEST_MQ, RCAREA_DODONGOS_CAVERN,       SCENE_DODONGOS_CAVERN,             TWO_ACTOR_PARAMS(2644, -3368),  "MQ Scrub Grass 1",              RHT_DODONGOS_CAVERN_GRASS,              RG_BLUE_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_DODONGOS_CAVERN_MQ_SCRUB_GRASS_1));
    locationTable[RC_DODONGOS_CAVERN_MQ_SCRUB_GRASS_2]                 =   Location::Grass(RC_DODONGOS_CAVERN_MQ_SCRUB_GRASS_2,                 RCQUEST_MQ, RCAREA_DODONGOS_CAVERN,       SCENE_DODONGOS_CAVERN,             TWO_ACTOR_PARAMS(2614, -3387),  "MQ Scrub Grass 2",              RHT_DODONGOS_CAVERN_GRASS,              RG_BLUE_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_DODONGOS_CAVERN_MQ_SCRUB_GRASS_2));
    locationTable[RC_JABU_JABUS_BELLY_MQ_FIRST_GRASS_1]                =   Location::Grass(RC_JABU_JABUS_BELLY_MQ_FIRST_GRASS_1,                RCQUEST_MQ, RCAREA_JABU_JABUS_BELLY,      SCENE_JABU_JABU,                   TWO_ACTOR_PARAMS(-219, -61),    "MQ First Grass 1",              RHT_JABU_JABUS_BELLY_GRASS,             RG_BLUE_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_JABU_JABUS_BELLY_MQ_FIRST_GRASS_1));
    locationTable[RC_JABU_JABUS_BELLY_MQ_FIRST_GRASS_2]                =   Location::Grass(RC_JABU_JABUS_BELLY_MQ_FIRST_GRASS_2,                RCQUEST_MQ, RCAREA_JABU_JABUS_BELLY,      SCENE_JABU_JABU,                   TWO_ACTOR_PARAMS(213, -398),    "MQ First Grass 2",              RHT_JABU_JABUS_BELLY_GRASS,             RG_BLUE_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_JABU_JABUS_BELLY_MQ_FIRST_GRASS_2));
    locationTable[RC_JABU_JABUS_BELLY_MQ_PIT_GRASS_1]                  =   Location::Grass(RC_JABU_JABUS_BELLY_MQ_PIT_GRASS_1,                  RCQUEST_MQ, RCAREA_JABU_JABUS_BELLY,      SCENE_JABU_JABU,                   TWO_ACTOR_PARAMS(-192, -3209),  "MQ Pit Grass 1",                RHT_JABU_JABUS_BELLY_GRASS,             RG_BLUE_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_JABU_JABUS_BELLY_MQ_PIT_GRASS_1));
    locationTable[RC_JABU_JABUS_BELLY_MQ_PIT_GRASS_2]                  =   Location::Grass(RC_JABU_JABUS_BELLY_MQ_PIT_GRASS_2,                  RCQUEST_MQ, RCAREA_JABU_JABUS_BELLY,      SCENE_JABU_JABU,                   TWO_ACTOR_PARAMS(350, -3534),   "MQ Pit Grass 2",                RHT_JABU_JABUS_BELLY_GRASS,             RG_BLUE_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_JABU_JABUS_BELLY_MQ_PIT_GRASS_2));
    locationTable[RC_JABU_JABUS_BELLY_MQ_BASEMENT_GRASS_1]             =   Location::Grass(RC_JABU_JABUS_BELLY_MQ_BASEMENT_GRASS_1,             RCQUEST_MQ, RCAREA_JABU_JABUS_BELLY,      SCENE_JABU_JABU,                   TWO_ACTOR_PARAMS(-91, -2815),   "MQ Basement Grass 1",           RHT_JABU_JABUS_BELLY_GRASS,             RG_BLUE_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_JABU_JABUS_BELLY_MQ_BASEMENT_GRASS_1));
    locationTable[RC_JABU_JABUS_BELLY_MQ_BASEMENT_GRASS_2]             =   Location::Grass(RC_JABU_JABUS_BELLY_MQ_BASEMENT_GRASS_2,             RCQUEST_MQ, RCAREA_JABU_JABUS_BELLY,      SCENE_JABU_JABU,                   TWO_ACTOR_PARAMS(231, -3575),   "MQ Basement Grass 2",           RHT_JABU_JABUS_BELLY_GRASS,             RG_BLUE_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_JABU_JABUS_BELLY_MQ_BASEMENT_GRASS_2));
    locationTable[RC_JABU_JABUS_BELLY_MQ_BASEMENT_GRASS_3]             =   Location::Grass(RC_JABU_JABUS_BELLY_MQ_BASEMENT_GRASS_3,             RCQUEST_MQ, RCAREA_JABU_JABUS_BELLY,      SCENE_JABU_JABU,                   TWO_ACTOR_PARAMS(305, -3481),   "MQ Basement Grass 3",           RHT_JABU_JABUS_BELLY_GRASS,             RG_BLUE_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_JABU_JABUS_BELLY_MQ_BASEMENT_GRASS_3));
    locationTable[RC_JABU_JABUS_BELLY_MQ_WIGGLERS_GRASS]               =   Location::Grass(RC_JABU_JABUS_BELLY_MQ_WIGGLERS_GRASS,               RCQUEST_MQ, RCAREA_JABU_JABUS_BELLY,      SCENE_JABU_JABU,                   TWO_ACTOR_PARAMS(-1089, -1489), "MQ Wigglers Grass",             RHT_JABU_JABUS_BELLY_GRASS,             RG_BLUE_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_JABU_JABUS_BELLY_MQ_WIGGLERS_GRASS));
    locationTable[RC_JABU_JABUS_BELLY_MQ_FALLING_LIKE_LIKE_GRASS]      =   Location::Grass(RC_JABU_JABUS_BELLY_MQ_FALLING_LIKE_LIKE_GRASS,      RCQUEST_MQ, RCAREA_JABU_JABUS_BELLY,      SCENE_JABU_JABU,                   TWO_ACTOR_PARAMS(652, -5687),   "MQ Like Like Grass",            RHT_JABU_JABUS_BELLY_GRASS,             RG_BLUE_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_JABU_JABUS_BELLY_MQ_FALLING_LIKE_LIKE_GRASS));
    locationTable[RC_JABU_JABUS_BELLY_MQ_BASEMENT_BOOMERANG_GRASS]     =   Location::Grass(RC_JABU_JABUS_BELLY_MQ_BASEMENT_BOOMERANG_GRASS,     RCQUEST_MQ, RCAREA_JABU_JABUS_BELLY,      SCENE_JABU_JABU,                   TWO_ACTOR_PARAMS(1228, -2647),  "MQ Basement Boomerang Grass",   RHT_JABU_JABUS_BELLY_GRASS,             RG_BLUE_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_JABU_JABUS_BELLY_MQ_BASEMENT_BOOMERANG_GRASS));
    locationTable[RC_JABU_JABUS_BELLY_MQ_AFTER_BIG_OCTO_GRASS_1]       =   Location::Grass(RC_JABU_JABUS_BELLY_MQ_AFTER_BIG_OCTO_GRASS_1,       RCQUEST_MQ, RCAREA_JABU_JABUS_BELLY,      SCENE_JABU_JABU,                   TWO_ACTOR_PARAMS(-1360, -3606), "MQ After Big Octo Grass 1",     RHT_JABU_JABUS_BELLY_GRASS,             RG_BLUE_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_JABU_JABUS_BELLY_MQ_AFTER_BIG_OCTO_GRASS_1));
    locationTable[RC_JABU_JABUS_BELLY_MQ_AFTER_BIG_OCTO_GRASS_2]       =   Location::Grass(RC_JABU_JABUS_BELLY_MQ_AFTER_BIG_OCTO_GRASS_2,       RCQUEST_MQ, RCAREA_JABU_JABUS_BELLY,      SCENE_JABU_JABU,                   TWO_ACTOR_PARAMS(-1086, -3346), "MQ After Big Octo Grass 2",     RHT_JABU_JABUS_BELLY_GRASS,             RG_BLUE_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_JABU_JABUS_BELLY_MQ_AFTER_BIG_OCTO_GRASS_2));
    locationTable[RC_JABU_JABUS_BELLY_MQ_BEFORE_BOSS_GRASS_1]          =   Location::Grass(RC_JABU_JABUS_BELLY_MQ_BEFORE_BOSS_GRASS_1,          RCQUEST_MQ, RCAREA_JABU_JABUS_BELLY,      SCENE_JABU_JABU,                   TWO_ACTOR_PARAMS(1477, -1366),  "MQ Before Boss Grass 1",        RHT_JABU_JABUS_BELLY_GRASS,             RG_BLUE_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_JABU_JABUS_BELLY_MQ_BEFORE_BOSS_GRASS_1));
    locationTable[RC_JABU_JABUS_BELLY_MQ_BEFORE_BOSS_GRASS_2]          =   Location::Grass(RC_JABU_JABUS_BELLY_MQ_BEFORE_BOSS_GRASS_2,          RCQUEST_MQ, RCAREA_JABU_JABUS_BELLY,      SCENE_JABU_JABU,                   TWO_ACTOR_PARAMS(1691, -1576),  "MQ Before Boss Grass 2",        RHT_JABU_JABUS_BELLY_GRASS,             RG_BLUE_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_JABU_JABUS_BELLY_MQ_BEFORE_BOSS_GRASS_2));
    locationTable[RC_BOTTOM_OF_THE_WELL_MQ_DEAD_HAND_GRASS_1]          =   Location::Grass(RC_BOTTOM_OF_THE_WELL_MQ_DEAD_HAND_GRASS_1,          RCQUEST_MQ, RCAREA_BOTTOM_OF_THE_WELL,    SCENE_BOTTOM_OF_THE_WELL,          TWO_ACTOR_PARAMS(1604, 3),      "MQ Dead Hand Grass 1",          RHT_BOTTOM_OF_THE_WELL_GRASS,           RG_BLUE_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_BOTTOM_OF_THE_WELL_MQ_DEAD_HAND_GRASS_1));
    locationTable[RC_BOTTOM_OF_THE_WELL_MQ_DEAD_HAND_GRASS_2]          =   Location::Grass(RC_BOTTOM_OF_THE_WELL_MQ_DEAD_HAND_GRASS_2,          RCQUEST_MQ, RCAREA_BOTTOM_OF_THE_WELL,    SCENE_BOTTOM_OF_THE_WELL,          TWO_ACTOR_PARAMS(1529, 2),      "MQ Dead Hand Grass 2",          RHT_BOTTOM_OF_THE_WELL_GRASS,           RG_BLUE_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_BOTTOM_OF_THE_WELL_MQ_DEAD_HAND_GRASS_2));
    locationTable[RC_BOTTOM_OF_THE_WELL_MQ_DEAD_HAND_GRASS_3]          =   Location::Grass(RC_BOTTOM_OF_THE_WELL_MQ_DEAD_HAND_GRASS_3,          RCQUEST_MQ, RCAREA_BOTTOM_OF_THE_WELL,    SCENE_BOTTOM_OF_THE_WELL,          TWO_ACTOR_PARAMS(1492, -49),    "MQ Dead Hand Grass 3",          RHT_BOTTOM_OF_THE_WELL_GRASS,           RG_BLUE_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_BOTTOM_OF_THE_WELL_MQ_DEAD_HAND_GRASS_3));
    locationTable[RC_BOTTOM_OF_THE_WELL_MQ_DEAD_HAND_GRASS_4]          =   Location::Grass(RC_BOTTOM_OF_THE_WELL_MQ_DEAD_HAND_GRASS_4,          RCQUEST_MQ, RCAREA_BOTTOM_OF_THE_WELL,    SCENE_BOTTOM_OF_THE_WELL,          TWO_ACTOR_PARAMS(1458, -130),   "MQ Dead Hand Grass 4",          RHT_BOTTOM_OF_THE_WELL_GRASS,           RG_BLUE_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_BOTTOM_OF_THE_WELL_MQ_DEAD_HAND_GRASS_4));
    // Shared Dungeon Grass
    locationTable[RC_DEKU_TREE_QUEEN_GOHMA_GRASS_1]                    =   Location::Grass(RC_DEKU_TREE_QUEEN_GOHMA_GRASS_1,                    RCQUEST_BOTH, RCAREA_DEKU_TREE,           SCENE_DEKU_TREE_BOSS,              TWO_ACTOR_PARAMS(545, -75),     "Queen Gohma Grass 1", RHT_DEKU_TREE_GRASS,                    RG_BLUE_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_DEKU_TREE_QUEEN_GOHMA_GRASS_1));
    locationTable[RC_DEKU_TREE_QUEEN_GOHMA_GRASS_2]                    =   Location::Grass(RC_DEKU_TREE_QUEEN_GOHMA_GRASS_2,                    RCQUEST_BOTH, RCAREA_DEKU_TREE,           SCENE_DEKU_TREE_BOSS,              TWO_ACTOR_PARAMS(525, -375),    "Queen Gohma Grass 2", RHT_DEKU_TREE_GRASS,                    RG_BLUE_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_DEKU_TREE_QUEEN_GOHMA_GRASS_2));
    locationTable[RC_DEKU_TREE_QUEEN_GOHMA_GRASS_3]                    =   Location::Grass(RC_DEKU_TREE_QUEEN_GOHMA_GRASS_3,                    RCQUEST_BOTH, RCAREA_DEKU_TREE,           SCENE_DEKU_TREE_BOSS,              TWO_ACTOR_PARAMS(-646, 108),    "Queen Gohma Grass 3", RHT_DEKU_TREE_GRASS,                    RG_BLUE_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_DEKU_TREE_QUEEN_GOHMA_GRASS_3));
    locationTable[RC_DEKU_TREE_QUEEN_GOHMA_GRASS_4]                    =   Location::Grass(RC_DEKU_TREE_QUEEN_GOHMA_GRASS_4,                    RCQUEST_BOTH, RCAREA_DEKU_TREE,           SCENE_DEKU_TREE_BOSS,              TWO_ACTOR_PARAMS(-444, 323),    "Queen Gohma Grass 4", RHT_DEKU_TREE_GRASS,                    RG_BLUE_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_DEKU_TREE_QUEEN_GOHMA_GRASS_4));
    locationTable[RC_DEKU_TREE_QUEEN_GOHMA_GRASS_5]                    =   Location::Grass(RC_DEKU_TREE_QUEEN_GOHMA_GRASS_5,                    RCQUEST_BOTH, RCAREA_DEKU_TREE,           SCENE_DEKU_TREE_BOSS,              TWO_ACTOR_PARAMS(-848, -166),   "Queen Gohma Grass 5", RHT_DEKU_TREE_GRASS,                    RG_BLUE_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_DEKU_TREE_QUEEN_GOHMA_GRASS_5));
    locationTable[RC_DEKU_TREE_QUEEN_GOHMA_GRASS_6]                    =   Location::Grass(RC_DEKU_TREE_QUEEN_GOHMA_GRASS_6,                    RCQUEST_BOTH, RCAREA_DEKU_TREE,           SCENE_DEKU_TREE_BOSS,              TWO_ACTOR_PARAMS(-855, -596),   "Queen Gohma Grass 6", RHT_DEKU_TREE_GRASS,                    RG_BLUE_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_DEKU_TREE_QUEEN_GOHMA_GRASS_6));
    locationTable[RC_DEKU_TREE_QUEEN_GOHMA_GRASS_7]                    =   Location::Grass(RC_DEKU_TREE_QUEEN_GOHMA_GRASS_7,                    RCQUEST_BOTH, RCAREA_DEKU_TREE,           SCENE_DEKU_TREE_BOSS,              TWO_ACTOR_PARAMS(480, -681),    "Queen Gohma Grass 7", RHT_DEKU_TREE_GRASS,                    RG_BLUE_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_DEKU_TREE_QUEEN_GOHMA_GRASS_7));
    locationTable[RC_DEKU_TREE_QUEEN_GOHMA_GRASS_8]                    =   Location::Grass(RC_DEKU_TREE_QUEEN_GOHMA_GRASS_8,                    RCQUEST_BOTH, RCAREA_DEKU_TREE,           SCENE_DEKU_TREE_BOSS,              TWO_ACTOR_PARAMS(194, -974),    "Queen Gohma Grass 8", RHT_DEKU_TREE_GRASS,                    RG_BLUE_RUPEE,     SpoilerCollectionCheck::RandomizerInf(RAND_INF_DEKU_TREE_QUEEN_GOHMA_GRASS_8));
    // End Grass
    // clang-format on
}

static RegisterShipInitFunc registerShuffleGrass(RegisterShuffleGrass, { "IS_RANDO" });
static RegisterShipInitFunc registerShuffleGrassLocations(Rando::StaticData::RegisterGrassLocations);
