2011-02-13 06:24:17 +01:00
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 ( )
2011-02-23 03:15:06 +01:00
-- Tol Barad and Tol Barad Peninsula not the same.
-- The Tol Barad to Orgrimmar portal is the one that is just in front of the Baradin Hold raid entrance. This is only available to Horde when they control TB.
-- Dependant aka Winterspring
-- The Tol Barad Peninsula to Orgrimmar portal is the one in the Horde encampment on Tol Barad Peninsula. This is available to Horde at all times.
-- So is there a similar Alliance route?
-- Update flying for guild perk speed bonus.
-- Zephyr - 60 0.747 0.316 to CoT is reverred with CoT
2011-02-16 13:05:36 +01:00
-- This section for whenever from-player's-location-to pathing can be implimented.
2011-02-13 23:29:20 +01:00
2011-02-21 01:11:41 +01:00
-- Mage teleport spells and druid teleport spell all say "10 sec cast
-- Hearthstone is also a 10 second cast
-- So make one general setting for the 10 seconds plus 5 for the world to load
-- local porttime = 15
2011-02-16 00:42:48 +01:00
local static_alliance_landings =
{
{ 12 , 0.476 , 0.598 , " Exodar via portal " } , -- Exodar
{ 21 , 0.435 , 0.787 , " Darnassus via portal " } , -- Darnassus
2011-02-21 01:11:41 +01:00
{ 36 , 0.496 , 0.865 , " Stormwind via portal " } , -- Stormwind
{ 25 , 0.255 , 0.084 , " Ironforge via portal " } , -- Ironforge
{ 10 , 0.660 , 0.490 , " Theramore via portal " } , -- Theramore
2011-02-16 00:42:48 +01:00
}
2010-10-24 23:17:33 +02:00
2011-02-16 00:42:48 +01:00
local static_horde_landings =
{
{ 1 , 0.483 , 0.645 , " Orgrimmar via portal " } , -- Orgrimmar
{ 23 , 0.222 , 0.169 , " Thunder Bluff via portal " } , -- Thunder Bluff
{ 45 , 0.845 , 0.163 , " Undercity via portal " } , -- Undercity
{ 52 , 0.583 , 0.192 , " Silvermoon City via portal " } , -- Silvermoon City
{ 46 , 0.498 , 0.558 , " Stonard via portal " } , -- Stonard
}
2010-10-24 23:17:33 +02:00
2011-02-16 00:42:48 +01:00
local static_shared_landings =
{
2011-02-21 01:11:41 +01:00
{ 67 , 0.559 , 0.468 , " Dalaran via portal " } , -- Dalaran
{ 60 , 0.550 , 0.402 , " Shattrath via portal " } , -- Shattrath
2011-02-16 00:42:48 +01:00
-- Need Tol Barad Port In coordinates
}
2011-02-21 01:11:41 +01:00
if IsSpellKnown ( 18960 ) then
2011-02-16 13:05:36 +01:00
local static_druid_landings = { 20 , 0.563 , 0.324 , " Moonglade via spell " } -- Moonglade landing
2011-02-16 00:42:48 +01:00
end
2010-10-24 23:17:33 +02:00
2011-02-16 13:05:36 +01:00
-- end whimsey
2011-02-21 01:11:41 +01:00
-- More storage
-- Contingent on player's faction controlling the zone
-- {{74, 0.491, 0.153}, {67, 0.268, 0.447}, 5, true}, -- Wingergrasp Keep --> Dalaran
-- end storage
2011-02-23 03:15:06 +01:00
local BLASTED_LANDS_PORTAL_IN = { 33 , 0.539 , 0.461 , " Blasted Lands via portal " }
2011-02-21 01:11:41 +01:00
local ORGRIMMAR_CATPORTAL_IN = { 20 , 0.563 , 0.324 , " Orgrimmar via portal " }
2011-02-10 23:48:02 +01:00
2010-10-24 23:17:33 +02:00
local static_horde_routes =
{
2011-02-13 23:29:20 +01:00
-- Portals
2011-02-23 03:15:06 +01:00
{ { 1 , 0.471 , 0.618 } , BLASTED_LANDS_PORTAL_IN , 5 , true , level_limit = 58 } , -- Orgrimmar --> Dark Portal
{ { 45 , 0.853 , 0.171 } , BLASTED_LANDS_PORTAL_IN , 5 , true , level_limit = 58 } , -- Undercity --> Dark Portal
{ { 23 , 0.232 , 0.135 } , BLASTED_LANDS_PORTAL_IN , 5 , true , level_limit = 58 } , -- Thunder Bluff --> Dark Portal
{ { 52 , 0.584 , 0.210 } , BLASTED_LANDS_PORTAL_IN , 5 , true , level_limit = 58 } , -- Silvermoon --> Dark Portal
2011-02-16 00:42:48 +01:00
2011-02-21 01:11:41 +01:00
-- I'm really not concerned that the landing points are different. This is a self-contained method.
-- It won't affect anything that we don't have two one-way paths here.
{ { 45 , 0.549 , 0.113 } , { 52 , 0.495 , 0.148 } , 15 } , -- Undercity <--> Silvermoon City
2011-03-01 23:14:29 +01:00
{ { 56 , 0.886 , 0.477 } , { 1 , 0.483 , 0.645 } , 5 , true } , -- Hellfire Peninsula --> Orgrimmar
2011-02-21 01:11:41 +01:00
{ { 1 , 0.475 , 0.392 } , { 176 , 0.560 , 0.799 } , 5 , false , level_limit = 85 } , -- Orgrimmar <--> Tol Barad
2011-02-16 00:42:48 +01:00
-- Orgrimmar --> Maelstrom
2011-02-21 01:11:41 +01:00
-- Not sure of the distinction here
-- Tol Barad Peninsula to Orgrimmar portal = 176,0.563,0.797
-- Tol Barad to Orgrimmar portal = 175,0.472,0.519 (Only if Horde controlled)
2011-02-13 23:29:20 +01:00
2011-02-10 23:48:02 +01:00
2011-02-13 23:29:20 +01:00
-- Zepplins
{ { 1 , 0.526 , 0.529 } , { 168 , 0.372 , 0.525 } , 210 } , -- Orgrimmar <--> Grom'gol Base Camp
{ { 1 , 0.506 , 0.561 } , { 43 , 0.607 , 0.588 } , 210 } , -- Orgrimmar <--> Tirisfal Glades
2011-02-21 01:11:41 +01:00
{ { 1 , 0.428 , 0.653 } , { 23 , 0.152 , 0.257 } , 210 } , -- Orgrimmar <--> Thunder Bluff
2011-02-10 23:48:02 +01:00
2011-02-21 01:11:41 +01:00
{ { 43 , 0.619 , 0.591 } , { 168 , 0.374 , 0.509 } , 210 } , -- Tirisfal Glades <--> Grom'gol Base Camp
2011-03-01 23:14:29 +01:00
-- Split Northrend zepplins so youngsters ported to Dal won't crash QH
{ { 1 , 0.449 , 0.619 } , { 65 , 0.414 , 0.536 } , 210 , true , level_limit = 68 } , -- Orgrimmar --> Warsong Hold
{ { 65 , 0.414 , 0.536 } , { 1 , 0.449 , 0.619 } , 210 , true } , -- Warsong Hold --> Orgrimmar
{ { 43 , 0.590 , 0.590 } , { 70 , 0.777 , 0.282 } , 210 , true , level_limit = 68 } , -- Tirisfal Glades --> Vengeance Landing
{ { 70 , 0.777 , 0.282 } , { 43 , 0.590 , 0.590 } , 210 , true } , -- Vengeance Landing --> Tirisfal Glades
2010-10-24 23:17:33 +02:00
}
2011-02-13 06:24:17 +01:00
2010-10-24 23:17:33 +02:00
local static_alliance_routes =
{
2011-02-13 23:29:20 +01:00
-- Portals
2011-02-21 01:11:41 +01:00
{ { 21 , 0.440 , 0.782 } , BLASTED_LANDS_PORTAL_IN , 5 , true , level_limit = 58 } , -- Darnassus --> Dark Portal
{ { 12 , 0.482 , 0.630 } , BLASTED_LANDS_PORTAL_IN , 5 , true , level_limit = 58 } , -- Exodar --> Dark Portal
{ { 25 , 0.273 , 0.070 } , BLASTED_LANDS_PORTAL_IN , 5 , true , level_limit = 58 } , -- Ironforge --> Dark Portal
{ { 36 , 0.490 , 0.874 } , BLASTED_LANDS_PORTAL_IN , 5 , true , level_limit = 58 } , -- Stormwind --> Dark Portal
2011-02-16 00:42:48 +01:00
2011-03-01 23:14:29 +01:00
{ { 56 , 0.886 , 0.528 } , { 36 , 0.496 , 0.865 } , 5 , true } , -- Hellfire Peninsula --> Stormwind
2011-02-21 01:11:41 +01:00
{ { 21 , 0.442 , 0.788 } , { 12 , 0.476 , 0.598 } , 5 , true } , -- Darnassus --> Exodar
{ { 12 , 0.476 , 0.619 } , { 21 , 0.435 , 0.787 } , 5 , true } , -- Exodar --> Darnassus
2011-02-16 00:42:48 +01:00
-- Stormwind --> Tol Barad?
-- Stormwind --> Maelstrom?
-- Ships
2011-03-01 23:14:29 +01:00
-- Split Northrend ships so youngsters ported to Dal won't crash QH
{ { 36 , 0.180 , 0.285 } , { 65 , 0.597 , 0.694 } , 210 , true , level_limit = 68 } , -- Stormwind --> Valiance Keep
{ { 65 , 0.597 , 0.694 } , { 36 , 0.180 , 0.285 } , 210 , true , } , -- Valiance Keep --> Stormwind
2011-02-16 00:42:48 +01:00
-- Deeprun Tram (Wonder if this needs to be handled differently because of it's nature but this will suffice for now)
{ { 36 , 0.696 , 0.311 } , { 25 , 0.770 , 0.513 } , 180 } , -- Stormwind <--> Ironforge
2011-02-10 23:48:02 +01:00
2011-02-13 23:29:20 +01:00
-- Partially checked
2011-02-13 06:24:17 +01:00
2011-02-16 00:42:48 +01:00
-- Unchecked (Do these still exist?)
{ { 10 , 0.718 , 0.565 } , { 51 , 0.047 , 0.636 } , 210 } , -- Theramore Isle <--> Menethil Harbor
2011-03-01 23:14:29 +01:00
{ { 51 , 0.047 , 0.571 } , { 70 , 0.612 , 0.626 } , 210 , true , level_limit = 68 } , -- Menethil --> Daggercap Bay
{ { 70 , 0.612 , 0.626 } , { 51 , 0.047 , 0.571 } , 210 , true } , -- Daggercap Bay --> Menethil
2011-02-13 06:24:17 +01:00
-- Nate's Cataclysm content
2011-02-10 23:48:02 +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 =
{
2011-02-13 23:29:20 +01:00
-- Portals
2011-02-21 01:11:41 +01:00
{ { 67 , 0.268 , 0.447 } , { 67 , 0.240 , 0.394 } , 5 } , -- Dalaran (Violet Citadel) <--> Dalaran (Purple Parlor)
2011-02-23 03:15:06 +01:00
-- Dependant on Quest #12790
2011-02-21 01:11:41 +01:00
{ { 67 , 0.559 , 0.468 } , { 66 , 0.158 , 0.428 } , 5 } , -- Dalaran <--> Crystalsong Forest
2011-02-13 23:29:20 +01:00
2011-02-16 00:42:48 +01:00
{ { 24 , 0.551 , 0.885 } , { 21 , 0.369 , 0.584 } , 5 } , -- Rut'Theran Village <--> Darnassus
2011-02-21 01:11:41 +01:00
{ { 67 , 0.255 , 0.514 } , { 8 , 0.652 , 0.498 } , 5 , true } , -- Dalaran --> Caverns of Time
{ { 60 , 0.486 , 0.420 } , { 64 , 0.482 , 0.345 } , 5 , true } , -- Shattrath --> Isle of Quel'Danas
2011-02-10 23:48:02 +01:00
2011-03-01 23:14:29 +01:00
-- Ships
2011-02-21 01:11:41 +01:00
{ { 68 , 0.497 , 0.784 } , { 70 , 0.234 , 0.578 } , 210 } , -- Moa'ki <--> Kamagua
{ { 68 , 0.479 , 0.788 } , { 65 , 0.789 , 0.537 } , 210 } , -- Moa'ki <--> Unu'pe
2011-02-10 23:48:02 +01:00
2011-02-21 01:11:41 +01:00
{ { 174 , 0.390 , 0.670 } , { 11 , 0.702 , 0.733 } , 210 } , -- Booty Bay <--> Ratchet
2010-12-10 04:15:15 +01:00
2011-02-21 01:11:41 +01:00
-- Leave here to keep QH from self-destructing
{ { 24 , 0.522 , 0.895 } , { 3 , 0.203 , 0.540 } , 210 } , -- Teldrassil <--> Azuremyst Isle
{ { 24 , 0.550 , 0.938 } , { 36 , 0.223 , 0.560 } , 210 } , -- Teldrassil <--> Stormwind
2011-02-13 23:29:20 +01:00
2011-02-21 01:11:41 +01:00
2011-02-16 00:42:48 +01:00
-- Unchecked
2011-02-21 01:11:41 +01:00
{ { 40 , 0.318 , 0.503 } , { 32 , 0.347 , 0.84 } , 130 } , -- Burning Steppes <--> Searing Gorge
2011-02-10 23:48:02 +01:00
2011-02-21 01:11:41 +01:00
-- 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.484 , 0.251 } , 7200 } , -- Eversong Woods <--> Sunwell
{ { 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
2011-02-10 23:48:02 +01:00
2011-02-13 06:24:17 +01:00
-- Nate's Cataclysm content
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-11 08:21:30 +01:00
{ { 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
2011-02-13 23:29:20 +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
{ { 210 , 0.84 , 0.41 } , { 8 , 0.37 , 0.82 } , 5 } , -- Uldum <--> Tanaris
{ { 210 , 0.70 , 0.22 } , { 8 , 0.25 , 0.66 } , 5 } , -- Uldum <--> Tanaris
2011-02-10 23:48:02 +01:00
{ { 35 , 0.45 , 0.85 } , { 169 , 0.60 , 0.09 } , 5 } , -- Silverpine <--> Ruins of Gilneas
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.
2011-02-13 06:24:17 +01:00
local dark_portal_route = { { 33 , 0.550 , 0.541 } , { 56 , 0.898 , 0.502 } , 60 }
2010-10-24 23:17:33 +02:00
2011-02-21 01:11:41 +01:00
-- Cataclysm Quest-dependant static routes
-- STILL WORKING ON THESE
-- Horde
-- Orgrimmar to Uldum portal = 1,0.489,0.386
-- Orgrimmar to Uldum portal landing = 164,0.549,0.342 (All quests completed)
-- Orgrimmar to Mount Hyjal portal = 1,0.511,0.383
-- Orgrimmar to Mount Hyjal portal landing = 198,0.635,0.234
-- Orgrimmar to Twilight Highlands portal = 1,0.502,0.394
-- Orgrimmar to Twilight Highlands portal landing = 184,0.736,0.534 (All quests completed)
-- Orgrimmar to Vashj'ir portal = 1,0.492,0.365
-- Orgrimmar to Vashj'ir portal landing = 165,0.514,0.609 (All quests completed)
-- Orgrimmar to Deepholm portal = 1,0.508,0.363
-- Orgrimmar to Deepholm portal landing = 179,0.506,0.529
-- Temple of Earth to Therazane's Throne portal = 179,0.493,0.503
-- Temple of Earth to Therazane's Throne portal landing = 179,0.570,0.135
-- Therazane's Throne to Temple of Earth portal = 179,0.572,0.136
-- Therazane's Throne to Temple of Earth portal landing = 179,0.493,0.506
-- Temple of Earth to Orgrimmar portal = 179,0.509,0.531
-- Dragonmaw Port to The Krazzworks dock = 184,0.735,0.528 (310% Flying mount with 20% Mount Speed guild perk moves faster than zepplin)
-- The Krazzworks to Dragonmaw Port dock = 184,0.767,0.152
-- Dragonmaw Port to Orgrimmar portal = 184,0.736,0.535
-- Cataclysm zone portal landing = 1,0.500,0.377 (For the few zones that have a portal back to Orgrimmar)
-- Alliance
-- Neutral
2010-10-24 23:17:33 +02:00
local static_zone_transitions =
{
2011-02-13 23:29:20 +01:00
-- Eastern Kingdoms
2011-02-10 23:48:02 +01:00
2011-02-13 23:29:20 +01:00
-- Kalimdor
--Outland
--Northrend
2011-02-14 00:52:07 +01:00
{ 65 , 72 , 0.527 , 0.322 } , -- Borean Tundra <--> Scholazar Basin
2011-02-13 23:29:20 +01:00
--Cataclysm zones
2011-02-13 06:24:17 +01:00
2011-02-13 23:29:20 +01:00
-- Work
2011-02-21 01:11:41 +01:00
{ 7 , 1 , 0.117 , 0.936 } , -- Durotar <--> Orgrimmar (Front)
{ 7 , 1 , 0.366 , 0.253 } , -- Durotar <--> Orgrimmar (Side)
{ 15 , 1 , 0.792 , 0.017 } , -- Azshara <--> Orgrimmar (Back)
2011-02-23 03:15:06 +01:00
{ 158 , 5 , 0.687 , 0.2 } , -- Insect Kingdom I Can't Spell <--> Silithus
2011-02-13 23:29:20 +01:00
2011-02-13 06:24:17 +01:00
2011-02-10 23:48:02 +01:00
2011-02-13 23:29:20 +01:00
-- {{174, 0.61, 0.20}, {168, 0.50, 0.74}, 5}, -- CoS <--> NS (Both part of STV)
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
{ 2 , 16 , 0.289 , 0.144 } , -- Ashenvale <--> Darkshore
{ 2 , 13 , 0.557 , 0.29 } , -- Ashenvale <--> Felwood
{ 21 , 24 , 0.894 , 0.358 } , -- Darnassus <--> Teldrassil
2011-02-01 03:57:09 +01:00
{ 22 , 203 , 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
2011-02-01 03:57:09 +01:00
{ 7 , 11 , 0.341 , 0.424 } , -- Durotar <--> Northern Barrens
2010-10-24 23:17:33 +02:00
{ 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
2011-02-01 03:57:09 +01:00
{ 203 , 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
{ 17 , 14 , 0.899 , 0.46 } , -- Feralas <--> Thousand Needles
2011-02-21 01:11:41 +01:00
{ 6 , 11 , 0.29 , 0.08 } , -- Stonetalon Mountains <--> Northern Barrens IS THIS ONE RIGHT?
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
2011-02-21 01:11:41 +01:00
{ 31 , 168 , 0.447 , 0.884 } , -- Duskwood <--> Stranglethorn Vale
{ 31 , 168 , 0.209 , 0.863 } , -- Duskwood <--> Stranglethorn Vale
2010-10-24 23:17:33 +02:00
{ 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
2011-02-21 01:11:41 +01:00
{ 168 , 49 , 0.292 , 0.024 } , -- Stranglethorn Vale <--> Westfall
2010-10-24 23:17:33 +02:00
{ 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
2011-02-10 23:48:02 +01:00
-- Outland
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
2011-02-10 23:48:02 +01:00
-- Northrend
2010-10-24 23:17:33 +02:00
{ 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
2011-01-28 12:24:50 +01:00
local function convertLostIsles ( current , other1 , other2 )
if QuestHelper_ZoneLookup [ current ] then return current end
if QuestHelper_ZoneLookup [ other1 ] then return other1 end
if QuestHelper_ZoneLookup [ other2 ] then return other2 end
QuestHelper : Assert ( false , " LostIsles is not working. " )
end
2010-10-24 23:17:33 +02:00
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
2011-02-13 14:31:15 +01:00
-- I hate Blizzard... They can't make up their mind weather we are on Uldum or Uldum_terrain1, but we only seem to be on one or the other.
if coord [ 1 ] == 164 and not QuestHelper_ZoneLookup [ coord [ 1 ] ] then
coord [ 1 ] = 210
elseif coord [ 1 ] == 210 and not QuestHelper_ZoneLookup [ coord [ 1 ] ] then
coord [ 1 ] = 164
end
2011-01-28 12:24:50 +01:00
-- I hate Blizzard... They can't make up their mind whether we are on LostIsles, LostIsles_terrain1 or LostIsles_terrain2, but we only seem to be on one.
-- Create a lookup table.
2011-01-29 03:40:17 +01:00
local converter = { }
2011-01-29 22:25:05 +01:00
converter [ 181 ] = function ( ) return convertLostIsles ( 181 , 208 , 209 ) end
converter [ 208 ] = function ( ) return convertLostIsles ( 208 , 181 , 209 ) end
converter [ 209 ] = function ( ) return convertLostIsles ( 209 , 181 , 208 ) end
2010-12-15 04:18:39 +01:00
2011-01-28 12:24:50 +01:00
-- Use the lookup table to get the real coordinate.
if converter [ coord [ 1 ] ] then coord [ 1 ] = converter [ coord [ 1 ] ] ( ) end
2011-01-21 02:06:11 +01:00
2011-01-28 03:12:26 +01:00
local QHZL = QuestHelper_ZoneLookup
local test = QHZL [ 181 ] or QHZL [ 208 ] or QHZL [ 209 ]
QuestHelper : Assert ( test , " Umm, something is seriously wrong... We're missing a LostIsles terrain. " )
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
2011-02-16 00:42:48 +01:00
-- Generating landing_db for potential use in adding Mage portals and Hearthstone to routing
2010-10-24 23:17:33 +02:00
local faction_db
2011-02-16 00:42:48 +01:00
local landing_db
2010-10-24 23:17:33 +02:00
if UnitFactionGroup ( " player " ) == " Alliance " then
faction_db = static_alliance_routes
2011-02-16 00:42:48 +01:00
landing_db = static_alliance_landings
2010-10-24 23:17:33 +02:00
else
faction_db = static_horde_routes
2011-02-16 00:42:48 +01:00
landing_db = static_horde_landings
2010-10-24 23:17:33 +02:00
end
2011-02-16 00:42:48 +01:00
-- Not adding landing_db or static_shared_landings here because it depend on implimentation
2010-10-24 23:17:33 +02:00
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