@Mofixil
Not exactly. -20 and 20 represent the range where the random number that will determine the y movement is chosen. If ymin was equal to 0 vertical recoil would be any number from 0 to 20, so echnically there would be some shots that do not have vertical recoil at all. By setting ymin to 20 we effectively change that 40 something range into 0, therefore the only random number that can be taken is 20. Inyour example it could be 1,2,3,4,18,19... In battlefield this is not true because the vertical movement is a constant.