Guest User

Untitled

a guest
Mar 30th, 2017
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 43.04 KB | None | 0 0
  1. #include "ScriptPCH.h"
  2.  
  3. enum Enchants
  4. {
  5. ENCHANT_WEP_PYRIUM_WEAPON_CHAIN = 4217,
  6. ENCHANT_WEP_LANDSLIDE = 4099,
  7. ENCHANT_WEP_POWER_TORRENT = 4097,
  8. ENCHANT_WEP_WINDWALK = 4098,
  9. ENCHANT_WEP_HEARTSONG = 4084,
  10. ENCHANT_WEP_HURRICANE = 4083,
  11. ENCHANT_WEP_ELEMENTAL_SLAYER = 4074,
  12. ENCHANT_WEP_AVALANCHE = 4067,
  13. ENCHANT_WEP_MENDING = 4066,
  14. ENCHANT_2HWEP_MIGHTY_AGILITY = 4227,
  15.  
  16. ENCHANT_OFF_HAND_SUPERIOR_INTELLECT = 4091,
  17. ENCHANT_SHIELD_MASTERY = 4085,
  18. ENCHANT_SHIELD_PROTECTION = 4073,
  19.  
  20. ENCHANT_HEAD_VICIOUS_INTELLECT = 4245,
  21. ENCHANT_HEAD_VICIOUS_AGILITY = 4246,
  22. ENCHANT_HEAD_VICIOUS_STRENGTH = 4247,
  23.  
  24. ENCHANT_SHOULDER_VICIOUS_INTELLECT = 4248,
  25. ENCHANT_SHOULDER_VICIOUS_AGILITY = 4250,
  26. ENCHANT_SHOULDER_VICIOUS_STRENGTH = 4249,
  27.  
  28. ENCHANT_CLOAK_GREATER_CRITICAL_STRIKE = 4100,
  29. ENCHANT_CLOAK_GREATER_INTELLECT = 4096,
  30. ENCHANT_CLOAK_PROTECTION = 4090,
  31. ENCHANT_CLOAK_GREATER_SPELL_PIERCING = 4064,
  32.  
  33. ENCHANT_GLOVES_GREATER_MASTERY = 4107,
  34. ENCHANT_GLOVES_MIGHTY_STRENGTH = 4106,
  35. ENCHANT_GLOVES_GREATER_EXPERTISE = 4082,
  36. ENCHANT_GLOVES_HASTE = 4068,
  37.  
  38. ENCHANT_BRACERS_GREATER_CRITICAL_STRIKE = 4101,
  39. ENCHANT_BRACERS_GREATER_SPEED = 4108,
  40. ENCHANT_BRACERS_AGILITY = 4258,
  41. ENCHANT_BRACERS_MAJOR_STRENGTH = 4256,
  42. ENCHANT_BRACERS_MIGHTY_INTELLECT = 4257,
  43. ENCHANT_BRACERS_GREATER_EXPERTISE = 4095,
  44. ENCHANT_BRACERS_EXCEPTIONAL_SPIRIT = 4093,
  45. ENCHANT_BRACERS_PRECISION = 4089,
  46. ENCHANT_BRACERS_SUPERIOR_DODGE = 4086,
  47.  
  48. ENCHANT_CHEST_PEERLESS_STATS = 4102,
  49. ENCHANT_CHEST_GREATER_STAMINA = 4103,
  50. ENCHANT_CHEST_EXCEPTIONAL_SPIRIT = 4088,
  51. ENCHANT_CHEST_MIGHTY_RESILIENCE = 4077,
  52.  
  53. ENCHANT_LEGS_LEG_ARMOR = 4127,
  54. ENCHANT_DRAKEHIDE_LEG_ARMOR = 4270,
  55. ENCHANT_LEGS_CHARSCALE_LEG_ARMOR = 4127,
  56. ENCHANT_LEGS_DRAGONSCALE_LEG_ARMOR = 4126,
  57. ENCHANT_LEGS_POWERFUL_ENCHANTED_SPELLTHREAD = 4112,
  58. ENCHANT_LEGS_POWERFUL_GHOSTLY_SPELLTHREAD = 4110,
  59.  
  60. ENCHANT_BOOTS_ASSASSINS_STEP = 4105,
  61. ENCHANT_BOOTS_LAVAWALKER = 4104,
  62. ENCHANT_BOOTS_MASTERY = 4094,
  63. ENCHANT_BOOTS_PRECISION = 4092,
  64. ENCHANT_BOOTS_MAJOR_AGILITY = 4076,
  65. ENCHANT_BOOTS_HASTE = 4069,
  66.  
  67. ENCHANT_RING_AGILITY = 4079,
  68. ENCHANT_RING_GREATER_STAMINA = 4081,
  69. ENCHANT_RING_INTELLECT = 4080,
  70. ENCHANT_RING_STRENGTH = 4078
  71. };
  72.  
  73. #define ONE_HAND_WEAPON_COST 0 //20g
  74. #define TWO_HAND_WEAPON_COST 0 //30g
  75. #define MAIN_PIECES_COST 0 //15g
  76. #define OFF_PIECES_COST 0 //10g
  77. #define SHIELD_COST 0 //10g
  78.  
  79. void Enchant(Player* player, Item* item, uint32 enchantid)
  80. {
  81. if (!item)
  82. {
  83. player->GetSession()->SendNotification("You need to equip an item in that slot to enchant it!");
  84. return;
  85. }
  86.  
  87. if (!enchantid)
  88. return;
  89.  
  90. player->ApplyEnchantment(item, PERM_ENCHANTMENT_SLOT, false);
  91. item->SetEnchantment(PERM_ENCHANTMENT_SLOT, enchantid, 0, 0);
  92. player->ApplyEnchantment(item, PERM_ENCHANTMENT_SLOT, true);
  93.  
  94. std::string color = "|cff";
  95. switch (item->GetTemplate()->Quality)
  96. {
  97. case 0:
  98. color += "9d9d9d";
  99. break;
  100. case 1:
  101. color += "ffffff";
  102. break;
  103. case 2:
  104. color += "1eff00";
  105. break;
  106. case 3:
  107. color += "0070dd";
  108. break;
  109. case 4:
  110. color += "a335ee";
  111. break;
  112. case 5:
  113. color += "ff8000";
  114. break;
  115. }
  116. std::string itemname = item->GetTemplate()->Name1;
  117. ChatHandler(player->GetSession()).PSendSysMessage("|cffFFFFFF[%s%s|cffFFFFFF] |cffFF0000succesfully enchanted!", color.c_str(), itemname.c_str());
  118. }
  119.  
  120. class npc_enchantment : public CreatureScript
  121. {
  122. public:
  123. npc_enchantment() : CreatureScript("npc_enchantment") { }
  124.  
  125. bool OnGossipHello(Player* player, Creature* creature)
  126. {
  127. player->ADD_GOSSIP_ITEM(1, "|TInterface\\icons\\trade_engraving:23|t [Enchant Weapon]", GOSSIP_SENDER_MAIN, 1);
  128. player->ADD_GOSSIP_ITEM(1, "|TInterface\\icons\\trade_engraving:23|t [Enchant 2H Weapon]", GOSSIP_SENDER_MAIN, 2);
  129. player->ADD_GOSSIP_ITEM(1, "|TInterface\\icons\\trade_engraving:23|t [Enchant Off-Hand]", GOSSIP_SENDER_MAIN, 3);
  130. player->ADD_GOSSIP_ITEM(1, "|TInterface\\icons\\trade_engraving:23|t [Enchant Head]", GOSSIP_SENDER_MAIN, 4);
  131. player->ADD_GOSSIP_ITEM(1, "|TInterface\\icons\\trade_engraving:23|t [Enchant Shoulders]", GOSSIP_SENDER_MAIN, 5);
  132. player->ADD_GOSSIP_ITEM(1, "|TInterface\\icons\\trade_engraving:23|t [Enchant Cloak]", GOSSIP_SENDER_MAIN, 6);
  133. player->ADD_GOSSIP_ITEM(1, "|TInterface\\icons\\trade_engraving:23|t [Enchant Chest]", GOSSIP_SENDER_MAIN, 7);
  134. player->ADD_GOSSIP_ITEM(1, "|TInterface\\icons\\trade_engraving:23|t [Enchant Bracers]", GOSSIP_SENDER_MAIN, 8);
  135. player->ADD_GOSSIP_ITEM(1, "|TInterface\\icons\\trade_engraving:23|t [Enchant Gloves]", GOSSIP_SENDER_MAIN, 9);
  136. player->ADD_GOSSIP_ITEM(1, "|TInterface\\icons\\trade_engraving:23|t [Enchant Legs]", GOSSIP_SENDER_MAIN, 11);
  137. player->ADD_GOSSIP_ITEM(1, "|TInterface\\icons\\trade_engraving:23|t [Enchant Feet]", GOSSIP_SENDER_MAIN, 10);
  138.  
  139. if (player->HasSkill(SKILL_ENCHANTING) && player->GetSkillValue(SKILL_ENCHANTING) == 450)
  140. player->ADD_GOSSIP_ITEM(1, "[Enchant Rings]", GOSSIP_SENDER_MAIN, 12);
  141.  
  142. player->SEND_GOSSIP_MENU(100001, creature->GetGUID());
  143. return true;
  144. }
  145.  
  146. bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action)
  147. {
  148. player->PlayerTalkClass->ClearMenus();
  149. Item * mainItem;
  150.  
  151. switch (action)
  152. {
  153.  
  154. case 1: // Enchant Weapon
  155. player->ADD_GOSSIP_ITEM(1, "Pyrium Weapon Chain - Increase Hit Rating & Reduce duration of Disarm Effects", GOSSIP_SENDER_MAIN, 217);
  156. player->ADD_GOSSIP_ITEM(1, "Heartsong - Proc of 200 Spirit", GOSSIP_SENDER_MAIN, 102);
  157. player->ADD_GOSSIP_ITEM(1, "Hurricane - Proc of 450 Haste Rating", GOSSIP_SENDER_MAIN, 103);
  158. player->ADD_GOSSIP_ITEM(1, "Avalanche - Avalanche - 500 Nature Damage", GOSSIP_SENDER_MAIN, 100);
  159. player->ADD_GOSSIP_ITEM(1, "Elemental Slayer - Arcane Damage & Silence", GOSSIP_SENDER_MAIN, 101);
  160. player->ADD_GOSSIP_ITEM(1, "Landslide - Proc of 1000 Attack Power ", GOSSIP_SENDER_MAIN, 104);
  161. player->ADD_GOSSIP_ITEM(1, "Mending - Heal", GOSSIP_SENDER_MAIN, 105);
  162. player->ADD_GOSSIP_ITEM(1, "Power Torrent - Proc of 500 Intellect", GOSSIP_SENDER_MAIN, 106);
  163. player->ADD_GOSSIP_ITEM(1, "Windwalk - Proc of increasing dodge rating by 600 & movement speed by 15", GOSSIP_SENDER_MAIN, 107);
  164. player->ADD_GOSSIP_ITEM(1, "<-Back", GOSSIP_SENDER_MAIN, 300);
  165. player->PlayerTalkClass->SendGossipMenu(100002, creature->GetGUID());
  166. return true;
  167. break;
  168.  
  169. case 2: // Enchant 2H Weapon
  170. {
  171. mainItem = player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_MAINHAND);
  172. if (!mainItem || mainItem->GetTemplate()->InventoryType != INVTYPE_2HWEAPON)
  173. {
  174. player->GetSession()->SendAreaTriggerMessage("|cffFF0000You need a Two-Hand Weapon equipped!");
  175. return false;
  176. player->CLOSE_GOSSIP_MENU();;
  177. }
  178. if (mainItem->GetTemplate()->InventoryType == INVTYPE_2HWEAPON)
  179. {
  180. player->ADD_GOSSIP_ITEM(1, "Heartsong - Proc of 200 Spirit", GOSSIP_SENDER_MAIN, 102);
  181. player->ADD_GOSSIP_ITEM(1, "Hurricane - Proc of 450 Haste Rating", GOSSIP_SENDER_MAIN, 103);
  182. player->ADD_GOSSIP_ITEM(1, "Avalanche - 500 Nature Damage", GOSSIP_SENDER_MAIN, 100);
  183. player->ADD_GOSSIP_ITEM(1, "Elemental Slayer - Arcane Damage & Silence", GOSSIP_SENDER_MAIN, 101);
  184. player->ADD_GOSSIP_ITEM(1, "Landslide - Proc of 1000 Attack Power", GOSSIP_SENDER_MAIN, 104);
  185. player->ADD_GOSSIP_ITEM(1, "Mending - Heal", GOSSIP_SENDER_MAIN, 105);
  186. player->ADD_GOSSIP_ITEM(1, "Power Torrent - Proc of 500 Intellect", GOSSIP_SENDER_MAIN, 106);
  187. player->ADD_GOSSIP_ITEM(1, "Windwalk - Proc of increasing dodge rating by 600 & movement speed by 15%", GOSSIP_SENDER_MAIN, 107);
  188. player->ADD_GOSSIP_ITEM(1, "Mighty Agility - 130 Agility", GOSSIP_SENDER_MAIN, 108);
  189. player->ADD_GOSSIP_ITEM(1, "<-Back", GOSSIP_SENDER_MAIN, 300);
  190. player->PlayerTalkClass->SendGossipMenu(100003, creature->GetGUID());
  191. return true;
  192. }
  193. }
  194. break;
  195.  
  196. case 3: // Enchant Shield
  197. {
  198. mainItem = player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND);
  199. if (!mainItem)
  200. {
  201. player->GetSession()->SendAreaTriggerMessage("|cffFF0000You need an Off-Hand or Shield equipped!");
  202. player->CLOSE_GOSSIP_MENU();
  203. return false;
  204. }
  205. if (mainItem->GetTemplate()->InventoryType == INVTYPE_SHIELD)
  206. {
  207. player->ADD_GOSSIP_ITEM(1, "Mastery - 50 Mastery", GOSSIP_SENDER_MAIN, 109);
  208. player->ADD_GOSSIP_ITEM(1, "Protection - 160 Armor", GOSSIP_SENDER_MAIN, 110);
  209. player->ADD_GOSSIP_ITEM(1, "Superior Intellect - 40 Intellect", GOSSIP_SENDER_MAIN, 111);
  210. player->ADD_GOSSIP_ITEM(1, "<-Back", GOSSIP_SENDER_MAIN, 300);
  211. player->PlayerTalkClass->SendGossipMenu(100004, creature->GetGUID());
  212. return true;
  213. }
  214. if (mainItem->GetTemplate()->InventoryType == INVTYPE_HOLDABLE)
  215. {
  216. player->ADD_GOSSIP_ITEM(1, "Superior Intellect - 40 Intellect", GOSSIP_SENDER_MAIN, 111);
  217. player->ADD_GOSSIP_ITEM(1, "<-Back", GOSSIP_SENDER_MAIN, 300);
  218. player->SEND_GOSSIP_MENU(100004, creature->GetGUID());
  219. return true;
  220. }
  221.  
  222. }
  223. break;
  224.  
  225. case 4: // Enchant Head
  226. player->ADD_GOSSIP_ITEM(1, "Arcanum of Vicious Agility - 60 Agility & 35 Resilience Rating", GOSSIP_SENDER_MAIN, 112);
  227. player->ADD_GOSSIP_ITEM(1, "Arcanum of Vicious Intellect - 60 Intellect & 35 Resilience Rating", GOSSIP_SENDER_MAIN, 113);
  228. player->ADD_GOSSIP_ITEM(1, "Arcanum of Vicious Strength - 60 Strength & 35 Resilience Rating", GOSSIP_SENDER_MAIN, 114);
  229. player->ADD_GOSSIP_ITEM(1, "<-Back", GOSSIP_SENDER_MAIN, 300);
  230. player->PlayerTalkClass->SendGossipMenu(100005, creature->GetGUID());
  231. return true;
  232. break;
  233.  
  234. case 5: // Enchant Shoulders
  235. player->ADD_GOSSIP_ITEM(1, "Greater Inscription of the Vicious Agility - 50 Agility & 25 Resilience Rating", GOSSIP_SENDER_MAIN, 115);
  236. player->ADD_GOSSIP_ITEM(1, "Greater Inscription of the Vicious Intellect - 50 Intellect & 25 Resilience Rating", GOSSIP_SENDER_MAIN, 116);
  237. player->ADD_GOSSIP_ITEM(1, "Greater Inscription of the Vicious Strength - 50 Strength & 25 Resilience Rating", GOSSIP_SENDER_MAIN, 117);
  238. player->ADD_GOSSIP_ITEM(1, "<-Back", GOSSIP_SENDER_MAIN, 300);
  239. player->PlayerTalkClass->SendGossipMenu(100006, creature->GetGUID());
  240. return true;
  241. break;
  242.  
  243. case 6: // Enchant Cloak
  244. player->ADD_GOSSIP_ITEM(1, "Greater Critical Strike - 65 Critical Strike", GOSSIP_SENDER_MAIN, 118);
  245. player->ADD_GOSSIP_ITEM(1, "Greater Intellect - 50 Intellect", GOSSIP_SENDER_MAIN, 119);
  246. player->ADD_GOSSIP_ITEM(1, "Greater Spell Piercing - 70 Spell Penetration", GOSSIP_SENDER_MAIN, 120);
  247. player->ADD_GOSSIP_ITEM(1, "Protection - 250 Armor", GOSSIP_SENDER_MAIN, 121);
  248. player->ADD_GOSSIP_ITEM(1, "<-Back", GOSSIP_SENDER_MAIN, 300);
  249. player->PlayerTalkClass->SendGossipMenu(100007, creature->GetGUID());
  250. return true;
  251. break;
  252.  
  253. case 7: //Enchant Chest
  254. player->ADD_GOSSIP_ITEM(1, "Exceptional Spirit - 40 Spirit", GOSSIP_SENDER_MAIN, 122);
  255. player->ADD_GOSSIP_ITEM(1, "Greater Stamina - 75 Stamina", GOSSIP_SENDER_MAIN, 123);
  256. player->ADD_GOSSIP_ITEM(1, "Mighty Resilience - - 40 Resilience Rating", GOSSIP_SENDER_MAIN, 124);
  257. player->ADD_GOSSIP_ITEM(1, "Peerless Stats - 20 of all stats", GOSSIP_SENDER_MAIN, 125);
  258. player->ADD_GOSSIP_ITEM(1, "<-Back", GOSSIP_SENDER_MAIN, 300);
  259. player->PlayerTalkClass->SendGossipMenu(100008, creature->GetGUID());
  260. return true;
  261. break;
  262.  
  263. case 8: //Enchant Bracers
  264. player->ADD_GOSSIP_ITEM(1, "Agility - 50 Agility", GOSSIP_SENDER_MAIN, 126);
  265. player->ADD_GOSSIP_ITEM(1, "Exceptional Spirit - 50 Spirit", GOSSIP_SENDER_MAIN, 127);
  266. player->ADD_GOSSIP_ITEM(1, "Greater Critical Strike - 65 Critical Strike", GOSSIP_SENDER_MAIN, 128);
  267. player->ADD_GOSSIP_ITEM(1, "Greater Expertise - 50 Expertise Rating ", GOSSIP_SENDER_MAIN, 129);
  268. player->ADD_GOSSIP_ITEM(1, "Greater Speed - 65 Haste Rating", GOSSIP_SENDER_MAIN, 130);
  269. player->ADD_GOSSIP_ITEM(1, "Major Strength - 50 Strength", GOSSIP_SENDER_MAIN, 131);
  270. player->ADD_GOSSIP_ITEM(1, "Mighty Intellect - 50 Intellect", GOSSIP_SENDER_MAIN, 132);
  271. player->ADD_GOSSIP_ITEM(1, "Precision - 50 Hit Rating", GOSSIP_SENDER_MAIN, 133);
  272. player->ADD_GOSSIP_ITEM(1, "Superior Dodge - 50 Dodge Rating", GOSSIP_SENDER_MAIN, 134);
  273. player->ADD_GOSSIP_ITEM(1, "<-Back", GOSSIP_SENDER_MAIN, 300);
  274. player->PlayerTalkClass->SendGossipMenu(100009, creature->GetGUID());
  275. return true;
  276. break;
  277.  
  278. case 9: //Enchant Gloves
  279. player->ADD_GOSSIP_ITEM(1, "Greater Expertise - 50 Expertise Rating", GOSSIP_SENDER_MAIN, 135);
  280. player->ADD_GOSSIP_ITEM(1, "Greater Mastery - 65 Mastery Rating", GOSSIP_SENDER_MAIN, 136);
  281. player->ADD_GOSSIP_ITEM(1, "Haste - 50 Haste Rating", GOSSIP_SENDER_MAIN, 137);
  282. player->ADD_GOSSIP_ITEM(1, "Mighty Strength - 50 Strength", GOSSIP_SENDER_MAIN, 138);
  283. player->ADD_GOSSIP_ITEM(1, "<-Back", GOSSIP_SENDER_MAIN, 300);
  284. player->PlayerTalkClass->SendGossipMenu(100010, creature->GetGUID());
  285. return true;
  286. break;
  287.  
  288. case 10: //Enchant Feet
  289. player->ADD_GOSSIP_ITEM(1, "Assassins Step - 25 Agility & Increased movement speed", GOSSIP_SENDER_MAIN, 139);
  290. player->ADD_GOSSIP_ITEM(1, "Haste - 50 Haste Rating", GOSSIP_SENDER_MAIN, 140);
  291. player->ADD_GOSSIP_ITEM(1, "Lavawalker - 35 Mastery Rating & Increased movement speed", GOSSIP_SENDER_MAIN, 141);
  292. player->ADD_GOSSIP_ITEM(1, "Major Agility - 35 Agility", GOSSIP_SENDER_MAIN, 142);
  293. player->ADD_GOSSIP_ITEM(1, "Mastery - 50 Mastery Rating", GOSSIP_SENDER_MAIN, 143);
  294. player->ADD_GOSSIP_ITEM(1, "Precision - 50 Hit Rating", GOSSIP_SENDER_MAIN, 144);
  295. player->ADD_GOSSIP_ITEM(1, "<-Back", GOSSIP_SENDER_MAIN, 300);
  296. player->PlayerTalkClass->SendGossipMenu(100010, creature->GetGUID());
  297. return true;
  298. break;
  299.  
  300. case 11: //Enchant Legs
  301. player->ADD_GOSSIP_ITEM(1, "Charscale Leg Armor - 145 Stamina & 55 Agility ", GOSSIP_SENDER_MAIN, 160);
  302. player->ADD_GOSSIP_ITEM(1, "Dragonscale Leg Armor - 190 Attack Power & 55 Critical Strike Rating ", GOSSIP_SENDER_MAIN, 161);
  303. player->ADD_GOSSIP_ITEM(1, "Powerful Enchanted Spellthread - 95 Intellect & 80 Stamina", GOSSIP_SENDER_MAIN, 162);
  304. player->ADD_GOSSIP_ITEM(1, "Powerful Ghostly Spellthread - 95 Intellect & 55 Spirit", GOSSIP_SENDER_MAIN, 163);
  305. player->ADD_GOSSIP_ITEM(1, "Drakehide Leg Armor - 145 Stamina & 55 Dodge Rating", GOSSIP_SENDER_MAIN, 164);
  306. player->ADD_GOSSIP_ITEM(1, "<-Back", GOSSIP_SENDER_MAIN, 300);
  307. player->PlayerTalkClass->SendGossipMenu(100010, creature->GetGUID());
  308. return true;
  309. break;
  310.  
  311. case 12: //Enchant rings
  312. player->ADD_GOSSIP_ITEM(1, "Agility - 40 Agility", GOSSIP_SENDER_MAIN, 145);
  313. player->ADD_GOSSIP_ITEM(1, "Greater Stamina - 60 Stamina", GOSSIP_SENDER_MAIN, 146);
  314. player->ADD_GOSSIP_ITEM(1, "Intellect - 40 Intellect", GOSSIP_SENDER_MAIN, 147);
  315. player->ADD_GOSSIP_ITEM(1, "Strength - 40 Strength", GOSSIP_SENDER_MAIN, 148);
  316. player->ADD_GOSSIP_ITEM(1, "<-Back", GOSSIP_SENDER_MAIN, 300);
  317. player->PlayerTalkClass->SendGossipMenu(100013, creature->GetGUID());
  318. return true;
  319. break;
  320.  
  321. case 100:
  322. if (player->GetMoney() < ONE_HAND_WEAPON_COST) {
  323. ChatHandler(player->GetSession()).PSendSysMessage("You don't have enough money to purchase this! It costs %d gold", ONE_HAND_WEAPON_COST);
  324. player->CLOSE_GOSSIP_MENU();;
  325. break;
  326. }
  327.  
  328. player->ModifyMoney(-ONE_HAND_WEAPON_COST);
  329. Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_MAINHAND), ENCHANT_WEP_AVALANCHE);
  330. player->CLOSE_GOSSIP_MENU();
  331. break;
  332.  
  333. case 101:
  334. if (player->GetMoney() < ONE_HAND_WEAPON_COST) {
  335. ChatHandler(player->GetSession()).PSendSysMessage("You don't have enough money to purchase this! It costs %d gold", ONE_HAND_WEAPON_COST);
  336. player->CLOSE_GOSSIP_MENU();;
  337. break;
  338. }
  339.  
  340. player->ModifyMoney(-ONE_HAND_WEAPON_COST);
  341. Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_MAINHAND), ENCHANT_WEP_ELEMENTAL_SLAYER);
  342. player->CLOSE_GOSSIP_MENU();
  343. break;
  344.  
  345. case 102:
  346. if (player->GetMoney() < ONE_HAND_WEAPON_COST) {
  347. ChatHandler(player->GetSession()).PSendSysMessage("You don't have enough money to purchase this! It costs %d gold", ONE_HAND_WEAPON_COST);
  348. player->CLOSE_GOSSIP_MENU();;
  349. break;
  350. }
  351.  
  352. player->ModifyMoney(-ONE_HAND_WEAPON_COST);
  353. Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_MAINHAND), ENCHANT_WEP_HEARTSONG);
  354. player->CLOSE_GOSSIP_MENU();
  355. break;
  356.  
  357. case 103:
  358. if (player->GetMoney() < ONE_HAND_WEAPON_COST) {
  359. ChatHandler(player->GetSession()).PSendSysMessage("You don't have enough money to purchase this! It costs %d gold", ONE_HAND_WEAPON_COST);
  360. player->CLOSE_GOSSIP_MENU();;
  361. break;
  362. }
  363.  
  364. player->ModifyMoney(-ONE_HAND_WEAPON_COST);
  365. Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_MAINHAND), ENCHANT_WEP_HURRICANE);
  366. player->CLOSE_GOSSIP_MENU();
  367. break;
  368.  
  369. case 104:
  370. if (player->GetMoney() < ONE_HAND_WEAPON_COST) {
  371. ChatHandler(player->GetSession()).PSendSysMessage("You don't have enough money to purchase this! It costs %d gold", ONE_HAND_WEAPON_COST);
  372. player->CLOSE_GOSSIP_MENU();;
  373. break;
  374. }
  375.  
  376. player->ModifyMoney(-ONE_HAND_WEAPON_COST);
  377. Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_MAINHAND), ENCHANT_WEP_LANDSLIDE);
  378. player->CLOSE_GOSSIP_MENU();
  379. break;
  380.  
  381. case 105:
  382. if (player->GetMoney() < ONE_HAND_WEAPON_COST) {
  383. ChatHandler(player->GetSession()).PSendSysMessage("You don't have enough money to purchase this! It costs %d gold", ONE_HAND_WEAPON_COST);
  384. player->CLOSE_GOSSIP_MENU();;
  385. break;
  386. }
  387.  
  388. player->ModifyMoney(-ONE_HAND_WEAPON_COST);
  389. Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_MAINHAND), ENCHANT_WEP_MENDING);
  390. player->CLOSE_GOSSIP_MENU();
  391. break;
  392.  
  393. case 106:
  394. if (player->GetMoney() < ONE_HAND_WEAPON_COST) {
  395. ChatHandler(player->GetSession()).PSendSysMessage("You don't have enough money to purchase this! It costs %d gold", ONE_HAND_WEAPON_COST);
  396. player->CLOSE_GOSSIP_MENU();;
  397. break;
  398. }
  399.  
  400. player->ModifyMoney(-ONE_HAND_WEAPON_COST);
  401. Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_MAINHAND), ENCHANT_WEP_POWER_TORRENT);
  402. player->CLOSE_GOSSIP_MENU();
  403. break;
  404.  
  405. case 107:
  406. if (player->GetMoney() < ONE_HAND_WEAPON_COST) {
  407. ChatHandler(player->GetSession()).PSendSysMessage("You don't have enough money to purchase this! It costs %d gold", ONE_HAND_WEAPON_COST);
  408. player->CLOSE_GOSSIP_MENU();;
  409. break;
  410. }
  411.  
  412. player->ModifyMoney(-ONE_HAND_WEAPON_COST);
  413. Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_MAINHAND), ENCHANT_WEP_WINDWALK);
  414. player->CLOSE_GOSSIP_MENU();
  415. break;
  416.  
  417. case 217:
  418. if (player->GetMoney() < ONE_HAND_WEAPON_COST) {
  419. ChatHandler(player->GetSession()).PSendSysMessage("You don't have enough money to purchase this! It costs %d gold", ONE_HAND_WEAPON_COST);
  420. player->CLOSE_GOSSIP_MENU();;
  421. break;
  422. }
  423.  
  424. player->ModifyMoney(-ONE_HAND_WEAPON_COST);
  425. Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_MAINHAND), ENCHANT_WEP_PYRIUM_WEAPON_CHAIN);
  426. player->CLOSE_GOSSIP_MENU();
  427. break;
  428.  
  429. case 108:
  430. if (player->GetMoney() < TWO_HAND_WEAPON_COST) {
  431. ChatHandler(player->GetSession()).PSendSysMessage("You don't have enough money to purchase this! It costs %d gold", TWO_HAND_WEAPON_COST);
  432. player->CLOSE_GOSSIP_MENU();;
  433. break;
  434. }
  435.  
  436. mainItem = player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_MAINHAND);
  437. if (mainItem->GetTemplate()->InventoryType == INVTYPE_2HWEAPON)
  438. {
  439. player->ModifyMoney(-TWO_HAND_WEAPON_COST);
  440. Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_MAINHAND), ENCHANT_2HWEP_MIGHTY_AGILITY);
  441. player->CLOSE_GOSSIP_MENU();
  442. }
  443. else
  444. {
  445. player->GetSession()->SendAreaTriggerMessage("|cffFF0000You don't have 2H equipped!");
  446. player->CLOSE_GOSSIP_MENU();
  447. }
  448. break;
  449.  
  450. case 109:
  451. if (player->GetMoney() < SHIELD_COST) {
  452. ChatHandler(player->GetSession()).PSendSysMessage("You don't have enough money to purchase this! It costs %d gold", SHIELD_COST);
  453. player->CLOSE_GOSSIP_MENU();;
  454. break;
  455. }
  456.  
  457. mainItem = player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND);
  458. if (mainItem->GetTemplate()->InventoryType == INVTYPE_SHIELD)
  459. {
  460. player->ModifyMoney(-SHIELD_COST);
  461. Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND), ENCHANT_SHIELD_MASTERY);
  462. player->CLOSE_GOSSIP_MENU();
  463. }
  464. else
  465. {
  466. player->GetSession()->SendAreaTriggerMessage("|cffFF0000You don't have Shield equipped!");
  467. player->CLOSE_GOSSIP_MENU();
  468. }
  469. break;
  470.  
  471. case 110:
  472. if (player->GetMoney() < SHIELD_COST) {
  473. ChatHandler(player->GetSession()).PSendSysMessage("You don't have enough money to purchase this! It costs %d gold", SHIELD_COST);
  474. player->CLOSE_GOSSIP_MENU();;
  475. break;
  476. }
  477.  
  478. mainItem = player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND);
  479. if (mainItem->GetTemplate()->InventoryType == INVTYPE_SHIELD)
  480. {
  481. player->ModifyMoney(-SHIELD_COST);
  482. Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND), ENCHANT_SHIELD_PROTECTION);
  483. player->CLOSE_GOSSIP_MENU();
  484. }
  485. else
  486. {
  487. player->GetSession()->SendAreaTriggerMessage("|cffFF0000You don't have Shield equipped!");
  488. player->CLOSE_GOSSIP_MENU();
  489. }
  490. break;
  491.  
  492. case 111:
  493. if (player->GetMoney() < SHIELD_COST) {
  494. ChatHandler(player->GetSession()).PSendSysMessage("You don't have enough money to purchase this! It costs %d gold", SHIELD_COST);
  495. player->CLOSE_GOSSIP_MENU();;
  496. break;
  497. }
  498.  
  499. player->ModifyMoney(-SHIELD_COST);
  500. Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND), ENCHANT_OFF_HAND_SUPERIOR_INTELLECT);
  501. player->CLOSE_GOSSIP_MENU();
  502. break;
  503.  
  504. case 112:
  505. if (player->GetMoney() < MAIN_PIECES_COST) {
  506. ChatHandler(player->GetSession()).PSendSysMessage("You don't have enough money to purchase this! It costs %d gold", MAIN_PIECES_COST);
  507. player->CLOSE_GOSSIP_MENU();;
  508. break;
  509. }
  510.  
  511. player->ModifyMoney(-MAIN_PIECES_COST);
  512. Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_HEAD), ENCHANT_HEAD_VICIOUS_AGILITY);
  513. player->CLOSE_GOSSIP_MENU();
  514. break;
  515.  
  516. case 113:
  517. if (player->GetMoney() < MAIN_PIECES_COST) {
  518. ChatHandler(player->GetSession()).PSendSysMessage("You don't have enough money to purchase this! It costs %d gold", MAIN_PIECES_COST);
  519. player->CLOSE_GOSSIP_MENU();;
  520. break;
  521. }
  522.  
  523. player->ModifyMoney(-MAIN_PIECES_COST);
  524. Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_HEAD), ENCHANT_HEAD_VICIOUS_INTELLECT);
  525. player->CLOSE_GOSSIP_MENU();
  526. break;
  527.  
  528. case 114:
  529. if (player->GetMoney() < MAIN_PIECES_COST) {
  530. ChatHandler(player->GetSession()).PSendSysMessage("You don't have enough money to purchase this! It costs %d gold", MAIN_PIECES_COST);
  531. player->CLOSE_GOSSIP_MENU();;
  532. break;
  533. }
  534.  
  535. player->ModifyMoney(-MAIN_PIECES_COST);
  536. Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_HEAD), ENCHANT_HEAD_VICIOUS_STRENGTH);
  537. player->CLOSE_GOSSIP_MENU();
  538. break;
  539.  
  540. case 115:
  541. if (player->GetMoney() < MAIN_PIECES_COST) {
  542. ChatHandler(player->GetSession()).PSendSysMessage("You don't have enough money to purchase this! It costs %d gold", MAIN_PIECES_COST);
  543. player->CLOSE_GOSSIP_MENU();;
  544. break;
  545. }
  546.  
  547. player->ModifyMoney(-MAIN_PIECES_COST);
  548. Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_SHOULDERS), ENCHANT_SHOULDER_VICIOUS_AGILITY);
  549. player->CLOSE_GOSSIP_MENU();
  550. break;
  551.  
  552. case 116:
  553. if (player->GetMoney() < MAIN_PIECES_COST) {
  554. ChatHandler(player->GetSession()).PSendSysMessage("You don't have enough money to purchase this! It costs %d gold", MAIN_PIECES_COST);
  555. player->CLOSE_GOSSIP_MENU();;
  556. break;
  557. }
  558.  
  559. player->ModifyMoney(-MAIN_PIECES_COST);
  560. Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_SHOULDERS), ENCHANT_SHOULDER_VICIOUS_INTELLECT);
  561. player->CLOSE_GOSSIP_MENU();
  562. break;
  563.  
  564. case 117:
  565. if (player->GetMoney() < MAIN_PIECES_COST) {
  566. ChatHandler(player->GetSession()).PSendSysMessage("You don't have enough money to purchase this! It costs %d gold", MAIN_PIECES_COST);
  567. player->CLOSE_GOSSIP_MENU();;
  568. break;
  569. }
  570.  
  571. player->ModifyMoney(-MAIN_PIECES_COST);
  572. Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_SHOULDERS), ENCHANT_SHOULDER_VICIOUS_STRENGTH);
  573. player->CLOSE_GOSSIP_MENU();
  574. break;
  575.  
  576. case 118:
  577. if (player->GetMoney() < OFF_PIECES_COST) {
  578. ChatHandler(player->GetSession()).PSendSysMessage("You don't have enough money to purchase this! It costs %d gold", OFF_PIECES_COST);
  579. player->CLOSE_GOSSIP_MENU();;
  580. break;
  581. }
  582.  
  583. player->ModifyMoney(-OFF_PIECES_COST);
  584. Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_BACK), ENCHANT_CLOAK_GREATER_CRITICAL_STRIKE);
  585. player->CLOSE_GOSSIP_MENU();
  586. break;
  587.  
  588. case 119:
  589. if (player->GetMoney() < OFF_PIECES_COST) {
  590. ChatHandler(player->GetSession()).PSendSysMessage("You don't have enough money to purchase this! It costs %d gold", OFF_PIECES_COST);
  591. player->CLOSE_GOSSIP_MENU();;
  592. break;
  593. }
  594.  
  595. player->ModifyMoney(-OFF_PIECES_COST);
  596. Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_BACK), ENCHANT_CLOAK_GREATER_INTELLECT);
  597. player->CLOSE_GOSSIP_MENU();
  598. break;
  599.  
  600. case 120:
  601. if (player->GetMoney() < OFF_PIECES_COST) {
  602. ChatHandler(player->GetSession()).PSendSysMessage("You don't have enough money to purchase this! It costs %d gold", OFF_PIECES_COST);
  603. player->CLOSE_GOSSIP_MENU();;
  604. break;
  605. }
  606.  
  607. player->ModifyMoney(-OFF_PIECES_COST);
  608. Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_BACK), ENCHANT_CLOAK_GREATER_SPELL_PIERCING);
  609. player->CLOSE_GOSSIP_MENU();
  610. break;
  611.  
  612. case 121:
  613. if (player->GetMoney() < OFF_PIECES_COST) {
  614. ChatHandler(player->GetSession()).PSendSysMessage("You don't have enough money to purchase this! It costs %d gold", OFF_PIECES_COST);
  615. player->CLOSE_GOSSIP_MENU();;
  616. break;
  617. }
  618.  
  619. player->ModifyMoney(-OFF_PIECES_COST);
  620. Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_BACK), ENCHANT_CLOAK_PROTECTION);
  621. player->CLOSE_GOSSIP_MENU();
  622. break;
  623.  
  624. case 122:
  625. if (player->GetMoney() < MAIN_PIECES_COST) {
  626. ChatHandler(player->GetSession()).PSendSysMessage("You don't have enough money to purchase this! It costs %d gold", MAIN_PIECES_COST);
  627. player->CLOSE_GOSSIP_MENU();;
  628. break;
  629. }
  630.  
  631. player->ModifyMoney(-MAIN_PIECES_COST);
  632. Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_CHEST), ENCHANT_CHEST_EXCEPTIONAL_SPIRIT);
  633. player->CLOSE_GOSSIP_MENU();
  634. break;
  635.  
  636. case 123:
  637. if (player->GetMoney() < MAIN_PIECES_COST) {
  638. ChatHandler(player->GetSession()).PSendSysMessage("You don't have enough money to purchase this! It costs %d gold", MAIN_PIECES_COST);
  639. player->CLOSE_GOSSIP_MENU();;
  640. break;
  641. }
  642.  
  643. player->ModifyMoney(-MAIN_PIECES_COST);
  644. Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_CHEST), ENCHANT_CHEST_GREATER_STAMINA);
  645. player->CLOSE_GOSSIP_MENU();
  646. break;
  647.  
  648. case 124:
  649. if (player->GetMoney() < MAIN_PIECES_COST) {
  650. ChatHandler(player->GetSession()).PSendSysMessage("You don't have enough money to purchase this! It costs %d gold", MAIN_PIECES_COST);
  651. player->CLOSE_GOSSIP_MENU();;
  652. break;
  653. }
  654.  
  655. player->ModifyMoney(-MAIN_PIECES_COST);
  656. Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_CHEST), ENCHANT_CHEST_MIGHTY_RESILIENCE);
  657. player->CLOSE_GOSSIP_MENU();
  658. break;
  659.  
  660. case 125:
  661. if (player->GetMoney() < MAIN_PIECES_COST) {
  662. ChatHandler(player->GetSession()).PSendSysMessage("You don't have enough money to purchase this! It costs %d gold", MAIN_PIECES_COST);
  663. player->CLOSE_GOSSIP_MENU();;
  664. break;
  665. }
  666.  
  667. player->ModifyMoney(-MAIN_PIECES_COST);
  668. Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_CHEST), ENCHANT_CHEST_PEERLESS_STATS);
  669. player->CLOSE_GOSSIP_MENU();
  670. break;
  671.  
  672. case 126:
  673. if (player->GetMoney() < OFF_PIECES_COST) {
  674. ChatHandler(player->GetSession()).PSendSysMessage("You don't have enough money to purchase this! It costs %d gold", OFF_PIECES_COST);
  675. player->CLOSE_GOSSIP_MENU();;
  676. break;
  677. }
  678.  
  679. player->ModifyMoney(-OFF_PIECES_COST);
  680. Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_WRISTS), ENCHANT_BRACERS_AGILITY);
  681. player->CLOSE_GOSSIP_MENU();
  682. break;
  683.  
  684. case 127:
  685. if (player->GetMoney() < OFF_PIECES_COST) {
  686. ChatHandler(player->GetSession()).PSendSysMessage("You don't have enough money to purchase this! It costs %d gold", OFF_PIECES_COST);
  687. player->CLOSE_GOSSIP_MENU();;
  688. break;
  689. }
  690.  
  691. player->ModifyMoney(-OFF_PIECES_COST);
  692. Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_WRISTS), ENCHANT_BRACERS_EXCEPTIONAL_SPIRIT);
  693. player->CLOSE_GOSSIP_MENU();
  694. break;
  695.  
  696. case 128:
  697. if (player->GetMoney() < OFF_PIECES_COST) {
  698. ChatHandler(player->GetSession()).PSendSysMessage("You don't have enough money to purchase this! It costs %d gold", OFF_PIECES_COST);
  699. player->CLOSE_GOSSIP_MENU();;
  700. break;
  701. }
  702.  
  703. player->ModifyMoney(-OFF_PIECES_COST);
  704. Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_WRISTS), ENCHANT_BRACERS_GREATER_CRITICAL_STRIKE);
  705. player->CLOSE_GOSSIP_MENU();
  706. break;
  707.  
  708. case 129:
  709. if (player->GetMoney() < OFF_PIECES_COST) {
  710. ChatHandler(player->GetSession()).PSendSysMessage("You don't have enough money to purchase this! It costs %d gold", OFF_PIECES_COST);
  711. player->CLOSE_GOSSIP_MENU();;
  712. break;
  713. }
  714.  
  715. player->ModifyMoney(-OFF_PIECES_COST);
  716. Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_WRISTS), ENCHANT_BRACERS_GREATER_EXPERTISE);
  717. player->CLOSE_GOSSIP_MENU();
  718. break;
  719.  
  720. case 130:
  721. if (player->GetMoney() < OFF_PIECES_COST) {
  722. ChatHandler(player->GetSession()).PSendSysMessage("You don't have enough money to purchase this! It costs %d gold", OFF_PIECES_COST);
  723. player->CLOSE_GOSSIP_MENU();;
  724. break;
  725. }
  726.  
  727. player->ModifyMoney(-OFF_PIECES_COST);
  728. Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_WRISTS), ENCHANT_BRACERS_GREATER_SPEED);
  729. player->CLOSE_GOSSIP_MENU();
  730. break;
  731.  
  732. case 131:
  733. if (player->GetMoney() < OFF_PIECES_COST) {
  734. ChatHandler(player->GetSession()).PSendSysMessage("You don't have enough money to purchase this! It costs %d gold", OFF_PIECES_COST);
  735. player->CLOSE_GOSSIP_MENU();;
  736. break;
  737. }
  738.  
  739. player->ModifyMoney(-OFF_PIECES_COST);
  740. Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_WRISTS), ENCHANT_BRACERS_MAJOR_STRENGTH);
  741. player->CLOSE_GOSSIP_MENU();
  742. break;
  743.  
  744. case 132:
  745. if (player->GetMoney() < OFF_PIECES_COST) {
  746. ChatHandler(player->GetSession()).PSendSysMessage("You don't have enough money to purchase this! It costs %d gold", OFF_PIECES_COST);
  747. player->CLOSE_GOSSIP_MENU();;
  748. break;
  749. }
  750.  
  751. player->ModifyMoney(-OFF_PIECES_COST);
  752. Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_WRISTS), ENCHANT_BRACERS_MIGHTY_INTELLECT);
  753. player->CLOSE_GOSSIP_MENU();
  754. break;
  755. case 133:
  756. if (player->GetMoney() < OFF_PIECES_COST) {
  757. ChatHandler(player->GetSession()).PSendSysMessage("You don't have enough money to purchase this! It costs %d gold", OFF_PIECES_COST);
  758. player->CLOSE_GOSSIP_MENU();;
  759. break;
  760. }
  761.  
  762. player->ModifyMoney(-OFF_PIECES_COST);
  763. Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_WRISTS), ENCHANT_BRACERS_PRECISION);
  764. player->CLOSE_GOSSIP_MENU();
  765. break;
  766. case 134:
  767. if (player->GetMoney() < OFF_PIECES_COST) {
  768. ChatHandler(player->GetSession()).PSendSysMessage("You don't have enough money to purchase this! It costs %d gold", OFF_PIECES_COST);
  769. player->CLOSE_GOSSIP_MENU();;
  770. break;
  771. }
  772.  
  773. player->ModifyMoney(-OFF_PIECES_COST);
  774. Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_WRISTS), ENCHANT_BRACERS_SUPERIOR_DODGE);
  775. player->CLOSE_GOSSIP_MENU();
  776. break;
  777.  
  778. case 135:
  779. if (player->GetMoney() < MAIN_PIECES_COST) {
  780. ChatHandler(player->GetSession()).PSendSysMessage("You don't have enough money to purchase this! It costs %d gold", MAIN_PIECES_COST);
  781. player->CLOSE_GOSSIP_MENU();;
  782. break;
  783. }
  784.  
  785. player->ModifyMoney(-MAIN_PIECES_COST);
  786. Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_HANDS), ENCHANT_GLOVES_GREATER_EXPERTISE);
  787. player->CLOSE_GOSSIP_MENU();
  788. break;
  789.  
  790. case 136:
  791. if (player->GetMoney() < MAIN_PIECES_COST) {
  792. ChatHandler(player->GetSession()).PSendSysMessage("You don't have enough money to purchase this! It costs %d gold", MAIN_PIECES_COST);
  793. player->CLOSE_GOSSIP_MENU();;
  794. break;
  795. }
  796.  
  797. player->ModifyMoney(-MAIN_PIECES_COST);
  798. Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_HANDS), ENCHANT_GLOVES_GREATER_MASTERY);
  799. player->CLOSE_GOSSIP_MENU();
  800. break;
  801.  
  802. case 137:
  803. if (player->GetMoney() < MAIN_PIECES_COST) {
  804. ChatHandler(player->GetSession()).PSendSysMessage("You don't have enough money to purchase this! It costs %d gold", MAIN_PIECES_COST);
  805. player->CLOSE_GOSSIP_MENU();;
  806. break;
  807. }
  808.  
  809. player->ModifyMoney(-MAIN_PIECES_COST);
  810. Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_HANDS), ENCHANT_GLOVES_HASTE);
  811. player->CLOSE_GOSSIP_MENU();
  812. break;
  813.  
  814. case 138:
  815. if (player->GetMoney() < MAIN_PIECES_COST) {
  816. ChatHandler(player->GetSession()).PSendSysMessage("You don't have enough money to purchase this! It costs %d gold", MAIN_PIECES_COST);
  817. player->CLOSE_GOSSIP_MENU();;
  818. break;
  819. }
  820.  
  821. player->ModifyMoney(-MAIN_PIECES_COST);
  822. Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_HANDS), ENCHANT_GLOVES_MIGHTY_STRENGTH);
  823. player->CLOSE_GOSSIP_MENU();
  824. break;
  825.  
  826. case 139:
  827. if (player->GetMoney() < OFF_PIECES_COST) {
  828. ChatHandler(player->GetSession()).PSendSysMessage("You don't have enough money to purchase this! It costs %d gold", MAIN_PIECES_COST);
  829. player->CLOSE_GOSSIP_MENU();;
  830. break;
  831. }
  832.  
  833. player->ModifyMoney(-OFF_PIECES_COST);
  834. Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_FEET), ENCHANT_BOOTS_ASSASSINS_STEP);
  835. player->CLOSE_GOSSIP_MENU();
  836. break;
  837.  
  838. case 140:
  839. if (player->GetMoney() < OFF_PIECES_COST) {
  840. ChatHandler(player->GetSession()).PSendSysMessage("You don't have enough money to purchase this! It costs %d gold", MAIN_PIECES_COST);
  841. player->CLOSE_GOSSIP_MENU();;
  842. break;
  843. }
  844.  
  845. player->ModifyMoney(-OFF_PIECES_COST);
  846. Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_FEET), ENCHANT_BOOTS_HASTE);
  847. player->CLOSE_GOSSIP_MENU();
  848. break;
  849.  
  850. case 141:
  851. if (player->GetMoney() < OFF_PIECES_COST) {
  852. ChatHandler(player->GetSession()).PSendSysMessage("You don't have enough money to purchase this! It costs %d gold", MAIN_PIECES_COST);
  853. player->CLOSE_GOSSIP_MENU();;
  854. break;
  855. }
  856.  
  857. player->ModifyMoney(-OFF_PIECES_COST);
  858. Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_FEET), ENCHANT_BOOTS_LAVAWALKER);
  859. player->CLOSE_GOSSIP_MENU();
  860. break;
  861.  
  862. case 142:
  863. if (player->GetMoney() < OFF_PIECES_COST) {
  864. ChatHandler(player->GetSession()).PSendSysMessage("You don't have enough money to purchase this! It costs %d gold", MAIN_PIECES_COST);
  865. player->CLOSE_GOSSIP_MENU();;
  866. break;
  867. }
  868.  
  869. player->ModifyMoney(-OFF_PIECES_COST);
  870. Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_FEET), ENCHANT_BOOTS_MAJOR_AGILITY);
  871. player->CLOSE_GOSSIP_MENU();
  872. break;
  873.  
  874. case 143:
  875. if (player->GetMoney() < OFF_PIECES_COST) {
  876. ChatHandler(player->GetSession()).PSendSysMessage("You don't have enough money to purchase this! It costs %d gold", MAIN_PIECES_COST);
  877. player->CLOSE_GOSSIP_MENU();;
  878. break;
  879. }
  880.  
  881. player->ModifyMoney(-OFF_PIECES_COST);
  882. Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_FEET), ENCHANT_BOOTS_MASTERY);
  883. player->CLOSE_GOSSIP_MENU();
  884. break;
  885.  
  886. case 144:
  887. if (player->GetMoney() < OFF_PIECES_COST) {
  888. ChatHandler(player->GetSession()).PSendSysMessage("You don't have enough money to purchase this! It costs %d gold", MAIN_PIECES_COST);
  889. player->CLOSE_GOSSIP_MENU();;
  890. break;
  891. }
  892.  
  893. player->ModifyMoney(-OFF_PIECES_COST);
  894. Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_FEET), ENCHANT_BOOTS_PRECISION);
  895. player->CLOSE_GOSSIP_MENU();
  896. break;
  897.  
  898. case 160:
  899. if (player->GetMoney() < OFF_PIECES_COST) {
  900. ChatHandler(player->GetSession()).PSendSysMessage("You don't have enough money to purchase this! It costs %d gold", MAIN_PIECES_COST);
  901. player->CLOSE_GOSSIP_MENU();;
  902. break;
  903. }
  904.  
  905. player->ModifyMoney(-OFF_PIECES_COST);
  906. Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_LEGS), ENCHANT_LEGS_CHARSCALE_LEG_ARMOR);
  907. player->CLOSE_GOSSIP_MENU();
  908. break;
  909.  
  910. case 161:
  911. if (player->GetMoney() < OFF_PIECES_COST) {
  912. ChatHandler(player->GetSession()).PSendSysMessage("You don't have enough money to purchase this! It costs %d gold", MAIN_PIECES_COST);
  913. player->CLOSE_GOSSIP_MENU();;
  914. break;
  915. }
  916.  
  917. player->ModifyMoney(-OFF_PIECES_COST);
  918. Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_LEGS), ENCHANT_LEGS_DRAGONSCALE_LEG_ARMOR);
  919. player->CLOSE_GOSSIP_MENU();
  920. break;
  921.  
  922. case 162:
  923. if (player->GetMoney() < OFF_PIECES_COST) {
  924. ChatHandler(player->GetSession()).PSendSysMessage("You don't have enough money to purchase this! It costs %d gold", MAIN_PIECES_COST);
  925. player->CLOSE_GOSSIP_MENU();;
  926. break;
  927. }
  928.  
  929. player->ModifyMoney(-OFF_PIECES_COST);
  930. Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_LEGS), ENCHANT_LEGS_POWERFUL_ENCHANTED_SPELLTHREAD);
  931. player->CLOSE_GOSSIP_MENU();
  932. break;
  933.  
  934. case 163:
  935. if (player->GetMoney() < OFF_PIECES_COST) {
  936. ChatHandler(player->GetSession()).PSendSysMessage("You don't have enough money to purchase this! It costs %d gold", MAIN_PIECES_COST);
  937. player->CLOSE_GOSSIP_MENU();;
  938. break;
  939. }
  940.  
  941. player->ModifyMoney(-OFF_PIECES_COST);
  942. Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_LEGS), ENCHANT_LEGS_POWERFUL_GHOSTLY_SPELLTHREAD);
  943. player->CLOSE_GOSSIP_MENU();
  944. break;
  945.  
  946. case 164:
  947. if (player->GetMoney() < OFF_PIECES_COST) {
  948. ChatHandler(player->GetSession()).PSendSysMessage("You don't have enough money to purchase this! It costs %d gold", MAIN_PIECES_COST);
  949. player->CLOSE_GOSSIP_MENU();;
  950. break;
  951. }
  952.  
  953. player->ModifyMoney(-OFF_PIECES_COST);
  954. Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_LEGS), ENCHANT_DRAKEHIDE_LEG_ARMOR);
  955. player->CLOSE_GOSSIP_MENU();
  956. break;
  957.  
  958. case 145:
  959. if (player->GetMoney() < OFF_PIECES_COST) {
  960. ChatHandler(player->GetSession()).PSendSysMessage("You don't have enough money to purchase this! It costs %d gold", MAIN_PIECES_COST);
  961. player->CLOSE_GOSSIP_MENU();;
  962. break;
  963. }
  964.  
  965. player->ModifyMoney(-OFF_PIECES_COST);
  966. Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_FINGER1), ENCHANT_RING_AGILITY);
  967. Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_FINGER2), ENCHANT_RING_AGILITY);
  968. player->CLOSE_GOSSIP_MENU();
  969. break;
  970.  
  971. case 146:
  972. if (player->GetMoney() < OFF_PIECES_COST) {
  973. ChatHandler(player->GetSession()).PSendSysMessage("You don't have enough money to purchase this! It costs %d gold", MAIN_PIECES_COST);
  974. player->CLOSE_GOSSIP_MENU();;
  975. break;
  976. }
  977.  
  978. player->ModifyMoney(-OFF_PIECES_COST);
  979. Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_FINGER1), ENCHANT_RING_GREATER_STAMINA);
  980. Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_FINGER2), ENCHANT_RING_GREATER_STAMINA);
  981. player->CLOSE_GOSSIP_MENU();
  982. break;
  983.  
  984. case 147:
  985. if (player->GetMoney() < OFF_PIECES_COST) {
  986. ChatHandler(player->GetSession()).PSendSysMessage("You don't have enough money to purchase this! It costs %d gold", MAIN_PIECES_COST);
  987. player->CLOSE_GOSSIP_MENU();;
  988. break;
  989. }
  990.  
  991. case 150:
  992. if (player->GetMoney() < OFF_PIECES_COST) {
  993. ChatHandler(player->GetSession()).PSendSysMessage("You don't have enough money to purchase this! It costs %d gold", MAIN_PIECES_COST);
  994. player->CLOSE_GOSSIP_MENU();;
  995. break;
  996. }
  997.  
  998. case 151:
  999. if (player->GetMoney() < OFF_PIECES_COST) {
  1000. ChatHandler(player->GetSession()).PSendSysMessage("You don't have enough money to purchase this! It costs %d gold", MAIN_PIECES_COST);
  1001. player->CLOSE_GOSSIP_MENU();;
  1002. break;
  1003. }
  1004.  
  1005.  
  1006. player->ModifyMoney(-OFF_PIECES_COST);
  1007. Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_FINGER1), ENCHANT_RING_INTELLECT);
  1008. Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_FINGER2), ENCHANT_RING_INTELLECT);
  1009. player->CLOSE_GOSSIP_MENU();
  1010. break;
  1011.  
  1012. case 148:
  1013. if (player->GetMoney() < OFF_PIECES_COST) {
  1014. ChatHandler(player->GetSession()).PSendSysMessage("You don't have enough money to purchase this! It costs %d gold", MAIN_PIECES_COST);
  1015. player->CLOSE_GOSSIP_MENU();;
  1016. break;
  1017. }
  1018.  
  1019. player->ModifyMoney(-OFF_PIECES_COST);
  1020. Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_FINGER1), ENCHANT_RING_STRENGTH);
  1021. Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_FINGER2), ENCHANT_RING_STRENGTH);
  1022. player->CLOSE_GOSSIP_MENU();
  1023. break;
  1024.  
  1025. case 149:
  1026. if (player->GetMoney() < OFF_PIECES_COST) {
  1027. ChatHandler(player->GetSession()).PSendSysMessage("You don't have enough money to purchase this! It costs %d gold", MAIN_PIECES_COST);
  1028. player->CLOSE_GOSSIP_MENU();;
  1029. break;
  1030. }
  1031.  
  1032. case 300:
  1033. player->ADD_GOSSIP_ITEM(1, "[Enchant Weapon]", GOSSIP_SENDER_MAIN, 1);
  1034. player->ADD_GOSSIP_ITEM(1, "[Enchant 2H Weapon]", GOSSIP_SENDER_MAIN, 2);
  1035. player->ADD_GOSSIP_ITEM(1, "[Enchant Shield]", GOSSIP_SENDER_MAIN, 3);
  1036. player->ADD_GOSSIP_ITEM(1, "[Enchant Head]", GOSSIP_SENDER_MAIN, 4);
  1037. player->ADD_GOSSIP_ITEM(1, "[Enchant Shoulders]", GOSSIP_SENDER_MAIN, 5);
  1038. player->ADD_GOSSIP_ITEM(1, "[Enchant Cloak]", GOSSIP_SENDER_MAIN, 6);
  1039. player->ADD_GOSSIP_ITEM(1, "[Enchant Chest]", GOSSIP_SENDER_MAIN, 7);
  1040. player->ADD_GOSSIP_ITEM(1, "[Enchant Bracers]", GOSSIP_SENDER_MAIN, 8);
  1041. player->ADD_GOSSIP_ITEM(1, "[Enchant Gloves]", GOSSIP_SENDER_MAIN, 9);
  1042. player->ADD_GOSSIP_ITEM(1, "[Enchant Legs]", GOSSIP_SENDER_MAIN, 10);
  1043. player->ADD_GOSSIP_ITEM(1, "[Enchant Feet]", GOSSIP_SENDER_MAIN, 11);
  1044.  
  1045. if (player->HasSkill(SKILL_ENCHANTING) && player->GetSkillValue(SKILL_ENCHANTING) == 450)
  1046. player->ADD_GOSSIP_ITEM(1, "[Enchant Rings]", GOSSIP_SENDER_MAIN, 12);
  1047.  
  1048. player->PlayerTalkClass->SendGossipMenu(100001, creature->GetGUID());
  1049. break;
  1050.  
  1051. }
  1052.  
  1053. return true;
  1054. }
  1055.  
  1056.  
  1057. };
  1058.  
  1059. void AddSC_npc_enchantment()
  1060. {
  1061. new npc_enchantment();
  1062. }
Advertisement
Add Comment
Please, Sign In to add comment