Guest User

Portable Teleporter

a guest
Mar 2nd, 2016
1,308
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 32.95 KB | None | 0 0
  1. //Made by nikolaise^
  2. // You need rochet2's item gossip script in order for this script to work.
  3. #include "Define.h"
  4. #include "GossipDef.h"
  5. #include "Item.h"
  6. #include "Player.h"
  7. #include "ScriptedGossip.h"
  8. #include "ScriptMgr.h"
  9. #include "Spell.h"
  10. #include "ScriptMgr.h"
  11. #include "ScriptedCreature.h"
  12. #include "GameEventMgr.h"
  13. #include "Player.h"
  14. #include "WorldSession.h"
  15.  
  16. class PortableTeleporter_ItemGossip : public ItemScript
  17. {
  18. public:
  19.     PortableTeleporter_ItemGossip() : ItemScript("PortableTeleporter_ItemGossip") { }
  20.  
  21.     bool OnUse(Player* player, Item* item, SpellCastTargets const& targets) override
  22.     {
  23.         if ((player->GetZoneId() == 2597 || player->InBattleground() || player->GetZoneId() == 33 || player->GetZoneId() == 357 || player->GetZoneId() == 268) || player->IsInCombat())
  24.         {
  25.             player->GetSession()->SendAreaTriggerMessage("Your either combat or a battleground and can't use me!");
  26.         }
  27.         else
  28.         {
  29.             player->SummonCreature(999991, player->GetPositionX(), player->GetPositionY(), player->GetPositionZ(), player->GetOrientation(), TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 100000);
  30.  
  31.             if (Creature* creature = player->FindNearestCreature(999991, 25.0f))
  32.             {
  33.                 creature->GetMotionMaster()->MoveFollow(player, PET_FOLLOW_DIST, creature->GetFollowAngle(), MOTION_SLOT_ACTIVE);
  34.             }
  35.         }
  36.         return true;
  37.     }
  38. };
  39.  
  40.  
  41. class PortableTeleporter : public  CreatureScript
  42. {
  43. public:
  44.     PortableTeleporter() : CreatureScript("PortableTeleporter")
  45.     {
  46.     }
  47.  
  48.     bool OnGossipHello(Player* player, Creature* creature)
  49.     {
  50.         player->ADD_GOSSIP_ITEM(GOSSIP_ICON_INTERACT_2, "|TInterface/ICONS/INV_Misc_Map08:35:35:-23:0|t-> Teleport me", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1);
  51.         player->ADD_GOSSIP_ITEM(GOSSIP_ICON_INTERACT_2, "|TInterface/ICONS/Spell_Holy_CircleOfRenewal:35:35:-23:0|t-> Heal me", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 2);
  52.         player->ADD_GOSSIP_ITEM(GOSSIP_ICON_INTERACT_2, "|TInterface/ICONS/Ability_Repair:35:35-:-23:0|t-> Repair My Items", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 3);
  53.         player->ADD_GOSSIP_ITEM(GOSSIP_ICON_INTERACT_2, "|TInterface/ICONS/inv_misc_truegold:35:35:-23:0|t-> Bank", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 4);
  54.         player->ADD_GOSSIP_ITEM(GOSSIP_ICON_INTERACT_2, "|TInterface/ICONS/Achievement_Boss_CThun:35:35:-23:0|t-> Morphs", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 6);
  55.         player->ADD_GOSSIP_ITEM(GOSSIP_ICON_INTERACT_1, "|TInterface/ICONS/Achievement_bg_returnxflags_def_wsg:35:35:-23:0|t<- Nevermind", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 7);
  56.         player->PlayerTalkClass->SendGossipMenu(1, creature->GetGUID());
  57.         return true;
  58.     }
  59.  
  60.     bool OnGossipSelect(Player* player, Creature * creature, uint32 Sender, uint32 action)
  61.     {
  62.         player->PlayerTalkClass->ClearMenus();
  63.         if (Sender == GOSSIP_SENDER_MAIN)
  64.             switch (action)
  65.         {
  66.             //Nevermind
  67.             case GOSSIP_ACTION_INFO_DEF + 7:
  68.                 player->CLOSE_GOSSIP_MENU();
  69.                 break;
  70.  
  71.             //morphs
  72.             case GOSSIP_ACTION_INFO_DEF + 6:
  73.                 player->ADD_GOSSIP_ITEM(GOSSIP_ICON_INTERACT_1, "|TInterface/ICONS/Spell_Shadow_DemonicCircleTeleport:35:35:-23:0|t-> Race Morphs", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 400);
  74.                 player->ADD_GOSSIP_ITEM(GOSSIP_ICON_INTERACT_1, "|TInterface/ICONS/Spell_Shadow_DemonicCircleTeleport:35:35:-23:0|t-> Custom Morphs", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 401);
  75.                 player->PlayerTalkClass->SendGossipMenu(1, creature->GetGUID());
  76.                 break;
  77.             case GOSSIP_ACTION_INFO_DEF + 400:
  78.                 player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT,  "Human Female", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 43);
  79.                 player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT,  "Human Male", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 44);
  80.                 player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT,  "Dwarf Female", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 45);
  81.                 player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT,  "Dwarf Male", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 46);
  82.                 player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT,  "Night Elf Female", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 47);
  83.                 player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT,  "Night Elf Male", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 48);
  84.                 player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT,  "Gnome Female", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 49);
  85.                 player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT,  "Gnome Male", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 50);
  86.                 player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT,  "Dreanai Female", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 51);
  87.                 player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT,  "Dreanai Male", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 52);
  88.                 player->ADD_GOSSIP_ITEM(GOSSIP_ICON_INTERACT_1,"Next Page", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 53);
  89.                 break;
  90.  
  91.             case GOSSIP_ACTION_INFO_DEF + 53:
  92.                 player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, "Orc Female", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 55);
  93.                 player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, "Orc Male", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 56);
  94.                 player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, "Undead Female", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 57);
  95.                 player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, "Undead Male", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 58);
  96.                 player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, "Tauren Elf Female", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 59);
  97.                 player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, "Tauren Elf Male", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 60);
  98.                 player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, "Troll Female", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 61);
  99.                 player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, "Troll Male", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 62);
  100.                 player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, "Blood Elf Female", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 63);
  101.                 player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, "Blood Elf Male", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 64);
  102.                 player->ADD_GOSSIP_ITEM(GOSSIP_ICON_INTERACT_1, "Back", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 400);
  103.                 break;
  104.             case GOSSIP_ACTION_INFO_DEF + 401:
  105.                 player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, "Arthas", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 402);
  106.                 player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, "Penguin", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 403);
  107.                 player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, "Demon Hunter", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 404);
  108.                 player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, "Female Death Knight", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 405);
  109.                 player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, "Tuskarr", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 406);
  110.                 player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, "Warlock Green", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 407);
  111.                 player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, "Pirate Female", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 408);
  112.                 player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, "Pirate Male", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 409);
  113.                 player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, "Undead Death Knight", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 410);
  114.                 player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, "Ghost Tuskarr", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 411);
  115.  
  116.                 // Alliance Morphs
  117.  
  118.             case GOSSIP_ACTION_INFO_DEF + 43:
  119.                 player->SetDisplayId(19724);
  120.                 creature->Whisper("You've been Morphed!", LANG_UNIVERSAL, player);
  121.                 break;
  122.  
  123.             case GOSSIP_ACTION_INFO_DEF + 44:
  124.                 player->SetDisplayId(19723);
  125.                 creature->Whisper("You've been Morphed!", LANG_UNIVERSAL, player);
  126.                 break;
  127.             case GOSSIP_ACTION_INFO_DEF + 45:
  128.                 player->SetDisplayId(37918);
  129.                 creature->Whisper("You've been Morphed!", LANG_UNIVERSAL, player);
  130.                 break;
  131.  
  132.             case GOSSIP_ACTION_INFO_DEF + 46:
  133.                 player->SetDisplayId(20317);
  134.                 creature->Whisper("You've been Morphed!", LANG_UNIVERSAL, player);
  135.                 break;
  136.                        
  137.             case GOSSIP_ACTION_INFO_DEF + 47:
  138.                 player->SetDisplayId(37919);
  139.                 creature->Whisper("You've been Morphed!", LANG_UNIVERSAL, player);
  140.                 break;
  141.                            
  142.             case GOSSIP_ACTION_INFO_DEF + 48:
  143.                 player->SetDisplayId(20318);
  144.                 creature->Whisper("You've been Morphed!", LANG_UNIVERSAL, player);
  145.                 break;
  146.                            
  147.             case GOSSIP_ACTION_INFO_DEF + 49:
  148.                 player->SetDisplayId(20320);
  149.                 creature->Whisper("You've been Morphed!", LANG_UNIVERSAL, player);
  150.                 break;
  151.  
  152.            
  153.             case GOSSIP_ACTION_INFO_DEF + 50:
  154.                 player->SetDisplayId(20580);
  155.                 creature->Whisper("You've been Morphed!", LANG_UNIVERSAL, player);
  156.                 break;
  157.                            
  158.             case GOSSIP_ACTION_INFO_DEF + 51:
  159.                 player->SetDisplayId(20323);
  160.                 creature->Whisper("You've been Morphed!", LANG_UNIVERSAL, player);
  161.                 break;
  162.        
  163.             case GOSSIP_ACTION_INFO_DEF + 52:
  164.                 player->SetDisplayId(37916);
  165.                 creature->Whisper("You've been Morphed!", LANG_UNIVERSAL, player);
  166.                 break;
  167.                 //Horde Morphs
  168.             case GOSSIP_ACTION_INFO_DEF + 55:
  169.                 player->SetDisplayId(20316);
  170.                 creature->Whisper("You've been Morphed!", LANG_UNIVERSAL, player);
  171.                 break;
  172.             case GOSSIP_ACTION_INFO_DEF + 56:
  173.                 player->SetDisplayId(37920);
  174.                 creature->Whisper("You've been Morphed!", LANG_UNIVERSAL, player);
  175.                 break;
  176.             case GOSSIP_ACTION_INFO_DEF + 57:
  177.                 player->SetDisplayId(37924);
  178.                 creature->Whisper("You've been Morphed!", LANG_UNIVERSAL, player);
  179.                 break;
  180.             case GOSSIP_ACTION_INFO_DEF + 58:
  181.                 player->SetDisplayId(37923);
  182.                 creature->Whisper("You've been Morphed!", LANG_UNIVERSAL, player);
  183.                 break;
  184.             case GOSSIP_ACTION_INFO_DEF + 59:
  185.                 player->SetDisplayId(37921);
  186.                 creature->Whisper("You've been Morphed!", LANG_UNIVERSAL, player);
  187.                 break;
  188.             case GOSSIP_ACTION_INFO_DEF + 60:
  189.                 player->SetDisplayId(20319);
  190.                 creature->Whisper("You've been Morphed!", LANG_UNIVERSAL, player);
  191.                 break;
  192.             case GOSSIP_ACTION_INFO_DEF + 61:
  193.                 player->SetDisplayId(37922);
  194.                 creature->Whisper("You've been Morphed!", LANG_UNIVERSAL, player);
  195.                 break;
  196.             case GOSSIP_ACTION_INFO_DEF + 62:
  197.                 player->SetDisplayId(20321);
  198.                 creature->Whisper("You've been Morphed!", LANG_UNIVERSAL, player);
  199.                 break;
  200.             case GOSSIP_ACTION_INFO_DEF + 63:
  201.                 player->SetDisplayId(20578);
  202.                 creature->Whisper("You've been Morphed!", LANG_UNIVERSAL, player);
  203.                 break;
  204.             case GOSSIP_ACTION_INFO_DEF + 64:
  205.                 player->SetDisplayId(20579);
  206.                 creature->Whisper("You've been Morphed!", LANG_UNIVERSAL, player);
  207.                 break;
  208.                 //Custom Morphs
  209.             case GOSSIP_ACTION_INFO_DEF + 402:
  210.                 player->SetDisplayId(24949);
  211.                 creature->Whisper("You've been Morphed!", LANG_UNIVERSAL, player);
  212.                 break;
  213.             case GOSSIP_ACTION_INFO_DEF + 403:
  214.                 player->SetDisplayId(24593);
  215.                 creature->Whisper("You've been Morphed!", LANG_UNIVERSAL, player);
  216.                 break;
  217.             case GOSSIP_ACTION_INFO_DEF + 404:
  218.                 player->SetDisplayId(37924);
  219.                 creature->Whisper("You've been Morphed!", LANG_UNIVERSAL, player);
  220.                 break;
  221.             case GOSSIP_ACTION_INFO_DEF + 405:
  222.                 player->SetDisplayId(24935);
  223.                 creature->Whisper("You've been Morphed!", LANG_UNIVERSAL, player);
  224.                 break;
  225.             case GOSSIP_ACTION_INFO_DEF + 406:
  226.                 player->SetDisplayId(24391);
  227.                 creature->Whisper("You've been Morphed!", LANG_UNIVERSAL, player);
  228.                 break;
  229.             case GOSSIP_ACTION_INFO_DEF + 407:
  230.                 player->SetDisplayId(25006);
  231.                 creature->Whisper("You've been Morphed!", LANG_UNIVERSAL, player);
  232.                 break;
  233.             case GOSSIP_ACTION_INFO_DEF + 408:
  234.                 player->SetDisplayId(25048);
  235.                 creature->Whisper("You've been Morphed!", LANG_UNIVERSAL, player);
  236.                 break;
  237.             case GOSSIP_ACTION_INFO_DEF + 409:
  238.                 player->SetDisplayId(25037);
  239.                 creature->Whisper("You've been Morphed!", LANG_UNIVERSAL, player);
  240.                 break;
  241.             case GOSSIP_ACTION_INFO_DEF + 410:
  242.                 player->SetDisplayId(25580);
  243.                 creature->Whisper("You've been Morphed!", LANG_UNIVERSAL, player);
  244.                 break;
  245.             case GOSSIP_ACTION_INFO_DEF + 411:
  246.                 player->SetDisplayId(25552);
  247.                 creature->Whisper("You've been Morphed!", LANG_UNIVERSAL, player);
  248.                 break;
  249.  
  250.                 //Set Maxhealth
  251.             case GOSSIP_ACTION_INFO_DEF + 2:
  252.                 if (player->IsInCombat())
  253.                 {
  254.                     creature->Whisper("You're in combat and will not be healed!", LANG_UNIVERSAL, player);
  255.                     player->CLOSE_GOSSIP_MENU();
  256.                     break;
  257.                 }
  258.                 else
  259.                 {
  260.                     player->CLOSE_GOSSIP_MENU();
  261.                     player->GetMaxHealth();
  262.                     creature->Whisper("You have been Healed!", LANG_UNIVERSAL, player);
  263.                     break;
  264.                 }
  265.  
  266.                 //Bank
  267.             case GOSSIP_ACTION_INFO_DEF + 4:
  268.                 player->CLOSE_GOSSIP_MENU();
  269.                 player->GetSession()->SendShowBank(player->GetGUID());
  270.                 break;
  271.                 // Repair items
  272.             case GOSSIP_ACTION_INFO_DEF + 3:
  273.                 player->DurabilityRepairAll(false, 0, false);
  274.                 player->GetSession()->SendNotification("Your items have been repaired!");
  275.                 player->CLOSE_GOSSIP_MENU();
  276.                 break;
  277.  
  278.             //Teleport me
  279.             case GOSSIP_ACTION_INFO_DEF + 1:
  280.                 player->PlayerTalkClass->ClearMenus();
  281.                 player->ADD_GOSSIP_ITEM(GOSSIP_ICON_INTERACT_1, "|TInterface/ICONS/Spell_Shadow_DemonicCircleTeleport:35:35:-23:0|t-> Main cities", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 19);
  282.                 player->ADD_GOSSIP_ITEM(GOSSIP_ICON_INTERACT_1, "|TInterface/ICONS/Achievement_Dungeon_UlduarRaid_Misc_01:35:35:-23:0|t-> Raids", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 20);
  283.                 player->ADD_GOSSIP_ITEM(GOSSIP_ICON_INTERACT_1, "|TInterface/ICONS/Achievement_Dungeon_CoTStratholme_10man:35:35:-23:0|t-> Dungeons", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 300);
  284.                 player->ADD_GOSSIP_ITEM(GOSSIP_ICON_INTERACT_1, "|TInterface/ICONS/Achievement_bg_returnxflags_def_wsg:35:35:-23:0|t<- Back", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1);
  285.                 player->PlayerTalkClass->SendGossipMenu(2, creature->GetGUID());
  286.                 return true;
  287.  
  288.                 //Main Cities.
  289.             case GOSSIP_ACTION_INFO_DEF + 19:
  290.  
  291.                 if (player->GetTeam() == ALLIANCE)
  292.                 {
  293.                     player->PlayerTalkClass->ClearMenus();
  294.                     player->ADD_GOSSIP_ITEM(GOSSIP_ICON_INTERACT_1, "|TInterface/ICONS/Spell_Arcane_PortalStormWind:35:35:-23:0|t-> Stormwind", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 21);
  295.                     player->ADD_GOSSIP_ITEM(GOSSIP_ICON_INTERACT_1, "|TInterface/ICONS/Spell_Arcane_PortalIronForge:35:35:-23:0|t-> Ironforge", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 22);
  296.                     player->ADD_GOSSIP_ITEM(GOSSIP_ICON_INTERACT_1, "|TInterface/ICONS/Spell_Arcane_PortalDarnassus:35:35:-23:0|t-> Darnassus", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 23);
  297.                     player->ADD_GOSSIP_ITEM(GOSSIP_ICON_INTERACT_1, "|TInterface/ICONS/Spell_Arcane_PortalExodar:35:35:-23:0|t-> Exodar", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 24);
  298.                     player->ADD_GOSSIP_ITEM(GOSSIP_ICON_INTERACT_1, "|TInterface/ICONS/Spell_Arcane_PortalTheramore:35:35:-23:0|t-> Mall", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 26);
  299.                     player->ADD_GOSSIP_ITEM(GOSSIP_ICON_INTERACT_1, "|TInterface/ICONS/Achievement_bg_returnxflags_def_wsg:35:35:-23:0|t<- back", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1);
  300.                     player->PlayerTalkClass->SendGossipMenu(3, creature->GetGUID());
  301.                     break;
  302.                 }
  303.                 else
  304.                 {
  305.                     player->PlayerTalkClass->ClearMenus();
  306.                     player->ADD_GOSSIP_ITEM(GOSSIP_ICON_INTERACT_1, "|TInterface/ICONS/Spell_Arcane_TeleportOrgrimmar:35:35:-23:0|t -> Orgrimmar", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 11);
  307.                     player->ADD_GOSSIP_ITEM(GOSSIP_ICON_INTERACT_1, "|TInterface/ICONS/Spell_Arcane_TeleportUnderCity.:35:35:-23:0|t -> Undercity", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 12);
  308.                     player->ADD_GOSSIP_ITEM(GOSSIP_ICON_INTERACT_1, "|TInterface/ICONS/Spell_Arcane_PortalSilvermoon:35:35:-23:0|t -> Silvermoon City", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 13);
  309.                     player->ADD_GOSSIP_ITEM(GOSSIP_ICON_INTERACT_1, "|TInterface/ICONS/Spell_Arcane_PortalThunderBluff:35:35:-23:0|t-> Thunder Bluff", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 14);
  310.                     player->ADD_GOSSIP_ITEM(GOSSIP_ICON_INTERACT_1, "|TInterface/ICONS/Spell_Arcane_PortalTheramore:35:35:-23:0|t -> Mall", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 26);
  311.                     player->ADD_GOSSIP_ITEM(GOSSIP_ICON_INTERACT_1, "|TInterface/ICONS/Achievement_bg_returnxflags_def_wsg:35:35:-23:0|t <- back", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1);
  312.                     player->PlayerTalkClass->SendGossipMenu(4, creature->GetGUID());
  313.                     break;
  314.                 }
  315.  
  316.  
  317.             case GOSSIP_ACTION_INFO_DEF + 300: //Dungeons Menu
  318.                 player->ADD_GOSSIP_ITEM(2, "Classic Dungeons", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 301);
  319.                 player->ADD_GOSSIP_ITEM(2, "BC Dungeons", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 302);
  320.                 player->ADD_GOSSIP_ITEM(2, "Wrath Dungeons", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 303);
  321.                 player->ADD_GOSSIP_ITEM(2, "Raids", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 399);
  322.                 player->ADD_GOSSIP_ITEM(1, "<- Back", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1);
  323.                 player->PlayerTalkClass->SendGossipMenu(7, creature->GetGUID());
  324.                 break;
  325.  
  326.                 // classic dungeons
  327.             case GOSSIP_ACTION_INFO_DEF + 301:
  328.                 player->ADD_GOSSIP_ITEM(2, "Gnomeregan", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 304);
  329.                 player->ADD_GOSSIP_ITEM(2, "The Deadmines", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 305);
  330.                 player->ADD_GOSSIP_ITEM(2, "The Stockade", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 306);
  331.                 player->ADD_GOSSIP_ITEM(2, "Ragefire Chasm", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 307);
  332.                 player->ADD_GOSSIP_ITEM(2, "Razorfen Downs", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 308);
  333.                 player->ADD_GOSSIP_ITEM(2, "Razorfen Kraul", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 309);
  334.                 player->ADD_GOSSIP_ITEM(2, "Scarlet Monastery", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 310);
  335.                 player->ADD_GOSSIP_ITEM(2, "Shadowfang Keep", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 311);
  336.                 player->ADD_GOSSIP_ITEM(2, "Wailing Caverns", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 312);
  337.                 player->ADD_GOSSIP_ITEM(2, "Blackfathom Deeps", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 313);
  338.                 player->ADD_GOSSIP_ITEM(2, "Blackrock Depths", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 314);
  339.                 player->ADD_GOSSIP_ITEM(2, "Blackrock Spire", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 315);
  340.                 player->ADD_GOSSIP_ITEM(2, "Dire Maul", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 316);
  341.                 player->ADD_GOSSIP_ITEM(2, "Maraudon", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 317);
  342.                 player->ADD_GOSSIP_ITEM(2, "Scholomance", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 318);
  343.                 player->ADD_GOSSIP_ITEM(2, "Stratholme", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 319);
  344.                 player->ADD_GOSSIP_ITEM(2, "Sunken Temple", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 320);
  345.                 player->ADD_GOSSIP_ITEM(2, "Uldaman", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 321);
  346.                 player->ADD_GOSSIP_ITEM(2, "Zul'Farrak", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 322);
  347.                 player->ADD_GOSSIP_ITEM(1, "<- Back", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 300);
  348.                 player->PlayerTalkClass->SendGossipMenu(8, creature->GetGUID());
  349.                 break;
  350.  
  351.                 // BC dungeons
  352.             case GOSSIP_ACTION_INFO_DEF + 302:
  353.                 player->ADD_GOSSIP_ITEM(2, "Tempest Keep", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 323);
  354.                 player->ADD_GOSSIP_ITEM(2, "Magisters' Terrace", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 324);
  355.                 player->ADD_GOSSIP_ITEM(2, "Hellfire Citadel", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 325);
  356.                 player->ADD_GOSSIP_ITEM(2, "Coilfang Reservoir", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 326);
  357.                 player->ADD_GOSSIP_ITEM(2, "Caverns of Time", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 327);
  358.                 player->ADD_GOSSIP_ITEM(2, "Auchindoun", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 328);
  359.                 player->ADD_GOSSIP_ITEM(1, "<- Back", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 300);
  360.                 player->PlayerTalkClass->SendGossipMenu(9, creature->GetGUID());
  361.                 break;
  362.  
  363.  
  364.                 // wrath dungeons
  365.             case GOSSIP_ACTION_INFO_DEF + 303:
  366.                 player->ADD_GOSSIP_ITEM(2, "Utgarde Pinnacle", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 329);
  367.                 player->ADD_GOSSIP_ITEM(2, "Utgarde Keep", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 330);
  368.                 player->ADD_GOSSIP_ITEM(2, "Halls of Stone", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 331);
  369.                 player->ADD_GOSSIP_ITEM(2, "Halls of Lightning", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 332);
  370.                 player->ADD_GOSSIP_ITEM(2, "The Violet Hold", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 333);
  371.                 player->ADD_GOSSIP_ITEM(2, "The Nexus Dungeons", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 334);
  372.                 player->ADD_GOSSIP_ITEM(2, "Icecrown Citadel Dungeons", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 335);
  373.                 player->ADD_GOSSIP_ITEM(2, "Gundrak", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 336);
  374.                 player->ADD_GOSSIP_ITEM(2, "Drak'Tharon Keep", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 337);
  375.                 player->ADD_GOSSIP_ITEM(2, "Trial of the Champion", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 338);
  376.                 player->ADD_GOSSIP_ITEM(2, "The Culling of Stratholme", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 339);
  377.                 player->ADD_GOSSIP_ITEM(2, "Azjol-Nerub", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 340);
  378.                 player->ADD_GOSSIP_ITEM(1, "<- Back", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 300);
  379.                 player->PlayerTalkClass->SendGossipMenu(10, creature->GetGUID());
  380.                 break;
  381.  
  382.                 // Raids
  383.             case GOSSIP_ACTION_INFO_DEF + 399:
  384.                 player->PlayerTalkClass->ClearMenus();
  385.                 player->ADD_GOSSIP_ITEM(2, "Zul'Aman", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 69);
  386.                 player->ADD_GOSSIP_ITEM(2, "Zul'Gurub", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 70);
  387.                 player->ADD_GOSSIP_ITEM(2, "Vault of Archavon", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 71);
  388.                 player->ADD_GOSSIP_ITEM(2, "Ulduar", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 72);
  389.                 player->ADD_GOSSIP_ITEM(2, "The Obsidian Sanctum", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 73);
  390.                 player->ADD_GOSSIP_ITEM(2, "The Eye of Eternity", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 74);
  391.                 player->ADD_GOSSIP_ITEM(2, "Temple of Ahn'Qiraj", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 75);
  392.                 player->ADD_GOSSIP_ITEM(2, "The Eye", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 76);
  393.                 player->ADD_GOSSIP_ITEM(2, "Sunwell Plateau", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 77);
  394.                 player->ADD_GOSSIP_ITEM(2, "Ruins of Ahn'Qiraj", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 78);
  395.                 player->ADD_GOSSIP_ITEM(2, "Onyxia's Lair", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 79);
  396.                 player->ADD_GOSSIP_ITEM(2, "Naxxramas", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 80);
  397.                 player->ADD_GOSSIP_ITEM(2, "Molten Core", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 81);
  398.                 player->ADD_GOSSIP_ITEM(2, "Karazhan", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 82);
  399.                 player->ADD_GOSSIP_ITEM(2, "Icecrown Citadel", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 83);
  400.                 player->ADD_GOSSIP_ITEM(2, "Magtheridon's Lair", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 84);
  401.                 player->ADD_GOSSIP_ITEM(2, "Gruul's Lair", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 85);
  402.                 player->ADD_GOSSIP_ITEM(2, "Trial of the Crusader", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 86);
  403.                 player->ADD_GOSSIP_ITEM(2, "Serpentshrine Cavern", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 87);
  404.                 player->ADD_GOSSIP_ITEM(2, "Hyjal Summit", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 88);
  405.                 player->ADD_GOSSIP_ITEM(2, "Blackwing Lair", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 89);
  406.                 player->ADD_GOSSIP_ITEM(2, "Black Temple", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 90);
  407.                 player->ADD_GOSSIP_ITEM(GOSSIP_ICON_INTERACT_1, "back", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1);
  408.                 player->PlayerTalkClass->SendGossipMenu(5, creature->GetGUID());
  409.                 break;
  410.                 //raids
  411.  
  412.             case GOSSIP_ACTION_INFO_DEF + 69: //Zul'Aman
  413.                 player->TeleportTo(530, 6852.09f, -7989.8f, 189.7f, 4.68225f);
  414.                 break;
  415.             case GOSSIP_ACTION_INFO_DEF + 70: //Zul'Gurub
  416.                 player->TeleportTo(0, -11916.7f, -1215.72f, 92.289f, 4.72454f);
  417.                 break;
  418.             case GOSSIP_ACTION_INFO_DEF + 71: //Vault of Archavon
  419.                 player->TeleportTo(571, 5454.11f, 2840.79f, 421.278f, 6.27665f);
  420.                 break;
  421.             case GOSSIP_ACTION_INFO_DEF + 72: //Ulduar
  422.                 player->TeleportTo(571, 8922.35f, -1208.93f, 1025.5f, 6.03428f);
  423.                 break;
  424.             case GOSSIP_ACTION_INFO_DEF + 73: //The Obsidian Sanctum
  425.                 player->TeleportTo(571, 3513.83f, 269.829f, -114.085f, 3.25168f);
  426.                 break;
  427.             case GOSSIP_ACTION_INFO_DEF + 74: //The Eye of Eternity
  428.                 player->TeleportTo(530, 3088.49f, 1381.57f, 184.863f, 4.61973f);
  429.                 break;
  430.             case GOSSIP_ACTION_INFO_DEF + 75: //Temple of Ahn'Qiraj
  431.                 player->TeleportTo(1, -8240.09f, 1991.32f, 129.072f, 0.941603f);
  432.                 break;
  433.             case GOSSIP_ACTION_INFO_DEF + 76: //The Eye
  434.                 player->TeleportTo(530, 3088.49f, 1381.57f, 184.863f, 4.61973f);
  435.                 break;
  436.             case GOSSIP_ACTION_INFO_DEF + 77: //Sunwell Plateau
  437.                 player->TeleportTo(530, 12573.2f, -6774.81f, 15.0904f, 3.13788f);
  438.                 break;
  439.             case GOSSIP_ACTION_INFO_DEF + 78: //Ruins of Ahn'Qiraj
  440.                 player->TeleportTo(1, -8412.61f, 1503.58f, 29.9291f, 2.69932f);
  441.                 break;
  442.             case GOSSIP_ACTION_INFO_DEF + 79: //Onyxia's Lair
  443.                 player->TeleportTo(1, -4709.97f, -3728.87f, 54.3618f, 3.77106f);
  444.                 break;
  445.             case GOSSIP_ACTION_INFO_DEF + 80: //Naxxramas
  446.                 player->TeleportTo(571, 3668.72f, -1262.46f, 243.622f, 4.785f);
  447.                 break;
  448.             case GOSSIP_ACTION_INFO_DEF + 81: //Molten Core
  449.                 player->TeleportTo(230, 1126.2f, -458.611f, -102.265f, 3.46095f);
  450.                 break;
  451.             case GOSSIP_ACTION_INFO_DEF + 82: //Karazhan
  452.                 player->TeleportTo(0, -11120.2f, -2015.27f, 47.1869f, 1.91823f);
  453.                 break;
  454.             case GOSSIP_ACTION_INFO_DEF + 83: //Icecrown Citadel
  455.                 player->TeleportTo(571, 5802.92f, 2077.74f, 636.064f, 3.58921f);
  456.                 break;
  457.             case GOSSIP_ACTION_INFO_DEF + 84: //Magtheridon's Lair
  458.                 player->TeleportTo(530, -317.102f, 3094.48f, -116.43f, 5.20087f);
  459.                 break;
  460.             case GOSSIP_ACTION_INFO_DEF + 85: //Gruul's Lair
  461.                 player->TeleportTo(530, 3539.19f, 5090.6f, 3.4088f, 5.93244f);
  462.                 break;
  463.             case GOSSIP_ACTION_INFO_DEF + 86: //Trial of the Crusader
  464.                 player->TeleportTo(571, 8574.85f, 792.33f, 558.518f, 3.16358f);
  465.                 break;
  466.             case GOSSIP_ACTION_INFO_DEF + 87: //Serpentshrine Cavern
  467.                 player->TeleportTo(530, 828.098f, 6865.51f, -63.7854f, 6.28049f);
  468.                 break;
  469.             case GOSSIP_ACTION_INFO_DEF + 88: //Hyjal Summit
  470.                 player->TeleportTo(1, -8175.86f, -4175.53f, -166.181f, 0.932953f);
  471.                 break;
  472.             case GOSSIP_ACTION_INFO_DEF + 89: //Blackwing Lair
  473.                 player->TeleportTo(469, -7665.66f, -1102.2f, 399.679f, 0.625119f);
  474.                 break;
  475.             case GOSSIP_ACTION_INFO_DEF + 90: //Black Temple
  476.                 player->TeleportTo(530, -3637.56f, 315.554f, 35.5505f, 2.94599f);
  477.                 break;
  478.  
  479.                 // Classic Dungeons
  480.             case GOSSIP_ACTION_INFO_DEF + 304: //Gnomeregan
  481.                 player->TeleportTo(90, -327.577f, -4.35046f, -152.845f, 6.18894f);
  482.                 break;
  483.             case GOSSIP_ACTION_INFO_DEF + 305: //The Deadmines
  484.                 player->TeleportTo(0, -11208.1f, 1671.55f, 24.6908f, 1.54879f);
  485.                 break;
  486.             case GOSSIP_ACTION_INFO_DEF + 306: //The Stockade
  487.                 player->TeleportTo(0, -8799.15f, 832.718f, 97.6348f, 6.04085f);
  488.                 break;
  489.             case GOSSIP_ACTION_INFO_DEF + 307: //Ragefire Chasm
  490.                 player->TeleportTo(1, 1809.17f, -4407.18f, -18.6752f, 5.23117f);
  491.                 break;
  492.             case GOSSIP_ACTION_INFO_DEF + 308: //Razorfen Downs
  493.                 player->TeleportTo(1, -4655.88f, -2521.14f, 81.2055f, 4.21036f);
  494.                 break;
  495.             case GOSSIP_ACTION_INFO_DEF + 309: //Razorfen Kraul
  496.                 player->TeleportTo(1, -4463.32f, -1664.49f, 82.2581f, 0.841007f);
  497.                 break;
  498.             case GOSSIP_ACTION_INFO_DEF + 310: //Scarlet Monastery
  499.                 player->TeleportTo(0, 2873.03f, -764.237f, 160.332f, 5.10055f);
  500.                 break;
  501.             case GOSSIP_ACTION_INFO_DEF + 311: //Shadowfang Keep
  502.                 player->TeleportTo(0, -241.881f, 1543.69f, 76.8921f, 1.1814f);
  503.                 break;
  504.             case GOSSIP_ACTION_INFO_DEF + 312: //Wailing Caverns
  505.                 player->TeleportTo(1, -732.428f, -2220.71f, 17.3289f, 2.68276f);
  506.                 break;
  507.             case GOSSIP_ACTION_INFO_DEF + 313: //Blackfathom Deeps
  508.                 player->TeleportTo(1, 4247.74f, 745.942f, -24.2824f, 1.07678f);
  509.                 break;
  510.             case GOSSIP_ACTION_INFO_DEF + 314: //Blackrock Depths
  511.                 player->TeleportTo(0, -7182.15f, -917.016f, 165.49f, 5.06065f);
  512.                 break;
  513.             case GOSSIP_ACTION_INFO_DEF + 315: //Blackrock Spire
  514.                 player->TeleportTo(0, -7534.79f, -1212.62f, 285.44f, 5.2131f);
  515.                 break;
  516.             case GOSSIP_ACTION_INFO_DEF + 316: //Dire Maul
  517.                 player->TeleportTo(1, -3829.83f, 1250.34f, 160.229f, 3.12903f);
  518.                 break;
  519.             case GOSSIP_ACTION_INFO_DEF + 317: //Maraudon
  520.                 player->TeleportTo(1, -1465.22f, 2617.91f, 76.9758f, 3.21067f);
  521.                 break;
  522.             case GOSSIP_ACTION_INFO_DEF + 318: //Scholomance
  523.                 player->TeleportTo(0, 1265.68f, -2557.52f, 94.1264f, 0.491748f);
  524.                 break;
  525.             case GOSSIP_ACTION_INFO_DEF + 319: //Stratholme
  526.                 player->TeleportTo(0, 3342.79f, -3379.33f, 144.776f, 6.26449f);
  527.                 break;
  528.             case GOSSIP_ACTION_INFO_DEF + 320: //Sunken Temple
  529.                 player->TeleportTo(0, -10183.4f, -3993.19f, -109.195f, 6.03063f);
  530.                 break;
  531.             case GOSSIP_ACTION_INFO_DEF + 321: //Uldaman
  532.                 player->TeleportTo(0, -6070.1f, -2955.81f, 209.778f, 0.071478f);
  533.                 break;
  534.             case GOSSIP_ACTION_INFO_DEF + 322: //Zul'Farrak
  535.                 player->TeleportTo(1, -6821.2f, -2890.29f, 8.88035f, 6.24783f);
  536.                 break;
  537.  
  538.  
  539.                 //BC dungeons
  540.             case GOSSIP_ACTION_INFO_DEF + 323: //Tempest Keep
  541.                 player->TeleportTo(530, 3090.54f, 1406.45f, 189.574f, 4.62382f);
  542.                 break;
  543.             case GOSSIP_ACTION_INFO_DEF + 324: //Magisters' Terrace
  544.                 player->TeleportTo(530, 12886.2f, -7333.84f, 65.4884f, 4.26101f);
  545.                 break;
  546.             case GOSSIP_ACTION_INFO_DEF + 325: //Hellfire Citadel
  547.                 player->TeleportTo(530, -360.681f, 3066.36f, -15.1251f, 1.78001f);
  548.                 break;
  549.             case GOSSIP_ACTION_INFO_DEF + 326: //Coilfang Reservoir
  550.                 player->TeleportTo(530, 748.466f, 6882.93f, -64.1698f, 3.85811f);
  551.                 break;
  552.             case GOSSIP_ACTION_INFO_DEF + 327: //Caverns of Time
  553.                 player->TeleportTo(1, -8181.85f, -4703.54f, 19.5836f, 4.95664f);
  554.                 break;
  555.             case GOSSIP_ACTION_INFO_DEF + 328: //Auchindoun
  556.                 player->TeleportTo(530, -3334.63f, 4933.87f, -100.079f, 0.41726f);
  557.                 break;
  558.  
  559.                 //Wrath Dungeons
  560.             case GOSSIP_ACTION_INFO_DEF + 329: //Utgarde Pinnacle
  561.                 player->TeleportTo(571, 1245.8f, -4856.45f, 216.813f, 3.42403f);
  562.                 break;
  563.             case GOSSIP_ACTION_INFO_DEF + 330: //Utgarde Keep
  564.                 player->TeleportTo(571, 1205.7f, -4867.65f, 41.2479f, 0.234685f);
  565.                 break;
  566.             case GOSSIP_ACTION_INFO_DEF + 331: //Halls of Stone
  567.                 player->TeleportTo(571, 8922.12f, -1009.16f, 1038.56f, 1.57044f);
  568.                 break;
  569.             case GOSSIP_ACTION_INFO_DEF + 332: //Halls of Lightning
  570.                 player->TeleportTo(571, 9183.53f, -1385.17f, 1110.22f, 5.56943f);
  571.                 break;
  572.             case GOSSIP_ACTION_INFO_DEF + 333: //The Violet Hold
  573.                 player->TeleportTo(571, 5681.5f, 488.528f, 652.45f, 4.01037f);
  574.                 break;
  575.             case GOSSIP_ACTION_INFO_DEF + 334: //The Nexus Dungeons
  576.                 player->TeleportTo(571, 3771.01f, 6947.5f, 105.88f, 0.472142f);
  577.                 break;
  578.             case GOSSIP_ACTION_INFO_DEF + 335: //Icecrown Citadel Dungeons
  579.                 player->TeleportTo(571, 5636.55f, 2064.03f, 798.059f, 4.62278f);
  580.                 break;
  581.             case GOSSIP_ACTION_INFO_DEF + 336: //Gundrak
  582.                 player->TeleportTo(571, 6726.75f, -4637.28f, 450.605f, 3.90537f);
  583.                 break;
  584.             case GOSSIP_ACTION_INFO_DEF + 337: //Drak'Tharon Keep
  585.                 player->TeleportTo(571, 4777.85f, -2046.5f, 230.01f, 1.63791f);
  586.                 break;
  587.             case GOSSIP_ACTION_INFO_DEF + 338: //Trial of the Champion
  588.                 player->TeleportTo(571, 8576.16f, 792.096f, 558.234f, 3.14714f);
  589.                 break;
  590.             case GOSSIP_ACTION_INFO_DEF + 339: //The Culling of Stratholme
  591.                 player->TeleportTo(1, -8756.39f, -4440.68f, -199.489f, 4.66289f);
  592.                 break;
  593.             case GOSSIP_ACTION_INFO_DEF + 340: //Azjol-Nerub
  594.                 player->TeleportTo(571, 3679.4f, 2163.25f, 35.7227f, 2.28066f);
  595.                 break;
  596.  
  597.                 //Alliance cities:
  598.                 //Stormwind
  599.             case GOSSIP_ACTION_INFO_DEF + 21:
  600.                 player->TeleportTo(0, -8844.01f, 644.99f, 96.2429f, 5.33693f);
  601.                 break;
  602.                 //Ironforge
  603.             case GOSSIP_ACTION_INFO_DEF + 22:
  604.                 player->TeleportTo(0, -4988.27f, -874.123f, 496.984f, 5.43054f);
  605.                 break;
  606.                 //Darnassus
  607.             case GOSSIP_ACTION_INFO_DEF + 23:
  608.                 player->TeleportTo(1, 9949.24f, 2481.71f, 1316.2f, 2.11659f);
  609.                 break;
  610.                 //Exodar
  611.             case GOSSIP_ACTION_INFO_DEF + 24:
  612.                 player->TeleportTo(530, -3980.04f, -11638.001f, -138.987f, 5.77268f);
  613.                 break;
  614.                 //Mall
  615.             case GOSSIP_ACTION_INFO_DEF + 26:
  616.                 player->TeleportTo(1, -2667.910645f, -5042.517578f, 21.701622f, 1.568275f);
  617.                 player->ResurrectPlayer(100);
  618.                 creature->Whisper("You have been teleported to the mall entrance!", LANG_UNIVERSAL, player);
  619.                 break;
  620.  
  621.                 //horde cities
  622.             case GOSSIP_ACTION_INFO_DEF + 11: //Orgrimmar
  623.                 player->TeleportTo(1, 1486.66f, -4415.39f, 24.1115f, 0.042373f);
  624.                 break;
  625.             case GOSSIP_ACTION_INFO_DEF + 12: //Undercity
  626.                 player->TeleportTo(0, 1560.21f, 240.068f, -43.1026f, 0.036295f);
  627.                 break;
  628.             case GOSSIP_ACTION_INFO_DEF + 13: //Thunder Bluff
  629.                 player->TeleportTo(1, -1197.09f, 29.4339f, 176.95f, 4.71385f);
  630.                 break;
  631.             case GOSSIP_ACTION_INFO_DEF + 14: //Silvermoon
  632.                 player->TeleportTo(530, 9410.71f, -7277.97f, 14.1808f, 6.28265f);
  633.                 break;
  634.  
  635.  
  636.  
  637.  
  638.         }
  639.         return true;
  640.     }
  641.  
  642. };
  643.  
  644.  
  645. void AddSC_PortableTeleporter_ItemGossip()
  646. {
  647.     new PortableTeleporter_ItemGossip();
  648.     new PortableTeleporter();
  649. }
Advertisement
Add Comment
Please, Sign In to add comment