I've decided to go with the pathfinding approach since a lot of the algorithms I've found online are going over my head in terms of implementation.
However, there seem to be some missing conditions - in particular, 'On path found' and 'Failed to find path'
<img src="http://i.imgur.com/CHYf2nu.png" border="0" />
Does anyone know where these went?