Advertisement
Guest User

DonorNPC C++ Script - Posted by: Pajak21

a guest
Jun 15th, 2016
1,138
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 43.90 KB | None | 0 0
  1. #include "ScriptPCH.h"
  2. #include <cstring>
  3. #include "ObjectMgr.h"
  4.  
  5. class donorrewarder : public CreatureScript
  6. {
  7. public:
  8.  
  9. donorrewarder()
  10. : CreatureScript("donorrewarder")
  11. {
  12. }
  13.  
  14. void RewardItem(Player* player, Creature* pCreature, int item , int count, int cost)
  15. {
  16. QueryResult result;
  17. result = CharacterDatabase.PQuery("SELECT dp FROM Fusion.account_data WHERE id = '%u' AND dp >= '0'", player->GetSession()->GetAccountId());
  18. char str[200];
  19. if (!result) // check
  20. {
  21. sprintf(str,"Your have abused our systems and gotten a negative balance on your Donation Points. Your points are set to 0.");
  22. LoginDatabase.PQuery("UPDATE Fusion.account_data set dp = 0 WHERE id = '%u'", player->GetSession()->GetAccountId());
  23. player->PlayerTalkClass->ClearMenus();
  24. OnGossipHello(player, pCreature);
  25. pCreature->MonsterSay(str, LANG_UNIVERSAL, player->GetGUID());
  26. return;
  27. }
  28.  
  29. Field *fields = result->Fetch();
  30. uint32 points = fields[0].GetUInt32();
  31.  
  32. if (item == 0)
  33. {
  34. sprintf(str,"You got %u Donation points!", points);
  35. player->MonsterWhisper(str,player->GetGUID(),true);
  36. }
  37. else
  38. {
  39. if (points <cost)
  40. {
  41. sprintf(str,"You broke now,you must Donate on www.troywow.servegame.com!");
  42. player->MonsterWhisper(str,player->GetGUID(),true);
  43. }
  44. else
  45. {
  46. if (player->AddItem(item, count))
  47. {
  48. std::string DateTime = "%Y-%m-%d %H:%M:%S";
  49. ItemTemplate const* itemTemplate = sObjectMgr->GetItemTemplate(item);
  50. CharacterDatabase.PQuery("Update Fusion.account_data Set dp = dp - '%u' WHERE id = '%u'", cost, player->GetSession()->GetAccountId());
  51. LoginDatabase.PQuery("INSERT INTO fusion.donation_purchases (account_id, character_name, character_guid, donation_item_id, donation_item_name, donation_item_amount, date) VALUES ('%u', '%s', '%u', '%u', '%s', '%u', DATE_FORMAT(date, '%s'))", player->GetSession()->GetAccountId(), player->GetName(), player->GetGUIDLow(), item, itemTemplate->Name1.c_str(), count, DateTime.c_str());
  52. sprintf(str,"Your points are taken and your item is given!!!");
  53. player->MonsterWhisper(str,player->GetGUID(),true);
  54. player->SaveToDB();
  55. }
  56. else
  57. {
  58. sprintf(str,"Item can't be given maybe or maybe and maybe your bag is full or you already got the item!");
  59. player->MonsterWhisper(str,player->GetGUID(),true);
  60. }
  61.  
  62. }
  63. }
  64. player->PlayerTalkClass->ClearMenus();
  65. OnGossipHello(player, pCreature);
  66. }
  67.  
  68. bool HasCheatCooldown(Player* player)
  69. {
  70. QueryResult result = CharacterDatabase.PQuery("SELECT * FROM character_cooldown WHERE guid = '%u' AND cooldown=1", player->GetGUIDLow());
  71. if(result)
  72. return true;
  73. return false;
  74. }
  75. bool HasCheatCasttime(Player* player)
  76. {
  77. QueryResult result = CharacterDatabase.PQuery("SELECT * FROM character_casttime WHERE guid = '%u' AND casttime=1", player->GetGUIDLow());
  78. if(result)
  79. return true;
  80. return false;
  81. }
  82. bool HasCheatPower(Player* player)
  83. {
  84. QueryResult result = CharacterDatabase.PQuery("SELECT * FROM character_cheatpower WHERE guid = '%u' AND cheatpower=1", player->GetGUIDLow());
  85. if(result)
  86. return true;
  87. return false;
  88. }
  89.  
  90. bool OnGossipHello(Player* player, Creature* pCreature)
  91. {
  92. //player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Get a preview of the donor items", GOSSIP_SENDER_MAIN, 9998);
  93. //player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "NEW: Cheats", GOSSIP_SENDER_MAIN, 5400);
  94. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "|TInterface/ICONS/INV_Misc_Book_11:30:30:-18:0|tHow much Donation points do i have?", GOSSIP_SENDER_MAIN, 19000);
  95. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "|TInterface/RAIDFRAME/UI-RAIDFRAME-MAINASSIST:30:30:-18:0|tDonor Weapons", GOSSIP_SENDER_MAIN, 2000);
  96. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "|TInterface/RAIDFRAME/UI-RAIDFRAME-MAINASSIST:30:30:-18:0|tRing/Trinket/Necklace and Bag", GOSSIP_SENDER_MAIN, 3000);
  97. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "|TInterface\\ChatFrame\\UI-ChatIcon-Blizz.blp:30:30:-18:0|tV.I.P System", GOSSIP_SENDER_MAIN, 4000);
  98. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "|TInterface/RAIDFRAME/UI-RAIDFRAME-MAINASSIST:30:30:-18:0|tArmors and Shirts", GOSSIP_SENDER_MAIN, 300);
  99. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "|TInterface/RAIDFRAME/UI-RAIDFRAME-MAINASSIST:30:30:-18:0|tTitan_Grip - 10 DP (can't use for 2H Staff)", GOSSIP_SENDER_MAIN, 20000);
  100. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "|TInterface/RAIDFRAME/UI-RAIDFRAME-MAINASSIST:30:30:-18:0|tSpecial Items", GOSSIP_SENDER_MAIN, 5000);
  101. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "|TInterface/RAIDFRAME/UI-RAIDFRAME-MAINASSIST:30:30:-18:0|tDonor Immortal Tabard - 5 DP", GOSSIP_SENDER_MAIN, 10000);
  102. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "|TInterface/RAIDFRAME/UI-RAIDFRAME-MAINASSIST:30:30:-18:0|tDonor Immortal Cloak - 5 DP", GOSSIP_SENDER_MAIN, 11000);
  103. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "|TInterface/RAIDFRAME/UI-RAIDFRAME-MAINASSIST:30:30:-18:0|tDonor Immortal Set - 80 DP ( 8 Pieces )", GOSSIP_SENDER_MAIN, 12000);
  104. //player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Full Berserk Spell - 50 DP", GOSSIP_SENDER_MAIN, 22070);
  105. //player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Invincible Offset - 35 DP", GOSSIP_SENDER_MAIN, 305);
  106. //player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Emblem of Voting x2 - 1 DP", GOSSIP_SENDER_MAIN, 4005);
  107. //player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Heaven Gems 5 DP - 3 Gems", GOSSIP_SENDER_MAIN, 5100);
  108. //player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Portable Mailbox - 10 DP", GOSSIP_SENDER_MAIN, 5200);
  109. //player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Multi Vendor - 10 DP", GOSSIP_SENDER_MAIN, 5300);
  110.  
  111. player->PlayerTalkClass->SendGossipMenu(85002, pCreature->GetGUID());
  112.  
  113. return true;
  114. }
  115.  
  116. bool OnGossipSelect(Player* player, Creature* pCreature, uint32 /*uiSender*/, uint32 uiAction)
  117. {
  118. player->PlayerTalkClass->ClearMenus();
  119.  
  120. switch (uiAction)
  121. {
  122. case 5400:
  123. player->PlayerTalkClass->ClearMenus();
  124. if(!HasCheatCooldown(player))
  125. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Cooldown Cheat - 15 DP", GOSSIP_SENDER_MAIN, 5401);
  126. if(!HasCheatCasttime(player))
  127. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Casttime Cheat - 15 DP", GOSSIP_SENDER_MAIN, 5402);
  128. if(!HasCheatPower(player))
  129. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Power Cheat - 10 DP", GOSSIP_SENDER_MAIN, 5403);
  130. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "[Main Menu]", GOSSIP_SENDER_MAIN, 9999);
  131. player->PlayerTalkClass->SendGossipMenu(85002, pCreature->GetGUID());
  132. return true;
  133. break;
  134. case 5401:
  135. RewardItem(player, pCreature,24,1,15);
  136. break;
  137. case 19000:
  138. RewardItem(player, pCreature, 0, 0, 0);
  139. break;
  140. case 5402:
  141. RewardItem(player, pCreature,25,1,15);
  142. break;
  143. case 5403:
  144. RewardItem(player, pCreature,26,1,10);
  145. break;
  146. case 5200:
  147. RewardItem(player, pCreature,40768,1,10);
  148. break;
  149. case 5300:
  150. RewardItem(player, pCreature,37298,1,10);
  151. break;
  152. case 5100:
  153. RewardItem(player, pCreature,29765,3,5);
  154. break;
  155. case 300:
  156. player->PlayerTalkClass->ClearMenus();
  157. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Donor Immortal Shirt - 5 DP", GOSSIP_SENDER_MAIN, 301);
  158. //player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Donors Tabard - 20 DP", GOSSIP_SENDER_MAIN, 302);
  159. //player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Donors Shirt - 6 DP", GOSSIP_SENDER_MAIN, 1303);
  160. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Donor Immortal Shield - 5 DP", GOSSIP_SENDER_MAIN, 304);
  161. //player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Donor Ultimate Speed Shirt ->>", GOSSIP_SENDER_MAIN, 310);
  162. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "[Main Menu]", GOSSIP_SENDER_MAIN, 9999);
  163. player->PlayerTalkClass->SendGossipMenu(85002, pCreature->GetGUID());
  164. return true;
  165. break;
  166. case 1303:
  167. if(player->getClass() != CLASS_HUNTER) {
  168. char str[200];
  169. sprintf(str,"Your not a Hunter, so you cant buy this item!");
  170. player->MonsterWhisper(str,player->GetGUID(),true);
  171. player->PlayerTalkClass->SendCloseGossip();
  172. } else {
  173. RewardItem(player, pCreature,7278,1,10);
  174. player->PlayerTalkClass->SendCloseGossip();
  175. }
  176. break;
  177. case 12:
  178. RewardItem(player, pCreature,24368,1,20);
  179. break;
  180. case 301:
  181. RewardItem(player, pCreature,57055,1,5);
  182. break;
  183. case 302:
  184. RewardItem(player, pCreature,20131,1,20);
  185. break;
  186. case 303:
  187. RewardItem(player, pCreature,20400,1,5);
  188. break;
  189. case 304:
  190. RewardItem(player, pCreature,57056,1,5);
  191. break;
  192. case 310:
  193. player->PlayerTalkClass->ClearMenus();
  194. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Ultimate Shirt I - 5 Dp", GOSSIP_SENDER_MAIN, 311);
  195. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Ultimate Shirt II - 7 Dp", GOSSIP_SENDER_MAIN, 312);
  196. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Ultimate Shirt III - 13 Dp", GOSSIP_SENDER_MAIN, 313);
  197. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Ultimate Shirt IV - 20 Dp", GOSSIP_SENDER_MAIN, 314);
  198. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Ultimate Shirt V - 30 Dp", GOSSIP_SENDER_MAIN, 315);
  199. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "[Main Menu]", GOSSIP_SENDER_MAIN, 9999);
  200. player->PlayerTalkClass->SendGossipMenu(85002, pCreature->GetGUID());
  201. return true;
  202. break;
  203. case 311:
  204. RewardItem(player, pCreature,100125,1,5);
  205. break;
  206. case 312:
  207. RewardItem(player, pCreature,100126,1,7);
  208. break;
  209. case 313:
  210. RewardItem(player, pCreature,100127,1,13);
  211. break;
  212. case 314:
  213. RewardItem(player, pCreature,100128,1,20);
  214. break;
  215. case 315:
  216. RewardItem(player, pCreature,100129,1,30);
  217. break;
  218.  
  219. case 305: // invincible off set
  220. switch(player->getClass())
  221. {
  222. case CLASS_WARRIOR:
  223. RewardItem(player, pCreature, 66073,1,35);
  224. break;
  225. case CLASS_PALADIN:
  226. RewardItem(player, pCreature, 66077,1,35);
  227. break;
  228. case CLASS_HUNTER:
  229. RewardItem(player, pCreature, 66071,1,35);
  230. break;
  231. case CLASS_ROGUE:
  232. RewardItem(player, pCreature, 66072,1,35);
  233. break;
  234. case CLASS_PRIEST:
  235. RewardItem(player, pCreature, 66074,1,35);
  236. break;
  237. case CLASS_DEATH_KNIGHT:
  238. RewardItem(player, pCreature, 66070,1,35);
  239. break;
  240. case CLASS_SHAMAN:
  241. RewardItem(player, pCreature, 66078,1,35);
  242. break;
  243. case CLASS_MAGE:
  244. RewardItem(player, pCreature, 66079,1,35);
  245. break;
  246. case CLASS_WARLOCK:
  247. RewardItem(player, pCreature, 66076,1,35);
  248. break;
  249. case CLASS_DRUID:
  250. RewardItem(player, pCreature, 66075,1,35);
  251. break;
  252.  
  253. default: break;
  254. }
  255. break;
  256. case 1000:
  257. RewardItem(player, pCreature, 0, 0, 0);
  258. break;
  259. case 2000:
  260. player->PlayerTalkClass->ClearMenus();
  261. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "One-Handed Weapons", GOSSIP_SENDER_MAIN, 2001);
  262. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Two-Handed Weapons", GOSSIP_SENDER_MAIN, 2002);
  263. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Staves", GOSSIP_SENDER_MAIN, 2003);
  264. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Ranged", GOSSIP_SENDER_MAIN, 2004);
  265. //player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Off-Hand Weapons", GOSSIP_SENDER_MAIN, 2005);
  266. //player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Main-Hand Weapons", GOSSIP_SENDER_MAIN, 2006);
  267. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "[Main Menu]", GOSSIP_SENDER_MAIN, 9999);
  268. player->PlayerTalkClass->SendGossipMenu(85002, pCreature->GetGUID());
  269. return true;
  270. break;
  271. case 2001:
  272. player->PlayerTalkClass->ClearMenus();
  273. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Donor Immortal Sword 1h - 5 DP", GOSSIP_SENDER_MAIN, 2101);
  274. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Donor Immortal Mace 1h - 5 DP", GOSSIP_SENDER_MAIN, 2102);
  275. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Donor Immortal Dagger 1h - 5 DP", GOSSIP_SENDER_MAIN, 2103);
  276. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Donor Immortal Axe 1h - 5 DP", GOSSIP_SENDER_MAIN, 2104);
  277. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "[Main Menu]", GOSSIP_SENDER_MAIN, 9999);
  278. player->PlayerTalkClass->SendGossipMenu(85002, pCreature->GetGUID());
  279. return true;
  280. break;
  281. case 2101:
  282. RewardItem(player, pCreature,57052,1,5);
  283. break;
  284. case 2102:
  285. RewardItem(player, pCreature,57029,1,5);
  286. break;
  287. case 2103:
  288. RewardItem(player, pCreature,57065,1,5);
  289. break;
  290. case 2104:
  291. RewardItem(player, pCreature,57072,1,5);
  292. break;
  293. case 2107:
  294. if(player->getClass() != CLASS_ROGUE) {
  295. char str[200];
  296. sprintf(str,"Your not a Rogue, so you cant buy this item!");
  297. player->MonsterWhisper(str,player->GetGUID(),true);
  298. player->PlayerTalkClass->SendCloseGossip();
  299. } else {
  300. RewardItem(player, pCreature,100082,1,8);
  301. }
  302. break;
  303. case 2108:
  304. RewardItem(player, pCreature,100091,1,8);
  305. break;
  306. case 2109:
  307. RewardItem(player, pCreature,100090,1,8);
  308. break;
  309. case 2110:
  310. RewardItem(player, pCreature,100089,1,8);
  311. break;
  312.  
  313. case 2002:
  314. player->PlayerTalkClass->ClearMenus();
  315. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Donor Immortal 2h Sword - 10 DP", GOSSIP_SENDER_MAIN, 2201);
  316. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Donor Immortal 2h Mace - 10 DP", GOSSIP_SENDER_MAIN, 2202);
  317. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Donor Immortal 2h Axe - 10 DP", GOSSIP_SENDER_MAIN, 2203);
  318. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "[Main Menu]", GOSSIP_SENDER_MAIN, 9999);
  319. player->PlayerTalkClass->SendGossipMenu(85002, pCreature->GetGUID());
  320. return true;
  321. break;
  322. case 2201:
  323. RewardItem(player, pCreature,57073,1,10);
  324. break;
  325. case 2202:
  326. RewardItem(player, pCreature,57074,1,10);
  327. break;
  328. case 2203:
  329. RewardItem(player, pCreature,57075,1,10);
  330. break;
  331. case 2204:
  332. if(player->getClass() != CLASS_HUNTER) {
  333. char str[200];
  334. sprintf(str,"Your not a Hunter, so you cant buy this item!");
  335. player->MonsterWhisper(str,player->GetGUID(),true);
  336. player->PlayerTalkClass->SendCloseGossip();
  337. } else {
  338. RewardItem(player, pCreature,40485,1,18);
  339. player->PlayerTalkClass->SendCloseGossip();
  340. }
  341. break;
  342. case 2003:
  343. player->PlayerTalkClass->ClearMenus();
  344. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Donor Immortal Staff - 10 DP", GOSSIP_SENDER_MAIN, 2301);
  345. //player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Reaper 2h Souls Staff of Donators- 18 DP", GOSSIP_SENDER_MAIN, 2303);
  346. //player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Donors Feral Staff - 20 DP", GOSSIP_SENDER_MAIN, 2302);
  347. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "[Main Menu]", GOSSIP_SENDER_MAIN, 9999);
  348. player->PlayerTalkClass->SendGossipMenu(85002, pCreature->GetGUID());
  349. return true;
  350. break;
  351. case 2301:
  352. if(player->getClass() == CLASS_PALADIN || player->getClass() == CLASS_ROGUE || player->getClass() == CLASS_WARRIOR || player->getClass() == CLASS_DEATH_KNIGHT || player->getClass() == CLASS_HUNTER) {
  353. char str[200];
  354. sprintf(str,"Your not a Caster, so you cant buy this item!");
  355. player->MonsterWhisper(str,player->GetGUID(),true);
  356. player->PlayerTalkClass->SendCloseGossip();
  357. } else {
  358. RewardItem(player, pCreature,57077,1,10);
  359. player->PlayerTalkClass->SendCloseGossip();
  360. }
  361. break;
  362. case 2303:
  363. if(player->getClass() == CLASS_PALADIN || player->getClass() == CLASS_ROGUE || player->getClass() == CLASS_WARRIOR || player->getClass() == CLASS_DEATH_KNIGHT || player->getClass() == CLASS_HUNTER) {
  364. char str[200];
  365. sprintf(str,"Your not a Caster, so you cant buy this item!");
  366. player->MonsterWhisper(str,player->GetGUID(),true);
  367. player->PlayerTalkClass->SendCloseGossip();
  368. } else {
  369. RewardItem(player, pCreature,33798,1,18);
  370. player->PlayerTalkClass->SendCloseGossip();
  371. }
  372. break;
  373. case 2302:
  374. if(player->getClass() != CLASS_DRUID) {
  375. char str[200];
  376. sprintf(str,"Your not a Druid, so you cant buy this item!");
  377. player->MonsterWhisper(str,player->GetGUID(),true);
  378. player->PlayerTalkClass->SendCloseGossip();
  379. } else {
  380. RewardItem(player, pCreature,40348,1,20);
  381. player->PlayerTalkClass->SendCloseGossip();
  382. }
  383.  
  384. case 2004:
  385. player->PlayerTalkClass->ClearMenus();
  386. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Donor Immortal Bow - 10 DP", GOSSIP_SENDER_MAIN, 2401);
  387. //player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Donors Gun - 15 DP", GOSSIP_SENDER_MAIN, 2402);
  388. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Donor Immortal Wand - 10 DP", GOSSIP_SENDER_MAIN, 2403);
  389. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "[Main Menu]", GOSSIP_SENDER_MAIN, 9999);
  390. player->PlayerTalkClass->SendGossipMenu(85002, pCreature->GetGUID());
  391. return true;
  392. break;
  393. case 2401:
  394. RewardItem(player, pCreature,57069,1,10);
  395. break;
  396. case 2402:
  397. RewardItem(player, pCreature,51450,1,14);
  398. break;
  399. case 2403:
  400. if(player->getClass() == CLASS_PALADIN || player->getClass() == CLASS_ROGUE || player->getClass() == CLASS_WARRIOR || player->getClass() == CLASS_DEATH_KNIGHT || player->getClass() == CLASS_HUNTER) {
  401. char str[200];
  402. sprintf(str,"Your not a Caster, so you cant buy this item!");
  403. player->MonsterWhisper(str,player->GetGUID(),true);
  404. player->PlayerTalkClass->SendCloseGossip();
  405. } else {
  406. RewardItem(player, pCreature,57076,1,10);
  407. player->PlayerTalkClass->SendCloseGossip();
  408. }
  409. break;
  410. //case 2005:
  411. player->PlayerTalkClass->ClearMenus();
  412. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Donors Warglaive (Off Hand) - 20 DP", GOSSIP_SENDER_MAIN, 2501);
  413. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Donors Fist (Off Hand) - 15 DP", GOSSIP_SENDER_MAIN, 2502);
  414. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "[Main Menu]", GOSSIP_SENDER_MAIN, 9999);
  415. player->PlayerTalkClass->SendGossipMenu(85002, pCreature->GetGUID());
  416. return true;
  417. break;
  418. case 2501:
  419. RewardItem(player, pCreature, 1951,1,20);
  420. break;
  421. case 2502:
  422. RewardItem(player, pCreature, 34203,1,15);
  423. break;
  424. case 2006:
  425. //player->PlayerTalkClass->ClearMenus();
  426. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Donors Warglaive (Main Hand) - 20 DP", GOSSIP_SENDER_MAIN, 2601);
  427. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Donors Fist (Main Hand) - 15 DP", GOSSIP_SENDER_MAIN, 2602);
  428. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "[Main Menu]", GOSSIP_SENDER_MAIN, 9999);
  429. player->PlayerTalkClass->SendGossipMenu(85002, pCreature->GetGUID());
  430. return true;
  431. break;
  432. case 2601:
  433. RewardItem(player, pCreature, 1469,1,20);
  434. break;
  435. case 2602:
  436. RewardItem(player, pCreature, 34331,1,15);
  437. break;
  438. case 3000:
  439. player->PlayerTalkClass->ClearMenus();
  440. //player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Ancient Box - 9 DP", GOSSIP_SENDER_MAIN, 3001);
  441. if (player->GetTeam() == HORDE)
  442. {
  443. //player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Medallion of the Horde - 20 DP", GOSSIP_SENDER_MAIN, 3002);
  444. } else {
  445. //player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Medallion of the Alliance - 20 DP", GOSSIP_SENDER_MAIN, 3012);
  446. }
  447. if(player->getClass() == CLASS_ROGUE)
  448. {
  449. //player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Necklace of the Assassin - 20 DP", GOSSIP_SENDER_MAIN, 3004);
  450. }
  451. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Donor Immortal Ring - 5 DP", GOSSIP_SENDER_MAIN, 3003);
  452. //player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Donor Caster Ring - 6 DP", GOSSIP_SENDER_MAIN, 3004);
  453. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Donor Immortal Trinket - 5 DP", GOSSIP_SENDER_MAIN, 3005);
  454. //player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Donor Caster Trinket - 6 DP", GOSSIP_SENDER_MAIN, 3006);
  455. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Donor Immortal Neck - 5 DP", GOSSIP_SENDER_MAIN, 3007);
  456. //player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Donor Caster Celestial Neck - 6 DP", GOSSIP_SENDER_MAIN, 3008);
  457. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Donor Immortal Bag - 5 DP", GOSSIP_SENDER_MAIN, 3009);
  458. //player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Donor Caster Bag - 6 DP", GOSSIP_SENDER_MAIN, 3010);
  459. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "[Main Menu]", GOSSIP_SENDER_MAIN, 9999);
  460. player->PlayerTalkClass->SendGossipMenu(85002, pCreature->GetGUID());
  461. return true;
  462. break;
  463.  
  464. case 3003:
  465. RewardItem(player, pCreature, 57057,1,5);
  466. break;
  467. case 3004:
  468. RewardItem(player, pCreature, 100131,1,6);
  469. break;
  470. case 3005:
  471. RewardItem(player, pCreature, 57049,1,5);
  472. break;
  473. case 3006:
  474. RewardItem(player, pCreature, 100132,1,6);
  475. break;
  476. case 3007:
  477. RewardItem(player, pCreature, 57058,1,5);
  478. break;
  479. case 3008:
  480. RewardItem(player, pCreature, 100133,1,6);
  481. break;
  482. case 3009:
  483. RewardItem(player, pCreature, 57049,1,5);
  484. break;
  485. case 3010:
  486. RewardItem(player, pCreature, 100134,1,6);
  487. break;
  488.  
  489. case 4000:
  490. player->PlayerTalkClass->ClearMenus();
  491. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "VIP rank (Very Important Person) - 15 DP", GOSSIP_SENDER_MAIN, 4001);
  492. //player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Re-Customize Token - 3 DP", GOSSIP_SENDER_MAIN, 14002);
  493. //player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Scroll of Dual Wield - 4 DP", GOSSIP_SENDER_MAIN, 4002);
  494. //player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Item Transfer/Exchange Token - 5 DP", GOSSIP_SENDER_MAIN, 4003);
  495. //player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Scroll of Titan Grip's - 6 DP", GOSSIP_SENDER_MAIN, 4009);
  496. //player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Cata / MoP Token - 5 DP", GOSSIP_SENDER_MAIN, 5040);
  497. //player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "VIP Rank - 55 DP", GOSSIP_SENDER_MAIN, 4004);
  498. //player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "VIP II Token - 75 DP", GOSSIP_SENDER_MAIN, 4006);
  499. //player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Upgrade to VIP II (This Work if you have VIP 1)- 38 DP", GOSSIP_SENDER_MAIN, 4007);
  500. //player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Signet of Berserking - 10 DP", GOSSIP_SENDER_MAIN, 14010);
  501.  
  502. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "[Main Menu]", GOSSIP_SENDER_MAIN, 9999);
  503. player->PlayerTalkClass->SendGossipMenu(85002, pCreature->GetGUID());
  504. return true;
  505. break;
  506. case 4032:
  507. RewardItem(player, pCreature, 985410,1,8);
  508. break;
  509. case 4031:
  510. RewardItem(player, pCreature, 41596,1,7);
  511. break;
  512. case 5040:
  513. RewardItem(player, pCreature, 11,1,5);
  514. break;
  515. case 4030:
  516. RewardItem(player, pCreature, 9850100,2,1);
  517. break;
  518. case 4038:
  519. RewardItem(player, pCreature, 29435,1,12);
  520. break;
  521. case 4029:
  522. RewardItem(player, pCreature, 190,1,10);
  523. break;
  524. case 4028:
  525. RewardItem(player, pCreature, 29436,1,10);
  526. break;
  527. case 14002:
  528. RewardItem(player, pCreature, 98211,1,3);
  529. break;
  530. case 14010:
  531. RewardItem(player, pCreature, 361805,1,10);
  532. break;
  533. case 4001:
  534. RewardItem(player, pCreature, 60000,1,15);
  535. break;
  536. case 4002:
  537. RewardItem(player, pCreature, 270002,1,4);
  538. break;
  539. case 4003:
  540. RewardItem(player, pCreature, 361802,1,5);
  541. break;
  542. case 4004:
  543. RewardItem(player, pCreature, 313370,1,55);
  544. break;
  545. case 4005:
  546. RewardItem(player, pCreature, 40753,2,1);
  547. break;
  548. case 4006:
  549. RewardItem(player, pCreature, 13,1,75);
  550. break;
  551. case 4007:
  552. RewardItem(player, pCreature, 14,1,15);
  553. break;
  554. case 4008:
  555. RewardItem(player, pCreature, 10,1,6);
  556. break;
  557. case 4010:
  558. RewardItem(player, pCreature, 11,1,10);
  559. break;
  560.  
  561. case 32000: //royal weapon
  562. player->PlayerTalkClass->ClearMenus();
  563. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "One-Handed Weapons", GOSSIP_SENDER_MAIN, 32001);
  564. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Two-Handed Weapons", GOSSIP_SENDER_MAIN, 32002);
  565. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Staves", GOSSIP_SENDER_MAIN, 32003);
  566. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Ranged & shields", GOSSIP_SENDER_MAIN, 32004);
  567.  
  568. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "[Main Menu]", GOSSIP_SENDER_MAIN, 9999);
  569. player->PlayerTalkClass->SendGossipMenu(85002, pCreature->GetGUID());
  570. return true;
  571. break;
  572.  
  573. case 32001:
  574. player->PlayerTalkClass->ClearMenus();
  575. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Royal One Hand Sword - 21 Dp", GOSSIP_SENDER_MAIN, 52000);
  576. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Royal One Hand Axe - 21 Dp", GOSSIP_SENDER_MAIN, 52001);
  577. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Royal One Hand Mace - 21 Dp", GOSSIP_SENDER_MAIN, 52002);
  578. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Royal Dagger - 21 Dp", GOSSIP_SENDER_MAIN, 52003);
  579.  
  580. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "[Main Menu]", GOSSIP_SENDER_MAIN, 9999);
  581. player->PlayerTalkClass->SendGossipMenu(85002, pCreature->GetGUID());
  582. break;
  583.  
  584. case 52000:
  585. RewardItem(player, pCreature, 34821,1,21);
  586. break;
  587. case 52001:
  588. RewardItem(player, pCreature, 30699,1,21);
  589. break;
  590. case 52002:
  591. RewardItem(player, pCreature, 42759,1,21);
  592. break;
  593. case 52003:
  594. RewardItem(player, pCreature, 34045,1,21);
  595. break;
  596.  
  597. case 32002:
  598. player->PlayerTalkClass->ClearMenus();
  599. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Royal Two Hand Sword - 32 Dp", GOSSIP_SENDER_MAIN, 52004);
  600. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Royal Two Hand Axe - 32 Dp", GOSSIP_SENDER_MAIN, 52005);
  601. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Royal Two Hand Mace - 32 Dp", GOSSIP_SENDER_MAIN, 52006);
  602. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Royal Two Hand Polearm - 32 Dp", GOSSIP_SENDER_MAIN, 52007);
  603.  
  604. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "[Main Menu]", GOSSIP_SENDER_MAIN, 9999);
  605. player->PlayerTalkClass->SendGossipMenu(85002, pCreature->GetGUID());
  606. break;
  607.  
  608. case 52004:
  609. RewardItem(player, pCreature, 40480,1,32);
  610. break;
  611. case 52005:
  612. RewardItem(player, pCreature, 19199,1,32);
  613. break;
  614. case 52006:
  615. RewardItem(player, pCreature, 35674,1,32);
  616. break;
  617. case 52007:
  618. RewardItem(player, pCreature, 45884,1,32);
  619. break;
  620.  
  621. case 32003:
  622. player->PlayerTalkClass->ClearMenus();
  623. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Royal One Hand Armageddon Staff - 21 Dp", GOSSIP_SENDER_MAIN, 52008);
  624. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Royal Two Hand Armageddon Staff - 32 Dp", GOSSIP_SENDER_MAIN, 52009);
  625. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "[Main Menu]", GOSSIP_SENDER_MAIN, 9999);
  626. player->PlayerTalkClass->SendGossipMenu(85002, pCreature->GetGUID());
  627. break;
  628.  
  629. break;
  630. case 52008:
  631. RewardItem(player, pCreature, 29432,1,21);
  632. break;
  633. case 52009:
  634. RewardItem(player, pCreature, 29687,1,32);
  635. break;
  636.  
  637. case 32004:
  638. player->PlayerTalkClass->ClearMenus();
  639. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Royal Bow - 17 Dp", GOSSIP_SENDER_MAIN, 52010);
  640. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Royal Wand - 17 Dp", GOSSIP_SENDER_MAIN, 52011);
  641. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Royal Steel Shield - 30 Dp", GOSSIP_SENDER_MAIN, 52015);
  642. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "[Main Menu]", GOSSIP_SENDER_MAIN, 9999);
  643. player->PlayerTalkClass->SendGossipMenu(85002, pCreature->GetGUID());
  644. break;
  645.  
  646. break;
  647. case 52010:
  648. RewardItem(player, pCreature, 47122,1,17);
  649. break;
  650. case 52011:
  651. RewardItem(player, pCreature, 34144,1,17);
  652. break;
  653. case 52015:
  654. RewardItem(player, pCreature, 100150,1,30);
  655. break;
  656.  
  657. case 5000:
  658. player->PlayerTalkClass->ClearMenus();
  659. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Donor Immortal Idol - 5 DP", GOSSIP_SENDER_MAIN, 5001);
  660. //player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Donors Thrown - 15 DP", GOSSIP_SENDER_MAIN, 5002);
  661. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Donor Immortal Totem - 5 DP", GOSSIP_SENDER_MAIN, 5003);
  662. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Donor Immortal Sigil - 5 DP", GOSSIP_SENDER_MAIN, 5004);
  663. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Donor Immortal Libram - 5 DP", GOSSIP_SENDER_MAIN, 5005);
  664. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "[Main Menu]", GOSSIP_SENDER_MAIN, 9999);
  665. player->PlayerTalkClass->SendGossipMenu(85002, pCreature->GetGUID());
  666. return true;
  667. break;
  668. case 5001:
  669. if(player->getClass() != CLASS_DRUID) {
  670. char str[200];
  671. sprintf(str,"Your not a Druid, so you cant buy this item!");
  672. player->MonsterWhisper(str,player->GetGUID(),true);
  673. player->PlayerTalkClass->SendCloseGossip();
  674. } else {
  675. RewardItem(player, pCreature, 57062,1,5);
  676. }
  677. break;
  678. case 5002:
  679. if(player->getClass() != CLASS_ROGUE) {
  680. char str[200];
  681. sprintf(str,"Your not a Rogue, so you cant buy this item!");
  682. player->MonsterWhisper(str,player->GetGUID(),true);
  683. player->PlayerTalkClass->SendCloseGossip();
  684. } else {
  685. RewardItem(player, pCreature, 30025,1,5);
  686. }
  687. break;
  688. case 5003:
  689. if(player->getClass() != CLASS_SHAMAN) {
  690. char str[200];
  691. sprintf(str,"Your not a Shaman, so you cant buy this item!");
  692. player->MonsterWhisper(str,player->GetGUID(),true);
  693. player->PlayerTalkClass->SendCloseGossip();
  694. } else {
  695. RewardItem(player, pCreature, 57050,1,5);
  696. }
  697. break;
  698. case 5004:
  699. if(player->getClass() != CLASS_DEATH_KNIGHT) {
  700. char str[200];
  701. sprintf(str,"Your not a Death Knight, so you cant buy this item!");
  702. player->MonsterWhisper(str,player->GetGUID(),true);
  703. player->PlayerTalkClass->SendCloseGossip();
  704. } else {
  705. RewardItem(player, pCreature, 57053,1,5);
  706. }
  707. break;
  708. case 5005:
  709. if(player->getClass() != CLASS_PALADIN) {
  710. char str[200];
  711. sprintf(str,"Your not a Paladin, so you cant buy this item!");
  712. player->MonsterWhisper(str,player->GetGUID(),true);
  713. player->PlayerTalkClass->SendCloseGossip();
  714. } else {
  715. RewardItem(player, pCreature, 57060,1,5);
  716. }
  717. break;
  718. case 5006:
  719. RewardItem(player, pCreature, 4633,1,2);
  720. break;
  721. case 10000: // tabard
  722. switch(player->getClass())
  723. {
  724. case CLASS_WARRIOR:
  725. RewardItem(player, pCreature, 57051,1,5);
  726. break;
  727. case CLASS_PALADIN:
  728. RewardItem(player, pCreature, 57051,1,5);
  729. break;
  730. case CLASS_HUNTER:
  731. RewardItem(player, pCreature, 57051,1,5);
  732. break;
  733. case CLASS_ROGUE:
  734. RewardItem(player, pCreature, 57051,1,5);
  735. break;
  736. case CLASS_PRIEST:
  737. RewardItem(player, pCreature, 57051,1,5);
  738. break;
  739. case CLASS_DEATH_KNIGHT:
  740. RewardItem(player, pCreature, 57051,1,5);
  741. break;
  742. case CLASS_SHAMAN:
  743. RewardItem(player, pCreature, 57051,1,5);
  744. break;
  745. case CLASS_MAGE:
  746. RewardItem(player, pCreature, 57051,1,5);
  747. break;
  748. case CLASS_WARLOCK:
  749. RewardItem(player, pCreature, 57051,1,5);
  750. break;
  751. case CLASS_DRUID:
  752. RewardItem(player, pCreature, 57051,1,5);
  753. break;
  754.  
  755. default: break;
  756. }
  757. break;
  758. case 11000: // donors cloak
  759. switch(player->getClass())
  760. {
  761. case CLASS_WARRIOR:
  762. RewardItem(player, pCreature, 57067,1,5);
  763. break;
  764. case CLASS_PALADIN:
  765. RewardItem(player, pCreature, 57067,1,5);
  766. break;
  767. case CLASS_HUNTER:
  768. RewardItem(player, pCreature, 57067,1,5);
  769. break;
  770. case CLASS_ROGUE:
  771. RewardItem(player, pCreature, 57067,1,5);
  772. break;
  773. case CLASS_PRIEST:
  774. RewardItem(player, pCreature, 57067,1,5);
  775. break;
  776. case CLASS_DEATH_KNIGHT:
  777. RewardItem(player, pCreature, 57067,1,5);
  778. break;
  779. case CLASS_SHAMAN:
  780. RewardItem(player, pCreature, 57067,1,5);
  781. break;
  782. case CLASS_MAGE:
  783. RewardItem(player, pCreature, 57067,1,5);
  784. break;
  785. case CLASS_WARLOCK:
  786. RewardItem(player, pCreature, 57067,1,5);
  787. break;
  788. case CLASS_DRUID:
  789. RewardItem(player, pCreature, 57067,1,5);
  790. break;
  791.  
  792. default: break;
  793. }
  794. break;
  795. case 12000: // donors set
  796. switch(player->getClass())
  797. {
  798. case CLASS_WARRIOR:
  799. RewardItem(player, pCreature, 68,1,80);
  800. break;
  801. case CLASS_PALADIN:
  802. RewardItem(player, pCreature, 69,1,80);
  803. break;
  804. case CLASS_HUNTER:
  805. RewardItem(player, pCreature, 70,1,80);
  806. break;
  807. case CLASS_ROGUE:
  808. RewardItem(player, pCreature, 71,1,80);
  809. break;
  810. case CLASS_PRIEST:
  811. RewardItem(player, pCreature, 72,1,80);
  812. break;
  813. case CLASS_DEATH_KNIGHT:
  814. RewardItem(player, pCreature, 73,1,80);
  815. break;
  816. case CLASS_SHAMAN:
  817. RewardItem(player, pCreature, 74,1,80);
  818. break;
  819. case CLASS_MAGE:
  820. RewardItem(player, pCreature, 75,1,80);
  821. break;
  822. case CLASS_WARLOCK:
  823. RewardItem(player, pCreature, 76,1,80);
  824. break;
  825. case CLASS_DRUID:
  826. RewardItem(player, pCreature, 78,1,80);
  827. break;
  828.  
  829. default: break;
  830. }
  831. break;
  832.  
  833. case 13000: // donors set
  834. switch(player->getClass())
  835. {
  836. case CLASS_WARRIOR:
  837. RewardItem(player, pCreature, 7,8,62);
  838. break;
  839. case CLASS_PALADIN:
  840. RewardItem(player, pCreature, 7,8,62);
  841. break;
  842. case CLASS_HUNTER:
  843. RewardItem(player, pCreature, 7,8,62);
  844. break;
  845. case CLASS_ROGUE:
  846. RewardItem(player, pCreature, 7,8,62);
  847. break;
  848. case CLASS_PRIEST:
  849. RewardItem(player, pCreature, 7,8,62);
  850. break;
  851. case CLASS_DEATH_KNIGHT:
  852. RewardItem(player, pCreature, 7,8,62);
  853. break;
  854. case CLASS_SHAMAN:
  855. RewardItem(player, pCreature, 7,8,62);
  856. break;
  857. case CLASS_MAGE:
  858. RewardItem(player, pCreature, 7,8,62);
  859. break;
  860. case CLASS_WARLOCK:
  861. RewardItem(player, pCreature, 7,8,62);
  862. break;
  863. case CLASS_DRUID:
  864. RewardItem(player, pCreature, 7,8,62);
  865. break;
  866.  
  867. default: break;
  868. }
  869. break;
  870.  
  871. case 14000:
  872. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Supreme Donor Melee Ring - 11 DP", GOSSIP_SENDER_MAIN, 14001);
  873. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Supreme Caster Ring - 11 DP", GOSSIP_SENDER_MAIN, 14909);
  874. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Supreme Melee Trinket - 11 DP", GOSSIP_SENDER_MAIN, 14003);
  875. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Supreme Caster Trinket - 11 DP", GOSSIP_SENDER_MAIN, 14004);
  876. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Supreme Melee Celestial Amulet - 11 DP", GOSSIP_SENDER_MAIN, 14005);
  877. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Supreme Caster Celestial Amulet - 11 DP", GOSSIP_SENDER_MAIN, 14006);
  878. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Supreme Melee Bag - 11 DP", GOSSIP_SENDER_MAIN, 14007);
  879. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Supreme Caster Bag - 11 DP", GOSSIP_SENDER_MAIN, 14008);
  880.  
  881. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "[Main Menu]", GOSSIP_SENDER_MAIN, 9999);
  882. player->PlayerTalkClass->SendGossipMenu(85002, pCreature->GetGUID());
  883. return true;
  884. break;
  885. case 9997:
  886. player->PlayerTalkClass->ClearMenus();
  887. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Are you sure you wish to buy Immune Ring misc' Item?", GOSSIP_SENDER_MAIN, 9997);
  888. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Yes.", GOSSIP_SENDER_MAIN, 9996);
  889. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "No.", GOSSIP_SENDER_MAIN, 9999);
  890. player->PlayerTalkClass->SendGossipMenu(85002, pCreature->GetGUID());
  891. return true;
  892. case 21070:
  893. player->PlayerTalkClass->ClearMenus();
  894. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Are you sure you wish to buy Immune Trinket misc' Item?", GOSSIP_SENDER_MAIN, 21070);
  895. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Yes.", GOSSIP_SENDER_MAIN, 99960);
  896. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "No.", GOSSIP_SENDER_MAIN, 9999);
  897. player->PlayerTalkClass->SendGossipMenu(85002, pCreature->GetGUID());
  898. return true;
  899. break;
  900. case 14001:
  901. RewardItem(player, pCreature, 130110,1,11);
  902. break;
  903. case 14909:
  904. RewardItem(player, pCreature, 130131,1,11);
  905. break;
  906. case 14003:
  907. RewardItem(player, pCreature, 130109,1,11);
  908. break;
  909. case 14004:
  910. RewardItem(player, pCreature, 130132,1,11);
  911. break;
  912. case 14005:
  913. RewardItem(player, pCreature, 130111,1,11);
  914. break;
  915. case 14006:
  916. RewardItem(player, pCreature, 130133,1,11);
  917. break;
  918. case 14007:
  919. RewardItem(player, pCreature, 130108,1,11);
  920. break;
  921. case 14008:
  922. RewardItem(player, pCreature, 130134,1,11);
  923. break;
  924. case 20000:
  925. RewardItem(player, pCreature, 10,1,10);
  926. break;
  927.  
  928. case 22070:
  929. RewardItem(player, pCreature, 22,1,50);
  930. break;
  931.  
  932. case 9996:
  933. if(player->HasItemCount(56808, 1))
  934. {
  935. char str[200];
  936. sprintf(str,"You already have a Immune Ring, so you cant buy it!");
  937. player->MonsterWhisper(str,player->GetGUID(),true);
  938. player->PlayerTalkClass->SendCloseGossip();
  939. } else {
  940. RewardItem(player, pCreature, 56808,1,30);
  941. player->PlayerTalkClass->SendCloseGossip();
  942. }
  943. break;
  944. case 99960:
  945. if(player->HasItemCount(56809, 1))
  946. {
  947. char str[200];
  948. sprintf(str,"You already have a Immune Trinket, so you cant buy it!");
  949. player->MonsterWhisper(str,player->GetGUID(),true);
  950. player->PlayerTalkClass->SendCloseGossip();
  951. } else {
  952. RewardItem(player, pCreature, 56809,1,30);
  953. player->PlayerTalkClass->SendCloseGossip();
  954. }
  955. break;
  956. case 9998:
  957. player->GetSession()->SendListInventory(pCreature->GetGUID());
  958. break;
  959. case 9999:
  960. player->PlayerTalkClass->ClearMenus();
  961. OnGossipHello(player, pCreature);
  962. break;
  963. }
  964.  
  965.  
  966. return true;
  967. }
  968.  
  969. };
  970.  
  971. void AddSC_donorrewarder()
  972. {
  973. new donorrewarder();
  974. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement