int productionCost = tileImprovementType.getProductionCost();
int productionPoints = buildTileImprovement.getProductionPoints();
int turnsNeeded = (productionCost / productionPoints);
int turnsSpent = realm.getNumberOfTurns() - getTurnGiven();
if (turnsSpent >= turnsNeeded) {
AddTileImprovementCommand addTileImprovementCommand = new AddTileImprovementCommand(tile, tileImprovementType);
Executor.getInstance().execute(addTileImprovementCommand);
getUnit().getPlayer().setBuiltTileImprovementCount(tileImprovementType.getId(), getUnit().getPlayer().getBuiltTileImprovementCount(tileImprovementType.getId()) + 1);
setComplete(true);
} else {
getUnit().setMovementPoints(0);