evaluate battle logic