Add room data.

This commit is contained in:
Lyle Mantooth 2022-06-12 11:21:24 -04:00
parent 13e910091b
commit 6a56e52e58
Signed by: IslandUsurper
GPG key ID: 6DB52EAE123A5789

View file

@ -142,3 +142,923 @@ lazy_static! {
keys
};
}
#[derive(Clone, Copy, Eq, PartialEq, Hash)]
#[repr(u16)]
pub enum Room {
Ganon = 0,
HyruleCastleNorthCorridor,
HyruleCastleSwitchRoom,
HoulihanRoom,
TurtleRockCrystalRollerRoom,
EmptyCloneRoom0x05,
SwampPalaceArrghus,
TowerOfHeraMoldorm,
CaveHealingFairy,
PalaceOfDarkness0x09,
PalaceOfDarknessStalfossTrapRoom,
PalaceOfDarknessTurtleRoom,
GanonsTowerEntranceRoom,
GanonsTowerAgahnim2,
IcePalaceEntranceRoom,
EmptyCloneRoom0x0F,
GanonEvacuationRoute,
HyruleCastleBombableStockRoom,
Sanctuary,
TurtleRockHokkuBokkuKeyRoom2,
TurtleRockBigKeyRoom,
TurtleRock0x15,
SwampPalaceSwimmingTreadmill,
TowerOfHeraMoldormFallRoom,
Cave0x18BigFairyDropEntrance,
PalaceOfDarknessDarkMaze,
PalaceOfDarknessBigChestRoom,
PalaceOfDarknessMimicsMovingWallRoom,
GanonsTowerIceArmos,
GanonsTowerFinalHallway,
IcePalaceBombFloorBariRoom,
IcePalacePengatorBigKeyRoom,
AgahnimsTowerAgahnim,
HyruleCastleKeyRatRoom,
HyruleCastleSewerTextTriggerRoom,
TurtleRockWestExitToBalcony,
TurtleRockDoubleHokkuBokkuBigChestRoom,
EmptyCloneRoom0x25,
SwampPalaceStatueRoom,
TowerOfHeraBigChest,
SwampPalaceEntranceRoom,
SkullWoodsMothula,
PalaceOfDarknessBigHubRoom,
PalaceOfDarknessMapChestFairyRoom,
CaveHookshotCaveBackdoor,
EmptyCloneRoom0x2D,
IcePalaceCompassRoom,
CaveKakarikoWellHP,
AgahnimsTowerMaidenSacrificeChamber,
TowerOfHeraHardhatBeetleRoom,
HyruleCastleSewerKeyChestRoom,
DesertPalaceLanmolas,
SwampPalacePushBlockPuzzlePreBigKeyRoom,
SwampPalaceBigKeyBsRoom,
SwampPalaceBigChestRoom,
SwampPalaceMapChestWaterFillRoom,
SwampPalaceKeyPotRoom,
SkullWoodsGibdoKeyMothulaHoleRoom,
PalaceOfDarknessBombableFloorRoom,
PalaceOfDarknessSpikeBlockConveyorRoom,
CaveHookshotCave,
GanonsTowerTorchRoom2,
IcePalaceStalfosKnightConveyorHellway,
IcePalaceMapChestRoom,
AgahnimsTowerFinalBridgeRoom,
HyruleCastleFirstDarkRoom,
HyruleCastle6RopesRoom,
DesertPalaceTorchPuzzleMovingWallRoom,
ThievesTownBigChestRoom,
ThievesTownJailCellsRoom,
SwampPalaceCompassChestRoom,
EmptyCloneRoom0x47,
EmptyCloneRoom0x48,
SkullWoodsGibdoTorchPuzzleRoom,
PalaceOfDarknessEntranceRoom,
PalaceOfDarknessWarpsSouthMimicRoom,
GanonsTowerMiniHelmasaurConveyorRoom,
GanonsTowerMoldormRoom,
IcePalaceBombJumpRoom,
IcePalaceCloneRoomFairyRoom,
HyruleCastleWestCorridor,
HyruleCastleThroneRoom,
HyruleCastleEastCorridor,
DesertPalacePopos2BeamosHellwayRoom,
SwampPalaceUpstairsPitsRoom,
CastleSecretEntranceUncleRoom,
SkullWoodsKeyPotTrapRoom,
SkullWoodsBigKeyRoom,
SkullWoodsBigChestRoom,
SkullWoodsFinalSectionEntranceRoom,
PalaceOfDarknessHelmasaurKing,
GanonsTowerSpikePitRoom,
GanonsTowerGanonBallZ,
GanonsTowerGauntlet123,
IcePalaceLonelyFirebar,
IcePalaceHiddenChestSpikeFloorRoom,
HyruleCastleWestEntranceRoom,
HyruleCastleMainEntranceRoom,
HyruleCastleEastEntranceRoom,
DesertPalaceFinalSectionEntranceRoom,
ThievesTownWestAtticRoom,
ThievesTownEastAtticRoom,
SwampPalaceHiddenChestHiddenDoorRoom,
SkullWoodsCompassChestRoom,
SkullWoodsKeyChestTrapRoom,
EmptyCloneRoom0x69,
PalaceOfDarknessRupeeRoom,
GanonsTowerMimicsRoom,
GanonsTowerLanmolasRoom,
GanonsTowerGauntlet45,
IcePalacePengatorsRoom,
EmptyCloneRoom0x6F,
HyruleCastleSmallCorridorToJailCells,
HyruleCastleBoomerangChestRoom,
HyruleCastleMapChestRoom,
DesertPalaceBigChestRoom,
DesertPalaceMapChestRoom,
DesertPalaceBigKeyChestRoom,
SwampPalaceWaterDrainRoom,
TowerOfHeraEntranceRoom,
EmptyCloneRoom0x78,
EmptyCloneRoom0x79,
EmptyCloneRoom0x7A,
GanonsTowerMisc,
GanonsTowerEastSideCollapsingBridgeExplodingWallRoom,
GanonsTowerWinderWarpMazeRoom,
IcePalaceHiddenChestBombableFloorRoom,
IcePalaceBigSpikeTrapsRoom,
HyruleCastleJailCellRoom,
HyruleCastleNextToChasmRoom,
HyruleCastleBasementChasmRoom,
DesertPalaceWestEntranceRoom,
DesertPalaceMainEntranceRoom,
DesertPalaceEastEntranceRoom,
EmptyCloneRoom0x86,
TowerOfHeraTileRoom,
EmptyCloneRoom0x88,
EasternPalaceFairyRoom,
EmptyCloneRoom0x8A,
GanonsTowerBlockPuzzleSpikeSkipMapChestRoom,
GanonsTowerEastAndWestDownstairsBigChestRoom,
GanonsTowerTileTorchPuzzleRoom,
IcePalaceBlobsWithTetrisBarrier,
EmptyCloneRoom0x8F,
MiseryMireVitreous,
MiseryMireFinalSwitchRoom,
MiseryMireDarkBombWallSwitchesRoom,
MiseryMireDarkCaneFLoorSwitchPuzzleRoom,
EmptyCloneRoom0x94,
GanonsTowerFinalCollapsingBridgeRoom,
GanonsTowerTorches1Room,
MiseryMireTorchPuzzleMovingWallRoom,
MiseryMireEntranceRoom,
EasternPalaceEyegoreKeyRoom,
EmptyCloneRoom0x9A,
GanonsTowerManySpikesWarpMazeRoom,
GanonsTowerInvisibleFloorMazeRoom,
GanonsTowerCompassChestInvisibleFloorRoom,
IcePalaceBigChestRoom,
IcePalaceIceFloorPotsKeyAndSwitch,
MiseryMirePreVitreousRoom,
MiseryMireFishRoom,
MiseryMireBridgeKeyChestRoom,
MiseryMireEmptyLConnectingRoom,
TurtleRockTrinexx,
GanonsTowerWizzrobesRooms,
GanonsTowerMoldormFallRoom,
TowerOfHeraFairyRoom,
EasternPalaceStalfosSpawnRoom,
EasternPalaceBigChestRoom,
EasternPalaceMapChestRoom,
ThievesTownMovingSpikesKeyPotRoom,
ThievesTownBlindTheThief,
EmptyCloneRoom0xAD,
IcePalaceIceTRoom,
IcePalaceIceBridgeRoom,
AgahnimsTowerCircleOfPots,
MiseryMireHourglassRoom,
MiseryMireSlugRoom,
MiseryMireSpikeKeyChestRoom,
TurtleRockPreTrinexxRoom,
TurtleRockDarkMaze,
TurtleRockChainChompsRoom,
TurtleRockMapChestKeyChestRollerRoom,
EasternPalaceBigKeyRoom,
EasternPalaceLobbyCannonballsRoom,
EasternPalaceDarkAntifairyKeyPotRoom,
ThievesTownHellway,
ThievesTownConveyorToilet,
EmptyCloneRoom0xBD,
IcePalaceBlockPuzzleRoom,
IcePalaceCloneRoomSwitchRoom,
AgahnimsTowerDarkBridgeRoom,
MiseryMireCompassChestTileRoom,
MiseryMireBigHubRoom,
MiseryMireBigChestRoom,
TurtleRockFinalCrystalSwitchPuzzleRoom,
TurtleRockLaserBridge,
TurtleRockSomariaHub,
TurtleRockTorchPuzzle,
EasternPalaceArmosKnights,
EasternPalaceEntranceRoom,
UnknownRoom,
ThievesTownNorthWestEntranceRoom,
ThievesTownNorthEastEntranceRoom,
EmptyCloneRoom0xCD,
IcePalaceHoleToKholdstareRoom,
EmptyCloneRoom0xCF,
AgahnimsTowerDarkMaze,
MiseryMireConveyorSlugBigKeyRoom,
MiseryMireWizzrobesRoom,
EmptyCloneRoom0xD3,
EmptyCloneRoom0xD4,
TurtleRockLaserKeyRoom,
TurtleRockEntranceRoom,
EmptyCloneRoom0xD7,
EasternPalacePreArmosKnightsRoom,
EasternPalaceCannonballRoom,
EasternPalacePotSwitchRoom,
ThievesTownSouthWestEntranceRoom,
ThievesTownSouthEastEntranceRoom,
EmptyCloneRoom0xDD,
IcePalaceKholdstare,
CaveBackwardsDeathMountainTopFloor,
AgahnimsTowerEntranceRoom,
CaveLostWoodsHP,
CaveLumberjacksTreeHP,
CaveMagicBat,
CaveLostOldManHouse,
CaveLostOldManHouseBack,
Cave0xE6,
Cave0xE7,
CaveSuperBunnyTop,
EmptyCloneRoom0xE9,
CaveSpectacleRockHP,
CaveBumperCaveTop,
EmptyCloneRoom0xEC,
Cave0xED,
CaveSpiralCave,
CaveCrystalSwitch5ChestsRoom,
CaveLostOldManStartingCaveBottom,
CaveLostOldManStartingCaveTop,
HouseOldWomanNextDoor,
HouseOldWomanSahasrahlasWifeMaybe,
HouseAngryBrothersWest,
HouseAngryBrothersEast,
EmptyCloneRoom0xF6,
EmptyCloneRoom0xF7,
CaveSuperBunnyBottom,
CaveSpectacleRockExit,
CaveSpectacleRockPrizeEntrance,
CaveBumperCaveBottom,
EmptyCloneRoom0xFC,
Cave0xFD,
CaveSpiralCaveExit,
CaveParadoxCaveMiddleEntrance,
ShopInLostWoods0x100,
ScaredLadyHouses,
SickKid,
InnBushHouse,
LinksHouse,
ShabadooHouse,
ChestGameBombHouse,
LibraryBombFarmRoom,
ChickenHouse,
WitchHut,
Aginah,
Dam,
MimicCave,
CaveOutsideMiseryMire,
Cave0x10E,
Shop0x10F,
Shop0x110,
ArcherGame,
CaveShop0x112,
KingsTomb,
WishingWellCave0x114,
WishingWellBigFairy,
FatFairy,
SpikeCave,
Shop0x118,
BlindsHouse,
Mutant,
MirrorCaveGroveAndTomb,
BombShop,
BlindsBasement,
HypeCave,
Shop0x11F,
IceRodCave,
SmithHouse,
FortuneTellers,
MiniMoldormCave,
UnknownCaveBonkCave,
Cave0x125,
CheckerBoardCave,
HammerPegCave,
}
use Room::*;
lazy_static! {
pub static ref ROOM_NAMES: HashMap<Room, &'static str> = {
let names = [
(Ganon, "Ganon"),
(HyruleCastleNorthCorridor, "Hyrule Castle (North Corridor)"),
(HyruleCastleSwitchRoom, "Hyrule Castle (Switch Room)"),
(HoulihanRoom, "Houlihan Room"),
(TurtleRockCrystalRollerRoom, "Turtle Rock (Crystal Roller Room)"),
(EmptyCloneRoom0x05, "Empty Clone Room"),
(SwampPalaceArrghus, "Swamp Palace (Arrghus[Boss])"),
(TowerOfHeraMoldorm, "Tower of Hera (Moldorm[Boss])"),
(CaveHealingFairy, "Cave (Healing Fairy)"),
(PalaceOfDarkness0x09, "Palace of Darkness"),
(PalaceOfDarknessStalfossTrapRoom, "Palace of Darkness (Stalfoss Trap Room)"),
(PalaceOfDarknessTurtleRoom, "Palace of Darkness (Turtle Room)"),
(GanonsTowerEntranceRoom, "Ganon's Tower (Entrance Room)"),
(GanonsTowerAgahnim2, "Ganaon's Tower (Agahnim2[Boss])"),
(IcePalaceEntranceRoom, "Ice Palace (Entrance Room)"),
(EmptyCloneRoom0x0F, "Empty Clone Room"),
(GanonEvacuationRoute, "Ganon Evacuation Route"),
(HyruleCastleBombableStockRoom, "Hyrule Castle (Bombable Stock Room)"),
(Sanctuary, "Sanctuary"),
(TurtleRockHokkuBokkuKeyRoom2, "Turtle Rock (Hokku-Bokku Key Room 2)"),
(TurtleRockBigKeyRoom, "Turtle Rock (Big Key Room)"),
(TurtleRock0x15, "Turtle Rock"),
(SwampPalaceSwimmingTreadmill, "Swamp Palace (Swimming Treadmill)"),
(TowerOfHeraMoldormFallRoom, "Tower of Hera (Moldorm Fall Room)"),
(Cave0x18BigFairyDropEntrance, "Big Fairy Drop Entrance Cave"),
(PalaceOfDarknessDarkMaze, "Palace of Darkness (Dark Maze)"),
(PalaceOfDarknessBigChestRoom, "Palace of Darkness (Big Chest Room)"),
(PalaceOfDarknessMimicsMovingWallRoom, "Palace of Darkness (Mimics / Moving Wall Room"),
(GanonsTowerIceArmos, "Ganon's Tower (Ice Armos)"),
(GanonsTowerFinalHallway, "Ganon's Tower (Final Hallway)"),
(IcePalaceBombFloorBariRoom, "Ice Palace (Bomb Floor / Bari Room)"),
(IcePalacePengatorBigKeyRoom, "Ice Palace (Pengator / Big Key Room)"),
(AgahnimsTowerAgahnim, "Agahnim's Tower (Agahnim[Boss])"),
(HyruleCastleKeyRatRoom, "Hyrule Castle (Key Rat Room)"),
(HyruleCastleSewerTextTriggerRoom, "Hyrule Castle (Sewer Text Trigger Room)"),
(TurtleRockWestExitToBalcony, "Turtle Rock (West Exit to Balcony)"),
(TurtleRockDoubleHokkuBokkuBigChestRoom, "Turtle Rock (Double Hokku-Bokku / Big Chest Room)"),
(EmptyCloneRoom0x25, "Empty Clone Room"),
(SwampPalaceStatueRoom, "Swamp Palace (Statue Room)"),
(TowerOfHeraBigChest, "Tower of Hera (Big Chest)"),
(SwampPalaceEntranceRoom, "Swamp Palace (Entrance Room)"),
(SkullWoodsMothula, "Skull Woods (Mothula[Boss])"),
(PalaceOfDarknessBigHubRoom, "Palace of Darkness (Big Hub Room)"),
(PalaceOfDarknessMapChestFairyRoom, "Palace of Darkness (Map Chest / Fairy Room)"),
(CaveHookshotCaveBackdoor, "Hookshot Cave Backdoor (Big Fairy)"),
(EmptyCloneRoom0x2D, "Empty Clone Room"),
(IcePalaceCompassRoom, "Ice Palace (Compass Room)"),
(CaveKakarikoWellHP, "Kakariko Well HP"),
(AgahnimsTowerMaidenSacrificeChamber, "Agahnim's Tower (Maiden Sacrifice Chamber)"),
(TowerOfHeraHardhatBeetleRoom, "Tower of Hera (Hardhat Beetles Room)"),
(HyruleCastleSewerKeyChestRoom, "Hyrule Castle (Sewer Key Chest Room)"),
(DesertPalaceLanmolas, "Desert Palace (Lanmolas[Boss])"),
(SwampPalacePushBlockPuzzlePreBigKeyRoom, "Swamp Palace (Push Block Puzzle / Pre-Big-Key Room"),
(SwampPalaceBigKeyBsRoom, "Swamp Palace (Big Key / BS Room)"),
(SwampPalaceBigChestRoom, "Swamp Palace (Big Chest Room)"),
(SwampPalaceMapChestWaterFillRoom, "Swamp Palace (Map Chest / Water Fill Room)"),
(SwampPalaceKeyPotRoom, "Swamp Palace (Key Pot Room)"),
(SkullWoodsGibdoKeyMothulaHoleRoom, "Skull Woods (Gibdo Key / Mothula Hole Room)"),
(PalaceOfDarknessBombableFloorRoom, "Palace of Darkness (Bombable Floor Room)"),
(PalaceOfDarknessSpikeBlockConveyorRoom, "Palace of Darkness (Spike Block / Conveyor Room)"),
(CaveHookshotCave, "Hookshot Cave"),
(GanonsTowerTorchRoom2, "Ganon's Tower (Torch Room 2)"),
(IcePalaceStalfosKnightConveyorHellway, "Ice Palace (Stalfos Knight / Conveyor Hellway)"),
(IcePalaceMapChestRoom, "Ice Palace (Map Chest Room)"),
(AgahnimsTowerFinalBridgeRoom, "Agahnim's Tower (Final Bridge Room)"),
(HyruleCastleFirstDarkRoom, "Hyrule Castle (First Dark Room)"),
(HyruleCastle6RopesRoom, "Hyrule Castle (6 Ropes Room)"),
(DesertPalaceTorchPuzzleMovingWallRoom, "Desert Palace (Torch Puzzle / Moving Wall Room)"),
(ThievesTownBigChestRoom, "Thieves' Town (Big Chest Room)"),
(ThievesTownJailCellsRoom, "Thieves' Town (Jail Cells Room)"),
(SwampPalaceCompassChestRoom, "Swamp Palace (Compass Chest Room)"),
(EmptyCloneRoom0x47, "Empty Clone Room"),
(EmptyCloneRoom0x48, "Empty Clone Room"),
(SkullWoodsGibdoTorchPuzzleRoom, "Skull Woods (Gibdo Torch Puzzle Room)"),
(PalaceOfDarknessEntranceRoom, "Palace of Darkness (Entrance Room)"),
(PalaceOfDarknessWarpsSouthMimicRoom, "Palace of Darkness (Warps / South Mimic Room)"),
(GanonsTowerMiniHelmasaurConveyorRoom, "Ganon's Tower (Mini-Helmasaur Conveyor Room)"),
(GanonsTowerMoldormRoom, "Ganon's Tower (Moldorm Room)"),
(IcePalaceBombJumpRoom, "Ice Palace (Bomb Jump Room)"),
(IcePalaceCloneRoomFairyRoom, "Ice Palace Clone Room (Fairy Room)"),
(HyruleCastleWestCorridor, "Hyrule Castle (West Corridor)"),
(HyruleCastleThroneRoom, "Hyrule Castle (Throne Room)"),
(HyruleCastleEastCorridor, "Hyrule Castle (East Corridor)"),
(DesertPalacePopos2BeamosHellwayRoom, "Desert Palace (Popos 2 / Beamos Hellway Room)"),
(SwampPalaceUpstairsPitsRoom, "Swamp Palace (Upstairs Pits Room)"),
(CastleSecretEntranceUncleRoom, "Castle Secret Entrance / Uncle Room"),
(SkullWoodsKeyPotTrapRoom, "Skull Woods (Key Pot / Trap Room)"),
(SkullWoodsBigKeyRoom, "Skull Woods (Big Key Room)"),
(SkullWoodsBigChestRoom, "Skull Woods (Big Chest Room)"),
(SkullWoodsFinalSectionEntranceRoom, "Skull Woods (Final Section Entrance Room)"),
(PalaceOfDarknessHelmasaurKing, "Palace of Darkness (Helmasaur King[Boss])"),
(GanonsTowerSpikePitRoom, "Ganon's Tower (Spike Pit Room)"),
(GanonsTowerGanonBallZ, "Ganon's Tower (Ganon-Ball Z)"),
(GanonsTowerGauntlet123, "Ganon's Tower (Gauntlet 1/2/3)"),
(IcePalaceLonelyFirebar, "Ice Palace (Lonely Firebar)"),
(IcePalaceHiddenChestSpikeFloorRoom, "Ice Palace (Hidden Chest / Spike Floor Room)"),
(HyruleCastleWestEntranceRoom, "Hyrule Castle (West Entrance Room)"),
(HyruleCastleMainEntranceRoom, "Hyrule Castle (Main Entrance Room)"),
(HyruleCastleEastEntranceRoom, "Hyrule Castle (East Entrance Room)"),
(DesertPalaceFinalSectionEntranceRoom, "Desert Palace (Final Section Entrance Room)"),
(ThievesTownWestAtticRoom, "Thieves' Town (West Attic Room)"),
(ThievesTownEastAtticRoom, "Thieves' Town (East Attic Room)"),
(SwampPalaceHiddenChestHiddenDoorRoom, "Swamp Palace (Hidden Chest / Hidden Door Room)"),
(SkullWoodsCompassChestRoom, "Skull Woods (Compass Chest Room)"),
(SkullWoodsKeyChestTrapRoom, "Skull Woods (Key Chest / Trap Room)"),
(EmptyCloneRoom0x69, "Empty Clone Room"),
(PalaceOfDarknessRupeeRoom, "Palace of Darkness (Rupee Room)"),
(GanonsTowerMimicsRoom, "Ganon's Tower (Mimics Room)"),
(GanonsTowerLanmolasRoom, "Ganon's Tower (Lanmolas Room"),
(GanonsTowerGauntlet45, "Ganon's Tower (Gauntlet 4/5)"),
(IcePalacePengatorsRoom, "Ice Palace (Pengators Room)"),
(EmptyCloneRoom0x6F, "Empty Clone Room"),
(HyruleCastleSmallCorridorToJailCells, "Hyrule Castle (Small Corridor to Jail Cells"),
(HyruleCastleBoomerangChestRoom, "Hyrule Castle (Boomerang Chest Room)"),
(HyruleCastleMapChestRoom, "Hyrule Castle (Map Chest Room)"),
(DesertPalaceBigChestRoom, "Desert Palace (Big Chest Room)"),
(DesertPalaceMapChestRoom, "Desert Palace (Map Chest Room)"),
(DesertPalaceBigKeyChestRoom, "Desert Palace (Big Key Chest Room)"),
(SwampPalaceWaterDrainRoom, "Swamp Palace (Water Drain Room)"),
(TowerOfHeraEntranceRoom, "Tower of Hera (Entrance Room)"),
(EmptyCloneRoom0x78, "Empty Clone Room"),
(EmptyCloneRoom0x79, "Empty Clone Room"),
(EmptyCloneRoom0x7A, "Empty Clone Room"),
(GanonsTowerMisc, "Ganon's Tower (Sideways Conveyors / 4 Chest 4 Shooter / Square Pit"),
(GanonsTowerEastSideCollapsingBridgeExplodingWallRoom, "Ganon's Tower (East Side Collapsing Bridge / Exploding Wall Room)"),
(GanonsTowerWinderWarpMazeRoom, "Ganon's Tower (Winder / Warp Maze Room)"),
(IcePalaceHiddenChestBombableFloorRoom, "Ice Palace (Hidden Chest / Bombable Floor Room)"),
(IcePalaceBigSpikeTrapsRoom, "Ice Palace (Big Spike Traps Room)"),
(HyruleCastleJailCellRoom, "Hyrule Castle (Jail Cell Room)"),
(HyruleCastleNextToChasmRoom, "Hyrule Castle (Next to Chasm Room)"),
(HyruleCastleBasementChasmRoom, "Hyrule Castle (Basement Chasm Room)"),
(DesertPalaceWestEntranceRoom, "Desert Palace (West Entrance Room)"),
(DesertPalaceMainEntranceRoom, "Desert Palace (Main Entrance Room)"),
(DesertPalaceEastEntranceRoom, "Desert Palace (East Entrance Room)"),
(EmptyCloneRoom0x86, "Empty Clone Room"),
(TowerOfHeraTileRoom, "Tower of Hera (Tile Room)"),
(EmptyCloneRoom0x88, "Empty Clone Room"),
(EasternPalaceFairyRoom, "Eastern Palace (Fairy Room)"),
(EmptyCloneRoom0x8A, "Empty Clone Room"),
(GanonsTowerBlockPuzzleSpikeSkipMapChestRoom, "Ganon's Tower (Block Puzzle / Spike Skip / Map Chest Room)"),
(GanonsTowerEastAndWestDownstairsBigChestRoom, "Ganon's Tower (East and West Downstairs / Big Chest Room)"),
(GanonsTowerTileTorchPuzzleRoom, "Ganon's Tower (Tile / Torch Puzzle Room)"),
(IcePalaceBlobsWithTetrisBarrier, "Ice Palace (Blobs with Tetris Barrier)"),
(EmptyCloneRoom0x8F, "Empty Clone Room"),
(MiseryMireVitreous, "Misery Mire (Vitreous[Boss])"),
(MiseryMireFinalSwitchRoom, "Misery Mire (Final Switch Room)"),
(MiseryMireDarkBombWallSwitchesRoom, "Misery Mire (Dark Bomb Wall / Switches Room)"),
(MiseryMireDarkCaneFLoorSwitchPuzzleRoom, "Misery Mire (Dark Cane FLoor Switch Puzzle Room)"),
(EmptyCloneRoom0x94, "Empty Clone Room"),
(GanonsTowerFinalCollapsingBridgeRoom, "Ganon's Tower (Final Collapsing Bridge Room)"),
(GanonsTowerTorches1Room, "Ganon's Tower (Torches 1 Room)"),
(MiseryMireTorchPuzzleMovingWallRoom, "Misery Mire (Torch Puzzle / Moving Wall Room)"),
(MiseryMireEntranceRoom, "Misery Mire (Entrance Room)"),
(EasternPalaceEyegoreKeyRoom, "Eastern Palace (Eyegore Key Room)"),
(EmptyCloneRoom0x9A, "Empty Clone Room"),
(GanonsTowerManySpikesWarpMazeRoom, "Ganon's Tower (Many Spikes / Warp Maze Room)"),
(GanonsTowerInvisibleFloorMazeRoom, "Ganon's Tower (Invisible Floor Maze Room)"),
(GanonsTowerCompassChestInvisibleFloorRoom, "Ganon's Tower (Compass Chest / Invisible Floor Room)"),
(IcePalaceBigChestRoom, "Ice Palace (Big Chest Room)"),
(IcePalaceIceFloorPotsKeyAndSwitch, "Ice Palace (Room with ice floor, key, and 4 wall rats)"),
(MiseryMirePreVitreousRoom, "Misery Mire (Pre-Vitreous Room)"),
(MiseryMireFishRoom, "Misery Mire (Fish Room)"),
(MiseryMireBridgeKeyChestRoom, "Misery Mire (Bridge Key Chest Room)"),
(MiseryMireEmptyLConnectingRoom, "Misery Mire (Empty 'L' Connecting Room)"),
(TurtleRockTrinexx, "Turtle Rock (Trinexx[Boss])"),
(GanonsTowerWizzrobesRooms, "Ganon's Tower (Wizzrobes Rooms)"),
(GanonsTowerMoldormFallRoom, "Ganon's Tower (Moldorm Fall Room)"),
(TowerOfHeraFairyRoom, "Tower of Hera (Fairy Room)"),
(EasternPalaceStalfosSpawnRoom, "Eastern Palace (Staflos Spawn Room)"),
(EasternPalaceBigChestRoom, "Eastern Palace (Big Chest Room)"),
(EasternPalaceMapChestRoom, "Eastern Palace (Map Chest Room)"),
(ThievesTownMovingSpikesKeyPotRoom, "Thieves' Town (Moving Spikes / Key Pot Room)"),
(ThievesTownBlindTheThief, "Thieves' Town (Blind the Thief[Boss])"),
(EmptyCloneRoom0xAD, "Empty Clone Room"),
(IcePalaceIceTRoom, "Ice Palace (Ice T Room)"),
(IcePalaceIceBridgeRoom, "Ice Palace (Ice Bridge Room)"),
(AgahnimsTowerCircleOfPots, "Agahnim's Tower (Circle of Pots)"),
(MiseryMireHourglassRoom, "Misery Mire (Hourglass Room)"),
(MiseryMireSlugRoom, "Misery Mire (Slug Room)"),
(MiseryMireSpikeKeyChestRoom, "Misery Mire (Spike Key Chest Room)"),
(TurtleRockPreTrinexxRoom, "Turtle Rock (Pre-Trinexx Room)"),
(TurtleRockDarkMaze, "Turtle Rock (Dark Maze)"),
(TurtleRockChainChompsRoom, "Turtle Rock (Chain Chomps Room)"),
(TurtleRockMapChestKeyChestRollerRoom, "Turtle Rock (Map Chest / Key Chest / Roller Room)"),
(EasternPalaceBigKeyRoom, "Eastern Palace (Big Key Room)"),
(EasternPalaceLobbyCannonballsRoom, "Eastern Palace (Lobby Cannonballs Room)"),
(EasternPalaceDarkAntifairyKeyPotRoom, "Eastern Palace (Dark Antifairy / Key Pot Room)"),
(ThievesTownHellway, "Thieves' Town (Hellway)"),
(ThievesTownConveyorToilet, "Thieves' Town (Conveyor Toilet)"),
(EmptyCloneRoom0xBD, "Empty Clone Room"),
(IcePalaceBlockPuzzleRoom, "Ice Palace (Block Puzzle Room)"),
(IcePalaceCloneRoomSwitchRoom, "Ice Palace Clone Room (Switch Room)"),
(AgahnimsTowerDarkBridgeRoom, "Agahnim's Tower (Dark Bridge Room)"),
(MiseryMireCompassChestTileRoom, "Misery Mire (Compass Chest / Tile Room)"),
(MiseryMireBigHubRoom, "Misery Mire (Big Hub Room)"),
(MiseryMireBigChestRoom, "Misery Mire (Big Chest Room)"),
(TurtleRockFinalCrystalSwitchPuzzleRoom, "Turtle Rock (Final Crystal Switch Puzzle Room)"),
(TurtleRockLaserBridge, "Turtle Rock (Laser Bridge)"),
(TurtleRockSomariaHub, "Turtle Rock (Somaria Hub Room)"),
(TurtleRockTorchPuzzle, "Turtle Rock (Torch Puzzle)"),
(EasternPalaceArmosKnights, "Eastern Palace (Armos Knights[Boss])"),
(EasternPalaceEntranceRoom, "Eastern Palace (Entrance Room)"),
(UnknownRoom, "Unused Room??"),
(ThievesTownNorthWestEntranceRoom, "Thieves' Town (North West Entrance Room)"),
(ThievesTownNorthEastEntranceRoom, "Thieves' Town (North East Entrance Room)"),
(EmptyCloneRoom0xCD, "Empty Clone Room"),
(IcePalaceHoleToKholdstareRoom, "Ice Palace (Hole to Kholdstare Room)"),
(EmptyCloneRoom0xCF, "Empty Clone Room"),
(AgahnimsTowerDarkMaze, "Agahnim's Tower (Dark Maze)"),
(MiseryMireConveyorSlugBigKeyRoom, "Misery Mire (Conveyor Slug / Big Key Room)"),
(MiseryMireWizzrobesRoom, "Misery Mire (Wizzrobes Room)"),
(EmptyCloneRoom0xD3, "Empty Clone Room"),
(EmptyCloneRoom0xD4, "Empty Clone Room"),
(TurtleRockLaserKeyRoom, "Turtle Rock (Laser Key Room)"),
(TurtleRockEntranceRoom, "Turtle Rock (Entrance Room)"),
(EmptyCloneRoom0xD7, "Empty Clone Room"),
(EasternPalacePreArmosKnightsRoom, "Eastern Palace (Pre-Armos-Knights Room)"),
(EasternPalaceCannonballRoom, "Eastern Palace (Cannonball Room)"),
(EasternPalacePotSwitchRoom, "Eastern Palace (Pot Switch Room)"),
(ThievesTownSouthWestEntranceRoom, "Thieves' Town (South West Entrance Room)"),
(ThievesTownSouthEastEntranceRoom, "Thieves Town (South East Entrance Room)"),
(EmptyCloneRoom0xDD, "Empty Clone Room"),
(IcePalaceKholdstare, "Ice Palace (Kholdstare[Boss])"),
(CaveBackwardsDeathMountainTopFloor, "Death Mountain Exit (Top)"),
(AgahnimsTowerEntranceRoom, "Agahnim's Tower (Entrance Room)"),
(CaveLostWoodsHP, "Cave (Lost Woods HP)"),
(CaveLumberjacksTreeHP, "Cave (Lumberjacks' Tree HP)"),
(CaveMagicBat, "Cave (Magic Bat)"),
(CaveLostOldManHouse, "Cave (Lost Old Man's House)"),
(CaveLostOldManHouseBack, "Cave (Lost Old Man's House Back)"),
(Cave0xE6, "Cave (Bunch of Keese)"),
(Cave0xE7, "Cave (Bunch of Keese 2)"),
(CaveSuperBunnyTop, "Cave (Super Bunny Top)"),
(EmptyCloneRoom0xE9, "Empty Clone Room"),
(CaveSpectacleRockHP, "Cave (Inside Spectacle Rock HP)"),
(CaveBumperCaveTop, "Cave (Bumper Cave Top)"),
(EmptyCloneRoom0xEC, "Empty Clone Room"),
(Cave0xED, "Cave (??)"),
(CaveSpiralCave, "Cave (Spiral Cave)"),
(CaveCrystalSwitch5ChestsRoom, "Cave (Crystal Switch / 5 Chests Room)"),
(CaveLostOldManStartingCaveBottom, "Cave (Lost Old Man Starting Cave Bottom)"),
(CaveLostOldManStartingCaveTop, "Cave (Lost Old Man Starting Cave Top)"),
(HouseOldWomanNextDoor, "House (Old Woman Next Door)"),
(HouseOldWomanSahasrahlasWifeMaybe, "House (Old Woman / Sahasrahla's Wife?)"),
(HouseAngryBrothersWest, "House (Angry Brothers West)"),
(HouseAngryBrothersEast, "House (Angry Brothers East)"),
(EmptyCloneRoom0xF6, "Empty Clone Room"),
(EmptyCloneRoom0xF7, "Empty Clone Room"),
(CaveSuperBunnyBottom, "Cave (Super Bunny Bottom)"),
(CaveSpectacleRockExit, "Cave (Spectacle Rock Exit)"),
(CaveSpectacleRockPrizeEntrance, "Cave (Spectacle Rock Prize Entrance)"),
(CaveBumperCaveBottom, "Cave (Bumper Cave Bottom)"),
(EmptyCloneRoom0xFC, "Empty Clone Room"),
(Cave0xFD, "Cave (Death Mountain)"),
(CaveSpiralCaveExit, "Cave (Spiral Cave Exit)"),
(CaveParadoxCaveMiddleEntrance, "Cave (Paradox Cave 'Middle' Entrance)"),
(ShopInLostWoods0x100, "Shop in Lost Woods"),
(ScaredLadyHouses, "Scared Ladies' Houses"),
(SickKid, "Sick Kid"),
(InnBushHouse, "Inn / BushHouse"),
(LinksHouse, "Link's House"),
(ShabadooHouse, "Sahasrahla's House"),
(ChestGameBombHouse, "Chest Game / Outcast Village Bomb House"),
(LibraryBombFarmRoom, "Library / Bomb Farm Room"),
(ChickenHouse, "Chicken House"),
(WitchHut, "Witch Hut"),
(Aginah, "Aginah's Cave"),
(Dam, "Dam"),
(MimicCave, "Mimic Cave"),
(CaveOutsideMiseryMire, "Cave Outside Misery Mire"),
(Cave0x10E, "Cave0x10E"),
(Shop0x10F, "Shop0x10F"),
(Shop0x110, "Shop0x110"),
(ArcherGame, "Archery Game"),
(CaveShop0x112, "CaveShop0x112"),
(KingsTomb, "King's Tomb"),
(WishingWellCave0x114, "Wishing Well / Cave 0x114"),
(WishingWellBigFairy, "Wishing Well / BigFairy"),
(FatFairy, "Fat Fairy"),
(SpikeCave, "Spike Cave"),
(Shop0x118, "Shop0x118"),
(BlindsHouse, "Blind's House"),
(Mutant, "Mutant Hut"),
(MirrorCaveGroveAndTomb, "Mirror Caves (South of Grove / Graveyard Ledge)"),
(BombShop, "Bomb Shop"),
(BlindsBasement, "Blind's Basement"),
(HypeCave, "Hype Cave"),
(Shop0x11F, "Shop0x11F"),
(IceRodCave, "Ice Rod Cave"),
(SmithHouse, "Smiths' House"),
(FortuneTellers, "Fortune Tellers"),
(MiniMoldormCave, "Mini-Moldorm Cave"),
(UnknownCaveBonkCave, "Unknown Cave / BonkCave"),
(Cave0x125, "Cave0x125"),
(CheckerBoardCave, "Checker Board Cave"),
(HammerPegCave, "Hammer Peg Cave"),
];
HashMap::from_iter(names.into_iter())
};
}
pub const NEED_KILLABLE_ROOMS: [Room; 39] = [
EasternPalaceBigKeyRoom, // For anti-fairy circle around pot switch
PalaceOfDarknessTurtleRoom,
PalaceOfDarknessMimicsMovingWallRoom,
PalaceOfDarknessWarpsSouthMimicRoom,
TurtleRockCrystalRollerRoom, // Greed room has a kill-all section
TurtleRockDoubleHokkuBokkuBigChestRoom,
TurtleRockChainChompsRoom,
SwampPalaceEntranceRoom,
IcePalaceEntranceRoom, // Not normally required to backtrack, except in doors intensity 3
IcePalaceCompassRoom,
IcePalaceStalfosKnightConveyorHellway,
IcePalacePengatorsRoom,
TowerOfHeraHardhatBeetleRoom,
TowerOfHeraTileRoom,
ThievesTownBigChestRoom, // For trap room north of big chest
ThievesTownJailCellsRoom, // For room with stairs and big lift block
DesertPalacePopos2BeamosHellwayRoom,
DesertPalaceBigKeyChestRoom,
DesertPalaceEastEntranceRoom,
GanonsTowerTorchRoom2,
GanonsTowerGauntlet123,
GanonsTowerMimicsRoom,
GanonsTowerGauntlet45,
GanonsTowerMisc,
GanonsTowerWinderWarpMazeRoom,
GanonsTowerTileTorchPuzzleRoom,
GanonsTowerTorches1Room,
GanonsTowerWizzrobesRooms,
HyruleCastleBoomerangChestRoom,
EasternPalaceStalfosSpawnRoom,
EasternPalacePreArmosKnightsRoom,
AgahnimsTowerCircleOfPots,
AgahnimsTowerDarkBridgeRoom, // Not normally required to go backwards, except in basic/crossed doors, or doing glitch shenanigans.
AgahnimsTowerEntranceRoom,
MiseryMireSlugRoom,
MiseryMireWizzrobesRoom,
CaveCrystalSwitch5ChestsRoom,
MimicCave,
MiniMoldormCave,
];
// All the rooms that require special handling.
/// These rooms need to be locked to GFX ID 28.
pub const FREEZOR_ROOMS: [Room; 5] = [
IcePalaceEntranceRoom,
IcePalaceHiddenChestBombableFloorRoom,
IcePalaceBlobsWithTetrisBarrier,
IcePalaceBigChestRoom,
IcePalaceBlockPuzzleRoom,
];
/// These rooms need to be locked to GFX ID 17.
pub const WATER_ROOMS: [Room; 33] = [
GanonsTowerEntranceRoom,
GanonsTowerAgahnim2,
SwampPalaceSwimmingTreadmill,
GanonsTowerIceArmos,
GanonsTowerFinalHallway,
SwampPalaceEntranceRoom,
SwampPalacePushBlockPuzzlePreBigKeyRoom,
SwampPalaceBigChestRoom,
SwampPalaceKeyPotRoom,
GanonsTowerTorchRoom2,
SwampPalaceCompassChestRoom,
GanonsTowerMiniHelmasaurConveyorRoom,
GanonsTowerMoldormRoom,
GanonsTowerSpikePitRoom,
GanonsTowerGanonBallZ,
GanonsTowerGauntlet123,
SwampPalaceHiddenChestHiddenDoorRoom,
GanonsTowerMimicsRoom,
GanonsTowerLanmolasRoom,
GanonsTowerGauntlet45,
GanonsTowerMisc,
GanonsTowerEastSideCollapsingBridgeExplodingWallRoom,
GanonsTowerWinderWarpMazeRoom,
GanonsTowerBlockPuzzleSpikeSkipMapChestRoom,
GanonsTowerEastAndWestDownstairsBigChestRoom,
GanonsTowerTileTorchPuzzleRoom,
GanonsTowerFinalCollapsingBridgeRoom,
GanonsTowerTorches1Room,
GanonsTowerManySpikesWarpMazeRoom,
GanonsTowerInvisibleFloorMazeRoom,
GanonsTowerCompassChestInvisibleFloorRoom,
GanonsTowerWizzrobesRooms,
GanonsTowerMoldormFallRoom,
];
pub const SHADOW_ROOMS: [Room; 2] = [
IcePalaceStalfosKnightConveyorHellway,
IcePalaceIceFloorPotsKeyAndSwitch,
];
pub const WALL_MASTER_ROOMS: [Room; 5] = [
SkullWoodsGibdoKeyMothulaHoleRoom,
SkullWoodsGibdoTorchPuzzleRoom,
SkullWoodsKeyPotTrapRoom,
SkullWoodsKeyChestTrapRoom,
GanonsTowerTileTorchPuzzleRoom,
];
pub const BUMPER_CRYSTAL_LASER_ROOMS: [Room; 42] = [
TurtleRockCrystalRollerRoom,
PalaceOfDarknessTurtleRoom,
TurtleRockHokkuBokkuKeyRoom2,
TowerOfHeraMoldormFallRoom,
PalaceOfDarknessMimicsMovingWallRoom,
IcePalaceBombFloorBariRoom,
PalaceOfDarknessBigHubRoom,
PalaceOfDarknessMapChestFairyRoom,
TowerOfHeraHardhatBeetleRoom,
GanonsTowerTorchRoom2,
AgahnimsTowerFinalBridgeRoom,
ThievesTownBigChestRoom,
PalaceOfDarknessEntranceRoom,
GanonsTowerMiniHelmasaurConveyorRoom,
SkullWoodsBigChestRoom,
SkullWoodsFinalSectionEntranceRoom,
GanonsTowerSpikePitRoom,
SkullWoodsCompassChestRoom,
SkullWoodsKeyChestTrapRoom,
GanonsTowerMimicsRoom,
TowerOfHeraEntranceRoom,
IcePalaceHiddenChestBombableFloorRoom,
TowerOfHeraTileRoom,
GanonsTowerBlockPuzzleSpikeSkipMapChestRoom,
MiseryMireFinalSwitchRoom,
MiseryMireDarkBombWallSwitchesRoom,
GanonsTowerTorches1Room,
GanonsTowerManySpikesWarpMazeRoom,
GanonsTowerCompassChestInvisibleFloorRoom,
MiseryMireFishRoom,
GanonsTowerWizzrobesRooms,
ThievesTownMovingSpikesKeyPotRoom,
TurtleRockChainChompsRoom,
IcePalaceCloneRoomSwitchRoom,
MiseryMireCompassChestTileRoom,
MiseryMireBigChestRoom,
TurtleRockFinalCrystalSwitchPuzzleRoom,
TurtleRockLaserBridge,
TurtleRockLaserKeyRoom,
TurtleRockEntranceRoom,
CaveBumperCaveTop,
CaveCrystalSwitch5ChestsRoom,
];
pub const PULL_SWITCH_ROOMS: [Room; 4] = [
HyruleCastleSwitchRoom,
SkullWoodsBigChestRoom,
ThievesTownWestAtticRoom,
Dam,
];
pub const TONGUE_ROOMS: [Room; 7] = [
TurtleRockCrystalRollerRoom,
TurtleRockWestExitToBalcony,
SwampPalaceBigKeyBsRoom,
SwampPalaceMapChestWaterFillRoom,
IcePalaceMapChestRoom,
SwampPalaceWaterDrainRoom,
IcePalaceHoleToKholdstareRoom,
];
pub const NO_STATUE_ROOMS: [Room; 12] = [
SwampPalaceSwimmingTreadmill,
SwampPalaceStatueRoom,
SwampPalaceEntranceRoom,
PalaceOfDarknessMapChestFairyRoom,
SwampPalacePushBlockPuzzlePreBigKeyRoom,
SwampPalaceBigChestRoom,
SwampPalaceCompassChestRoom,
SkullWoodsBigKeyRoom,
SwampPalaceWaterDrainRoom,
MiseryMireHourglassRoom,
MiseryMireBigHubRoom,
AgahnimsTowerDarkMaze,
];
pub const MOVING_CANNONS_ROOMS: [Room; 2] = [
GanonsTowerGanonBallZ,
DesertPalaceBigKeyChestRoom,
];
pub const CANNON_ROOMS: [Room; 3] = [
EasternPalaceLobbyCannonballsRoom,
EasternPalaceCannonballRoom,
MimicCave, // ???
];
/// These rooms have no enemies to randomize, or are special bosses that can't be switched out.
pub const DONT_RANDOMIZE_ROOMS: [Room; 8] = [
Ganon,
HyruleCastleNorthCorridor,
HoulihanRoom,
GanonsTowerAgahnim2,
TurtleRockBigKeyRoom,
AgahnimsTowerAgahnim,
AgahnimsTowerMaidenSacrificeChamber,
IcePalaceBigSpikeTrapsRoom, // Anything else would be too easy?
];
pub const NO_SPECIAL_ENEMIES_IN_STANDARD_MODE_ROOMS: [Room; 21] = [
HyruleCastleNorthCorridor,
HyruleCastleSwitchRoom,
HyruleCastleBombableStockRoom,
HyruleCastleKeyRatRoom,
HyruleCastleSewerTextTriggerRoom,
HyruleCastleSewerKeyChestRoom,
HyruleCastleFirstDarkRoom,
HyruleCastle6RopesRoom,
HyruleCastleWestCorridor,
HyruleCastleThroneRoom,
HyruleCastleEastCorridor,
CastleSecretEntranceUncleRoom,
HyruleCastleWestEntranceRoom,
HyruleCastleMainEntranceRoom,
HyruleCastleEastEntranceRoom,
HyruleCastleSmallCorridorToJailCells,
HyruleCastleBoomerangChestRoom,
HyruleCastleMapChestRoom,
HyruleCastleJailCellRoom,
HyruleCastleNextToChasmRoom,
HyruleCastleBasementChasmRoom,
];
pub const BOSS_ROOMS: [Room; 16] = [
Ganon,
SwampPalaceArrghus,
TowerOfHeraMoldorm,
GanonsTowerAgahnim2,
GanonsTowerIceArmos,
AgahnimsTowerAgahnim,
SkullWoodsMothula,
DesertPalaceLanmolas,
GanonsTowerMoldormRoom,
PalaceOfDarknessHelmasaurKing,
GanonsTowerLanmolasRoom,
MiseryMireVitreous,
TurtleRockTrinexx,
ThievesTownBlindTheThief,
EasternPalaceArmosKnights,
IcePalaceKholdstare,
];
pub const DONT_USE_IMMOVABLE_ENEMIES: [Room; 57] = [
PalaceOfDarknessTurtleRoom, // for single terrorpin in L shaped section
SwampPalaceSwimmingTreadmill,
PalaceOfDarknessDarkMaze, // top placement will probably block maze
IcePalaceBombFloorBariRoom, // TODO: test
SwampPalaceStatueRoom,
TowerOfHeraBigChest, // TODO: test, top left placement before stairs up
SwampPalaceBigChestRoom, // bottom left waterbug
IcePalaceMapChestRoom, // spikes block stuff
HyruleCastle6RopesRoom, // only if two of them stack, but why chance it?
AgahnimsTowerFinalBridgeRoom, // spikes are bad here
SwampPalaceCompassChestRoom,
SkullWoodsGibdoTorchPuzzleRoom,
PalaceOfDarknessWarpsSouthMimicRoom,
IcePalaceBombJumpRoom, // for the zols in the small next room
CastleSecretEntranceUncleRoom, // TODO: test
SkullWoodsBigKeyRoom,
IcePalaceHiddenChestSpikeFloorRoom, // TODO: would this cause problems in OHKO since you can't hookshot across if middle mob is beamos, etc?
ThievesTownEastAtticRoom, // only if both bottom rats
PalaceOfDarknessRupeeRoom, // only if two terrorpins next to each other (but can happen twice)
DesertPalaceMapChestRoom, // only if both antlions in hallway to the south of chest
SwampPalaceWaterDrainRoom, // would need 3 mobs to be impassible to possibly softlock...
GanonsTowerWinderWarpMazeRoom, // very low chance
IcePalaceBigSpikeTrapsRoom, // TODO: what happens to beamos over a pit?
DesertPalaceWestEntranceRoom, // TODO: test
DesertPalaceMainEntranceRoom, // TODO: test
DesertPalaceEastEntranceRoom, // TODO: test
GanonsTowerEastAndWestDownstairsBigChestRoom, // TODO: test, probably safe?
GanonsTowerTileTorchPuzzleRoom, // TODO: test
MiseryMireDarkBombWallSwitchesRoom, // TODO: test
GanonsTowerFinalCollapsingBridgeRoom, // TODO: test, probably safe because of conveyor belts
MiseryMireEntranceRoom,
GanonsTowerManySpikesWarpMazeRoom, // TODO: test, middle spike covers warp, are we randomizing those?
GanonsTowerInvisibleFloorMazeRoom, // TODO: test
GanonsTowerCompassChestInvisibleFloorRoom, // TODO: test
IcePalaceBigChestRoom, // Big spikes will block
MiseryMirePreVitreousRoom, // TODO: test
EasternPalaceMapChestRoom, // TODO: test
IcePalaceIceBridgeRoom,
MiseryMireSpikeKeyChestRoom, // TODO: test lower stalfos blocking door
EasternPalaceDarkAntifairyKeyPotRoom, // TODO: test lower stalfos blocking door
ThievesTownHellway, // TODO: test, but should be ok
ThievesTownConveyorToilet, // TODO: test
TurtleRockSomariaHub, // technically a door is blocked off, but who would ever go there? (Door rando would)
ThievesTownNorthWestEntranceRoom,
IcePalaceHoleToKholdstareRoom, // spikes block stuff
AgahnimsTowerDarkMaze, // TODO: test
MiseryMireWizzrobesRoom,
TurtleRockLaserKeyRoom,
EasternPalacePreArmosKnightsRoom,
ThievesTownSouthEastEntranceRoom, // TODO: test
CaveBackwardsDeathMountainTopFloor,
CaveLostOldManHouse,
Cave0xE7,
CaveSpiralCave,
CaveSpectacleRockExit, // TODO: test, probably can get past
Cave0xFD,
MimicCave,
];
pub const DONT_USE_FLYING_ENEMIES: [Room; 2] = [
MiseryMireWizzrobesRoom,
MimicCave,
];