Guest User

Untitled

a guest
Jul 26th, 2012
154
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.55 KB | None | 0 0
  1. #include "ScriptPCH.h"
  2.  
  3. enum eTexts
  4. {
  5. TEXT_ON_DANCE = -1700004,
  6. TEXT_ON_SALUTE = -1700005,
  7. TEXT_ON_SPIT = -1700006,
  8. TEXT_ON_LAUGH = -1700007,
  9. TEXT_ON_BYE = -1700008
  10. };
  11.  
  12. enum eRidingSkills
  13. {
  14. RIDING_APPRENTICE = 33388,
  15. RIDING_JOURNEYMAN = 33391,
  16. RIDING_EXPERT = 34090,
  17. RIDING_ARTISAN = 34091,
  18. COLD_WEATHER_FLYING = 54197
  19. };
  20.  
  21. enum eEmblems
  22. {
  23. EMBLEM_OF_FROST = 49426,
  24. EMBLEM_OF_TRIUMPH = 47241,
  25. EMBLEM_OF_VALOR = 40753,
  26. EMBLEM_OF_CONQUEST = 45624,
  27. EMBLEM_OF_HEROISM = 40752
  28. };
  29.  
  30. class levelnpc_teleporter : public CreatureScript
  31. {
  32. public:
  33. levelnpc_teleporter()
  34. : CreatureScript("levelnpc_teleporter")
  35. {
  36. }
  37.  
  38. struct levelnpc_teleporterAI : public ScriptedAI
  39. {
  40. levelnpc_teleporterAI(Creature *c) : ScriptedAI(c)
  41. {
  42. }
  43.  
  44. void Reset()
  45. {
  46. me->RestoreFaction();
  47. }
  48.  
  49. void EnterEvadeMode()
  50. {
  51. me->GetMotionMaster()->Clear();
  52. ScriptedAI::EnterEvadeMode();
  53. }
  54.  
  55. void ReceiveEmote(Player *pPlayer, uint32 uiTextEmote)
  56. {
  57. if (me->IsInEvadeMode() || me->isInCombat())
  58. return;
  59.  
  60. switch (uiTextEmote)
  61. {
  62. break;
  63. }
  64. }
  65. };
  66.  
  67. CreatureAI* GetAI(Creature* pCreature) const
  68. {
  69. return new levelnpc_teleporterAI(pCreature);
  70. }
  71.  
  72. void CreatureWhisperBasedOnBool(const char *text, Creature *pCreature, Player *pPlayer, bool value)
  73. {
  74. if (value)
  75. pCreature->MonsterWhisper(text, pPlayer->GetGUID());
  76. }
  77.  
  78. uint32 PlayerMaxLevel() const
  79. {
  80. return sWorld->getIntConfig(CONFIG_MAX_PLAYER_LEVEL);
  81. }
  82.  
  83. void MainMenu(Player *pPlayer, Creature *pCreature)
  84. {
  85. pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, "Go to the Next Chapter", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1);
  86. pPlayer->SEND_GOSSIP_MENU(907, pCreature->GetGUID());
  87. }
  88.  
  89. bool OnGossipHello(Player* pPlayer, Creature* pCreature)
  90. {
  91. MainMenu(pPlayer, pCreature);
  92.  
  93. return true;
  94. }
  95.  
  96. bool OnGossipSelect(Player* pPlayer, Creature* pCreature, uint32 /*uiSender*/, uint32 uiAction)
  97. {
  98. if (pPlayer->isInCombat())
  99. {
  100. pCreature->MonsterWhisper("You are in combat, wait until your combat is gone.", pPlayer->GetGUID());
  101. pPlayer->CLOSE_GOSSIP_MENU();
  102.  
  103. return true;
  104. }
  105.  
  106. pPlayer->PlayerTalkClass->ClearMenus();
  107.  
  108. switch (uiAction)
  109. {
  110. case GOSSIP_ACTION_INFO_DEF + 1:
  111. pPlayer->CLOSE_GOSSIP_MENU();
  112. pPlayer->TeleportTo(1, 4620.84f, -3847.99f, 943.92f, 1.0814f);
  113. break;
  114.  
  115. pPlayer->CLOSE_GOSSIP_MENU();
  116. break;
  117. }
  118.  
  119. return true;
  120. }
  121. };
  122.  
  123. void AddSC_levelnpc_teleporter()
  124. {
  125. new levelnpc_teleporter();
  126. }
Advertisement
Add Comment
Please, Sign In to add comment