isenchine
Empress
You're asking the question to Jon Shafer, right? 

Spoiler :
noted.
I have no issues for tiles adjacent to the coast tile being shelled by ships. But port tile is unique as it is accessible by both land and water units. And from there water units can shell further inland, the tile that may not even touch water. Is there any Python function that would disable this possibility completely?
I'm afraid not. This would be better handled by the dll since the ranged bombardment code is there.
When I say no, my mind continues to think...
I found a Python Callback 'cannotHandleAction' but could not make it to work. Checking other mods, I found this note in Final Frontier, from Jon Shafer himself!:
Code:# None of this actually works because for some reason this function always gets passed a null plot. Maybe I'll fix it one day.
Then, I reverted to the CvMainInterface and it works with some setbacks:
- the action button is greyed out (good)
- I had to disable the shortcut KB_A (not so good but it was still working independently of the button)
- it probably doesn't affect the AI (interface solution only - good enough?)
Maybe one day I'll find a better solution.
To our mutual surprise Jon actually reads his old threads and even comments sometimes! Perhaps we could re-post the discussion there. If by "interface solution" you mean good for human players only -- at least it can be used in PBEMs. AI is less effective in defense anyway, unlike humans they even leave ships in ports which are about to be captured.
I
I'm now thinking of 13 or even 15. Perhaps more. Any suggestion?