Well, from what I've heard chance to hit is something like... Math.max(a, (b-DV)/DV)... in which a is some constant (like 5%?) and b is monster bonus to hit... If monster has lower to hit than DV...