Yes, 10 happiness is the threshold for separatist relation.Great work, Gedemon!
I have idea of revolutions mod too but have no time for it.
So I wish you'll have enough time to carry out this great project.
I'm about to try you mod.
Few questions on mechanics:
If i have 10 happiness, separatist relation wont spoil?
If i have a road, no separatist culture will be produced?
How is it determined what portion of my culture is turned into a separatist culture?
thanks
A road allows city to be further away from your capital without producing separatist.
The base distance depend of the Era you're in.
Distance and the type of route (none, land, road, coastal, ocean) determine the amount of separatist converted from your culture. I may add river to the equation.
Commerce, good idea, I see something to do with Foreign Trade Routes.i also have some another policy effects suggestions:
Commerce - small positive RP change for all groups in cities connected to the trade network.
and mechanic suggestions:
unrest can lower city's hit points so it would much easier for rebels (or possibly itnervents) to take it.
also, we could combine your mod with my emigration 4 mod thats in testing phase now. in the new version citizens migrate to more happy and wealthy counries even if their country is happy too.
emigrants could bring their culture to the new place, watering down other groups. say we have 2 cultures in source city, 24% and 76% - this percentage can be used to determine the culture of emigrant. then, move this emigrant citizen to a new place.
source city get new culture ratio. lets say the emigrant's culture was of the major group (76%) and there were 9 citizens in the city.
new percentage for the major group will be (9*0.76-1)/8=73%,
for the minor group = 100 - 73 = 27%.
if there were more than 2 groups, say 76%, 10% and 14%,
new values for the latter two will be 27 / 24 * 10 = 11.25 and 27 / 24 * 14 = 15.75
for the destination city calculations will be pretty the same but reversed.
if you use absolute values for culture representation, things are even easier.
1. determine what culture group does an emigrant belong to
2. substract x = Max(1/citySize*totalCityCulture, maxCulturePerEmigrant) from that culture value in the source city, and add this x value to a destination city.
lets say there is 48 cultureA and 152 cultureB in the source city (24:76%), population size is 9. determine culture affinity of the emigrant: 24% its cultureA, 76% its cultureB. let it be cultureB.
determine x = Max(1/9*(48+152), 100) = 22.
Substract it from home cultureB, its value now is 130, and presentation is 130/(48+130) = 73%
Then add cultureB CG with 22 culture points to a destination city.
Lowering city HP during revolt is planned yes, but not implemented.
And of course you're Emigration mod is something that must be part of the big picture somehow, I think I've mentioned it here or in the cultural diffusion thread, can't remember...
I a suppose adding a lua event, something like LuaEvents.EmigrationFromTo(fromCity, toCity) in your code will allow Cultural Diffusion to be aware of emigration using the event and do the calculations.
For the calculation, Cultural Diffusion have absolute value (and use percent in the UI), but I will need to mix this with percent, has a new city can have a very low absolute value compared to an ancient city.
I'll be happy to work with you on this