Advertisement
Rochet2

Untitled

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