Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- _____ ____
- | ___| __ ___ _______ _ __ / ___|___ _ __ ___
- | |_ | '__/ _ \_ / _ \ '_ \| | / _ \| '__/ _ \
- | _|| | | (_) / / __/ | | | |__| (_) | | | __/
- |_| |_| \___/___\___|_| |_|\____\___/|_| \___|
- Lightning speed and strength
- conjured directly from the depths of logic!
- Infusion-WoW 2011 - 2012 (C)
- <--------------------------------------------------------------------------->
- - Developer(s): Ghostcrawler & Yvoms
- - Complete: 100%
- - ScriptName: 'teleporter'
- - Comment: Untested
- <--------------------------------------------------------------------------->
- */
- #include "ScriptPCH.h"
- #include "Chat.h"
- class global_teleporter : public CreatureScript
- {
- public:
- global_teleporter() : CreatureScript("global_teleporter") { }
- bool OnGossipHello(Player* pPlayer, Creature* pCreature)
- {
- if (pPlayer->isInCombat())
- {
- pPlayer->GetSession()->SendNotification("You are in combat");
- return false;
- }
- pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Starter Area", GOSSIP_SENDER_MAIN, 0); //done
- pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Main Cities", GOSSIP_SENDER_MAIN, 1); //done
- pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Dungeons", GOSSIP_SENDER_MAIN, 2); //done
- pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Raids", GOSSIP_SENDER_MAIN, 3); //done
- pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Player Tools", GOSSIP_SENDER_MAIN, 4); //Nu doen
- pPlayer->ADD_GOSSIP_ITEM(4, "Never mind", GOSSIP_SENDER_MAIN, 100); //done
- pPlayer->PlayerTalkClass->SendGossipMenu(10, pCreature->GetGUID());
- return true;
- }
- bool OnGossipSelect(Player* pPlayer, Creature* pCreature,uint32 uiSender, uint32 uiAction)
- {
- pPlayer->PlayerTalkClass->ClearMenus();
- switch (uiAction)
- {
- case 0:
- {
- pCreature->CastSpell(pPlayer,35517,false);
- pPlayer->TeleportTo(169, -111.677f, 1655.95f, 92.0078f, 4.72747f);
- ChatHandler(pPlayer->GetSession()).PSendSysMessage("You have been teleported to The Starter Area!", pPlayer->GetName());
- }
- case 1: // Main Citys
- {
- pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Dalaran", GOSSIP_SENDER_MAIN, 10);
- pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Shattrath", GOSSIP_SENDER_MAIN, 11);
- if (pPlayer->GetTeam() == ALLIANCE) {
- pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Stormwind", GOSSIP_SENDER_MAIN, 12);
- pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Ironforge", GOSSIP_SENDER_MAIN, 13);
- pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Darnassus", GOSSIP_SENDER_MAIN, 14);
- pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "The Exodar", GOSSIP_SENDER_MAIN, 15);
- pPlayer->ADD_GOSSIP_ITEM(0, "Nevermind", GOSSIP_SENDER_MAIN, 5000);
- pPlayer->PlayerTalkClass->SendGossipMenu(10, pCreature->GetGUID());
- }else //Horde Citys
- {
- pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Orgrimmar", GOSSIP_SENDER_MAIN, 16);
- pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Undercity", GOSSIP_SENDER_MAIN, 17);
- pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Thunderbluff", GOSSIP_SENDER_MAIN, 18);
- pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Silvermoon", GOSSIP_SENDER_MAIN, 19);
- pPlayer->ADD_GOSSIP_ITEM(0, "Nevermind", GOSSIP_SENDER_MAIN, 5000);
- pPlayer->PlayerTalkClass->SendGossipMenu(10, pCreature->GetGUID());
- return true;
- }break;
- case 10: // Dalaran
- {
- pCreature->CastSpell(pPlayer,35517,false);
- pPlayer->TeleportTo(571, 5804.149902f, 624.770996f,648.747009f, 1.640000f);
- ChatHandler(pPlayer->GetSession()).PSendSysMessage("You have been teleported to Dalaran!", pPlayer->GetName());
- }break;
- case 11: // Shattarth
- {
- pCreature->CastSpell(pPlayer,35517,false);
- pPlayer->TeleportTo(230, 990.414f, -218.775f, -61.7892f, 5.49272f);
- ChatHandler(pPlayer->GetSession()).PSendSysMessage("You have been teleported to Shattarth!", pPlayer->GetName());
- }break;
- case 12: // Stormwind
- {
- pCreature->CastSpell(pPlayer,35517,false);
- pPlayer->TeleportTo(0, -8833.379883f, 628.627991f, 95.826599f, 1.065350f);
- ChatHandler(pPlayer->GetSession()).PSendSysMessage("You have been teleported to Stormwind", pPlayer->GetName());
- }break;
- case 13: // Ironforge
- {
- pCreature->CastSpell(pPlayer,35517,false);
- pPlayer->TeleportTo(0, -4918.879883f, -940.406006f, 504.854126f, 5.423470f);
- ChatHandler(pPlayer->GetSession()).PSendSysMessage("You have been teleported to Ironforge!", pPlayer->GetName());
- }break;
- case 14: // Darnassus
- {
- pCreature->CastSpell(pPlayer,35517,false);
- pPlayer->TeleportTo(1, 9949.559570f, 2284.20996f, 1342.969482f, 1.595870f);
- ChatHandler(pPlayer->GetSession()).PSendSysMessage("You have been teleported to Darnassus!", pPlayer->GetName());
- }break;
- case 15: // Exodar
- {
- pCreature->CastSpell(pPlayer,35517,false);
- pPlayer->TeleportTo(530, -3965.699951f, -11653.599609f, -137.184998f, 0.852154f);
- ChatHandler(pPlayer->GetSession()).PSendSysMessage("You have been teleported to The Exodar!", pPlayer->GetName());
- }break;
- case 16: // Orgrimmar
- {
- pCreature->CastSpell(pPlayer,35517,false);
- pPlayer->TeleportTo(1, 1629.359985f, -4373.390137f, 33.097401f, 3.548390f);
- ChatHandler(pPlayer->GetSession()).PSendSysMessage("You have been teleported to Orgrimmar!", pPlayer->GetName());
- }break;
- case 17: // Undercity
- {
- pCreature->CastSpell(pPlayer,35517,false);
- pPlayer->TeleportTo(0, 1584.069946f, 241.987000f, -51.075413f, 1.296860f);
- ChatHandler(pPlayer->GetSession()).PSendSysMessage("You have been teleported to Undercity!", pPlayer->GetName());
- }break;
- case 18: // Thunderbluff
- {
- pCreature->CastSpell(pPlayer,35517,false);
- pPlayer->TeleportTo(1, -1277.369995f, 124.804001f, 134.094009f, 5.222740f);
- ChatHandler(pPlayer->GetSession()).PSendSysMessage("You have been teleported to Thunderbluff!", pPlayer->GetName());
- }break;
- case 19: // Silvermoon
- {
- pCreature->CastSpell(pPlayer,35517,false);
- pPlayer->TeleportTo(530, 9482.883789f, -7278.637207f, 18.480778f, 6.040224f);
- ChatHandler(pPlayer->GetSession()).PSendSysMessage("You have been teleported to Silvermoon!", pPlayer->GetName());
- }break;
- case 2:
- {
- pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Hellfire Ramparts", GOSSIP_SENDER_MAIN, 20);
- pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Blood Furnace", GOSSIP_SENDER_MAIN, 21);
- pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Shattered Halls", GOSSIP_SENDER_MAIN, 22);
- pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Auchenai Crypts", GOSSIP_SENDER_MAIN, 23);
- pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Mana tombs", GOSSIP_SENDER_MAIN, 24);
- pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Sethekk halls", GOSSIP_SENDER_MAIN, 25);
- pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "The Mechanar", GOSSIP_SENDER_MAIN, 26);
- pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "The Botanica", GOSSIP_SENDER_MAIN, 27);
- pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "The Arcatraz", GOSSIP_SENDER_MAIN, 28);
- pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "The underbog", GOSSIP_SENDER_MAIN, 29);
- pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "The Slavepens", GOSSIP_SENDER_MAIN, 30);
- pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "The Steamvaults", GOSSIP_SENDER_MAIN, 31);
- }break;
- case 20: // Hellfire Ramparts
- {
- pCreature->CastSpell(pPlayer,35517,false);
- pPlayer->TeleportTo(530, -360.883118f, 3072.533447f, -15.093476f, 1.893890f);
- ChatHandler(pPlayer->GetSession()).PSendSysMessage("You have been teleported to Hellfire Ramparts!", pPlayer->GetName());
- }break;
- case 21: // Blood Furnace
- {
- pCreature->CastSpell(pPlayer,35517,false);
- pPlayer->TeleportTo(530, -295.249725f, 3150.676270f, 31.551857f, 2.271470f);
- ChatHandler(pPlayer->GetSession()).PSendSysMessage("You have been teleported to The Blood Furnace!", pPlayer->GetName());
- }break;
- case 22: // Shattered Halls
- {
- pCreature->CastSpell(pPlayer,35517,false);
- pPlayer->TeleportTo(530, -308.603027f, 3072.02661f, -3.650236f, 1.888880f);
- ChatHandler(pPlayer->GetSession()).PSendSysMessage("You have been teleported to The Shattered Halls!", pPlayer->GetName());
- }break;
- case 23: // Auchenai Crypts
- {
- pCreature->CastSpell(pPlayer,35517,false);
- pPlayer->TeleportTo(530, -3359.523438f, 5208.140625f, -101.049301f, 1.547178f);
- ChatHandler(pPlayer->GetSession()).PSendSysMessage("You have been teleported to Auchenai Crypts!", pPlayer->GetName());
- }break;
- case 24: // Mana tombs
- {
- pCreature->CastSpell(pPlayer,35517,false);
- pPlayer->TeleportTo(530, -3104.993164f, 4946.600586f, -101.521210f, 4.916537f);
- ChatHandler(pPlayer->GetSession()).PSendSysMessage("You have been teleported to The Manatombs!", pPlayer->GetName());
- }break;
- case 25: // Setthek Halls
- {
- pCreature->CastSpell(pPlayer,35517,false);
- pPlayer->TeleportTo(530, -3361.233643f, 4673.360352f, -101.049149f, 4.716270f);
- ChatHandler(pPlayer->GetSession()).PSendSysMessage("You have been teleported to The Setthek Halls!", pPlayer->GetName());
- }break;
- case 26: // The mechanar
- {
- pCreature->CastSpell(pPlayer,35517,false);
- pPlayer->TeleportTo(530, 2884.034180f, 1561.143677f, 248.892197f, 3.606196f);
- ChatHandler(pPlayer->GetSession()).PSendSysMessage("You have been teleported to The Mechanar!", pPlayer->GetName());
- }break;
- case 27: // The Botanica
- {
- pCreature->CastSpell(pPlayer,35517,false);
- pPlayer->TeleportTo(530, 3397.392334f, 1499.322144f, 179.564270ff, 5.59550f);
- ChatHandler(pPlayer->GetSession()).PSendSysMessage("You have been teleported to The Botanica!", pPlayer->GetName());
- }break;
- case 28: // The Arcatraz
- {
- pCreature->CastSpell(pPlayer,35517,false);
- pPlayer->TeleportTo(530, 3303.712158f, 1353.727661f, 502.284485f, 4.946860f);
- ChatHandler(pPlayer->GetSession()).PSendSysMessage("You have been teleported to The Arcatraz!", pPlayer->GetName());
- }break;
- case 29: // The Underbog
- {
- pCreature->CastSpell(pPlayer,35517,false);
- pPlayer->TeleportTo(530, 777.088989f, 6763.450195f, -72.066200f, 5.029677f);
- ChatHandler(pPlayer->GetSession()).PSendSysMessage("You have been teleported to The Underbog!", pPlayer->GetName());
- }break;
- case 30: // The Slavepens
- {
- pCreature->CastSpell(pPlayer,35517,false);
- pPlayer->TeleportTo(530, 719.507996f, 6999.339844f, -73.074303f, 4.527020f);
- ChatHandler(pPlayer->GetSession()).PSendSysMessage("You have been teleported to The Slavepens!", pPlayer->GetName());
- }break;
- case 31: // The Steamvaults
- {
- pCreature->CastSpell(pPlayer,35517,false);
- pPlayer->TeleportTo(530, 816.590027f, 6934.669922f, -80.544601f, 0.159089f);
- ChatHandler(pPlayer->GetSession()).PSendSysMessage("You have been teleported to The Steamvaults", pPlayer->GetName());
- }break;
- case 3:
- {
- pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Serpentshrine Caverns", GOSSIP_SENDER_MAIN, 32);
- pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Black temple", GOSSIP_SENDER_MAIN, 33);
- pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Sunwell Plateau", GOSSIP_SENDER_MAIN, 34);
- }break;
- case 32: // SerpentShrine Caverns
- {
- pCreature->CastSpell(pPlayer,35517,false);
- pPlayer->TeleportTo(530, 808.600586f, 6865.366211f, -67.603935f, 0.057295f);
- ChatHandler(pPlayer->GetSession()).PSendSysMessage("You have been teleported to The SerpentShrine Caverns", pPlayer->GetName());
- }break;
- case 33: // Black Temple
- {
- pCreature->CastSpell(pPlayer,35517,false);
- pPlayer->TeleportTo(530, -3653.510010f, 317.493011f, 36.167088f, 2.942850f);
- ChatHandler(pPlayer->GetSession()).PSendSysMessage("You have been teleported to The Black Temple", pPlayer->GetName());
- }break;
- case 34: // Sunwell Plateau
- {
- pCreature->CastSpell(pPlayer,35517,false);
- pPlayer->TeleportTo(530, 12577.687500f, -6775.914551f, 15.091022f, 3.137880f);
- ChatHandler(pPlayer->GetSession()).PSendSysMessage("You have been teleported to The Sunwell Plateau", pPlayer->GetName());
- }break;
- case 4:
- {
- case HEAL_MENU:
- {
- uint32 currentHp = player->GetHealth();
- uint32 maximumHp = player->GetMaxHealth();
- if (currentHp == maximumHp)
- creature->MonsterWhisper("Bah, you have full health. Dont waste my time!", player->GetGUID());
- else{
- player->SetHealth(maximumHp);
- player->SetPower(POWER_MANA, player->GetMaxPower(POWER_MANA));
- creature->MonsterWhisper("You have been healed!", player->GetGUID());
- }
- player->PlayerTalkClass->SendCloseGossip();
- }break;
- case BUFF_MENU:
- {
- creature->MonsterWhisper("Do you feel any more buff?", player->GetGUID());
- player->PlayerTalkClass->SendCloseGossip();
- player->CastSpell(player, 35874, true);
- player->CastSpell(player, 35912, true);
- player->CastSpell(player, 38734, true);
- }break;
- case REZ_MENU:
- {
- if (player->HasAura(15007))
- {
- player->RemoveAura(15007);
- creature->MonsterWhisper("You have been cured.", player->GetGUID());
- }else
- creature->MonsterWhisper("You would have to be sick first...", player->GetGUID());
- player->PlayerTalkClass->SendCloseGossip();
- }break;
- }break;
- case 100:
- {
- pPlayer->PlayerTalkClass->SendCloseGossip();
- }break;
- {
- return true;
- }
- }
- }
- return true;
- }
- };
- void AddSC_global_teleporter()
- {
- new global_teleporter();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement