whoward69
DLL Minion
12-mile limit - all the logic in Lua (see below) so if you don't like my criteria you can write your own 
Because of the fish, you can buy the tile not adjacent to the shoreline (50 gold, bottom left), but not the other three tiles (despite the fact that there's oil on the coastal one, which I can't see yet, but will be able to when I research Biology)

Because of the fish, you can buy the tile not adjacent to the shoreline (50 gold, bottom left), but not the other three tiles (despite the fact that there's oil on the coastal one, which I can't see yet, but will be able to when I research Biology)
Code:
function OnCityCanAcquirePlot(iPlayer, iCity, iPlotX, iPlotY)
local pPlot = Map.GetPlot(iPlotX, iPlotY)
if (pPlot:IsWater() and not pPlot:IsAdjacentToLand()) then
-- Non-coastal water, check for visible resources
if (pPlot:GetResourceType(Players[iPlayer]:GetTeam()) == -1) then
return false
end
end
-- By default we can acquire the plot
return true
end
-- Note the double hook here - Firaxis only did half the job!
GameEvents.CityCanAcquirePlot.Add(OnCityCanAcquirePlot)
GameEvents.CityCanBuyPlot.Add(OnCityCanAcquirePlot)