- number of squares from attacker to target is Distance, diagonals count as 1.41
- take unit Precision, effects like storm apply here
- add weapon/spell Precision
- if Precision is 75+ hit and abort the rest
- double Precision above 10 and use this as the Score
- 4% for halved Score, 2% for 1/3 Score
- if (Score/2-2) >= Distance hit and abort the rest
- calculate ( (random between 0 and Score-1)+(Distance*1.25, rounded down) )/Score and round down the Result
- random between 0 and Result = Deviation
- for each point of Deviation, do two random rolls: (1, 0, or -1) on the vertical axis, and (1, 0, or -1) on the horizontal axis