While the terrain in this battle promises a tough contest, Shingen’s forces are sadly underprepared for you. Between Greenleaf and (water fortress), you have so much access to Grass type and especially Water type Pokemon that even with a few lucky critical hits on his side, Shingen’s army shouldn’t be able to handle your assault. What’s more, their mediocre movespeeds (except Shingen’s Rhyperior, whose Move of 2 is terrible on larger or complicated maps) and lack of Range-increasing Warrior skills leaves them with no real way to get ahead of you.
The only serious setback you’re likely to face is the Gust of Wind that happens every other turn and knocks all Pokemon on the tower roofs off- which will waste a little of your time when it happens while your Pokemon are be-roofed. They will take some damage from falling, but it’s a pretty minor injury all told, not really all that debilitating.
Shingen likes to keep his forces grouped up, so area attacks like Gyarados’ Aqua Tail, Swadloon’s Razor Leaf, and Prinplup’s Bubblebeam will be a great boon in combat here (though you’ll want to be very careful about letting the Charmander or Tepig anywhere near Swadloon). Reach of attack is also a good thing to have for this fight, so keep your eye on that too.
Shingen’s Rhyperior is the main threat here- it’s best to hit it with two or three Water or Grass attacks right off the bat to take it out- otherwise its three-square reach with Rock Wrecker and massive attack stat will come a long way towards making up for its pitiful movement rate.
In all likelihood, you’re going to clash with Shingen’s forces around the base of the central tower, and with his troops’ tendency for frontal assault, you’re unlikely to have anything but a direct-clash sort of a battle. This really only emphasizes the importance of having an army whose members all have not only an attack type edge in the fight, but also very strong defenses or, alternately, range. While the towers and lifts can make navigating a touch difficult, they also make for some dangerous blind corners. If you haven’t started hovering your cursor over enemies so you can see their movement ranges before, now is a good time to start- it can save you getting hit a few times with Rock Wrecker or losing a Grass-type Pokemon for the fight thanks to the presence of the two Fire-types.
When you finally capture all three tower-topping banners, the battle ends.