I think your game is the perfect candidate for an on-map-engine type of battle system. But they can be tricky to make.