1. local creature_id = 2870;
  2. local locations = {
  3. ['Alliance Cities'] = {
  4. ['Stormwind City'] = function(player)
  5. player:Teleport(0, -8826.4091680, 629.565002, 94.078217, 3.954481);
  6. end,
  7. ['Darnassus'] = function(player)
  8. player:Teleport(1, 9951.950195, 2280.438965, 1341.394409, 1.577327);
  9. end,
  10. ['The Exondar'] = function(player)
  11. player:Teleport(530, -3938.156006, -11628.313477, -136.930893, 2.247025);
  12. end,
  13. ['Ironforge'] = function(player)
  14. player:Teleport(0, -4982.692871, -881.012756, 501.659668, 2.268230);
  15. end,
  16. -- Alliance only.
  17. ['check'] = function(player)
  18. return player:GetTeam() == 0;
  19. end
  20. },
  21. ['Horde Cities'] = {
  22. ['Orgrimmar'] = function(player)
  23. player:Teleport(1, 1556.017578, -4419.726563, 8.626983, 0.984890);
  24. end,
  25. ['Silvermoon City'] = function(player)
  26. player:Teleport(530, 10021.248047, -7014.779785, 49.717529, 3.998464);
  27. end,
  28. ['Undercity'] = function(player)
  29. player:Teleport(0, 1641.999146, 239.874191, 62.592777, 6.265121);
  30. end,
  31. ['Thunder Bluff'] = function(player)
  32. player:Teleport(1, -1231.227539, 99.556236, 130.041687, 2.370332);
  33. end,
  34. -- Horde only.
  35. ['check'] = function(player)
  36. return player:GetTeam() == 1;
  37. end
  38. },
  39. ['Azeroth'] = {
  40. ['Raids'] = {
  41. ['Blackwing Lair'] = function(player)
  42. player:Teleport(229, 173.802139, -474.786469, 116.839996, 0.000000);
  43. end,
  44. ['Molten Core'] = function(player)
  45. player:Teleport(230, 1115.349976, -457.350006, -102.699997, 3.515929);
  46. end,
  47. ['Ruins of Ahn\'Qiraj'] = function(player)
  48. player:Teleport(1, -8414.201172, 1501.348877, 29.995377, 2.576105);
  49. end,
  50. ['Temple of Ahn\'Qiraj'] = function(player)
  51. player:Teleport(1, -8240.357422, 1989.666138, 129.071793, 0.966038);
  52. end,
  53. -- Level 60 and higher only
  54. ['check'] = function(player)
  55. return player:GetLevel() >= 60;
  56. end
  57. },
  58. ['Dungeons'] = {
  59. ['Blackfathom Deeps'] = function(player)
  60. player:Teleport(48, -150.187103, 106.073769, -39.878681, 1.498540);
  61. end,
  62. ['Blackrock Depths'] = function(player)
  63. player:Teleport(230, 457.348969, 30.987259, -70.156662, 5.019115);
  64. end,
  65. ['Blackrock Spire'] = function(player)
  66. player:Teleport(229, 79.964035, -253.307556, 60.671982, 4.763849);
  67. end,
  68. ['Dire Maul'] = function(player)
  69. player:Teleport(429, 266.495850, -26.668299, -2.559584, 6.258052);
  70. end,
  71. ['Gnomeregan'] = function(player)
  72. player:Teleport(90, -761.111572, 24.409264, -252.862335, 1.591195);
  73. end,
  74. ['Maraudon'] = function(player)
  75. player:Teleport(349, 1043.808350, -451.087402, -42.885582, 0.268374);
  76. end,
  77. ['Ragefire Chasm'] = function(player)
  78. player:Teleport(389, 1.942479, -13.733954, -17.362961, 4.376239);
  79. end,
  80. ['Razorfen Downs'] = function(player)
  81. player:Teleport(129, 2592.642822, 1099.762207, 51.995701, 4.731369);
  82. end,
  83. ['Razorfen Kraul'] = function(player)
  84. player:Teleport(47, 1957.648193, 1598.480225, 81.604507, 0.135929);
  85. end,
  86. ['Shadowfang Keep'] = function(player)
  87. player:Teleport(33, -229.134995, 2109.179932, 76.889801, 1.267000);
  88. end,
  89. ['Stratholme'] = function(player)
  90. player:Teleport(329, 3625.765381, -3641.556885, 138.503723, 0.471527);
  91. end,
  92. ['Sunken Temple'] = function(player)
  93. player:Teleport(109, -325.581116, 100.868469, -131.850006, 3.120885);
  94. end,
  95. ['The Deadmines'] = function(player)
  96. player:Teleport(36, -15.935436, -377.485992, 60.626122, 3.017677);
  97. end,
  98. ['The Stockade'] = function(player)
  99. player:Teleport(34, 58.277203, 0.870144, -19.894732, 0.000000);
  100. end,
  101. ['Uldaman'] = function(player)
  102. player:Teleport(70, -227.953156, 43.184261, -46.019787, 1.570796);
  103. end,
  104. ['Wailing Caverns'] = function(player)
  105. player:Teleport(43, -140.366730, 126.054642, -77.849762, 6.159073);
  106. end,
  107. ['Zul\'Farrak'] = function(player)
  108. player:Teleport(209, 1213.945679, 842.133484, 8.954958, 6.094690);
  109. end
  110. },
  111. ['Locations'] = {
  112. ['Kalimdor'] = {
  113. ['Ashenvale'] = function(player)
  114. player:Teleport(1, 2762.595459, -348.210602, 107.576553, 1.584934);
  115. end,
  116. ['Azshara'] = function(player)
  117. player:Teleport(1, 2717.161621, -5968.820801, 106.390968, 0.967611);
  118. end,
  119. ['Azuremyst Isle'] = function(player)
  120. player:Teleport(530, -4247.345703, -13699.031250, 56.528660, 1.412932);
  121. end,
  122. ['Bloodmyst Isle'] = function(player)
  123. player:Teleport(530, -2392.843506, -11590.024414, 23.680330, 2.205399, 2.205399);
  124. end,
  125. ['Darkshore'] = function(player)
  126. player:Teleport(1, 6234.828125, 322.773315, 27.317997, 6.217212);
  127. end,
  128. ['Desolace'] = function(player)
  129. player:Teleport(1, -350.602386, 1484.880249, 91.352882, 3.035569);
  130. end,
  131. ['Durotar'] = function(player)
  132. player:Teleport(1, 888.461975, -4507.018555, 6.126934, 0.413905);
  133. end,
  134. ['Dustwallow Marsh'] = function(player)
  135. player:Teleport(1, -2910.613525, -3674.944580, 33.499104, 1.501682);
  136. end,
  137. ['Felwood'] = function(player)
  138. player:Teleport(1, 5074.151367, -619.094482, 296.126770, 4.168893);
  139. end,
  140. ['Feralas'] = function(player)
  141. player:Teleport(1, -4628.514648, 527.475159, 36.994503, 1.965067);
  142. end,
  143. ['Moonglade'] = function(player)
  144. player:Teleport(1, 7564.304688, -2950.671631, 466.682739, 4.651127);
  145. end,
  146. ['Mulgore'] = function(player)
  147. player:Teleport(1, -1803.718872, -477.751984, -0.444334, 2.897334);
  148. end,
  149. ['Silithus'] = function(player)
  150. player:Teleport(1, -6835.853027, 577.234375, -1.443718, 2.799158);
  151. end,
  152. ['Stonelaton Mountains'] = function(player)
  153. player:Teleport(1, 1595.890259, 1025.697144, 136.668213, 2.846283);
  154. end,
  155. ['Tanaris'] = function(player)
  156. player:Teleport(1, -7124.333984, -3817.009521, 8.409784, 3.143950);
  157. end,
  158. ['Teldrassil'] = function(player)
  159. player:Teleport(1, 9852.306641, 585.676392, 1302.201416, 0.395060);
  160. end,
  161. ['The Barrens'] = function(player)
  162. player:Teleport(1, 31.878681, -1841.274414, 95.601563, 4.675476);
  163. end,
  164. ['Thousand Needles'] = function(player)
  165. player:Teleport(1, -5557.254395, -2503.090332, -50.073147, 1.968208);
  166. end,
  167. ['Un/Goro Crater'] = function(player)
  168. player:Teleport(1, -7883.625488, -2123.600830, -265.031464, 0.978606);
  169. end,
  170. ['Winterspring'] = function(player)
  171. player:Teleport(1, 7572.633789, -4611.682617, 640.777832, 3.731426);
  172. end
  173. },
  174. ['Eastern Kingdoms'] = {
  175. ['Alterac Mountains'] = function(player)
  176. player:Teleport(0, 272.704, -654.514, 129.609);
  177. end,
  178. ['Arathi Highlands'] = function (player, object)
  179. object:SendUnitSay("Teleporting " .. player:GetName() .. " to Arathi Highlands.", 0);
  180. end,
  181. ['Badlands'] = function(player)
  182. player:Teleport(0, -6018.138184, -3311.517822, 261.744324);
  183. end,
  184. ['Blasted Lands'] = function(player)
  185. player:Teleport(0, -11204.5, -2730.61, 15.8972);
  186. end,
  187. ['Burning Steppes'] = function(player)
  188. player:Teleport(0, -7907.41, -1128.66, 192.056);
  189. end,
  190. ['Deadwind Pass'] = function(player)
  191. player:Teleport(0, -10435.4, -1809.28, 101);
  192. end,
  193. ['Dun Morogh'] = function(player)
  194. player:Teleport(0, -5425.924316, -224.271957, 404.984344);
  195. end,
  196. ['Duskwood'] = function(player)
  197. player:Teleport(0, -11224.254883, -378.471802, 52.764240);
  198. end,
  199. ['Eastern Plaguelands'] = function(player)
  200. player:Teleport(0, 1919.44, -4306.23, 77.838);
  201. end,
  202. ['Elwynn Forest'] = function(player)
  203. player:Teleport(0, 511.536, 1638.63, 121.417);
  204. end,
  205. ['Eversong Woods'] = function(player)
  206. player:Teleport(530, 9449.15, -6782.61, 16.6167);
  207. end,
  208. ['Ghostlands'] = function(player)
  209. player:Teleport(530, 7880, -6193, 22);
  210. end,
  211. ['Hillsbrad Foothills'] = function(player)
  212. player:Teleport(0, -852.854, -576.712, 21.0293);
  213. end,
  214. ['Isle of Quel\'Danas'] = function(player)
  215. player:Teleport(530, 12956.072266, -6943.814453, 9.968110);
  216. end,
  217. ['Loch Modan'] = function(player)
  218. player:Teleport(0, -4939.1, -3423.74, 306.595);
  219. end,
  220. ['Redridge Mountains'] = function(player)
  221. player:Teleport(0, -9219.37, -2149.94, 71.606);
  222. end,
  223. ['Searing Gorge'] = function(player)
  224. player:Teleport(0, -7176.63, -937.667, 171.206);
  225. end,
  226. ['Silverpine Forest'] = function(player)
  227. player:Teleport(0, 511.536, 1638.63, 121.417);
  228. end,
  229. ['Stranglethorn Vale'] = function(player)
  230. player:Teleport(0, -11634.8, -54.0697, 14.4439);
  231. end,
  232. ['Swamp of Sorrows'] = function(player)
  233. player:Teleport(0, -10264.6, -3059.9, 19.9356);
  234. end,
  235. ['The Hinterlands'] = function(player)
  236. player:Teleport(0, 139.375, -1982.79, 134.043);
  237. end,
  238. ['Tirisfal Glades'] = function(player)
  239. player:Teleport(0, 2019.35, 1904.36, 106.144);
  240. end,
  241. ['Western Plaguelands'] = function(player)
  242. player:Teleport(0, 1224.36, -1151.97, 61.7327);
  243. end,
  244. ['Wetlands'] = function(player)
  245. player:Teleport(0, -4086.36, -2610.95, 47.0143);
  246. end
  247. }
  248. }
  249. },
  250. ['Outlands'] = {
  251. ['Raids'] = {
  252. ['The Black Temple'] = function(player)
  253. player:Teleport(530, -3645.900146, 315.935852, 35.254723, 2.846283);
  254. end,
  255. ['Hyjal Summit'] = function(player)
  256. player:Teleport(1, -8171.590820, -4170.021973, -165.514221, 0.958639);
  257. end,
  258. ['Serpentshrine Cavern'] = function(player)
  259. player:Teleport(530, 791.368774, 6865.851563, -64.991562, 0.034219);
  260. end,
  261. ['Gruul\'s Lair'] = function(player)
  262. player:Teleport(530, 3530.934570, 5119.366699, 4.377350, 5.256669);
  263. end,
  264. ['Magtheridon\'s Lair'] = function(player)
  265. player:Teleport(530, -313.678986, 3088.350098, -116.501999, 5.185237);
  266. end,
  267. ['Karazhan'] = function(player)
  268. player:Teleport(0, -11112.900391, -2005.890015, 49.330700, 0.679364);
  269. end,
  270. ['Sunwell Plateau'] = function(player)
  271. player:Teleport(530, 12560.799805, -6774.589844, 150.080000, 3.130399);
  272. end,
  273. ['Tempest Keep'] = function(player)
  274. player:Teleport(530, 3087.523926, 1375.640503, 184.757706, 4.633849);
  275. end,
  276. ['check'] = function(player)
  277. return player:GetLevel() >= 70;
  278. end
  279. },
  280. ['Dungeons'] = {
  281. ['Auchenai Crypts'] = function(player)
  282. player:Teleport(558, -20.043657, 0.225544, -0.120600, 0.035341);
  283. end,
  284. ['Mana-Tombs'] = function(player)
  285. player:Teleport(557, 0.019100, 0.947800, -0.954310, 3.132171);
  286. end,
  287. ['Sethekk Halls'] = function(player)
  288. player:Teleport(556, -4.681100, -0.093080, 0.006200, 0.035342);
  289. end,
  290. ['Shadow Labyrinth'] = function(player)
  291. player:Teleport(555, 0.488033, -0.215935, -1.127919, 3.158880);
  292. end,
  293. ['Old Hillsbrad Foothills'] = function(player)
  294. player:Teleport(560, 2713.892334, 1320.112671, 14.052801, 3.808390);
  295. end,
  296. ['The Black Morass'] = function(player)
  297. player:Teleport(269, -1542.645386, 7111.906738, 32.521183, 2.770154);
  298. end,
  299. ['The Slave Pens'] = function(player)
  300. player:Teleport(547, 128.535583, -113.279655, -1.590555, 2.498329);
  301. end,
  302. ['The Steamvault'] = function(player)
  303. player:Teleport(545, -5.341632, -10.671141, -4.598904, 4.750874);
  304. end,
  305. ['The Underbog'] = function(player)
  306. player:Teleport(546, 23.071058, -20.403160, -2.757266, 5.529979);
  307. end,
  308. ['Hellfire Ramparts'] = function(player)
  309. player:Teleport(543, -1355.046753, 1642.031494, 68.306107, 0.761045);
  310. end,
  311. ['The Blood Furnace'] = function(player)
  312. player:Teleport(542, -0.072848, -6.470712, -43.152233, 4.760245);
  313. end,
  314. ['The Shattered Halls'] = function(player)
  315. player:Teleport(540, -21.699003, 0.010598, -13.145328, 0.062823);
  316. end,
  317. ['Magisters\' Terrace'] = function(player)
  318. player:Teleport(585, 43.472740, -0.021902, -2.816848, 0.030630);
  319. end,
  320. ['The Arcatraz'] = function(player)
  321. player:Teleport(552, 35.456886, 0.219578, -0.211911, 0.015712);
  322. end,
  323. ['The Botanica'] = function(player)
  324. player:Teleport(553, -1.693330, 3.466565, -1.497565, 1.569235);
  325. end,
  326. ['The Mechanar'] = function(player)
  327. player:Teleport(554, -28.906000, 0.680314, -1.812820, 0.034551);
  328. end
  329. },
  330. ['Locations'] = {
  331. ['Blade\'s Egde Mountains'] = function(player)
  332. player:Teleport(530, 3493.652588, 5542.755859, 7.520812, 0.843515);
  333. end,
  334. ['Hellfire Peninsula'] = function(player)
  335. player:Teleport(530, -248.554733, 939.717957, 84.379768, 1.573938);
  336. end,
  337. ['Nagrand'] = function(player)
  338. player:Teleport(530, -1587.556641, 8045.174805, -22.364342, 4.559238);
  339. end,
  340. ['Netherstorm'] = function(player)
  341. player:Teleport(530, 4405.355469, 2358.775635, 119.204147, 3.632467);
  342. end,
  343. ['Shadowmoon Valley'] = function(player)
  344. player:Teleport(530, -3227.614502, 2285.095703, 59.650650, 4.750874);
  345. end,
  346. ['Terokkar Forest'] = function(player)
  347. player:Teleport(530, -2250.217285, 3864.554443, 3.052516, 4.642490);
  348. end,
  349. ['Zangarmarsh'] = function(player)
  350. player:Teleport(530, 829.714844, 7229.596680, 20.962160, 3.716506);
  351. end
  352. },
  353. ['check'] = function(player)
  354. return player:GetLevel() >= 60;
  355. end
  356. },
  357. ['Northrend'] = {
  358. ['Raids'] = {
  359. ['Trial of the Crusader'] = function(player)
  360. player:Teleport(571, 8515.206055, 735.681152, 558.566101, 1.520922);
  361. end,
  362. ['Icecrown Citadel'] = function(player)
  363. player:Teleport(571, 5794.529785, 2073.879883, 636.059998, 3.610000);
  364. end,
  365. ['Naxxramas'] = function(player)
  366. player:Teleport(571, 3670.637939, -1273.004150, 243.507172, 0.840376);
  367. end,
  368. ['The Eye of Eternity'] = function(player)
  369. player:Teleport(571, 3826.965820, 6976.193359, 94.430435, 0.168077);
  370. end,
  371. ['Ulduar'] = function(player)
  372. player:Teleport(571, 9046.473633, -1109.824341, 1165.279907, 6.267487);
  373. end,
  374. ['Vault of Archavon'] = function(player)
  375. player:Teleport(571, 4736.33, 2840.310059, 420.399689, 0.000000);
  376. end,
  377. ['The Obsidian Sanctum'] = function(player)
  378. player:Teleport(571, 3455.973145, 262.434418, -113.759789, 3.246835);
  379. end,
  380. ['The Ruby Sanctum'] = function(player)
  381. player:Teleport(571, 3601.251953, 196.595764, -113.760010, 5.333894);
  382. end,
  383. ['check'] = function(player)
  384. return player:GetLevel() >= 80;
  385. end
  386. },
  387. ['Dungeons'] = {
  388. ['Ahn\'kahet: The Old Kingdom'] = function(player)
  389. player:Teleport(619, 377.994995, -1081.739990, 47.720882, 0.554500);
  390. end,
  391. ['Azjol-Nerub'] = function(player)
  392. player:Teleport(601, 501.083893, 754.109497, 811.634033, 6.032841);
  393. end,
  394. ['The Culling of Stratholme'] = function(player)
  395. player:Teleport(595, 1460.397461, 519.514832, 33.420513, 5.867711);
  396. end,
  397. ['Trial of the Champion'] = function(player)
  398. player:Teleport(650, 805.226990, 618.038025, 412.393005, 3.145600);
  399. end,
  400. ['Drak\'Tharon Keep'] = function(player)
  401. player:Teleport(600, -506.351105, -514.184448, 11.041132, 3.905784);
  402. end,
  403. ['Gundrak'] = function(player)
  404. player:Teleport(571, 6725.912109, -4637.730957, 450.668274, 3.930918);
  405. end,
  406. ['Forge of Souls'] = function(player)
  407. player:Teleport(632, 4913.022461, 2195.105469, 638.734009, 1.992136);
  408. end,
  409. ['Pit of Saron'] = function(player)
  410. player:Teleport(658, 429.645874, 212.575089, 528.700012, 0.23451);
  411. end,
  412. ['Halls of Reflection'] = function(player)
  413. player:Teleport(668, 5258.381348, 1952.857666, 707.690552, 0.790000);
  414. end,
  415. ['The Nexus'] = function(player)
  416. player:Teleport(576, 168.120895, -5.473920, -16.636700, 0.00000);
  417. end,
  418. ['The Oculus'] = function(player)
  419. player:Teleport(578, 1048.819946, 1108.540039, 361.070282, 0.477522);
  420. end,
  421. ['Halls of Lightning'] = function(player)
  422. player:Teleport(602, 1331.439941, 234.219025, 52.504734, 4.700000);
  423. end,
  424. ['Halls of Stone'] = function(player)
  425. player:Teleport(599, 1153.197876, 785.646729, 195.044571, 4.700000);
  426. end,
  427. ['Utgarde Keep'] = function(player)
  428. player:Teleport(574, 156.792572, -87.778931, 12.551690, 0.361283);
  429. end,
  430. ['Utgarde Pinnacle'] = function(player)
  431. player:Teleport(575, 569.445129, -327.677246, 110.138466, 3.119602);
  432. end
  433. },
  434. ['Locations'] = {
  435. ['Borean Tundra'] = function(player)
  436. player:Teleport(571, 3619.069580, 5921.716797, 137.528061, 2.010619);
  437. end,
  438. ['Crystalsong Forest'] = function(player)
  439. player:Teleport(571, 5489.319824, 446.886475, 164.181854, 5.171846);
  440. end,
  441. ['Dragonblight'] = function(player)
  442. player:Teleport(571, 3608.873535, 1399.043579, 92.152153, 0.376990);
  443. end,
  444. ['Grizzly Hills'] = function(player)
  445. player:Teleport(571, 4320.912109, -3607.699463, 247.999969, 0.219911);
  446. end,
  447. ['Howling Fjord'] = function(player)
  448. player:Teleport(571, 683.168640, -3976.332031, 230.408386, 4.505828);
  449. end,
  450. ['Hrothgar\'s Landing'] = function(player)
  451. player:Teleport(571, 10409.391602, 942.199341, 127.082535, 3.802111);
  452. end,
  453. ['Icecrown'] = function(player)
  454. player:Teleport(571, 8119.075195, 779.141357, 481.829254, 4.352682);
  455. end,
  456. ['Sholazar Basin'] = function(player)
  457. player:Teleport(571, 6120.295898, 4335.301270, -74.193039, 0.787760);
  458. end,
  459. ['The Storm Peaks'] = function(player)
  460. player:Teleport(571, 8419.461914, -1003.256836, 904.274780, 0.032201);
  461. end,
  462. ['Wintergrasp'] = function(player)
  463. player:Teleport(571, 4844.255859, 3581.082031, 354.519501, 3.921494);
  464. end,
  465. ['Zul\'Drak'] = function(player)
  466. player:Teleport(571, 5448.356445, -2173.203369, 248.309402, 4.711604);
  467. end
  468. },
  469. ['check'] = function(player)
  470. return player:GetLevel() >= 70;
  471. end
  472. },
  473. ['Arena\'s'] = {
  474. ['Gurubashi Arena'] = function(player)
  475. player:Teleport(0, -13262.516602, 161.138275, 36.428162, 1.117621);
  476. end,
  477. ['Dalaran Arena'] = function(player)
  478. player:Teleport(571, 5777.953125, 607.687683, 565.304260, 4.017313);
  479. end,
  480. ['The Maul'] = function(player)
  481. player:Teleport(1, -3754.202881, 1095.136230, 131.969131, 0.000000);
  482. end,
  483. ['Circle of Blood'] = function(player)
  484. player:Teleport(530, 2842.087158, 5927.591309, 0.891570, 2.901261);
  485. end,
  486. ['Ring of Trials'] = function(player)
  487. player:Teleport(530, -2043.349976, 6654.839844, 13.053447, 0.000000);
  488. end,
  489. ['Amphitheater of Anguish'] = function(player)
  490. player:Teleport(571, 5779.125488, -2986.801270, 273.010162, 5.137288);
  491. end
  492. },
  493. ['Remove resurrection sickness'] = {
  494. function(player)
  495. player:RemoveAura(15007);
  496. end,
  497. ['check'] = function(player)
  498. return player:HasAura(15007);
  499. end
  500. },
  501. _next = 13
  502. };
  503. RegisterDynamicCreatureGossipEvent(creature_id, locations);