Advertisement
Guest User

Untitled

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