there's easy formular, think easy :D<br/> accurate = A.dex * 0.1; evasion = B.dex * 0.05 - totalWeight(items)*0.5; chance = ((accurate - evasion)/accurate)*100; if(chance < 0) return miss; else if(random(100) > chance) return miss; else return hit;