In char_battle.cpp file
In the function:
bool CHARACTER::Damage(...)
In the skills statement:
if (type == DAMAGE_TYPE_MELEE || type == DAMAGE_TYPE_RANGE || type == DAMAGE_TYPE_MAGIC)
These boys
iCriticalPct -= GetPoint(POINT_RESIST_CRITICAL);
iPenetratePct -= GetPoint(POINT_RESIST_PENETRATE);
are getting calculated after the Korean nerf used for skills (If you have 100% critical, your skills won't be always critical like normal hits).
Using a determinated amount of resistance in the gameplay you can lead the real bonus to reach 0%, so no critical skills in PvP (Mob doesn't have the bonus by default).
To fix the problem you should just move the resist calculation after the critical check >0.
Eg:
if (iCriticalPct)
{
iCriticalPct -= GetPoint(POINT_RESIST_CRITICAL);
// OLD YMIR CALCULATION
if (iCriticalPct >= 10)
iCriticalPct = 5 + (iCriticalPct - 10) / 4;
else
iCriticalPct /= 2;
if (number(1, 100) <= iCriticalPct)
....
}