Advertisement
Guest User

Untitled

a guest
Jun 27th, 2017
53
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 19.88 KB | None | 0 0
  1. #include "StdAfx.h"
  2. #include "Setup.h"
  3.  
  4. #ifdef WIN32
  5. #pragma warning(disable:4305)// warning C4305: 'argument' : truncation from 'double' to 'float'
  6. #endif
  7.  
  8.  
  9. class SCRIPT_DECL GlobalNPC : public GossipScript
  10. {
  11. public:
  12. void GossipHello(Object * pObject, Player* Plr, bool AutoSend);
  13. void GossipSelectOption(Object * pObject, Player* Plr, uint32 Id, uint32 IntId, const char * Code);
  14. void GossipEnd(Object * pObject, Player* Plr);
  15. void Destroy()
  16. {
  17. delete this;
  18. }
  19. };
  20. void GlobalNPC::GossipHello(Object * pObject, Player* Plr, bool AutoSend)
  21. {
  22. GossipMenu *Menu;
  23. objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr);
  24. if(Plr->getRace()== 10||Plr->getRace()== 2||Plr->getRace()== 6||Plr->getRace()== 8||Plr->getRace()== 5)
  25. {Menu->AddItem(0, "Horde Cities", 1);}else{Menu->AddItem(1, "Alliance Cities", 2);}
  26. Menu->AddItem(2, "Global Locations", 80);
  27. Menu->AddItem(3, "Azeroth Instances", 30);
  28. Menu->AddItem(4, "Outland Instances", 50);
  29. Menu->AddItem(5, "Shattrath", 20);
  30. Menu->AddItem(6, "Gurubashi Arena", 21);
  31. Menu->AddItem(8, "Buff me up, baby!", 96);
  32. /* Menu->AddItem(7, "Make This Place Your Home", 95); */
  33. Menu->AddItem(9, "Remove Resurrection Sickness", 97);
  34.  
  35. if(AutoSend)
  36. Menu->SendTo(Plr);
  37. }
  38.  
  39. void GlobalNPC::GossipSelectOption(Object * pObject, Player* Plr, uint32 Id, uint32 IntId, const char * Code)
  40. {
  41. Creature * pCreature = (pObject->GetTypeId()==TYPEID_UNIT)?((Creature*)pObject):NULL;
  42. if(pCreature==NULL)
  43. return;
  44.  
  45. GossipMenu * Menu;
  46. switch(IntId)
  47. {
  48. case 0:
  49. GossipHello(pObject, Plr, true);
  50. break;
  51.  
  52. case 1: // Hord Cities
  53. {
  54. objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr);
  55. Menu->AddItem(5, "Silvermoon", 4);
  56. Menu->AddItem(5, "Orgrimmar", 5);
  57. Menu->AddItem(5, "Thunder Bluff", 6);
  58. Menu->AddItem(5, "Undercity", 7);
  59.  
  60. Menu->SendTo(Plr);
  61. }
  62. break;
  63.  
  64.  
  65. case 2: // Alliance Cities
  66. {
  67. objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr);
  68. Menu->AddItem(5, "The Exodar", 8);
  69. Menu->AddItem(5, "Stormwind", 9);
  70. Menu->AddItem(5, "Ironforge", 10);
  71. Menu->AddItem(5, "Darnassus", 11);
  72.  
  73. Menu->SendTo(Plr);
  74. }
  75. break;
  76.  
  77. case 3: // Outland Locations
  78. {
  79. objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr);
  80. Menu->AddItem(5, "Hellfire Peninsula", 12);
  81. Menu->AddItem(5, "Zangermarsh", 13);
  82. Menu->AddItem(5, "Nagrand", 14);
  83. Menu->AddItem(5, "Blades Edge Mountains", 15);
  84. Menu->AddItem(5, "Netherstorm", 16);
  85. Menu->AddItem(5, "Terokkar Forest", 17);
  86. Menu->AddItem(5, "Shadowmoon Valley", 18);
  87.  
  88. Menu->SendTo(Plr);
  89. }
  90. break;
  91.  
  92. case 4://Silvermoon
  93. {
  94. Plr->EventTeleport(530, 9400.486328, -7278.376953, 14.206780);
  95. }break;
  96.  
  97. case 5://Orgrimmar
  98. {
  99. Plr->EventTeleport(1, 1371.068970, -4370.801758, 26.052483);
  100. }break;
  101.  
  102. case 6://ThunderBluff
  103. {
  104. Plr->EventTeleport(1, -1304.569946, 205.285004, 68.681396);
  105. }
  106. break;
  107.  
  108. case 7://Undercity
  109. {
  110. Plr->EventTeleport(0, 2050.203125, 285.650604, 56.994549);
  111. }
  112. break;
  113.  
  114. case 8: //Exodar
  115. {
  116. Plr->EventTeleport(530, -4072.202393, -12014.337891, -1.277277);
  117. }
  118. break;
  119.  
  120. case 9: //Stormwind
  121. {
  122. Plr->EventTeleport(0, -9100.480469, 406.950745, 92.594185);
  123. }
  124. break;
  125.  
  126. case 10: //Ironforge
  127. {
  128. Plr->EventTeleport(0, -5028.265137, -825.976563, 495.301575);
  129. }
  130. break;
  131.  
  132. case 11: //Darnassus
  133. {
  134. Plr->EventTeleport(1, 9985.907227, 1971.155640, 1326.815674);
  135. }
  136. break;
  137.  
  138. case 12: //Hellfire Peninsula
  139. {
  140. Plr->EventTeleport(530, -248.160004, 922.348999, 84.379799);
  141. }
  142. break;
  143.  
  144. case 13: //Zangermarsh
  145. {
  146. Plr->EventTeleport(530, -225.863632, 5405.927246, 22.346397);
  147. }
  148. break;
  149.  
  150. case 14: //Nagrand
  151. {
  152. Plr->EventTeleport(530, -468.232330, 8418.666016, 28.031298);
  153.  
  154. }
  155. break;
  156.  
  157. case 15: //Blades Edge Mountains
  158. {
  159. Plr->EventTeleport(530, 1471.672852, 6828.047852, 107.759239);
  160.  
  161. }
  162. break;
  163.  
  164. case 16: //Netherstorm
  165. {
  166. Plr->EventTeleport(530, 3396.123779, 4182.208008, 137.097992);
  167.  
  168. }
  169. break;
  170.  
  171. case 17: //Terokkar Forest
  172. {
  173. Plr->EventTeleport(530, -1202.426636, 5313.692871, 33.774723);
  174.  
  175. }
  176. break;
  177.  
  178. case 18: //Shadowmoon Valley
  179. {
  180. Plr->EventTeleport(530, -2859.522461, 3182.34773, 10.008426);
  181.  
  182. }
  183. break;
  184.  
  185. case 20: //Shattrath
  186. {
  187. Plr->EventTeleport(530, -1887.510010, 5359.379883, -12.427300);
  188.  
  189. }
  190. break;
  191. case 21: // Gurubsahi Arena
  192. {
  193. Plr->EventTeleport(0, -13271.959961, 149.105515, 34.464458);
  194.  
  195. }
  196. break;
  197.  
  198. case 30: // Azeroth Instances
  199. {
  200. objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr);
  201. Menu->AddItem(5, "Shadowfang Keep", 31);
  202. Menu->AddItem(5, "Scarlet Monastery", 32);
  203. Menu->AddItem(5, "Zul'Farrak", 33);
  204. Menu->AddItem(5, "Stratholme", 41);
  205. Menu->AddItem(5, "Scholomance", 40);
  206. Menu->AddItem(5, "Blackrock Spire", 42);
  207. Menu->AddItem(5, "Onyxia's Lair", 38);
  208. Menu->AddItem(5, "Molten Core", 37);
  209. Menu->AddItem(5, "Zul'Gurub", 34);
  210. Menu->AddItem(5, "Karazhan", 43);
  211. Menu->AddItem(5, "Ahn'Qirai 20", 35);
  212. Menu->AddItem(5, "Ahn'Qirai 40", 36);
  213. Menu->AddItem(5, "Naxxramas", 39);
  214. Menu->AddItem(5, "Caverns of Time", 44);
  215.  
  216. Menu->SendTo(Plr);
  217. }
  218. break;
  219.  
  220. case 31: // Shadowfang Keep
  221. {
  222. Plr->EventTeleport(0, -234.495087, 1561.946411, 76.892143);
  223. }
  224. break;
  225. case 32: // Scarlet Monastery
  226. {
  227. Plr->EventTeleport(0, 2870.442627, -819.985229, 160.331085);
  228. }
  229. break;
  230. case 33: // Zul'Farrak
  231. {
  232. Plr->EventTeleport(1, -6797.278809, -2903.917969, 9.953360);
  233. }
  234. break;
  235. case 34: // Zul'Gurub
  236. {
  237. Plr->EventTeleport(0, -11919.073242, -1202.459374, 92.298744);
  238. }
  239. break;
  240. case 35: // Ahn'Qirai 20
  241. {
  242. Plr->EventTeleport(1, -8394.730469, 1485.658447, 21.038563);
  243. }
  244. break;
  245. case 36: // Ahn'Qirai 40
  246. {
  247. Plr->EventTeleport(1, -8247.316406, 1970.156860, 129.071472);
  248. }
  249. break;
  250. case 37: // Molten Core
  251. {
  252. // Plr->EventTeleport(0, -7515.409668, -1045.369629, 182.301208);
  253. Plr->EventTeleport(409, 1089.6, -470.19, -106.41);
  254. }
  255. break;
  256. case 38: // Onyxia
  257. {
  258. // Plr->EventTeleport(1, -4708.491699, -3727.672363, 54.535076);
  259. Plr->EventTeleport(249, 30.0, -64.0, -5.0);
  260. }
  261. break;
  262. case 39: // Naxxramas
  263. {
  264. // Plr->EventTeleport(0, 3132.915283, -3731.012939, 138.658371);
  265. Plr->EventTeleport(533, 3006.06, -3436.72, 293.891);
  266. }
  267. break;
  268. case 40: //Scholomance
  269. {
  270. Plr->EventTeleport(0, 1267.468628, -2556.651367, 94.127983);
  271. }
  272. break;
  273. case 41: //Stratholme
  274. {
  275. Plr->EventTeleport(0, 3359.111572, -3380.8444238, 144.781860);
  276. }break;
  277. case 42: // Black Rock Spire
  278. {
  279. Plr->EventTeleport(0, -7527.129883, -1224.997437, 285.733002);
  280. }break;
  281. case 43: // Kharazan
  282. {
  283. // Plr->EventTeleport(0, -11122.913086, -2014.498779, 47.079350);
  284. Plr->EventTeleport(532, -11087.3, -1977.47, 49.6135);
  285.  
  286. }break;
  287. case 44: // Caverns of Times
  288. {
  289. Plr->EventTeleport(1, -8519.718750, -4297.542480, -208.441376);
  290. }break;
  291.  
  292.  
  293. case 50: // Outland Instances
  294. {
  295. objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr);
  296. Menu->AddItem(0, "Outland Raids", 64);
  297. Menu->AddItem(5, "Hellfire Ramparts", 51);
  298. Menu->AddItem(5, "The Blood Furnace", 52);
  299. Menu->AddItem(5, "The Shattered Halls", 53);
  300. Menu->AddItem(5, "The Underbog", 54);
  301. Menu->AddItem(5, "The Slave Pens", 55);
  302. Menu->AddItem(5, "The Steamvault", 56);
  303. Menu->AddItem(5, "Mana-Tombs", 57);
  304. Menu->AddItem(5, "Auchenai Crypts", 58);
  305. Menu->AddItem(5, "Sethekk Halls", 59);
  306. Menu->AddItem(5, "Shadow Labyrinth", 60);
  307. Menu->AddItem(5, "The Mechanar", 61);
  308. Menu->AddItem(5, "The Botanica", 62);
  309. Menu->AddItem(5, "The Arcatraz", 63);
  310.  
  311. Menu->SendTo(Plr);
  312. }
  313. break;
  314.  
  315. case 51: // Hellfire Ramparts
  316. {
  317. Plr->EventTeleport(530, -360.670990, 3071.899902, -15.097700);
  318. }break;
  319. case 52: // The Blood Furnace
  320. {
  321. Plr->EventTeleport(530, -303.506012, 3164.820068, 31.742500);
  322. }break;
  323. case 53: // The Shattered Halls
  324. {
  325. Plr->EventTeleport(530, -311.083527, 3083.291748, -3.745923);
  326. }break;
  327. case 54: // The Underbog
  328. {
  329. Plr->EventTeleport(530, 777.088989, 6763.450195, -72.062561);
  330. }break;
  331. case 55: // The Slave Pens
  332. {
  333. Plr->EventTeleport(530, 719.507996, 6999.339844, -73.074303);
  334. }break;
  335. case 56: // The Steamvault
  336. {
  337. Plr->EventTeleport(530, 816.590027, 6934.669922, -80.544601);
  338. }break;
  339. case 57: // Mana-Tombs
  340. {
  341. Plr->EventTeleport(530, -3079.810059, 4943.040039, -101.046997);
  342. }break;
  343. case 58: // Auchenai Crypts
  344. {
  345. Plr->EventTeleport(530, -3361.959961, 5225.770020, -101.047997);
  346. }break;
  347. case 59: // Sethekk Halls
  348. {
  349. Plr->EventTeleport(530, -3362.219971, 4660.410156, -101.049004 );
  350. }break;
  351. case 60: // Shadow Labyrinth
  352. {
  353. Plr->EventTeleport(530, -3645.060059, 4943.620117, -101.047997);
  354. }break;
  355. case 61: // The Mechanar
  356. {
  357. Plr->EventTeleport(530, 2862.409912, 1546.089966, 252.158691);
  358. }break;
  359. case 62: // The Botanica
  360. {
  361. Plr->EventTeleport(530, 3413.649902, 1483.319946, 182.837997);
  362. }break;
  363. case 63: // The Arcatraz
  364. {
  365. Plr->EventTeleport(530, 3311.598145, 1332.745117, 505.557251);
  366. }break;
  367.  
  368.  
  369. case 64: // Outland Raids
  370. {
  371. objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr);
  372. Menu->AddItem(5, "Magtheridon's Lair", 65);
  373. Menu->AddItem(5, "Serpentshrine Cavern", 66);
  374. Menu->AddItem(5, "Gruul's Lair", 67);
  375. Menu->AddItem(5, "The Eye", 68);
  376. Menu->AddItem(5, "Black Temple", 69);
  377.  
  378. Menu->SendTo(Plr);
  379. }
  380. break;
  381.  
  382. case 65: // Magtheridon's Lair
  383. {
  384. Plr->EventTeleport(530, -313.678986, 3088.350098, -116.501999);
  385. }break;
  386. case 66: // Serpentshrine Cavern
  387. {
  388. Plr->EventTeleport(530, 830.542908, 6865.445801, -63.785503);
  389. }break;
  390. case 67: // Gruul's Lair
  391. {
  392. Plr->EventTeleport(530, 3549.424072, 5179.854004, -4.430779);
  393. }break;
  394. case 68: // The Eye
  395. {
  396. Plr->EventTeleport(530, 3087.310059, 1373.790039, 184.643005);
  397. }break;
  398. case 69: // Black Temple
  399. {
  400. // Plr->EventTeleport(530, -3609.739990, 328.252014, 37.307701 );
  401. Plr->EventTeleport(564, 97.0894, 1001.96, -86.8798 );
  402. }break;
  403.  
  404.  
  405.  
  406. case 80: //SUB MENU
  407. {
  408. objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr);
  409. Menu->AddItem(5, "Eastern Kingdoms", 81);
  410. Menu->AddItem(5, "Kalimdor", 82);
  411. Menu->AddItem(5, "Outland", 3);
  412.  
  413. Menu->SendTo(Plr);
  414. }
  415. break;
  416.  
  417. case 81: // EASTERN KINGDOM
  418. {
  419. objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr);
  420. Menu->AddItem(5, "Eastern Plaguelands", 70);
  421. Menu->AddItem(5, "Western Plaguelands", 71);
  422. Menu->AddItem(5, "Tristfal Glades", 72);
  423. Menu->AddItem(5, "Alterac Mountains", 73);
  424. Menu->AddItem(5, "Silverpine Forest", 74);
  425. Menu->AddItem(5, "Hillsbrad Foothills", 75);
  426. Menu->AddItem(5, "The Hinterlands", 76);
  427. Menu->AddItem(5, "Arathi Highlands", 77);
  428. Menu->AddItem(5, "Wetlands", 78);
  429. Menu->AddItem(5, "Dun Morogh", 79);
  430. Menu->AddItem(5, "Loch Modan", 100);
  431. Menu->AddItem(5, "Badlands", 101);
  432. Menu->AddItem(5, "Blackrock Mountain", 102);
  433. Menu->AddItem(5, "Redridge Mountain", 103);
  434. Menu->AddItem(5, "Elwynn Forest", 104);
  435. Menu->AddItem(5, "Duskwood", 105);
  436. Menu->AddItem(5, "Westfall", 106);
  437. Menu->AddItem(5, "Swamp of Sorrows", 107);
  438. Menu->AddItem(5, "The Blasted Lands", 108);
  439. Menu->AddItem(5, "Deadwind Pass", 109);
  440. Menu->AddItem(5, "Stranglethorn Vale", 110);
  441.  
  442. Menu->SendTo(Plr);
  443. }
  444. break;
  445.  
  446. case 82: // KALIMDOR
  447. {
  448. objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr);
  449. Menu->AddItem(5, "Moonglade", 111);
  450. Menu->AddItem(5, "Winterspring", 112);
  451. Menu->AddItem(5, "Felwood", 113);
  452. Menu->AddItem(5, "Darkshore", 114);
  453. Menu->AddItem(5, "Azshara", 115);
  454. Menu->AddItem(5, "Ashenvale", 116);
  455. Menu->AddItem(5, "Stonetalon Mountains", 117);
  456. Menu->AddItem(5, "The Barrens", 118);
  457. Menu->AddItem(5, "Durotar", 119);
  458. Menu->AddItem(5, "Mulgore", 120);
  459. Menu->AddItem(5, "Desolace", 121);
  460. Menu->AddItem(5, "Dustwallow Marsh", 122);
  461. Menu->AddItem(5, "Feralas", 123);
  462. Menu->AddItem(5, "Thousand Needles", 124);
  463. Menu->AddItem(5, "Tanaris Desert", 125);
  464. Menu->AddItem(5, "Un'Goro Crater", 126);
  465. Menu->AddItem(5, "Silithus", 127);
  466.  
  467. Menu->SendTo(Plr);
  468. }
  469. break;
  470.  
  471. // EASTERN KINGDOMS [case] //
  472. case 70: // WesternPlaguelands
  473. {
  474. Plr->EventTeleport( 0, 1855, -1569, 61);
  475. }break;
  476.  
  477. case 71: // EasternPlaguelands
  478. {
  479. Plr->EventTeleport( 0, 2278, -5311, 89);
  480. }break;
  481.  
  482. case 72: // TristfallGlades
  483. {
  484. Plr->EventTeleport( 0, 2032, -432, 37);
  485. }break;
  486.  
  487. case 73: // AlteracMountains
  488. {
  489. Plr->EventTeleport( 0, 552, -275, 152);
  490. }break;
  491.  
  492. case 74: // Silverpine Forest
  493. {
  494. Plr->EventTeleport( 0, -126, 815, 68);
  495. }break;
  496.  
  497. case 75: // Hillsbrad
  498. {
  499. Plr->EventTeleport( 0, -502, 91, 61);
  500. }break;
  501.  
  502. case 76: // TheHinterlands
  503. {
  504. Plr->EventTeleport( 0, -678, -4018, 240);
  505. }break;
  506.  
  507. case 77: // ArathiHighlands
  508. {
  509. Plr->EventTeleport( 0, -797, -2068, 35);
  510. }break;
  511.  
  512. case 78: // Wetlands
  513. {
  514. Plr->EventTeleport( 0, -3256, -2718, 11);
  515. }break;
  516.  
  517. case 79: // Dunmorogh
  518. {
  519. Plr->EventTeleport( 0, -5826, -1586, 366);
  520. }break;
  521.  
  522. case 100: // Lochmodan
  523. {
  524. Plr->EventTeleport( 0, -4771, -3329, 347);
  525. }break;
  526.  
  527. case 101: // Badlands
  528. {
  529. Plr->EventTeleport( 0, -7027, -3330, 243);
  530. }break;
  531.  
  532. case 102: // Blackrockmountain
  533. {
  534. Plr->EventTeleport( 0, -7317, -1072, 279);
  535. }break;
  536.  
  537. case 103: // Redridgemountain
  538. {
  539. Plr->EventTeleport( 0, -9168, -2726, 92);
  540. }break;
  541.  
  542. case 104: // ElwynnForest
  543. {
  544. Plr->EventTeleport( 0, -9325, -1038, 67);
  545. }break;
  546.  
  547. case 105: // Duskwood
  548. {
  549. Plr->EventTeleport( 0, -10694, -884, 52);
  550. }break;
  551.  
  552. case 106: // Westfall
  553. {
  554. Plr->EventTeleport( 0, -11018, 1513, 45);
  555. }break;
  556.  
  557. case 107: // SwampofSorrows
  558. {
  559. Plr->EventTeleport( 0, -10429, -3828, -29);
  560. }break;
  561.  
  562. case 108: // BlastedLands
  563. {
  564. Plr->EventTeleport( 0, -11853, -3197, -25);
  565. }break;
  566.  
  567. case 109: // DeadwindPass
  568. {
  569. Plr->EventTeleport( 0, -10435, -1809, 101);
  570. }break;
  571.  
  572. case 110: // Stranglethornvale
  573. {
  574. Plr->EventTeleport( 0, -13382, 2, 23);
  575. }break;
  576.  
  577.  
  578.  
  579. // KALIMDOR [case] //
  580.  
  581. case 111: // Moonglade
  582. {
  583. Plr->EventTeleport( 1, 7978, -2501, 490);
  584. }break;
  585.  
  586. case 112: // winterspring
  587. {
  588. Plr->EventTeleport( 1, 6721, -4659, 722);
  589. }break;
  590.  
  591. case 113: // felwood
  592. {
  593. Plr->EventTeleport( 1, 4878, -614, 362);
  594. }break;
  595.  
  596. case 114: // darkshore
  597. {
  598. Plr->EventTeleport( 1, 4565, 438, 34);
  599. }break;
  600.  
  601. case 115: // azshara
  602. {
  603. Plr->EventTeleport( 1, 2717, -5968, 108);
  604. }break;
  605.  
  606. case 116: // ashenvale
  607. {
  608. Plr->EventTeleport( 1, 3469, 847, 7);
  609. }break;
  610.  
  611. case 117: // Stonetalon
  612. {
  613. Plr->EventTeleport( 1, 898, 922, 128);
  614. }break;
  615.  
  616. case 118: // TheBarrens
  617. {
  618. Plr->EventTeleport( 1, -1330, -3120, 93);
  619. }break;
  620.  
  621. case 119: // Durotar
  622. {
  623. Plr->EventTeleport( 1, 242, -5151, 3);
  624. }break;
  625.  
  626. case 120: // Mulgore
  627. {
  628. Plr->EventTeleport( 1, -2326, -367, -6);
  629. }break;
  630.  
  631. case 121: // Desolace
  632. {
  633. Plr->EventTeleport( 1, -939, 1091, 95);
  634. }break;
  635.  
  636. case 122: // Dustwallow
  637. {
  638. Plr->EventTeleport( 1, -3719, -2530, 71);
  639. }break;
  640.  
  641. case 123: // Feralas
  642. {
  643. Plr->EventTeleport( 1, -4508, 2041, 53);
  644. }break;
  645.  
  646. case 124: // ThousandNeedles
  647. {
  648. Plr->EventTeleport( 1, -4619, -1850, 88);
  649. }break;
  650.  
  651. case 125: // Tanaris
  652. {
  653. Plr->EventTeleport( 1, -7373, -2950, 12);
  654. }break;
  655.  
  656. case 126: // Ungoro
  657. {
  658. Plr->EventTeleport( 1, -6186, -1106, -215);
  659. }break;
  660.  
  661. case 127: // Silithus
  662. {
  663. Plr->EventTeleport( 1, -6824, 821, 51);
  664. }break;
  665.  
  666. /* case 95: // Bind Position .:TAKEN OUT DUE TO CRASH:.
  667. {
  668. Plr->GetSession()->SendInnkeeperBind(pCreature);
  669.  
  670.  
  671. }break; */
  672.  
  673.  
  674. case 96: // Buff me up
  675. {
  676. objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr);
  677. pCreature->CastSpell(Plr, 15366, 0);
  678. pCreature->SendChatMessage(CHAT_MSG_MONSTER_SAY, LANG_UNIVERSAL, "By all that is wrong in this world, I bless you." );
  679.  
  680. Menu->SendTo(Plr);
  681. }break;
  682.  
  683.  
  684. case 97: // REMOVE RESSURECTION SICKNESS
  685. {
  686. objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr);
  687. Plr->addSpell(15007);
  688. Plr->removeSpell(15007,0,0,0);
  689. pCreature->SendChatMessage(CHAT_MSG_MONSTER_SAY, LANG_UNIVERSAL, "You have been cured of that dreaded sickness." );
  690.  
  691. Menu->SendTo(Plr);
  692. }break;
  693.  
  694.  
  695.  
  696. case 99: //main menu
  697. {
  698. objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr);
  699. if(Plr->getRace()== 10||Plr->getRace()== 2||Plr->getRace()== 6||Plr->getRace()== 8||Plr->getRace()== 5)
  700. {Menu->AddItem(0, "Horde Cities", 1);}else{Menu->AddItem(1, "Alliance Cities", 2);}
  701. Menu->AddItem(2, "Global Locations", 80);
  702. Menu->AddItem(3, "Azeroth Instances", 30);
  703. Menu->AddItem(4, "Outland Instances", 50);
  704. Menu->AddItem(5, "Shattrath", 20);
  705. Menu->AddItem(6, "Gurubashi Arena", 21);
  706. Menu->AddItem(8, "Buff me up, baby!", 96);
  707. /* Menu->AddItem(7, "Make This Place Your Home", 95); */
  708. Menu->AddItem(9, "Remove Resurrection Sickness", 97);
  709. Menu->SendTo(Plr);
  710. }break;
  711.  
  712.  
  713. }
  714. }
  715.  
  716. void GlobalNPC::GossipEnd(Object * pObject, Player* Plr)
  717. {
  718. GossipScript::GossipEnd(pObject, Plr);
  719. }
  720.  
  721. void SetupGlobalNPC(ScriptMgr * mgr)
  722. {
  723. GossipScript * gs = (GossipScript*) new GlobalNPC();
  724. mgr->register_gossip_script(112230, gs);
  725. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement