battle logic improved