More Battle progress...works, but still buggy. Some situation that leads
to infinite loop