find
Code:
gObjectManager.CharacterLifeCheck(lpObj,lpTarget,(damage-ShieldDamage),0,flag,effect,((lpSkill==0)?0:lpSkill->m_index),ShieldDamage);
in attack.cpp and add on top check for reflect skill so it looks like this:
Code:
else if (lpTarget->Inventory[8].IsItem() == 0 || (lpTarget->Inventory[8].m_Index != GET_ITEM(13, 2) && lpTarget->Inventory[8].m_Index != GET_ITEM(13, 3) && lpTarget->Inventory[8].m_Index != GET_ITEM(13, 4) && lpTarget->Inventory[8].m_Index != GET_ITEM(13, 37)))
{
if ((GetLargeRand() % 100) < gServerInfo.m_DamageStuckRate[lpTarget->Class])
{
flag = 1;
}
}
gObjectManager.CharacterLifeCheck(lpObj,lpTarget,(damage-ShieldDamage),0,flag,effect,((lpSkill==0)?0:lpSkill->m_index),ShieldDamage);