Open abmpicoli opened 6 years ago
I have personally faced with a similar issue... I had a city with already a 2 tile radius, almost 3. at the moment my spanish neighbor expanded, it has stolen all my tiles: which seems inconsistent to me, since I have more culture than it.
I've noticed that the culture growth logic is quite different from BTS. The latter has a very respected AI mod called K-Mod that I'm quite fond of and it contains a revamped culture system where there is less free plot culture and more focus on the current culture production. We could consider "borrowing" this culture system (and also gain some bug fixes while we're at it)
For reference the culture stuff is here: void CvCity::doCulture() (I also recommend having a look at the BTS and K-Mod versions)
I would like to add more evidence. In debug mode, by holding shift it is possible to see each players culture at a single plot: Check this sample Baranov have just expanded to radius 2. His culture is 8. My culture is 148. However expansion happened for him, and he took my tile. Notice that the plot have indian culture as well...
My suspicion is that when expansion sees a plot with indian culture , they don't check any other culture on the plot, and take the tile anyway.
Looks like the culprit is CIVIC_MANIFEST_DESTINY. If a player has this civic active, it can ignore native culture when claiming land. What I think happened here is:
Note that the last step is possible because it only compared against the player with the highest culture. The fact that there is more English culture is ignored because it's not the highest.
This happens because the order of players is always (unless set otherwise in custom games)
From smallfry :
https://forums.civfanatics.com/threads/religion-and-revolution-bugs-and-todos.449958/page-120#post-15021942