You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
229 lines
5.3 KiB
229 lines
5.3 KiB
-- ----------------------------------------------------------------------------
|
|
-- AddOn namespace.
|
|
-- ----------------------------------------------------------------------------
|
|
local AddOnFolderName, private = ...
|
|
local Data = private.Data
|
|
local Enum = private.Enum
|
|
|
|
-- ----------------------------------------------------------------------------
|
|
-- Constants
|
|
-- ----------------------------------------------------------------------------
|
|
local MapID = {
|
|
Cosmic = 946,
|
|
AbyssalDepths = 204,
|
|
AhnQirajTheFallenKingdom = 327,
|
|
AntoranWastes = 885,
|
|
ArathiHighlands = 14,
|
|
Argus = 905,
|
|
Ashenvale = 63,
|
|
Ashran = 588,
|
|
Azeroth = 947,
|
|
Azshara = 76,
|
|
Azsuna = 630,
|
|
AzuremystIsle = 97,
|
|
Badlands = 15,
|
|
BlackfathomDeeps = 221,
|
|
BlackrockDepths = 242,
|
|
BlackrockSpire = 250,
|
|
BladesEdgeMountains = 105,
|
|
BlastedLands = 17,
|
|
BloodmystIsle = 106,
|
|
Boralus = 1161,
|
|
BoreanTundra = 114,
|
|
BrokenIsles = 619,
|
|
BrokenShore = 646,
|
|
BurningSteppes = 36,
|
|
CampNarache = 462,
|
|
DarkheartThicket = 733,
|
|
DarkmoonIsland = 407,
|
|
Darkshore = 62,
|
|
Dazaralor = 1165,
|
|
Deathknell = 465,
|
|
Deepholm = 207,
|
|
Desolace = 66,
|
|
DireMaul = 234,
|
|
Draenor = 572,
|
|
Dragonblight = 115,
|
|
DreadWastes = 422,
|
|
Drustvar = 896,
|
|
DunMorogh = 27,
|
|
Durotar = 1,
|
|
Duskwood = 47,
|
|
DustwallowMarsh = 70,
|
|
EasternKingdoms = 13,
|
|
EasternPlaguelands = 23,
|
|
ElwynnForest = 37,
|
|
EversongWoods = 94,
|
|
EyeOfAzshara = 713,
|
|
Felwood = 77,
|
|
Feralas = 69,
|
|
FrostfireRidge = 525,
|
|
Frostwall = 590,
|
|
FrostwallMine = 585,
|
|
Ghostlands = 95,
|
|
Gnomeregan = 226,
|
|
Gorgrond = 543,
|
|
GrizzlyHills = 116,
|
|
HallsOfValor = 703,
|
|
Helheim = 649,
|
|
HellfirePeninsula = 100,
|
|
Highmountain = 650,
|
|
HillsbradFoothills = 25,
|
|
HowlingFjord = 117,
|
|
Icecrown = 118,
|
|
IsleOfGiants = 507,
|
|
IsleOfThunder = 504,
|
|
Kalimdor = 12,
|
|
Karazhan = 350,
|
|
KelptharForest = 201,
|
|
KrasarangWilds = 418,
|
|
Krokuun = 830,
|
|
KulTiras = 876,
|
|
KunLaiSummit = 379,
|
|
LochModan = 48,
|
|
Lunarfall = 582,
|
|
LunarfallExcavation = 579,
|
|
MacAree = 882,
|
|
Maraudon = 280,
|
|
MardumTheShatteredAbyss = 672,
|
|
MoltenFront = 338,
|
|
MountHyjal = 198,
|
|
Mulgore = 7,
|
|
NagrandDraenor = 550,
|
|
NagrandOutland = 107,
|
|
Nazjatar = 1355,
|
|
Nazmir = 863,
|
|
Netherstorm = 109,
|
|
NewTinkertown = 469,
|
|
NorthernBarrens = 10,
|
|
NorthernStranglethorn = 50,
|
|
Northrend = 113,
|
|
Northshire = 425,
|
|
OldHillsbradFoothills = 274,
|
|
Outland = 101,
|
|
Pandaria = 424,
|
|
RazorfenKraul = 301,
|
|
RedridgeMountains = 49,
|
|
Scholomance = 476,
|
|
SearingGorge = 32,
|
|
ShadowfangKeep = 310,
|
|
ShadowmoonValleyDraenor = 539,
|
|
ShadowmoonValleyOutland = 104,
|
|
ShimmeringExpanse = 205,
|
|
SholazarBasin = 119,
|
|
Silithus = 81,
|
|
SilverpineForest = 21,
|
|
SouthernBarrens = 199,
|
|
SpiresOfArak = 542,
|
|
StonetalonMountains = 65,
|
|
Stormheim = 634,
|
|
StormsongValley = 942,
|
|
StormwindCity = 84,
|
|
Stratholme = 317,
|
|
Suramar = 680,
|
|
SwampOfSorrows = 51,
|
|
Talador = 535,
|
|
TanaanJungle = 534,
|
|
Tanaris = 71,
|
|
Teldrassil = 57,
|
|
TerokkarForest = 108,
|
|
TheCapeOfStranglethorn = 210,
|
|
TheDeadmines = 291,
|
|
TheExodar = 775,
|
|
TheHinterlands = 26,
|
|
TheJadeForest = 371,
|
|
TheMaelstrom = 948,
|
|
TheStormPeaks = 120,
|
|
TheTempleOfAtalHakkar = 220,
|
|
TheVeiledStair = 433,
|
|
ThousandNeedles = 64,
|
|
ThroneOfThunder = 508,
|
|
ThunderTotem = 750,
|
|
TimelessIsle = 554,
|
|
TiragardeSound = 895,
|
|
TirisfalGlades = 18,
|
|
TownlongSteppes = 388,
|
|
TwilightHighlands = 241,
|
|
Uldum = 249,
|
|
UnchartedIsland = 1022,
|
|
UnGoroCrater = 78,
|
|
UpperBlackrockSpire = 616,
|
|
ValeOfEternalBlossoms = 390,
|
|
ValleyOfTheFourWinds = 376,
|
|
ValSharah = 641,
|
|
Vashjir = 203,
|
|
VaultOfTheWardens = 677,
|
|
Voldun = 864,
|
|
WailingCaverns = 279,
|
|
WesternPlaguelands = 22,
|
|
Westfall = 52,
|
|
Wetlands = 56,
|
|
Winterspring = 83,
|
|
Zandalar = 875,
|
|
Zangarmarsh = 102,
|
|
Zuldazar = 862,
|
|
ZulDrak = 121,
|
|
ZulFarrak = 219,
|
|
}
|
|
|
|
Enum.MapID = MapID
|
|
|
|
local ContinentID = {
|
|
Cosmic = 1,
|
|
Azeroth = 2,
|
|
Kalimdor = 3,
|
|
EasternKingdoms = 4,
|
|
Outland = 5,
|
|
Northrend = 6,
|
|
TheMaelstrom = 7,
|
|
Pandaria = 8,
|
|
Draenor = 9,
|
|
BrokenIsles = 10,
|
|
Argus = 11,
|
|
Zandalar = 12,
|
|
KulTiras = 13,
|
|
}
|
|
|
|
Enum.ContinentID = ContinentID
|
|
|
|
local ContinentMapID = {
|
|
[ContinentID.Cosmic] = MapID.Cosmic,
|
|
[ContinentID.Azeroth] = MapID.Azeroth,
|
|
[ContinentID.Kalimdor] = MapID.Kalimdor,
|
|
[ContinentID.EasternKingdoms] = MapID.EasternKingdoms,
|
|
[ContinentID.Outland] = MapID.Outland,
|
|
[ContinentID.Northrend] = MapID.Northrend,
|
|
[ContinentID.TheMaelstrom] = MapID.TheMaelstrom,
|
|
[ContinentID.Pandaria] = MapID.Pandaria,
|
|
[ContinentID.Draenor] = MapID.Draenor,
|
|
[ContinentID.BrokenIsles] = MapID.BrokenIsles,
|
|
[ContinentID.Argus] = MapID.Argus,
|
|
[ContinentID.Zandalar] = MapID.Zandalar,
|
|
[ContinentID.KulTiras] = MapID.KulTiras,
|
|
}
|
|
|
|
Enum.ContinentMapID = ContinentMapID
|
|
|
|
local MapContinentID = {}
|
|
|
|
for continentID, mapID in _G.pairs(ContinentMapID) do
|
|
MapContinentID[mapID] = continentID
|
|
end
|
|
|
|
Enum.MapContinentID = MapContinentID
|
|
|
|
-- ----------------------------------------------------------------------------
|
|
-- Helpers
|
|
-- ----------------------------------------------------------------------------
|
|
local function SortByMapNameThenByID(a, b)
|
|
local mapNameA = Data.Maps[a].name
|
|
local mapNameB = Data.Maps[b].name
|
|
|
|
if mapNameA == mapNameB then
|
|
return a < b
|
|
end
|
|
|
|
return mapNameA < mapNameB
|
|
end
|
|
|
|
private.SortByMapNameThenByID = SortByMapNameThenByID
|
|
|