When you take over an enemies city, what determines how long it remains in revolt for?

Koszmar

Chieftain
Joined
Apr 30, 2012
Messages
92
I've taken over some seemingly large cities and had to wait 8 turns but today I took over a smaller city and I had to wait 11 turns.

Thanks.
 
Considering a Great Artist creating a Great Work will instantly bring a city out of revolt I would guess it's culture based, but that is only a guess unfortunately.
 
I've taken over some seemingly large cities and had to wait 8 turns but today I took over a smaller city and I had to wait 11 turns.

Thanks.
yep, the size of the city will determine how long it stays in revolt - not sure if culture factors in at all in that regard, but the amount of culture will affect the pressure on the city itself. A culture bomb, as Acametis mentioned, will immediately bring a city outta revolt, but you have to decide if it is worth burning a GA on that, if you even have one.
 
Tried to look into the source code for this since it's also something that always felt a bit opaque to me.

In CvPlayer.cpp there is that bit of code in the acquireCity function:

C++:
if (bConquest)
{
        iTeamCulturePercent = pNewCity->calculateTeamCulturePercent(getTeam());

        if (iTeamCulturePercent < GC.getDefineINT("OCCUPATION_CULTURE_PERCENT_THRESHOLD"))
        {
            pNewCity->changeOccupationTimer(((GC.getDefineINT("BASE_OCCUPATION_TURNS") + ((pNewCity->getPopulation() * GC.getDefineINT("OCCUPATION_TURNS_POPULATION_PERCENT")) / 100)) * (100 - iTeamCulturePercent)) / 100);
        }
}

In GlobalDefines.xml, OCCUPATION_CULTURE_PERCENT_THRESHOLD is set to 75, OCCUPATION_TURNS_POPULATION_PERCENT is 50 and BASE_OCCUPATION_TURNS is 3. So it looks like no revolt if you already have 75% or more culture, otherwise 3 turns + (50% of population) * (1 - your % of culture).

So in your example 11 turns would mean the city is at least size 16, and for a city bigger to take only 8 turns, you would have had already close to 50% of the culture in that plot... so something right of on the border of one of your established cities. Does that seem to match your example?

Note that it's for the occupation following conquest, the number of turns for a spontaneous revolt is instead defined in CvPlot.cpp in a big function doCulture, and in turns calls the function cultureStrength from CvCity.cpp. The latter takes into account religion as well as culture and population.
 
Last edited:
Sometimes I will run a turn of 100% culture after taking multiple cities which are still in revolt. Usually only late game so I get land domination sooner but also sometimes if I want to work/improve good tiles in the early game. Not sure it's a great idea though compared to saving gold
 
Back
Top Bottom