2010-11-08 14:28:59 +01:00
QuestHelper_File [ " pathfinding.lua " ] = " 4.0.1.$svnversion$ "
2010-10-24 23:17:33 +02:00
QuestHelper_Loadtime [ " pathfinding.lua " ] = GetTime ( )
local IRONFORGE_PORTAL = { 25 , 0.255 , 0.084 , " Ironforge portal site " }
local STORMWIND_CITY_PORTAL = QuestHelper_ConvertCoordsToWrath ( { 36 , 0.387 , 0.802 , " Stormwind City portal site " } , true ) -- Old pre-Wrath coordinates. I could fix it, but . . . meh.
local DARNASSUS_PORTAL = { 21 , 0.397 , 0.824 , " Darnassus portal site " }
local EXODAR_PORTAL = { 12 , 0.476 , 0.598 , " Exodar portal site " }
local SHATTRATH_CITY_PORTAL = { 60 , 0.530 , 0.492 , " Shattrath City portal site " }
local DALARAN_PORTAL = { 67 , 0.500 , 0.394 , " Dalaran portal site " }
local MOONGLADE_PORTAL = { 20 , 0.563 , 0.320 , " Moonglade portal site " }
local SILVERMOON_CITY_PORTAL = { 52 , 0.583 , 0.192 , " Silvermoon City portal site " }
local UNDERCITY_PORTAL = { 45 , 0.846 , 0.163 , " Undercity portal site " }
local ORGRIMMAR_PORTAL = { 1 , 0.386 , 0.859 , " Orgrimmar portal site " }
local THUNDER_BLUFF_PORTAL = { 23 , 0.222 , 0.168 , " Thunder Bluff portal site " }
local BLASTED_LANDS_PORTAL = { 33 , 0.575 , 0.511 , " Blasted Lands portal site " }
local static_horde_routes =
{
2010-12-12 01:55:58 +01:00
{ { 7 , 0.505 , 0.124 } , { 38 , 0.313 , 0.303 } , 210 } , -- Durotar <--> Grom'gol Base Camp
{ { 38 , 0.316 , 0.289 } , { 43 , 0.621 , 0.591 } , 210 } , -- Grom'gol Base Camp <--> Tirisfal Glades
{ { 43 , 0.605 , 0.587 } , { 7 , 0.509 , 0.141 } , 210 } , -- Tirisfal Glades <--> Durotar
2010-10-24 23:17:33 +02:00
{ { 45 , 0.549 , 0.11 } , { 52 , 0.495 , 0.148 } , 60 } , -- Undercity <--> Silvermoon City
2010-12-12 01:55:58 +01:00
{ { 7 , 0.413 , 0.178 } , { 65 , 0.414 , 0.536 } , 210 } , -- Durotar <--> Warsong Hold
2010-10-24 23:17:33 +02:00
{ { 43 , 0.591 , 0.590 } , { 70 , 0.777 , 0.283 } , 210 } , -- Tirisfal Glades <--> Vengeance Landing
{ { 1 , 0.381 , 0.857 } , BLASTED_LANDS_PORTAL , 60 , true , level_limit = 58 } , -- Orgrimmar --> Blasted Lands
{ { 23 , 0.231 , 0.135 } , BLASTED_LANDS_PORTAL , 60 , true , level_limit = 58 } , -- Thunder Bluff --> Blasted Lands
{ { 45 , 0.852 , 0.170 } , BLASTED_LANDS_PORTAL , 60 , true , level_limit = 58 } , -- Undercity --> Blasted Lands
{ { 52 , 0.584 , 0.210 } , BLASTED_LANDS_PORTAL , 60 , true , level_limit = 58 } , -- Silvermoon --> Blasted Lands
}
local static_alliance_routes =
{
{ QuestHelper_ConvertCoordsToWrath ( { 36 , 0.639 , 0.083 } , true ) , { 25 , 0.764 , 0.512 } , 180 } , -- Deeprun Tram
2010-12-02 03:06:03 +01:00
{ { 10 , 0.718 , 0.565 } , { 51 , 0.047 , 0.636 } , 210 } , -- Theramore Isle <--> Menethil Harbor
{ { 36 , 0.228 , 0.560 } , { 16 , 0.323 , 0.441 } , 210 } , -- Stormwind City <--> Auberdine
2010-10-24 23:17:33 +02:00
{ { 36 , 0.183 , 0.255 } , { 65 , 0.597 , 0.694 } , 210 } , -- Stormwind City <--> Valiance Keep
{ { 51 , 0.047 , 0.571 } , { 70 , 0.612 , 0.626 } , 210 } , -- Menethil <--> Daggercap Bay
{ { 21 , 0.405 , 0.817 } , BLASTED_LANDS_PORTAL , 60 , true , level_limit = 58 } , -- Darnassus --> Blasted Lands
{ { 12 , 0.462 , 0.609 } , BLASTED_LANDS_PORTAL , 60 , true , level_limit = 58 } , -- Exodar --> Blasted Lands
{ { 25 , 0.273 , 0.071 } , BLASTED_LANDS_PORTAL , 60 , true , level_limit = 58 } , -- Ironforge --> Blasted Lands
{ { 36 , 0.490 , 0.874 } , BLASTED_LANDS_PORTAL , 60 , true , level_limit = 58 } , -- Stormwind --> Blasted Lands
2010-12-11 08:21:30 +01:00
{ { 207 , 0.54 , 0.60 } , { 205 , 0.30 , 0.72 } , 10 } , -- Gilneas Zone <--> Greymane Court, Gilneas City. Exists solely to fix some pathing crashes. (We want to make an adjustment to the coords though.)
{ { 207 , 0.55 , 0.42 } , { 205 , 0.28 , 0.21 } , 5 } , -- Gilneas Zone <--> Cathedral Square, Gilneas City. Exists solely to fix some pathing crashes. (We want to make an adjustment to the coords though.)
{ { 207 , 0.66 , 0.42 } , { 205 , 0.67 , 0.20 } , 5 } , -- Gilneas Zone <--> Merchant Square, Gilneas City. Exists solely to fix some pathing crashes. (We want to make an adjustment to the coords though.)
{ { 207 , 0.68 , 0.62 } , { 205 , 0.69 , 0.82 } , 10 } , -- Gilneas Zone <--> Military District, Gilneas City. Exists solely to fix some pathing crashes. (We want to make an adjustment to the coords though.)
{ { 207 , 0.42 , 0.36 } , { 24 , 0.52 , 0.89 } , 86400 } , -- Gilneas Zone <--> Teldrassil. Exists solely to fix some pathing crashes. 24-hour boat ride :D (This will be deleted later, when we can create the "official" path.)
2010-10-24 23:17:33 +02:00
}
local static_shared_routes =
{
{ { 40 , 0.318 , 0.503 } , { 32 , 0.347 , 0.84 } , 130 } , -- Burning Steppes <--> Searing Gorge
-- More Alliance routes than anything, but without them theres no valid path to these areas for Horde characters.
{ { 24 , 0.559 , 0.896 } , { 21 , 0.305 , 0.414 } , 5 } , -- Rut'Theran Village <--> Darnassus
{ { 16 , 0.332 , 0.398 } , { 24 , 0.548 , 0.971 } , 210 } , -- Auberdine <--> Rut'Theran Village
{ { 16 , 0.306 , 0.409 } , { 3 , 0.2 , 0.546 } , 210 } , -- Auberdine <--> Azuremyst Isle
-- Route to new zone. Not valid, exists only to keep routing from exploding if you don't have the flight routes there.
{ { 41 , 0.5 , 0.5 } , { 64 , 0.5 , 0.5 } , 7200 } , -- Eversong Woods <--> Sunwell
{ { 70 , 0.235 , 0.578 } , { 68 , 0.496 , 0.784 } , 210 } , -- Kamagua <--> Moa'ki
{ { 65 , 0.789 , 0.536 } , { 68 , 0.480 , 0.787 } , 210 } , -- Unu'pe <--> Moa'ki
{ { 67 , 0.559 , 0.467 } , { 66 , 0.158 , 0.428 } , 60 , true } , -- Dalaran --> Violet Stand
{ { 66 , 0.157 , 0.425 } , { 67 , 0.559 , 0.468 } , 60 , true } , -- Violent Stand --> Dalaran (slightly different coordinates, may be important once solid walls are in)
{ { 34 , 0.817 , 0.461 } , { 78 , 0.492 , 0.312 } , 86400 } , -- EPL Ebon Hold <--> Scarlet Enclave Ebon Hold. Exists solely to fix some pathing crashes. 24-hour boat ride :D
{ { 67 , 0.256 , 0.515 } , { 8 , 0.659 , 0.498 } , 5 , true } , -- Dalaran --> CoT
2010-12-10 04:15:15 +01:00
{ { 178 , 0.83 , 0.34 } , { 167 , 0.45 , 0.23 } , 210 , true } , -- Vash'jir --> Vash'jir Kelp Forest (One time, One way)
{ { 167 , 0.69 , 0.60 } , { 178 , 0.80 , 0.30 } , 5 } , -- Vash'jir Kelp Forest <--> Vash'jir
{ { 178 , 0.84 , 0.23 } , { 62 , 0.37 , 0.58 } , 5 } , -- Vash'jir <--> The Great Sea (EK Continent, zone 0)
{ { 62 , 0.39 , 0.60 } , { 28 , 0.00 , 0.20 } , 5 } , -- The Great Sea (EK Continent, zone 0) <--> Dun Morogh
{ { 167 , 0.40 , 0.64 } , { 171 , 0.56 , 0.14 } , 5 } , -- VKF <--> SE
{ { 178 , 0.50 , 0.28 } , { 165 , 0.72 , 0.04 } , 5 } , -- Vash <--> Vash'jir Depths
2010-12-11 08:21:30 +01:00
{ { 198 , 0.85 , 0.41 } , { 19 , 0.58 , 0.91 } , 5 } , -- Hyjal <--> Winterspring
2010-12-12 01:55:58 +01:00
{ { 185 , 0.85 , 0.41 } , { 19 , 0.58 , 0.91 } , 5 } , -- Hyjal <--> Winterspring
2010-12-10 04:15:15 +01:00
{ { 164 , 0.84 , 0.41 } , { 8 , 0.37 , 0.82 } , 5 } , -- Uldum <--> Tanaris
{ { 164 , 0.70 , 0.22 } , { 8 , 0.25 , 0.66 } , 5 } , -- Uldum <--> Tanaris
2010-12-11 08:21:30 +01:00
{ { 11 , 0.638 , 0.387 } , { 174 , 0.257 , 0.73 } , 210 } , -- Ratchet <--> Booty Bay
{ { 174 , 0.61 , 0.20 } , { 168 , 0.50 , 0.74 } , 5 } , -- CoS <--> NS (Both part of STV)
{ { 35 , 0.45 , 0.85 } , { 169 , 0.60 , 0.09 } , 5 } , -- Silverpine <--> Ruins of Gilneas
{ { 169 , 0.5 , 0.5 } , { 170 , 0.5 , 0.5 } , 5 } , -- Ruins of Gilneas <--> Ruins of Gilneas City (Meta info, map doesn't change properly as of 2010-12-11-0156UET)
2010-12-13 03:33:21 +01:00
{ { 179 , 0.5 , 0.5 } , { 180 , 0.5 , 0.5 } , 86400 } , -- DeepHolm <--> Kezan (Meta info for when major error is fixed.)
2010-12-16 04:23:48 +01:00
{ { 181 , 0.24 , 0.77 } , { 180 , 0.22 , 0.17 } , 90 } , -- The Lost Isles <--> Kezan (Meta info for when major error is fixed.)
{ { 208 , 0.24 , 0.77 } , { 180 , 0.22 , 0.17 } , 90 } , -- The Lost Isles <--> Kezan (Meta info for when major error is fixed.)
{ { 209 , 0.24 , 0.77 } , { 180 , 0.22 , 0.17 } , 90 } , -- The Lost Isles <--> Kezan (Meta info for when major error is fixed.)
2010-12-13 03:33:21 +01:00
{ { 181 , 0.5 , 0.5 } , { 182 , 0.5 , 0.5 } , 86400 } , -- The Lost Isles <--> The Maelstrom (Meta info for when major error is fixed.)
{ { 183 , 0.5 , 0.5 } , { 182 , 0.5 , 0.5 } , 86400 } , -- The Maelstrom Continent <--> The Maelstrom (Meta info for when major error is fixed.)
{ { 183 , 0.5 , 0.5 } , { 1 , 0.5 , 0.5 } , 86400 } , -- The Maelstrom Continent <--> Orgrimmar (Meta info for when major error is fixed.)
2010-12-11 08:21:30 +01:00
2010-10-24 23:17:33 +02:00
-- Wrath instance entrances
{ { 80 , 0.693 , 0.730 } , { 70 , 0.573 , 0.467 } , 5 } , -- UK
{ { 86 , 0.362 , 0.880 } , { 65 , 0.275 , 0.260 } , 5 } , -- Nexus
{ { 92 , 0.094 , 0.933 } , { 68 , 0.260 , 0.508 } , 5 } , -- AN
{ { 94 , 0.900 , 0.791 } , { 68 , 0.285 , 0.517 } , 5 } , -- AK
{ { 96 , 0.294 , 0.810 } , { 75 , 0.286 , 0.869 } , 5 } , -- Draktharon
{ { 100 , 0.469 , 0.780 } , { 67 , 0.679 , 0.694 } , 5 } , -- VH
{ { 102 , 0.590 , 0.309 } , { 75 , 0.764 , 0.214 } , 5 } , -- Gundrak NW
{ { 102 , 0.344 , 0.312 } , { 75 , 0.810 , 0.286 } , 5 } , -- Gundrak SE
{ { 104 , 0.344 , 0.362 } , { 73 , 0.397 , 0.269 } , 5 } , -- HoS
{ { 106 , 0.020 , 0.538 } , { 73 , 0.453 , 0.216 } , 5 } , -- HoL
{ { 110 , 0.613 , 0.476 } , { 65 , 0.275 , 0.266 } , 5 } , -- Oculus
{ { 120 , 0.875 , 0.712 } , { 8 , 0.614 , 0.626 } , 5 } , -- CoT
{ { 124 , 0.445 , 0.161 } , { 70 , 0.573 , 0.467 } , 5 } , -- UP
{ { 126 , 0.500 , 0.500 } , { 74 , 0.500 , 0.115 } , 5 } , -- VoA, zone-in link is incorrect
{ { 128 , 0.500 , 0.500 } , { 68 , 0.873 , 0.510 } , 5 } , -- Naxx, zone-in link is incorrect (but might be close)
{ { 140 , 0.635 , 0.501 } , { 68 , 0.600 , 0.566 } , 5 } , -- Sarth
{ { 142 , 0.500 , 0.500 } , { 65 , 0.275 , 0.267 } , 5 } , -- Malygos, zone-in link is incorrect (not that it matters with malygos)
{ { 144 , 0.500 , 0.500 } , { 73 , 0.416 , 0.179 } , 5 } , -- Ulduar, zone-in link is incorrect
{ { 155 , 0.426 , 0.203 } , { 71 , 0.548 , 0.899 } , 5 } , -- Forge of Souls
{ { 157 , 0.410 , 0.801 } , { 71 , 0.547 , 0.916 } , 5 } , -- Pit of Saron
-- Wrath in-zone links, all currently incorrect
-- UK
{ { 80 , 0.500 , 0.500 } , { 82 , 0.500 , 0.500 } , 5 } ,
{ { 80 , 0.500 , 0.500 } , { 84 , 0.500 , 0.500 } , 5 } ,
-- AN
{ { 88 , 0.500 , 0.500 } , { 90 , 0.500 , 0.500 } , 5 } ,
{ { 88 , 0.500 , 0.500 } , { 92 , 0.500 , 0.500 } , 5 } ,
-- Drak
{ { 96 , 0.500 , 0.500 } , { 98 , 0.500 , 0.500 } , 5 } ,
-- HoL
{ { 106 , 0.500 , 0.500 } , { 108 , 0.500 , 0.500 } , 5 } ,
-- Oculus
{ { 110 , 0.500 , 0.500 } , { 112 , 0.500 , 0.500 } , 5 } ,
{ { 110 , 0.500 , 0.500 } , { 114 , 0.500 , 0.500 } , 5 } ,
{ { 110 , 0.500 , 0.500 } , { 116 , 0.500 , 0.500 } , 5 } ,
-- CoT
{ { 120 , 0.500 , 0.500 } , { 118 , 0.500 , 0.500 } , 5 } ,
-- UP
{ { 122 , 0.500 , 0.500 } , { 124 , 0.500 , 0.500 } , 5 } ,
-- Naxx
{ { 128 , 0.500 , 0.500 } , { 130 , 0.500 , 0.500 } , 5 } ,
{ { 128 , 0.500 , 0.500 } , { 132 , 0.500 , 0.500 } , 5 } ,
{ { 128 , 0.500 , 0.500 } , { 134 , 0.500 , 0.500 } , 5 } ,
{ { 128 , 0.500 , 0.500 } , { 136 , 0.500 , 0.500 } , 5 } ,
{ { 128 , 0.500 , 0.500 } , { 138 , 0.500 , 0.500 } , 5 } ,
-- Ulduar
{ { 144 , 0.500 , 0.500 } , { 146 , 0.500 , 0.500 } , 5 } ,
{ { 144 , 0.500 , 0.500 } , { 148 , 0.500 , 0.500 } , 5 } ,
{ { 144 , 0.500 , 0.500 } , { 150 , 0.500 , 0.500 } , 5 } ,
{ { 144 , 0.500 , 0.500 } , { 152 , 0.500 , 0.500 } , 5 } ,
}
-- Darkportal is handled specially, depending on whether or not you're level 58+ or not.
local dark_portal_route = { { 33 , 0.587 , 0.599 } , { 56 , 0.898 , 0.502 } , 60 }
local static_zone_transitions =
{
2010-12-12 01:55:58 +01:00
{ 2 , 11 , 0.687 , 0.872 } , -- Ashenvale <--> Northern Barrens
2010-10-24 23:17:33 +02:00
{ 2 , 6 , 0.423 , 0.711 } , -- Ashenvale <--> Stonetalon Mountains
{ 2 , 15 , 0.954 , 0.484 } , -- Ashenvale <--> Azshara
2010-12-12 01:55:58 +01:00
{ 15 , 1 , 0.26 , 0.79 } , -- Azshara <--> Orgrimmar
2010-10-24 23:17:33 +02:00
{ 2 , 16 , 0.289 , 0.144 } , -- Ashenvale <--> Darkshore
{ 2 , 13 , 0.557 , 0.29 } , -- Ashenvale <--> Felwood
{ 21 , 24 , 0.894 , 0.358 } , -- Darnassus <--> Teldrassil
2010-12-12 01:55:58 +01:00
{ 22 , 11 , 0.697 , 0.604 } , -- Mulgore <--> Southern Barrens
2010-10-24 23:17:33 +02:00
{ 22 , 23 , 0.376 , 0.33 } , -- Mulgore <--> Thunder Bluff
{ 22 , 23 , 0.403 , 0.193 } , -- Mulgore <--> Thunder Bluff
{ 3 , 12 , 0.247 , 0.494 } , -- Azuremyst Isle <--> The Exodar
{ 3 , 12 , 0.369 , 0.469 } , -- Azuremyst Isle <--> The Exodar
{ 3 , 12 , 0.310 , 0.487 } , -- Azuremyst Isle <--> The Exodar
{ 3 , 12 , 0.335 , 0.494 } , -- Azuremyst Isle <--> The Exodar
{ 3 , 9 , 0.42 , 0.013 } , -- Azuremyst Isle <--> Bloodmyst Isle
{ 4 , 6 , 0.539 , 0.032 } , -- Desolace <--> Stonetalon Mountains
{ 4 , 17 , 0.428 , 0.976 } , -- Desolace <--> Feralas
{ 5 , 18 , 0.865 , 0.115 } , -- Silithus <--> Un'Goro Crater
{ 7 , 11 , 0.341 , 0.424 } , -- Durotar <--> The Barrens
{ 7 , 1 , 0.455 , 0.121 } , -- Durotar <--> Orgrimmar
{ 8 , 18 , 0.269 , 0.516 } , -- Tanaris <--> Un'Goro Crater
{ 8 , 14 , 0.512 , 0.21 } , -- Tanaris <--> Thousand Needles
2010-12-12 01:55:58 +01:00
{ 10 , 14 , 0.50 , 0.94 } , -- Dustwallow Marsh <--> Thousand Needles
{ 10 , 203 , 0.287 , 0.472 } , -- Dustwallow Marsh <--> Southern Barrens
{ 10 , 203 , 0.531 , 0.104 } , -- Dustwallow Marsh <--> Southern Barrens
{ 203 , 11 , 0.367 , 0.048 } , -- Southern Barrens <--> Northern Barrens
{ 11 , 14 , 0.43 , 0.96 } , -- Southern Barrens <--> Thousand Needles
2010-10-24 23:17:33 +02:00
{ 13 , 19 , 0.685 , 0.06 } , -- Felwood <--> Winterspring
{ 13 , 20 , 0.669 , - 0.063 } , -- Felwood <--> Moonglade
2010-12-12 01:55:58 +01:00
{ 7 , 1 , 0.37 , 0.02 } , -- Durotar <--> Orgrimmar
2010-10-24 23:17:33 +02:00
{ 17 , 14 , 0.899 , 0.46 } , -- Feralas <--> Thousand Needles
2010-12-12 01:55:58 +01:00
{ 6 , 203 , 0.29 , 0.08 } , -- Stonetalon Mountains <--> The Barrens
2010-12-02 03:06:03 +01:00
--[[ Alterac Mountains no longer exist.
2010-10-24 23:17:33 +02:00
{ 26 , 48 , 0.521 , 0.7 } , -- Alterac Mountains <--> Hillsbrad Foothills
{ 26 , 35 , 0.173 , 0.482 } , -- Alterac Mountains <--> Silverpine Forest
{ 26 , 50 , 0.807 , 0.347 } , -- Alterac Mountains <--> Western Plaguelands
2010-12-02 03:06:03 +01:00
--]]
2010-10-24 23:17:33 +02:00
{ 39 , 51 , 0.454 , 0.89 } , -- Arathi Highlands <--> Wetlands
{ 39 , 48 , 0.2 , 0.293 } , -- Arathi Highlands <--> Hillsbrad Foothills
2010-12-12 01:55:58 +01:00
{ 27 , 29 , 0.47 , 0.071 } , -- Badlands <--> Loch Modan
{ 27 , 32 , 0.05 , 0.53 } , -- Badlands <--> Searing Gorge
2010-10-24 23:17:33 +02:00
{ 33 , 46 , 0.519 , 0.051 } , -- Blasted Lands <--> Swamp of Sorrows
{ 40 , 30 , 0.79 , 0.842 } , -- Burning Steppes <--> Redridge Mountains
{ 47 , 31 , 0.324 , 0.363 } , -- Deadwind Pass <--> Duskwood
{ 47 , 46 , 0.605 , 0.41 } , -- Deadwind Pass <--> Swamp of Sorrows
{ 28 , 25 , 0.534 , 0.349 } , -- Dun Morogh <--> Ironforge
{ 28 , 29 , 0.863 , 0.514 } , -- Dun Morogh <--> Loch Modan
{ 28 , 29 , 0.844 , 0.31 } , -- Dun Morogh <--> Loch Modan
{ 31 , 37 , 0.801 , 0.158 } , -- Duskwood <--> Elwynn Forest
{ 31 , 37 , 0.15 , 0.214 } , -- Duskwood <--> Elwynn Forest
{ 31 , 38 , 0.447 , 0.884 } , -- Duskwood <--> Stranglethorn Vale
{ 31 , 38 , 0.209 , 0.863 } , -- Duskwood <--> Stranglethorn Vale
{ 31 , 30 , 0.941 , 0.103 } , -- Duskwood <--> Redridge Mountains
{ 31 , 49 , 0.079 , 0.638 } , -- Duskwood <--> Westfall
{ 34 , 50 , 0.077 , 0.661 } , -- Eastern Plaguelands <--> Western Plaguelands
{ 34 , 44 , 0.575 , 0.000 } , -- Eastern Plaguelands <--> Ghostlands
{ 37 , 36 , 0.321 , 0.493 } , -- Elwynn Forest <--> Stormwind City -- Don't need to convert because it's in Elwynn coordinates, not Stormwind coordinates
{ 37 , 49 , 0.202 , 0.804 } , -- Elwynn Forest <--> Westfall
{ 37 , 30 , 0.944 , 0.724 } , -- Elwynn Forest <--> Redridge Mountains
{ 41 , 52 , 0.567 , 0.494 } , -- Eversong Woods <--> Silvermoon City
{ 41 , 44 , 0.486 , 0.916 } , -- Eversong Woods <--> Ghostlands
{ 35 , 43 , 0.678 , 0.049 } , -- Silverpine Forest <--> Tirisfal Glades
{ 42 , 50 , 0.217 , 0.264 } , -- The Hinterlands <--> Western Plaguelands
{ 43 , 45 , 0.619 , 0.651 } , -- Tirisfal Glades <--> Undercity
{ 43 , 50 , 0.851 , 0.703 } , -- Tirisfal Glades <--> Western Plaguelands
{ 38 , 49 , 0.292 , 0.024 } , -- Stranglethorn Vale <--> Westfall
{ 48 , 35 , 0.137 , 0.458 } , -- Hillsbrad Foothills <--> Silverpine Forest
{ 48 , 42 , 0.899 , 0.253 } , -- Hillsbrad Foothills <--> The Hinterlands
2010-12-12 01:55:58 +01:00
{ 51 , 184 , 0.80 , 0.47 } , -- Wetlands <--> Twilight Highlands
2010-10-24 23:17:33 +02:00
{ 29 , 51 , 0.252 , 0 } , -- Loch Modan <--> Wetlands
-- These are just guesses, since I haven't actually been to these areas.
2010-12-02 03:06:03 +01:00
{ 58 , 60 , 0.783 , 0.545 } , -- Nagrand <--> Shattrath City -- this is aldor-only
2010-10-24 23:17:33 +02:00
{ 60 , 55 , 0.782 , 0.492 } , -- Shattrath City <--> Terokkar Forest
{ 54 , 59 , 0.842 , 0.284 } , -- Blade's Edge Mountains <--> Netherstorm
{ 54 , 57 , 0.522 , 0.996 } , -- Blade's Edge Mountains <--> Zangarmarsh
{ 54 , 57 , 0.312 , 0.94 } , -- Blade's Edge Mountains <--> Zangarmarsh
{ 56 , 55 , 0.353 , 0.901 } , -- Hellfire Peninsula <--> Terokkar Forest
{ 56 , 57 , 0.093 , 0.519 } , -- Hellfire Peninsula <--> Zangarmarsh
{ 58 , 55 , 0.8 , 0.817 } , -- Nagrand <--> Terokkar Forest
{ 58 , 57 , 0.343 , 0.159 } , -- Nagrand <--> Zangarmarsh
{ 58 , 57 , 0.754 , 0.331 } , -- Nagrand <--> Zangarmarsh
{ 53 , 55 , 0.208 , 0.271 } , -- Shadowmoon Valley <--> Terokkar Forest
{ 55 , 57 , 0.341 , 0.098 } , -- Terokkar Forest <--> Zangarmarsh
-- Most of these are also guesses :)
{ 65 , 72 , 0.547 , 0.059 } , -- Borean Tundra <--> Sholazar Basin
{ 65 , 68 , 0.967 , 0.359 } , -- Borean Tundra <--> Dragonblight
{ 74 , 72 , 0.208 , 0.191 } , -- Wintergrasp <--> Sholazar
{ 68 , 74 , 0.250 , 0.410 } , -- Dragonblight <--> Wintergrasp
{ 68 , 71 , 0.359 , 0.155 } , -- Dragonblight <--> Icecrown
{ 68 , 66 , 0.612 , 0.142 } , -- Dragonblight <--> Crystalsong
{ 68 , 75 , 0.900 , 0.200 } , -- Dragonblight <--> Zul'Drak
{ 68 , 69 , 0.924 , 0.304 } , -- Dragonblight <--> Grizzly Hills
{ 68 , 69 , 0.931 , 0.634 } , -- Dragonblight <--> Grizzly Hills
{ 70 , 69 , 0.540 , 0.042 } , -- Howling Fjord <--> Grizzly Hills
{ 70 , 69 , 0.233 , 0.074 } , -- Howling Fjord <--> Grizzly Hills
{ 70 , 69 , 0.753 , 0.060 } , -- Howling Fjord <--> Grizzly Hills
{ 69 , 75 , 0.432 , 0.253 } , -- Grizzly Hills <--> Zul'Drak
{ 69 , 75 , 0.583 , 0.136 } , -- Grizzly Hills <--> Zul'Drak
{ 66 , 75 , 0.967 , 0.599 } , -- Crystalsong <--> Zul'Drak
{ 66 , 71 , 0.156 , 0.085 } , -- Crystalsong <--> Icecrown
{ 66 , 73 , 0.706 , 0.315 } , -- Crystalsong <--> Storm Peaks
{ 66 , 73 , 0.839 , 0.340 } , -- Crystalsong <--> Storm Peaks
{ 71 , 73 , 0.920 , 0.767 } , -- Icecrown <--> Storm Peaks
}
if QuestHelper : IsWrath32 ( ) then
table.insert ( static_zone_transitions , { 153 , 71 , 0.5 , 0.5 } ) -- Hrothgar's Landing <--> Icecrown
end
function load_graph_links ( )
local function convert_coordinate ( coord )
QuestHelper : Assert ( coord [ 1 ] and coord [ 2 ] and coord [ 3 ] )
2010-12-12 01:55:58 +01:00
-- I hate Blizzard... They can't make up their mind weather we are on Hyjal or Hyjal_terrain1, but we only seem to be on one or the other.
if coord [ 1 ] == 198 and not QuestHelper_ZoneLookup [ coord [ 1 ] ] then
coord [ 1 ] = 185
elseif coord [ 1 ] == 185 and not QuestHelper_ZoneLookup [ coord [ 1 ] ] then
coord [ 1 ] = 198
end
2010-12-15 04:18:39 +01:00
-- I hate Blizzard... They can't make up their mind weather we are on LostIsles or Hyjal_terrain1, but we only seem to be on one or the other.
2010-12-16 13:50:13 +01:00
if ( coord [ 1 ] == 208 or coord [ 1 ] == 209 ) and not QuestHelper_ZoneLookup [ coord [ 1 ] ] then
2010-12-15 04:18:39 +01:00
coord [ 1 ] = 181
2010-12-16 13:50:13 +01:00
elseif ( coord [ 1 ] == 181 or coord [ 1 ] == 209 ) and not QuestHelper_ZoneLookup [ coord [ 1 ] ] then
2010-12-15 04:18:39 +01:00
coord [ 1 ] = 208
2010-12-16 13:50:13 +01:00
elseif ( coord [ 1 ] == 181 or coord [ 1 ] == 208 ) and not QuestHelper_ZoneLookup [ coord [ 1 ] ] then
coord [ 1 ] = 209
2010-12-15 04:18:39 +01:00
end
2010-11-27 23:47:32 +01:00
QuestHelper : Assert ( QuestHelper_ZoneLookup [ coord [ 1 ] ] , string.format ( " Coord[1] = %d " , coord [ 1 ] ) )
2010-10-24 23:17:33 +02:00
local c , x , y = QuestHelper.Astrolabe : GetAbsoluteContinentPosition ( QuestHelper_ZoneLookup [ coord [ 1 ] ] [ 1 ] , QuestHelper_ZoneLookup [ coord [ 1 ] ] [ 2 ] , coord [ 2 ] , coord [ 3 ] )
QuestHelper : Assert ( c )
return { x = x , y = y , p = coord [ 1 ] , c = c }
end
local function do_routes ( routes )
2010-12-02 03:06:03 +01:00
for k , v in ipairs ( routes ) do
2010-10-24 23:17:33 +02:00
if not v.level_limit or v.level_limit <= UnitLevel ( " player " ) then
2010-12-02 03:06:03 +01:00
QuestHelper : Assert ( v [ 1 ] , tostring ( k ) .. " is the key, v[1]. " )
QuestHelper : Assert ( v [ 2 ] , tostring ( k ) .. " is the key, v[2]. v[1] is " .. tostring ( v [ 1 ] ) ) -- breaks here
2010-10-24 23:17:33 +02:00
local src = convert_coordinate ( v [ 1 ] )
local dst = convert_coordinate ( v [ 2 ] )
QuestHelper : Assert ( src.x and dst.x )
src.map_desc = { QHFormat ( " WAYPOINT_REASON " , QuestHelper_NameLookup [ v [ 2 ] [ 1 ] ] ) }
dst.map_desc = { QHFormat ( " WAYPOINT_REASON " , QuestHelper_NameLookup [ v [ 1 ] [ 1 ] ] ) }
local rev_cost = v [ 3 ]
if v [ 4 ] then rev_cost = nil end
QH_Graph_Plane_Makelink ( " static_route " , src , dst , v [ 3 ] , rev_cost ) -- this couldn't possibly fail
end
end
end
local faction_db
if UnitFactionGroup ( " player " ) == " Alliance " then
faction_db = static_alliance_routes
else
faction_db = static_horde_routes
end
do_routes ( faction_db )
do_routes ( static_shared_routes )
2010-12-02 03:06:03 +01:00
for k , v in ipairs ( static_zone_transitions ) do
QuestHelper : Assert ( v [ 1 ] , tostring ( k ) .. " is the key, v[1]-2. " )
QuestHelper : Assert ( v [ 3 ] , tostring ( k ) .. " is the key, v[3]-2. " )
QuestHelper : Assert ( v [ 4 ] , tostring ( k ) .. " is the key, v[4]-2. " )
2010-10-24 23:17:33 +02:00
local src = convert_coordinate ( { v [ 1 ] , v [ 3 ] , v [ 4 ] } )
local dst = convert_coordinate ( { v [ 1 ] , v [ 3 ] , v [ 4 ] } )
dst.p = v [ 2 ]
src.map_desc = { QHFormat ( " WAYPOINT_REASON " , QHFormat ( " ZONE_BORDER_SIMPLE " , QuestHelper_NameLookup [ v [ 2 ] ] ) ) }
dst.map_desc = { QHFormat ( " WAYPOINT_REASON " , QHFormat ( " ZONE_BORDER_SIMPLE " , QuestHelper_NameLookup [ v [ 1 ] ] ) ) }
QH_Graph_Plane_Makelink ( " static_transition " , src , dst , 0 , 0 )
end
do
2010-12-02 03:06:03 +01:00
QuestHelper : Assert ( dark_portal_route [ 1 ] , " DPR1 " )
QuestHelper : Assert ( dark_portal_route [ 2 ] , " DPR2 " )
2010-10-24 23:17:33 +02:00
local src = convert_coordinate ( dark_portal_route [ 1 ] )
local dst = convert_coordinate ( dark_portal_route [ 2 ] )
src.map_desc = { QHFormat ( " WAYPOINT_REASON " , QHFormat ( " ZONE_BORDER_SIMPLE " , QuestHelper_NameLookup [ dark_portal_route [ 2 ] ] ) ) }
dst.map_desc = { QHFormat ( " WAYPOINT_REASON " , QHFormat ( " ZONE_BORDER_SIMPLE " , QuestHelper_NameLookup [ dark_portal_route [ 1 ] ] ) ) }
QH_Graph_Plane_Makelink ( " dark_portal " , src , dst , 15 , 15 )
end
end