forked from mirror/Archipelago
Some checks failed
Analyze modified files / flake8 (push) Failing after 2m28s
Build / build-win (push) Has been cancelled
Build / build-ubuntu2204 (push) Has been cancelled
ctest / Test C++ ubuntu-latest (push) Has been cancelled
ctest / Test C++ windows-latest (push) Has been cancelled
Analyze modified files / mypy (push) Has been cancelled
Build and Publish Docker Images / Push Docker image to Docker Hub (push) Successful in 5m4s
Native Code Static Analysis / scan-build (push) Failing after 5m2s
type check / pyright (push) Successful in 1m7s
unittests / Test Python 3.11.2 ubuntu-latest (push) Failing after 16m23s
unittests / Test Python 3.12 ubuntu-latest (push) Failing after 28m19s
unittests / Test Python 3.13 ubuntu-latest (push) Failing after 14m49s
unittests / Test hosting with 3.13 on ubuntu-latest (push) Successful in 5m0s
unittests / Test Python 3.13 macos-latest (push) Has been cancelled
unittests / Test Python 3.11 windows-latest (push) Has been cancelled
unittests / Test Python 3.13 windows-latest (push) Has been cancelled
90 lines
9.7 KiB
Python
90 lines
9.7 KiB
Python
from typing import Dict, List, NamedTuple, Optional
|
|
from BaseClasses import Region
|
|
|
|
class FF12OpenWorldRegion(Region):
|
|
game: str = "Final Fantasy 12 Open World"
|
|
|
|
class FF12OpenWorldRegionData(NamedTuple):
|
|
connecting_regions: List[str]
|
|
map_id: Optional[int] = None
|
|
secondary_index: Optional[int] = None
|
|
|
|
region_data_table: Dict[str, FF12OpenWorldRegionData] = {
|
|
"Aerodrome": FF12OpenWorldRegionData(connecting_regions=[]),
|
|
"Archades": FF12OpenWorldRegionData(connecting_regions=["Aerodrome", "Archades <-> Balfonheim Skyferry", "Balfonheim", "Draklor Laboratory", "Nalbina <-> Archades Skyferry", "Nalbina Fortress", "Old Archades", "Rabanastre", "Rabanastre <-> Archades Skyferry", "Strahl"]),
|
|
"Archades <-> Balfonheim Skyferry": FF12OpenWorldRegionData(connecting_regions=["Skyferry"]),
|
|
"Bahamut": FF12OpenWorldRegionData(connecting_regions=[]),
|
|
"Balfonheim": FF12OpenWorldRegionData(connecting_regions=["Aerodrome", "Archades", "Archades <-> Balfonheim Skyferry", "Bhujerba", "Bhujerba <-> Balfonheim Skyferry", "Cerobi Steppe", "Nalbina <-> Balfonheim Skyferry", "Nalbina Fortress", "Strahl"]),
|
|
"Barheim Passage": FF12OpenWorldRegionData(connecting_regions=["Barheim Passage Shop", "Dalmasca Estersand", "Garamsythe Waterway"]),
|
|
"Barheim Passage Shop": FF12OpenWorldRegionData(connecting_regions=[]),
|
|
"Barheim Passage Story": FF12OpenWorldRegionData(connecting_regions=["Dalmasca Estersand"]),
|
|
"Bhujerba": FF12OpenWorldRegionData(connecting_regions=["Aerodrome", "Balfonheim", "Bhujerba <-> Balfonheim Skyferry", "Dreadnought Leviathan", "Lhusu Mines", "Rabanastre", "Rabanastre <-> Bhujerba Skyferry", "Strahl"]),
|
|
"Bhujerba <-> Balfonheim Skyferry": FF12OpenWorldRegionData(connecting_regions=["Skyferry"]),
|
|
"Cerobi Steppe": FF12OpenWorldRegionData(connecting_regions=["Balfonheim", "Strahl", "Tchita Uplands"]),
|
|
"Clan Hall": FF12OpenWorldRegionData(connecting_regions=["Rabanastre"]),
|
|
"Dalmasca Estersand": FF12OpenWorldRegionData(connecting_regions=["Barheim Passage", "Dalmasca Estersand North", "Giza Plains Dry", "Giza Plains Rains", "Nalbina Fortress", "Rabanastre", "Strahl"]),
|
|
"Dalmasca Estersand North": FF12OpenWorldRegionData(connecting_regions=["Dalmasca Westersand", "Mosphoran Highwaste"]),
|
|
"Dalmasca Westersand": FF12OpenWorldRegionData(connecting_regions=["Dalmasca Estersand North", "Giza Plains Dry", "Giza Plains Rains", "Ogir-Yensa Sandsea", "Rabanastre", "Strahl", "Zertinan Caverns NE"]),
|
|
"Draklor Laboratory": FF12OpenWorldRegionData(connecting_regions=["Archades", "Balfonheim"]),
|
|
"Dreadnought Leviathan": FF12OpenWorldRegionData(connecting_regions=[]),
|
|
"Eruyt Village": FF12OpenWorldRegionData(connecting_regions=["Golmore Jungle NW"]),
|
|
"Feywood": FF12OpenWorldRegionData(connecting_regions=["Giruvegan", "Golmore Jungle S", "Henne Mines Feywood", "Paramina Rift"]),
|
|
"Garamsythe Waterway": FF12OpenWorldRegionData(connecting_regions=["Lowtown"]),
|
|
"Giruvegan": FF12OpenWorldRegionData(connecting_regions=["Great Crystal"]),
|
|
"Giruvegan End": FF12OpenWorldRegionData(connecting_regions=["Giruvegan", "Great Crystal"]),
|
|
"Giza Plains Dry": FF12OpenWorldRegionData(connecting_regions=["Dalmasca Estersand", "Dalmasca Westersand", "Ozmone Plain", "Rabanastre", "Strahl"]),
|
|
"Giza Plains Rains": FF12OpenWorldRegionData(connecting_regions=["Dalmasca Estersand", "Dalmasca Westersand", "Ozmone Plain", "Rabanastre", "Strahl"]),
|
|
"Golmore Jungle E": FF12OpenWorldRegionData(connecting_regions=["Golmore Jungle NW", "Paramina Rift"]),
|
|
"Golmore Jungle NW": FF12OpenWorldRegionData(connecting_regions=["Eruyt Village", "Golmore Jungle E", "Golmore Jungle S", "Ozmone Plain"]),
|
|
"Golmore Jungle S": FF12OpenWorldRegionData(connecting_regions=["Feywood", "Golmore Jungle NW"]),
|
|
"Great Crystal": FF12OpenWorldRegionData(connecting_regions=["Giruvegan", "Giruvegan End"]),
|
|
"Henne Mines": FF12OpenWorldRegionData(connecting_regions=["Eruyt Village", "Henne Mines Deep", "Ozmone Plain"]),
|
|
"Henne Mines Deep": FF12OpenWorldRegionData(connecting_regions=["Henne Mines Feywood"]),
|
|
"Henne Mines Feywood": FF12OpenWorldRegionData(connecting_regions=["Feywood"]),
|
|
"Initial": FF12OpenWorldRegionData(connecting_regions=["Rabanastre", "Trials"]),
|
|
"Jahara": FF12OpenWorldRegionData(connecting_regions=["Ozmone Plain"]),
|
|
"Lhusu Mines": FF12OpenWorldRegionData(connecting_regions=["Bhujerba"]),
|
|
"Lowtown": FF12OpenWorldRegionData(connecting_regions=["Garamsythe Waterway", "Rabanastre", "Royal Palace"]),
|
|
"Mosphoran Highwaste": FF12OpenWorldRegionData(connecting_regions=["Dalmasca Estersand North", "Mosphoran Highwaste Upper", "Nalbina Fortress", "Salikawood", "Strahl"]),
|
|
"Mosphoran Highwaste Upper": FF12OpenWorldRegionData(connecting_regions=[]),
|
|
"Mt. Bur-Omisace": FF12OpenWorldRegionData(connecting_regions=["Paramina Rift"]),
|
|
"Nabreus Deadlands": FF12OpenWorldRegionData(connecting_regions=["Salikawood NW"]),
|
|
"Nalbina <-> Archades Skyferry": FF12OpenWorldRegionData(connecting_regions=["Skyferry"]),
|
|
"Nalbina <-> Balfonheim Skyferry": FF12OpenWorldRegionData(connecting_regions=["Skyferry"]),
|
|
"Nalbina Dungeon": FF12OpenWorldRegionData(connecting_regions=["Barheim Passage Shop"]),
|
|
"Nalbina Fortress": FF12OpenWorldRegionData(connecting_regions=["Aerodrome", "Archades", "Balfonheim", "Dalmasca Estersand", "Mosphoran Highwaste", "Nalbina <-> Archades Skyferry", "Nalbina <-> Balfonheim Skyferry", "Rabanastre", "Rabanastre <-> Nalbina Skyferry", "Strahl"]),
|
|
"Nam-Yensa Sandsea": FF12OpenWorldRegionData(connecting_regions=["Ogir-Yensa Sandsea", "Strahl", "Tomb of Raithwall", "Zertinan Caverns NW"]),
|
|
"Nam-Yensa Sandsea Belito": FF12OpenWorldRegionData(connecting_regions=["Zertinan Caverns Connector N"]),
|
|
"Necrohol of Nabudis": FF12OpenWorldRegionData(connecting_regions=["Salikawood NW"]),
|
|
"Ogir-Yensa Sandsea": FF12OpenWorldRegionData(connecting_regions=["Dalmasca Westersand", "Nam-Yensa Sandsea", "Strahl", "Zertinan Caverns Connector N", "Zertinan Caverns N"]),
|
|
"Old Archades": FF12OpenWorldRegionData(connecting_regions=["Archades", "Sochen Cave Palace N"]),
|
|
"Ozmone Plain": FF12OpenWorldRegionData(connecting_regions=["Giza Plains Dry", "Giza Plains Rains", "Golmore Jungle NW", "Henne Mines", "Jahara", "Strahl", "Zertinan Caverns S"]),
|
|
"Paramina Rift": FF12OpenWorldRegionData(connecting_regions=["Feywood", "Golmore Jungle E", "Mt. Bur-Omisace", "Stilshrine of Miriam", "Strahl"]),
|
|
"Pharos of Ridorana": FF12OpenWorldRegionData(connecting_regions=["Balfonheim", "Pharos of Ridorana Subterra", "Ridorana Cataract"]),
|
|
"Pharos of Ridorana Subterra": FF12OpenWorldRegionData(connecting_regions=["Pharos of Ridorana"]),
|
|
"Phon Coast": FF12OpenWorldRegionData(connecting_regions=["Salikawood", "Strahl", "Tchita Uplands"]),
|
|
"Rabanastre": FF12OpenWorldRegionData(connecting_regions=["Aerodrome", "Archades", "Bahamut", "Bhujerba", "Clan Hall", "Dalmasca Estersand", "Dalmasca Westersand", "Giza Plains Dry", "Giza Plains Rains", "Lowtown", "Nalbina Fortress", "Rabanastre <-> Archades Skyferry", "Rabanastre <-> Bhujerba Skyferry", "Rabanastre <-> Nalbina Skyferry", "Strahl"]),
|
|
"Rabanastre <-> Archades Skyferry": FF12OpenWorldRegionData(connecting_regions=["Skyferry"]),
|
|
"Rabanastre <-> Bhujerba Skyferry": FF12OpenWorldRegionData(connecting_regions=["Skyferry"]),
|
|
"Rabanastre <-> Nalbina Skyferry": FF12OpenWorldRegionData(connecting_regions=["Skyferry"]),
|
|
"Ridorana Cataract": FF12OpenWorldRegionData(connecting_regions=["Pharos of Ridorana", "Strahl"]),
|
|
"Royal Palace": FF12OpenWorldRegionData(connecting_regions=["Barheim Passage Story", "Nalbina Dungeon"]),
|
|
"Salikawood": FF12OpenWorldRegionData(connecting_regions=["Mosphoran Highwaste", "Phon Coast", "Salikawood NW"]),
|
|
"Salikawood NW": FF12OpenWorldRegionData(connecting_regions=["Nabreus Deadlands", "Necrohol of Nabudis", "Salikawood"]),
|
|
"Skyferry": FF12OpenWorldRegionData(connecting_regions=[]),
|
|
"Sochen Cave Palace Middle": FF12OpenWorldRegionData(connecting_regions=["Sochen Cave Palace N", "Sochen Cave Palace S"]),
|
|
"Sochen Cave Palace N": FF12OpenWorldRegionData(connecting_regions=["Old Archades", "Sochen Cave Palace Middle"]),
|
|
"Sochen Cave Palace S": FF12OpenWorldRegionData(connecting_regions=["Sochen Cave Palace Middle", "Tchita Uplands"]),
|
|
"Stilshrine of Miriam": FF12OpenWorldRegionData(connecting_regions=["Paramina Rift"]),
|
|
"Strahl": FF12OpenWorldRegionData(connecting_regions=["Archades", "Balfonheim", "Bhujerba", "Cerobi Steppe", "Dalmasca Estersand", "Dalmasca Westersand", "Giza Plains Dry", "Giza Plains Rains", "Mosphoran Highwaste", "Nalbina Fortress", "Nam-Yensa Sandsea", "Ogir-Yensa Sandsea", "Ozmone Plain", "Paramina Rift", "Phon Coast", "Rabanastre", "Ridorana Cataract", "Tchita Uplands"]),
|
|
"Tchita Uplands": FF12OpenWorldRegionData(connecting_regions=["Cerobi Steppe", "Phon Coast", "Sochen Cave Palace S", "Strahl"]),
|
|
"Tomb of Raithwall": FF12OpenWorldRegionData(connecting_regions=["Nam-Yensa Sandsea"]),
|
|
"Trials": FF12OpenWorldRegionData(connecting_regions=[]),
|
|
"Zertinan Caverns Center": FF12OpenWorldRegionData(connecting_regions=["Zertinan Caverns N", "Zertinan Caverns NE", "Zertinan Caverns NW", "Zertinan Caverns S"]),
|
|
"Zertinan Caverns Connector N": FF12OpenWorldRegionData(connecting_regions=["Nam-Yensa Sandsea Belito", "Ogir-Yensa Sandsea", "Zertinan Caverns NW"]),
|
|
"Zertinan Caverns N": FF12OpenWorldRegionData(connecting_regions=["Ogir-Yensa Sandsea", "Zertinan Caverns Center"]),
|
|
"Zertinan Caverns NE": FF12OpenWorldRegionData(connecting_regions=["Dalmasca Westersand", "Zertinan Caverns Center"]),
|
|
"Zertinan Caverns NW": FF12OpenWorldRegionData(connecting_regions=["Nam-Yensa Sandsea", "Zertinan Caverns Center"]),
|
|
"Zertinan Caverns S": FF12OpenWorldRegionData(connecting_regions=["Ozmone Plain", "Zertinan Caverns Center"]),
|
|
}
|