Maybe it should result useful if I post what I found...
It's RGSS core scripts' fault.
Game_Battler 3, line 120.
CODE
hit *= user.hit/100
This means that if user.hit < 100, user.hit/100 will result in 0 (Amazing but true and tested! Divisions between integers result in zero if the dividend is lesser than the divisor, and user.hit
is an integer! So,
e.g. 95/100 = 0 in every programming language!)
Two ways to fix this horror:
1. replace line 120 with this:
CODE
hit = hit * user.hit/100
or with this
2.
CODE
hit *=user.hit/100.0
And the problem is fixed.
Basic variables operation

100.0 is treated as a float and 95/100.0 is equal to 0.95

Jens
This post has been edited by Jens of Zanicuud: Jan 22 2012, 06:21 AM