@Override
protected void performAction(final Position pos, Location loc) {
if (action instanceof MeepleAction) {
MeepleAction ma = (MeepleAction) action;
Feature piece = gridPanel.getTile(pos).getFeature(loc);
if (piece instanceof Farm) {
if (Follower.class.isAssignableFrom(ma.getMeepleType()) && getClient().getConfig().getConfirm().getFarm_place()) {
if (!confirmFarmPlacement()) return;
}
} else if (piece instanceof Tower) {
if (getClient().getConfig().getConfirm().getTower_place()) {
if (!confirmTowerPlacement(pos)) return;
}
}
if (loc == Location.FLIER) {
getClient().getConnection().send(new RollFlierDiceMessage(getGame().getGameId(), ma.getMeepleType()));
return;
}
if (loc == Location.CLOISTER && abbotOption) {
String options[] = {_("Place as monk"), _("Place as abbot") };
int result = JOptionPane.showOptionDialog(getClient(),