2023-03-20 16:19:55 +00:00
|
|
|
import typing
|
|
|
|
|
2023-11-25 14:46:00 +00:00
|
|
|
from BaseClasses import MultiWorld, Region
|
2023-03-20 16:19:55 +00:00
|
|
|
|
2023-11-25 14:46:00 +00:00
|
|
|
from .Locations import KH2Location, event_location_to_item
|
|
|
|
from . import LocationName, RegionName, Events_Table
|
2023-03-20 16:19:55 +00:00
|
|
|
|
2023-11-25 14:46:00 +00:00
|
|
|
KH2REGIONS: typing.Dict[str, typing.List[str]] = {
|
|
|
|
"Menu": [],
|
|
|
|
RegionName.GoA: [
|
2023-03-20 16:19:55 +00:00
|
|
|
LocationName.GardenofAssemblageMap,
|
|
|
|
LocationName.GoALostIllusion,
|
|
|
|
LocationName.ProofofNonexistence,
|
2023-11-25 14:46:00 +00:00
|
|
|
# LocationName.DonaldStarting1,
|
|
|
|
# LocationName.DonaldStarting2,
|
|
|
|
# LocationName.GoofyStarting1,
|
|
|
|
# LocationName.GoofyStarting2
|
|
|
|
],
|
|
|
|
RegionName.LoD: [
|
2023-03-20 16:19:55 +00:00
|
|
|
LocationName.BambooGroveDarkShard,
|
|
|
|
LocationName.BambooGroveEther,
|
|
|
|
LocationName.BambooGroveMythrilShard,
|
|
|
|
LocationName.EncampmentAreaMap,
|
|
|
|
LocationName.Mission3,
|
|
|
|
LocationName.CheckpointHiPotion,
|
|
|
|
LocationName.CheckpointMythrilShard,
|
|
|
|
LocationName.MountainTrailLightningShard,
|
|
|
|
LocationName.MountainTrailRecoveryRecipe,
|
|
|
|
LocationName.MountainTrailEther,
|
|
|
|
LocationName.MountainTrailMythrilShard,
|
|
|
|
LocationName.VillageCaveAreaMap,
|
|
|
|
LocationName.VillageCaveAPBoost,
|
|
|
|
LocationName.VillageCaveDarkShard,
|
|
|
|
LocationName.VillageCaveBonus,
|
|
|
|
LocationName.RidgeFrostShard,
|
|
|
|
LocationName.RidgeAPBoost,
|
2023-11-25 14:46:00 +00:00
|
|
|
],
|
|
|
|
RegionName.ShanYu: [
|
2023-03-20 16:19:55 +00:00
|
|
|
LocationName.ShanYu,
|
|
|
|
LocationName.ShanYuGetBonus,
|
|
|
|
LocationName.HiddenDragon,
|
|
|
|
LocationName.GoofyShanYu,
|
2023-11-25 14:46:00 +00:00
|
|
|
LocationName.ShanYuEventLocation
|
|
|
|
],
|
|
|
|
RegionName.LoD2: [],
|
|
|
|
RegionName.AnsemRiku: [
|
2023-03-20 16:19:55 +00:00
|
|
|
LocationName.ThroneRoomTornPages,
|
|
|
|
LocationName.ThroneRoomPalaceMap,
|
|
|
|
LocationName.ThroneRoomAPBoost,
|
|
|
|
LocationName.ThroneRoomQueenRecipe,
|
|
|
|
LocationName.ThroneRoomAPBoost2,
|
|
|
|
LocationName.ThroneRoomOgreShield,
|
|
|
|
LocationName.ThroneRoomMythrilCrystal,
|
|
|
|
LocationName.ThroneRoomOrichalcum,
|
2023-11-25 14:46:00 +00:00
|
|
|
LocationName.AnsemRikuEventLocation,
|
|
|
|
],
|
|
|
|
RegionName.StormRider: [
|
2023-03-20 16:19:55 +00:00
|
|
|
LocationName.StormRider,
|
|
|
|
LocationName.GoofyStormRider,
|
2023-11-25 14:46:00 +00:00
|
|
|
LocationName.StormRiderEventLocation
|
|
|
|
],
|
|
|
|
RegionName.DataXigbar: [
|
|
|
|
LocationName.XigbarDataDefenseBoost,
|
|
|
|
LocationName.DataXigbarEventLocation
|
|
|
|
],
|
|
|
|
RegionName.Ag: [
|
2023-03-20 16:19:55 +00:00
|
|
|
LocationName.AgrabahMap,
|
|
|
|
LocationName.AgrabahDarkShard,
|
|
|
|
LocationName.AgrabahMythrilShard,
|
|
|
|
LocationName.AgrabahHiPotion,
|
|
|
|
LocationName.AgrabahAPBoost,
|
|
|
|
LocationName.AgrabahMythrilStone,
|
|
|
|
LocationName.AgrabahMythrilShard2,
|
|
|
|
LocationName.AgrabahSerenityShard,
|
|
|
|
LocationName.BazaarMythrilGem,
|
|
|
|
LocationName.BazaarPowerShard,
|
|
|
|
LocationName.BazaarHiPotion,
|
|
|
|
LocationName.BazaarAPBoost,
|
|
|
|
LocationName.BazaarMythrilShard,
|
|
|
|
LocationName.PalaceWallsSkillRing,
|
|
|
|
LocationName.PalaceWallsMythrilStone,
|
|
|
|
LocationName.CaveEntrancePowerStone,
|
|
|
|
LocationName.CaveEntranceMythrilShard,
|
|
|
|
LocationName.ValleyofStoneMythrilStone,
|
|
|
|
LocationName.ValleyofStoneAPBoost,
|
|
|
|
LocationName.ValleyofStoneMythrilShard,
|
|
|
|
LocationName.ValleyofStoneHiPotion,
|
|
|
|
LocationName.AbuEscort,
|
|
|
|
LocationName.ChasmofChallengesCaveofWondersMap,
|
|
|
|
LocationName.ChasmofChallengesAPBoost,
|
|
|
|
LocationName.TreasureRoom,
|
|
|
|
LocationName.TreasureRoomAPBoost,
|
|
|
|
LocationName.TreasureRoomSerenityGem,
|
2023-11-25 14:46:00 +00:00
|
|
|
LocationName.GoofyTreasureRoom,
|
|
|
|
LocationName.DonaldAbuEscort
|
|
|
|
],
|
|
|
|
RegionName.TwinLords: [
|
2023-03-20 16:19:55 +00:00
|
|
|
LocationName.ElementalLords,
|
|
|
|
LocationName.LampCharm,
|
2023-11-25 14:46:00 +00:00
|
|
|
LocationName.TwinLordsEventLocation
|
|
|
|
],
|
|
|
|
RegionName.Ag2: [
|
2023-03-20 16:19:55 +00:00
|
|
|
LocationName.RuinedChamberTornPages,
|
|
|
|
LocationName.RuinedChamberRuinsMap,
|
2023-11-25 14:46:00 +00:00
|
|
|
],
|
|
|
|
RegionName.GenieJafar: [
|
2023-03-20 16:19:55 +00:00
|
|
|
LocationName.GenieJafar,
|
|
|
|
LocationName.WishingLamp,
|
2023-11-25 14:46:00 +00:00
|
|
|
LocationName.GenieJafarEventLocation,
|
|
|
|
],
|
|
|
|
RegionName.DataLexaeus: [
|
2023-03-20 16:19:55 +00:00
|
|
|
LocationName.LexaeusBonus,
|
|
|
|
LocationName.LexaeusASStrengthBeyondStrength,
|
|
|
|
LocationName.LexaeusDataLostIllusion,
|
2023-11-25 14:46:00 +00:00
|
|
|
LocationName.DataLexaeusEventLocation
|
|
|
|
],
|
|
|
|
RegionName.Dc: [
|
2023-03-20 16:19:55 +00:00
|
|
|
LocationName.DCCourtyardMythrilShard,
|
|
|
|
LocationName.DCCourtyardStarRecipe,
|
|
|
|
LocationName.DCCourtyardAPBoost,
|
|
|
|
LocationName.DCCourtyardMythrilStone,
|
|
|
|
LocationName.DCCourtyardBlazingStone,
|
|
|
|
LocationName.DCCourtyardBlazingShard,
|
|
|
|
LocationName.DCCourtyardMythrilShard2,
|
|
|
|
LocationName.LibraryTornPages,
|
|
|
|
LocationName.DisneyCastleMap,
|
|
|
|
LocationName.MinnieEscort,
|
2023-11-25 14:46:00 +00:00
|
|
|
LocationName.MinnieEscortGetBonus
|
|
|
|
],
|
|
|
|
RegionName.Tr: [
|
2023-03-20 16:19:55 +00:00
|
|
|
LocationName.CornerstoneHillMap,
|
|
|
|
LocationName.CornerstoneHillFrostShard,
|
|
|
|
LocationName.PierMythrilShard,
|
|
|
|
LocationName.PierHiPotion,
|
2023-11-25 14:46:00 +00:00
|
|
|
],
|
|
|
|
RegionName.OldPete: [
|
2023-03-20 16:19:55 +00:00
|
|
|
LocationName.WaterwayMythrilStone,
|
|
|
|
LocationName.WaterwayAPBoost,
|
|
|
|
LocationName.WaterwayFrostStone,
|
|
|
|
LocationName.WindowofTimeMap,
|
|
|
|
LocationName.BoatPete,
|
2023-11-25 14:46:00 +00:00
|
|
|
LocationName.DonaldBoatPete,
|
|
|
|
LocationName.DonaldBoatPeteGetBonus,
|
|
|
|
LocationName.OldPeteEventLocation,
|
|
|
|
],
|
|
|
|
RegionName.FuturePete: [
|
2023-03-20 16:19:55 +00:00
|
|
|
LocationName.FuturePete,
|
|
|
|
LocationName.FuturePeteGetBonus,
|
|
|
|
LocationName.Monochrome,
|
|
|
|
LocationName.WisdomForm,
|
|
|
|
LocationName.GoofyFuturePete,
|
2023-11-25 14:46:00 +00:00
|
|
|
LocationName.FuturePeteEventLocation
|
|
|
|
],
|
|
|
|
RegionName.DataMarluxia: [
|
2023-03-20 16:19:55 +00:00
|
|
|
LocationName.MarluxiaGetBonus,
|
|
|
|
LocationName.MarluxiaASEternalBlossom,
|
|
|
|
LocationName.MarluxiaDataLostIllusion,
|
2023-11-25 14:46:00 +00:00
|
|
|
LocationName.DataMarluxiaEventLocation
|
|
|
|
],
|
|
|
|
RegionName.Terra: [
|
2023-03-20 16:19:55 +00:00
|
|
|
LocationName.LingeringWillBonus,
|
|
|
|
LocationName.LingeringWillProofofConnection,
|
|
|
|
LocationName.LingeringWillManifestIllusion,
|
2023-11-25 14:46:00 +00:00
|
|
|
LocationName.TerraEventLocation
|
|
|
|
],
|
|
|
|
RegionName.Ha1: [
|
2023-03-20 16:19:55 +00:00
|
|
|
LocationName.PoohsHouse100AcreWoodMap,
|
|
|
|
LocationName.PoohsHouseAPBoost,
|
2023-11-25 14:46:00 +00:00
|
|
|
LocationName.PoohsHouseMythrilStone
|
|
|
|
],
|
|
|
|
RegionName.Ha2: [
|
2023-03-20 16:19:55 +00:00
|
|
|
LocationName.PigletsHouseDefenseBoost,
|
|
|
|
LocationName.PigletsHouseAPBoost,
|
2023-11-25 14:46:00 +00:00
|
|
|
LocationName.PigletsHouseMythrilGem
|
|
|
|
],
|
|
|
|
RegionName.Ha3: [
|
2023-03-20 16:19:55 +00:00
|
|
|
LocationName.RabbitsHouseDrawRing,
|
|
|
|
LocationName.RabbitsHouseMythrilCrystal,
|
|
|
|
LocationName.RabbitsHouseAPBoost,
|
2023-11-25 14:46:00 +00:00
|
|
|
],
|
|
|
|
RegionName.Ha4: [
|
2023-03-20 16:19:55 +00:00
|
|
|
LocationName.KangasHouseMagicBoost,
|
|
|
|
LocationName.KangasHouseAPBoost,
|
|
|
|
LocationName.KangasHouseOrichalcum,
|
2023-11-25 14:46:00 +00:00
|
|
|
],
|
|
|
|
RegionName.Ha5: [
|
2023-03-20 16:19:55 +00:00
|
|
|
LocationName.SpookyCaveMythrilGem,
|
|
|
|
LocationName.SpookyCaveAPBoost,
|
|
|
|
LocationName.SpookyCaveOrichalcum,
|
|
|
|
LocationName.SpookyCaveGuardRecipe,
|
|
|
|
LocationName.SpookyCaveMythrilCrystal,
|
|
|
|
LocationName.SpookyCaveAPBoost2,
|
|
|
|
LocationName.SweetMemories,
|
2023-11-25 14:46:00 +00:00
|
|
|
LocationName.SpookyCaveMap
|
|
|
|
],
|
|
|
|
RegionName.Ha6: [
|
2023-03-20 16:19:55 +00:00
|
|
|
LocationName.StarryHillCosmicRing,
|
|
|
|
LocationName.StarryHillStyleRecipe,
|
|
|
|
LocationName.StarryHillCureElement,
|
2023-11-25 14:46:00 +00:00
|
|
|
LocationName.StarryHillOrichalcumPlus
|
|
|
|
],
|
|
|
|
RegionName.Pr: [
|
2023-03-20 16:19:55 +00:00
|
|
|
LocationName.RampartNavalMap,
|
|
|
|
LocationName.RampartMythrilStone,
|
|
|
|
LocationName.RampartDarkShard,
|
|
|
|
LocationName.TownDarkStone,
|
|
|
|
LocationName.TownAPBoost,
|
|
|
|
LocationName.TownMythrilShard,
|
|
|
|
LocationName.TownMythrilGem,
|
|
|
|
LocationName.CaveMouthBrightShard,
|
|
|
|
LocationName.CaveMouthMythrilShard,
|
|
|
|
LocationName.IsladeMuertaMap,
|
|
|
|
LocationName.BoatFight,
|
|
|
|
LocationName.InterceptorBarrels,
|
|
|
|
LocationName.PowderStoreAPBoost1,
|
|
|
|
LocationName.PowderStoreAPBoost2,
|
|
|
|
LocationName.MoonlightNookMythrilShard,
|
|
|
|
LocationName.MoonlightNookSerenityGem,
|
|
|
|
LocationName.MoonlightNookPowerStone,
|
2023-11-25 14:46:00 +00:00
|
|
|
LocationName.DonaldBoatFight,
|
|
|
|
LocationName.GoofyInterceptorBarrels,
|
|
|
|
|
|
|
|
],
|
|
|
|
RegionName.Barbosa: [
|
2023-03-20 16:19:55 +00:00
|
|
|
LocationName.Barbossa,
|
|
|
|
LocationName.BarbossaGetBonus,
|
|
|
|
LocationName.FollowtheWind,
|
|
|
|
LocationName.GoofyBarbossa,
|
|
|
|
LocationName.GoofyBarbossaGetBonus,
|
2023-11-25 14:46:00 +00:00
|
|
|
LocationName.BarbosaEventLocation,
|
|
|
|
],
|
|
|
|
RegionName.Pr2: [],
|
|
|
|
RegionName.GrimReaper1: [
|
2023-03-20 16:19:55 +00:00
|
|
|
LocationName.GrimReaper1,
|
|
|
|
LocationName.InterceptorsHoldFeatherCharm,
|
|
|
|
LocationName.SeadriftKeepAPBoost,
|
|
|
|
LocationName.SeadriftKeepOrichalcum,
|
|
|
|
LocationName.SeadriftKeepMeteorStaff,
|
|
|
|
LocationName.SeadriftRowSerenityGem,
|
|
|
|
LocationName.SeadriftRowKingRecipe,
|
|
|
|
LocationName.SeadriftRowMythrilCrystal,
|
|
|
|
LocationName.SeadriftRowCursedMedallion,
|
|
|
|
LocationName.SeadriftRowShipGraveyardMap,
|
|
|
|
LocationName.GoofyGrimReaper1,
|
2023-11-25 14:46:00 +00:00
|
|
|
LocationName.GrimReaper1EventLocation,
|
|
|
|
],
|
|
|
|
RegionName.GrimReaper2: [
|
2023-03-20 16:19:55 +00:00
|
|
|
LocationName.DonaladGrimReaper2,
|
|
|
|
LocationName.GrimReaper2,
|
|
|
|
LocationName.SecretAnsemReport6,
|
2023-11-25 14:46:00 +00:00
|
|
|
LocationName.GrimReaper2EventLocation,
|
|
|
|
],
|
|
|
|
RegionName.DataLuxord: [
|
2023-03-20 16:19:55 +00:00
|
|
|
LocationName.LuxordDataAPBoost,
|
2023-11-25 14:46:00 +00:00
|
|
|
LocationName.DataLuxordEventLocation
|
|
|
|
],
|
|
|
|
RegionName.Oc: [
|
2023-03-20 16:19:55 +00:00
|
|
|
LocationName.PassageMythrilShard,
|
|
|
|
LocationName.PassageMythrilStone,
|
|
|
|
LocationName.PassageEther,
|
|
|
|
LocationName.PassageAPBoost,
|
|
|
|
LocationName.PassageHiPotion,
|
|
|
|
LocationName.InnerChamberUnderworldMap,
|
|
|
|
LocationName.InnerChamberMythrilShard,
|
2023-11-25 14:46:00 +00:00
|
|
|
],
|
|
|
|
RegionName.Cerberus: [
|
2023-03-20 16:19:55 +00:00
|
|
|
LocationName.Cerberus,
|
|
|
|
LocationName.ColiseumMap,
|
|
|
|
LocationName.Urns,
|
|
|
|
LocationName.UnderworldEntrancePowerBoost,
|
|
|
|
LocationName.CavernsEntranceLucidShard,
|
|
|
|
LocationName.CavernsEntranceAPBoost,
|
|
|
|
LocationName.CavernsEntranceMythrilShard,
|
|
|
|
LocationName.TheLostRoadBrightShard,
|
|
|
|
LocationName.TheLostRoadEther,
|
|
|
|
LocationName.TheLostRoadMythrilShard,
|
|
|
|
LocationName.TheLostRoadMythrilStone,
|
|
|
|
LocationName.AtriumLucidStone,
|
|
|
|
LocationName.AtriumAPBoost,
|
|
|
|
LocationName.DemyxOC,
|
|
|
|
LocationName.SecretAnsemReport5,
|
|
|
|
LocationName.OlympusStone,
|
|
|
|
LocationName.TheLockCavernsMap,
|
|
|
|
LocationName.TheLockMythrilShard,
|
|
|
|
LocationName.TheLockAPBoost,
|
2023-11-25 14:46:00 +00:00
|
|
|
LocationName.CerberusEventLocation
|
|
|
|
],
|
|
|
|
RegionName.OlympusPete: [
|
2023-03-20 16:19:55 +00:00
|
|
|
LocationName.PeteOC,
|
2023-11-25 14:46:00 +00:00
|
|
|
LocationName.DonaldDemyxOC,
|
|
|
|
LocationName.GoofyPeteOC,
|
|
|
|
LocationName.OlympusPeteEventLocation
|
|
|
|
],
|
|
|
|
RegionName.Hydra: [
|
2023-03-20 16:19:55 +00:00
|
|
|
LocationName.Hydra,
|
|
|
|
LocationName.HydraGetBonus,
|
|
|
|
LocationName.HerosCrest,
|
2023-11-25 14:46:00 +00:00
|
|
|
LocationName.HydraEventLocation
|
|
|
|
],
|
|
|
|
RegionName.Oc2: [
|
2023-03-20 16:19:55 +00:00
|
|
|
LocationName.AuronsStatue,
|
2023-11-25 14:46:00 +00:00
|
|
|
],
|
|
|
|
RegionName.Hades: [
|
2023-03-20 16:19:55 +00:00
|
|
|
LocationName.Hades,
|
|
|
|
LocationName.HadesGetBonus,
|
|
|
|
LocationName.GuardianSoul,
|
2023-11-25 14:46:00 +00:00
|
|
|
LocationName.HadesEventLocation
|
|
|
|
],
|
|
|
|
RegionName.OcPainAndPanicCup: [
|
2023-03-20 16:19:55 +00:00
|
|
|
LocationName.ProtectBeltPainandPanicCup,
|
|
|
|
LocationName.SerenityGemPainandPanicCup,
|
2023-11-25 14:46:00 +00:00
|
|
|
LocationName.OcPainAndPanicCupEventLocation
|
|
|
|
],
|
|
|
|
RegionName.OcCerberusCup: [
|
2023-03-20 16:19:55 +00:00
|
|
|
LocationName.RisingDragonCerberusCup,
|
|
|
|
LocationName.SerenityCrystalCerberusCup,
|
2023-11-25 14:46:00 +00:00
|
|
|
LocationName.OcCerberusCupEventLocation
|
|
|
|
],
|
|
|
|
RegionName.Oc2TitanCup: [
|
|
|
|
LocationName.GenjiShieldTitanCup,
|
|
|
|
LocationName.SkillfulRingTitanCup,
|
|
|
|
LocationName.Oc2TitanCupEventLocation
|
|
|
|
],
|
|
|
|
RegionName.Oc2GofCup: [
|
2023-03-20 16:19:55 +00:00
|
|
|
LocationName.FatalCrestGoddessofFateCup,
|
|
|
|
LocationName.OrichalcumPlusGoddessofFateCup,
|
2023-11-25 14:46:00 +00:00
|
|
|
LocationName.Oc2GofCupEventLocation,
|
|
|
|
],
|
|
|
|
RegionName.HadesCups: [
|
2023-03-20 16:19:55 +00:00
|
|
|
LocationName.HadesCupTrophyParadoxCups,
|
2023-11-25 14:46:00 +00:00
|
|
|
LocationName.HadesCupEventLocations
|
|
|
|
],
|
|
|
|
RegionName.DataZexion: [
|
2023-03-20 16:19:55 +00:00
|
|
|
LocationName.ZexionBonus,
|
|
|
|
LocationName.ZexionASBookofShadows,
|
|
|
|
LocationName.ZexionDataLostIllusion,
|
|
|
|
LocationName.GoofyZexion,
|
2023-11-25 14:46:00 +00:00
|
|
|
LocationName.DataZexionEventLocation
|
|
|
|
],
|
|
|
|
RegionName.Bc: [
|
2023-03-20 16:19:55 +00:00
|
|
|
LocationName.BCCourtyardAPBoost,
|
|
|
|
LocationName.BCCourtyardHiPotion,
|
|
|
|
LocationName.BCCourtyardMythrilShard,
|
|
|
|
LocationName.BellesRoomCastleMap,
|
|
|
|
LocationName.BellesRoomMegaRecipe,
|
|
|
|
LocationName.TheEastWingMythrilShard,
|
|
|
|
LocationName.TheEastWingTent,
|
|
|
|
LocationName.TheWestHallHiPotion,
|
|
|
|
LocationName.TheWestHallPowerShard,
|
|
|
|
LocationName.TheWestHallMythrilShard2,
|
|
|
|
LocationName.TheWestHallBrightStone,
|
|
|
|
LocationName.TheWestHallMythrilShard,
|
2023-11-25 14:46:00 +00:00
|
|
|
],
|
|
|
|
RegionName.Thresholder: [
|
2023-03-20 16:19:55 +00:00
|
|
|
LocationName.Thresholder,
|
|
|
|
LocationName.DungeonBasementMap,
|
|
|
|
LocationName.DungeonAPBoost,
|
|
|
|
LocationName.SecretPassageMythrilShard,
|
|
|
|
LocationName.SecretPassageHiPotion,
|
|
|
|
LocationName.SecretPassageLucidShard,
|
|
|
|
LocationName.TheWestHallAPBoostPostDungeon,
|
|
|
|
LocationName.TheWestWingMythrilShard,
|
|
|
|
LocationName.TheWestWingTent,
|
2023-11-25 14:46:00 +00:00
|
|
|
LocationName.DonaldThresholder,
|
|
|
|
LocationName.ThresholderEventLocation
|
|
|
|
],
|
|
|
|
RegionName.Beast: [
|
2023-03-20 16:19:55 +00:00
|
|
|
LocationName.Beast,
|
|
|
|
LocationName.TheBeastsRoomBlazingShard,
|
2023-11-25 14:46:00 +00:00
|
|
|
LocationName.GoofyBeast,
|
|
|
|
LocationName.BeastEventLocation
|
|
|
|
],
|
|
|
|
RegionName.DarkThorn: [
|
2023-03-20 16:19:55 +00:00
|
|
|
LocationName.DarkThorn,
|
|
|
|
LocationName.DarkThornGetBonus,
|
|
|
|
LocationName.DarkThornCureElement,
|
2023-11-25 14:46:00 +00:00
|
|
|
LocationName.DarkThornEventLocation,
|
|
|
|
],
|
|
|
|
RegionName.Bc2: [
|
2023-03-20 16:19:55 +00:00
|
|
|
LocationName.RumblingRose,
|
2023-11-25 14:46:00 +00:00
|
|
|
LocationName.CastleWallsMap
|
|
|
|
],
|
|
|
|
RegionName.Xaldin: [
|
2023-03-20 16:19:55 +00:00
|
|
|
LocationName.Xaldin,
|
|
|
|
LocationName.XaldinGetBonus,
|
|
|
|
LocationName.DonaldXaldinGetBonus,
|
|
|
|
LocationName.SecretAnsemReport4,
|
2023-11-25 14:46:00 +00:00
|
|
|
LocationName.XaldinEventLocation
|
|
|
|
],
|
|
|
|
RegionName.DataXaldin: [
|
2023-03-20 16:19:55 +00:00
|
|
|
LocationName.XaldinDataDefenseBoost,
|
2023-11-25 14:46:00 +00:00
|
|
|
LocationName.DataXaldinEventLocation
|
|
|
|
],
|
|
|
|
RegionName.Sp: [
|
2023-03-20 16:19:55 +00:00
|
|
|
LocationName.PitCellAreaMap,
|
|
|
|
LocationName.PitCellMythrilCrystal,
|
|
|
|
LocationName.CanyonDarkCrystal,
|
|
|
|
LocationName.CanyonMythrilStone,
|
|
|
|
LocationName.CanyonMythrilGem,
|
|
|
|
LocationName.CanyonFrostCrystal,
|
|
|
|
LocationName.Screens,
|
|
|
|
LocationName.HallwayPowerCrystal,
|
|
|
|
LocationName.HallwayAPBoost,
|
|
|
|
LocationName.CommunicationsRoomIOTowerMap,
|
|
|
|
LocationName.CommunicationsRoomGaiaBelt,
|
2023-11-25 14:46:00 +00:00
|
|
|
LocationName.DonaldScreens,
|
|
|
|
],
|
|
|
|
RegionName.HostileProgram: [
|
2023-03-20 16:19:55 +00:00
|
|
|
LocationName.HostileProgram,
|
|
|
|
LocationName.HostileProgramGetBonus,
|
|
|
|
LocationName.PhotonDebugger,
|
|
|
|
LocationName.GoofyHostileProgram,
|
2023-11-25 14:46:00 +00:00
|
|
|
LocationName.HostileProgramEventLocation
|
|
|
|
],
|
|
|
|
RegionName.Sp2: [
|
2023-03-20 16:19:55 +00:00
|
|
|
LocationName.SolarSailer,
|
|
|
|
LocationName.CentralComputerCoreAPBoost,
|
|
|
|
LocationName.CentralComputerCoreOrichalcumPlus,
|
|
|
|
LocationName.CentralComputerCoreCosmicArts,
|
|
|
|
LocationName.CentralComputerCoreMap,
|
2023-11-25 14:46:00 +00:00
|
|
|
LocationName.DonaldSolarSailer
|
|
|
|
],
|
|
|
|
RegionName.Mcp: [
|
2023-03-20 16:19:55 +00:00
|
|
|
LocationName.MCP,
|
|
|
|
LocationName.MCPGetBonus,
|
2023-11-25 14:46:00 +00:00
|
|
|
LocationName.McpEventLocation
|
|
|
|
],
|
|
|
|
RegionName.DataLarxene: [
|
2023-03-20 16:19:55 +00:00
|
|
|
LocationName.LarxeneBonus,
|
|
|
|
LocationName.LarxeneASCloakedThunder,
|
|
|
|
LocationName.LarxeneDataLostIllusion,
|
2023-11-25 14:46:00 +00:00
|
|
|
LocationName.DataLarxeneEventLocation
|
|
|
|
],
|
|
|
|
RegionName.Ht: [
|
2023-03-20 16:19:55 +00:00
|
|
|
LocationName.GraveyardMythrilShard,
|
|
|
|
LocationName.GraveyardSerenityGem,
|
|
|
|
LocationName.FinklesteinsLabHalloweenTownMap,
|
|
|
|
LocationName.TownSquareMythrilStone,
|
|
|
|
LocationName.TownSquareEnergyShard,
|
|
|
|
LocationName.HinterlandsLightningShard,
|
|
|
|
LocationName.HinterlandsMythrilStone,
|
|
|
|
LocationName.HinterlandsAPBoost,
|
|
|
|
LocationName.CandyCaneLaneMegaPotion,
|
|
|
|
LocationName.CandyCaneLaneMythrilGem,
|
|
|
|
LocationName.CandyCaneLaneLightningStone,
|
|
|
|
LocationName.CandyCaneLaneMythrilStone,
|
|
|
|
LocationName.SantasHouseChristmasTownMap,
|
|
|
|
LocationName.SantasHouseAPBoost,
|
2023-11-25 14:46:00 +00:00
|
|
|
],
|
|
|
|
RegionName.PrisonKeeper: [
|
2023-03-20 16:19:55 +00:00
|
|
|
LocationName.PrisonKeeper,
|
2023-11-25 14:46:00 +00:00
|
|
|
LocationName.DonaldPrisonKeeper,
|
|
|
|
LocationName.PrisonKeeperEventLocation,
|
|
|
|
],
|
|
|
|
RegionName.OogieBoogie: [
|
2023-03-20 16:19:55 +00:00
|
|
|
LocationName.OogieBoogie,
|
|
|
|
LocationName.OogieBoogieMagnetElement,
|
|
|
|
LocationName.GoofyOogieBoogie,
|
2023-11-25 14:46:00 +00:00
|
|
|
LocationName.OogieBoogieEventLocation
|
|
|
|
],
|
|
|
|
RegionName.Ht2: [
|
2023-03-20 16:19:55 +00:00
|
|
|
LocationName.Lock,
|
|
|
|
LocationName.Present,
|
|
|
|
LocationName.DecoyPresents,
|
2023-11-25 14:46:00 +00:00
|
|
|
LocationName.GoofyLock
|
|
|
|
],
|
|
|
|
RegionName.Experiment: [
|
2023-03-20 16:19:55 +00:00
|
|
|
LocationName.Experiment,
|
|
|
|
LocationName.DecisivePumpkin,
|
|
|
|
LocationName.DonaldExperiment,
|
2023-11-25 14:46:00 +00:00
|
|
|
LocationName.ExperimentEventLocation,
|
|
|
|
],
|
|
|
|
RegionName.DataVexen: [
|
2023-03-20 16:19:55 +00:00
|
|
|
LocationName.VexenBonus,
|
|
|
|
LocationName.VexenASRoadtoDiscovery,
|
|
|
|
LocationName.VexenDataLostIllusion,
|
2023-11-25 14:46:00 +00:00
|
|
|
LocationName.DataVexenEventLocation
|
|
|
|
],
|
|
|
|
RegionName.Hb: [
|
2023-03-20 16:19:55 +00:00
|
|
|
LocationName.MarketplaceMap,
|
|
|
|
LocationName.BoroughDriveRecovery,
|
|
|
|
LocationName.BoroughAPBoost,
|
|
|
|
LocationName.BoroughHiPotion,
|
|
|
|
LocationName.BoroughMythrilShard,
|
|
|
|
LocationName.BoroughDarkShard,
|
|
|
|
LocationName.MerlinsHouseMembershipCard,
|
|
|
|
LocationName.MerlinsHouseBlizzardElement,
|
|
|
|
LocationName.Bailey,
|
|
|
|
LocationName.BaileySecretAnsemReport7,
|
2023-11-25 14:46:00 +00:00
|
|
|
LocationName.BaseballCharm
|
|
|
|
],
|
|
|
|
RegionName.Hb2: [
|
2023-03-20 16:19:55 +00:00
|
|
|
LocationName.PosternCastlePerimeterMap,
|
|
|
|
LocationName.PosternMythrilGem,
|
|
|
|
LocationName.PosternAPBoost,
|
|
|
|
LocationName.CorridorsMythrilStone,
|
|
|
|
LocationName.CorridorsMythrilCrystal,
|
|
|
|
LocationName.CorridorsDarkCrystal,
|
|
|
|
LocationName.CorridorsAPBoost,
|
|
|
|
LocationName.AnsemsStudyMasterForm,
|
|
|
|
LocationName.AnsemsStudySleepingLion,
|
|
|
|
LocationName.AnsemsStudySkillRecipe,
|
|
|
|
LocationName.AnsemsStudyUkuleleCharm,
|
|
|
|
LocationName.RestorationSiteMoonRecipe,
|
|
|
|
LocationName.RestorationSiteAPBoost,
|
2023-11-25 14:46:00 +00:00
|
|
|
],
|
|
|
|
RegionName.HBDemyx: [
|
2023-03-20 16:19:55 +00:00
|
|
|
LocationName.DonaldDemyxHBGetBonus,
|
|
|
|
LocationName.DemyxHB,
|
|
|
|
LocationName.DemyxHBGetBonus,
|
|
|
|
LocationName.FFFightsCureElement,
|
|
|
|
LocationName.CrystalFissureTornPages,
|
|
|
|
LocationName.CrystalFissureTheGreatMawMap,
|
|
|
|
LocationName.CrystalFissureEnergyCrystal,
|
|
|
|
LocationName.CrystalFissureAPBoost,
|
2023-11-25 14:46:00 +00:00
|
|
|
LocationName.HBDemyxEventLocation,
|
|
|
|
],
|
|
|
|
RegionName.ThousandHeartless: [
|
2023-03-20 16:19:55 +00:00
|
|
|
LocationName.ThousandHeartless,
|
|
|
|
LocationName.ThousandHeartlessSecretAnsemReport1,
|
|
|
|
LocationName.ThousandHeartlessIceCream,
|
|
|
|
LocationName.ThousandHeartlessPicture,
|
|
|
|
LocationName.PosternGullWing,
|
|
|
|
LocationName.HeartlessManufactoryCosmicChain,
|
2023-11-25 14:46:00 +00:00
|
|
|
LocationName.ThousandHeartlessEventLocation,
|
|
|
|
],
|
|
|
|
RegionName.DataDemyx: [
|
2023-03-20 16:19:55 +00:00
|
|
|
LocationName.DemyxDataAPBoost,
|
2023-11-25 14:46:00 +00:00
|
|
|
LocationName.DataDemyxEventLocation,
|
|
|
|
],
|
|
|
|
RegionName.Mushroom13: [
|
2023-03-20 16:19:55 +00:00
|
|
|
LocationName.WinnersProof,
|
|
|
|
LocationName.ProofofPeace,
|
2023-11-25 14:46:00 +00:00
|
|
|
LocationName.Mushroom13EventLocation,
|
|
|
|
],
|
|
|
|
RegionName.Sephi: [
|
2023-03-20 16:19:55 +00:00
|
|
|
LocationName.SephirothBonus,
|
|
|
|
LocationName.SephirothFenrir,
|
2023-11-25 14:46:00 +00:00
|
|
|
LocationName.SephiEventLocation
|
|
|
|
],
|
|
|
|
RegionName.CoR: [
|
|
|
|
LocationName.CoRDepthsAPBoost,
|
|
|
|
LocationName.CoRDepthsPowerCrystal,
|
|
|
|
LocationName.CoRDepthsFrostCrystal,
|
|
|
|
LocationName.CoRDepthsManifestIllusion,
|
|
|
|
LocationName.CoRDepthsAPBoost2,
|
|
|
|
LocationName.CoRMineshaftLowerLevelDepthsofRemembranceMap,
|
|
|
|
LocationName.CoRMineshaftLowerLevelAPBoost,
|
|
|
|
],
|
|
|
|
RegionName.CorFirstFight: [
|
2023-03-20 16:19:55 +00:00
|
|
|
LocationName.CoRDepthsUpperLevelRemembranceGem,
|
|
|
|
LocationName.CoRMiningAreaSerenityGem,
|
|
|
|
LocationName.CoRMiningAreaAPBoost,
|
|
|
|
LocationName.CoRMiningAreaSerenityCrystal,
|
|
|
|
LocationName.CoRMiningAreaManifestIllusion,
|
|
|
|
LocationName.CoRMiningAreaSerenityGem2,
|
|
|
|
LocationName.CoRMiningAreaDarkRemembranceMap,
|
2023-11-25 14:46:00 +00:00
|
|
|
LocationName.CorFirstFightEventLocation,
|
|
|
|
],
|
|
|
|
RegionName.CorSecondFight: [
|
2023-03-20 16:19:55 +00:00
|
|
|
LocationName.CoRMineshaftMidLevelPowerBoost,
|
|
|
|
LocationName.CoREngineChamberSerenityCrystal,
|
|
|
|
LocationName.CoREngineChamberRemembranceCrystal,
|
|
|
|
LocationName.CoREngineChamberAPBoost,
|
|
|
|
LocationName.CoREngineChamberManifestIllusion,
|
|
|
|
LocationName.CoRMineshaftUpperLevelMagicBoost,
|
2023-11-25 14:46:00 +00:00
|
|
|
LocationName.CorSecondFightEventLocation,
|
|
|
|
],
|
|
|
|
RegionName.Transport: [
|
|
|
|
LocationName.CoRMineshaftUpperLevelAPBoost, # last chest
|
2023-03-20 16:19:55 +00:00
|
|
|
LocationName.TransporttoRemembrance,
|
2023-11-25 14:46:00 +00:00
|
|
|
LocationName.TransportEventLocation,
|
|
|
|
],
|
|
|
|
RegionName.Pl: [
|
2023-03-20 16:19:55 +00:00
|
|
|
LocationName.GorgeSavannahMap,
|
|
|
|
LocationName.GorgeDarkGem,
|
|
|
|
LocationName.GorgeMythrilStone,
|
|
|
|
LocationName.ElephantGraveyardFrostGem,
|
|
|
|
LocationName.ElephantGraveyardMythrilStone,
|
|
|
|
LocationName.ElephantGraveyardBrightStone,
|
|
|
|
LocationName.ElephantGraveyardAPBoost,
|
|
|
|
LocationName.ElephantGraveyardMythrilShard,
|
|
|
|
LocationName.PrideRockMap,
|
|
|
|
LocationName.PrideRockMythrilStone,
|
|
|
|
LocationName.PrideRockSerenityCrystal,
|
|
|
|
LocationName.WildebeestValleyEnergyStone,
|
|
|
|
LocationName.WildebeestValleyAPBoost,
|
|
|
|
LocationName.WildebeestValleyMythrilGem,
|
|
|
|
LocationName.WildebeestValleyMythrilStone,
|
|
|
|
LocationName.WildebeestValleyLucidGem,
|
|
|
|
LocationName.WastelandsMythrilShard,
|
|
|
|
LocationName.WastelandsSerenityGem,
|
|
|
|
LocationName.WastelandsMythrilStone,
|
|
|
|
LocationName.JungleSerenityGem,
|
|
|
|
LocationName.JungleMythrilStone,
|
|
|
|
LocationName.JungleSerenityCrystal,
|
|
|
|
LocationName.OasisMap,
|
|
|
|
LocationName.OasisTornPages,
|
|
|
|
LocationName.OasisAPBoost,
|
|
|
|
LocationName.CircleofLife,
|
|
|
|
LocationName.Hyenas1,
|
2023-11-25 14:46:00 +00:00
|
|
|
|
|
|
|
LocationName.GoofyHyenas1
|
|
|
|
],
|
|
|
|
RegionName.Scar: [
|
2023-03-20 16:19:55 +00:00
|
|
|
LocationName.Scar,
|
|
|
|
LocationName.ScarFireElement,
|
|
|
|
LocationName.DonaldScar,
|
2023-11-25 14:46:00 +00:00
|
|
|
LocationName.ScarEventLocation,
|
|
|
|
],
|
|
|
|
RegionName.Pl2: [
|
2023-03-20 16:19:55 +00:00
|
|
|
LocationName.Hyenas2,
|
2023-11-25 14:46:00 +00:00
|
|
|
LocationName.GoofyHyenas2
|
|
|
|
],
|
|
|
|
RegionName.GroundShaker: [
|
2023-03-20 16:19:55 +00:00
|
|
|
LocationName.Groundshaker,
|
|
|
|
LocationName.GroundshakerGetBonus,
|
2023-11-25 14:46:00 +00:00
|
|
|
LocationName.GroundShakerEventLocation,
|
|
|
|
],
|
|
|
|
RegionName.DataSaix: [
|
2023-03-20 16:19:55 +00:00
|
|
|
LocationName.SaixDataDefenseBoost,
|
2023-11-25 14:46:00 +00:00
|
|
|
LocationName.DataSaixEventLocation
|
|
|
|
],
|
|
|
|
RegionName.Stt: [
|
2023-03-20 16:19:55 +00:00
|
|
|
LocationName.TwilightTownMap,
|
|
|
|
LocationName.MunnyPouchOlette,
|
|
|
|
LocationName.StationDusks,
|
|
|
|
LocationName.StationofSerenityPotion,
|
|
|
|
LocationName.StationofCallingPotion,
|
2023-11-25 14:46:00 +00:00
|
|
|
],
|
|
|
|
RegionName.TwilightThorn: [
|
2023-03-20 16:19:55 +00:00
|
|
|
LocationName.TwilightThorn,
|
2023-11-25 14:46:00 +00:00
|
|
|
LocationName.TwilightThornEventLocation
|
|
|
|
],
|
|
|
|
RegionName.Axel1: [
|
2023-03-20 16:19:55 +00:00
|
|
|
LocationName.Axel1,
|
|
|
|
LocationName.JunkChampionBelt,
|
|
|
|
LocationName.JunkMedal,
|
|
|
|
LocationName.TheStruggleTrophy,
|
|
|
|
LocationName.CentralStationPotion1,
|
|
|
|
LocationName.STTCentralStationHiPotion,
|
|
|
|
LocationName.CentralStationPotion2,
|
|
|
|
LocationName.SunsetTerraceAbilityRing,
|
|
|
|
LocationName.SunsetTerraceHiPotion,
|
|
|
|
LocationName.SunsetTerracePotion1,
|
|
|
|
LocationName.SunsetTerracePotion2,
|
|
|
|
LocationName.MansionFoyerHiPotion,
|
|
|
|
LocationName.MansionFoyerPotion1,
|
|
|
|
LocationName.MansionFoyerPotion2,
|
|
|
|
LocationName.MansionDiningRoomElvenBandanna,
|
|
|
|
LocationName.MansionDiningRoomPotion,
|
|
|
|
LocationName.NaminesSketches,
|
|
|
|
LocationName.MansionMap,
|
|
|
|
LocationName.MansionLibraryHiPotion,
|
2023-11-25 14:46:00 +00:00
|
|
|
LocationName.Axel1EventLocation
|
|
|
|
],
|
|
|
|
RegionName.Axel2: [
|
2023-03-20 16:19:55 +00:00
|
|
|
LocationName.Axel2,
|
|
|
|
LocationName.MansionBasementCorridorHiPotion,
|
2023-11-25 14:46:00 +00:00
|
|
|
LocationName.Axel2EventLocation
|
|
|
|
],
|
|
|
|
RegionName.DataRoxas: [
|
2023-03-20 16:19:55 +00:00
|
|
|
LocationName.RoxasDataMagicBoost,
|
2023-11-25 14:46:00 +00:00
|
|
|
LocationName.DataRoxasEventLocation
|
|
|
|
],
|
|
|
|
RegionName.Tt: [
|
2023-03-20 16:19:55 +00:00
|
|
|
LocationName.OldMansionPotion,
|
|
|
|
LocationName.OldMansionMythrilShard,
|
|
|
|
LocationName.TheWoodsPotion,
|
|
|
|
LocationName.TheWoodsMythrilShard,
|
|
|
|
LocationName.TheWoodsHiPotion,
|
|
|
|
LocationName.TramCommonHiPotion,
|
|
|
|
LocationName.TramCommonAPBoost,
|
|
|
|
LocationName.TramCommonTent,
|
|
|
|
LocationName.TramCommonMythrilShard1,
|
|
|
|
LocationName.TramCommonPotion1,
|
|
|
|
LocationName.TramCommonMythrilShard2,
|
|
|
|
LocationName.TramCommonPotion2,
|
|
|
|
LocationName.StationPlazaSecretAnsemReport2,
|
|
|
|
LocationName.MunnyPouchMickey,
|
|
|
|
LocationName.CrystalOrb,
|
|
|
|
LocationName.CentralStationTent,
|
|
|
|
LocationName.TTCentralStationHiPotion,
|
|
|
|
LocationName.CentralStationMythrilShard,
|
|
|
|
LocationName.TheTowerPotion,
|
|
|
|
LocationName.TheTowerHiPotion,
|
|
|
|
LocationName.TheTowerEther,
|
|
|
|
LocationName.TowerEntrywayEther,
|
|
|
|
LocationName.TowerEntrywayMythrilShard,
|
|
|
|
LocationName.SorcerersLoftTowerMap,
|
|
|
|
LocationName.TowerWardrobeMythrilStone,
|
|
|
|
LocationName.StarSeeker,
|
2023-11-25 14:46:00 +00:00
|
|
|
LocationName.ValorForm
|
|
|
|
],
|
|
|
|
RegionName.Tt2: [
|
2023-03-20 16:19:55 +00:00
|
|
|
LocationName.SeifersTrophy,
|
|
|
|
LocationName.Oathkeeper,
|
2023-11-25 14:46:00 +00:00
|
|
|
LocationName.LimitForm
|
|
|
|
],
|
|
|
|
RegionName.Tt3: [
|
2023-03-20 16:19:55 +00:00
|
|
|
LocationName.UndergroundConcourseMythrilGem,
|
|
|
|
LocationName.UndergroundConcourseAPBoost,
|
|
|
|
LocationName.UndergroundConcourseMythrilCrystal,
|
|
|
|
LocationName.UndergroundConcourseOrichalcum,
|
|
|
|
LocationName.TunnelwayOrichalcum,
|
|
|
|
LocationName.TunnelwayMythrilCrystal,
|
|
|
|
LocationName.SunsetTerraceOrichalcumPlus,
|
|
|
|
LocationName.SunsetTerraceMythrilShard,
|
|
|
|
LocationName.SunsetTerraceMythrilCrystal,
|
|
|
|
LocationName.SunsetTerraceAPBoost,
|
|
|
|
LocationName.MansionNobodies,
|
|
|
|
LocationName.MansionFoyerMythrilCrystal,
|
|
|
|
LocationName.MansionFoyerMythrilStone,
|
|
|
|
LocationName.MansionFoyerSerenityCrystal,
|
|
|
|
LocationName.MansionDiningRoomMythrilCrystal,
|
|
|
|
LocationName.MansionDiningRoomMythrilStone,
|
|
|
|
LocationName.MansionLibraryOrichalcum,
|
|
|
|
LocationName.BeamSecretAnsemReport10,
|
|
|
|
LocationName.MansionBasementCorridorUltimateRecipe,
|
|
|
|
LocationName.BetwixtandBetween,
|
|
|
|
LocationName.BetwixtandBetweenBondofFlame,
|
2023-11-25 14:46:00 +00:00
|
|
|
LocationName.DonaldMansionNobodies
|
|
|
|
],
|
|
|
|
RegionName.DataAxel: [
|
2023-03-20 16:19:55 +00:00
|
|
|
LocationName.AxelDataMagicBoost,
|
2023-11-25 14:46:00 +00:00
|
|
|
LocationName.DataAxelEventLocation,
|
|
|
|
],
|
|
|
|
RegionName.Twtnw: [
|
2023-03-20 16:19:55 +00:00
|
|
|
LocationName.FragmentCrossingMythrilStone,
|
|
|
|
LocationName.FragmentCrossingMythrilCrystal,
|
|
|
|
LocationName.FragmentCrossingAPBoost,
|
2023-11-25 14:46:00 +00:00
|
|
|
LocationName.FragmentCrossingOrichalcum
|
|
|
|
],
|
|
|
|
RegionName.Roxas: [
|
2023-03-20 16:19:55 +00:00
|
|
|
LocationName.Roxas,
|
|
|
|
LocationName.RoxasGetBonus,
|
|
|
|
LocationName.RoxasSecretAnsemReport8,
|
|
|
|
LocationName.TwoBecomeOne,
|
|
|
|
LocationName.MemorysSkyscaperMythrilCrystal,
|
|
|
|
LocationName.MemorysSkyscaperAPBoost,
|
|
|
|
LocationName.MemorysSkyscaperMythrilStone,
|
|
|
|
LocationName.TheBrinkofDespairDarkCityMap,
|
|
|
|
LocationName.TheBrinkofDespairOrichalcumPlus,
|
|
|
|
LocationName.NothingsCallMythrilGem,
|
|
|
|
LocationName.NothingsCallOrichalcum,
|
|
|
|
LocationName.TwilightsViewCosmicBelt,
|
2023-11-25 14:46:00 +00:00
|
|
|
LocationName.RoxasEventLocation
|
|
|
|
],
|
|
|
|
RegionName.Xigbar: [
|
2023-03-20 16:19:55 +00:00
|
|
|
LocationName.XigbarBonus,
|
|
|
|
LocationName.XigbarSecretAnsemReport3,
|
|
|
|
LocationName.NaughtsSkywayMythrilGem,
|
|
|
|
LocationName.NaughtsSkywayOrichalcum,
|
|
|
|
LocationName.NaughtsSkywayMythrilCrystal,
|
|
|
|
LocationName.Oblivion,
|
|
|
|
LocationName.CastleThatNeverWasMap,
|
2023-11-25 14:46:00 +00:00
|
|
|
LocationName.XigbarEventLocation,
|
|
|
|
],
|
|
|
|
RegionName.Luxord: [
|
2023-03-20 16:19:55 +00:00
|
|
|
LocationName.Luxord,
|
|
|
|
LocationName.LuxordGetBonus,
|
|
|
|
LocationName.LuxordSecretAnsemReport9,
|
2023-11-25 14:46:00 +00:00
|
|
|
LocationName.LuxordEventLocation,
|
|
|
|
],
|
|
|
|
RegionName.Saix: [
|
2023-03-20 16:19:55 +00:00
|
|
|
LocationName.SaixBonus,
|
|
|
|
LocationName.SaixSecretAnsemReport12,
|
2023-11-25 14:46:00 +00:00
|
|
|
LocationName.SaixEventLocation,
|
|
|
|
],
|
|
|
|
RegionName.Twtnw2: [
|
2023-03-20 16:19:55 +00:00
|
|
|
LocationName.PreXemnas1SecretAnsemReport11,
|
|
|
|
LocationName.RuinandCreationsPassageMythrilStone,
|
|
|
|
LocationName.RuinandCreationsPassageAPBoost,
|
|
|
|
LocationName.RuinandCreationsPassageMythrilCrystal,
|
2023-11-25 14:46:00 +00:00
|
|
|
LocationName.RuinandCreationsPassageOrichalcum
|
|
|
|
],
|
|
|
|
RegionName.Xemnas: [
|
2023-03-20 16:19:55 +00:00
|
|
|
LocationName.Xemnas1,
|
|
|
|
LocationName.Xemnas1GetBonus,
|
|
|
|
LocationName.Xemnas1SecretAnsemReport13,
|
2023-11-25 14:46:00 +00:00
|
|
|
LocationName.XemnasEventLocation
|
|
|
|
|
|
|
|
],
|
|
|
|
RegionName.ArmoredXemnas: [
|
|
|
|
LocationName.ArmoredXemnasEventLocation
|
|
|
|
],
|
|
|
|
RegionName.ArmoredXemnas2: [
|
|
|
|
LocationName.ArmoredXemnas2EventLocation
|
|
|
|
],
|
|
|
|
RegionName.FinalXemnas: [
|
|
|
|
LocationName.FinalXemnas
|
|
|
|
],
|
|
|
|
RegionName.DataXemnas: [
|
2023-03-20 16:19:55 +00:00
|
|
|
LocationName.XemnasDataPowerBoost,
|
2023-11-25 14:46:00 +00:00
|
|
|
LocationName.DataXemnasEventLocation
|
|
|
|
],
|
|
|
|
RegionName.AtlanticaSongOne: [
|
|
|
|
LocationName.UnderseaKingdomMap
|
|
|
|
],
|
|
|
|
RegionName.AtlanticaSongTwo: [
|
2023-03-20 16:19:55 +00:00
|
|
|
|
2023-11-25 14:46:00 +00:00
|
|
|
],
|
|
|
|
RegionName.AtlanticaSongThree: [
|
|
|
|
LocationName.MysteriousAbyss
|
|
|
|
],
|
|
|
|
RegionName.AtlanticaSongFour: [
|
|
|
|
LocationName.MusicalBlizzardElement,
|
|
|
|
LocationName.MusicalOrichalcumPlus
|
|
|
|
],
|
|
|
|
RegionName.Valor: [
|
2023-03-20 16:19:55 +00:00
|
|
|
LocationName.Valorlvl2,
|
|
|
|
LocationName.Valorlvl3,
|
|
|
|
LocationName.Valorlvl4,
|
|
|
|
LocationName.Valorlvl5,
|
|
|
|
LocationName.Valorlvl6,
|
2023-11-25 14:46:00 +00:00
|
|
|
LocationName.Valorlvl7
|
|
|
|
],
|
|
|
|
RegionName.Wisdom: [
|
2023-03-20 16:19:55 +00:00
|
|
|
LocationName.Wisdomlvl2,
|
|
|
|
LocationName.Wisdomlvl3,
|
|
|
|
LocationName.Wisdomlvl4,
|
|
|
|
LocationName.Wisdomlvl5,
|
|
|
|
LocationName.Wisdomlvl6,
|
2023-11-25 14:46:00 +00:00
|
|
|
LocationName.Wisdomlvl7
|
|
|
|
],
|
|
|
|
RegionName.Limit: [
|
2023-03-20 16:19:55 +00:00
|
|
|
LocationName.Limitlvl2,
|
|
|
|
LocationName.Limitlvl3,
|
|
|
|
LocationName.Limitlvl4,
|
|
|
|
LocationName.Limitlvl5,
|
|
|
|
LocationName.Limitlvl6,
|
2023-11-25 14:46:00 +00:00
|
|
|
LocationName.Limitlvl7
|
|
|
|
],
|
|
|
|
RegionName.Master: [
|
2023-03-20 16:19:55 +00:00
|
|
|
LocationName.Masterlvl2,
|
|
|
|
LocationName.Masterlvl3,
|
|
|
|
LocationName.Masterlvl4,
|
|
|
|
LocationName.Masterlvl5,
|
|
|
|
LocationName.Masterlvl6,
|
2023-11-25 14:46:00 +00:00
|
|
|
LocationName.Masterlvl7
|
|
|
|
],
|
|
|
|
RegionName.Final: [
|
2023-03-20 16:19:55 +00:00
|
|
|
LocationName.Finallvl2,
|
|
|
|
LocationName.Finallvl3,
|
|
|
|
LocationName.Finallvl4,
|
|
|
|
LocationName.Finallvl5,
|
|
|
|
LocationName.Finallvl6,
|
2023-11-25 14:46:00 +00:00
|
|
|
LocationName.Finallvl7
|
|
|
|
],
|
|
|
|
RegionName.Keyblade: [
|
2023-03-20 16:19:55 +00:00
|
|
|
LocationName.FAKESlot,
|
|
|
|
LocationName.DetectionSaberSlot,
|
|
|
|
LocationName.EdgeofUltimaSlot,
|
|
|
|
LocationName.KingdomKeySlot,
|
|
|
|
LocationName.OathkeeperSlot,
|
|
|
|
LocationName.OblivionSlot,
|
|
|
|
LocationName.StarSeekerSlot,
|
|
|
|
LocationName.HiddenDragonSlot,
|
|
|
|
LocationName.HerosCrestSlot,
|
|
|
|
LocationName.MonochromeSlot,
|
|
|
|
LocationName.FollowtheWindSlot,
|
|
|
|
LocationName.CircleofLifeSlot,
|
|
|
|
LocationName.PhotonDebuggerSlot,
|
|
|
|
LocationName.GullWingSlot,
|
|
|
|
LocationName.RumblingRoseSlot,
|
|
|
|
LocationName.GuardianSoulSlot,
|
|
|
|
LocationName.WishingLampSlot,
|
|
|
|
LocationName.DecisivePumpkinSlot,
|
|
|
|
LocationName.SweetMemoriesSlot,
|
|
|
|
LocationName.MysteriousAbyssSlot,
|
|
|
|
LocationName.SleepingLionSlot,
|
|
|
|
LocationName.BondofFlameSlot,
|
|
|
|
LocationName.TwoBecomeOneSlot,
|
|
|
|
LocationName.FatalCrestSlot,
|
|
|
|
LocationName.FenrirSlot,
|
|
|
|
LocationName.UltimaWeaponSlot,
|
|
|
|
LocationName.WinnersProofSlot,
|
|
|
|
LocationName.PurebloodSlot,
|
|
|
|
LocationName.Centurion2,
|
|
|
|
LocationName.CometStaff,
|
|
|
|
LocationName.HammerStaff,
|
|
|
|
LocationName.LordsBroom,
|
|
|
|
LocationName.MagesStaff,
|
|
|
|
LocationName.MeteorStaff,
|
|
|
|
LocationName.NobodyLance,
|
|
|
|
LocationName.PreciousMushroom,
|
|
|
|
LocationName.PreciousMushroom2,
|
|
|
|
LocationName.PremiumMushroom,
|
|
|
|
LocationName.RisingDragon,
|
|
|
|
LocationName.SaveTheQueen2,
|
|
|
|
LocationName.ShamansRelic,
|
|
|
|
LocationName.VictoryBell,
|
|
|
|
LocationName.WisdomWand,
|
|
|
|
|
|
|
|
LocationName.AdamantShield,
|
|
|
|
LocationName.AkashicRecord,
|
|
|
|
LocationName.ChainGear,
|
|
|
|
LocationName.DreamCloud,
|
|
|
|
LocationName.FallingStar,
|
|
|
|
LocationName.FrozenPride2,
|
|
|
|
LocationName.GenjiShield,
|
|
|
|
LocationName.KnightDefender,
|
|
|
|
LocationName.KnightsShield,
|
|
|
|
LocationName.MajesticMushroom,
|
|
|
|
LocationName.MajesticMushroom2,
|
|
|
|
LocationName.NobodyGuard,
|
|
|
|
LocationName.OgreShield,
|
|
|
|
LocationName.SaveTheKing2,
|
2023-11-25 14:46:00 +00:00
|
|
|
LocationName.UltimateMushroom
|
|
|
|
],
|
|
|
|
}
|
|
|
|
level_region_list = [
|
|
|
|
RegionName.LevelsVS1,
|
|
|
|
RegionName.LevelsVS3,
|
|
|
|
RegionName.LevelsVS6,
|
|
|
|
RegionName.LevelsVS9,
|
|
|
|
RegionName.LevelsVS12,
|
|
|
|
RegionName.LevelsVS15,
|
|
|
|
RegionName.LevelsVS18,
|
|
|
|
RegionName.LevelsVS21,
|
|
|
|
RegionName.LevelsVS24,
|
|
|
|
RegionName.LevelsVS26,
|
|
|
|
]
|
|
|
|
|
2023-03-20 16:19:55 +00:00
|
|
|
|
2023-11-25 14:46:00 +00:00
|
|
|
def create_regions(self):
|
2023-03-20 16:19:55 +00:00
|
|
|
# Level region depends on level depth.
|
|
|
|
# for every 5 levels there should be +3 visit locking
|
|
|
|
# level 50
|
2023-11-25 14:46:00 +00:00
|
|
|
multiworld = self.multiworld
|
|
|
|
player = self.player
|
|
|
|
active_locations = self.location_name_to_id
|
|
|
|
|
|
|
|
for level_region_name in level_region_list:
|
|
|
|
KH2REGIONS[level_region_name] = []
|
|
|
|
if multiworld.LevelDepth[player] == "level_50":
|
|
|
|
KH2REGIONS[RegionName.LevelsVS1] = [LocationName.Lvl2, LocationName.Lvl4, LocationName.Lvl7, LocationName.Lvl9,
|
|
|
|
LocationName.Lvl10]
|
|
|
|
KH2REGIONS[RegionName.LevelsVS3] = [LocationName.Lvl12, LocationName.Lvl14, LocationName.Lvl15,
|
|
|
|
LocationName.Lvl17,
|
|
|
|
LocationName.Lvl20]
|
|
|
|
KH2REGIONS[RegionName.LevelsVS6] = [LocationName.Lvl23, LocationName.Lvl25, LocationName.Lvl28,
|
|
|
|
LocationName.Lvl30]
|
|
|
|
KH2REGIONS[RegionName.LevelsVS9] = [LocationName.Lvl32, LocationName.Lvl34, LocationName.Lvl36,
|
|
|
|
LocationName.Lvl39, LocationName.Lvl41]
|
|
|
|
KH2REGIONS[RegionName.LevelsVS12] = [LocationName.Lvl44, LocationName.Lvl46, LocationName.Lvl48]
|
|
|
|
KH2REGIONS[RegionName.LevelsVS15] = [LocationName.Lvl50]
|
|
|
|
|
2023-03-20 16:19:55 +00:00
|
|
|
# level 99
|
2023-11-25 14:46:00 +00:00
|
|
|
elif multiworld.LevelDepth[player] == "level_99":
|
|
|
|
KH2REGIONS[RegionName.LevelsVS1] = [LocationName.Lvl7, LocationName.Lvl9]
|
|
|
|
KH2REGIONS[RegionName.LevelsVS3] = [LocationName.Lvl12, LocationName.Lvl15, LocationName.Lvl17,
|
|
|
|
LocationName.Lvl20]
|
|
|
|
KH2REGIONS[RegionName.LevelsVS6] = [LocationName.Lvl23, LocationName.Lvl25, LocationName.Lvl28]
|
|
|
|
KH2REGIONS[RegionName.LevelsVS9] = [LocationName.Lvl31, LocationName.Lvl33, LocationName.Lvl36,
|
|
|
|
LocationName.Lvl39]
|
|
|
|
KH2REGIONS[RegionName.LevelsVS12] = [LocationName.Lvl41, LocationName.Lvl44, LocationName.Lvl47,
|
|
|
|
LocationName.Lvl49]
|
|
|
|
KH2REGIONS[RegionName.LevelsVS15] = [LocationName.Lvl53, LocationName.Lvl59]
|
|
|
|
KH2REGIONS[RegionName.LevelsVS18] = [LocationName.Lvl65]
|
|
|
|
KH2REGIONS[RegionName.LevelsVS21] = [LocationName.Lvl73]
|
|
|
|
KH2REGIONS[RegionName.LevelsVS24] = [LocationName.Lvl85]
|
|
|
|
KH2REGIONS[RegionName.LevelsVS26] = [LocationName.Lvl99]
|
2023-03-20 16:19:55 +00:00
|
|
|
# level sanity
|
|
|
|
# has to be [] instead of {} for in
|
2023-11-25 14:46:00 +00:00
|
|
|
elif multiworld.LevelDepth[player] in ["level_50_sanity", "level_99_sanity"]:
|
|
|
|
KH2REGIONS[RegionName.LevelsVS1] = [LocationName.Lvl2, LocationName.Lvl3, LocationName.Lvl4, LocationName.Lvl5,
|
|
|
|
LocationName.Lvl6,
|
|
|
|
LocationName.Lvl7, LocationName.Lvl8, LocationName.Lvl9, LocationName.Lvl10]
|
|
|
|
KH2REGIONS[RegionName.LevelsVS3] = [LocationName.Lvl11, LocationName.Lvl12, LocationName.Lvl13,
|
|
|
|
LocationName.Lvl14, LocationName.Lvl15,
|
|
|
|
LocationName.Lvl16, LocationName.Lvl17, LocationName.Lvl18,
|
|
|
|
LocationName.Lvl19, LocationName.Lvl20]
|
|
|
|
KH2REGIONS[RegionName.LevelsVS6] = [LocationName.Lvl21, LocationName.Lvl22, LocationName.Lvl23,
|
|
|
|
LocationName.Lvl24, LocationName.Lvl25,
|
|
|
|
LocationName.Lvl26, LocationName.Lvl27, LocationName.Lvl28,
|
|
|
|
LocationName.Lvl29, LocationName.Lvl30]
|
|
|
|
KH2REGIONS[RegionName.LevelsVS9] = [LocationName.Lvl31, LocationName.Lvl32, LocationName.Lvl33,
|
|
|
|
LocationName.Lvl34, LocationName.Lvl35,
|
|
|
|
LocationName.Lvl36, LocationName.Lvl37, LocationName.Lvl38,
|
|
|
|
LocationName.Lvl39, LocationName.Lvl40]
|
|
|
|
KH2REGIONS[RegionName.LevelsVS12] = [LocationName.Lvl41, LocationName.Lvl42, LocationName.Lvl43,
|
|
|
|
LocationName.Lvl44, LocationName.Lvl45,
|
|
|
|
LocationName.Lvl46, LocationName.Lvl47, LocationName.Lvl48,
|
|
|
|
LocationName.Lvl49, LocationName.Lvl50]
|
2023-03-20 16:19:55 +00:00
|
|
|
# level 99 sanity
|
2023-11-25 14:46:00 +00:00
|
|
|
if multiworld.LevelDepth[player] == "level_99_sanity":
|
|
|
|
KH2REGIONS[RegionName.LevelsVS15] = [LocationName.Lvl51, LocationName.Lvl52, LocationName.Lvl53,
|
|
|
|
LocationName.Lvl54,
|
|
|
|
LocationName.Lvl55, LocationName.Lvl56, LocationName.Lvl57,
|
|
|
|
LocationName.Lvl58,
|
|
|
|
LocationName.Lvl59, LocationName.Lvl60]
|
|
|
|
KH2REGIONS[RegionName.LevelsVS18] = [LocationName.Lvl61, LocationName.Lvl62, LocationName.Lvl63,
|
|
|
|
LocationName.Lvl64,
|
|
|
|
LocationName.Lvl65, LocationName.Lvl66, LocationName.Lvl67,
|
|
|
|
LocationName.Lvl68,
|
|
|
|
LocationName.Lvl69, LocationName.Lvl70]
|
|
|
|
KH2REGIONS[RegionName.LevelsVS21] = [LocationName.Lvl71, LocationName.Lvl72, LocationName.Lvl73,
|
|
|
|
LocationName.Lvl74,
|
|
|
|
LocationName.Lvl75, LocationName.Lvl76, LocationName.Lvl77,
|
|
|
|
LocationName.Lvl78,
|
|
|
|
LocationName.Lvl79, LocationName.Lvl80]
|
|
|
|
KH2REGIONS[RegionName.LevelsVS24] = [LocationName.Lvl81, LocationName.Lvl82, LocationName.Lvl83,
|
|
|
|
LocationName.Lvl84,
|
|
|
|
LocationName.Lvl85, LocationName.Lvl86, LocationName.Lvl87,
|
|
|
|
LocationName.Lvl88,
|
|
|
|
LocationName.Lvl89, LocationName.Lvl90]
|
|
|
|
KH2REGIONS[RegionName.LevelsVS26] = [LocationName.Lvl91, LocationName.Lvl92, LocationName.Lvl93,
|
|
|
|
LocationName.Lvl94,
|
|
|
|
LocationName.Lvl95, LocationName.Lvl96, LocationName.Lvl97,
|
|
|
|
LocationName.Lvl98, LocationName.Lvl99]
|
|
|
|
KH2REGIONS[RegionName.Summon] = []
|
|
|
|
if multiworld.SummonLevelLocationToggle[player]:
|
|
|
|
KH2REGIONS[RegionName.Summon] = [LocationName.Summonlvl2,
|
|
|
|
LocationName.Summonlvl3,
|
|
|
|
LocationName.Summonlvl4,
|
|
|
|
LocationName.Summonlvl5,
|
|
|
|
LocationName.Summonlvl6,
|
|
|
|
LocationName.Summonlvl7]
|
|
|
|
multiworld.regions += [create_region(multiworld, player, active_locations, region, locations) for region, locations in
|
|
|
|
KH2REGIONS.items()]
|
|
|
|
# fill the event locations with events
|
|
|
|
multiworld.worlds[player].item_name_to_id.update({event_name: None for event_name in Events_Table})
|
|
|
|
for location, item in event_location_to_item.items():
|
|
|
|
multiworld.get_location(location, player).place_locked_item(
|
|
|
|
multiworld.worlds[player].create_item(item))
|
2023-03-20 16:19:55 +00:00
|
|
|
|
|
|
|
|
2023-11-25 14:46:00 +00:00
|
|
|
def connect_regions(self):
|
|
|
|
multiworld = self.multiworld
|
|
|
|
player = self.player
|
2023-03-20 16:19:55 +00:00
|
|
|
# connecting every first visit to the GoA
|
2023-11-25 14:46:00 +00:00
|
|
|
KH2RegionConnections: typing.Dict[str, typing.Set[str]] = {
|
|
|
|
"Menu": {RegionName.GoA},
|
|
|
|
RegionName.GoA: {RegionName.Sp, RegionName.Pr, RegionName.Tt, RegionName.Oc, RegionName.Ht,
|
|
|
|
RegionName.LoD,
|
|
|
|
RegionName.Twtnw, RegionName.Bc, RegionName.Ag, RegionName.Pl, RegionName.Hb,
|
|
|
|
RegionName.Dc, RegionName.Stt,
|
|
|
|
RegionName.Ha1, RegionName.Keyblade, RegionName.LevelsVS1,
|
|
|
|
RegionName.Valor, RegionName.Wisdom, RegionName.Limit, RegionName.Master,
|
|
|
|
RegionName.Final, RegionName.Summon, RegionName.AtlanticaSongOne},
|
|
|
|
RegionName.LoD: {RegionName.ShanYu},
|
|
|
|
RegionName.ShanYu: {RegionName.LoD2},
|
|
|
|
RegionName.LoD2: {RegionName.AnsemRiku},
|
|
|
|
RegionName.AnsemRiku: {RegionName.StormRider},
|
|
|
|
RegionName.StormRider: {RegionName.DataXigbar},
|
|
|
|
RegionName.Ag: {RegionName.TwinLords},
|
|
|
|
RegionName.TwinLords: {RegionName.Ag2},
|
|
|
|
RegionName.Ag2: {RegionName.GenieJafar},
|
|
|
|
RegionName.GenieJafar: {RegionName.DataLexaeus},
|
|
|
|
RegionName.Dc: {RegionName.Tr},
|
|
|
|
RegionName.Tr: {RegionName.OldPete},
|
|
|
|
RegionName.OldPete: {RegionName.FuturePete},
|
|
|
|
RegionName.FuturePete: {RegionName.Terra, RegionName.DataMarluxia},
|
|
|
|
RegionName.Ha1: {RegionName.Ha2},
|
|
|
|
RegionName.Ha2: {RegionName.Ha3},
|
|
|
|
RegionName.Ha3: {RegionName.Ha4},
|
|
|
|
RegionName.Ha4: {RegionName.Ha5},
|
|
|
|
RegionName.Ha5: {RegionName.Ha6},
|
|
|
|
RegionName.Pr: {RegionName.Barbosa},
|
|
|
|
RegionName.Barbosa: {RegionName.Pr2},
|
|
|
|
RegionName.Pr2: {RegionName.GrimReaper1},
|
|
|
|
RegionName.GrimReaper1: {RegionName.GrimReaper2},
|
|
|
|
RegionName.GrimReaper2: {RegionName.DataLuxord},
|
|
|
|
RegionName.Oc: {RegionName.Cerberus},
|
|
|
|
RegionName.Cerberus: {RegionName.OlympusPete},
|
|
|
|
RegionName.OlympusPete: {RegionName.Hydra},
|
|
|
|
RegionName.Hydra: {RegionName.OcPainAndPanicCup, RegionName.OcCerberusCup, RegionName.Oc2},
|
|
|
|
RegionName.Oc2: {RegionName.Hades},
|
|
|
|
RegionName.Hades: {RegionName.Oc2TitanCup, RegionName.Oc2GofCup, RegionName.DataZexion},
|
|
|
|
RegionName.Oc2GofCup: {RegionName.HadesCups},
|
|
|
|
RegionName.Bc: {RegionName.Thresholder},
|
|
|
|
RegionName.Thresholder: {RegionName.Beast},
|
|
|
|
RegionName.Beast: {RegionName.DarkThorn},
|
|
|
|
RegionName.DarkThorn: {RegionName.Bc2},
|
|
|
|
RegionName.Bc2: {RegionName.Xaldin},
|
|
|
|
RegionName.Xaldin: {RegionName.DataXaldin},
|
|
|
|
RegionName.Sp: {RegionName.HostileProgram},
|
|
|
|
RegionName.HostileProgram: {RegionName.Sp2},
|
|
|
|
RegionName.Sp2: {RegionName.Mcp},
|
|
|
|
RegionName.Mcp: {RegionName.DataLarxene},
|
|
|
|
RegionName.Ht: {RegionName.PrisonKeeper},
|
|
|
|
RegionName.PrisonKeeper: {RegionName.OogieBoogie},
|
|
|
|
RegionName.OogieBoogie: {RegionName.Ht2},
|
|
|
|
RegionName.Ht2: {RegionName.Experiment},
|
|
|
|
RegionName.Experiment: {RegionName.DataVexen},
|
|
|
|
RegionName.Hb: {RegionName.Hb2},
|
|
|
|
RegionName.Hb2: {RegionName.CoR, RegionName.HBDemyx},
|
|
|
|
RegionName.HBDemyx: {RegionName.ThousandHeartless},
|
|
|
|
RegionName.ThousandHeartless: {RegionName.Mushroom13, RegionName.DataDemyx, RegionName.Sephi},
|
|
|
|
RegionName.CoR: {RegionName.CorFirstFight},
|
|
|
|
RegionName.CorFirstFight: {RegionName.CorSecondFight},
|
|
|
|
RegionName.CorSecondFight: {RegionName.Transport},
|
|
|
|
RegionName.Pl: {RegionName.Scar},
|
|
|
|
RegionName.Scar: {RegionName.Pl2},
|
|
|
|
RegionName.Pl2: {RegionName.GroundShaker},
|
|
|
|
RegionName.GroundShaker: {RegionName.DataSaix},
|
|
|
|
RegionName.Stt: {RegionName.TwilightThorn},
|
|
|
|
RegionName.TwilightThorn: {RegionName.Axel1},
|
|
|
|
RegionName.Axel1: {RegionName.Axel2},
|
|
|
|
RegionName.Axel2: {RegionName.DataRoxas},
|
|
|
|
RegionName.Tt: {RegionName.Tt2},
|
|
|
|
RegionName.Tt2: {RegionName.Tt3},
|
|
|
|
RegionName.Tt3: {RegionName.DataAxel},
|
|
|
|
RegionName.Twtnw: {RegionName.Roxas},
|
|
|
|
RegionName.Roxas: {RegionName.Xigbar},
|
|
|
|
RegionName.Xigbar: {RegionName.Luxord},
|
|
|
|
RegionName.Luxord: {RegionName.Saix},
|
|
|
|
RegionName.Saix: {RegionName.Twtnw2},
|
|
|
|
RegionName.Twtnw2: {RegionName.Xemnas},
|
|
|
|
RegionName.Xemnas: {RegionName.ArmoredXemnas, RegionName.DataXemnas},
|
|
|
|
RegionName.ArmoredXemnas: {RegionName.ArmoredXemnas2},
|
|
|
|
RegionName.ArmoredXemnas2: {RegionName.FinalXemnas},
|
|
|
|
RegionName.LevelsVS1: {RegionName.LevelsVS3},
|
|
|
|
RegionName.LevelsVS3: {RegionName.LevelsVS6},
|
|
|
|
RegionName.LevelsVS6: {RegionName.LevelsVS9},
|
|
|
|
RegionName.LevelsVS9: {RegionName.LevelsVS12},
|
|
|
|
RegionName.LevelsVS12: {RegionName.LevelsVS15},
|
|
|
|
RegionName.LevelsVS15: {RegionName.LevelsVS18},
|
|
|
|
RegionName.LevelsVS18: {RegionName.LevelsVS21},
|
|
|
|
RegionName.LevelsVS21: {RegionName.LevelsVS24},
|
|
|
|
RegionName.LevelsVS24: {RegionName.LevelsVS26},
|
|
|
|
RegionName.AtlanticaSongOne: {RegionName.AtlanticaSongTwo},
|
|
|
|
RegionName.AtlanticaSongTwo: {RegionName.AtlanticaSongThree},
|
|
|
|
RegionName.AtlanticaSongThree: {RegionName.AtlanticaSongFour},
|
|
|
|
}
|
2023-03-20 16:19:55 +00:00
|
|
|
|
2023-11-25 14:46:00 +00:00
|
|
|
for source, target in KH2RegionConnections.items():
|
|
|
|
source_region = multiworld.get_region(source, player)
|
|
|
|
source_region.add_exits(target)
|
2023-03-20 16:19:55 +00:00
|
|
|
|
|
|
|
|
2023-11-25 14:46:00 +00:00
|
|
|
# cave fight:fire/guard
|
|
|
|
# hades escape logic:fire,blizzard,slide dash, base tools
|
|
|
|
# windows:chicken little.fire element,base tools
|
|
|
|
# chasm of challenges:reflect, blizzard, trinity limit,chicken little
|
|
|
|
# living bones: magnet
|
|
|
|
# some things for barbosa(PR), chicken little
|
|
|
|
# hyneas(magnet,reflect)
|
|
|
|
# tt2: reflect,chicken,form, guard,aerial recovery,finising plus,
|
|
|
|
# corridors,dancers:chicken little or stitch +demyx tools
|
|
|
|
# 1k: guard,once more,limit form,
|
|
|
|
# snipers +before: stitch, magnet, finishing leap, base tools, reflect
|
|
|
|
# dragoons:stitch, magnet, base tools, reflect
|
|
|
|
# oc2 tournament thing: stitch, magnet, base tools, reflera
|
|
|
|
# lock,shock and barrel: reflect, base tools
|
|
|
|
# carpet section: magnera, reflect, base tools,
|
|
|
|
# sp2: reflera, stitch, basse tools, reflera, thundara, fantasia/duck flare,once more.
|
|
|
|
# tt3: stitch/chicken little, magnera,reflera,base tools,finishing leap,limit form
|
|
|
|
# cor
|
2023-03-20 16:19:55 +00:00
|
|
|
|
2023-11-25 14:46:00 +00:00
|
|
|
def create_region(multiworld, player: int, active_locations, name: str, locations=None):
|
|
|
|
ret = Region(name, player, multiworld)
|
2023-03-20 16:19:55 +00:00
|
|
|
if locations:
|
2023-11-25 14:46:00 +00:00
|
|
|
loc_to_id = {loc: active_locations.get(loc, 0) for loc in locations if active_locations.get(loc, None)}
|
|
|
|
ret.add_locations(loc_to_id, KH2Location)
|
|
|
|
loc_to_event = {loc: active_locations.get(loc, None) for loc in locations if
|
|
|
|
not active_locations.get(loc, None)}
|
|
|
|
ret.add_locations(loc_to_event, KH2Location)
|
2023-03-20 16:19:55 +00:00
|
|
|
|
|
|
|
return ret
|