modify battle logic