Advertisement
Guest User

Teleporter npc for Trinity

a guest
Mar 11th, 2010
1,378
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 41.04 KB | None | 0 0
  1. // Written by Tekkeryole -
  2. // Added in Trainer spells by class
  3. // Added in Player Tools Section
  4. // removed sd2 config calls
  5. // Added in Mall and PVP area coord defines for easier access
  6. // configured solely for World of GoonCraft
  7.  
  8. /* ScriptData
  9. SDName: telenpc
  10. SD%Complete: 100
  11. SDComment: Teleporter + Player Tools
  12. SDCategory: NPC
  13. EndScriptData */
  14.  
  15. #include "ScriptedPch.h"
  16. #include "..\..\src\shared\Config\Config.h"
  17.  
  18. #ifdef WIN32
  19. #pragma warning(disable:4700) // uninitialized local variable
  20. #pragma warning(disable:4101) // unreferenced local variable
  21. #endif
  22. /*
  23. Coord defines go as follow
  24. map id
  25. X
  26. Y
  27. Z
  28. Orientation
  29. */
  30.  
  31. //Horde Mall Coord Defines
  32. #define HMMD    1
  33. #define HMXD    2149.65
  34. #define HMYD    -4747.51
  35. #define HMZD    68.4128
  36. #define HMOD    5.79939
  37. //Ally Mall Coord Defines
  38. #define AMMD    0
  39. #define AMXD    -8451.422852
  40. #define AMYD    345.783569
  41. #define AMZD    120.885681
  42. #define AMOD    5.314967
  43. //Horde PvP Port
  44. #define HPMD    0
  45. #define HPXD    -13277.4
  46. #define HPYD    127.372
  47. #define HPZD    26.1418
  48. #define HPOD    1.11878
  49. //Ally PvP Port
  50. #define APMD    0
  51. #define APXD    -13277.4
  52. #define APYD    127.372
  53. #define APZD    26.1418
  54. #define APOD    1.11878
  55.  
  56. #define REQ_LEVEL   80
  57.  
  58. bool GossipHello_TeleNPC(Player* Plr, Creature* pCrea)
  59. {
  60.     // Main Menu for Alliance
  61.     if (Plr->GetTeam() == ALLIANCE)
  62.     {
  63.     Plr->ADD_GOSSIP_ITEM( 12, "Welcome To Distructive-WoW, How can i help you?", GOSSIP_SENDER_MAIN, 8888);
  64.     Plr->ADD_GOSSIP_ITEM( 7, "Alliance Town ->", GOSSIP_SENDER_MAIN, 1000);
  65.     Plr->ADD_GOSSIP_ITEM( 7, "Neutral Town ->", GOSSIP_SENDER_MAIN, 3000);
  66.     Plr->ADD_GOSSIP_ITEM( 7, "Dungeons ->", GOSSIP_SENDER_MAIN, 5000);
  67.     }
  68.     else // Main Menu for Horde
  69.     {
  70.     Plr->ADD_GOSSIP_ITEM( 7, "Horde Town ->", GOSSIP_SENDER_MAIN, 2000);
  71.     Plr->ADD_GOSSIP_ITEM( 7, "Neutral Town ->", GOSSIP_SENDER_MAIN, 3000);
  72.     Plr->ADD_GOSSIP_ITEM( 7, "Dungeons ->", GOSSIP_SENDER_MAIN, 5000);
  73.     }
  74.     Plr->ADD_GOSSIP_ITEM( 8, "Shopping Mall", GOSSIP_SENDER_MAIN, 5200);
  75.     Plr->ADD_GOSSIP_ITEM( 9, "Gurbashi Arena - PvP", GOSSIP_SENDER_MAIN, 3500);
  76.     Plr->ADD_GOSSIP_ITEM( 6, "Player Tools ->", GOSSIP_SENDER_MAIN, 4666);
  77.     //Plr->ADD_GOSSIP_ITEM( 8, " - !IN DEV! - Random Q&A - Test Your Knowledge - !IN DEV! . . . ./n Tek", GOSSIP_SENDER_MAIN, 0);
  78.     Plr->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE,pCrea->GetGUID());
  79. return true;
  80. }
  81.  
  82.  
  83. void SendDefaultMenu_TeleNPC(Player* Plr, Creature* pCrea, uint32 action)
  84. {
  85.  
  86. // Not allow in combat
  87. if (Plr->isInCombat())
  88. {
  89.     Plr->CLOSE_GOSSIP_MENU();
  90.     pCrea->MonsterSay("You are in combat!", LANG_UNIVERSAL, NULL);
  91.     return;
  92. }
  93.  
  94. switch(action)
  95.  
  96. {
  97.  
  98. case 1000: //Alliance Town
  99.     Plr->ADD_GOSSIP_ITEM( 5, "Darnassus", GOSSIP_SENDER_MAIN, 1001);
  100.     Plr->ADD_GOSSIP_ITEM( 5, "Exodar", GOSSIP_SENDER_MAIN, 1005);
  101.     Plr->ADD_GOSSIP_ITEM( 5, "Ironforge", GOSSIP_SENDER_MAIN, 1010);
  102.     Plr->ADD_GOSSIP_ITEM( 5, "Stormwind", GOSSIP_SENDER_MAIN, 1015);
  103.     Plr->ADD_GOSSIP_ITEM( 7, "Dungeons ->", GOSSIP_SENDER_MAIN, 5000);
  104.     Plr->ADD_GOSSIP_ITEM( 7, "<- Main Menu", GOSSIP_SENDER_MAIN, 5005);
  105.  
  106.     Plr->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE,pCrea->GetGUID());
  107. break;
  108.  
  109. case 2000: //Horde Town
  110.     Plr->ADD_GOSSIP_ITEM( 5, "Orgrimmar", GOSSIP_SENDER_MAIN, 2001);
  111.     Plr->ADD_GOSSIP_ITEM( 5, "Silvermoon", GOSSIP_SENDER_MAIN, 2005);
  112.     Plr->ADD_GOSSIP_ITEM( 5, "Thunder Bluff", GOSSIP_SENDER_MAIN, 2010);
  113.     Plr->ADD_GOSSIP_ITEM( 5, "Undercity", GOSSIP_SENDER_MAIN, 2015);
  114.     Plr->ADD_GOSSIP_ITEM( 7, "Dungeons ->", GOSSIP_SENDER_MAIN, 5000);
  115.     Plr->ADD_GOSSIP_ITEM( 7, "<- Main Menu", GOSSIP_SENDER_MAIN, 5005);
  116.  
  117.     Plr->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE,pCrea->GetGUID());
  118. break;
  119.  
  120. case 3000: //Neutral Town
  121.  
  122.     // Check if player is DK for "Ebon Hold"
  123.     if(Plr->getClass()==6)
  124.     {
  125.     Plr->ADD_GOSSIP_ITEM( 5, "Ebon Hold", GOSSIP_SENDER_MAIN, 3001);
  126.     Plr->ADD_GOSSIP_ITEM( 5, "Booty Bay", GOSSIP_SENDER_MAIN, 3005);
  127.     Plr->ADD_GOSSIP_ITEM( 5, "Dalaran", GOSSIP_SENDER_MAIN, 3010);
  128.     Plr->ADD_GOSSIP_ITEM( 5, "Everlook", GOSSIP_SENDER_MAIN, 3015);
  129.     Plr->ADD_GOSSIP_ITEM( 5, "Gadegetzan", GOSSIP_SENDER_MAIN, 3020);
  130.     Plr->ADD_GOSSIP_ITEM( 5, "Mudsprocket", GOSSIP_SENDER_MAIN, 3025);
  131.     Plr->ADD_GOSSIP_ITEM( 5, "Ratchet", GOSSIP_SENDER_MAIN, 3030);
  132.     Plr->ADD_GOSSIP_ITEM( 5, "Shattrath City", GOSSIP_SENDER_MAIN, 3035);
  133.     Plr->ADD_GOSSIP_ITEM( 5, "Isle Of Quel'Danas", GOSSIP_SENDER_MAIN, 3040);
  134.     Plr->ADD_GOSSIP_ITEM( 7, "Dungeons ->", GOSSIP_SENDER_MAIN, 5000);
  135.     Plr->ADD_GOSSIP_ITEM( 7, "<- Main Menu", GOSSIP_SENDER_MAIN, 5005);
  136.     }
  137.     else
  138.     {
  139.     Plr->ADD_GOSSIP_ITEM( 5, "Booty Bay", GOSSIP_SENDER_MAIN, 3005);
  140.     Plr->ADD_GOSSIP_ITEM( 5, "Dalaran", GOSSIP_SENDER_MAIN, 3010);
  141.     Plr->ADD_GOSSIP_ITEM( 5, "Everlook", GOSSIP_SENDER_MAIN, 3015);
  142.     Plr->ADD_GOSSIP_ITEM( 5, "Gadegetzan", GOSSIP_SENDER_MAIN, 3020);
  143.     Plr->ADD_GOSSIP_ITEM( 5, "Mudsprocket", GOSSIP_SENDER_MAIN, 3025);
  144.     Plr->ADD_GOSSIP_ITEM( 5, "Ratchet", GOSSIP_SENDER_MAIN, 3030);
  145.     Plr->ADD_GOSSIP_ITEM( 5, "Shattrath City", GOSSIP_SENDER_MAIN, 3035);
  146.     Plr->ADD_GOSSIP_ITEM( 5, "Isle Of Quel'Danas", GOSSIP_SENDER_MAIN, 3040);
  147.     Plr->ADD_GOSSIP_ITEM( 7, "Dungeons ->", GOSSIP_SENDER_MAIN, 5000);
  148.     Plr->ADD_GOSSIP_ITEM( 7, "<- Main Menu", GOSSIP_SENDER_MAIN, 5005);
  149.     }
  150.     Plr->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE,pCrea->GetGUID());
  151. break;
  152.  
  153. case 5000: //Dungeons
  154.     Plr->ADD_GOSSIP_ITEM( 7, "Kalimdor ->", GOSSIP_SENDER_MAIN, 5010);
  155.     Plr->ADD_GOSSIP_ITEM( 7, "Eastern Kingdoms ->", GOSSIP_SENDER_MAIN, 5015);
  156.     Plr->ADD_GOSSIP_ITEM( 7, "Outland ->", GOSSIP_SENDER_MAIN, 5025);
  157.     Plr->ADD_GOSSIP_ITEM( 7, "Northrend ->", GOSSIP_SENDER_MAIN, 5030);
  158.     Plr->ADD_GOSSIP_ITEM( 7, "<- Main Menu", GOSSIP_SENDER_MAIN, 5005);
  159.  
  160.     Plr->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE,pCrea->GetGUID());
  161. break;
  162.  
  163. case 5005: //Back To Main Menu
  164.  
  165.     // Main Menu for Alliance
  166.     if (Plr->GetTeam() == ALLIANCE)
  167.     {
  168.     Plr->ADD_GOSSIP_ITEM( 7, "Alliance Town ->", GOSSIP_SENDER_MAIN, 1000);
  169.     Plr->ADD_GOSSIP_ITEM( 7, "Neutral Town ->", GOSSIP_SENDER_MAIN, 3000);
  170.     Plr->ADD_GOSSIP_ITEM( 7, "Dungeons ->", GOSSIP_SENDER_MAIN, 5000);
  171.     }
  172.     else // Main Menu for Horde
  173.     {
  174.     Plr->ADD_GOSSIP_ITEM( 7, "Horde Town ->", GOSSIP_SENDER_MAIN, 2000);
  175.     Plr->ADD_GOSSIP_ITEM( 7, "Neutral Town ->", GOSSIP_SENDER_MAIN, 3000);
  176.     Plr->ADD_GOSSIP_ITEM( 7, "Dungeons ->", GOSSIP_SENDER_MAIN, 5000);
  177.     }
  178.     Plr->ADD_GOSSIP_ITEM( 8, "Shopping Mall", GOSSIP_SENDER_MAIN, 5200);
  179.     Plr->ADD_GOSSIP_ITEM( 9, "Gurbashi Arena - PvP", GOSSIP_SENDER_MAIN, 3500);
  180.     Plr->ADD_GOSSIP_ITEM( 6, "Player Tools ->", GOSSIP_SENDER_MAIN, 4666);
  181.  
  182.     Plr->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE,pCrea->GetGUID());
  183. break;
  184.  
  185. case 4666: // Teach Class Spells
  186.  
  187.     if(Plr->getClass() == CLASS_WARRIOR && Plr->getLevel() == REQ_LEVEL)
  188.     {
  189.     Plr->ADD_GOSSIP_ITEM( 9, "Player Tools ->", GOSSIP_SENDER_MAIN, 5005);
  190.     Plr->ADD_GOSSIP_ITEM( 5, "Warrior Spells", GOSSIP_SENDER_MAIN, 101);
  191.     }
  192.  
  193.     if(Plr->getClass() == CLASS_DEATH_KNIGHT && Plr->getLevel() == REQ_LEVEL)
  194.     {
  195.     Plr->ADD_GOSSIP_ITEM( 9, "Player Tools ->", GOSSIP_SENDER_MAIN, 5005);
  196.     Plr->ADD_GOSSIP_ITEM( 5, "Death Knight Spells", GOSSIP_SENDER_MAIN, 102);
  197.     }
  198.  
  199.     if(Plr->getClass() == CLASS_DRUID && Plr->getLevel() == REQ_LEVEL)
  200.     {
  201.     Plr->ADD_GOSSIP_ITEM( 9, "Player Tools ->", GOSSIP_SENDER_MAIN, 5005);
  202.     Plr->ADD_GOSSIP_ITEM( 5, "Druid Spells", GOSSIP_SENDER_MAIN, 103);
  203.     }
  204.  
  205.     if(Plr->getClass() == CLASS_HUNTER && Plr->getLevel() == REQ_LEVEL)
  206.     {
  207.     Plr->ADD_GOSSIP_ITEM( 9, "Player Tools ->", GOSSIP_SENDER_MAIN, 5005);
  208.     Plr->ADD_GOSSIP_ITEM( 5, "Hunter Spells", GOSSIP_SENDER_MAIN, 104);
  209.     }
  210.  
  211.     if(Plr->getClass() == CLASS_MAGE && Plr->getLevel() == REQ_LEVEL)
  212.     {
  213.     Plr->ADD_GOSSIP_ITEM( 9, "Player Tools ->", GOSSIP_SENDER_MAIN, 5005);
  214.     Plr->ADD_GOSSIP_ITEM( 5, "Mage Spells", GOSSIP_SENDER_MAIN, 105);
  215.     }
  216.  
  217.     if(Plr->getClass() == CLASS_PALADIN && Plr->getLevel() == REQ_LEVEL)
  218.     {
  219.     Plr->ADD_GOSSIP_ITEM( 9, "Player Tools ->", GOSSIP_SENDER_MAIN, 5005);
  220.     Plr->ADD_GOSSIP_ITEM( 5, "Paladin Spells", GOSSIP_SENDER_MAIN, 106);
  221.     }
  222.  
  223.     if(Plr->getClass() == CLASS_PRIEST && Plr->getLevel() == REQ_LEVEL)
  224.     {
  225.     Plr->ADD_GOSSIP_ITEM( 9, "Player Tools ->", GOSSIP_SENDER_MAIN, 5005);
  226.     Plr->ADD_GOSSIP_ITEM( 5, "Priest Spells", GOSSIP_SENDER_MAIN, 107);
  227.     }
  228.  
  229.     if(Plr->getClass() == CLASS_ROGUE && Plr->getLevel() == REQ_LEVEL)
  230.     {
  231.     Plr->ADD_GOSSIP_ITEM( 9, "Player Tools ->", GOSSIP_SENDER_MAIN, 5005);
  232.     Plr->ADD_GOSSIP_ITEM( 5, "Rogue Spells", GOSSIP_SENDER_MAIN, 108);
  233.     }
  234.  
  235.     if(Plr->getClass() == CLASS_SHAMAN && Plr->getLevel() == REQ_LEVEL)
  236.     {
  237.     Plr->ADD_GOSSIP_ITEM( 9, "Player Tools ->", GOSSIP_SENDER_MAIN, 5005);
  238.     Plr->ADD_GOSSIP_ITEM( 5, "Shaman Spells", GOSSIP_SENDER_MAIN, 109);
  239.     }
  240.  
  241.     if(Plr->getClass() == CLASS_WARLOCK && Plr->getLevel() == REQ_LEVEL)
  242.     {
  243.     Plr->ADD_GOSSIP_ITEM( 9, "Player Tools ->", GOSSIP_SENDER_MAIN, 5005);
  244.     Plr->ADD_GOSSIP_ITEM( 5, "Warlock Spells", GOSSIP_SENDER_MAIN, 110);
  245.     }
  246.     Plr->ADD_GOSSIP_ITEM( 5, "Reset Talent Points", GOSSIP_SENDER_MAIN, 4010);
  247.     Plr->ADD_GOSSIP_ITEM( 5, "Reset Pet Talent Points", GOSSIP_SENDER_MAIN, 4015);
  248.     Plr->ADD_GOSSIP_ITEM( 5, "Advance my skills to Max for my Level", GOSSIP_SENDER_MAIN, 6776);
  249.     Plr->ADD_GOSSIP_ITEM( 5, "Riding Skills", GOSSIP_SENDER_MAIN, 111);
  250.     Plr->ADD_GOSSIP_ITEM( 5, "I Need a Drink!", GOSSIP_SENDER_MAIN, 6888);
  251.     Plr->ADD_GOSSIP_ITEM( 5, "Ugh, Sober me up, I've had Enough...", GOSSIP_SENDER_MAIN, 6889);
  252.     Plr->ADD_GOSSIP_ITEM( 5, "Dual Talent Specialization", GOSSIP_SENDER_MAIN, 67777);
  253.  
  254.     Plr->ADD_GOSSIP_ITEM( 5, "Make This Place Your Home", GOSSIP_SENDER_MAIN, 4005);
  255.     Plr->ADD_GOSSIP_ITEM( 7, "<- [Main Menu]"   , GOSSIP_SENDER_MAIN, 5005);
  256.    
  257.     Plr->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE,pCrea->GetGUID());
  258.     break;
  259.  
  260. case 5010: //Kalimdor
  261.     Plr->ADD_GOSSIP_ITEM( 5, "Blackfathom Deeps", GOSSIP_SENDER_MAIN, 6001);
  262.     Plr->ADD_GOSSIP_ITEM( 5, "Caverns of Time", GOSSIP_SENDER_MAIN, 6005);
  263.     Plr->ADD_GOSSIP_ITEM( 5, "Dire Maul", GOSSIP_SENDER_MAIN, 6010);
  264.     Plr->ADD_GOSSIP_ITEM( 5, "Maraudon", GOSSIP_SENDER_MAIN, 6015);
  265.     Plr->ADD_GOSSIP_ITEM( 5, "Onyxia's Lair", GOSSIP_SENDER_MAIN, 6020);
  266.     Plr->ADD_GOSSIP_ITEM( 5, "Ragefire Chasm", GOSSIP_SENDER_MAIN, 6025);
  267.     Plr->ADD_GOSSIP_ITEM( 5, "Razorfen Downs", GOSSIP_SENDER_MAIN, 6030);
  268.     Plr->ADD_GOSSIP_ITEM( 5, "Razorfen Kraul", GOSSIP_SENDER_MAIN, 6035);
  269.     Plr->ADD_GOSSIP_ITEM( 5, "Ruins of Ahn'Qiraj", GOSSIP_SENDER_MAIN, 6040);
  270.     Plr->ADD_GOSSIP_ITEM( 5, "Temple of Ahn'Qiraj", GOSSIP_SENDER_MAIN, 6045);
  271.     Plr->ADD_GOSSIP_ITEM( 5, "Wailing Caverns", GOSSIP_SENDER_MAIN, 6050);
  272.     Plr->ADD_GOSSIP_ITEM( 5, "Zul'Farrak", GOSSIP_SENDER_MAIN, 6055);
  273.     Plr->ADD_GOSSIP_ITEM( 7, "<- Back", GOSSIP_SENDER_MAIN, 5000);
  274.    
  275.     Plr->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE,pCrea->GetGUID());
  276. break;
  277.  
  278. case 5015: //Eastern Kingdoms 1
  279.     Plr->ADD_GOSSIP_ITEM( 5, "Blackrock Depths", GOSSIP_SENDER_MAIN, 7001);
  280.     Plr->ADD_GOSSIP_ITEM( 5, "Blackrock Spire", GOSSIP_SENDER_MAIN, 7005);
  281.     Plr->ADD_GOSSIP_ITEM( 5, "Blackwing Lair", GOSSIP_SENDER_MAIN, 7010);
  282.     Plr->ADD_GOSSIP_ITEM( 5, "Deadmines", GOSSIP_SENDER_MAIN, 7015);
  283.     Plr->ADD_GOSSIP_ITEM( 5, "Gnomeregan", GOSSIP_SENDER_MAIN, 7020);
  284.     Plr->ADD_GOSSIP_ITEM( 5, "Isle Of Quel'Danas", GOSSIP_SENDER_MAIN, 7025);
  285.     Plr->ADD_GOSSIP_ITEM( 5, "Karazhan", GOSSIP_SENDER_MAIN, 7030);
  286.     Plr->ADD_GOSSIP_ITEM( 5, "Molten Core", GOSSIP_SENDER_MAIN, 7035);
  287.     Plr->ADD_GOSSIP_ITEM( 7, "More ->", GOSSIP_SENDER_MAIN, 5020);
  288.     Plr->ADD_GOSSIP_ITEM( 7, "<- Back", GOSSIP_SENDER_MAIN, 5000);
  289.  
  290.     Plr->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE,pCrea->GetGUID());
  291. break;
  292.  
  293. case 5020: //Eastern Kingdoms 2
  294.     Plr->ADD_GOSSIP_ITEM( 5, "Scarlet Monastery", GOSSIP_SENDER_MAIN, 7040);
  295.     Plr->ADD_GOSSIP_ITEM( 5, "Scholomance", GOSSIP_SENDER_MAIN, 7045);
  296.     Plr->ADD_GOSSIP_ITEM( 5, "Shadowfang Keep", GOSSIP_SENDER_MAIN, 7050);
  297.     Plr->ADD_GOSSIP_ITEM( 5, "Stratholme", GOSSIP_SENDER_MAIN, 7055);
  298.     Plr->ADD_GOSSIP_ITEM( 5, "Sunken Temple", GOSSIP_SENDER_MAIN, 7060);
  299.     Plr->ADD_GOSSIP_ITEM( 5, "The Stockade", GOSSIP_SENDER_MAIN, 7065);
  300.     Plr->ADD_GOSSIP_ITEM( 5, "Uldaman", GOSSIP_SENDER_MAIN, 7070);
  301.     Plr->ADD_GOSSIP_ITEM( 5, "Zul'Aman", GOSSIP_SENDER_MAIN, 7075);
  302.     Plr->ADD_GOSSIP_ITEM( 5, "Zul'Gurub", GOSSIP_SENDER_MAIN, 7080);
  303.     Plr->ADD_GOSSIP_ITEM( 7, "<- Back", GOSSIP_SENDER_MAIN, 5015);
  304.     Plr->ADD_GOSSIP_ITEM( 7, "<- Main Menu", GOSSIP_SENDER_MAIN, 5005);
  305.    
  306.     Plr->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE,pCrea->GetGUID());
  307. break;
  308.  
  309. case 5025: //Outland   
  310.     Plr->ADD_GOSSIP_ITEM( 5, "Auchindoun", GOSSIP_SENDER_MAIN, 8001);
  311.     Plr->ADD_GOSSIP_ITEM( 5, "Black Temple", GOSSIP_SENDER_MAIN, 8005);
  312.     Plr->ADD_GOSSIP_ITEM( 5, "Coilfang Reservoir", GOSSIP_SENDER_MAIN, 8010);
  313.     Plr->ADD_GOSSIP_ITEM( 5, "Gruul's Lair", GOSSIP_SENDER_MAIN, 8015);
  314.     Plr->ADD_GOSSIP_ITEM( 5, "Hellfire Citadel", GOSSIP_SENDER_MAIN, 8020);
  315.     Plr->ADD_GOSSIP_ITEM( 5, "Tempest Keep", GOSSIP_SENDER_MAIN, 8025);
  316.     Plr->ADD_GOSSIP_ITEM( 7, "<- Back", GOSSIP_SENDER_MAIN, 5000);
  317.    
  318.     Plr->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE,pCrea->GetGUID());
  319. break;
  320.  
  321. case 5030: //Northrend 
  322.     Plr->ADD_GOSSIP_ITEM( 5, "Ahn'Kahet", GOSSIP_SENDER_MAIN, 9001);
  323.     Plr->ADD_GOSSIP_ITEM( 5, "Azjol-Nerub", GOSSIP_SENDER_MAIN, 9005);
  324.     Plr->ADD_GOSSIP_ITEM( 5, "Drak'Tharon Keep", GOSSIP_SENDER_MAIN, 9010);
  325.     Plr->ADD_GOSSIP_ITEM( 5, "Gun'Drak", GOSSIP_SENDER_MAIN, 9015);
  326.     Plr->ADD_GOSSIP_ITEM( 5, "Icecrown Citadel", GOSSIP_SENDER_MAIN, 9020);
  327.     Plr->ADD_GOSSIP_ITEM( 5, "Naxxramas", GOSSIP_SENDER_MAIN, 9025);
  328.     Plr->ADD_GOSSIP_ITEM( 5, "The Nexus", GOSSIP_SENDER_MAIN, 9030);
  329.     Plr->ADD_GOSSIP_ITEM( 5, "The Obsidian Sanctum", GOSSIP_SENDER_MAIN, 9035);
  330.     Plr->ADD_GOSSIP_ITEM( 5, "Utgarde Keep", GOSSIP_SENDER_MAIN, 9040);
  331.     Plr->ADD_GOSSIP_ITEM( 5, "Utgarde Pinnacle", GOSSIP_SENDER_MAIN, 9045);
  332.     Plr->ADD_GOSSIP_ITEM( 5, "Ulduar", GOSSIP_SENDER_MAIN, 9050);
  333.     Plr->ADD_GOSSIP_ITEM( 5, "Violet Hold", GOSSIP_SENDER_MAIN, 9055);
  334.     Plr->ADD_GOSSIP_ITEM( 7, "<- Back", GOSSIP_SENDER_MAIN, 5000);
  335.    
  336.     Plr->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE,pCrea->GetGUID());
  337. break;
  338.  
  339. //////////////////////////////////////////////////ALLIANCE///////////////////////////////////////////////////////////////
  340.  
  341. case 1001: // Darnassus
  342.     Plr->CLOSE_GOSSIP_MENU();
  343.     Plr->TeleportTo(1, 9947.52f, 2482.73f, 1316.21f, 0.0f);
  344.    
  345. break;
  346.  
  347. case 1005: // Exodar
  348.     Plr->CLOSE_GOSSIP_MENU();
  349.     Plr->TeleportTo(530, -3954.20f, -11656.54f, -138.69f, 0.0f);
  350.    
  351. break;
  352.  
  353. case 1010: // Ironforge
  354.     Plr->CLOSE_GOSSIP_MENU();
  355.     Plr->TeleportTo(0, -4924.07f, -951.95f, 501.55f, 5.40f);
  356.    
  357. break;
  358.  
  359. case 1015: // Stormwind
  360.     Plr->CLOSE_GOSSIP_MENU();
  361.     Plr->TeleportTo(0, -8960.14f, 516.266f, 96.3568f, 0.0f);
  362.    
  363. break;
  364.  
  365. //////////////////////////////////////////////////HORDE///////////////////////////////////////////////////////////////
  366.  
  367. case 2001: // Orgrimmar
  368.     Plr->CLOSE_GOSSIP_MENU();
  369.     Plr->TeleportTo(1, 1552.5f, -4420.66f, 8.94802f, 0.0f);
  370.    
  371. break;
  372.  
  373. case 2005: // Silvermoon
  374.     Plr->CLOSE_GOSSIP_MENU();
  375.     Plr->TeleportTo(530, 9338.74f, -7277.27f, 13.7895f, 0.0f);
  376.    
  377. break;
  378.  
  379. case 2010: // Thunder Bluff
  380.     Plr->CLOSE_GOSSIP_MENU();
  381.     Plr->TeleportTo(1, -1290.0f, 147.033997f, 129.682007f, 4.919000f);
  382.    
  383. break;
  384.  
  385. case 2015: // Undercity
  386.     Plr->CLOSE_GOSSIP_MENU();
  387.     Plr->TeleportTo(0, 1819.71f, 238.79f, 60.5321f, 0.0f);
  388.    
  389. break;
  390.  
  391. //////////////////////////////////////////////////NEUTRAL///////////////////////////////////////////////////////////////
  392.  
  393. case 3001:// Ebon Hold
  394.     Plr->CLOSE_GOSSIP_MENU();
  395.     Plr->TeleportTo(0, 2353.530029f, -5665.819824f, 426.028015f, 0.596);
  396.    
  397. break;
  398.  
  399. case 3005:// Booty Bay
  400.     Plr->CLOSE_GOSSIP_MENU();
  401.     Plr->TeleportTo(0, -14438.2f, 472.22f, 15.32f, 0.65);
  402.    
  403. break;
  404.  
  405. case 3010: //Dalaran
  406.     Plr->CLOSE_GOSSIP_MENU();
  407.     Plr->TeleportTo(571, 5819.08f, 643.99f, 647.80f, 3.32f);
  408.    
  409. break;
  410.  
  411. case 3015: //Everlook
  412.     Plr->CLOSE_GOSSIP_MENU();
  413.     Plr->TeleportTo(1, 6724.77f, -4610.68f, 720.78f, 4.78f);
  414.    
  415. break;
  416.  
  417. case 3020: //Gadgetzan
  418.     Plr->CLOSE_GOSSIP_MENU();
  419.     Plr->TeleportTo(1, -7173.26f, -3785.60f, 8.37f, 6.13f);
  420.    
  421. break;
  422.  
  423. case 3025: //Mudsprocket
  424.     Plr->CLOSE_GOSSIP_MENU();
  425.     Plr->TeleportTo(1, -4564.79f, -3172.38f, 33.93f, 3.21f);
  426.    
  427. break;
  428.  
  429. case 3030: //Ratchet
  430.     Plr->CLOSE_GOSSIP_MENU();
  431.     Plr->TeleportTo(1, -956.664f, -3754.71f, 5.33239f, 0.996637f);
  432.    
  433. break;
  434.  
  435. case 3035:// Shattrath City
  436.     Plr->CLOSE_GOSSIP_MENU();
  437.     Plr->TeleportTo(530, -1850.209961f, 5435.821777f, -10.961435f, 3.403913f);
  438.    
  439. break;
  440.  
  441. case 3040:// Isle Of Quel'Danas
  442.     Plr->CLOSE_GOSSIP_MENU();
  443.     Plr->TeleportTo(530, 12947.4f,-6893.31f,5.68398f,3.09154f);
  444.    
  445. break;
  446.  
  447. //////////////////////////////////////////////////KALIMDOR///////////////////////////////////////////////////////////////
  448.  
  449. case 6001:// Blackfathom Deeps
  450.     Plr->CLOSE_GOSSIP_MENU();
  451.     Plr->TeleportTo(1, 4248.72f, 744.35f, -24.67f, 1.34f);
  452.    
  453. break;
  454.    
  455. case 6005:// Caverns of Time
  456.     Plr->CLOSE_GOSSIP_MENU();
  457.     Plr->TeleportTo(1, -8173.66f, -4746.36f, 33.84f, 4.94f);
  458.    
  459. break;
  460.  
  461. case 6010:// Dire Maul
  462.     Plr->CLOSE_GOSSIP_MENU();
  463.     Plr->TeleportTo(1, -3960.95f, 1130.64f, 161.05f, 0.0f);
  464.    
  465. break;
  466.  
  467. case 6015:// Maraudon
  468.     Plr->CLOSE_GOSSIP_MENU();
  469.     Plr->TeleportTo(1, -1431.33f, 2962.34f, 98.23f, 4.74f);
  470.    
  471. break;
  472.  
  473. case 6020:// Onyxia's Lair
  474.     Plr->CLOSE_GOSSIP_MENU();
  475.     Plr->TeleportTo(1, -4707.44f, -3726.82f, 54.6723f, 3.8f);
  476.    
  477. break;
  478.  
  479. case 6025:// Ragefire Chasm
  480.     Plr->CLOSE_GOSSIP_MENU();
  481.     Plr->TeleportTo(1, 1814.47f, -4419.46f, -18.78f, 5.28f);
  482.    
  483. break;
  484.  
  485. case 6030:// Razorfen Downs
  486.     Plr->CLOSE_GOSSIP_MENU();
  487.     Plr->TeleportTo(1, -4657.88f, -2525.59f, 81.4f, 4.16f);
  488.    
  489. break;
  490.    
  491. case 6035:// Razorfen Kraul
  492.     Plr->CLOSE_GOSSIP_MENU();
  493.     Plr->TeleportTo(1, -4463.6f, -1664.53f, 82.26f, 0.85f);
  494.    
  495. break;
  496.  
  497. case 6040:// Ruins of Ahn'Qiraj
  498.     Plr->CLOSE_GOSSIP_MENU();
  499.     Plr->TeleportTo(1, -8413.33f, 1501.27f, 29.64f, 2.61f);
  500.    
  501. break;
  502.  
  503. case 6045:// Temple of Ahn'Qiraj
  504.     Plr->CLOSE_GOSSIP_MENU();
  505.     Plr->TeleportTo(1, -8245.837891f, 1983.736206f, 129.071686f, 0.936195f);
  506.    
  507. break;
  508.  
  509. case 6050:// Wailing Caverns
  510.     Plr->CLOSE_GOSSIP_MENU();
  511.     Plr->TeleportTo(1, -722.53f,-2226.30f,16.94f,2.71f);
  512.    
  513. break;
  514.  
  515. case 6055:// Zul'Farrak
  516.     Plr->CLOSE_GOSSIP_MENU();
  517.     Plr->TeleportTo(1, -6801.9f, -2890.22f, 8.88f, 6.25f);
  518.    
  519. break;
  520.  
  521. //////////////////////////////////////////////////EASTERN KINGDOMS///////////////////////////////////////////////////////////////
  522.  
  523. case 7001:// Blackrock Depths
  524.     Plr->CLOSE_GOSSIP_MENU();
  525.     Plr->TeleportTo(0, -7180.57, -920.04f, 165.49f, 5.02f);
  526.    
  527. break;
  528.  
  529. case 7005:// Blackrock Spire
  530.     Plr->CLOSE_GOSSIP_MENU();
  531.     Plr->TeleportTo(0, -7526.77f, -1225.64f, 285.73f, 5.31f);
  532.    
  533. break;
  534.  
  535. case 7010:// Blackwing Lair
  536.     Plr->CLOSE_GOSSIP_MENU();
  537.     Plr->TeleportTo(469, -7672.61f, -1107.21f, 396.65f, 3.75f);
  538.    
  539. break;
  540.  
  541. case 7015:// Deadmines
  542.     Plr->CLOSE_GOSSIP_MENU();
  543.     Plr->TeleportTo(0, -11208.2f, 1675.92f, 24.57f, 1.48f);
  544.    
  545. break;
  546.  
  547. case 7020:// Gnomeregan
  548.     Plr->CLOSE_GOSSIP_MENU();
  549.     Plr->TeleportTo(0, -5163.32f, 927.18f, 257.158, 1.44f);
  550.    
  551. break;
  552.  
  553. case 7025:// Isle Of Quel'Danas
  554.     Plr->CLOSE_GOSSIP_MENU();
  555.     Plr->TeleportTo(530, 13010.00f, -6907.64f, 9.58f, 4.58f);
  556.    
  557. break;
  558.  
  559. case 7030:// Karazhan
  560.     Plr->CLOSE_GOSSIP_MENU();
  561.     Plr->TeleportTo(0, -11119.6f, -2011.42f, 47.09f, 0.65f);
  562.    
  563. break;
  564.  
  565. case 7035:// Molten Core
  566.     Plr->CLOSE_GOSSIP_MENU();
  567.     Plr->TeleportTo(230, 1114.85f, -457.76f, -102.81f, 3.83f);
  568.    
  569. break;
  570.  
  571. case 7040:// Scarlet Monastery
  572.     Plr->CLOSE_GOSSIP_MENU();
  573.     Plr->TeleportTo(0, 2843.89f,-693.74f,139.32f,5.11f);
  574.    
  575. break;
  576.  
  577. case 7045:// Scholomance
  578.     Plr->CLOSE_GOSSIP_MENU();
  579.     Plr->TeleportTo(0, 1273.06f, -2574.01f, 92.66f, 2.06f);
  580.    
  581. break;
  582.  
  583. case 7050:// Shadowfang Keep
  584.     Plr->CLOSE_GOSSIP_MENU();
  585.     Plr->TeleportTo(0, -239.54f, 1550.8f, 76.89f, 1.18f);
  586.    
  587. break;
  588.  
  589. case 7055:// Stratholme
  590.     Plr->CLOSE_GOSSIP_MENU();
  591.     Plr->TeleportTo(0, 3370.76f, -3343.63f, 142.26f, 5.23f);
  592.    
  593. break;
  594.  
  595. case 7060:// Sunken Temple
  596.     Plr->CLOSE_GOSSIP_MENU();
  597.     Plr->TeleportTo(0, -10346.92f, -3851.90f, -43.41f, 6.09f);
  598.    
  599. break;
  600.  
  601. case 7065:// The Stockade
  602.     Plr->CLOSE_GOSSIP_MENU();
  603.     Plr->TeleportTo(0, -8766.89f, 844.6f, 88.43f, 0.69f);
  604.    
  605. break;
  606.  
  607. case 7070:// Uldaman
  608.     Plr->CLOSE_GOSSIP_MENU();
  609.     Plr->TeleportTo(0, -6070.72f, -2955.33f, 209.78f, 0.05f);
  610.    
  611. break;
  612.  
  613. case 7075:// Zul'Aman
  614.     Plr->CLOSE_GOSSIP_MENU();
  615.     Plr->TeleportTo(530, 6851.09f, -7979.71f, 183.54f, 4.72f);
  616.    
  617. break;
  618.  
  619. case 7080:// Zul'Gurub
  620.     Plr->CLOSE_GOSSIP_MENU();
  621.     Plr->TeleportTo(0, -11916.4f, -1216.23f, 92.28f, 4.75f);
  622.    
  623. break;
  624.  
  625. //////////////////////////////////////////////////OUTLAND///////////////////////////////////////////////////////////////
  626.  
  627. case 8001:// Auchindoun
  628.     Plr->CLOSE_GOSSIP_MENU();
  629.     Plr->TeleportTo(530, -3322.92f, 4931.02f, -100.56f, 1.86f);
  630.    
  631. break;
  632.  
  633. case 8005:// Black Temple
  634.     Plr->CLOSE_GOSSIP_MENU();
  635.     Plr->TeleportTo(530, -3649.1f, 317.33f, 35.19f, 2.97f);
  636.    
  637. break;
  638.  
  639. case 8010:// Coilfang Reservoir
  640.     Plr->CLOSE_GOSSIP_MENU();
  641.     Plr->TeleportTo(530, 721.08f, 6846.77f, -68.75f, 0.34f);
  642.    
  643. break;
  644.  
  645. case 8015:// Gruul's Lair
  646.     Plr->CLOSE_GOSSIP_MENU();
  647.     Plr->TeleportTo(530, 3539.01f, 5082.36f, 1.69f, 0.0f);
  648.    
  649. break;
  650.  
  651. case 8020:// Hellfire Citadel
  652.     Plr->CLOSE_GOSSIP_MENU();
  653.     Plr->TeleportTo(530, -292.71f, 3146.77f, 31.60f, 2.05f);
  654.    
  655. break;
  656.  
  657. case 8025:// Tempest Keep
  658.     Plr->CLOSE_GOSSIP_MENU();
  659.     Plr->TeleportTo(530, 3087.62f, 1376.27f, 184.8f, 4.63f);
  660.    
  661. break;
  662.  
  663. //////////////////////////////////////////////////NORTHREND///////////////////////////////////////////////////////////////
  664.  
  665. case 9001:// Ahn'Kahet
  666.     Plr->CLOSE_GOSSIP_MENU();
  667.     Plr->TeleportTo(571, 3646.76f, 2045.17f, 1.79f, 4.37f);
  668.    
  669. break;
  670.  
  671. case 9005:// Azjol-Nerub
  672.     Plr->CLOSE_GOSSIP_MENU();
  673.     Plr->TeleportTo(571, 3675.43f, 2169.00f, 35.90f, 2.29f);
  674.    
  675. break;
  676.  
  677. case 9010:// Drak'Tharon Keep
  678.     Plr->CLOSE_GOSSIP_MENU();
  679.     Plr->TeleportTo(571, 4450.86f, -2045.25f, 162.83f, 0.00f);
  680.    
  681. break;
  682.  
  683. case 9015:// Gun'Drak
  684.     Plr->CLOSE_GOSSIP_MENU();
  685.     Plr->TeleportTo(571, 6937.54f, -4455.98f, 450.68f, 1.00f);
  686.    
  687. break;
  688.  
  689. case 9020:// Icecrown Citadel
  690.     Plr->CLOSE_GOSSIP_MENU();
  691.     Plr->TeleportTo(571, 6139.24f, 2233.72f, 510.79f, 3.56f);
  692.    
  693. break;
  694.  
  695. case 9025:// Naxxramas
  696.     Plr->CLOSE_GOSSIP_MENU();
  697.     Plr->TeleportTo(571, 3668.72f, -1262.46f, 243.622f, 4.785f);
  698.    
  699. break;
  700.  
  701. case 9030:// The Nexus
  702.     Plr->CLOSE_GOSSIP_MENU();
  703.     Plr->TeleportTo(571, 3789.95f, 6961.48f, 104.23f, 0.28f);
  704.    
  705. break;
  706.  
  707. case 9035:// The Obsidian Sanctum
  708.     Plr->CLOSE_GOSSIP_MENU();
  709.     Plr->TeleportTo(571, 3625.78f, 280.4f, -120.14f, 3.25f);
  710.    
  711. break;
  712.  
  713. case 9040:// Ulduar
  714.     Plr->CLOSE_GOSSIP_MENU();
  715.     Plr->TeleportTo(571, 1219.72f, -4865.28f, 41.25f, 0.31f);
  716.    
  717. break;
  718.  
  719. case 9045:// Utgarde Keep
  720.     Plr->CLOSE_GOSSIP_MENU();
  721.     Plr->TeleportTo(571, 1245.69f, -4856.59f, 216.86f, 3.45f);
  722.    
  723. break;
  724.  
  725. case 9050:// Utgarde Pinnacle
  726.     Plr->CLOSE_GOSSIP_MENU();
  727.     Plr->TeleportTo(571, 8976.24f, -1281.33f, 1059.01f, 0.58f);
  728.    
  729. break;
  730.  
  731. case 9055:// Violet Hold
  732.     Plr->CLOSE_GOSSIP_MENU();
  733.     Plr->TeleportTo(571, 5679.82f, 486.80f, 652.40f, 4.08f);
  734.    
  735. break;
  736.  
  737. //////////////////////////////////////////Player Tools////////////////////////////////////////////////////////
  738.  
  739. case 4005:// Innkeeper Bind your new Home
  740.     Plr->CLOSE_GOSSIP_MENU();
  741.     Plr->SetBindPoint(pCrea->GetGUID());
  742. break;
  743.  
  744. case 4010:// Reset Talent Points
  745.     Plr->CLOSE_GOSSIP_MENU();
  746.     Plr->SendTalentWipeConfirm(pCrea->GetGUID());
  747. break;
  748.  
  749. case 4015:// Reset Pet Talent Points
  750.     Plr->CLOSE_GOSSIP_MENU();
  751.     if(Plr->GetPet())
  752.     Plr->SendPetSkillWipeConfirm();
  753.     else
  754.     pCrea->MonsterWhisper("You don't have a pet.", Plr->GetGUID());
  755. break;
  756.  
  757.  
  758.  Plr->CLOSE_GOSSIP_MENU();
  759.  
  760. // PLAYER TOOLS
  761.  
  762. case 3500: // Arena PvP Option
  763.  
  764.     Plr->CLOSE_GOSSIP_MENU();
  765.  
  766.     if (Plr->GetTeam() == ALLIANCE) // Gurubashi for Alliance
  767.  
  768.     Plr->TeleportTo(APMD, APXD, APYD, APZD, APOD);
  769.  
  770.     else // Gurubashi for Horde
  771.  
  772.     Plr->TeleportTo(HPMD, HPXD, HPYD, HPZD, HPOD);
  773.  
  774. break;
  775.  
  776. case 5200: //Mall
  777.     Plr->CLOSE_GOSSIP_MENU();
  778.     if  (Plr->GetTeam() == ALLIANCE)
  779.     {
  780.     Plr->TeleportTo(AMMD, AMXD, AMYD, AMZD, AMOD); // Alliance
  781.     }
  782.     else if (Plr->GetTeam() == HORDE)
  783.     {
  784.     Plr->TeleportTo(HMMD, HMXD, HMYD, HMZD, HMOD); // Horde
  785.     }
  786.     break;
  787.  
  788. //  Class Trainer Spells
  789. case 101:   //Warrior Spells
  790.     {
  791.     Plr->CLOSE_GOSSIP_MENU();
  792.     Plr->learnSpell(2457, false);
  793.     Plr->learnSpell(1715, false);
  794.     Plr->learnSpell(2687, false);
  795.     Plr->learnSpell(71, false);
  796.     Plr->learnSpell(355, false);
  797.     Plr->learnSpell(7384, false);
  798.     Plr->learnSpell(72, false);
  799.     Plr->learnSpell(694, false);
  800.     Plr->learnSpell(2565, false);
  801.     Plr->learnSpell(676, false);
  802.     Plr->learnSpell(20230, false);
  803.     Plr->learnSpell(12678, false);
  804.     Plr->learnSpell(5246, false);
  805.     Plr->learnSpell(1161, false);
  806.     Plr->learnSpell(871, false);
  807.     Plr->learnSpell(2458, false);
  808.     Plr->learnSpell(20252, false);
  809.     Plr->learnSpell(18449, false);
  810.     Plr->learnSpell(1680, false);
  811.     Plr->learnSpell(6552, false);
  812.     Plr->learnSpell(11578, false);
  813.     Plr->learnSpell(1719, false);
  814.     Plr->learnSpell(34428, false);
  815.     Plr->learnSpell(23920, false);
  816.     Plr->learnSpell(3411, false);
  817.     Plr->learnSpell(55694, false);
  818.     Plr->learnSpell(47450, false);
  819.     Plr->learnSpell(47465, false);
  820.     Plr->learnSpell(47520, false);
  821.     Plr->learnSpell(47467, false);
  822.     Plr->learnSpell(47436, false);
  823.     Plr->learnSpell(47502, false);
  824.     Plr->learnSpell(47437, false);
  825.     Plr->learnSpell(47475, false);
  826.     Plr->learnSpell(47440, false);
  827.     Plr->learnSpell(47471, false);
  828.     Plr->learnSpell(57755, false);
  829.     Plr->learnSpell(57823, false);
  830.     Plr->learnSpell(47488, false);
  831.     }break;
  832.  
  833.     case 102: //Death Knight Spells
  834.     {
  835.     Plr->CLOSE_GOSSIP_MENU();
  836.     Plr->learnSpell(48778, false);
  837.     Plr->learnSpell(48266, false);
  838.     Plr->learnSpell(50977, false);
  839.     Plr->learnSpell(49576, false);
  840.     Plr->learnSpell(49142, false);
  841.     Plr->learnSpell(46584, false);
  842.     Plr->learnSpell(48263, false);
  843.     Plr->learnSpell(48528, false);
  844.     Plr->learnSpell(45524, false);
  845.     Plr->learnSpell(3714, false);
  846.     Plr->learnSpell(48792, false);
  847.     Plr->learnSpell(45529, false);
  848.     Plr->learnSpell(56222, false);
  849.     Plr->learnSpell(48743, false);
  850.     Plr->learnSpell(56815, false);
  851.     Plr->learnSpell(48707, false);
  852.     Plr->learnSpell(48265, false);
  853.     Plr->learnSpell(41999, false);
  854.     Plr->learnSpell(47568, false);
  855.     Plr->learnSpell(57623, false);
  856.     Plr->learnSpell(49941, false);
  857.     Plr->learnSpell(49909, false);
  858.     Plr->learnSpell(51429, false);
  859.     Plr->learnSpell(49916, false);
  860.     Plr->learnSpell(42650, false);
  861.     Plr->learnSpell(49930, false);
  862.     Plr->learnSpell(49938, false);
  863.     Plr->learnSpell(49895, false);
  864.     Plr->learnSpell(49924, false);
  865.     Plr->learnSpell(49921, false);
  866.     }break;
  867.  
  868.     case 103:   // Druid Spells
  869.     {
  870.     Plr->CLOSE_GOSSIP_MENU();
  871.     Plr->learnSpell(5487, false);
  872.     Plr->learnSpell(6795, false);
  873.     Plr->learnSpell(18960, false);
  874.     Plr->learnSpell(5229, false);
  875.     Plr->learnSpell(8946, false);
  876.     Plr->learnSpell(1066, false);
  877.     Plr->learnSpell(768, false);
  878.     Plr->learnSpell(2782, false);
  879.     Plr->learnSpell(2893, false);
  880.     Plr->learnSpell(5209, false);
  881.     Plr->learnSpell(783, false);
  882.     Plr->learnSpell(5225, false);
  883.     Plr->learnSpell(22842, false);
  884.     Plr->learnSpell(9634, false);
  885.     Plr->learnSpell(20719, false);
  886.     Plr->learnSpell(29166, false);
  887.     Plr->learnSpell(22812, false);
  888.     Plr->learnSpell(8983, false);
  889.     Plr->learnSpell(18658, false);
  890.     Plr->learnSpell(9913, false);
  891.     Plr->learnSpell(33357, false);
  892.     Plr->learnSpell(33786, false);
  893.     Plr->learnSpell(26995, false);
  894.     Plr->learnSpell(40120, false);
  895.     Plr->learnSpell(62078, false);
  896.     Plr->learnSpell(49802, false);
  897.     Plr->learnSpell(53307, false);
  898.     Plr->learnSpell(52610, false);
  899.     Plr->learnSpell(48575, false);
  900.     Plr->learnSpell(48476, false);
  901.     Plr->learnSpell(48560, false);
  902.     Plr->learnSpell(49803, false);
  903.     Plr->learnSpell(48443, false);
  904.     Plr->learnSpell(48562, false);
  905.     Plr->learnSpell(53308, false);
  906.     Plr->learnSpell(48577, false);
  907.     Plr->learnSpell(53312, false);
  908.     Plr->learnSpell(48574, false);
  909.     Plr->learnSpell(48465, false);
  910.     Plr->learnSpell(48570, false);
  911.     Plr->learnSpell(48378, false);
  912.     Plr->learnSpell(48480, false);
  913.     Plr->learnSpell(48579, false);
  914.     Plr->learnSpell(48477, false);
  915.     Plr->learnSpell(50213, false);
  916.     Plr->learnSpell(48461, false);
  917.     Plr->learnSpell(48470, false);
  918.     Plr->learnSpell(48467, false);
  919.     Plr->learnSpell(48568, false);
  920.     Plr->learnSpell(48451, false);
  921.     Plr->learnSpell(48469, false);
  922.     Plr->learnSpell(48463, false);
  923.     Plr->learnSpell(48441, false);
  924.     Plr->learnSpell(50763, false);
  925.     Plr->learnSpell(49800, false);
  926.     Plr->learnSpell(48572, false);
  927.     Plr->learnSpell(48447, false);
  928.     }break;
  929.  
  930.     case 104:   //Hunter Spells
  931.     {
  932.     Plr->CLOSE_GOSSIP_MENU();
  933.     Plr->learnSpell(75, false);
  934.     Plr->learnSpell(1494, false);
  935.     Plr->learnSpell(13163, false);
  936.     Plr->learnSpell(5116, false);
  937.     Plr->learnSpell(883, false);
  938.     Plr->learnSpell(2641, false);
  939.     Plr->learnSpell(6991, false);
  940.     Plr->learnSpell(982, false);
  941.     Plr->learnSpell(1515, false);
  942.     Plr->learnSpell(19883, false);
  943.     Plr->learnSpell(20736, false);
  944.     Plr->learnSpell(2974, false);
  945.     Plr->learnSpell(6197, false);
  946.     Plr->learnSpell(1002, false);
  947.     Plr->learnSpell(19884, false);
  948.     Plr->learnSpell(5118, false);
  949.     Plr->learnSpell(34074, false);
  950.     Plr->learnSpell(781, false);
  951.     Plr->learnSpell(3043, false);
  952.     Plr->learnSpell(1462, false);
  953.     Plr->learnSpell(19885, false);
  954.     Plr->learnSpell(3045, false);
  955.     Plr->learnSpell(19880, false);
  956.     Plr->learnSpell(13809, false);
  957.     Plr->learnSpell(13161, false);
  958.     Plr->learnSpell(5384, false);
  959.     Plr->learnSpell(1543, false);
  960.     Plr->learnSpell(19878, false);
  961.     Plr->learnSpell(3034, false);
  962.     Plr->learnSpell(13159, false);
  963.     Plr->learnSpell(19882, false);
  964.     Plr->learnSpell(14327, false);
  965.     Plr->learnSpell(19879, false);
  966.     Plr->learnSpell(19263, false);
  967.     Plr->learnSpell(14311, false);
  968.     Plr->learnSpell(19801, false);
  969.     Plr->learnSpell(34026, false);
  970.     Plr->learnSpell(27044, false);
  971.     Plr->learnSpell(34600, false);
  972.     Plr->learnSpell(34477, false);
  973.     Plr->learnSpell(53271, false);
  974.     Plr->learnSpell(49071, false);
  975.     Plr->learnSpell(53338, false);
  976.     Plr->learnSpell(49067, false);
  977.     Plr->learnSpell(48996, false);
  978.     Plr->learnSpell(49052, false);
  979.     Plr->learnSpell(49056, false);
  980.     Plr->learnSpell(49045, false);
  981.     Plr->learnSpell(49001, false);
  982.     Plr->learnSpell(61847, false);
  983.     Plr->learnSpell(60192, false);
  984.     Plr->learnSpell(61006, false);
  985.     Plr->learnSpell(48990, false);
  986.     Plr->learnSpell(53339, false);
  987.     Plr->learnSpell(49048, false);
  988.     Plr->learnSpell(58434, false);
  989.     }break;
  990.    
  991.     case 105:   // Mage Spells
  992.     {
  993.     Plr->CLOSE_GOSSIP_MENU();
  994.     Plr->learnSpell(130, false);
  995.     Plr->learnSpell(475, false);
  996.     Plr->learnSpell(1953, false);
  997.     Plr->learnSpell(12051, false);
  998.     Plr->learnSpell(7301, false);
  999.     Plr->learnSpell(32271, false);
  1000.     Plr->learnSpell(3562, false);
  1001.     Plr->learnSpell(3567, false);
  1002.     Plr->learnSpell(32272, false);
  1003.     Plr->learnSpell(3561, false);
  1004.     Plr->learnSpell(3563, false);
  1005.     Plr->learnSpell(2139, false);
  1006.     Plr->learnSpell(45438, false);
  1007.     Plr->learnSpell(3565, false);
  1008.     Plr->learnSpell(3566, false);
  1009.     Plr->learnSpell(32266, false);
  1010.     Plr->learnSpell(11416, false);
  1011.     Plr->learnSpell(11417, false);
  1012.     Plr->learnSpell(32267, false);
  1013.     Plr->learnSpell(10059, false);
  1014.     Plr->learnSpell(11418, false);
  1015.     Plr->learnSpell(11419, false);
  1016.     Plr->learnSpell(11420, false);
  1017.     Plr->learnSpell(12826, false);
  1018.     Plr->learnSpell(66, false);
  1019.     Plr->learnSpell(30449, false);
  1020.     Plr->learnSpell(53140, false);
  1021.     Plr->learnSpell(42917, false);
  1022.     Plr->learnSpell(43015, false);
  1023.     Plr->learnSpell(43017, false);
  1024.     Plr->learnSpell(42985, false);
  1025.     Plr->learnSpell(43010, false);
  1026.     Plr->learnSpell(42833, false);
  1027.     Plr->learnSpell(42914, false);
  1028.     Plr->learnSpell(42859, false);
  1029.     Plr->learnSpell(42846, false);
  1030.     Plr->learnSpell(43012, false);
  1031.     Plr->learnSpell(42842, false);
  1032.     Plr->learnSpell(43008, false);
  1033.     Plr->learnSpell(43024, false);
  1034.     Plr->learnSpell(43020, false);
  1035.     Plr->learnSpell(43046, false);
  1036.     Plr->learnSpell(42897, false);
  1037.     Plr->learnSpell(43002, false);
  1038.     Plr->learnSpell(42921, false);
  1039.     Plr->learnSpell(42940, false);
  1040.     Plr->learnSpell(42956, false);
  1041.     Plr->learnSpell(61316, false);
  1042.     Plr->learnSpell(61024, false);
  1043.     Plr->learnSpell(42973, false);
  1044.     Plr->learnSpell(47610, false);
  1045.     Plr->learnSpell(58659, false);
  1046.     }break;
  1047.    
  1048.     case 106:   // Paladin Spells
  1049.     {
  1050.     Plr->CLOSE_GOSSIP_MENU();
  1051.     Plr->learnSpell(21084, false);
  1052.     Plr->learnSpell(20271, false);
  1053.     Plr->learnSpell(498, false);
  1054.     Plr->learnSpell(1152, false);
  1055.     Plr->learnSpell(53408, false);
  1056.     Plr->learnSpell(31789, false);
  1057.     Plr->learnSpell(62124, false);
  1058.     Plr->learnSpell(25780, false);
  1059.     Plr->learnSpell(1044, false);
  1060.     Plr->learnSpell(5502, false);
  1061.     Plr->learnSpell(19746, false);
  1062.     Plr->learnSpell(20164, false);
  1063.     Plr->learnSpell(10326, false);
  1064.     Plr->learnSpell(1038, false);
  1065.     Plr->learnSpell(53407, false);
  1066.     Plr->learnSpell(19752, false);
  1067.     Plr->learnSpell(20165, false);
  1068.     Plr->learnSpell(642, false);
  1069.     Plr->learnSpell(10278, false);
  1070.     Plr->learnSpell(20166, false);
  1071.     Plr->learnSpell(4987, false);
  1072.     Plr->learnSpell(6940, false);
  1073.     Plr->learnSpell(10308, false);
  1074.     Plr->learnSpell(23214, false);
  1075.     Plr->learnSpell(25898, false);
  1076.     Plr->learnSpell(25899, false);
  1077.     Plr->learnSpell(34767, false);
  1078.     Plr->learnSpell(32223, false);
  1079.     Plr->learnSpell(31892, false);
  1080.     Plr->learnSpell(31801, false);
  1081.     Plr->learnSpell(53736, false);
  1082.     Plr->learnSpell(53720, false);
  1083.     Plr->learnSpell(33776, false);
  1084.     Plr->learnSpell(31884, false);
  1085.     Plr->learnSpell(54428, false);
  1086.     Plr->learnSpell(54043, false);
  1087.     Plr->learnSpell(48943, false);
  1088.     Plr->learnSpell(48936, false);
  1089.     Plr->learnSpell(48945, false);
  1090.     Plr->learnSpell(48938, false);
  1091.     Plr->learnSpell(48947, false);
  1092.     Plr->learnSpell(48817, false);
  1093.     Plr->learnSpell(48788, false);
  1094.     Plr->learnSpell(48932, false);
  1095.     Plr->learnSpell(48942, false);
  1096.     Plr->learnSpell(48801, false);
  1097.     Plr->learnSpell(48785, false);
  1098.     Plr->learnSpell(48934, false);
  1099.     Plr->learnSpell(48950, false);
  1100.     Plr->learnSpell(48819, false);
  1101.     Plr->learnSpell(48806, false);
  1102.     Plr->learnSpell(48782, false);
  1103.     Plr->learnSpell(53601, false);
  1104.     Plr->learnSpell(61411, false);
  1105.     }break;
  1106.    
  1107.     case 107: // Priest Spells
  1108.     {
  1109.     Plr->CLOSE_GOSSIP_MENU();
  1110.     Plr->learnSpell(586, false);
  1111.     Plr->learnSpell(2053, false);
  1112.     Plr->learnSpell(528, false);
  1113.     Plr->learnSpell(6346, false);
  1114.     Plr->learnSpell(453, false);
  1115.     Plr->learnSpell(8129, false);
  1116.     Plr->learnSpell(605, false);
  1117.     Plr->learnSpell(552, false);
  1118.     Plr->learnSpell(6064, false);
  1119.     Plr->learnSpell(1706, false);
  1120.     Plr->learnSpell(988, false);
  1121.     Plr->learnSpell(10909, false);
  1122.     Plr->learnSpell(10890, false);
  1123.     Plr->learnSpell(60931, false);
  1124.     Plr->learnSpell(10955, false);
  1125.     Plr->learnSpell(34433, false);
  1126.     Plr->learnSpell(32375, false);
  1127.     Plr->learnSpell(48072, false);
  1128.     Plr->learnSpell(48169, false);
  1129.     Plr->learnSpell(48168, false);
  1130.     Plr->learnSpell(48170, false);
  1131.     Plr->learnSpell(48120, false);
  1132.     Plr->learnSpell(48063, false);
  1133.     Plr->learnSpell(48135, false);
  1134.     Plr->learnSpell(48171, false);
  1135.     Plr->learnSpell(48300, false);
  1136.     Plr->learnSpell(48071, false);
  1137.     Plr->learnSpell(48127, false);
  1138.     Plr->learnSpell(48113, false);
  1139.     Plr->learnSpell(48123, false);
  1140.     Plr->learnSpell(48173, false);
  1141.     Plr->learnSpell(47951, false);
  1142.     Plr->learnSpell(48073, false);
  1143.     Plr->learnSpell(48078, false);
  1144.     Plr->learnSpell(48087, false);
  1145.     Plr->learnSpell(53023, false);
  1146.     Plr->learnSpell(48161, false);
  1147.     Plr->learnSpell(48066, false);
  1148.     Plr->learnSpell(48162, false);
  1149.     Plr->learnSpell(48074, false);
  1150.     Plr->learnSpell(48068, false);
  1151.     Plr->learnSpell(48158, false);
  1152.     Plr->learnSpell(48125, false);
  1153.     }break;
  1154.    
  1155.     case 108:   // Rogue Spells
  1156.     {
  1157.     Plr->CLOSE_GOSSIP_MENU();
  1158.     Plr->learnSpell(921, false);
  1159.     Plr->learnSpell(1776, false);
  1160.     Plr->learnSpell(1766, false);
  1161.     Plr->learnSpell(1804, false);
  1162.     Plr->learnSpell(51722, false);
  1163.     Plr->learnSpell(1725, false);
  1164.     Plr->learnSpell(2836, false);
  1165.     Plr->learnSpell(1833, false);
  1166.     Plr->learnSpell(1842, false);
  1167.     Plr->learnSpell(2094, false);
  1168.     Plr->learnSpell(1860, false);
  1169.     Plr->learnSpell(6774, false);
  1170.     Plr->learnSpell(26669, false);
  1171.     Plr->learnSpell(8643, false);
  1172.     Plr->learnSpell(11305, false);
  1173.     Plr->learnSpell(1787, false);
  1174.     Plr->learnSpell(26889, false);
  1175.     Plr->learnSpell(31224, false);
  1176.     Plr->learnSpell(5938, false);
  1177.     Plr->learnSpell(51724, false);
  1178.     Plr->learnSpell(57934, false);
  1179.     Plr->learnSpell(48674, false);
  1180.     Plr->learnSpell(48669, false);
  1181.     Plr->learnSpell(48659, false);
  1182.     Plr->learnSpell(48668, false);
  1183.     Plr->learnSpell(48672, false);
  1184.     Plr->learnSpell(48691, false);
  1185.     Plr->learnSpell(48657, false);
  1186.     Plr->learnSpell(57993, false);
  1187.     Plr->learnSpell(51723, false);
  1188.     Plr->learnSpell(48676, false);
  1189.     Plr->learnSpell(48638, false);
  1190.     }break;
  1191.    
  1192.     case 109: // Shaman Spells
  1193.     {
  1194.     Plr->CLOSE_GOSSIP_MENU();
  1195.     Plr->learnSpell(30671, false);
  1196.     Plr->learnSpell(2484, false);
  1197.     Plr->learnSpell(526, false);
  1198.     Plr->learnSpell(57994, false);
  1199.     Plr->learnSpell(8143, false);
  1200.     Plr->learnSpell(2645, false);
  1201.     Plr->learnSpell(2870, false);
  1202.     Plr->learnSpell(8166, false);
  1203.     Plr->learnSpell(131, false);
  1204.     Plr->learnSpell(10399, false);
  1205.     Plr->learnSpell(6196, false);
  1206.     Plr->learnSpell(546, false);
  1207.     Plr->learnSpell(556, false);
  1208.     Plr->learnSpell(8177, false);
  1209.     Plr->learnSpell(20608, false);
  1210.     Plr->learnSpell(36936, false);
  1211.     Plr->learnSpell(8012, false);
  1212.     Plr->learnSpell(8512, false);
  1213.     Plr->learnSpell(6495, false);
  1214.     Plr->learnSpell(8170, false);
  1215.     Plr->learnSpell(3738, false);
  1216.     Plr->learnSpell(2062, false);
  1217.     Plr->learnSpell(2894, false);
  1218.     Plr->learnSpell(2825, false);
  1219.     Plr->learnSpell(57960, false);
  1220.     Plr->learnSpell(49276, false);
  1221.     Plr->learnSpell(49236, false);
  1222.     Plr->learnSpell(58734, false);
  1223.     Plr->learnSpell(58582, false);
  1224.     Plr->learnSpell(58753, false);
  1225.     Plr->learnSpell(49231, false);
  1226.     Plr->learnSpell(49238, false);
  1227.     Plr->learnSpell(49277, false);
  1228.     Plr->learnSpell(55459, false);
  1229.     Plr->learnSpell(49271, false);
  1230.     Plr->learnSpell(49284, false);
  1231.     Plr->learnSpell(51994, false);
  1232.     Plr->learnSpell(61657, false);
  1233.     Plr->learnSpell(58739, false);
  1234.     Plr->learnSpell(49233, false);
  1235.     Plr->learnSpell(58656, false);
  1236.     Plr->learnSpell(58790, false);
  1237.     Plr->learnSpell(58745, false);
  1238.     Plr->learnSpell(58796, false);
  1239.     Plr->learnSpell(58757, false);
  1240.     Plr->learnSpell(49273, false);
  1241.     Plr->learnSpell(51514, false);
  1242.     Plr->learnSpell(60043, false);
  1243.     Plr->learnSpell(49281, false);
  1244.     Plr->learnSpell(58774, false);
  1245.     Plr->learnSpell(58749, false);
  1246.     Plr->learnSpell(58704, false);
  1247.     Plr->learnSpell(58643, false);
  1248.     Plr->learnSpell(58804, false);
  1249.     }break;
  1250.    
  1251.     case 110: // Warlock Spells
  1252.     {
  1253.     Plr->CLOSE_GOSSIP_MENU();
  1254.     Plr->learnSpell(59671, false);
  1255.     Plr->learnSpell(688, false);
  1256.     Plr->learnSpell(696, false);
  1257.     Plr->learnSpell(697, false);
  1258.     Plr->learnSpell(5697, false);
  1259.     Plr->learnSpell(698, false);
  1260.     Plr->learnSpell(712, false);
  1261.     Plr->learnSpell(126, false);
  1262.     Plr->learnSpell(5138, false);
  1263.     Plr->learnSpell(5500, false);
  1264.     Plr->learnSpell(132, false);
  1265.     Plr->learnSpell(691, false);
  1266.     Plr->learnSpell(18647, false);
  1267.     Plr->learnSpell(11719, false);
  1268.     Plr->learnSpell(1122, false);
  1269.     Plr->learnSpell(17928, false);
  1270.     Plr->learnSpell(6215, false);
  1271.     Plr->learnSpell(18540, false);
  1272.     Plr->learnSpell(23161, false);
  1273.     Plr->learnSpell(29858, false);
  1274.     Plr->learnSpell(50511, false);
  1275.     Plr->learnSpell(61191, false);
  1276.     Plr->learnSpell(47884, false);
  1277.     Plr->learnSpell(47856, false);
  1278.     Plr->learnSpell(47813, false);
  1279.     Plr->learnSpell(47855, false);
  1280.     Plr->learnSpell(47888, false);
  1281.     Plr->learnSpell(47865, false);
  1282.     Plr->learnSpell(47860, false);
  1283.     Plr->learnSpell(47857, false);
  1284.     Plr->learnSpell(47823, false);
  1285.     Plr->learnSpell(47891, false);
  1286.     Plr->learnSpell(47878, false);
  1287.     Plr->learnSpell(47864, false);
  1288.     Plr->learnSpell(57595, false);
  1289.     Plr->learnSpell(47893, false);
  1290.     Plr->learnSpell(47820, false);
  1291.     Plr->learnSpell(47815, false);
  1292.     Plr->learnSpell(47809, false);
  1293.     Plr->learnSpell(60220, false);
  1294.     Plr->learnSpell(47867, false);
  1295.     Plr->learnSpell(47889, false);
  1296.     Plr->learnSpell(48018, false);
  1297.     Plr->learnSpell(47811, false);
  1298.     Plr->learnSpell(47838, false);
  1299.     Plr->learnSpell(57946, false);
  1300.     Plr->learnSpell(58887, false);
  1301.     Plr->learnSpell(47836, false);
  1302.     Plr->learnSpell(61290, false);
  1303.     Plr->learnSpell(47825, false);
  1304.     }break;
  1305.  
  1306.     case 111:   //Riding Skills
  1307.     {
  1308.     Plr->CLOSE_GOSSIP_MENU();
  1309.     Plr->learnSpell(33388, false); // apprentice riding
  1310.     Plr->learnSpell(33391, false); // journeymen riding
  1311.     Plr->learnSpell(34090, false); // expert riding
  1312.     Plr->learnSpell(34091, false); // artisan riding
  1313.     Plr->learnSpell(54197, false); // Cold Weather Flying
  1314.     }break;
  1315.  
  1316.     case 6888:
  1317.     {
  1318.     Plr->SetDrunkValue(24000, 9);
  1319.     pCrea->MonsterSay("Hahahaha! You Is Drunk Now!", LANG_UNIVERSAL, NULL);
  1320.     }break;
  1321.     case 6889:
  1322.     {
  1323.     Plr->SetDrunkValue(0, 9);
  1324.     pCrea->MonsterSay("I knew you was a wuss! HAHAHA!", LANG_UNIVERSAL, NULL);
  1325.     }break;
  1326.  
  1327.     case 6776:
  1328.     {
  1329.     Plr->UpdateSkillsToMaxSkillsForLevel();
  1330.     pCrea->MonsterSay("Your Skills have now been Maxed for your Level.", LANG_UNIVERSAL, NULL);
  1331.     }break;
  1332.     case 67777:
  1333.     if(Plr->GetSpecsCount() == 1 && !(Plr->getLevel() < 40))
  1334.     {
  1335.     if (Plr->GetMoney() < 10000000)
  1336.     {
  1337.     Plr->SendBuyError( BUY_ERR_NOT_ENOUGHT_MONEY, 0, 0, 0);
  1338.     Plr->PlayerTalkClass->CloseGossip();
  1339.     break;
  1340.     }
  1341.     else
  1342.     {
  1343.     Plr->ModifyMoney(-10000000);
  1344.  
  1345.     // Cast spells that teach dual spec
  1346.     // Both are also ImplicitTarget self and must be cast by player
  1347.     Plr->CastSpell(Plr,63680,true,NULL,NULL,Plr->GetGUID());
  1348.     Plr->CastSpell(Plr,63624,true,NULL,NULL,Plr->GetGUID());
  1349.  
  1350.     // Should show another Gossip text with "Congratulations..."
  1351.     Plr->PlayerTalkClass->CloseGossip();
  1352.     }
  1353.     }
  1354.     }
  1355. }
  1356.  
  1357. bool GossipSelect_TeleNPC(Player* Plr, Creature* pCrea, uint32 sender, uint32 action)
  1358. {
  1359.     // Main menu
  1360.     if (sender == GOSSIP_SENDER_MAIN)
  1361.     SendDefaultMenu_TeleNPC(Plr, pCrea, action);
  1362.  
  1363. return true;
  1364. }
  1365.  
  1366.  
  1367. void AddSC_telenpc()
  1368. {
  1369.     Script *newscript;
  1370.  
  1371.     newscript = new Script;
  1372.     newscript->Name = "telenpc";
  1373.     newscript->pGossipHello = &GossipHello_TeleNPC;
  1374.     newscript->pGossipSelect = &GossipSelect_TeleNPC;
  1375.     newscript->RegisterSelf();
  1376. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement