Original OpenXcom code has:
https:// check if we hit
if (RNG::generate(0.0, 1.0) < accuracy)
{
https:// we hit, so no deviation
dRot = 0;
dTilt = 0;
}
For example: if we have accuracy>=1.0 we always hit. At any range. Really? And how about loftemps?
Other case: enemy unit stand next tile from me, but i have accuracy=0.3. I miss! Why? Shoot at close range. Chance to hit must be near 99,9%.
About Power Suits.
Yes. It is disputed point.
Power Suit – this is heavy armor with exoskeleton and power source. Personal tank.
Power Suit larger than Personal Armor (or no armor). loftemps+1
Other side:
Power Suit appears in the middle or at the end of the game. You also have trained soldiers (high accuracy, psi abilities), and the enemy is no real danger. loftemps+1 needed to balance the game in case use new version of "battleRangeBasedAccuracy".
UFOextender was limited by possibilities of vanilla Xcom.
About lightingBasedAccuracy.
May be you right. In this case need implement lightingBasedAccuracy to the original OpenXcom formula too.
Upd: If need, the table of probability to hit:
https://dl.dropbox.com/u/73411168/UFO-Accuracy.ods