more battle logic