Pull calculations out of py_attack_real
Pull calculations out of ranged attacks