Guest User

Untitled

a guest
Feb 19th, 2018
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 24.68 KB | None | 0 0
  1. #include "ScriptPCH.h"
  2. #include "ScriptMgr.h"
  3.  
  4. #define MSG_GOSSIP_TEXT_GETTING_STARTED "Приветствуем вас на сервере Jet-wow!"
  5.  
  6. #define MSG_ERR_HONOR "У вас не достаточно хонора для совершения покупки!"
  7. #define MSG_ERR_ARENA_POINT_1 "У вас не достаточно Апа!"
  8. #define MSG_ERR_TITLE "У данного персонажа уже есть такое звание!"
  9. #define MSG_ERR_INCOMBAT "Вы находитесь в бою. Чтобы использовать данного Npc выйдите из него."
  10. #define MSG_COMPLETE_RENAME "Оплата Успешно Произведена Сделайте Логаут и Введите Новое Имя Персонажа.Не Забудьте После Смены Имени,Выйти Из Игры и Удалить Из Клиента Папку Cache!"
  11. #define MSG_CUSTOMIZE_COMPLETE "Оплата Успешно Произведена Сделайте Логаут и Измените Внешность Персонажа.Не Забудьте После Смены Внешности,Выйти Из Игры и Удалить Из Клиента Папку Cache!"
  12. #define MSG_CHANGE_FACTION_COMPLETE "Оплата Успешно Произведена Сделайте Логаут и Измените Фракцию Персонажа.Не Забудьте После Смены Внешности,Выйти Из Игры и Удалить Из Клиента Папку Cache!"
  13.  
  14. #define MSG_GOSSIP_TEXT_MAX_HEALTH "Вылечи меня!"
  15. #define MSG_GOSSIP_TEXT_MAX_SKILL "Выучить все навыки оружия и защиты."
  16.  
  17. #define MSG_GOSSIP_TEXT_BUFF_POWER_WORD "[Бафнуть] Слово силы: Стойкость"
  18. #define MSG_GOSSIP_TEXT_BUFF_BLESSING_OF_KINGS "[Бафнуть] Благословение Королей"
  19. #define MSG_GOSSIP_TEXT_BUFF_MARK_OF_THE_WILD "[Бафнуть] Знак дикой природы"
  20. #define MSG_GOSSIP_TEXT_BUFF_ARCANE_BRILLIANCE "[Бафнуть] Чародейская гениальность Даларана"
  21. #define MSG_GOSSIP_TEXT_BUFF_BLESSING_OF_MIGHT "[Бафнуть] Великое Благословение могущества"
  22. #define MSG_GOSSIP_TEXT_BUFF_BLESSING_OF_WISDOM "[Бафнуть] Благословение мудрости"
  23. #define MSG_GOSSIP_TEXT_BUFF_THORNS "[Бафнуть] Шипы"
  24. #define MSG_GOSSIP_TEXT_BUFF_DIVINE_SPIRIT "[Бафнуть] Божественный дух"
  25. #define MSG_GOSSIP_TEXT_BUFF_SHADOW_PROTECTION "[Бафнуть] Защита от темной магии"
  26. #define MSG_GOSSIP_TEXT_BUFF_STAMINA "[Бафнуть] Выносливость"
  27.  
  28. #define MSG_GOSSIP_TEXT_PLAYER_MENU "[Меню изменение персонажа] ->"
  29. #define MSG_GOSSIP_TEXT_SUPER_MENU "[Меню особых бафов] ->"
  30. #define MSG_GOSSIP_TEXT_BUFF_MENU "[Меню бафов] ->"
  31. #define MSG_GOSSIP_TEXT_MAIN_MENU "<- [Вернутся в Главное меню]"
  32. #define MSG_GOSSIP_TEXT_TITLES_MENU "[Меню Званий] ->"
  33. #define MSG_GOSSIP_TEXT_PROFFESION_MENU "[Меню Профессий] ->"
  34. #define MSG_GOSSIP_TEXT_PROFFESION_SECON_MENU "[Меню Второстепенных профессий] ->"
  35.  
  36. #define MSG_GOSSIP_TEXT_RENAME "Сменить Имя персонажа за 3 тысячи Апа." // Thank Crispi
  37. #define MSG_GOSSIP_TEXT_CUSTOM "Сменить Внешность персонажа за 3 тысячи Апа." // Thank Crispi
  38. #define MSG_GOSSIP_TEXT_CHANGE_FACTION "Сменить Фракцию персонажа за 5 тысяч Апа."
  39.  
  40. #define MSG_GOSSIP_TEXT_SUPPER_BUFF_BERSERK "[Бафнуть] Берсерк. Стоимость 1 миллион хонора."
  41. #define MSG_GOSSIP_TEXT_SUPPER_BUFF_BLESSING_ADALS "[Бафнуть] Благословение А'далла. Стоимость 100 тысяч хонора."
  42. #define MSG_GOSSIP_TEXT_SUPPER_BUFF_CRIT_SPELLS "[Бафнуть] Критическое срабатывание. Стоимость 100 тысяч хонора."
  43. #define MSG_GOSSIP_TEXT_SUPPER_BUFF_BLESSING_PINCHI "[Бафнуть] Благословение мистера Пинчи. Стоимость 100 тысяч хонора."
  44.  
  45. #define MSG_GOSSIP_TEXT_TITLES_JENKINS "Получить звание Дженкинс за 500 Апа."
  46. #define MSG_GOSSIP_TEXT_TITLES_THE_LOVE_FOOL "Получить звание Безумно Влюбленный за 500 Апа."
  47. #define MSG_GOSSIP_TEXT_TITLES_MERRYMAKER "Получить звание Весельчак за 500 Апа."
  48. #define MSG_GOSSIP_TEXT_TITLES_SCARAB_LORD "Получить звание Повелитель Скоробеев за 500 Апа."
  49. #define MSG_GOSSIP_TEXT_TITLES_THE_NOBLE "Получить звание Чудесный за 500 Апа."
  50. #define MSG_GOSSIP_TEXT_TITLES_OBSIDIAN_SLAYER "Получить звание Покоритель Обсидианового святилища за 1 тыс. Апа."
  51.  
  52. #define MSG_GOSSIP_TEXT_ALCHEMY "Изучить Алхимию."
  53. #define MSG_GOSSIP_TEXT_BLACKSMITHING "Изучить Кузнечное Дело."
  54. #define MSG_GOSSIP_TEXT_ENCNANTING "Изучить Наложение Чар."
  55. #define MSG_GOSSIP_TEXT_ENGINEERING "Изучить Инженерное дело."
  56. #define MSG_GOSSIP_TEXT_HERBALISM "Изучить Травничество."
  57. #define MSG_GOSSIP_TEXT_INSCRIPTION "Изучить Начертание."
  58. #define MSG_GOSSIP_TEXT_JEWELCRAFTING "Изучить Ювелирное дело."
  59. #define MSG_GOSSIP_TEXT_LEATHERWORKING "Изучить Кожевничество."
  60. #define MSG_GOSSIP_TEXT_MINING "Изучить Горное дело."
  61. #define MSG_GOSSIP_TEXT_SKINNING "Изучить Снятие шкур."
  62. #define MSG_GOSSIP_TEXT_TAILORING "Изучить Портное дело."
  63.  
  64. #define MSG_GOSSIP_TEXT_RIDING "Изучить Верховую Езду."
  65. #define MSG_GOSSIP_TEXT_COOKING "Изучить Кулинарию."
  66. #define MSG_GOSSIP_TEXT_FIRST_AID "Изучить Первую помощь."
  67. #define MSG_GOSSIP_TEXT_FISHING "Изучить Рыбную ловлю."
  68.  
  69. #define CONST_HONOR_1 1000000
  70. #define CONST_HONOR_2 500000
  71. #define CONST_ARENA_POINT_1 500
  72. #define CONST_ARENA_POINT_2 1000
  73. #define CONST_ARENA_POINT_3 3000
  74. #define CONST_ARENA_POINT_4 5000
  75.  
  76.  
  77. class npc_buffer : public CreatureScript
  78. {
  79. public:
  80. npc_buffer() : CreatureScript("npc_buffer") { }
  81.  
  82. bool OnGossipHello(Player *player, Creature *_creature)
  83. {
  84. _creature->MonsterWhisper(MSG_GOSSIP_TEXT_GETTING_STARTED, player->GetGUID());
  85. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, MSG_GOSSIP_TEXT_RIDING, GOSSIP_SENDER_MAIN, 32);
  86. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_INTERACT_1, MSG_GOSSIP_TEXT_MAX_HEALTH, GOSSIP_SENDER_MAIN, 30);
  87. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_INTERACT_1, MSG_GOSSIP_TEXT_MAX_SKILL, GOSSIP_SENDER_MAIN, 31);
  88. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TALK, MSG_GOSSIP_TEXT_BUFF_MENU, GOSSIP_SENDER_MAIN, 2);
  89. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TALK, MSG_GOSSIP_TEXT_SUPER_MENU, GOSSIP_SENDER_MAIN, 13);
  90. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TALK, MSG_GOSSIP_TEXT_TITLES_MENU, GOSSIP_SENDER_MAIN, 19);
  91. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TALK, MSG_GOSSIP_TEXT_PLAYER_MENU, GOSSIP_SENDER_MAIN, 26);
  92. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TALK, MSG_GOSSIP_TEXT_PROFFESION_MENU, GOSSIP_SENDER_MAIN, 33);
  93. player->SEND_GOSSIP_MENU (DEFAULT_GOSSIP_MESSAGE,_creature->GetGUID());
  94. return true;
  95. }
  96.  
  97. bool OnGossipSelect(Player *player, Creature *_creature, uint32 sender, uint32 action )
  98. {
  99. if (!player->getAttackers().empty())
  100. {
  101. _creature->MonsterWhisper(MSG_ERR_INCOMBAT, player->GetGUID());
  102. player->CLOSE_GOSSIP_MENU();
  103. return false;
  104. }
  105. switch (action)
  106. {
  107. case 2:
  108. player->PlayerTalkClass->ClearMenus();
  109. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, MSG_GOSSIP_TEXT_BUFF_POWER_WORD, GOSSIP_SENDER_MAIN, 3);
  110. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, MSG_GOSSIP_TEXT_BUFF_BLESSING_OF_KINGS, GOSSIP_SENDER_MAIN, 4);
  111. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, MSG_GOSSIP_TEXT_BUFF_MARK_OF_THE_WILD, GOSSIP_SENDER_MAIN, 5);
  112. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, MSG_GOSSIP_TEXT_BUFF_ARCANE_BRILLIANCE, GOSSIP_SENDER_MAIN, 6);
  113. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, MSG_GOSSIP_TEXT_BUFF_BLESSING_OF_MIGHT, GOSSIP_SENDER_MAIN, 7);
  114. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, MSG_GOSSIP_TEXT_BUFF_BLESSING_OF_WISDOM, GOSSIP_SENDER_MAIN, 8);
  115. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, MSG_GOSSIP_TEXT_BUFF_THORNS, GOSSIP_SENDER_MAIN, 9);
  116. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, MSG_GOSSIP_TEXT_BUFF_DIVINE_SPIRIT, GOSSIP_SENDER_MAIN, 10);
  117. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, MSG_GOSSIP_TEXT_BUFF_SHADOW_PROTECTION, GOSSIP_SENDER_MAIN, 11);
  118. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, MSG_GOSSIP_TEXT_BUFF_STAMINA, GOSSIP_SENDER_MAIN, 12);
  119. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TALK, MSG_GOSSIP_TEXT_MAIN_MENU, GOSSIP_SENDER_MAIN, 18);
  120. player->SEND_GOSSIP_MENU (DEFAULT_GOSSIP_MESSAGE,_creature->GetGUID());
  121. break;
  122. case 3:
  123. // Наложение стойкости (Исправлено)
  124. player->CastSpell(player, 69377, true);
  125. player->CLOSE_GOSSIP_MENU();
  126. break;
  127. case 4:
  128. // Наложение Благословение Королей (Исправлено)
  129. player->CastSpell(player, 56525, true);
  130. player->CLOSE_GOSSIP_MENU();
  131. break;
  132. case 5:
  133. // Наложение Знак дикой природы
  134. player->CastSpell(player, 1126, true);
  135. player->CLOSE_GOSSIP_MENU();
  136. break;
  137. case 6:
  138. // Наложение Чародейской гениальности Даларана (Исправлено)
  139. player->CastSpell(player, 61316, true);
  140. player->CLOSE_GOSSIP_MENU();
  141. break;
  142. case 7:
  143. // Наложение Благословение могущества (Исправлено)
  144. player->CastSpell(player, 29381, true);
  145. player->CLOSE_GOSSIP_MENU();
  146. break;
  147. case 8:
  148. // Наложение Благословение мудрости (Исправлено)
  149. player->CastSpell(player, 56521, true);
  150. player->CLOSE_GOSSIP_MENU();
  151. break;
  152. case 9:
  153. // Наложение Шипов (Исправлено)
  154. player->CastSpell(player, 66068, true);
  155. player->CLOSE_GOSSIP_MENU();
  156. break;
  157. case 10:
  158. // Наложение Божественный духа (Исправлено)
  159. player->CastSpell(player, 48074, true);
  160. player->CLOSE_GOSSIP_MENU();
  161. break;
  162. case 11:
  163. // Наложение Защиты от темной магии (Исправлено)
  164. player->CastSpell(player, 48170, true);
  165. player->CLOSE_GOSSIP_MENU();
  166. break;
  167. case 12:
  168. player->CastSpell(player, 48102, true);
  169. player->CLOSE_GOSSIP_MENU();
  170. break;
  171. case 13:
  172. player->PlayerTalkClass->ClearMenus();
  173. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_MONEY_BAG, MSG_GOSSIP_TEXT_SUPPER_BUFF_BERSERK, GOSSIP_SENDER_MAIN, 14);
  174. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_MONEY_BAG, MSG_GOSSIP_TEXT_SUPPER_BUFF_BLESSING_ADALS, GOSSIP_SENDER_MAIN, 15);
  175. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_MONEY_BAG, MSG_GOSSIP_TEXT_SUPPER_BUFF_CRIT_SPELLS, GOSSIP_SENDER_MAIN, 16);
  176. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_MONEY_BAG, MSG_GOSSIP_TEXT_SUPPER_BUFF_BLESSING_PINCHI, GOSSIP_SENDER_MAIN, 17);
  177. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TALK, MSG_GOSSIP_TEXT_MAIN_MENU, GOSSIP_SENDER_MAIN, 18);
  178. player->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE,_creature->GetGUID());
  179. break;
  180. case 14:
  181. if (player->GetHonorPoints() < CONST_HONOR_1)
  182. {
  183. _creature->MonsterWhisper(MSG_ERR_HONOR, player->GetGUID());
  184. player->CLOSE_GOSSIP_MENU();
  185. }else{
  186. // Наложение берсерка и отнятие 1 ляма хонора (Доработано)
  187. player->CastSpell(player, 41924, true);
  188. player->ModifyHonorPoints(-CONST_HONOR_1);
  189. player->CLOSE_GOSSIP_MENU();
  190. }
  191. break;
  192. case 15:
  193. if (player->GetHonorPoints() < CONST_HONOR_2)
  194. {
  195. _creature->MonsterWhisper(MSG_ERR_HONOR, player->GetGUID());
  196. player->CLOSE_GOSSIP_MENU();
  197. }else{
  198. // Наложение Благословение А'дала
  199. player->CastSpell(player, 35076, true);
  200. player->ModifyHonorPoints(-CONST_HONOR_2);
  201. player->CLOSE_GOSSIP_MENU();
  202. }
  203. break;
  204. case 16:
  205. if (player->GetHonorPoints() < CONST_HONOR_2)
  206. {
  207. _creature->MonsterWhisper(MSG_ERR_HONOR, player->GetGUID());
  208. player->CLOSE_GOSSIP_MENU();
  209. }else{
  210. // Наложение Критического срабатывания положительных эффектов
  211. player->CastSpell(player, 31305, true);
  212. player->ModifyHonorPoints(-CONST_HONOR_2);
  213. player->CLOSE_GOSSIP_MENU();
  214. }
  215. break;
  216. case 17:
  217. if (player->GetHonorPoints() < CONST_HONOR_2)
  218. {
  219. _creature->MonsterWhisper(MSG_ERR_HONOR, player->GetGUID());
  220. player->CLOSE_GOSSIP_MENU();
  221. }else{
  222. // Наложение Благословения мистера Пинчи
  223. player->CastSpell(player, 33053, true);
  224. player->ModifyHonorPoints(-CONST_HONOR_2);
  225. player->CLOSE_GOSSIP_MENU();
  226. }
  227. break;
  228. case 18:
  229. player->PlayerTalkClass->ClearMenus();
  230. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_INTERACT_1, MSG_GOSSIP_TEXT_MAX_HEALTH, GOSSIP_SENDER_MAIN, 30);
  231. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_INTERACT_1, MSG_GOSSIP_TEXT_MAX_SKILL, GOSSIP_SENDER_MAIN, 31);
  232. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TALK, MSG_GOSSIP_TEXT_BUFF_MENU, GOSSIP_SENDER_MAIN, 2);
  233. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TALK, MSG_GOSSIP_TEXT_SUPER_MENU, GOSSIP_SENDER_MAIN, 13);
  234. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TALK, MSG_GOSSIP_TEXT_TITLES_MENU, GOSSIP_SENDER_MAIN, 19);
  235. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TALK, MSG_GOSSIP_TEXT_PLAYER_MENU, GOSSIP_SENDER_MAIN, 26);
  236. player->SEND_GOSSIP_MENU (DEFAULT_GOSSIP_MESSAGE,_creature->GetGUID());
  237. break;
  238. case 19:
  239. player->PlayerTalkClass->ClearMenus();
  240. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_INTERACT_1, MSG_GOSSIP_TEXT_TITLES_JENKINS, GOSSIP_SENDER_MAIN, 20);
  241. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_INTERACT_1, MSG_GOSSIP_TEXT_TITLES_THE_LOVE_FOOL, GOSSIP_SENDER_MAIN, 21);
  242. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_INTERACT_1, MSG_GOSSIP_TEXT_TITLES_MERRYMAKER, GOSSIP_SENDER_MAIN, 22);
  243. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_INTERACT_1, MSG_GOSSIP_TEXT_TITLES_SCARAB_LORD, GOSSIP_SENDER_MAIN, 23);
  244. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_INTERACT_1, MSG_GOSSIP_TEXT_TITLES_THE_NOBLE, GOSSIP_SENDER_MAIN, 24);
  245. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_INTERACT_1, MSG_GOSSIP_TEXT_TITLES_OBSIDIAN_SLAYER, GOSSIP_SENDER_MAIN, 25);
  246. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TALK, MSG_GOSSIP_TEXT_MAIN_MENU, GOSSIP_SENDER_MAIN, 18);
  247. player->SEND_GOSSIP_MENU (DEFAULT_GOSSIP_MESSAGE,_creature->GetGUID());
  248. break;
  249. case 20:
  250. {CharTitlesEntry const* titleInfo = sCharTitlesStore.LookupEntry(143);
  251. if (player->HasTitle(titleInfo))
  252. {
  253. _creature->MonsterWhisper(MSG_ERR_TITLE, player->GetGUID());
  254. player->CLOSE_GOSSIP_MENU();
  255. return false;
  256. }
  257. if (player->GetArenaPoints() < CONST_ARENA_POINT_1)
  258. {
  259. _creature->MonsterWhisper(MSG_ERR_ARENA_POINT_1, player->GetGUID());
  260. player->CLOSE_GOSSIP_MENU();
  261. }else{
  262. // Даем звание Дженкинс
  263. player->SetTitle(titleInfo);
  264. player->ModifyArenaPoints(-CONST_ARENA_POINT_1);
  265. player->CLOSE_GOSSIP_MENU();
  266. }
  267. }
  268. break;
  269. case 21:
  270. {CharTitlesEntry const* titleInfo = sCharTitlesStore.LookupEntry(135);
  271. if (player->HasTitle(titleInfo))
  272. {
  273. _creature->MonsterWhisper(MSG_ERR_TITLE, player->GetGUID());
  274. player->CLOSE_GOSSIP_MENU();
  275. return false;
  276. }
  277. if (player->GetArenaPoints() < CONST_ARENA_POINT_1)
  278. {
  279. _creature->MonsterWhisper(MSG_ERR_ARENA_POINT_1, player->GetGUID());
  280. player->CLOSE_GOSSIP_MENU();
  281. }else{
  282. // Даем звание Безумно Влюбленный
  283. player->SetTitle(titleInfo);
  284. player->ModifyArenaPoints(-CONST_ARENA_POINT_1);
  285. player->CLOSE_GOSSIP_MENU();
  286. }
  287. }
  288. break;
  289. case 22:
  290. {CharTitlesEntry const* titleInfo = sCharTitlesStore.LookupEntry(134);
  291. if (player->HasTitle(titleInfo))
  292. {
  293. _creature->MonsterWhisper(MSG_ERR_TITLE, player->GetGUID());
  294. player->CLOSE_GOSSIP_MENU();
  295. return false;
  296. }
  297. if (player->GetArenaPoints() < CONST_ARENA_POINT_1) {
  298. _creature->MonsterWhisper(MSG_ERR_ARENA_POINT_1, player->GetGUID());
  299. player->CLOSE_GOSSIP_MENU();
  300. }else{
  301. // Даем звание Весельчак
  302. player->SetTitle(titleInfo);
  303. player->ModifyArenaPoints(-CONST_ARENA_POINT_1);
  304. player->CLOSE_GOSSIP_MENU();
  305. }
  306. }
  307. break;
  308. case 23:
  309. {CharTitlesEntry const* titleInfo = sCharTitlesStore.LookupEntry(46);
  310. if (player->HasTitle(titleInfo))
  311. {
  312. _creature->MonsterWhisper(MSG_ERR_TITLE, player->GetGUID());
  313. player->CLOSE_GOSSIP_MENU();
  314. return false;
  315. }
  316. if (player->GetArenaPoints() < CONST_ARENA_POINT_1) {
  317. _creature->MonsterWhisper(MSG_ERR_ARENA_POINT_1, player->GetGUID());
  318. player->CLOSE_GOSSIP_MENU();
  319. }else{
  320. // Даем звание Повелитель Скоробеев
  321. player->SetTitle(titleInfo);
  322. player->ModifyArenaPoints(-CONST_ARENA_POINT_1);
  323. player->CLOSE_GOSSIP_MENU();
  324. }
  325. }
  326. break;
  327. case 24:
  328. {CharTitlesEntry const* titleInfo = sCharTitlesStore.LookupEntry(155);
  329. if (player->HasTitle(titleInfo))
  330. {
  331. _creature->MonsterWhisper(MSG_ERR_TITLE, player->GetGUID());
  332. player->CLOSE_GOSSIP_MENU();
  333. return false;
  334. }
  335. if (player->GetArenaPoints() < CONST_ARENA_POINT_1) {
  336. _creature->MonsterWhisper(MSG_ERR_ARENA_POINT_1, player->GetGUID());
  337. player->CLOSE_GOSSIP_MENU();
  338. }else{
  339. // Даем звание Чудесный
  340. player->SetTitle(titleInfo);
  341. player->ModifyArenaPoints(-CONST_ARENA_POINT_1);
  342. player->CLOSE_GOSSIP_MENU();
  343. }
  344. }
  345. break;
  346. case 25:
  347. {CharTitlesEntry const* titleInfo = sCharTitlesStore.LookupEntry(139);
  348. if (player->HasTitle(titleInfo))
  349. {
  350. _creature->MonsterWhisper(MSG_ERR_TITLE, player->GetGUID());
  351. player->CLOSE_GOSSIP_MENU();
  352. return false;
  353. }
  354. if (player->GetArenaPoints() < CONST_ARENA_POINT_1) {
  355. _creature->MonsterWhisper(MSG_ERR_ARENA_POINT_1, player->GetGUID());
  356. player->CLOSE_GOSSIP_MENU();
  357. }else{
  358. // Даем звание Покоритель Обсидианового святилища
  359. player->SetTitle(titleInfo);
  360. player->ModifyArenaPoints(-CONST_ARENA_POINT_2);
  361. player->CLOSE_GOSSIP_MENU();
  362. }
  363. }
  364. break;
  365. case 26:
  366. player->PlayerTalkClass->ClearMenus();
  367. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_INTERACT_1, MSG_GOSSIP_TEXT_RENAME, GOSSIP_SENDER_MAIN, 27);
  368. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_INTERACT_1, MSG_GOSSIP_TEXT_CUSTOM, GOSSIP_SENDER_MAIN, 28);
  369. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_INTERACT_1, MSG_GOSSIP_TEXT_CHANGE_FACTION, GOSSIP_SENDER_MAIN, 29);
  370. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TALK, MSG_GOSSIP_TEXT_MAIN_MENU, GOSSIP_SENDER_MAIN, 18);
  371. player->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE,_creature->GetGUID());
  372. break;
  373. case 27:
  374. if (player->GetArenaPoints() < CONST_ARENA_POINT_3)
  375. {
  376. _creature->MonsterWhisper(MSG_ERR_ARENA_POINT_1, player->GetGUID());
  377. player->CLOSE_GOSSIP_MENU();
  378. }else{
  379. // Делаем Ренейм
  380. player->SetAtLoginFlag(AT_LOGIN_RENAME);
  381. player->ModifyArenaPoints(-CONST_ARENA_POINT_3);
  382. _creature->MonsterWhisper(MSG_COMPLETE_RENAME, player->GetGUID());
  383. player->CLOSE_GOSSIP_MENU();
  384. }
  385. break;
  386. case 28:
  387. if (player->GetArenaPoints() < CONST_ARENA_POINT_3)
  388. {
  389. _creature->MonsterWhisper(MSG_ERR_ARENA_POINT_1, player->GetGUID());
  390. player->CLOSE_GOSSIP_MENU();
  391. }else{
  392. // Делаем Смену внешности
  393. player->SetAtLoginFlag(AT_LOGIN_CUSTOMIZE);
  394. player->ModifyArenaPoints(-CONST_ARENA_POINT_3);
  395. _creature->MonsterWhisper(MSG_CUSTOMIZE_COMPLETE, player->GetGUID());
  396. player->CLOSE_GOSSIP_MENU();
  397. }
  398. break;
  399. case 29:
  400. if (player->GetArenaPoints() < CONST_ARENA_POINT_4)
  401. {
  402. _creature->MonsterWhisper(MSG_ERR_ARENA_POINT_1, player->GetGUID());
  403. player->CLOSE_GOSSIP_MENU();
  404. }else{
  405. // Делаем Смену внешности
  406. player->SetAtLoginFlag(AT_LOGIN_CHANGE_FACTION);
  407. player->ModifyArenaPoints(-CONST_ARENA_POINT_4);
  408. _creature->MonsterWhisper(MSG_CHANGE_FACTION_COMPLETE, player->GetGUID());
  409. player->CLOSE_GOSSIP_MENU();
  410. }
  411. break;
  412. case 30:
  413. player->SetHealth(player->GetMaxHealth());
  414. player->CLOSE_GOSSIP_MENU();
  415.  
  416. break;
  417. case 31:
  418. player->UpdateSkillsToMaxSkillsForLevel();
  419. player->CLOSE_GOSSIP_MENU();
  420. break;
  421. case 32:
  422. player->learnSpell(90265, true);
  423. player->SetSkill(762, 6, 450, 450);
  424. player->learnSpell(54197, true);
  425. player->CLOSE_GOSSIP_MENU();
  426. break;
  427. case 33:
  428. player->PlayerTalkClass->ClearMenus();
  429. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, MSG_GOSSIP_TEXT_ALCHEMY, GOSSIP_SENDER_MAIN, 34);
  430. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, MSG_GOSSIP_TEXT_BLACKSMITHING, GOSSIP_SENDER_MAIN, 35);
  431. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, MSG_GOSSIP_TEXT_ENCNANTING, GOSSIP_SENDER_MAIN, 36);
  432. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, MSG_GOSSIP_TEXT_ENGINEERING, GOSSIP_SENDER_MAIN, 37);
  433. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, MSG_GOSSIP_TEXT_HERBALISM, GOSSIP_SENDER_MAIN, 38);
  434. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, MSG_GOSSIP_TEXT_INSCRIPTION, GOSSIP_SENDER_MAIN, 39);
  435. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, MSG_GOSSIP_TEXT_JEWELCRAFTING, GOSSIP_SENDER_MAIN, 40);
  436. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, MSG_GOSSIP_TEXT_LEATHERWORKING, GOSSIP_SENDER_MAIN, 41);
  437. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, MSG_GOSSIP_TEXT_MINING, GOSSIP_SENDER_MAIN, 42);
  438. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, MSG_GOSSIP_TEXT_SKINNING, GOSSIP_SENDER_MAIN, 43);
  439. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, MSG_GOSSIP_TEXT_TAILORING, GOSSIP_SENDER_MAIN, 44);
  440. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TALK, MSG_GOSSIP_TEXT_PROFFESION_SECON_MENU, GOSSIP_SENDER_MAIN, 45);
  441. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TALK, MSG_GOSSIP_TEXT_MAIN_MENU, GOSSIP_SENDER_MAIN, 18);
  442. player->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE,_creature->GetGUID());
  443. break;
  444. case 34:
  445. player->learnSpell(51304, true);
  446. player->SetSkill(171,6,450,450);
  447. player->CLOSE_GOSSIP_MENU();
  448. break;
  449. case 35:
  450. player->learnSpell(51300, true);
  451. player->SetSkill(164,6,450,450);
  452. player->CLOSE_GOSSIP_MENU();
  453. break;
  454. case 36:
  455. player->learnSpell(51313, true);
  456. player->SetSkill(333,6,450,450);
  457. player->CLOSE_GOSSIP_MENU();
  458. break;
  459. case 37:
  460. player->learnSpell(51306, true);
  461. player->SetSkill(202,6,450,450);
  462. player->CLOSE_GOSSIP_MENU();
  463. break;
  464. case 38:
  465. player->learnSpell(50300, true);
  466. player->SetSkill(182,6,450,450);
  467. player->CLOSE_GOSSIP_MENU();
  468. case 39:
  469. player->learnSpell(45363, true);
  470. player->SetSkill(773,6,450,450);
  471. player->CLOSE_GOSSIP_MENU();
  472. break;
  473. case 40:
  474. player->learnSpell(51311, true);
  475. player->SetSkill(755,6,450,450);
  476. player->CLOSE_GOSSIP_MENU();
  477. break;
  478. case 41:
  479. player->learnSpell(51302, true);
  480. player->SetSkill(165,6,450,450);
  481. player->CLOSE_GOSSIP_MENU();
  482. break;
  483. case 42:
  484. player->learnSpell(50310, true);
  485. player->SetSkill(186,6,450,450);
  486. player->CLOSE_GOSSIP_MENU();
  487. break;
  488. case 43:
  489. player->learnSpell(50305, true);
  490. player->SetSkill(393,6,450,450);
  491. player->CLOSE_GOSSIP_MENU();
  492. break;
  493. case 44:
  494. player->learnSpell(51309, true);
  495. player->SetSkill(197,6,450,450);
  496. player->CLOSE_GOSSIP_MENU();
  497. break;
  498. case 45:
  499. player->PlayerTalkClass->ClearMenus();
  500. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, MSG_GOSSIP_TEXT_COOKING, GOSSIP_SENDER_MAIN, 46);
  501. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, MSG_GOSSIP_TEXT_FIRST_AID, GOSSIP_SENDER_MAIN, 47);
  502. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, MSG_GOSSIP_TEXT_FISHING, GOSSIP_SENDER_MAIN, 48);
  503. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TALK, MSG_GOSSIP_TEXT_MAIN_MENU, GOSSIP_SENDER_MAIN, 18);
  504. player->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE,_creature->GetGUID());
  505. break;
  506. case 46:
  507. player->learnSpell(51296, true);
  508. player->SetSkill(185,6,450,450);
  509. player->CLOSE_GOSSIP_MENU();
  510. break;
  511. case 47:
  512. player->learnSpell(45542, true);
  513. player->SetSkill(129,6,450,450);
  514. player->CLOSE_GOSSIP_MENU();
  515. break;
  516. case 48:
  517. player->learnSpell(51294, true);
  518. player->SetSkill(356,6,450,450);
  519. player->CLOSE_GOSSIP_MENU();
  520. break;
  521. }
  522. return true;
  523. }
  524.  
  525. };
  526. void AddSC_npc_buffer()
  527. {
  528. new npc_buffer;
  529. }
Add Comment
Please, Sign In to add comment