Jump to content
  • 0

How add effect to costume?


Iηfιηιт²⁴ᵏ

Question

4 answers to this question

Recommended Posts

  • 0

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

  • 0
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

  

  • Love 1
Link to comment
Share on other sites

  • 0
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

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


×
×
  • 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.