Junior Spellweaver
- Joined
- Feb 25, 2014
- Messages
- 163
- Reaction score
- 40
Hello, not sure if this has been released before but here it is.
DISABLING AWAKES
Since in my opinion this is overpowered and awakening pets/fashions should never have existed, here is how I disabled awakes on everything but suits, weapons and shield.
randomoption.cpp -> Change CRandomOptionProperty::GetRandomOptionKind to:
DISABLING WEAPON PIERCING
This is also something that should have never existed in my opinion, this will disable the possibility to pierce weapons.
This is how I did it and seems to work, if you have a better solution feel free to comment below.
Item.cpp -> In the function BOOL CItemElem::IsPierceAble
Search for:
Add below:
Lastly, add the defines in your ServerCommon.h or whatever file you use to define stuff.
DISABLING AWAKES
Since in my opinion this is overpowered and awakening pets/fashions should never have existed, here is how I disabled awakes on everything but suits, weapons and shield.
randomoption.cpp -> Change CRandomOptionProperty::GetRandomOptionKind to:
Code:
int CRandomOptionProperty::GetRandomOptionKind( CItemElem* pItemElem )
{
ItemProp* pProp = pItemElem->GetProp();
switch( pProp->dwParts )
{
case PARTS_UPPER_BODY:
case PARTS_RWEAPON:
case PARTS_SHIELD:
#ifndef __ONLY_SUIT_AWAKES
#if __VER >= 12 // __J12_0
// °¢¼º °¡´É ÆÄÃ÷ Ãß°¡
case PARTS_HAND: // ¼Õ
case PARTS_FOOT: // ¹ß
case PARTS_CAP: // ¸Ó¸®
#endif // __J12_0
case PARTS_CLOTH:
case PARTS_CLOAK:
#if __VER >= 12 // __J12_0
case PARTS_HAT: // °Ñ¿Ê ¸Ó¸®
case PARTS_GLOVE: // °Ñ¿Ê ¼Õ
case PARTS_BOOTS: // °Ñ¿Ê ¹ß
#endif // __J12_0
return static_cast<int>( eBlessing );
#if __VER >= 12 // __PET_0519
default:
{
// C±Þ ÀÌ»óÀÇ ½Ã½ºÅÛ ÆêÀΰ¡?
if( pProp->dwItemKind3 == IK3_EGG && pItemElem->m_pPet && pItemElem->m_pPet->GetLevel() >= PL_C )
return static_cast<int>( eSystemPet );
// ¸ÔÆêÀΰ¡?
else if( pProp->dwItemKind3 == IK3_PET )
return static_cast<int>( eEatPet );
break;
}
#endif // __PET_0519
#endif
return static_cast<int>(eAwakening);
}
return -1;
}
DISABLING WEAPON PIERCING
This is also something that should have never existed in my opinion, this will disable the possibility to pierce weapons.
This is how I did it and seems to work, if you have a better solution feel free to comment below.
Item.cpp -> In the function BOOL CItemElem::IsPierceAble
Search for:
Code:
if( GetProp()->dwItemKind3 == IK3_SUIT )
{
if( nPiercedSize <= MAX_PIERCING_SUIT )
{
if( dwTargetItemKind3 == NULL_ID )
return TRUE;
else if( dwTargetItemKind3 == IK3_SOCKETCARD )
return TRUE;
}
}
Add below:
Code:
#ifndef __ONLY_SUIT_PIERCING
else if (GetProp()->dwItemKind3 == IK3_SHIELD
|| GetProp()->dwItemKind2 == IK2_WEAPON_DIRECT
|| GetProp()->dwItemKind2 == IK2_WEAPON_MAGIC
)
{
if (nPiercedSize <= MAX_PIERCING_WEAPON)
{
if (dwTargetItemKind3 == NULL_ID)
return TRUE;
else if (dwTargetItemKind3 == IK3_SOCKETCARD2)
return TRUE;
}
}
#endif // !__ONLY_SUIT_PIERCING
Lastly, add the defines in your ServerCommon.h or whatever file you use to define stuff.
Code:
#define __ONLY_SUIT_AWAKES
#define __ONLY_SUIT_PIERCING