Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- UINT CInstanceBase::__GetRefinedEffect(CItemData* pItem)
- {
- DWORD refine = max(pItem->GetRefine() + pItem->GetSocketCount(), CItemData::ITEM_SOCKET_MAX_NUM) - CItemData::ITEM_SOCKET_MAX_NUM;
- switch (pItem->GetType())
- {
- case CItemData::ITEM_TYPE_WEAPON:
- __ClearWeaponRefineEffect();
- if (refine < 7)
- return 0;
- switch (pItem->GetSubType())
- {
- case CItemData::WEAPON_DAGGER:
- m_swordRefineEffectRight = EFFECT_REFINED + EFFECT_SMALLSWORD_REFINED7 + refine - 7;
- m_swordRefineEffectLeft = EFFECT_REFINED + EFFECT_SMALLSWORD_REFINED7_LEFT + refine - 7;
- break;
- case CItemData::WEAPON_FAN:
- m_swordRefineEffectRight = EFFECT_REFINED + EFFECT_FANBELL_REFINED7 + refine - 7;
- break;
- case CItemData::WEAPON_ARROW:
- case CItemData::WEAPON_BELL:
- m_swordRefineEffectRight = EFFECT_REFINED + EFFECT_SMALLSWORD_REFINED7 + refine - 7;
- break;
- case CItemData::WEAPON_BOW:
- m_swordRefineEffectRight = EFFECT_REFINED + EFFECT_BOW_REFINED7 + refine - 7;
- break;
- default:
- m_swordRefineEffectRight = EFFECT_REFINED + EFFECT_SWORD_REFINED7 + refine - 7;
- }
- if (m_swordRefineEffectRight)
- m_swordRefineEffectRight = __AttachEffect(m_swordRefineEffectRight);
- if (m_swordRefineEffectLeft)
- m_swordRefineEffectLeft = __AttachEffect(m_swordRefineEffectLeft);
- break;
- case CItemData::ITEM_TYPE_ARMOR:
- __ClearArmorRefineEffect();
- if (pItem->GetSubType() == CItemData::ARMOR_BODY)
- {
- DWORD vnum = pItem->GetIndex();
- if (12010 <= vnum && vnum <= 12049)
- {
- __AttachEffect(EFFECT_REFINED + EFFECT_BODYARMOR_SPECIAL);
- __AttachEffect(EFFECT_REFINED + EFFECT_BODYARMOR_SPECIAL2);
- }
- if (!shiningdata.empty())
- {
- for (shiningit = shiningdata.begin(); shiningit != shiningdata.end(); shiningit++)
- if (shiningit->first == vnum)
- {
- std::string substr(shiningit->second);
- std::vector<string> chars;
- boost::split(chars, substr, boost::is_any_of("#"));
- for (std::vector<string>::size_type i = 0; i != chars.size(); i++)
- {
- __AttachEffectToArmours(chars[i]);
- }
- }
- }
- }
- if (refine < 7)
- return 0;
- if (pItem->GetSubType() == CItemData::ARMOR_BODY)
- {
- m_armorRefineEffect = EFFECT_REFINED + EFFECT_BODYARMOR_REFINED7 + refine - 7;
- __AttachEffect(m_armorRefineEffect);
- }
- break;
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement