Just want to point out: 
If it solves randoms, it is a bot and you can get banned while using it. Regardless of whether the client handles the randoms of if your script does. If a random is automatically solved, it is botting. 
  
Also, I don't want to rain on your parade or anything, but your hit prediction is just getting the xp (you get the xp before the damage pops up) and dividing it by 4 or whatever the xp/damage is. It's really not predicting anything. Just kinda false advertising is all, on both points. >.> 
  
Edit: The rest of this looks pretty legit though, nice work.