کد PHP:
/*
*******************************
*            I-Script             *
*                              *
*        Packed By Imorate     *
*                              *
*  YID! Mr.Amirooo@Yahoo.Com  *
*                              *
*      Website: IranCore.Ir      *
*******************************
*/

#include "ScriptPCH.h"
class refundvendor : public CreatureScript{
    public:

        
refundvendor()
            : 
CreatureScript("refundvendor")
        {
        }

        
bool OnGossipHello(PlayerpPlayerCreaturepCreature)
        {
            
pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT"Refund: Donor Weapons"GOSSIP_SENDER_MAIN2000);
            
pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT"Refund: Rings/Trinkets/Amulets"GOSSIP_SENDER_MAIN3000);
            
pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT"Refund: Armors"GOSSIP_SENDER_MAIN300);
            
pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT"Refund: FROSTMOURNE = 35 DP"GOSSIP_SENDER_MAIN9997);
            
pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT"Refund: Special Items"GOSSIP_SENDER_MAIN5000);
            
pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT"Refund: Donor Shirts = 10 DP"GOSSIP_SENDER_MAIN10000);
            
pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT"Refund: Donor Talisman = 20 DP"GOSSIP_SENDER_MAIN11000);
            
pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT"Send back donation set."GOSSIP_SENDER_MAIN13000);

            
pPlayer->PlayerTalkClass->SendGossipMenu(85002pCreature->GetGUID());

            return 
true;
        }

        
bool OnGossipSelect(PlayerpPlayerCreaturepCreatureuint32 /*uiSender*/uint32 uiAction)
        {
            
pPlayer->PlayerTalkClass->ClearMenus();

            switch (
uiAction)
            {
            case 
13000:
                
pPlayer->PlayerTalkClass->ClearMenus();
                
pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT"Both includes: +5 Enchant + 30 gem + 10 reforge."GOSSIP_SENDER_MAIN13000);
                
pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT"Refund: Get first arena set + 75 dp"GOSSIP_SENDER_MAIN13001);
                
pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT"Refund: Get best arena set."GOSSIP_SENDER_MAIN13002);
                
pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT"Refund: [Main Menu]"GOSSIP_SENDER_MAIN9999);
                
pPlayer->PlayerTalkClass->SendGossipMenu(85002pCreature->GetGUID());
                return 
true;
                break;
         case 
13001// donors set - arena +75
          
switch(pPlayer->getClass())
          {
          case 
CLASS_WARRIOR:
          if(
pPlayer->HasItemCount(650151) && pPlayer->HasItemCount(650161) && pPlayer->HasItemCount(650171) && pPlayer->HasItemCount(650181) && pPlayer->HasItemCount(650191))
          {
            
pPlayer->DestroyItemCount(650151true);
            
pPlayer->DestroyItemCount(650161true);
            
pPlayer->DestroyItemCount(650171true);
            
pPlayer->DestroyItemCount(650181true);
            
pPlayer->DestroyItemCount(650191true);
            
pPlayer->AddItem(415965);
            
pPlayer->AddItem(2976530);
            
pPlayer->AddItem(6571720);

            
pPlayer->AddItem(2910941);
            
pPlayer->AddItem(2910921);
            
pPlayer->AddItem(2910931);
            
pPlayer->AddItem(2615361);
            
pPlayer->AddItem(2615371);
            
pPlayer->AddItem(2615381);
            
pPlayer->AddItem(2615391);
            
pPlayer->AddItem(2615401);

            
            
LoginDatabase.PQuery("Update fusion.account_data Set dp = dp + 75 WHERE id = '%u'"pPlayer->GetSession()->GetAccountId());
            
ChatHandler(pPlayer).PSendSysMessage("Success. Your donor item has been removed and your points has been refunded.");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          } else {
            
ChatHandler(pPlayer).PSendSysMessage("Failed. Make sure you have the desired item");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          }
             break;
          case 
CLASS_PALADIN:
          if(
pPlayer->HasItemCount(650351) && pPlayer->HasItemCount(650361) && pPlayer->HasItemCount(650371) && pPlayer->HasItemCount(650381) && pPlayer->HasItemCount(650391))
          {
            
pPlayer->DestroyItemCount(650351true);
            
pPlayer->DestroyItemCount(650361true);
            
pPlayer->DestroyItemCount(650371true);
            
pPlayer->DestroyItemCount(650381true);
            
pPlayer->DestroyItemCount(650391true);
            
pPlayer->AddItem(415965);
            
pPlayer->AddItem(2976530);
            
pPlayer->AddItem(6571720);
            
pPlayer->AddItem(2710911);
            
pPlayer->AddItem(2710891);
            
pPlayer->AddItem(2745511);
            
pPlayer->AddItem(2745551);
            
pPlayer->AddItem(2745521);
            
pPlayer->AddItem(2745531);
            
pPlayer->AddItem(2745541);
            
pPlayer->AddItem(2710901);

            
LoginDatabase.PQuery("Update fusion.account_data Set dp = dp + 75 WHERE id = '%u'"pPlayer->GetSession()->GetAccountId());
            
ChatHandler(pPlayer).PSendSysMessage("Success. Your donor item has been removed and your points has been refunded.");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          } else {
            
ChatHandler(pPlayer).PSendSysMessage("Failed. Make sure you have the desired item");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          }
               break;
          case 
CLASS_HUNTER:
          if(
pPlayer->HasItemCount(650051) && pPlayer->HasItemCount(650061) && pPlayer->HasItemCount(650071) && pPlayer->HasItemCount(650081) && pPlayer->HasItemCount(650091))
          {
            
pPlayer->DestroyItemCount(650051true);
            
pPlayer->DestroyItemCount(650061true);
            
pPlayer->DestroyItemCount(650071true);
            
pPlayer->DestroyItemCount(650081true);
            
pPlayer->DestroyItemCount(650091true);
            
pPlayer->AddItem(415965);
            
pPlayer->AddItem(2976530);
            
pPlayer->AddItem(6571720);
            
pPlayer->AddItem(2645321);
            
pPlayer->AddItem(2645331);
            
pPlayer->AddItem(2645341);
            
pPlayer->AddItem(2645311);
            
pPlayer->AddItem(2645351);
            
pPlayer->AddItem(2710881);
            
pPlayer->AddItem(2710871);
            
pPlayer->AddItem(2710861);


            
LoginDatabase.PQuery("Update fusion.account_data Set dp = dp + 75 WHERE id = '%u'"pPlayer->GetSession()->GetAccountId());
            
ChatHandler(pPlayer).PSendSysMessage("Success. Your donor item has been removed and your points has been refunded.");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          } else {
            
ChatHandler(pPlayer).PSendSysMessage("Failed. Make sure you have the desired item");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          }
             break;
          case 
CLASS_ROGUE:
          if(
pPlayer->HasItemCount(650101) && pPlayer->HasItemCount(650111) && pPlayer->HasItemCount(650121) && pPlayer->HasItemCount(650131) && pPlayer->HasItemCount(650141))
          {
            
pPlayer->DestroyItemCount(650101true);
            
pPlayer->DestroyItemCount(650111true);
            
pPlayer->DestroyItemCount(650121true);
            
pPlayer->DestroyItemCount(650131true);
            
pPlayer->DestroyItemCount(650141true);
            
pPlayer->AddItem(415965);
            
pPlayer->AddItem(2976530);
            
pPlayer->AddItem(6571720);
            
pPlayer->AddItem(2710831);
            
pPlayer->AddItem(2645411);
            
pPlayer->AddItem(2645451);
            
pPlayer->AddItem(2645441);
            
pPlayer->AddItem(2645431);
            
pPlayer->AddItem(2645421);
            
pPlayer->AddItem(2710841);
            
pPlayer->AddItem(2710851);

            
LoginDatabase.PQuery("Update fusion.account_data Set dp = dp + 75 WHERE id = '%u'"pPlayer->GetSession()->GetAccountId());
            
ChatHandler(pPlayer).PSendSysMessage("Success. Your donor item has been removed and your points has been refunded.");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          } else {
            
ChatHandler(pPlayer).PSendSysMessage("Failed. Make sure you have the desired item");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          }
              break;
           case 
CLASS_PRIEST:
          if(
pPlayer->HasItemCount(650201) && pPlayer->HasItemCount(650211) && pPlayer->HasItemCount(650221) && pPlayer->HasItemCount(650231) && pPlayer->HasItemCount(650241))
          {
            
pPlayer->DestroyItemCount(650201true);
            
pPlayer->DestroyItemCount(650211true);
            
pPlayer->DestroyItemCount(650221true);
            
pPlayer->DestroyItemCount(650231true);
            
pPlayer->DestroyItemCount(650241true);
            
pPlayer->AddItem(415965);
            
pPlayer->AddItem(2976530);
            
pPlayer->AddItem(6571720);
            
pPlayer->AddItem(2710771);
            
pPlayer->AddItem(2710791);
            
pPlayer->AddItem(2710781);
            
pPlayer->AddItem(2645461);
            
pPlayer->AddItem(2645471);
            
pPlayer->AddItem(2645491);
            
pPlayer->AddItem(2645481);
            
pPlayer->AddItem(2645501);

            
LoginDatabase.PQuery("Update fusion.account_data Set dp = dp + 75 WHERE id = '%u'"pPlayer->GetSession()->GetAccountId());
            
ChatHandler(pPlayer).PSendSysMessage("Success. Your donor item has been removed and your points has been refunded.");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          } else {
            
ChatHandler(pPlayer).PSendSysMessage("Failed. Make sure you have the desired item");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          }
             break;
          case 
CLASS_DEATH_KNIGHT:
          if(
pPlayer->HasItemCount(650001) && pPlayer->HasItemCount(650011) && pPlayer->HasItemCount(650021) && pPlayer->HasItemCount(650031) && pPlayer->HasItemCount(650041))
          {
            
pPlayer->DestroyItemCount(650001true);
            
pPlayer->DestroyItemCount(650011true);
            
pPlayer->DestroyItemCount(650021true);
            
pPlayer->DestroyItemCount(650031true);
            
pPlayer->DestroyItemCount(650041true);
            
pPlayer->AddItem(415965);
            
pPlayer->AddItem(2976530);
            
pPlayer->AddItem(6571720);
            
pPlayer->AddItem(2645211);
            
pPlayer->AddItem(2645251);
            
pPlayer->AddItem(2645221);
            
pPlayer->AddItem(2645231);
            
pPlayer->AddItem(2645241);
            
pPlayer->AddItem(2710701);
            
pPlayer->AddItem(2710691);
            
pPlayer->AddItem(2710681);

            
LoginDatabase.PQuery("Update fusion.account_data Set dp = dp + 75 WHERE id = '%u'"pPlayer->GetSession()->GetAccountId());
            
ChatHandler(pPlayer).PSendSysMessage("Success. Your donor item has been removed and your points has been refunded.");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          } else {
            
ChatHandler(pPlayer).PSendSysMessage("Failed. Make sure you have the desired item");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          }
                   break;
          case 
CLASS_SHAMAN:
          if(
pPlayer->HasItemCount(650401) && pPlayer->HasItemCount(650411) && pPlayer->HasItemCount(650421) && pPlayer->HasItemCount(650431) && pPlayer->HasItemCount(650441))
          {
            
pPlayer->DestroyItemCount(650401true);
            
pPlayer->DestroyItemCount(650411true);
            
pPlayer->DestroyItemCount(650421true);
            
pPlayer->DestroyItemCount(650431true);
            
pPlayer->DestroyItemCount(650441true);
            
pPlayer->AddItem(415965);
            
pPlayer->AddItem(2976530);
            
pPlayer->AddItem(6571720);
            
pPlayer->AddItem(2710821);
            
pPlayer->AddItem(2710801);
            
pPlayer->AddItem(2710811);
            
pPlayer->AddItem(2645111);
            
pPlayer->AddItem(2645151);
            
pPlayer->AddItem(2645121);
            
pPlayer->AddItem(2645141);
            
pPlayer->AddItem(2645131);

            
LoginDatabase.PQuery("Update fusion.account_data Set dp = dp + 75 WHERE id = '%u'"pPlayer->GetSession()->GetAccountId());
            
ChatHandler(pPlayer).PSendSysMessage("Success. Your donor item has been removed and your points has been refunded.");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          } else {
            
ChatHandler(pPlayer).PSendSysMessage("Failed. Make sure you have the desired item");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          }
                 break;
          case 
CLASS_MAGE:
          if(
pPlayer->HasItemCount(650451) && pPlayer->HasItemCount(650461) && pPlayer->HasItemCount(650471) && pPlayer->HasItemCount(650481) && pPlayer->HasItemCount(650491))
          {
            
pPlayer->DestroyItemCount(650451true);
            
pPlayer->DestroyItemCount(650461true);
            
pPlayer->DestroyItemCount(650471true);
            
pPlayer->DestroyItemCount(650481true);
            
pPlayer->DestroyItemCount(650491true);
            
pPlayer->AddItem(415965);
            
pPlayer->AddItem(2976530);
            
pPlayer->AddItem(6571720);
            
pPlayer->AddItem(2710751);
            
pPlayer->AddItem(2710761);
            
pPlayer->AddItem(2645571);
            
pPlayer->AddItem(2645581);
            
pPlayer->AddItem(2645601);
            
pPlayer->AddItem(2645561);
            
pPlayer->AddItem(2645591);
            
pPlayer->AddItem(2710741);

            
LoginDatabase.PQuery("Update fusion.account_data Set dp = dp + 75 WHERE id = '%u'"pPlayer->GetSession()->GetAccountId());
            
ChatHandler(pPlayer).PSendSysMessage("Success. Your donor item has been removed and your points has been refunded.");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          } else {
            
ChatHandler(pPlayer).PSendSysMessage("Failed. Make sure you have the desired item");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          }
             break;
          case 
CLASS_WARLOCK:
          if(
pPlayer->HasItemCount(650301) && pPlayer->HasItemCount(650311) && pPlayer->HasItemCount(650321) && pPlayer->HasItemCount(650331) && pPlayer->HasItemCount(650341))
          {
            
pPlayer->DestroyItemCount(650301true);
            
pPlayer->DestroyItemCount(650311true);
            
pPlayer->DestroyItemCount(650321true);
            
pPlayer->DestroyItemCount(650331true);
            
pPlayer->DestroyItemCount(650341true);
            
pPlayer->AddItem(415965);
            
pPlayer->AddItem(2976530);
            
pPlayer->AddItem(6571720);
            
pPlayer->AddItem(2645171);
            
pPlayer->AddItem(2645191);
            
pPlayer->AddItem(2645181);
            
pPlayer->AddItem(2645161);
            
pPlayer->AddItem(2645201);
            
pPlayer->AddItem(2710731);
            
pPlayer->AddItem(2710721);
            
pPlayer->AddItem(2710711);

            
LoginDatabase.PQuery("Update fusion.account_data Set dp = dp + 75 WHERE id = '%u'"pPlayer->GetSession()->GetAccountId());
            
ChatHandler(pPlayer).PSendSysMessage("Success. Your donor item has been removed and your points has been refunded.");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          } else {
            
ChatHandler(pPlayer).PSendSysMessage("Failed. Make sure you have the desired item");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          }
              break;
          case 
CLASS_DRUID:
          if(
pPlayer->HasItemCount(650251) && pPlayer->HasItemCount(650261) && pPlayer->HasItemCount(650271) && pPlayer->HasItemCount(650281) && pPlayer->HasItemCount(650291))
          {
            
pPlayer->DestroyItemCount(650251true);
            
pPlayer->DestroyItemCount(650261true);
            
pPlayer->DestroyItemCount(650271true);
            
pPlayer->DestroyItemCount(650281true);
            
pPlayer->DestroyItemCount(650291true);
            
pPlayer->AddItem(415965);
            
pPlayer->AddItem(2976530);
            
pPlayer->AddItem(6571720);
            
pPlayer->AddItem(2645261);
            
pPlayer->AddItem(2645291);
            
pPlayer->AddItem(2645271);
            
pPlayer->AddItem(2645281);
            
pPlayer->AddItem(2645301);
            
pPlayer->AddItem(2710671);
            
pPlayer->AddItem(2710661);
            
pPlayer->AddItem(2710651);

            
LoginDatabase.PQuery("Update fusion.account_data Set dp = dp + 75 WHERE id = '%u'"pPlayer->GetSession()->GetAccountId());
            
ChatHandler(pPlayer).PSendSysMessage("Success. Your donor item has been removed and your points has been refunded.");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          } else {
            
ChatHandler(pPlayer).PSendSysMessage("Failed. Make sure you have the desired item");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          }
                break;

          default: break;
          }
          break;
         case 
13002// donors set - arena +75
          
switch(pPlayer->getClass())
          {
          case 
CLASS_WARRIOR:
          if(
pPlayer->HasItemCount(650151) && pPlayer->HasItemCount(650161) && pPlayer->HasItemCount(650171) && pPlayer->HasItemCount(650181) && pPlayer->HasItemCount(650191))
          {
            
pPlayer->DestroyItemCount(650151true);
            
pPlayer->DestroyItemCount(650161true);
            
pPlayer->DestroyItemCount(650171true);
            
pPlayer->DestroyItemCount(650181true);
            
pPlayer->DestroyItemCount(650191true);
            
pPlayer->AddItem(415965);
            
pPlayer->AddItem(2976530);
            
pPlayer->AddItem(6571720);
            
pPlayer->AddItem(1910941);
            
pPlayer->AddItem(1910921);
            
pPlayer->AddItem(1910931);
            
pPlayer->AddItem(1615361);
            
pPlayer->AddItem(1615371);
            
pPlayer->AddItem(1615381);
            
pPlayer->AddItem(1615391);
            
pPlayer->AddItem(1615401);


            
            
ChatHandler(pPlayer).PSendSysMessage("Success. Your donor item has been removed.");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          } else {
            
ChatHandler(pPlayer).PSendSysMessage("Failed. Make sure you have the desired item");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          }
             break;
          case 
CLASS_PALADIN:
          if(
pPlayer->HasItemCount(650351) && pPlayer->HasItemCount(650361) && pPlayer->HasItemCount(650371) && pPlayer->HasItemCount(650381) && pPlayer->HasItemCount(650391))
          {
            
pPlayer->DestroyItemCount(650351true);
            
pPlayer->DestroyItemCount(650361true);
            
pPlayer->DestroyItemCount(650371true);
            
pPlayer->DestroyItemCount(650381true);
            
pPlayer->DestroyItemCount(650391true);
            
pPlayer->AddItem(415965);
            
pPlayer->AddItem(2976530);
            
pPlayer->AddItem(6571720);
            
pPlayer->AddItem(1710911);
            
pPlayer->AddItem(1710891);
            
pPlayer->AddItem(1745511);
            
pPlayer->AddItem(1745551);
            
pPlayer->AddItem(1745521);
            
pPlayer->AddItem(1745531);
            
pPlayer->AddItem(1745541);
            
pPlayer->AddItem(1710901);


            
ChatHandler(pPlayer).PSendSysMessage("Success. Your donor item has been removed.");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          } else {
            
ChatHandler(pPlayer).PSendSysMessage("Failed. Make sure you have the desired item");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          }
               break;
          case 
CLASS_HUNTER:
          if(
pPlayer->HasItemCount(650051) && pPlayer->HasItemCount(650061) && pPlayer->HasItemCount(650071) && pPlayer->HasItemCount(650081) && pPlayer->HasItemCount(650091))
          {
            
pPlayer->DestroyItemCount(650051true);
            
pPlayer->DestroyItemCount(650061true);
            
pPlayer->DestroyItemCount(650071true);
            
pPlayer->DestroyItemCount(650081true);
            
pPlayer->DestroyItemCount(650091true);
            
pPlayer->AddItem(415965);
            
pPlayer->AddItem(2976530);
            
pPlayer->AddItem(6571720);
            
pPlayer->AddItem(1645321);
            
pPlayer->AddItem(1645331);
            
pPlayer->AddItem(1645341);
            
pPlayer->AddItem(1645311);
            
pPlayer->AddItem(1645351);
            
pPlayer->AddItem(1710881);
            
pPlayer->AddItem(1710871);
            
pPlayer->AddItem(1710861);

            
ChatHandler(pPlayer).PSendSysMessage("Success. Your donor item has been removed.");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          } else {
            
ChatHandler(pPlayer).PSendSysMessage("Failed. Make sure you have the desired item");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          }
             break;
          case 
CLASS_ROGUE:
          if(
pPlayer->HasItemCount(650101) && pPlayer->HasItemCount(650111) && pPlayer->HasItemCount(650121) && pPlayer->HasItemCount(650131) && pPlayer->HasItemCount(650141))
          {
            
pPlayer->DestroyItemCount(650101true);
            
pPlayer->DestroyItemCount(650111true);
            
pPlayer->DestroyItemCount(650121true);
            
pPlayer->DestroyItemCount(650131true);
            
pPlayer->DestroyItemCount(650141true);
            
pPlayer->AddItem(415965);
            
pPlayer->AddItem(2976530);
            
pPlayer->AddItem(6571720);
            
pPlayer->AddItem(1710831);
            
pPlayer->AddItem(1645411);
            
pPlayer->AddItem(1645451);
            
pPlayer->AddItem(1645441);
            
pPlayer->AddItem(1645431);
            
pPlayer->AddItem(1645421);
            
pPlayer->AddItem(1710841);
            
pPlayer->AddItem(1710851);


            
ChatHandler(pPlayer).PSendSysMessage("Success. Your donor item has been removed.");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          } else {
            
ChatHandler(pPlayer).PSendSysMessage("Failed. Make sure you have the desired item");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          }
              break;
           case 
CLASS_PRIEST:
          if(
pPlayer->HasItemCount(650201) && pPlayer->HasItemCount(650211) && pPlayer->HasItemCount(650221) && pPlayer->HasItemCount(650231) && pPlayer->HasItemCount(650241))
          {
            
pPlayer->DestroyItemCount(650201true);
            
pPlayer->DestroyItemCount(650211true);
            
pPlayer->DestroyItemCount(650221true);
            
pPlayer->DestroyItemCount(650231true);
            
pPlayer->DestroyItemCount(650241true);
            
pPlayer->AddItem(415965);
            
pPlayer->AddItem(2976530);
            
pPlayer->AddItem(6571720);
            
pPlayer->AddItem(1710771);
            
pPlayer->AddItem(1710791);
            
pPlayer->AddItem(1710781);
            
pPlayer->AddItem(1645461);
            
pPlayer->AddItem(1645471);
            
pPlayer->AddItem(1645491);
            
pPlayer->AddItem(1645481);
            
pPlayer->AddItem(1645501);


            
ChatHandler(pPlayer).PSendSysMessage("Success. Your donor item has been removed.");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          } else {
            
ChatHandler(pPlayer).PSendSysMessage("Failed. Make sure you have the desired item");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          }
             break;
          case 
CLASS_DEATH_KNIGHT:
          if(
pPlayer->HasItemCount(650001) && pPlayer->HasItemCount(650011) && pPlayer->HasItemCount(650021) && pPlayer->HasItemCount(650031) && pPlayer->HasItemCount(650041))
          {
            
pPlayer->DestroyItemCount(650001true);
            
pPlayer->DestroyItemCount(650011true);
            
pPlayer->DestroyItemCount(650021true);
            
pPlayer->DestroyItemCount(650031true);
            
pPlayer->DestroyItemCount(650041true);
            
pPlayer->AddItem(415965);
            
pPlayer->AddItem(2976530);
            
pPlayer->AddItem(6571720);
            
pPlayer->AddItem(1645211);
            
pPlayer->AddItem(1645251);
            
pPlayer->AddItem(1645221);
            
pPlayer->AddItem(1645231);
            
pPlayer->AddItem(1645241);
            
pPlayer->AddItem(1710701);
            
pPlayer->AddItem(1710691);
            
pPlayer->AddItem(1710681);


            
ChatHandler(pPlayer).PSendSysMessage("Success. Your donor item has been removed.");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          } else {
            
ChatHandler(pPlayer).PSendSysMessage("Failed. Make sure you have the desired item");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          }
                   break;
          case 
CLASS_SHAMAN:
          if(
pPlayer->HasItemCount(650401) && pPlayer->HasItemCount(650411) && pPlayer->HasItemCount(650421) && pPlayer->HasItemCount(650431) && pPlayer->HasItemCount(650441))
          {
            
pPlayer->DestroyItemCount(650401true);
            
pPlayer->DestroyItemCount(650411true);
            
pPlayer->DestroyItemCount(650421true);
            
pPlayer->DestroyItemCount(650431true);
            
pPlayer->DestroyItemCount(650441true);
            
pPlayer->AddItem(415965);
            
pPlayer->AddItem(2976530);
            
pPlayer->AddItem(6571720);
            
pPlayer->AddItem(1710821);
            
pPlayer->AddItem(1710801);
            
pPlayer->AddItem(1710811);
            
pPlayer->AddItem(1645111);
            
pPlayer->AddItem(1645151);
            
pPlayer->AddItem(1645121);
            
pPlayer->AddItem(1645141);
            
pPlayer->AddItem(1645131);


            
ChatHandler(pPlayer).PSendSysMessage("Success. Your donor item has been removed.");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          } else {
            
ChatHandler(pPlayer).PSendSysMessage("Failed. Make sure you have the desired item");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          }
                 break;
          case 
CLASS_MAGE:
          if(
pPlayer->HasItemCount(650451) && pPlayer->HasItemCount(650461) && pPlayer->HasItemCount(650471) && pPlayer->HasItemCount(650481) && pPlayer->HasItemCount(650491))
          {
            
pPlayer->DestroyItemCount(650451true);
            
pPlayer->DestroyItemCount(650461true);
            
pPlayer->DestroyItemCount(650471true);
            
pPlayer->DestroyItemCount(650481true);
            
pPlayer->DestroyItemCount(650491true);
            
pPlayer->AddItem(415965);
            
pPlayer->AddItem(2976530);
            
pPlayer->AddItem(6571720);
            
pPlayer->AddItem(1710751);
            
pPlayer->AddItem(1710761);
            
pPlayer->AddItem(1645571);
            
pPlayer->AddItem(1645581);
            
pPlayer->AddItem(1645601);
            
pPlayer->AddItem(1645561);
            
pPlayer->AddItem(1645591);
            
pPlayer->AddItem(1710741);

            
ChatHandler(pPlayer).PSendSysMessage("Success. Your donor item has been removed.");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          } else {
            
ChatHandler(pPlayer).PSendSysMessage("Failed. Make sure you have the desired item");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          }
             break;
          case 
CLASS_WARLOCK:
          if(
pPlayer->HasItemCount(650301) && pPlayer->HasItemCount(650311) && pPlayer->HasItemCount(650321) && pPlayer->HasItemCount(650331) && pPlayer->HasItemCount(650341))
          {
            
pPlayer->DestroyItemCount(650301true);
            
pPlayer->DestroyItemCount(650311true);
            
pPlayer->DestroyItemCount(650321true);
            
pPlayer->DestroyItemCount(650331true);
            
pPlayer->DestroyItemCount(650341true);
            
pPlayer->AddItem(415965);
            
pPlayer->AddItem(2976530);
            
pPlayer->AddItem(6571720);
            
pPlayer->AddItem(1645171);
            
pPlayer->AddItem(1645191);
            
pPlayer->AddItem(1645181);
            
pPlayer->AddItem(1645161);
            
pPlayer->AddItem(1645201);
            
pPlayer->AddItem(1710731);
            
pPlayer->AddItem(1710721);
            
pPlayer->AddItem(1710711);


            
ChatHandler(pPlayer).PSendSysMessage("Success. Your donor item has been removed.");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          } else {
            
ChatHandler(pPlayer).PSendSysMessage("Failed. Make sure you have the desired item");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          }
              break;
          case 
CLASS_DRUID:
          if(
pPlayer->HasItemCount(650251) && pPlayer->HasItemCount(650261) && pPlayer->HasItemCount(650271) && pPlayer->HasItemCount(650281) && pPlayer->HasItemCount(650291))
          {
            
pPlayer->DestroyItemCount(650251true);
            
pPlayer->DestroyItemCount(650261true);
            
pPlayer->DestroyItemCount(650271true);
            
pPlayer->DestroyItemCount(650281true);
            
pPlayer->DestroyItemCount(650291true);
            
pPlayer->AddItem(415965);
            
pPlayer->AddItem(2976530);
            
pPlayer->AddItem(6571720);
            
pPlayer->AddItem(1645261);
            
pPlayer->AddItem(1645291);
            
pPlayer->AddItem(1645271);
            
pPlayer->AddItem(1645281);
            
pPlayer->AddItem(1645301);
            
pPlayer->AddItem(1710671);
            
pPlayer->AddItem(1710661);
            
pPlayer->AddItem(1710651);

            
ChatHandler(pPlayer).PSendSysMessage("Success. Your donor item has been removed.");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          } else {
            
ChatHandler(pPlayer).PSendSysMessage("Failed. Make sure you have the desired item");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          }
                break;

          default: break;
          }
          break;
            case 
300:
                
pPlayer->PlayerTalkClass->ClearMenus();
                
pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT"Refund: Cloak of Triumph = 10 DP"GOSSIP_SENDER_MAIN301);
                
pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT"Refund: Donaters Tabard = 15 DP"GOSSIP_SENDER_MAIN302);
                
pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT"Refund: Donaters Bag = 3 DP"GOSSIP_SENDER_MAIN303);
                
pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT"Refund: Donaters Quiver = 3 DP"GOSSIP_SENDER_MAIN1303);
                
pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT"Refund: Donaters Shield = 10 DP"GOSSIP_SENDER_MAIN304);
                
pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT"Refund: [Main Menu]"GOSSIP_SENDER_MAIN9999);
                
pPlayer->PlayerTalkClass->SendGossipMenu(85002pCreature->GetGUID());
                return 
true;
                break;
            case 
1303:
        if(
pPlayer->HasItemCount(72781))
        {
            
pPlayer->DestroyItemCount(72781true);
            
            
LoginDatabase.PQuery("Update fusion.account_data Set dp = dp + 3 WHERE id = '%u'"pPlayer->GetSession()->GetAccountId());
            
ChatHandler(pPlayer).PSendSysMessage("Success. Your donor item has been removed and your points has been refunded.");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
        } else {
            
ChatHandler(pPlayer).PSendSysMessage("Failed. Make sure you have the desired item");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
        }
              break;
            case 
301:
        if(
pPlayer->HasItemCount(213941))
        {
            
pPlayer->DestroyItemCount(213941true);
            
            
LoginDatabase.PQuery("Update fusion.account_data Set dp = dp + 10 WHERE id = '%u'"pPlayer->GetSession()->GetAccountId());
            
ChatHandler(pPlayer).PSendSysMessage("Success. Your donor item has been removed and your points has been refunded.");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
        } else {
            
ChatHandler(pPlayer).PSendSysMessage("Failed. Make sure you have the desired item");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
        }
                break;
            case 
302:
          if(
pPlayer->HasItemCount(201311))
          {
            
pPlayer->DestroyItemCount(201311true);
            
            
LoginDatabase.PQuery("Update fusion.account_data Set dp = dp + 15 WHERE id = '%u'"pPlayer->GetSession()->GetAccountId());
            
ChatHandler(pPlayer).PSendSysMessage("Success. Your donor item has been removed and your points has been refunded.");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          } else {
            
ChatHandler(pPlayer).PSendSysMessage("Failed. Make sure you have the desired item");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          }
                break;
            case 
303:
          if(
pPlayer->HasItemCount(204001))
          {
            
pPlayer->DestroyItemCount(204001true);
            
            
LoginDatabase.PQuery("Update fusion.account_data Set dp = dp + 3 WHERE id = '%u'"pPlayer->GetSession()->GetAccountId());
            
ChatHandler(pPlayer).PSendSysMessage("Success. Your donor item has been removed and your points has been refunded.");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          } else {
            
ChatHandler(pPlayer).PSendSysMessage("Failed. Make sure you have the desired item");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          }
                break;
                case 
304:
          if(
pPlayer->HasItemCount(341851))
          {
            
pPlayer->DestroyItemCount(341851true);
            
            
LoginDatabase.PQuery("Update fusion.account_data Set dp = dp + 10 WHERE id = '%u'"pPlayer->GetSession()->GetAccountId());
            
ChatHandler(pPlayer).PSendSysMessage("Success. Your donor item has been removed and your points has been refunded.");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          } else {
            
ChatHandler(pPlayer).PSendSysMessage("Failed. Make sure you have the desired item");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          }
                break;
            case 
2000:
                
pPlayer->PlayerTalkClass->ClearMenus();
                
pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT"Refund: One-Handed Weapons"GOSSIP_SENDER_MAIN2001);
                
pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT"Refund: Two-Handed Weapons"GOSSIP_SENDER_MAIN2002);
                
pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT"Refund: Staves"GOSSIP_SENDER_MAIN2003);
                
pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT"Refund: Ranged"GOSSIP_SENDER_MAIN2004);
                
pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT"Refund: Off-Hand Weapons"GOSSIP_SENDER_MAIN2005);
                
pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT"Refund: Main-Hand Weapons"GOSSIP_SENDER_MAIN2006);
                
pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT"Refund: [Main Menu]"GOSSIP_SENDER_MAIN9999);
                
pPlayer->PlayerTalkClass->SendGossipMenu(85002pCreature->GetGUID());
                return 
true;
                break;
            case 
2001:
                
pPlayer->PlayerTalkClass->ClearMenus();
                
pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT"Refund: Donaters Sword = 10 DP"GOSSIP_SENDER_MAIN2101);
                
pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT"Refund: Donaters Dagger = 10 DP"GOSSIP_SENDER_MAIN2102);
                
pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT"Refund: Donaters Axe = 10 DP"GOSSIP_SENDER_MAIN2103);
                
pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT"Refund: Donaters Mace = 10 DP"GOSSIP_SENDER_MAIN2103);
                
pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT"Refund: [Main Menu]"GOSSIP_SENDER_MAIN9999);
                
pPlayer->PlayerTalkClass->SendGossipMenu(85002pCreature->GetGUID());
                return 
true;
                break;
            case 
2101:
        if(
pPlayer->HasItemCount(506721))
        {
            
pPlayer->DestroyItemCount(506721true);
            
            
LoginDatabase.PQuery("Update fusion.account_data Set dp = dp + 10 WHERE id = '%u'"pPlayer->GetSession()->GetAccountId());
            
ChatHandler(pPlayer).PSendSysMessage("Success. Your donor item has been removed and your points has been refunded.");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
        } else {
            
ChatHandler(pPlayer).PSendSysMessage("Failed. Make sure you have the desired item");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
        }
                break;
            case 
2102:
          if(
pPlayer->HasItemCount(320441))
          {
            
pPlayer->DestroyItemCount(320441true);
            
            
LoginDatabase.PQuery("Update fusion.account_data Set dp = dp + 10 WHERE id = '%u'"pPlayer->GetSession()->GetAccountId());
            
ChatHandler(pPlayer).PSendSysMessage("Success. Your donor item has been removed and your points has been refunded.");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          } else {
            
ChatHandler(pPlayer).PSendSysMessage("Failed. Make sure you have the desired item");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          }
                break;
            case 
2103:
          if(
pPlayer->HasItemCount(507591))
          {
            
pPlayer->DestroyItemCount(507591true);
            
            
LoginDatabase.PQuery("Update fusion.account_data Set dp = dp + 10 WHERE id = '%u'"pPlayer->GetSession()->GetAccountId());
            
ChatHandler(pPlayer).PSendSysMessage("Success. Your donor item has been removed and your points has been refunded.");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          } else {
            
ChatHandler(pPlayer).PSendSysMessage("Failed. Make sure you have the desired item");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          }
                break;
            case 
2104:
          if(
pPlayer->HasItemCount(460171))
          {
            
pPlayer->DestroyItemCount(460171true);
            
            
LoginDatabase.PQuery("Update fusion.account_data Set dp = dp + 10 WHERE id = '%u'"pPlayer->GetSession()->GetAccountId());
            
ChatHandler(pPlayer).PSendSysMessage("Success. Your donor item has been removed and your points has been refunded.");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          } else {
            
ChatHandler(pPlayer).PSendSysMessage("Failed. Make sure you have the desired item");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          }
                break;
            case 
2002:
                
pPlayer->PlayerTalkClass->ClearMenus();
                
pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT"Refund: Donaters Two-Hand Sword = 20 DP"GOSSIP_SENDER_MAIN2201);
                
pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT"Refund: Donaters Two-Hand Axe = 20 DP"GOSSIP_SENDER_MAIN2202);
                
pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT"Refund: Donaters Two-Hand Mace = 20 DP"GOSSIP_SENDER_MAIN2203);
                
pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT"Refund: Hunters Two-Hand Polearm = 20 DP"GOSSIP_SENDER_MAIN2204);
                
pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT"Refund: [Main Menu]"GOSSIP_SENDER_MAIN9999);
                
pPlayer->PlayerTalkClass->SendGossipMenu(85002pCreature->GetGUID());
                return 
true;
                break;
            case 
2201:
          if(
pPlayer->HasItemCount(507611))
          {
            
pPlayer->DestroyItemCount(507611true);
            
            
LoginDatabase.PQuery("Update fusion.account_data Set dp = dp + 20 WHERE id = '%u'"pPlayer->GetSession()->GetAccountId());
            
ChatHandler(pPlayer).PSendSysMessage("Success. Your donor item has been removed and your points has been refunded.");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          } else {
            
ChatHandler(pPlayer).PSendSysMessage("Failed. Make sure you have the desired item");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          }
                break;
            case 
2202:
          if(
pPlayer->HasItemCount(496231))
          {
            
pPlayer->DestroyItemCount(496231true);
            
            
LoginDatabase.PQuery("Update fusion.account_data Set dp = dp + 20 WHERE id = '%u'"pPlayer->GetSession()->GetAccountId());
            
ChatHandler(pPlayer).PSendSysMessage("Success. Your donor item has been removed and your points has been refunded.");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          } else {
            
ChatHandler(pPlayer).PSendSysMessage("Failed. Make sure you have the desired item");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          }
                break;
            case 
2203:
          if(
pPlayer->HasItemCount(336631))
          {
            
pPlayer->DestroyItemCount(336631true);
            
            
LoginDatabase.PQuery("Update fusion.account_data Set dp = dp + 20 WHERE id = '%u'"pPlayer->GetSession()->GetAccountId());
            
ChatHandler(pPlayer).PSendSysMessage("Success. Your donor item has been removed and your points has been refunded.");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          } else {
            
ChatHandler(pPlayer).PSendSysMessage("Failed. Make sure you have the desired item");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          }
          break;
            case 
2204:
          if(
pPlayer->HasItemCount(504251))
          {
            
pPlayer->DestroyItemCount(504251true);
            
            
LoginDatabase.PQuery("Update fusion.account_data Set dp = dp + 20 WHERE id = '%u'"pPlayer->GetSession()->GetAccountId());
            
ChatHandler(pPlayer).PSendSysMessage("Success. Your donor item has been removed and your points has been refunded.");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          } else {
            
ChatHandler(pPlayer).PSendSysMessage("Failed. Make sure you have the desired item");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          }
                break;
            case 
2003:
                
pPlayer->PlayerTalkClass->ClearMenus();                
                
pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT"Refund: Donaters Staff = 15 DP"GOSSIP_SENDER_MAIN2301);
          
pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT"Refund: Donaters Feral Staff  = 15 DP"GOSSIP_SENDER_MAIN2302);
          
pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT"Refund: Donaters Healing Staff  = 15 DP"GOSSIP_SENDER_MAIN2303);
                
pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT"Refund: [Main Menu]"GOSSIP_SENDER_MAIN9999);
                
pPlayer->PlayerTalkClass->SendGossipMenu(85002pCreature->GetGUID());
                return 
true;
                break;
            case 
2301:
          if(
pPlayer->HasItemCount(548061))
          {
            
pPlayer->DestroyItemCount(548061true);
            
            
LoginDatabase.PQuery("Update fusion.account_data Set dp = dp + 15 WHERE id = '%u'"pPlayer->GetSession()->GetAccountId());
            
ChatHandler(pPlayer).PSendSysMessage("Success. Your donor item has been removed and your points has been refunded.");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          } else {
            
ChatHandler(pPlayer).PSendSysMessage("Failed. Make sure you have the desired item");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          }
                break;
            case 
2302:
          if(
pPlayer->HasItemCount(403481))
          {
            
pPlayer->DestroyItemCount(403481true);
            
            
LoginDatabase.PQuery("Update fusion.account_data Set dp = dp + 15 WHERE id = '%u'"pPlayer->GetSession()->GetAccountId());
            
ChatHandler(pPlayer).PSendSysMessage("Success. Your donor item has been removed and your points has been refunded.");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          } else {
            
ChatHandler(pPlayer).PSendSysMessage("Failed. Make sure you have the desired item");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          }
                break;
            case 
2303:
          if(
pPlayer->HasItemCount(286331))
          {
            
pPlayer->DestroyItemCount(286331true);
            
            
LoginDatabase.PQuery("Update fusion.account_data Set dp = dp + 15 WHERE id = '%u'"pPlayer->GetSession()->GetAccountId());
            
ChatHandler(pPlayer).PSendSysMessage("Success. Your donor item has been removed and your points has been refunded.");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          } else {
            
ChatHandler(pPlayer).PSendSysMessage("Failed. Make sure you have the desired item");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          }
                break;
            case 
2004:
                
pPlayer->PlayerTalkClass->ClearMenus();                
                
pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT"Refund: Donaters Bow = 10 DP"GOSSIP_SENDER_MAIN2401);
                
pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT"Refund: Donaters Gun = 10 DP"GOSSIP_SENDER_MAIN2402);
                
pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT"Refund: Donaters Wand = 10 DP"GOSSIP_SENDER_MAIN2403);
                
pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT"Refund: [Main Menu]"GOSSIP_SENDER_MAIN9999);
                
pPlayer->PlayerTalkClass->SendGossipMenu(85002pCreature->GetGUID());
                return 
true;
                break;
            case 
2401:
          if(
pPlayer->HasItemCount(343341))
          {
            
pPlayer->DestroyItemCount(343341true);
            
            
LoginDatabase.PQuery("Update fusion.account_data Set dp = dp + 10 WHERE id = '%u'"pPlayer->GetSession()->GetAccountId());
            
ChatHandler(pPlayer).PSendSysMessage("Success. Your donor item has been removed and your points has been refunded.");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          } else {
            
ChatHandler(pPlayer).PSendSysMessage("Failed. Make sure you have the desired item");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          }
                break;
            case 
2402:
          if(
pPlayer->HasItemCount(514501))
          {
            
pPlayer->DestroyItemCount(514501true);
            
            
LoginDatabase.PQuery("Update fusion.account_data Set dp = dp + 10 WHERE id = '%u'"pPlayer->GetSession()->GetAccountId());
            
ChatHandler(pPlayer).PSendSysMessage("Success. Your donor item has been removed and your points has been refunded.");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          } else {
            
ChatHandler(pPlayer).PSendSysMessage("Failed. Make sure you have the desired item");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          }
                break;
            case 
2403:
          if(
pPlayer->HasItemCount(371771))
          {
            
pPlayer->DestroyItemCount(371771true);
            
            
LoginDatabase.PQuery("Update fusion.account_data Set dp = dp + 10 WHERE id = '%u'"pPlayer->GetSession()->GetAccountId());
            
ChatHandler(pPlayer).PSendSysMessage("Success. Your donor item has been removed and your points has been refunded.");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          } else {
            
ChatHandler(pPlayer).PSendSysMessage("Failed. Make sure you have the desired item");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          }
                break;
            case 
2005:
                
pPlayer->PlayerTalkClass->ClearMenus();                
                
pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT"Refund: Donaters Warglaive (Off Hand) = 15 DP"GOSSIP_SENDER_MAIN2501);
                
pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT"Refund: Donaters Fist (Off Hand) = 10 DP"GOSSIP_SENDER_MAIN2502);
                
pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT"Refund: [Main Menu]"GOSSIP_SENDER_MAIN9999);
                
pPlayer->PlayerTalkClass->SendGossipMenu(85002pCreature->GetGUID());
                return 
true;
                break;
            case 
2501:
          if(
pPlayer->HasItemCount(19511))
          {
            
pPlayer->DestroyItemCount(19511true);
            
            
LoginDatabase.PQuery("Update fusion.account_data Set dp = dp + 15 WHERE id = '%u'"pPlayer->GetSession()->GetAccountId());
            
ChatHandler(pPlayer).PSendSysMessage("Success. Your donor item has been removed and your points has been refunded.");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          } else {
            
ChatHandler(pPlayer).PSendSysMessage("Failed. Make sure you have the desired item");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          }
                break;
            case 
2502:
          if(
pPlayer->HasItemCount(342031))
          {
            
pPlayer->DestroyItemCount(342031true);
            
            
LoginDatabase.PQuery("Update fusion.account_data Set dp = dp + 10 WHERE id = '%u'"pPlayer->GetSession()->GetAccountId());
            
ChatHandler(pPlayer).PSendSysMessage("Success. Your donor item has been removed and your points has been refunded.");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          } else {
            
ChatHandler(pPlayer).PSendSysMessage("Failed. Make sure you have the desired item");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          }
                break;
            case 
2006:
                
pPlayer->PlayerTalkClass->ClearMenus();                
                
pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT"Refund: Donaters Warglaive (Main Hand) = 15 DP"GOSSIP_SENDER_MAIN2601);
                
pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT"Refund: Donaters Fist (Main Hand) = 10 DP"GOSSIP_SENDER_MAIN2602);
                
pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT"Refund: [Main Menu]"GOSSIP_SENDER_MAIN9999);
                
pPlayer->PlayerTalkClass->SendGossipMenu(85002pCreature->GetGUID());
                return 
true;
                break;
            case 
2601:
          if(
pPlayer->HasItemCount(14691))
          {
            
pPlayer->DestroyItemCount(14691true);
            
            
LoginDatabase.PQuery("Update fusion.account_data Set dp = dp + 15 WHERE id = '%u'"pPlayer->GetSession()->GetAccountId());
            
ChatHandler(pPlayer).PSendSysMessage("Success. Your donor item has been removed and your points has been refunded.");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          } else {
            
ChatHandler(pPlayer).PSendSysMessage("Failed. Make sure you have the desired item");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          }
                break;
            case 
2602:
          if(
pPlayer->HasItemCount(343311))
          {
            
pPlayer->DestroyItemCount(343311true);
            
            
LoginDatabase.PQuery("Update fusion.account_data Set dp = dp + 10 WHERE id = '%u'"pPlayer->GetSession()->GetAccountId());
            
ChatHandler(pPlayer).PSendSysMessage("Success. Your donor item has been removed and your points has been refunded.");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          } else {
            
ChatHandler(pPlayer).PSendSysMessage("Failed. Make sure you have the desired item");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          }
                break;
            case 
3000:
                
pPlayer->PlayerTalkClass->ClearMenus();                
                
pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT"Refund: Ancient Box = 25 DP"GOSSIP_SENDER_MAIN3001);
          if (
pPlayer->GetTeam() == HORDE)
          {
                
pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT"Refund: Medallion of the Horde = 15 DP"GOSSIP_SENDER_MAIN3002);
          } else {
                
pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT"Refund: Medallion of the Alliance = 15 DP"GOSSIP_SENDER_MAIN3012);
          }
                
pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT"Refund: Card Destruction (melee) = 15 DP"GOSSIP_SENDER_MAIN3003);
                
pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT"Refund: Card Judgement (spell) = 15 DP"GOSSIP_SENDER_MAIN3015);
                
pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT"Refund: Trinket of the Comet = 10 DP"GOSSIP_SENDER_MAIN3005);
                
pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT"Refund: [Main Menu]"GOSSIP_SENDER_MAIN9999);
                
pPlayer->PlayerTalkClass->SendGossipMenu(85002pCreature->GetGUID());
                return 
true;
                break;
            case 
3001:
          if(
pPlayer->HasItemCount(504021) && pPlayer->HasItemCount(525721) && pPlayer->HasItemCount(342041))
          {
            
pPlayer->DestroyItemCount(504021true);
            
pPlayer->DestroyItemCount(525721true);
            
pPlayer->DestroyItemCount(342041true);
            
            
LoginDatabase.PQuery("Update fusion.account_data Set dp = dp + 25 WHERE id = '%u'"pPlayer->GetSession()->GetAccountId());
            
ChatHandler(pPlayer).PSendSysMessage("Success. Your donor item has been removed and your points has been refunded.");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          } else {
            
ChatHandler(pPlayer).PSendSysMessage("Failed. Make sure you have the desired item");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          }
                break;
            case 
3002:
          if(
pPlayer->HasItemCount(421261))
          {
            
pPlayer->DestroyItemCount(421261true);
            
            
LoginDatabase.PQuery("Update fusion.account_data Set dp = dp + 15 WHERE id = '%u'"pPlayer->GetSession()->GetAccountId());
            
ChatHandler(pPlayer).PSendSysMessage("Success. Your donor item has been removed and your points has been refunded.");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          } else {
            
ChatHandler(pPlayer).PSendSysMessage("Failed. Make sure you have the desired item");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          }
                break;
            case 
3003:
          if(
pPlayer->HasItemCount(429891))
          {
            
pPlayer->DestroyItemCount(429891true);
            
            
LoginDatabase.PQuery("Update fusion.account_data Set dp = dp + 15 WHERE id = '%u'"pPlayer->GetSession()->GetAccountId());
            
ChatHandler(pPlayer).PSendSysMessage("Success. Your donor item has been removed and your points has been refunded.");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          } else {
            
ChatHandler(pPlayer).PSendSysMessage("Failed. Make sure you have the desired item");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          }
                break;
            case 
3004:
          if(
pPlayer->HasItemCount(392461))
          {
            
pPlayer->DestroyItemCount(392461true);
            
            
LoginDatabase.PQuery("Update fusion.account_data Set dp = dp + 15 WHERE id = '%u'"pPlayer->GetSession()->GetAccountId());
            
ChatHandler(pPlayer).PSendSysMessage("Success. Your donor item has been removed and your points has been refunded.");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          } else {
            
ChatHandler(pPlayer).PSendSysMessage("Failed. Make sure you have the desired item");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          }
                break;
            case 
3005:
          if(
pPlayer->HasItemCount(193361))
          {
            
pPlayer->DestroyItemCount(193361true);
            
            
LoginDatabase.PQuery("Update fusion.account_data Set dp = dp + 15 WHERE id = '%u'"pPlayer->GetSession()->GetAccountId());
            
ChatHandler(pPlayer).PSendSysMessage("Success. Your donor item has been removed and your points has been refunded.");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          } else {
            
ChatHandler(pPlayer).PSendSysMessage("Failed. Make sure you have the desired item");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          }
                break;
            case 
3012:
          if(
pPlayer->HasItemCount(385891))
          {
            
pPlayer->DestroyItemCount(385891true);
            
            
LoginDatabase.PQuery("Update fusion.account_data Set dp = dp + 15 WHERE id = '%u'"pPlayer->GetSession()->GetAccountId());
            
ChatHandler(pPlayer).PSendSysMessage("Success. Your donor item has been removed and your points has been refunded.");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          } else {
            
ChatHandler(pPlayer).PSendSysMessage("Failed. Make sure you have the desired item");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          }
                break;
           case 
3015:
          if(
pPlayer->HasItemCount(192881))
          {
            
pPlayer->DestroyItemCount(192881true);
            
            
LoginDatabase.PQuery("Update fusion.account_data Set dp = dp + 10 WHERE id = '%u'"pPlayer->GetSession()->GetAccountId());
            
ChatHandler(pPlayer).PSendSysMessage("Success. Your donor item has been removed and your points has been refunded.");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          } else {
            
ChatHandler(pPlayer).PSendSysMessage("Failed. Make sure you have the desired item");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          }
          break;
            case 
5000:
                
pPlayer->PlayerTalkClass->ClearMenus();
                
pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT"Refund: Donaters Idol = 10 DP"GOSSIP_SENDER_MAIN5001);
                
pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT"Refund: Donaters Thrown = 10 DP"GOSSIP_SENDER_MAIN5002);
                
pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT"Refund: Donaters Totem = 10 DP"GOSSIP_SENDER_MAIN5003);
                
pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT"Refund: Donaters Sigil = 10 DP"GOSSIP_SENDER_MAIN5004);
                
pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT"Refund: Donaters Libram = 10 DP"GOSSIP_SENDER_MAIN5005);
                
pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT"Refund: [Main Menu]"GOSSIP_SENDER_MAIN9999);
                
pPlayer->PlayerTalkClass->SendGossipMenu(85002pCreature->GetGUID());
                return 
true;
                break;
            case 
5001:
          if(
pPlayer->HasItemCount(504561))
          {
            
pPlayer->DestroyItemCount(504561true);
            
            
LoginDatabase.PQuery("Update fusion.account_data Set dp = dp + 10 WHERE id = '%u'"pPlayer->GetSession()->GetAccountId());
            
ChatHandler(pPlayer).PSendSysMessage("Success. Your donor item has been removed and your points has been refunded.");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          } else {
            
ChatHandler(pPlayer).PSendSysMessage("Failed. Make sure you have the desired item");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          }
                break;
            case 
5002:
          if(
pPlayer->HasItemCount(300251))
          {
            
pPlayer->DestroyItemCount(300251true);
            
            
LoginDatabase.PQuery("Update fusion.account_data Set dp = dp + 10 WHERE id = '%u'"pPlayer->GetSession()->GetAccountId());
            
ChatHandler(pPlayer).PSendSysMessage("Success. Your donor item has been removed and your points has been refunded.");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          } else {
            
ChatHandler(pPlayer).PSendSysMessage("Failed. Make sure you have the desired item");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          }
                break;
            case 
5003:
          if(
pPlayer->HasItemCount(451691))
          {
            
pPlayer->DestroyItemCount(451691true);
            
            
LoginDatabase.PQuery("Update fusion.account_data Set dp = dp + 10 WHERE id = '%u'"pPlayer->GetSession()->GetAccountId());
            
ChatHandler(pPlayer).PSendSysMessage("Success. Your donor item has been removed and your points has been refunded.");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          } else {
            
ChatHandler(pPlayer).PSendSysMessage("Failed. Make sure you have the desired item");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          }
                break;
            case 
5004:
          if(
pPlayer->HasItemCount(451441))
          {
            
pPlayer->DestroyItemCount(451441true);
            
            
LoginDatabase.PQuery("Update fusion.account_data Set dp = dp + 10 WHERE id = '%u'"pPlayer->GetSession()->GetAccountId());
            
ChatHandler(pPlayer).PSendSysMessage("Success. Your donor item has been removed and your points has been refunded.");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          } else {
            
ChatHandler(pPlayer).PSendSysMessage("Failed. Make sure you have the desired item");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          }
                break;
            case 
5005:
          if(
pPlayer->HasItemCount(504611))
          {
            
pPlayer->DestroyItemCount(504611true);
            
            
LoginDatabase.PQuery("Update fusion.account_data Set dp = dp + 10 WHERE id = '%u'"pPlayer->GetSession()->GetAccountId());
            
ChatHandler(pPlayer).PSendSysMessage("Success. Your donor item has been removed and your points has been refunded.");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          } else {
            
ChatHandler(pPlayer).PSendSysMessage("Failed. Make sure you have the desired item");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          }
                break;
         case 
10000:
          switch(
pPlayer->getClass())
          {
          case 
CLASS_WARRIOR:
          if(
pPlayer->HasItemCount(610091))
          {
            
pPlayer->DestroyItemCount(610091true);
            
            
LoginDatabase.PQuery("Update fusion.account_data Set dp = dp + 10 WHERE id = '%u'"pPlayer->GetSession()->GetAccountId());
            
ChatHandler(pPlayer).PSendSysMessage("Success. Your donor item has been removed and your points has been refunded.");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          } else {
            
ChatHandler(pPlayer).PSendSysMessage("Failed. Make sure you have the desired item");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          }
             break;
          case 
CLASS_PALADIN:
          if(
pPlayer->HasItemCount(610071))
          {
            
pPlayer->DestroyItemCount(610071true);
            
            
LoginDatabase.PQuery("Update fusion.account_data Set dp = dp + 10 WHERE id = '%u'"pPlayer->GetSession()->GetAccountId());
            
ChatHandler(pPlayer).PSendSysMessage("Success. Your donor item has been removed and your points has been refunded.");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          } else {
            
ChatHandler(pPlayer).PSendSysMessage("Failed. Make sure you have the desired item");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          }
               break;
          case 
CLASS_HUNTER:
          if(
pPlayer->HasItemCount(630051))
          {
            
pPlayer->DestroyItemCount(630051true);
            
            
LoginDatabase.PQuery("Update fusion.account_data Set dp = dp + 10 WHERE id = '%u'"pPlayer->GetSession()->GetAccountId());
            
ChatHandler(pPlayer).PSendSysMessage("Success. Your donor item has been removed and your points has been refunded.");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          } else {
            
ChatHandler(pPlayer).PSendSysMessage("Failed. Make sure you have the desired item");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          }
             break;
          case 
CLASS_ROGUE:
          if(
pPlayer->HasItemCount(610041))
          {
            
pPlayer->DestroyItemCount(610041true);
            
            
LoginDatabase.PQuery("Update fusion.account_data Set dp = dp + 10 WHERE id = '%u'"pPlayer->GetSession()->GetAccountId());
            
ChatHandler(pPlayer).PSendSysMessage("Success. Your donor item has been removed and your points has been refunded.");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          } else {
            
ChatHandler(pPlayer).PSendSysMessage("Failed. Make sure you have the desired item");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          }
              break;
           case 
CLASS_PRIEST:
          if(
pPlayer->HasItemCount(610101))
          {
            
pPlayer->DestroyItemCount(610101true);
            
            
LoginDatabase.PQuery("Update fusion.account_data Set dp = dp + 10 WHERE id = '%u'"pPlayer->GetSession()->GetAccountId());
            
ChatHandler(pPlayer).PSendSysMessage("Success. Your donor item has been removed and your points has been refunded.");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          } else {
            
ChatHandler(pPlayer).PSendSysMessage("Failed. Make sure you have the desired item");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          }
             break;
          case 
CLASS_DEATH_KNIGHT:
          if(
pPlayer->HasItemCount(610061))
          {
            
pPlayer->DestroyItemCount(610061true);
            
            
LoginDatabase.PQuery("Update fusion.account_data Set dp = dp + 10 WHERE id = '%u'"pPlayer->GetSession()->GetAccountId());
            
ChatHandler(pPlayer).PSendSysMessage("Success. Your donor item has been removed and your points has been refunded.");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          } else {
            
ChatHandler(pPlayer).PSendSysMessage("Failed. Make sure you have the desired item");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          }
                   break;
          case 
CLASS_SHAMAN:
          if(
pPlayer->HasItemCount(610011))
          {
            
pPlayer->DestroyItemCount(610011true);
            
            
LoginDatabase.PQuery("Update fusion.account_data Set dp = dp + 10 WHERE id = '%u'"pPlayer->GetSession()->GetAccountId());
            
ChatHandler(pPlayer).PSendSysMessage("Success. Your donor item has been removed and your points has been refunded.");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          } else {
            
ChatHandler(pPlayer).PSendSysMessage("Failed. Make sure you have the desired item");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          }
                 break;
          case 
CLASS_MAGE:
          if(
pPlayer->HasItemCount(610081))
          {
            
pPlayer->DestroyItemCount(610081true);
            
            
LoginDatabase.PQuery("Update fusion.account_data Set dp = dp + 10 WHERE id = '%u'"pPlayer->GetSession()->GetAccountId());
            
ChatHandler(pPlayer).PSendSysMessage("Success. Your donor item has been removed and your points has been refunded.");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          } else {
            
ChatHandler(pPlayer).PSendSysMessage("Failed. Make sure you have the desired item");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          }
             break;
          case 
CLASS_WARLOCK:
          if(
pPlayer->HasItemCount(610031))
          {
            
pPlayer->DestroyItemCount(610031true);
            
            
LoginDatabase.PQuery("Update fusion.account_data Set dp = dp + 10 WHERE id = '%u'"pPlayer->GetSession()->GetAccountId());
            
ChatHandler(pPlayer).PSendSysMessage("Success. Your donor item has been removed and your points has been refunded.");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          } else {
            
ChatHandler(pPlayer).PSendSysMessage("Failed. Make sure you have the desired item");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          }
              break;
          case 
CLASS_DRUID:
          if(
pPlayer->HasItemCount(610001))
          {
            
pPlayer->DestroyItemCount(610001true);
            
            
LoginDatabase.PQuery("Update fusion.account_data Set dp = dp + 10 WHERE id = '%u'"pPlayer->GetSession()->GetAccountId());
            
ChatHandler(pPlayer).PSendSysMessage("Success. Your donor item has been removed and your points has been refunded.");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          } else {
            
ChatHandler(pPlayer).PSendSysMessage("Failed. Make sure you have the desired item");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          }
                break;

          default: break;
          }
          break;
         case 
11000// donors talisman
          
switch(pPlayer->getClass())
          {
          case 
CLASS_WARRIOR:
          if(
pPlayer->HasItemCount(324851))
          {
            
pPlayer->DestroyItemCount(324851true);
            
            
LoginDatabase.PQuery("Update fusion.account_data Set dp = dp + 20 WHERE id = '%u'"pPlayer->GetSession()->GetAccountId());
            
ChatHandler(pPlayer).PSendSysMessage("Success. Your donor item has been removed and your points has been refunded.");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          } else {
            
ChatHandler(pPlayer).PSendSysMessage("Failed. Make sure you have the desired item");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          }
             break;
          case 
CLASS_PALADIN:
          if(
pPlayer->HasItemCount(324891))
          {
            
pPlayer->DestroyItemCount(324891true);
            
            
LoginDatabase.PQuery("Update fusion.account_data Set dp = dp + 20 WHERE id = '%u'"pPlayer->GetSession()->GetAccountId());
            
ChatHandler(pPlayer).PSendSysMessage("Success. Your donor item has been removed and your points has been refunded.");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          } else {
            
ChatHandler(pPlayer).PSendSysMessage("Failed. Make sure you have the desired item");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          }
               break;
          case 
CLASS_HUNTER:
          if(
pPlayer->HasItemCount(324871))
          {
            
pPlayer->DestroyItemCount(324871true);
            
            
LoginDatabase.PQuery("Update fusion.account_data Set dp = dp + 20 WHERE id = '%u'"pPlayer->GetSession()->GetAccountId());
            
ChatHandler(pPlayer).PSendSysMessage("Success. Your donor item has been removed and your points has been refunded.");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          } else {
            
ChatHandler(pPlayer).PSendSysMessage("Failed. Make sure you have the desired item");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          }
             break;
          case 
CLASS_ROGUE:
          if(
pPlayer->HasItemCount(324921))
          {
            
pPlayer->DestroyItemCount(324921true);
            
            
LoginDatabase.PQuery("Update fusion.account_data Set dp = dp + 20 WHERE id = '%u'"pPlayer->GetSession()->GetAccountId());
            
ChatHandler(pPlayer).PSendSysMessage("Success. Your donor item has been removed and your points has been refunded.");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          } else {
            
ChatHandler(pPlayer).PSendSysMessage("Failed. Make sure you have the desired item");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          }
              break;
           case 
CLASS_PRIEST:
          if(
pPlayer->HasItemCount(324901))
          {
            
pPlayer->DestroyItemCount(324901true);
            
            
LoginDatabase.PQuery("Update fusion.account_data Set dp = dp + 20 WHERE id = '%u'"pPlayer->GetSession()->GetAccountId());
            
ChatHandler(pPlayer).PSendSysMessage("Success. Your donor item has been removed and your points has been refunded.");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          } else {
            
ChatHandler(pPlayer).PSendSysMessage("Failed. Make sure you have the desired item");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          }
             break;
          case 
CLASS_DEATH_KNIGHT:
          if(
pPlayer->HasItemCount(216701))
          {
            
pPlayer->DestroyItemCount(216701true);
            
            
LoginDatabase.PQuery("Update fusion.account_data Set dp = dp + 20 WHERE id = '%u'"pPlayer->GetSession()->GetAccountId());
            
ChatHandler(pPlayer).PSendSysMessage("Success. Your donor item has been removed and your points has been refunded.");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          } else {
            
ChatHandler(pPlayer).PSendSysMessage("Failed. Make sure you have the desired item");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          }
                   break;
          case 
CLASS_SHAMAN:
          if(
pPlayer->HasItemCount(324911))
          {
            
pPlayer->DestroyItemCount(324911true);
            
            
LoginDatabase.PQuery("Update fusion.account_data Set dp = dp + 20 WHERE id = '%u'"pPlayer->GetSession()->GetAccountId());
            
ChatHandler(pPlayer).PSendSysMessage("Success. Your donor item has been removed and your points has been refunded.");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          } else {
            
ChatHandler(pPlayer).PSendSysMessage("Failed. Make sure you have the desired item");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          }
                 break;
          case 
CLASS_MAGE:
          if(
pPlayer->HasItemCount(324881))
          {
            
pPlayer->DestroyItemCount(324881true);
            
            
LoginDatabase.PQuery("Update fusion.account_data Set dp = dp + 20 WHERE id = '%u'"pPlayer->GetSession()->GetAccountId());
            
ChatHandler(pPlayer).PSendSysMessage("Success. Your donor item has been removed and your points has been refunded.");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          } else {
            
ChatHandler(pPlayer).PSendSysMessage("Failed. Make sure you have the desired item");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          }
             break;
          case 
CLASS_WARLOCK:
          if(
pPlayer->HasItemCount(324931))
          {
            
pPlayer->DestroyItemCount(324931true);
            
            
LoginDatabase.PQuery("Update fusion.account_data Set dp = dp + 20 WHERE id = '%u'"pPlayer->GetSession()->GetAccountId());
            
ChatHandler(pPlayer).PSendSysMessage("Success. Your donor item has been removed and your points has been refunded.");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          } else {
            
ChatHandler(pPlayer).PSendSysMessage("Failed. Make sure you have the desired item");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          }
              break;
          case 
CLASS_DRUID:
          if(
pPlayer->HasItemCount(324861))
          {
            
pPlayer->DestroyItemCount(324861true);
            
            
LoginDatabase.PQuery("Update fusion.account_data Set dp = dp + 20 WHERE id = '%u'"pPlayer->GetSession()->GetAccountId());
            
ChatHandler(pPlayer).PSendSysMessage("Success. Your donor item has been removed and your points has been refunded.");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          } else {
            
ChatHandler(pPlayer).PSendSysMessage("Failed. Make sure you have the desired item");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          }
                break;

          default: break;
          }
          break;
         case 
12000// donors set
          
switch(pPlayer->getClass())
          {
          case 
CLASS_WARRIOR:
          if(
pPlayer->HasItemCount(650151) && pPlayer->HasItemCount(650161) && pPlayer->HasItemCount(650171) && pPlayer->HasItemCount(650181) && pPlayer->HasItemCount(650191))
          {
            
pPlayer->DestroyItemCount(650151true);
            
pPlayer->DestroyItemCount(650161true);
            
pPlayer->DestroyItemCount(650171true);
            
pPlayer->DestroyItemCount(650181true);
            
pPlayer->DestroyItemCount(650191true);
            
            
LoginDatabase.PQuery("Update fusion.account_data Set dp = dp + 75 WHERE id = '%u'"pPlayer->GetSession()->GetAccountId());
            
ChatHandler(pPlayer).PSendSysMessage("Success. Your donor item has been removed and your points has been refunded.");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          } else {
            
ChatHandler(pPlayer).PSendSysMessage("Failed. Make sure you have the desired item");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          }
             break;
          case 
CLASS_PALADIN:
          if(
pPlayer->HasItemCount(650351) && pPlayer->HasItemCount(650361) && pPlayer->HasItemCount(650371) && pPlayer->HasItemCount(650381) && pPlayer->HasItemCount(650391))
          {
            
pPlayer->DestroyItemCount(650351true);
            
pPlayer->DestroyItemCount(650361true);
            
pPlayer->DestroyItemCount(650371true);
            
pPlayer->DestroyItemCount(650381true);
            
pPlayer->DestroyItemCount(650391true);
            
            
LoginDatabase.PQuery("Update fusion.account_data Set dp = dp + 75 WHERE id = '%u'"pPlayer->GetSession()->GetAccountId());
            
ChatHandler(pPlayer).PSendSysMessage("Success. Your donor item has been removed and your points has been refunded.");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          } else {
            
ChatHandler(pPlayer).PSendSysMessage("Failed. Make sure you have the desired item");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          }
               break;
          case 
CLASS_HUNTER:
          if(
pPlayer->HasItemCount(650051) && pPlayer->HasItemCount(650061) && pPlayer->HasItemCount(650071) && pPlayer->HasItemCount(650081) && pPlayer->HasItemCount(650091))
          {
            
pPlayer->DestroyItemCount(650051true);
            
pPlayer->DestroyItemCount(650061true);
            
pPlayer->DestroyItemCount(650071true);
            
pPlayer->DestroyItemCount(650081true);
            
pPlayer->DestroyItemCount(650091true);
            
            
LoginDatabase.PQuery("Update fusion.account_data Set dp = dp + 75 WHERE id = '%u'"pPlayer->GetSession()->GetAccountId());
            
ChatHandler(pPlayer).PSendSysMessage("Success. Your donor item has been removed and your points has been refunded.");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          } else {
            
ChatHandler(pPlayer).PSendSysMessage("Failed. Make sure you have the desired item");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          }
             break;
          case 
CLASS_ROGUE:
          if(
pPlayer->HasItemCount(650101) && pPlayer->HasItemCount(650111) && pPlayer->HasItemCount(650121) && pPlayer->HasItemCount(650131) && pPlayer->HasItemCount(650141))
          {
            
pPlayer->DestroyItemCount(650101true);
            
pPlayer->DestroyItemCount(650111true);
            
pPlayer->DestroyItemCount(650121true);
            
pPlayer->DestroyItemCount(650131true);
            
pPlayer->DestroyItemCount(650141true);
            
LoginDatabase.PQuery("Update fusion.account_data Set dp = dp + 75 WHERE id = '%u'"pPlayer->GetSession()->GetAccountId());
            
ChatHandler(pPlayer).PSendSysMessage("Success. Your donor item has been removed and your points has been refunded.");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          } else {
            
ChatHandler(pPlayer).PSendSysMessage("Failed. Make sure you have the desired item");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          }
              break;
           case 
CLASS_PRIEST:
          if(
pPlayer->HasItemCount(650201) && pPlayer->HasItemCount(650211) && pPlayer->HasItemCount(650221) && pPlayer->HasItemCount(650231) && pPlayer->HasItemCount(650241))
          {
            
pPlayer->DestroyItemCount(650201true);
            
pPlayer->DestroyItemCount(650211true);
            
pPlayer->DestroyItemCount(650221true);
            
pPlayer->DestroyItemCount(650231true);
            
pPlayer->DestroyItemCount(650241true);
            
            
LoginDatabase.PQuery("Update fusion.account_data Set dp = dp + 75 WHERE id = '%u'"pPlayer->GetSession()->GetAccountId());
            
ChatHandler(pPlayer).PSendSysMessage("Success. Your donor item has been removed and your points has been refunded.");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          } else {
            
ChatHandler(pPlayer).PSendSysMessage("Failed. Make sure you have the desired item");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          }
             break;
          case 
CLASS_DEATH_KNIGHT:
          if(
pPlayer->HasItemCount(650001) && pPlayer->HasItemCount(650011) && pPlayer->HasItemCount(650021) && pPlayer->HasItemCount(650031) && pPlayer->HasItemCount(650041))
          {
            
pPlayer->DestroyItemCount(650001true);
            
pPlayer->DestroyItemCount(650011true);
            
pPlayer->DestroyItemCount(650021true);
            
pPlayer->DestroyItemCount(650031true);
            
pPlayer->DestroyItemCount(650041true);
            
            
LoginDatabase.PQuery("Update fusion.account_data Set dp = dp + 75 WHERE id = '%u'"pPlayer->GetSession()->GetAccountId());
            
ChatHandler(pPlayer).PSendSysMessage("Success. Your donor item has been removed and your points has been refunded.");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          } else {
            
ChatHandler(pPlayer).PSendSysMessage("Failed. Make sure you have the desired item");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          }
                   break;
          case 
CLASS_SHAMAN:
          if(
pPlayer->HasItemCount(650401) && pPlayer->HasItemCount(650411) && pPlayer->HasItemCount(650421) && pPlayer->HasItemCount(650431) && pPlayer->HasItemCount(650441))
          {
            
pPlayer->DestroyItemCount(650401true);
            
pPlayer->DestroyItemCount(650411true);
            
pPlayer->DestroyItemCount(650421true);
            
pPlayer->DestroyItemCount(650431true);
            
pPlayer->DestroyItemCount(650441true);
            
            
LoginDatabase.PQuery("Update fusion.account_data Set dp = dp + 75 WHERE id = '%u'"pPlayer->GetSession()->GetAccountId());
            
ChatHandler(pPlayer).PSendSysMessage("Success. Your donor item has been removed and your points has been refunded.");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          } else {
            
ChatHandler(pPlayer).PSendSysMessage("Failed. Make sure you have the desired item");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          }
                 break;
          case 
CLASS_MAGE:
          if(
pPlayer->HasItemCount(650451) && pPlayer->HasItemCount(650461) && pPlayer->HasItemCount(650471) && pPlayer->HasItemCount(650481) && pPlayer->HasItemCount(650491))
          {
            
pPlayer->DestroyItemCount(650451true);
            
pPlayer->DestroyItemCount(650461true);
            
pPlayer->DestroyItemCount(650471true);
            
pPlayer->DestroyItemCount(650481true);
            
pPlayer->DestroyItemCount(650491true);
            
            
LoginDatabase.PQuery("Update fusion.account_data Set dp = dp + 75 WHERE id = '%u'"pPlayer->GetSession()->GetAccountId());
            
ChatHandler(pPlayer).PSendSysMessage("Success. Your donor item has been removed and your points has been refunded.");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          } else {
            
ChatHandler(pPlayer).PSendSysMessage("Failed. Make sure you have the desired item");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          }
             break;
          case 
CLASS_WARLOCK:
          if(
pPlayer->HasItemCount(650301) && pPlayer->HasItemCount(650311) && pPlayer->HasItemCount(650321) && pPlayer->HasItemCount(650331) && pPlayer->HasItemCount(650341))
          {
            
pPlayer->DestroyItemCount(650301true);
            
pPlayer->DestroyItemCount(650311true);
            
pPlayer->DestroyItemCount(650321true);
            
pPlayer->DestroyItemCount(650331true);
            
pPlayer->DestroyItemCount(650341true);
            
            
LoginDatabase.PQuery("Update fusion.account_data Set dp = dp + 75 WHERE id = '%u'"pPlayer->GetSession()->GetAccountId());
            
ChatHandler(pPlayer).PSendSysMessage("Success. Your donor item has been removed and your points has been refunded.");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          } else {
            
ChatHandler(pPlayer).PSendSysMessage("Failed. Make sure you have the desired item");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          }
              break;
          case 
CLASS_DRUID:
          if(
pPlayer->HasItemCount(650251) && pPlayer->HasItemCount(650261) && pPlayer->HasItemCount(650271) && pPlayer->HasItemCount(650281) && pPlayer->HasItemCount(650291))
          {
            
pPlayer->DestroyItemCount(650251true);
            
pPlayer->DestroyItemCount(650261true);
            
pPlayer->DestroyItemCount(650271true);
            
pPlayer->DestroyItemCount(650281true);
            
pPlayer->DestroyItemCount(650291true);
            
            
LoginDatabase.PQuery("Update fusion.account_data Set dp = dp + 75 WHERE id = '%u'"pPlayer->GetSession()->GetAccountId());
            
ChatHandler(pPlayer).PSendSysMessage("Success. Your donor item has been removed and your points has been refunded.");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          } else {
            
ChatHandler(pPlayer).PSendSysMessage("Failed. Make sure you have the desired item");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          }
                break;

          default: break;
          }
          break;
         case 
9997:
                
pPlayer->PlayerTalkClass->ClearMenus();
                
pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT"Refund: Are you sure you wish to sell your frostmourne?"GOSSIP_SENDER_MAIN9997);
                
pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT"Refund: Yes."GOSSIP_SENDER_MAIN9996);
                
pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT"Refund: No."GOSSIP_SENDER_MAIN9999);
                
pPlayer->PlayerTalkClass->SendGossipMenu(85002pCreature->GetGUID());
                return 
true;
                break;
            case 
9999:
                
pPlayer->PlayerTalkClass->ClearMenus();
                
OnGossipHello(pPlayerpCreature);
                break;
         case 
9996:
          if(
pPlayer->HasItemCount(277691))
          {
            
pPlayer->DestroyItemCount(277691true);
            
            
LoginDatabase.PQuery("Update fusion.account_data Set dp = dp + 35 WHERE id = '%u'"pPlayer->GetSession()->GetAccountId());
            
ChatHandler(pPlayer).PSendSysMessage("Success. Your donor item has been removed and your points has been refunded.");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          } else {
            
ChatHandler(pPlayer).PSendSysMessage("Failed. Make sure you have the desired item");
            
pPlayer->PlayerTalkClass->SendCloseGossip();
          }
                break;
            }

            return 
true;
     }
};
void AddSC_refundvendor()
{
    new 
refundvendor();
}  

منبع : Irancore