}
}
public UndeployAction prepareEscapeAction() {
UndeployAction escapeAction = null;
for (Meeple m : game.getDeployedMeeples()) {
if (m.getPlayer() != getActivePlayer()) continue;
if (!(m.getFeature() instanceof City)) continue;
FeatureVisitor<Boolean> visitor = game.hasRule(CustomRule.ESCAPE_RGG) ? new FindNearbyCloisterRgg() : new FindNearbyCloister();
if (m.getFeature().walk(visitor)) {
if (escapeAction == null) {
escapeAction = new UndeployAction(SiegeCapability.UNDEPLOY_ESCAPE);
}
escapeAction.add(new MeeplePointer(m));
}
}
return escapeAction;
}