Advertisement
Guest User

Untitled

a guest
Aug 27th, 2015
612
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.74 KB | None | 0 0
  1. case USE_CHANGE_ATTRIBUTE :
  2.     if (item2->GetAttributeSetIndex() == -1)
  3.     {
  4.         ChatPacket(CHAT_TYPE_INFO, LC_TEXT("¼Ó¼ºÀ» º¯°æÇÒ ¼ö ¾ø´Â ¾ÆÀÌÅÛÀÔ´Ï´Ù."));
  5.         return false;
  6.     }
  7.  
  8.     if (item2->GetAttributeCount() == 0)
  9.     {
  10.         ChatPacket(CHAT_TYPE_INFO, LC_TEXT("º¯°æÇÒ ¼Ó¼ºÀÌ ¾ø½À´Ï´Ù."));
  11.         return false;
  12.     }
  13.  
  14.     if (GM_PLAYER == GetGMLevel() && false == test_server)
  15.     {
  16.         DWORD dwChangeItemAttrCycle = quest::CQuestManager::instance().GetEventFlag(msc_szChangeItemAttrCycleFlag);
  17.         if (dwChangeItemAttrCycle < msc_dwDefaultChangeItemAttrCycle)
  18.             dwChangeItemAttrCycle = msc_dwDefaultChangeItemAttrCycle;
  19.     }
  20.  
  21.     if (item->GetSubType() == USE_CHANGE_ATTRIBUTE2)
  22.     {
  23.         int aiChangeProb[ITEM_ATTRIBUTE_MAX_LEVEL] =
  24.         {
  25.             0, 0, 30, 40, 3
  26.         };
  27.  
  28.         item2->ChangeAttribute(aiChangeProb);
  29.     }
  30.     else if (item->GetVnum() == 76014)
  31.     {
  32.         int aiChangeProb[ITEM_ATTRIBUTE_MAX_LEVEL] =
  33.         {
  34.             0, 10, 50, 39, 1
  35.         };
  36.  
  37.         item2->ChangeAttribute(aiChangeProb);
  38.     }
  39.  
  40.     else
  41.     {
  42.         // ¿¬Àç°æ Ư¼öó¸®
  43.         // Àý´ë·Î ¿¬Àç°¡ Ãß°¡ ¾ÈµÉ°Å¶ó ÇÏ¿© Çϵå ÄÚµùÇÔ.
  44.         if (item->GetVnum() == 71151 || item->GetVnum() == 76023)
  45.         {
  46.             if ((item2->GetType() == ITEM_WEAPON)
  47.                 || (item2->GetType() == ITEM_ARMOR && item2->GetSubType() == ARMOR_BODY))
  48.             {
  49.                 bool bCanUse = true;
  50.                 for (int i = 0; i < ITEM_LIMIT_MAX_NUM; ++i)
  51.                 {
  52.                     if (item2->GetLimitType(i) == LIMIT_LEVEL && item2->GetLimitValue(i) > 40)
  53.                     {
  54.                         bCanUse = false;
  55.                         break;
  56.                     }
  57.                 }
  58.                 if (false == bCanUse)
  59.                 {
  60.                     ChatPacket(CHAT_TYPE_INFO, LC_TEXT("Àû¿ë ·¹º§º¸´Ù ³ô¾Æ »ç¿ëÀÌ ºÒ°¡´ÉÇÕ´Ï´Ù."));
  61.                     break;
  62.                 }
  63.             }
  64.             else
  65.             {
  66.                 ChatPacket(CHAT_TYPE_INFO, LC_TEXT("¹«±â¿Í °©¿Ê¿¡¸¸ »ç¿ë °¡´ÉÇÕ´Ï´Ù."));
  67.                 break;
  68.             }
  69.         }
  70.  
  71.         // Transform Costume
  72.         if (item->GetVnum() == 70063)
  73.         {
  74.             if (item2->GetType() != ITEM_COSTUME)
  75.             {
  76.                 ChatPacket(CHAT_TYPE_INFO, LC_TEXT("ITEM_ISNT_COSTUME"));
  77.                 return false;
  78.             }
  79.             if (item2->GetAttributeCount() < 3)
  80.             {
  81.                 if (number(1, 100) < 30)
  82.                 {
  83.                     while (item2->GetAttributeCount() < number(2, 3))
  84.                         item2->AddAttribute();
  85.                 }
  86.             }
  87.         }
  88.         // Enchant Costume
  89.         if (item->GetVnum() == 70064)
  90.         {
  91.             if (item2->GetType() != ITEM_COSTUME)
  92.             {
  93.                 ChatPacket(CHAT_TYPE_INFO, LC_TEXT("ITEM_ISNT_COSTUME"));
  94.                 return false;
  95.             }
  96.         }
  97.         item2->ChangeAttribute();
  98.     }
  99.  
  100.     ChatPacket(CHAT_TYPE_INFO, LC_TEXT("¼Ó¼ºÀ» º¯°æÇÏ¿´½À´Ï´Ù."));
  101.     {
  102.         char buf[21];
  103.         snprintf(buf, sizeof(buf), "%u", item2->GetID());
  104.         LogManager::instance().ItemLog(this, item, "CHANGE_ATTRIBUTE", buf);
  105.     }
  106.  
  107.     item->SetCount(item->GetCount() - 1);
  108.     break;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement