I think it would be a kinda hard to implement and it won’t be a “linear” feature.
You would think to say that it’s as simple as defining areas around a hero where they can walk. Well, yes and no… What if they can fly? what is they have town portal? what if they have town portal and than castle gate? What if they go to a building that gives them more move point? Continues with portals, whirlpools, boats, navigation, etc.
You will also have to define similar areas around the castles. That should be simple enough, after all they are static, right? Well, yes, and no… What id the player decides to hire a hero from that castle? What if the hero has fly?
There are probably things I didn’t think of here, but you get the point.
A simpler solution would be like this:
There should be a sandbox implemented. The user does all his moves at the same time as the other players and if their moves intersect (in a blocking way) at any point, the sandbox is discarded and the user has to wait for the others to finish.
Of course, it’s not that easy to implement the sandbox either, but I think it’s simpler than the alternative.
EDIT: Damn, you said the same thing… I’m sorry, I misread your message, it’s too early in the morning…