From fefd9baadb72fd87941731149f78ecd4c14c98de Mon Sep 17 00:00:00 2001 From: Jim Whitehead Date: Sun, 19 Oct 2014 21:29:24 +0200 Subject: [PATCH] Update LibMapData-1.0 --- libs/LibMapData-1.0/library.lua | 432 ++++++++++++++++++++++++++++++++++----- 1 file changed, 381 insertions(+), 51 deletions(-) mode change 100755 => 100644 libs/LibMapData-1.0/library.lua diff --git a/libs/LibMapData-1.0/library.lua b/libs/LibMapData-1.0/library.lua old mode 100755 new mode 100644 index a394093..dbd26c1 --- a/libs/LibMapData-1.0/library.lua +++ b/libs/LibMapData-1.0/library.lua @@ -3,7 +3,7 @@ it also has a few functions to help determine distance and directions. --]] local MAJOR = "LibMapData-1.0" -local MINOR = 1000 + tonumber(("$Revision: 138 $"):match("%d+")) +local MINOR = 1000 + tonumber(("$Revision: 144 $"):match("%d+")) assert(LibStub, MAJOR.." requires LibStub") local lib = LibStub:NewLibrary(MAJOR, MINOR) @@ -50,6 +50,7 @@ local contOffsets = { [4] = {16020.94044398222,454.2451915717977}, [5] = {0,0}, [6] = {0,0}, + [7] = {0,0}, } local transforms_x = { @@ -59,6 +60,7 @@ local transforms_x = { [4] = 0, [5] = 0, [6] = 0, + [7] = 0, } local transforms_y = { [1] = 17600.0, @@ -67,6 +69,7 @@ local transforms_y = { [4] = 0, [5] = 0, [6] = 0, + [7] = 0, } do @@ -2159,7 +2162,7 @@ do } mapData[928] = { ['floors'] = 2, ['name'] = "IsleoftheThunderKing", ['rzti'] = 1064, ['map_type'] = 0, ['continent'] = 0, ['transform'] = 0, - [1] = { 480.0,320.0,-5292.5,7210.0,-5772.5,7530.0 }, + [1] = { 4135.416015625,2756.25,-7654.166015625,8147.916015625,-3518.75,5391.666015625 }, [2] = { 362.0,241.3330078125,-4969.0,6999.99853515625,-5331.0,7241.33154296875 }, ['micro'] = { @@ -2243,21 +2246,22 @@ do }, } mapData[953] = { - ['floors'] = 14, ['name'] = "OrgrimmarRaid", ['rzti'] = 1136, ['map_type'] = 0, ['continent'] = 0, ['transform'] = 0, - [1] = { 950.0150146484375,633.34326171875,-199.9949951171875,1095.828369140625,-1150.010009765625,1729.171630859375 }, - [2] = { 562.5,375.0,-716.25,625.0,-1278.75,1000.0 }, - [3] = { 1141.669921875,761.1132202148438,5162.5,893.4033813476562,4020.830078125,1654.5166015625 }, - [4] = { 1210.416015625,806.25,5000.0,1318.75,3789.583984375,2125.0 }, - [5] = { 362.08984375,241.3931884765625,4526.06005859375,1690.87841796875,4163.97021484375,1932.2716064453125 }, - [6] = { 600.0,400.0,4837.5,1500.0,4237.5,1900.0 }, - [7] = { 885.0,590.0,5467.5,1575.0,4582.5,2165.0 }, - [8] = { 1210.0,806.666748046875,5700.0,1059.1666259765625,4490.0,1865.8333740234375 }, - [9] = { 645.0,430.0001220703125,5875.0,1727.0799560546875,5230.0,2157.080078125 }, - [10] = { 885.0,590.0,5967.5,1200.0,5082.5,1790.0 }, - [11] = { 472.5,315.0,5876.25,960.0,5403.75,1275.0 }, - [12] = { 830.005859375,553.3370361328125,6010.0029296875,650.8330078125,5179.9970703125,1204.1700439453125 }, - [13] = { 345.0,230.0,5567.5,985.0,5222.5,1215.0 }, - [14] = { 262.5,175.0,5971.6298828125,975.0,5709.1298828125,1150.0 }, + ['floors'] = 15, ['name'] = "OrgrimmarRaid", ['rzti'] = 1136, ['map_type'] = 0, ['continent'] = 0, ['transform'] = 0, + [1] = { 758.3330078125,504.1669921875,-1239.5830078125,1310.4169921875,-481.25,806.25 }, + [2] = { 950.0150146484375,633.34326171875,-199.9949951171875,1095.828369140625,-1150.010009765625,1729.171630859375 }, + [3] = { 562.5,375.0,-716.25,625.0,-1278.75,1000.0 }, + [4] = { 1141.669921875,761.1132202148438,5162.5,893.4033813476562,4020.830078125,1654.5166015625 }, + [5] = { 1210.416015625,806.25,5000.0,1318.75,3789.583984375,2125.0 }, + [6] = { 362.08984375,241.3931884765625,4526.06005859375,1690.87841796875,4163.97021484375,1932.2716064453125 }, + [7] = { 600.0,400.0,4837.5,1500.0,4237.5,1900.0 }, + [8] = { 885.0,590.0,5467.5,1575.0,4582.5,2165.0 }, + [9] = { 1210.0,806.666748046875,5700.0,1059.1666259765625,4490.0,1865.8333740234375 }, + [10] = { 645.0,430.0001220703125,5875.0,1727.0799560546875,5230.0,2157.080078125 }, + [11] = { 885.0,590.0,5967.5,1200.0,5082.5,1790.0 }, + [12] = { 472.5,315.0,5876.25,960.0,5403.75,1275.0 }, + [13] = { 830.005859375,553.3370361328125,6010.0029296875,650.8330078125,5179.9970703125,1204.1700439453125 }, + [14] = { 345.0,230.0,5567.5,985.0,5222.5,1215.0 }, + [15] = { 262.5,175.0,5971.6298828125,975.0,5709.1298828125,1150.0 }, ['micro'] = { }, @@ -2269,6 +2273,318 @@ do }, } + --WoD +mapData[941] = { + ['floors'] = 21, ['name'] = "FrostfireRidge", ['rzti'] = 1116, ['map_type'] = 0, ['continent'] = 0, ['transform'] = 0, + [1] = { 725.009765625,483.33984375,-5437.4951171875,6523.330078125,-6162.5048828125,7006.669921875 }, + [2] = { 635.009765625,423.33984375,-5479.9951171875,6537.330078125,-6115.0048828125,6960.669921875 }, + [3] = { 360.0,240.0,-5645.0,6710.0,-6005.0,6950.0 }, + [4] = { 615.0,410.0,-5516.0,6540.0,-6131.0,6950.0 }, + [5] = { 277.5,185.0,-4298.75,5350.0,-4576.25,5535.0 }, + [6] = { 442.5,295.0,-3296.25,5475.0,-3738.75,5770.0 }, + [7] = { 825.0,550.0,-4147.5,6650.0,-4972.5,7200.0 }, + [8] = { 825.0,550.0,-4147.5,6650.0,-4972.5,7200.0 }, + [9] = { 375.0,250.0,-3237.5,7360.0,-3612.5,7610.0 }, + [10] = { 555.0,370.0,-3895.0,2510.0,-4450.0,2880.0 }, + [11] = { 368.759765625,245.83984375,-5181.2451171875,2989.580078125,-5550.0048828125,3235.419921875 }, + [12] = { 600.0,400.0,-6075.0,2322.5,-6675.0,2722.5 }, + [13] = { 525.0,350.0,-1962.5,1615.0,-2487.5,1965.0 }, + [14] = { 540.0,360.0,-3092.5,2005.0,-3632.5,2365.0 }, + [15] = { 346.5,231.0,-583.75,1030.75,-930.25,1261.75 }, + [16] = { 258.75,172.5,-1008.1300048828125,4326.25,-1266.8800048828125,4498.75 }, + [17] = { 247.5,165.0,-1013.75,4330.0,-1261.25,4495.0 }, + [18] = { 322.5,215.0,-1413.75,6950.0,-1736.25,7165.0 }, + [19] = { 397.5,265.0,-1375.75,6950.0,-1773.25,7215.0 }, + [20] = { 340.0,226.6669921875,-585.0,6499.16650390625,-925.0,6725.83349609375 }, + [21] = { 470.010009765625,313.33984375,-524.9949951171875,6470.830078125,-995.0050048828125,6784.169921875 }, + ['micro'] = { + + }, + } + mapData[945] = { + ['floors'] = 0, ['name'] = "TanaanJungle", ['rzti'] = 1116, ['map_type'] = 0, ['continent'] = 0, ['transform'] = 0, + [1] = {5100.0,3400.0,-1600.0,5633.3330078125,3500.0,2233.3330078125}, + ['micro'] = { + + }, + } + mapData[946] = { + ['floors'] = 0, ['name'] = "Talador", ['rzti'] = 1116, ['map_type'] = 0, ['continent'] = 0, ['transform'] = 0, + [1] = {5962.4990234375,3975.0,-5833.3330078125,4429.166015625,129.166015625,454.166015625}, + ['micro'] = { + + }, + } + mapData[947] = { + ['floors'] = 0, ['name'] = "ShadowmoonValleyDR", ['rzti'] = 1116, ['map_type'] = 0, ['continent'] = 0, ['transform'] = 0, + [1] = {6700.0,4466.6669921875,-2268.75,2660.4169921875,4431.25,-1806.25}, + ['micro'] = { + + }, + } + mapData[948] = { + ['floors'] = 0, ['name'] = "SpiresOfArak", ['rzti'] = 1116, ['map_type'] = 0, ['continent'] = 0, ['transform'] = 0, + [1] = {6060.416015625,4039.5830078125,-4681.25,1383.3330078125,1379.166015625,-2656.25}, + ['micro'] = { + + }, + } + mapData[949] = { + ['floors'] = 0, ['name'] = "Gorgrond", ['rzti'] = 1116, ['map_type'] = 0, ['continent'] = 0, ['transform'] = 0, + [1] = {8177.08203125,5450.0,-5066.666015625,9589.5830078125,3110.416015625,4139.5830078125}, + ['micro'] = { + + }, + } + mapData[950] = { + ['floors'] = 0, ['name'] = "NagrandDraenor", ['rzti'] = 1116, ['map_type'] = 0, ['continent'] = 0, ['transform'] = 0, + [1] = {5675.0,3783.3330078125,-9308.3330078125,4922.916015625,-3633.3330078125,1139.5830078125}, + ['micro'] = { + + }, + } + + mapData[951] = { + ['floors'] = 0, ['name'] = "TimelessIsle", ['rzti'] = 870, ['map_type'] = 0, ['continent'] = 6, ['transform'] = 0, + [1] = {2400.0,1600.0,4083.333984375,233.333984375,6483.333984375,-1366.666015625}, + ['micro'] = { + + }, + } + mapData[953] = { + ['floors'] = 15, ['name'] = "OrgrimmarRaid", ['rzti'] = 1136, ['map_type'] = 0, ['continent'] = 0, ['transform'] = 0, + [1] = { 758.3330078125,504.1669921875,-1239.5830078125,1310.4169921875,-481.25,806.25 }, + [2] = { 950.0150146484375,633.34326171875,-199.9949951171875,1095.828369140625,-1150.010009765625,1729.171630859375 }, + [3] = { 562.5,375.0,-716.25,625.0,-1278.75,1000.0 }, + [4] = { 1141.669921875,761.1132202148438,5162.5,893.4033813476562,4020.830078125,1654.5166015625 }, + [5] = { 1210.416015625,806.25,5000.0,1318.75,3789.583984375,2125.0 }, + [6] = { 362.08984375,241.3931884765625,4526.06005859375,1690.87841796875,4163.97021484375,1932.2716064453125 }, + [7] = { 600.0,400.0,4837.5,1500.0,4237.5,1900.0 }, + [8] = { 885.0,590.0,5467.5,1575.0,4582.5,2165.0 }, + [9] = { 1210.0,806.666748046875,5700.0,1059.1666259765625,4490.0,1865.8333740234375 }, + [10] = { 645.0,430.0001220703125,5875.0,1727.0799560546875,5230.0,2157.080078125 }, + [11] = { 885.0,590.0,5967.5,1200.0,5082.5,1790.0 }, + [12] = { 472.5,315.0,5876.25,960.0,5403.75,1275.0 }, + [13] = { 830.005859375,553.3370361328125,6010.0029296875,650.8330078125,5179.9970703125,1204.1700439453125 }, + [14] = { 345.0,230.0,5567.5,985.0,5222.5,1215.0 }, + [15] = { 262.5,175.0,5971.6298828125,975.0,5709.1298828125,1150.0 }, + ['micro'] = { + + }, + } + mapData[955] = { + ['floors'] = 0, ['name'] = "CelestialChallenge", ['rzti'] = 1161, ['map_type'] = 0, ['continent'] = 0, ['transform'] = 0, + [1] = {2400.0,1600.0,4083.333984375,233.333984375,6483.333984375,-1366.666015625}, + ['micro'] = { + + }, + } +--Draenor Map info may not be 100% accurate + mapData[962] = { + ['floors'] = 0, ['name'] = "Draenor", ['rzti'] = 1116, ['map_type'] = 0, ['continent'] = 0, ['transform'] = 0, + [1] = {22735.7822265625,15157.1875,-12242.34375,11193.0,10493.4384765625,-3964.1875}, + ['micro'] = { + + }, + } + mapData[964] = { + ['floors'] = 1, ['name'] = "OgreMines", ['rzti'] = 1175, ['map_type'] = 1, ['continent'] = 0, ['transform'] = 0, + [1] = { 1387.5,925.0,918.75,1675.0,-468.75,2600.0 }, + ['micro'] = { + + }, + } + mapData[969] = { + ['floors'] = 3, ['name'] = "ShadowmoonDungeon", ['rzti'] = 1176, ['map_type'] = 1, ['continent'] = 0, ['transform'] = 0, + [1] = { 658.75,439.166748046875,339.7560119628906,1580.4166259765625,-318.9939880371094,2019.5833740234375 }, + [2] = { 825.0,550.0,1025.0,1567.5,200.0,2117.5 }, + [3] = { 250.0,166.666748046875,950.0,1624.1666259765625,700.0,1790.8333740234375 }, + ['micro'] = { + + }, + } + mapData[970] = { + ['floors'] = 0, ['name'] = "TanaanJungleIntro", ['rzti'] = 1265, ['map_type'] = 0, ['continent'] = 0, ['transform'] = 0, + [1] = { 454.759765625,303.1728515625,2720.3798828125,4359.99853515625,2265.6201171875,4663.17138671875 }, + ['micro'] = { + + }, + } + mapData[971] = { + ['floors'] = 0, ['name'] = "garrisonsmvalliance", ['rzti'] = 1116, ['map_type'] = 0, ['continent'] = 0, ['transform'] = 0, + [1] = {683.333984375,456.25,-545.833984375,2091.6669921875,137.5,1635.4169921875}, + ['micro'] = { + + }, + } + mapData[973] = { + ['floors'] = 0, ['name'] = "garrisonsmvalliance_tier1", ['rzti'] = 1116, ['map_type'] = 0, ['continent'] = 0, ['transform'] = 0, + [1] = {683.333984375,456.25,-545.833984375,2091.6669921875,137.5,1635.4169921875}, + ['micro'] = { + + }, + } + mapData[974] = { + ['floors'] = 0, ['name'] = "garrisonsmvalliance_tier3", ['rzti'] = 1116, ['map_type'] = 0, ['continent'] = 0, ['transform'] = 0, + [1] = {683.333984375,456.25,-545.833984375,2091.6669921875,137.5,1635.4169921875}, + ['micro'] = { + + }, + } + mapData[975] = { + ['floors'] = 0, ['name'] = "garrisonsmvalliance_tier4", ['rzti'] = 1116, ['map_type'] = 0, ['continent'] = 0, ['transform'] = 0, + [1] = {683.333984375,456.25,-545.833984375,2091.6669921875,137.5,1635.4169921875}, + ['micro'] = { + + }, + } + mapData[976] = { + ['floors'] = 0, ['name'] = "garrisonffhorde", ['rzti'] = 1116, ['map_type'] = 0, ['continent'] = 0, ['transform'] = 0, + [1] = {702.0830078125,468.75,-4885.416015625,5814.5830078125,-4183.3330078125,5345.8330078125}, + ['micro'] = { + + }, + } + mapData[978] = { + ['floors'] = 0, ['name'] = "Ashran", ['rzti'] = 1116, ['map_type'] = 0, ['continent'] = 0, ['transform'] = 0, + [1] = {3122.91796875,2081.25,2672.916015625,5577.0830078125,5795.833984375,3495.8330078125}, + ['micro'] = { + + }, + } + mapData[980] = { + ['floors'] = 0, ['name'] = "garrisonffhorde_tier1", ['rzti'] = 1116, ['map_type'] = 0, ['continent'] = 0, ['transform'] = 0, + [1] = {702.0830078125,468.75,-4885.416015625,5814.5830078125,-4183.3330078125,5345.8330078125}, + ['micro'] = { + + }, + } + mapData[981] = { + ['floors'] = 0, ['name'] = "garrisonffhorde_tier3", ['rzti'] = 1116, ['map_type'] = 0, ['continent'] = 0, ['transform'] = 0, + [1] = {702.0830078125,468.75,-4885.416015625,5814.5830078125,-4183.3330078125,5345.8330078125}, + ['micro'] = { + + }, + } + mapData[982] = { + ['floors'] = 0, ['name'] = "garrisonffhorde_tier4", ['rzti'] = 1116, ['map_type'] = 0, ['continent'] = 0, ['transform'] = 0, + [1] = {702.0830078125,468.75,-4885.416015625,5814.5830078125,-4183.3330078125,5345.8330078125}, + ['micro'] = { + + }, + } + mapData[983] = { + ['floors'] = 0, ['name'] = "DefenseofKarabor", ['rzti'] = 1277, ['map_type'] = 5, ['continent'] = 0, ['transform'] = 0, + [1] = {2031.25,1354.1669921875,1608.333984375,1264.5830078125,3639.583984375,-89.583984375}, + ['micro'] = { + + }, + } + mapData[984] = { + ['floors'] = 1, ['name'] = "DraenorAuchindoun", ['rzti'] = 1182, ['map_type'] = 1, ['continent'] = 0, ['transform'] = 0, + [1] = { 1102.5,735.0,-2398.75,1415.0,-3501.25,2150.0 }, + ['micro'] = { + + }, + } + mapData[986] = { + ['floors'] = 0, ['name'] = "TaladorScenario", ['rzti'] = 1207, ['map_type'] = 5, ['continent'] = 0, ['transform'] = 0, + [1] = {2599.9990234375,1733.3330078125,-4766.666015625,4333.3330078125,-2166.6669921875,2600.0}, + ['micro'] = { + + }, + } + mapData[987] = { + ['floors'] = 1, ['name'] = "IronDocks", ['rzti'] = 1195, ['map_type'] = 1, ['continent'] = 0, ['transform'] = 0, + [1] = { 1132.5,755.0,1332.5,6327.5,200.0,7082.5 }, + ['micro'] = { + + }, + } + mapData[988] = { + ['floors'] = 5, ['name'] = "FoundryRaid", ['rzti'] = 1205, ['map_type'] = 2, ['continent'] = 0, ['transform'] = 0, + [1] = { 937.75,625.1667213439941,-3001.0,-13.83359146118164,-3938.75,611.3331298828125 }, + [2] = { 802.5,535.0,-3098.75,-50.0,-3901.25,485.0 }, + [3] = { 562.5,375.0,-3097.25,80.0,-3659.75,455.0 }, + [4] = { 688.7607421875,459.1739807128906,-2939.36962890625,222.91299438476562,-3628.13037109375,682.0869750976562 }, + [5] = { 450.62109375,300.4139709472656,-3263.189453125,374.1679992675781,-3713.810546875,674.5819702148438 }, + ['micro'] = { + + }, + } + mapData[989] = { + ['floors'] = 2, ['name'] = "SpiresofArakDungeon", ['rzti'] = 1209, ['map_type'] = 1, ['continent'] = 0, ['transform'] = 0, + [1] = { 792.5054931640625,528.3370361328125,-1382.4971923828125,648.3330078125,-2175.002685546875,1176.6700439453125 }, + [2] = { 337.5,225.0,-1556.25,750.0,-1893.75,975.0 }, + ['micro'] = { + + }, + } + mapData[990] = { + ['floors'] = 0, ['name'] = "garrisonffhorde_tier2", ['rzti'] = 1116, ['map_type'] = 0, ['continent'] = 0, ['transform'] = 0, + [1] = {702.0830078125,468.75,-4885.416015625,5814.5830078125,-4183.3330078125,5345.8330078125}, + ['micro'] = { + + }, + } + mapData[991] = { + ['floors'] = 0, ['name'] = "garrisonsmvalliance_tier2", ['rzti'] = 1116, ['map_type'] = 0, ['continent'] = 0, ['transform'] = 0, + [1] = {683.333984375,456.25,-545.833984375,2091.6669921875,137.5,1635.4169921875}, + ['micro'] = { + + }, + } + mapData[992] = { + ['floors'] = 0, ['name'] = "BlastedLands_terrain1", ['rzti'] = 0, ['map_type'] = 0, ['continent'] = 1, ['transform'] = 0, + [1] = {3662.5,2441.66796875,1193.75,-10583.33203125,4856.25,-13025.0}, + ['micro'] = { + + }, + } + mapData[993] = { + ['floors'] = 4, ['name'] = "BlackrockTrainDepotDungeon", ['rzti'] = 1208, ['map_type'] = 1, ['continent'] = 0, ['transform'] = 0, + [1] = { 318.75,212.5,-1465.6300048828125,1593.75,-1784.3800048828125,1806.25 }, + [2] = { 318.75,212.5,-1465.6300048828125,1593.75,-1784.3800048828125,1806.25 }, + [3] = { 295.0,196.666748046875,-1740.0,1551.6666259765625,-2035.0,1748.3333740234375 }, + [4] = { 270.0,180.0,-1505.0,1560.0,-1775.0,1740.0 }, + ['micro'] = { + + }, + } + mapData[994] = { + ['floors'] = 5, ['name'] = "HighmaulRaid", ['rzti'] = 1228, ['map_type'] = 2, ['continent'] = 0, ['transform'] = 0, + [1] = { 247.5,165.0,-7446.25,3380.0,-7693.75,3545.0 }, + [2] = { 400.0,266.66650390625,-7375.0,3336.666748046875,-7775.0,3603.333251953125 }, + [3] = { 660.0,440.0,-8195.3095703125,3755.0,-8855.3095703125,4195.0 }, + [4] = { 937.5,625.0,-8056.25,3725.0,-8993.75,4350.0 }, + [5] = { 862.5,575.0,-8118.75,3775.0,-8981.25,4350.0 }, + ['micro'] = { + + }, + } + mapData[995] = { + ['floors'] = 3, ['name'] = "UpperBlackrockSpire", ['rzti'] = 1358, ['map_type'] = 1, ['continent'] = 0, ['transform'] = 0, + [1] = { 886.8390140533447,591.2260131835938,876.2520141601562,-286.8280029296875,-10.586999893188477,304.39801025390625 }, + [2] = { 886.8390140533447,591.2260131835938,876.2520141601562,-286.8280029296875,-10.586999893188477,304.39801025390625 }, + [3] = { 886.8390140533447,591.2260131835938,876.2520141601562,-286.8280029296875,-10.586999893188477,304.39801025390625 }, + ['micro'] = { + + }, + } + mapData[1008] = { + ['floors'] = 0, ['name'] = "OvergrownOutpost", ['rzti'] = 1279, ['map_type'] = 1, ['continent'] = 0, ['transform'] = 0, + [1] = {1418.75,945.833984375,-2354.1669921875,956.25,-935.4169921875,10.416015625}, + ['micro'] = { + + }, + } + mapData[1009] = { + ['floors'] = 0, ['name'] = "AshranAllianceFactionHub", ['rzti'] = 1116, ['map_type'] = 0, ['continent'] = 0, ['transform'] = 0, + [1] = {687.5,458.3330078125,3625.0,3908.3330078125,4312.5,3450.0}, + ['micro'] = { + + }, + } -- Dustwallow Transition patch for client that havent been patched SetMapByID(141) local dwMap = GetMapInfo() @@ -2290,29 +2606,41 @@ do end -- non terrain style remap for battle of gilneas idToMap["BattleforGilneas"] = idToMap["GilneasCity"] - + + --Takes MapID and ZoneNames from GetMapZones() and returns them in a table of {[MapID]=ZoneName} + local function ZoneInfo(...) + local t = {} + for i=1, select("#", ...), 2 do + local MapID = select(i, ...) + local ZoneName = select(i+1, ...) + t[MapID] = ZoneName + end + return t + end + -- Build the localized name list. - local continentList = {GetMapContinents()} - for cID = 1, #continentList do - SetMapZoom(cID, 0) - local mapfile = GetMapInfo() - local cname = continentList[cID] - mapToLocal[mapfile] = cname - localToMap[cname] = mapfile - mapData[idToMap[mapfile]].continent = cID - for zID, zname in ipairs({GetMapZones(cID)}) do - SetMapZoom(cID, zID) + for cID_new, cname in next, {GetMapContinents()} do + if type(cname) == "string" then -- This table is 50% string and 50% number in Patch 6.0.2+ + local cID = cID_new / 2 -- Filtering to 'string' types and dividing the index by 2 fixes the issue + SetMapZoom(cID, 0) local mapfile = GetMapInfo() - -- L: X1, T: Y1, R: X2, B: Y2 New GetCurrentMapZone - mapToLocal[mapfile] = zname - localToMap[zname] = mapfile + mapToLocal[mapfile] = cname + localToMap[cname] = mapfile mapData[idToMap[mapfile]].continent = cID - -- Phasing Hacks - local mstart,e = string.find(mapfile,"_terrain%d") - if mstart then - local rmap = mapfile:sub(1,mstart-1) - mapToLocal[rmap] = zname - mapData[idToMap[rmap]].continent = cID + for zID, zname in pairs(ZoneInfo(GetMapZones(cID))) do + SetMapByID(zID) + local mapfile = GetMapInfo() + -- L: X1, T: Y1, R: X2, B: Y2 New GetCurrentMapZone + mapToLocal[mapfile] = zname + localToMap[zname] = mapfile + mapData[idToMap[mapfile]].continent = cID + -- Phasing Hacks + local mstart,e = string.find(mapfile,"_terrain%d") + if mstart then + local rmap = mapfile:sub(1,mstart-1) + mapToLocal[rmap] = zname + mapData[idToMap[rmap]].continent = cID + end end end end @@ -2845,20 +3173,22 @@ end) --@alpha@ function lib:Test() -- Validate map files are all present. - for continent in pairs({GetMapContinents()}) do - local zones = { GetMapZones(continent) } - print("Continent "..continent) - for zone, name in pairs(zones) do - SetMapZoom(continent, zone) - local mapFile = GetMapInfo() - local area_id = GetCurrentMapAreaID() - local w,h = self:MapArea(mapFile) - local aid = self:MapAreaId(mapFile) - if w == 0 and h == 0 then - error("Failed to find map "..mapFile) - end - if area_id ~= aid then - error(mapFile.." area id mismatch") + for cID_new, cname in next, {GetMapContinents()} do + if type(cname) == "string" then + local cID = cID_new / 2 + print("Continent "..cID) + for zID, zname in pairs(ZoneInfo(GetMapZones(cID))) do + SetMapByID(zID) + local mapFile = GetMapInfo() + local area_id = GetCurrentMapAreaID() + local w, h = self:MapArea(mapFile) + local aid = self:MapAreaId(mapFile) + if w == 0 and h == 0 then + error("Failed to find map "..mapFile) + end + if area_id ~= aid then + error(mapFile.." area id mismatch") + end end end end -- 1.7.9.5