@Turkey
Since I never tried that function, I can't guarantee that it will give the outcome I assume it does.
Although once again, why not use changeCulture rather than setCulture.
Then you can just add the difference directly, without the need of adding the Turkey culture to the difference, then set the culture to the result.
@Mongol codes
For the first loop, you are checking whether the special horse is in the city radius of the captured city.
But 1) Your script data failed in the Natural Wonder mod, so have you tested this?
2) Is it possible that the special horse is in one of the outer plots of the city?
If yes, then is it possible that another city was built near to that city and the special horse is now also in the city radius of THAT new city?
If yes again, then when that new city is captured, then even though it is NOT the mongol capital, but because the horse is in the city radius of that city, then the codes are going to activate wrongly...
As for the second part:
Code:
for pPlot in lPlots:
if pPlot.getBonusType(-1) == eHorse: return
This only checks if there is a horse, but whether it is the special horse, no idea.
This means that if the capital is captured, and the capital is shifted to a new city where there is already a horse, then they don't get a free horse.
Code:
pPlot = getPlot(getRandomCoords([pPlot for pPlot in lPlots if pPlot.getBonusType(-1) == -1]))
This only checks if the plot has a bonus or not?
It does not check if it is a water plot, peak, or some other weirdos like oasis or ice terrain?
Edits:
@France for loop
Yeah I know, the thing is, a player is either France or not France.
What is the for loop for?
Helsinki Cathedral functions a bit differently.
It only converts the culture of the previous owner to the new owner.
It does not converts the culture of other foreign sources to the new owner, although a for loop will solve that.
However, it does decrease the culture of the previous owner, whereas the method you use will not