Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "ScriptPCH.h"
- enum eTexts
- {
- TEXT_ON_DANCE = -1700004,
- TEXT_ON_SALUTE = -1700005,
- TEXT_ON_SPIT = -1700006,
- TEXT_ON_LAUGH = -1700007,
- TEXT_ON_BYE = -1700008
- };
- enum eRidingSkills
- {
- RIDING_APPRENTICE = 33388,
- RIDING_JOURNEYMAN = 33391,
- RIDING_EXPERT = 34090,
- RIDING_ARTISAN = 34091,
- COLD_WEATHER_FLYING = 54197
- };
- enum eEmblems
- {
- EMBLEM_OF_FROST = 49426,
- EMBLEM_OF_TRIUMPH = 47241,
- EMBLEM_OF_VALOR = 40753,
- EMBLEM_OF_CONQUEST = 45624,
- EMBLEM_OF_HEROISM = 40752
- };
- class levelnpc_teleporter : public CreatureScript
- {
- public:
- levelnpc_teleporter()
- : CreatureScript("levelnpc_teleporter")
- {
- }
- struct levelnpc_teleporterAI : public ScriptedAI
- {
- levelnpc_teleporterAI(Creature *c) : ScriptedAI(c)
- {
- }
- void Reset()
- {
- me->RestoreFaction();
- }
- void EnterEvadeMode()
- {
- me->GetMotionMaster()->Clear();
- ScriptedAI::EnterEvadeMode();
- }
- void ReceiveEmote(Player *pPlayer, uint32 uiTextEmote)
- {
- if (me->IsInEvadeMode() || me->isInCombat())
- return;
- switch (uiTextEmote)
- {
- break;
- }
- }
- };
- CreatureAI* GetAI(Creature* pCreature) const
- {
- return new levelnpc_teleporterAI(pCreature);
- }
- void CreatureWhisperBasedOnBool(const char *text, Creature *pCreature, Player *pPlayer, bool value)
- {
- if (value)
- pCreature->MonsterWhisper(text, pPlayer->GetGUID());
- }
- uint32 PlayerMaxLevel() const
- {
- return sWorld->getIntConfig(CONFIG_MAX_PLAYER_LEVEL);
- }
- void MainMenu(Player *pPlayer, Creature *pCreature)
- {
- pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, "Go to the Next Chapter", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1);
- pPlayer->SEND_GOSSIP_MENU(907, pCreature->GetGUID());
- }
- bool OnGossipHello(Player* pPlayer, Creature* pCreature)
- {
- MainMenu(pPlayer, pCreature);
- return true;
- }
- bool OnGossipSelect(Player* pPlayer, Creature* pCreature, uint32 /*uiSender*/, uint32 uiAction)
- {
- if (pPlayer->isInCombat())
- {
- pCreature->MonsterWhisper("You are in combat, wait until your combat is gone.", pPlayer->GetGUID());
- pPlayer->CLOSE_GOSSIP_MENU();
- return true;
- }
- pPlayer->PlayerTalkClass->ClearMenus();
- switch (uiAction)
- {
- case GOSSIP_ACTION_INFO_DEF + 1:
- pPlayer->CLOSE_GOSSIP_MENU();
- pPlayer->TeleportTo(1, 4620.84f, -3847.99f, 943.92f, 1.0814f);
- break;
- pPlayer->CLOSE_GOSSIP_MENU();
- break;
- }
- return true;
- }
- };
- void AddSC_levelnpc_teleporter()
- {
- new levelnpc_teleporter();
- }
Advertisement
Add Comment
Please, Sign In to add comment