rework/demystify battle logic