Jump to content

Recommended Posts

Here is an other way with using socket_pct from item_proto (you'll be able to set different effects for costumes):

In UserInterface\InstanceBase.cpp -> UINT CInstanceBase::__GetRefinedEffect(CItemData* pItem) add after 'case CItemData::ITEM_TYPE_ARMOR:':

	case CItemData::ITEM_TYPE_COSTUME:
		if (refine < 7)
			return 0;

		if (pItem->GetSubType() == CItemData::COSTUME_BODY)
		{
			__ClearArmorRefineEffect();
			m_armorRefineEffect = EFFECT_REFINED+EFFECT_BODYARMOR_REFINED7+refine-7;
			__AttachEffect(m_armorRefineEffect);
		}
		break;

Regards.

  • Love 1
Link to comment
Share on other sites

13 minutes ago, wezt said:

Here is an other way with using socket_pct from item_proto (you'll be able to set different effects for costumes):

In UserInterface\InstanceBase.cpp -> UINT CInstanceBase::__GetRefinedEffect(CItemData* pItem) add after 'case CItemData::ITEM_TYPE_ARMOR:':


	case CItemData::ITEM_TYPE_COSTUME:
		if (refine < 7)
			return 0;

		if (pItem->GetSubType() == CItemData::COSTUME_BODY)
		{
			__ClearArmorRefineEffect();
			m_armorRefineEffect = EFFECT_REFINED+EFFECT_BODYARMOR_REFINED7+refine-7;
			__AttachEffect(m_armorRefineEffect);
		}
		break;

Regards.

Another solution easier:

 

#ifdef __ENABLE_EFFECT_COSTUME_FUNCTION_PROTO_ 
	case CItemData::ITEM_TYPE_COSTUME:
	
		if (pItem->GetSubType() == CItemData::COSTUME_BODY)
		{
			DWORD vnum = pItem->GetIndex();
			long value_proto = pItem->GetValue(3);

			if (value_proto == 1000)
				__AttachEffect(EFFECT_REFINED+EFFECT_COSTUME_TITAN_1);
			else  if (value_proto == 1500)
				__AttachEffect(EFFECT_REFINED+EFFECT_COSTUME_TITAN_2);
			else  if (value_proto == 2000)
				__AttachEffect(EFFECT_REFINED+EFFECT_COSTUME_TITAN_3);
			else  if (value_proto == 2500)
				__AttachEffect(EFFECT_REFINED+EFFECT_COSTUME_TITAN_4);
			else  if (value_proto == 3000)
				__AttachEffect(EFFECT_REFINED+EFFECT_COSTUME_TITAN_5);
		}
}
#endif

  

  • Good 1
  • Love 1
Link to comment
Share on other sites

17 minutes ago, VegaS said:
30 minutes ago, wezt said:

Here is an other way with using socket_pct from item_proto (you'll be able to set different effects for costumes):

In UserInterface\InstanceBase.cpp -> UINT CInstanceBase::__GetRefinedEffect(CItemData* pItem) add after 'case CItemData::ITEM_TYPE_ARMOR:':



	case CItemData::ITEM_TYPE_COSTUME:
		if (refine < 7)
			return 0;

		if (pItem->GetSubType() == CItemData::COSTUME_BODY)
		{
			__ClearArmorRefineEffect();
			m_armorRefineEffect = EFFECT_REFINED+EFFECT_BODYARMOR_REFINED7+refine-7;
			__AttachEffect(m_armorRefineEffect);
		}
		break;

Regards.

Another solution easier:

 


#ifdef __ENABLE_EFFECT_COSTUME_FUNCTION_PROTO_ 
	case CItemData::ITEM_TYPE_COSTUME:
	
		if (pItem->GetSubType() == CItemData::COSTUME_BODY)
		{
			DWORD vnum = pItem->GetIndex();
			long value_proto = pItem->GetValue(3);

			if (value_proto == 1000)
				__AttachEffect(EFFECT_REFINED+EFFECT_COSTUME_TITAN_1);
			else  if (value_proto == 1500)
				__AttachEffect(EFFECT_REFINED+EFFECT_COSTUME_TITAN_2);
			else  if (value_proto == 2000)
				__AttachEffect(EFFECT_REFINED+EFFECT_COSTUME_TITAN_3);
			else  if (value_proto == 2500)
				__AttachEffect(EFFECT_REFINED+EFFECT_COSTUME_TITAN_4);
			else  if (value_proto == 3000)
				__AttachEffect(EFFECT_REFINED+EFFECT_COSTUME_TITAN_5);
		}
}
#endif

  

Pls do not take it as some kind of competition :)


But in my client I don't use anymore 'DWORD refine = max(pItem->GetRefine() + pItem->GetSocketCount(), CItemData::ITEM_SOCKET_MAX_NUM) - CItemData::ITEM_SOCKET_MAX_NUM;'

I've made something like this:

m_armorRefineEffect = EFFECT_REFINED+pItem->GetSocketCount();
__AttachEffect(m_armorRefineEffect);

 

This way more easier (IMHO) :)

PS: Ofc for this way you'll need to edit values of socket_pct in whole item_proto.

Regards.

Edited by wezt
  • Love 1
Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

Announcements



  • Similar Content

  • Activity

    1. 60

      Inbuild GR2 Animation

    2. 2

      wait() function bug

    3. 0

      Remove Party Role Bonuses

    4. 1

      Fix CBar3D

    5. 2

      set_quest_state not working

    6. 1

      Fix CBar3D

  • Recently Browsing

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

Terms of Use / Privacy Policy / Guidelines / We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.