Advertisement
Guest User

Untitled

a guest
Jun 27th, 2017
53
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 34.19 KB | None | 0 0
  1.  
  2. /*******************************************************
  3.  * File:'teleporter.cpp'
  4.  * ScriptName:'teleport_npc'
  5.  * Complete:'100%'
  6.  * Author:'Dracconus'
  7.  * Comment: 'Ported from original teleporter.cpp and completely reworked to be more complete, and user friendly.'
  8.  *******************************************************/
  9. /*******************************************************/
  10. #include "ScriptPCH.h"
  11. #define BUFF1                 15366
  12. #define BUFF2                 26271
  13. #define BUFF3                 44776
  14. #define BUFF4                 42500
  15. #define BUFF5                 36237
  16. /*******************************************************/
  17. //MAIN MENU
  18. bool GossipHello_teleporter(Player *player, Creature *_Creature)
  19. {
  20.         if(!player->isInCombat())
  21.       {
  22.                                                                         player->ADD_GOSSIP_ITEM( 0, "Main Cities"       , GOSSIP_SENDER_MAIN,
  23.  
  24. GOSSIP_ACTION_INFO_DEF + 1);
  25.                                                                         player->ADD_GOSSIP_ITEM( 0, "Neutral Cities"    , GOSSIP_SENDER_MAIN,
  26.  
  27. GOSSIP_ACTION_INFO_DEF + 2);
  28.                                                                         player->ADD_GOSSIP_ITEM( 0, "Dungeons"          , GOSSIP_SENDER_MAIN,
  29.  
  30. GOSSIP_ACTION_INFO_DEF + 3);
  31.                                                                         player->ADD_GOSSIP_ITEM( 0, "Raids"             , GOSSIP_SENDER_MAIN,
  32.  
  33. GOSSIP_ACTION_INFO_DEF + 4);
  34.                                                                         player->ADD_GOSSIP_ITEM( 0, "Gurubashi Arena"   , GOSSIP_SENDER_ACTION,
  35.  
  36. GOSSIP_ACTION_INFO_DEF + 56);
  37.                                                                         player->ADD_GOSSIP_ITEM( 0, "Player Tools"      , GOSSIP_SENDER_MAIN,
  38.  
  39. GOSSIP_ACTION_INFO_DEF + 5);
  40.                                                                 player->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE,_Creature->GetGUID());
  41.                  return true;
  42.       }
  43.                         //PLAYER IS IN COMBAT-RAID STYLE WANNOUNCE (UNABLE TO TELEPORT)
  44.     player->GetSession()->SendNotification("I am unable to teleport you if you are in combat.");
  45.     return false;
  46. }
  47.                         //START MAIN CITIES SUB MENU
  48. void SendSubMenu_teleporter(Player *player, Creature *_Creature, uint32 action)
  49. {
  50.     switch (action)
  51.     {
  52.         case GOSSIP_ACTION_INFO_DEF + 1:                            
  53. //MAIN CITITES SUB MENU
  54.              if ( player->GetTeam() == ALLIANCE )
  55.                 {
  56.                                                                         player->ADD_GOSSIP_ITEM(0, "Darnassus"          , GOSSIP_SENDER_ACTION,
  57.  
  58. GOSSIP_ACTION_INFO_DEF + 1);
  59.                                                                         player->ADD_GOSSIP_ITEM(0, "Ironforge"          , GOSSIP_SENDER_ACTION,
  60.  
  61. GOSSIP_ACTION_INFO_DEF + 2);
  62.                                                                         player->ADD_GOSSIP_ITEM(0, "Exodar"             , GOSSIP_SENDER_ACTION,
  63.  
  64. GOSSIP_ACTION_INFO_DEF + 3);            
  65.                                                                         player->ADD_GOSSIP_ITEM(0, "Stormwind"          , GOSSIP_SENDER_ACTION,
  66.  
  67. GOSSIP_ACTION_INFO_DEF + 4);
  68.                                                                 player->ADD_GOSSIP_ITEM(0, "Back"           , GOSSIP_SENDER_START,  
  69.  
  70. GOSSIP_ACTION_INFO_DEF + 1);
  71.                                                 player->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE,_Creature->GetGUID());
  72.                 }else{
  73.                                                                         player->ADD_GOSSIP_ITEM(0, "Orgrimmar"          , GOSSIP_SENDER_ACTION,
  74.  
  75. GOSSIP_ACTION_INFO_DEF + 5);
  76.                                                                         player->ADD_GOSSIP_ITEM(0, "Silvermoon"         , GOSSIP_SENDER_ACTION,
  77.  
  78. GOSSIP_ACTION_INFO_DEF + 6);
  79.                                     player->ADD_GOSSIP_ITEM(0, "Thunderbluff"           , GOSSIP_SENDER_ACTION, GOSSIP_ACTION_INFO_DEF + 7);    
  80.                                                                         player->ADD_GOSSIP_ITEM(0, "Undercity"          , GOSSIP_SENDER_ACTION,
  81.  
  82. GOSSIP_ACTION_INFO_DEF + 8);
  83.                                                                 player->ADD_GOSSIP_ITEM(0, "Back"           , GOSSIP_SENDER_START,  
  84.  
  85. GOSSIP_ACTION_INFO_DEF + 1);
  86.                                                 player->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE,_Creature->GetGUID());
  87.                 };
  88.                                 break;
  89. //NEUTRAL CITIES SUB MENU
  90.                 case GOSSIP_ACTION_INFO_DEF + 2:                          
  91.  
  92.                 {
  93.                                                                         player->ADD_GOSSIP_ITEM(0, "Booty Bay"          , GOSSIP_SENDER_ACTION,
  94.  
  95. GOSSIP_ACTION_INFO_DEF + 54);
  96.                                         player->ADD_GOSSIP_ITEM(0, "Ratchet"            , GOSSIP_SENDER_ACTION, GOSSIP_ACTION_INFO_DEF + 55);
  97.                                                                         player->ADD_GOSSIP_ITEM(0, "Shattrath"          , GOSSIP_SENDER_ACTION,
  98.  
  99. GOSSIP_ACTION_INFO_DEF + 9);
  100.                                                         player->ADD_GOSSIP_ITEM(0, "Back"             , GOSSIP_SENDER_START,  
  101.  
  102. GOSSIP_ACTION_INFO_DEF + 1);
  103.                                                 player->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE,_Creature->GetGUID());
  104.                 };
  105.                                 break;
  106. //DUNGEONS                      
  107.         case GOSSIP_ACTION_INFO_DEF + 3:                            
  108.                                                                         player->ADD_GOSSIP_ITEM(0, "Eastern Kingdoms"   , GOSSIP_SENDER_DUNGEON,
  109.  
  110. GOSSIP_ACTION_INFO_DEF + 1);
  111.                                         player->ADD_GOSSIP_ITEM(0, "Kalimdor"           , GOSSIP_SENDER_DUNGEON, GOSSIP_ACTION_INFO_DEF + 2);
  112.                                         player->ADD_GOSSIP_ITEM(0, "Outland"            , GOSSIP_SENDER_DUNGEON, GOSSIP_ACTION_INFO_DEF + 3);
  113.                                                         player->ADD_GOSSIP_ITEM(0, "Back"               , GOSSIP_SENDER_START,  
  114.  
  115. GOSSIP_ACTION_INFO_DEF + 1);
  116.                                                 player->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE,_Creature->GetGUID());
  117.                                 break;
  118. //RAIDS
  119.                 case GOSSIP_ACTION_INFO_DEF + 4:                          
  120.                                                                         player->ADD_GOSSIP_ITEM(0, "Eastern Kingdoms"   , GOSSIP_SENDER_DUNGEON,
  121.  
  122. GOSSIP_ACTION_INFO_DEF + 4);
  123.                                         player->ADD_GOSSIP_ITEM(0, "Kalimdor"           , GOSSIP_SENDER_DUNGEON, GOSSIP_ACTION_INFO_DEF + 5);
  124.                                         player->ADD_GOSSIP_ITEM(0, "Outland"            , GOSSIP_SENDER_DUNGEON, GOSSIP_ACTION_INFO_DEF + 6);
  125.                                     player->ADD_GOSSIP_ITEM(0, "Back"               , GOSSIP_SENDER_START,   GOSSIP_ACTION_INFO_DEF + 1);
  126.                                                 player->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE,_Creature->GetGUID());
  127.                 break;
  128. //PLAYER TOOLS                
  129.                 case GOSSIP_ACTION_INFO_DEF + 5:                  
  130.                                                                         player->ADD_GOSSIP_ITEM(0, "Buff Me Up!!"       , GOSSIP_SENDER_ACTION,
  131.  
  132. GOSSIP_ACTION_INFO_DEF + 51);
  133.                                                                         player->ADD_GOSSIP_ITEM(0, "Heal Me"            , GOSSIP_SENDER_ACTION,
  134.  
  135. GOSSIP_ACTION_INFO_DEF + 52);
  136.                                                                         player->ADD_GOSSIP_ITEM(0, "Reset Cooldowns"    , GOSSIP_SENDER_ACTION,
  137.  
  138. GOSSIP_ACTION_INFO_DEF + 53);
  139.                                                                 player->ADD_GOSSIP_ITEM(0, "Back"               , GOSSIP_SENDER_START,  
  140.  
  141. GOSSIP_ACTION_INFO_DEF + 1);
  142.                                                 player->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE,_Creature->GetGUID());
  143.                 break;
  144.     }
  145. }
  146.                         //START DUNGEOUN SUB MENU
  147. void SendSubDungeonMenu_teleporter(Player *player, Creature *_Creature, uint32 action)
  148. {
  149.     switch (action)
  150.     {
  151. //DUNGEONS LIST
  152.         //EASTERN KINGDOMS
  153.         case GOSSIP_ACTION_INFO_DEF + 1:                  
  154.                                         player->ADD_GOSSIP_ITEM(0, "The Deadmines"                      , GOSSIP_SENDER_ACTION,
  155.  
  156. GOSSIP_ACTION_INFO_DEF + 10);
  157.                                         player->ADD_GOSSIP_ITEM(0, "Shadowfang Keep"            , GOSSIP_SENDER_ACTION, GOSSIP_ACTION_INFO_DEF +
  158.  
  159. 11);
  160.                         if ( player->GetTeam() == ALLIANCE ){
  161.                                         player->ADD_GOSSIP_ITEM(0, "Stormwind Stockades"        , GOSSIP_SENDER_ACTION, GOSSIP_ACTION_INFO_DEF +
  162.  
  163. 12);
  164.                             };
  165.                                         player->ADD_GOSSIP_ITEM(0, "Gnomeregan"                         , GOSSIP_SENDER_ACTION,
  166.  
  167. GOSSIP_ACTION_INFO_DEF + 13);
  168.                                         player->ADD_GOSSIP_ITEM(0, "The Scarlet Monastery"      , GOSSIP_SENDER_ACTION, GOSSIP_ACTION_INFO_DEF +
  169.  
  170. 14);
  171.                                         player->ADD_GOSSIP_ITEM(0, "Uldaman"                            , GOSSIP_SENDER_ACTION,
  172.  
  173. GOSSIP_ACTION_INFO_DEF + 15);
  174.                                         player->ADD_GOSSIP_ITEM(0, "Sunken Temple"                      , GOSSIP_SENDER_ACTION,
  175.  
  176. GOSSIP_ACTION_INFO_DEF + 16);
  177.                                         player->ADD_GOSSIP_ITEM(0, "Blackrock Mountain"         , GOSSIP_SENDER_ACTION, GOSSIP_ACTION_INFO_DEF +
  178.  
  179. 17);
  180.                                         player->ADD_GOSSIP_ITEM(0, "Stratholme"                         , GOSSIP_SENDER_ACTION,
  181.  
  182. GOSSIP_ACTION_INFO_DEF + 18);
  183.                                         player->ADD_GOSSIP_ITEM(0, "Scholomance"                        , GOSSIP_SENDER_ACTION,
  184.  
  185. GOSSIP_ACTION_INFO_DEF + 19);
  186.                                         player->ADD_GOSSIP_ITEM(0, "Magisters' Terrace"         , GOSSIP_SENDER_ACTION, GOSSIP_ACTION_INFO_DEF +
  187.  
  188. 20);
  189.                                 player->ADD_GOSSIP_ITEM(0, "Back"                 , GOSSIP_SENDER_MAIN,   GOSSIP_ACTION_INFO_DEF + 3);
  190.                                                 player->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE,_Creature->GetGUID());
  191.             break;
  192.         //KALIMDOR
  193.         case GOSSIP_ACTION_INFO_DEF + 2:                  
  194.                         if ( player->GetTeam() == HORDE ){
  195.                                                                         player->ADD_GOSSIP_ITEM(0, "Ragefire Chasm"                     ,
  196.  
  197. GOSSIP_SENDER_ACTION, GOSSIP_ACTION_INFO_DEF + 21);
  198.                                 };
  199.                                         player->ADD_GOSSIP_ITEM(0, "Wailing Caverns"            , GOSSIP_SENDER_ACTION, GOSSIP_ACTION_INFO_DEF +
  200.  
  201. 22);
  202.                                         player->ADD_GOSSIP_ITEM(0, "Blackfathom Deeps"          , GOSSIP_SENDER_ACTION, GOSSIP_ACTION_INFO_DEF +
  203.  
  204. 23);
  205.                                         player->ADD_GOSSIP_ITEM(0, "Razorfen Kraul"             , GOSSIP_SENDER_ACTION, GOSSIP_ACTION_INFO_DEF +
  206.  
  207. 24);
  208.                                         player->ADD_GOSSIP_ITEM(0, "Razorfen Downs"             , GOSSIP_SENDER_ACTION, GOSSIP_ACTION_INFO_DEF +
  209.  
  210. 25);
  211.                                         player->ADD_GOSSIP_ITEM(0, "Zul'Farrak"                         , GOSSIP_SENDER_ACTION,
  212.  
  213. GOSSIP_ACTION_INFO_DEF + 26);
  214.                                         player->ADD_GOSSIP_ITEM(0, "Maraudon"                           , GOSSIP_SENDER_ACTION,
  215.  
  216. GOSSIP_ACTION_INFO_DEF + 27);
  217.                                         player->ADD_GOSSIP_ITEM(0, "Dire Maul"                          , GOSSIP_SENDER_ACTION,
  218.  
  219. GOSSIP_ACTION_INFO_DEF + 28);
  220.                                         player->ADD_GOSSIP_ITEM(0, "Caverns of Time"            , GOSSIP_SENDER_ACTION, GOSSIP_ACTION_INFO_DEF +
  221.  
  222. 29);
  223.                                 player->ADD_GOSSIP_ITEM(0, "Back"              , GOSSIP_SENDER_MAIN,   GOSSIP_ACTION_INFO_DEF + 3);
  224.                                                 player->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE,_Creature->GetGUID());
  225.             break;
  226.         //OUTLANDS
  227.         case GOSSIP_ACTION_INFO_DEF + 3:                  
  228.                                                                         player->ADD_GOSSIP_ITEM(0, "Hellfire Citadel"           ,
  229.  
  230. GOSSIP_SENDER_ACTION, GOSSIP_ACTION_INFO_DEF + 30);
  231.                                                                         player->ADD_GOSSIP_ITEM(0, "Coilfang Reservoir"         ,
  232.  
  233. GOSSIP_SENDER_ACTION, GOSSIP_ACTION_INFO_DEF + 31);
  234.                                                                         player->ADD_GOSSIP_ITEM(0, "Auchindoun"                 ,
  235.  
  236. GOSSIP_SENDER_ACTION, GOSSIP_ACTION_INFO_DEF + 32);
  237.                                                                         player->ADD_GOSSIP_ITEM(0, "Tempest Keep"               ,
  238.  
  239. GOSSIP_SENDER_ACTION, GOSSIP_ACTION_INFO_DEF + 33);
  240.                                                                 player->ADD_GOSSIP_ITEM(0, "Back"               , GOSSIP_SENDER_MAIN,  
  241.  
  242. GOSSIP_ACTION_INFO_DEF + 3);
  243.                                                 player->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE,_Creature->GetGUID());
  244.             break;
  245. //RAIDS
  246.         //EASTERN KINGDOMS
  247.                 case GOSSIP_ACTION_INFO_DEF + 4:                  
  248.                                                                         player->ADD_GOSSIP_ITEM(0, "Upper Blackrock Spire"      ,
  249.  
  250. GOSSIP_SENDER_ACTION, GOSSIP_ACTION_INFO_DEF + 34);
  251.                                                                         player->ADD_GOSSIP_ITEM(0, "Zul'Gurub"                  ,
  252.  
  253. GOSSIP_SENDER_ACTION, GOSSIP_ACTION_INFO_DEF + 35);
  254.                                                                         player->ADD_GOSSIP_ITEM(0, "Molten Core"                ,
  255.  
  256. GOSSIP_SENDER_ACTION, GOSSIP_ACTION_INFO_DEF + 36);
  257.                                                                         player->ADD_GOSSIP_ITEM(0, "Blackwing Lair"             ,
  258.  
  259. GOSSIP_SENDER_ACTION, GOSSIP_ACTION_INFO_DEF + 37);
  260.                                                                         player->ADD_GOSSIP_ITEM(0, "Naxxramas"                  ,
  261.  
  262. GOSSIP_SENDER_ACTION, GOSSIP_ACTION_INFO_DEF + 38);
  263.                                                                         player->ADD_GOSSIP_ITEM(0, "Karazhan"                   ,
  264.  
  265. GOSSIP_SENDER_ACTION, GOSSIP_ACTION_INFO_DEF + 39);
  266.                                                                         player->ADD_GOSSIP_ITEM(0, "Sunwell Plateau"            ,
  267.  
  268. GOSSIP_SENDER_ACTION, GOSSIP_ACTION_INFO_DEF + 40);
  269.                                                                 player->ADD_GOSSIP_ITEM(0, "Back"                          , GOSSIP_SENDER_MAIN,  
  270.  
  271. GOSSIP_ACTION_INFO_DEF + 4);
  272.                                                 player->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE,_Creature->GetGUID());
  273.             break;
  274.         //KALIMDOR
  275.                 case GOSSIP_ACTION_INFO_DEF + 5:                  
  276.                                                                         player->ADD_GOSSIP_ITEM(0, "Onyxia's Lair"              ,
  277.  
  278. GOSSIP_SENDER_ACTION, GOSSIP_ACTION_INFO_DEF + 41);
  279.                                                                         player->ADD_GOSSIP_ITEM(0, "Ruins of Ahn'Qiraj"         ,
  280.  
  281. GOSSIP_SENDER_ACTION, GOSSIP_ACTION_INFO_DEF + 42);
  282.                                                                         player->ADD_GOSSIP_ITEM(0, "Temple of Ahn'Qiraj"        ,
  283.  
  284. GOSSIP_SENDER_ACTION,GOSSIP_ACTION_INFO_DEF + 43);
  285.                                                                         player->ADD_GOSSIP_ITEM(0, "Zul'Aman"                   ,
  286.  
  287. GOSSIP_SENDER_ACTION, GOSSIP_ACTION_INFO_DEF + 44);
  288.                                                                         player->ADD_GOSSIP_ITEM(0, "Battle for Mount Hyjal"     ,
  289.  
  290. GOSSIP_SENDER_ACTION, GOSSIP_ACTION_INFO_DEF + 45);
  291.                                                                 player->ADD_GOSSIP_ITEM(0, "Back"                  , GOSSIP_SENDER_MAIN,  
  292.  
  293. GOSSIP_ACTION_INFO_DEF + 4);
  294.                                                 player->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE,_Creature->GetGUID());
  295.             break;
  296.         //OUTLANDS
  297.                 case GOSSIP_ACTION_INFO_DEF + 6:                  
  298.                                                                         player->ADD_GOSSIP_ITEM(0, "Gruul's Lair"                       ,
  299.  
  300. GOSSIP_SENDER_ACTION, GOSSIP_ACTION_INFO_DEF + 46);
  301.                                                                         player->ADD_GOSSIP_ITEM(0, "Magtheridon's Lair"         ,
  302.  
  303. GOSSIP_SENDER_ACTION, GOSSIP_ACTION_INFO_DEF + 47);
  304.                                                                         player->ADD_GOSSIP_ITEM(0, "Serpentshrine Cavern"       ,
  305.  
  306. GOSSIP_SENDER_ACTION, GOSSIP_ACTION_INFO_DEF + 48);
  307.                                                                         player->ADD_GOSSIP_ITEM(0, "The Eye"                            ,
  308.  
  309. GOSSIP_SENDER_ACTION, GOSSIP_ACTION_INFO_DEF + 49);
  310.                                                                         player->ADD_GOSSIP_ITEM(0, "Black Temple"                       ,
  311.  
  312. GOSSIP_SENDER_ACTION, GOSSIP_ACTION_INFO_DEF + 50);
  313.                                                                 player->ADD_GOSSIP_ITEM(0, "Back"                , GOSSIP_SENDER_MAIN,
  314.  
  315. GOSSIP_ACTION_INFO_DEF + 4);
  316.                                                 player->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE,_Creature->GetGUID());
  317.             break;
  318.     }
  319. }
  320.                         //START TELEPORTATION LIST
  321. void SendActionMenu_teleporter(Player *player, Creature *_Creature, uint32 action)
  322. {
  323.     switch (action)
  324.     {
  325.                         //Darnassus
  326.                 case GOSSIP_ACTION_INFO_DEF + 1:
  327.                                 player->CLOSE_GOSSIP_MENU();            
  328.                                 player->TeleportTo(1, 9952.1f, 2272.3f, 1341.7f, 1.5f);
  329.             break;
  330.                         //Ironforge
  331.                 case GOSSIP_ACTION_INFO_DEF + 2:
  332.                                 player->CLOSE_GOSSIP_MENU();
  333.                                 player->TeleportTo(0, -4982.8f, -880.5f, 502.0f, 5.3f);
  334.             break;
  335.                         //Exodar
  336.                 case GOSSIP_ACTION_INFO_DEF + 3:
  337.                                 player->CLOSE_GOSSIP_MENU();
  338.                                 player->TeleportTo(530, -3863.5f, -11742.6f, -106.5f, 2.1f);
  339.             break;
  340.              //Stormwind
  341.                 case GOSSIP_ACTION_INFO_DEF + 4:
  342.                                 player->CLOSE_GOSSIP_MENU();
  343.                                 player->TeleportTo(0, -8893.9f, 569.0f, 92.9f, 0.6f);
  344.             break;
  345.             //Orgrimmar
  346.                 case GOSSIP_ACTION_INFO_DEF + 5:
  347.                                 player->CLOSE_GOSSIP_MENU();
  348.                                 player->TeleportTo(1, 1477.5f, -4417.5f, 25.9f, 0.1f);
  349.             break;
  350.             //Silvermoon
  351.                 case GOSSIP_ACTION_INFO_DEF + 6:
  352.                                 player->CLOSE_GOSSIP_MENU();
  353.                                 player->TeleportTo(530, 9465.5f, -7278.2f, 14.7f, 6.2f);
  354.             break;
  355.                         //Thunderbluff
  356.                 case GOSSIP_ACTION_INFO_DEF + 7:
  357.                                 player->CLOSE_GOSSIP_MENU();
  358.                                 player->TeleportTo(1, -1290.1f, 146.9f, 130.1f, 4.8f);
  359.             break;
  360.                         //Undercity
  361.                 case GOSSIP_ACTION_INFO_DEF + 8:
  362.                                 player->CLOSE_GOSSIP_MENU();            
  363.                                 player->TeleportTo(0, 1629.9f, 239.7f, -42.6f, 3.1f);
  364.             break;
  365.             //Booty Bay
  366.         case GOSSIP_ACTION_INFO_DEF + 54:
  367.                                                                 player->CLOSE_GOSSIP_MENU();
  368.                                 player->TeleportTo(0, -14296.9f, 531.4f, 8.8f, 4.2f);
  369.             break;
  370.                         //Ratchet
  371.         case GOSSIP_ACTION_INFO_DEF + 55:
  372.                                                                 player->CLOSE_GOSSIP_MENU();
  373.                                                                 player->TeleportTo(1, -956.6f, -3754.7f, 5.4f, 1.2f);
  374.             break;
  375.                         //Shattrath
  376.         case GOSSIP_ACTION_INFO_DEF + 9:
  377.                                 player->CLOSE_GOSSIP_MENU();            
  378.                                 player->TeleportTo(530, -1869.2f, 5441.3f, -9.9f, 5.1f);
  379.             break;
  380.                         //Deadmines
  381.         case GOSSIP_ACTION_INFO_DEF + 10:
  382.                                 player->CLOSE_GOSSIP_MENU();            
  383.                                 player->TeleportTo(0, -11208.3f, 1672.4f, 25.0f, 1.4f);
  384.             break;
  385.                         //Shadowfang Keep
  386.         case GOSSIP_ACTION_INFO_DEF + 11:
  387.                                 player->CLOSE_GOSSIP_MENU();            
  388.                                 player->TeleportTo(0, -234.1f, 1563.3f, 77.3f, 1.1f);
  389.             break;
  390.                         //Stormwind Stockades
  391.         case GOSSIP_ACTION_INFO_DEF + 12:
  392.                                 player->CLOSE_GOSSIP_MENU();            
  393.                                 player->TeleportTo(0, -8769.2f, 842.5f, 90.1f, 0.6f);
  394.             break;
  395.                         //Gnomeregan
  396.         case GOSSIP_ACTION_INFO_DEF + 13:
  397.                                 player->CLOSE_GOSSIP_MENU();          
  398.                                 player->TeleportTo(0, -5162.9f, 926.06f, 257.6f, 1.4f);
  399.             break;
  400.                         //The Scarlet Monastery
  401.         case GOSSIP_ACTION_INFO_DEF + 14:
  402.                                 player->CLOSE_GOSSIP_MENU();            
  403.                                 player->TeleportTo(0, 2870.7f, -759.2f, 160.6f, 5.05f);
  404.             break;
  405.                         //Uldaman
  406.         case GOSSIP_ACTION_INFO_DEF + 15:
  407.                                 player->CLOSE_GOSSIP_MENU();            
  408.                                 player->TeleportTo(0, -6068.2f, -2955.4f, 210.1f, 0.1f);
  409.             break;
  410.                         //Temple
  411.         case GOSSIP_ACTION_INFO_DEF + 16:
  412.                                 player->CLOSE_GOSSIP_MENU();            
  413.                                 player->TeleportTo(0, -10470.8f, -3818.7f, 29.3f, 6.004f);
  414.             break;
  415.                         //Blackrock
  416.         case GOSSIP_ACTION_INFO_DEF + 17:
  417.                                 player->CLOSE_GOSSIP_MENU();            
  418.                                 player->TeleportTo(0, -7708.9f, -1088.03f, 218.1f, 5.9f);
  419.             break;
  420.                         //Stratholme
  421.         case GOSSIP_ACTION_INFO_DEF + 18:
  422.                                 player->CLOSE_GOSSIP_MENU();            
  423.                                 player->TeleportTo(0, 3352.9f, -3379.03f, 145.1f, 6.2f);
  424.             break;
  425.                         //Scholomance
  426.         case GOSSIP_ACTION_INFO_DEF + 19:
  427.                                 player->CLOSE_GOSSIP_MENU();            
  428.                                 player->TeleportTo(0, 1268.3f, -2556.2f, 94.3f, 0.4f);
  429.             break;
  430.                         //Magisters' Terrace
  431.         case GOSSIP_ACTION_INFO_DEF + 20:
  432.                                 player->CLOSE_GOSSIP_MENU();            
  433.                                 player->TeleportTo(530, 12886.2f, -7331.8f, 66.2f, 4.3f);
  434.             break;
  435.                         //Ragefire
  436.         case GOSSIP_ACTION_INFO_DEF + 21:
  437.                                 player->CLOSE_GOSSIP_MENU();            
  438.                                 player->TeleportTo(1, 1811.1f, -4410.01f, -18.07f, 5.03f);
  439.             break;
  440.                         //Wailing Caverns
  441.         case GOSSIP_ACTION_INFO_DEF + 22:
  442.                                 player->CLOSE_GOSSIP_MENU();            
  443.                                 player->TeleportTo(1, -739.7f, -2216.8f, 16.9f, 2.5f);
  444.             break;
  445.                         //Blackfathom Deeps
  446.         case GOSSIP_ACTION_INFO_DEF + 23:
  447.                                 player->CLOSE_GOSSIP_MENU();            
  448.                                 player->TeleportTo(1, 4248.2f, 743.9f, -24.1f, 1.2f);
  449.             break;
  450.                         //Razorfen Kraul
  451.         case GOSSIP_ACTION_INFO_DEF + 24:
  452.                                 player->CLOSE_GOSSIP_MENU();            
  453.                                 player->TeleportTo(1, -4463.5, -1664.5f, 82.4f, 0.89f);
  454.             break;
  455.                         //Razorfen Downs
  456.         case GOSSIP_ACTION_INFO_DEF + 25:
  457.                                 player->CLOSE_GOSSIP_MENU();            
  458.                                 player->TeleportTo(1, -4653.9f, -2487.7f, 82.2f, 5.5f);
  459.             break;
  460.                         //Zul'Farrak
  461.         case GOSSIP_ACTION_INFO_DEF + 26:
  462.                                 player->CLOSE_GOSSIP_MENU();            
  463.                                 player->TeleportTo(1, -6799.8f, -2891.1f, 9.5f, 6.2f);
  464.             break;
  465.                         //Maraudon
  466.         case GOSSIP_ACTION_INFO_DEF + 27:
  467.                                 player->CLOSE_GOSSIP_MENU();            
  468.                                 player->TeleportTo(1, -1423.4f, 2992.5f, 137.08f, 1.5f);
  469.             break;
  470.                         //DireMaul
  471.         case GOSSIP_ACTION_INFO_DEF + 28:
  472.                                 player->CLOSE_GOSSIP_MENU();            
  473.                                 player->TeleportTo(1, -3520.2f, 1080.2f, 161.9f, 4.7f);
  474.             break;
  475.                         //Caverns Of Time
  476.         case GOSSIP_ACTION_INFO_DEF + 29:
  477.                                 player->CLOSE_GOSSIP_MENU();            
  478.                                 player->TeleportTo(1, -8174.2f, -4736.95f, 34.3f, 4.96f);
  479.             break;
  480.                         //Hellfire Citadel
  481.         case GOSSIP_ACTION_INFO_DEF + 30:
  482.                                 player->CLOSE_GOSSIP_MENU();            
  483.                                 player->TeleportTo(530, -390.86f, 3130.6f, 4.5f, 0.2f);
  484.             break;
  485.                         //Coilfang Reservoir
  486.         case GOSSIP_ACTION_INFO_DEF + 31:
  487.                                 player->CLOSE_GOSSIP_MENU();            
  488.                                 player->TeleportTo(530, 731.3f, 6865.7f, -69.4f, 6.2f);
  489.             break;
  490.                         //Auchindoun
  491.         case GOSSIP_ACTION_INFO_DEF + 32:
  492.                                 player->CLOSE_GOSSIP_MENU();            
  493.                                 player->TeleportTo(530, -3322.5f, 4941.3f, -100.5f, 3.7f);
  494.             break;
  495.                         //Tempest Keep
  496.         case GOSSIP_ACTION_INFO_DEF + 33:
  497.                                 player->CLOSE_GOSSIP_MENU();            
  498.                                 player->TeleportTo(530, 3100.7f, 1538.8f, 190.8f, 1.4f);
  499.             break;
  500.                         //Upper Blackrock Spire
  501.         case GOSSIP_ACTION_INFO_DEF + 34:
  502.                                 player->CLOSE_GOSSIP_MENU();            
  503.                                 player->TeleportTo(0, -7534.7, -1212.6f, 285.4f, 5.2f);
  504.             break;
  505.                         //Zul'Gurub
  506.         case GOSSIP_ACTION_INFO_DEF + 35:
  507.                                 player->CLOSE_GOSSIP_MENU();            
  508.                                 player->TeleportTo(0, -11916.7f, -1215.7f, 92.6f, 4.7f);
  509.             break;
  510.                         //Molten Core
  511.         case GOSSIP_ACTION_INFO_DEF + 36:
  512.                                 player->CLOSE_GOSSIP_MENU();            
  513.                                 player->TeleportTo(230, 1117.3f, -461.2f, -102.6f, 3.5f);
  514.             break;
  515.                         //Blackwing Lair
  516.         case GOSSIP_ACTION_INFO_DEF + 37:
  517.                                 player->CLOSE_GOSSIP_MENU();            
  518.                                 player->TeleportTo(229, 174.7f, -474.6f, 117.5f, 6.2f);
  519.             break;
  520.                         //Naxxramas
  521.         case GOSSIP_ACTION_INFO_DEF + 38:
  522.                                 player->CLOSE_GOSSIP_MENU();            
  523.                                 player->TeleportTo(0, 3095.829102f, -3741.554199f, 133.292892f, 0.237340f);
  524.             break;
  525.                         //Karazhan
  526.         case GOSSIP_ACTION_INFO_DEF + 39:
  527.                                 player->CLOSE_GOSSIP_MENU();            
  528.                                 player->TeleportTo(0, -11119.2f, -2011.3f, 47.6f, 0.6f);
  529.             break;
  530.                         //Sunwell
  531.         case GOSSIP_ACTION_INFO_DEF + 40:
  532.                                 player->CLOSE_GOSSIP_MENU();            
  533.                                 player->TeleportTo(530, 12565.1f, -6774.9f, 15.9f, 3.1f);
  534.             break;      
  535.                         //Onyxia's Lair                
  536.         case GOSSIP_ACTION_INFO_DEF + 41:
  537.                                 player->CLOSE_GOSSIP_MENU();            
  538.                                 player->TeleportTo(1, -4708.2, -3727.6f, 55.4f, 3.7f);
  539.             break;
  540.                         //Ruins of Ahn'Qiraj
  541.         case GOSSIP_ACTION_INFO_DEF + 42:
  542.                                 player->CLOSE_GOSSIP_MENU();            
  543.                                 player->TeleportTo(1, -8412.6f, 1501.3f, 30.1f, 2.6f);
  544.             break;
  545.                         //Temple of Ahn'Qiraj
  546.         case GOSSIP_ACTION_INFO_DEF + 43:
  547.                                 player->CLOSE_GOSSIP_MENU();            
  548.                                 player->TeleportTo(1, -8240.08f, 1991.3f, 129.6f, 0.9f);
  549.             break;
  550.                         //Zul'Aman
  551.         case GOSSIP_ACTION_INFO_DEF + 44:
  552.                                 player->CLOSE_GOSSIP_MENU();            
  553.                                 player->TeleportTo(530, 6851.7f, -7972.5f, 179.9f, 4.6f);
  554.             break;
  555.                         //Hyjal
  556.         case GOSSIP_ACTION_INFO_DEF + 45:
  557.                                 player->CLOSE_GOSSIP_MENU();            
  558.                                 player->TeleportTo(1, -8177.8f, -4181.2f, -166.7f, 0.9f);
  559.             break;      
  560.                         //Gruul's Lair
  561.         case GOSSIP_ACTION_INFO_DEF + 46:
  562.                                 player->CLOSE_GOSSIP_MENU();            
  563.                                 player->TeleportTo(530, 3530.06f, 5104.08f, 4.3f, 5.5f);
  564.             break;
  565.                         //Magtheridon's Lair
  566.         case GOSSIP_ACTION_INFO_DEF + 47:
  567.                                 player->CLOSE_GOSSIP_MENU();            
  568.                                 player->TeleportTo(530, -312.7f, 3087.2f, -115.8f, 5.1f);
  569.             break;
  570.                         //Serpentshrine Cavern
  571.         case GOSSIP_ACTION_INFO_DEF + 48:
  572.                                 player->CLOSE_GOSSIP_MENU();            
  573.                                 player->TeleportTo(530, 731.3f, 6865.7f, -69.4f, 6.2f);
  574.             break;      
  575.                         //The Eye
  576.         case GOSSIP_ACTION_INFO_DEF + 49:
  577.                                 player->CLOSE_GOSSIP_MENU();            
  578.                                 player->TeleportTo(530, 3090.3f, 1406.1f, 189.9f, 4.5f);
  579.             break;      
  580.                         //Black Temple
  581.         case GOSSIP_ACTION_INFO_DEF + 50:
  582.                                 player->CLOSE_GOSSIP_MENU();            
  583.                                 player->TeleportTo(530, -3648.1f, 316.7f, 35.7f, 2.99f);
  584.             break;              
  585.                                                                                 //BEGIN PLAYER TOOLS
  586.                         //Buff
  587.         case GOSSIP_ACTION_INFO_DEF + 51:
  588.                                                                 player->CastSpell(player, BUFF1, true);
  589.                                                                
  590.  
  591. player->CastSpell(player, BUFF2, true);
  592.                                                                
  593.  
  594. player->CastSpell(player, BUFF3, true);
  595.                                                                
  596.  
  597. player->CastSpell(player, BUFF4, true);
  598.                                                                
  599.  
  600. player->CastSpell(player, BUFF5, true);
  601.                                                                 player->CLOSE_GOSSIP_MENU();              
  602.             break;      
  603.                         //Regenerate                    
  604.         case GOSSIP_ACTION_INFO_DEF + 52:
  605.                                                                 player->SetHealth(player->GetMaxHealth());
  606.                                                                 player->SetPower(POWER_MANA, player->GetMaxPower(POWER_MANA));
  607.                                                                 player->CLOSE_GOSSIP_MENU();              
  608.             break;
  609.                         //Cooldown
  610.         case GOSSIP_ACTION_INFO_DEF + 53:
  611.                                                                 player->RemoveAllSpellCooldown();
  612.                                                                 player->CLOSE_GOSSIP_MENU();              
  613.             break;
  614.                         //BEGIN PVP ARENAS
  615.                 //PVP Gurubashi Arena
  616.         case GOSSIP_ACTION_INFO_DEF + 56:        
  617.                                                                 player->CLOSE_GOSSIP_MENU();          
  618.                                                                 player->TeleportTo(0, -13240.772461f, 201.324463f, 30.901804f, 1.099158f);;        
  619.  
  620.                                                                                  
  621.             break;
  622.     }
  623. }
  624. bool GossipSelect_teleporter(Player *player, Creature *_Creature, uint32 sender, uint32 action )
  625. {
  626.     switch (sender)
  627.     {
  628.         case GOSSIP_SENDER_MAIN:            SendSubMenu_teleporter(player, _Creature, action); break;
  629.         case GOSSIP_SENDER_ACTION:          SendActionMenu_teleporter(player, _Creature, action); break;
  630.         case GOSSIP_SENDER_DUNGEON:         SendSubDungeonMenu_teleporter(player, _Creature, action); break;
  631.         case GOSSIP_SENDER_START:           GossipHello_teleporter(player,_Creature); break;
  632.     }
  633.     return true;
  634. }
  635.  
  636. void AddSC_teleport_npc()
  637. {
  638.     Script *newscript;
  639.  
  640. newscript = new Script;
  641. newscript->Name="teleport_npc";
  642. newscript->pGossipHello = &GossipHello_teleporter;
  643. newscript->pGossipSelect = &GossipSelect_teleporter;
  644. newscript->RegisterSelf();
  645. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement