Look at this line in skill.c
if( rnd() % 100 > skill_lv * 8 || (dstmd && ((dstmd->guardian_data && dstmd->class_ == MOBID_EMPERIUM) || mob_is_battleground(dstmd))) )
There the fail chance is being evaluated, in this case a percent chance of skill_lv*8 and a random. Change it to your needs