Is it possible to make lakes have the ability to make ships?

Amadhe

Emperor of Nothing
Joined
Sep 11, 2018
Messages
66
Location
MD, the State of Civ V
I have this Civ game of Vox Populi running and I conquered a city with several huge lakes around it, which I thought would make convenient canals. However, I found out that while they are quite convenient, the cities themselves on the lake tiles cannot make ships. I couldn't find a post about this. I apologize in advance if there is one and I just missed it like a fool.
 
No, because cities make ship if they have a coast(ocean) adjacent to them. Lakes do not meet that criterion.
 
I believe, the question is: Is it possible to modify game files to make Lakes meet the criterion.

And bonus question from me: What's the downside of this? That AI could make ships in small lakes, which would be useless?
 
Last edited:
The AI can already make (melee) ships in 10-tile inland seas that it surrounds.
 
The code to control this is in DLL, so you'll need to be able to write C++.

Actually I think there might be a Lua hook.
 
Last edited:
My understanding is that the <MinAreaSize> in <Units> table (along with <Domain> set to DOMAIN_SEA) is the mechanism that is restricting your boats from being built in these cities.

If you look at the tables, you'll notice that all boats (and coast-only buildings) have MinAreaSize set to 10. Elsewhere the map scripts are set to make lakes with max area 9 iirc. The exact method the game uses to count tiles to determine nearby area sizes is not clear to me, though.

Anyway, if I'm right, you could set this field to x < 10 for naval units to allow them to be built on lakes >= x tiles in size, or to -1 to build anywhere. I believe the AI will not do well with this generally, as it will not analyze which lakes are good candidates for canals etc., though maybe changing it for ranged naval only will be an acceptable compromise.

Alternatively to MinAreaSize, you could maybe override in .lua, though that'll be much more complicated
 
Last edited:
Back
Top Bottom