My citizens are revolting in triplicate in 9229.
I'm playing with Resolutions on, and I'm getting revolutions because I'm a noob, but in two out of two games where I've had revolutions, I've had three in one turn.
I'll get three popup boxes stack in front of each other (these may not have the same content - I can have 1 x "A revolution is brewing!" and 2 x "You citizens are growing restless!" ) and if I do reject, in a few turns I'll have one to three separate civs spawn units outside my city.
I shut the game down, restarted civ and reloaded the save (despite not updating my SVN version inbetween, it asked me if I wanted to recalculate) so the below PythonDbg.log is for one turn only.
Code:
PY:onModNetMessage
load_module encodings.ascii
PY: Loading revolution data
Error! Rebel types not found, no short lists available
PY:Player 42 Civilization Aggressive Animals Unit Puff Adder was killed by Player 41
PY:Player 41 Civilization Passive Animals Unit Hippopotamus was killed by Player 42
PY: REVOLT - Skala (Incan Empire) has decided to launch a revolution with index 1625 (44 local) and odds 29.2 in year -45000!!!!
PY: REVOLT - Factors effecting timing: Bad local, Disorder,
PY: Revolt - Peaceful revolution
PY: Revolt - Revolution in homeland
PY: Revolt - Capital or large number of cities in peaceful revolution!
PY: Revolt - Asking for change in leader from Sara
PY: Revolt - Switching from leader type 9 to 7 (Augustus Caesar)
PY: Revolt - 1 cities in revolution, buyoff cost 146
PY: Revolt - Potential new leader: Augustus Caesar
PY: Revolt - Approval rating (initially 73) adjusted due to 1 of 1 cities revolting
PY: Revolt - Odds are 30
PY: Revolt - Adjusted approval rating is 25
PY: Revolt - Offering human choice on leader change
PY:Player 41 Civilization Passive Animals Unit Barn Owl was killed by Player 42
PY:Player 43 Civilization Neutral Animals Unit Sabretooth was killed by Player 42
PY:Player 41 Civilization Passive Animals Unit Barn Owl was killed by Player 42
PY:Player 41 Civilization Passive Animals Unit Deer was killed by Player 42
PY:Player 42 Civilization Aggressive Animals Unit Dire Wolf was killed by Player 3
PY:Player 41 Civilization Passive Animals Unit Mountain Tapir was killed by Player 42
PY:Player 41 Civilization Passive Animals Unit Deer was killed by Player 42
PY: REVOLT - Skala (Incan Empire) has decided to launch a revolution with index 1663 (44 local) and odds 29.9 in year -45000!!!!
PY: REVOLT - Factors effecting timing: Bad local, Disorder,
PY: Revolt - Peaceful revolution
PY: Revolt - Revolution in homeland
PY: Revolt - Capital or large number of cities in peaceful revolution!
PY: Revolt - Asking for change in leader from Sara
PY: Revolt - Switching from leader type 9 to 15 (Canute the Great)
PY: Revolt - 1 cities in revolution, buyoff cost 133
PY: Revolt - Potential new leader: Canute the Great
PY: Revolt - Approval rating (initially 73) adjusted due to 1 of 1 cities revolting
PY: Revolt - Odds are 30
PY: Revolt - Adjusted approval rating is 25
PY: Revolt - Offering human choice on leader change
PY:Player 41 Civilization Passive Animals Unit Barred Owl was killed by Player 43
PY: REVOLT - Skala (Incan Empire) has decided to launch a revolution with index 1701 (44 local) and odds 30.6 in year -45000!!!!
PY: REVOLT - Factors effecting timing: Bad local, Disorder,
PY: Revolt - Violent, above always violent threshold
PY: Revolt - Revolution in homeland
PY: Revolt - Capital or majority of cities in violent revolution!
PY: Revolt - Demanding change in leader from Sara
PY: Revolt - Switching from leader type 9 to 60 (Justinian I)
Error! Rebel types not found, no short lists available
PY: Revolt - Looking for revolution worthy civ in Skala
PY: Revolt - Creating new player in slot 5
PY: Revolt - Created the Jivaro Empire in slot 5
PY: Rev - NOT giving rev all of Cave Dwelling
PY: Rev - NOT giving rev all of Controlled Fire
PY: Revolt - 1 cities in revolution, buyoff cost -1
PY: Revolt - Potential new leader: Justinian I
PY: Revolt - Approval rating (initially 73) adjusted due to 1 of 1 cities revolting
PY: Revolt - Odds are 50
PY: Revolt - Adjusted approval rating is 25
PY: Revolt - Offering human choice on leader change
PY:OnPreSave
PY: Revolt - Handling local revolution popup
PY: Revolt - Local Button 1 pressed, label: reject
Modder's net message!
PY:onModNetMessage
Modder's net message!
PY:onModNetMessage
PY: Revolt - Handling network revolution popups including local player
PY: Revolt - Button :reject: pressed by playerID = 0
PY: Revolt - Processing revolution revolution type: leader
PY: Revolt - Skala has now revolted 1 times
PY: Revolt - Player clings to power
PY: Revolt - Jivaro Empire's Extra Attitude towards Incan Empire now -5
RevData: Initializing player object
PY: Revolt - Stored revolt spawn data for rev player 5, revolt against player 0 idx 2
PY: Revolt - Completed processing revolution
PY: Revolt - Handling local revolution popup
PY: Revolt - Local Button 1 pressed, label: reject
Modder's net message!
PY:onModNetMessage
Modder's net message!
PY:onModNetMessage
PY: Revolt - Handling network revolution popups including local player
PY: Revolt - Button :reject: pressed by playerID = 0
PY: Revolt - Processing revolution revolution type: leader
PY: Revolt - Skala has now revolted 2 times
PY: Revolt - Player clings to power
PY: Revolt - Peaceful, increasing rev indices
PY: Revolt - Completed processing revolution
PY: Revolt - Handling local revolution popup
PY: Revolt - Local Button 1 pressed, label: reject
Modder's net message!
PY:onModNetMessage
Modder's net message!
PY:onModNetMessage
PY: Revolt - Handling network revolution popups including local player
PY: Revolt - Button :reject: pressed by playerID = 0
PY: Revolt - Processing revolution revolution type: leader
PY: Revolt - Skala has now revolted 3 times
PY: Revolt - Player clings to power
PY: Revolt - Peaceful, increasing rev indices
PY: Revolt - Completed processing revolution
The last time I played C2C before updating to 9229 was from an SVN before the animals and barbs were split up into separate players; back then I was only getting one popup at a time.
I don't know if you're actively working on Revolutions or if it's an aside (When I was looking this up, I found a few bits and pieces on there being balance issues anyway), but if you are, I've attached a zipped save (should get 3 popups on the next turn).
Edit: Could this be something to do with Barbs not being the last player? (Referenced briefly in the breaking saves thread)
http://forums.civfanatics.com/showthread.php?t=559751&page=16
In WorldBuilder for my saved game, there are a number of players and the last 6 in the list are:
"Barbarian" Player 40
"The Green Man" Player 41
"The Green Man" Player 42
"The Green Man" Player 43
"Neanderthal" Player 44
"Barbarian" Player 45
Therefore, the loop
Code:
if( iNextPlayer > gc.getBARBARIAN_PLAYER() ) :
iGameTurn += 1
iNextPlayer = 0
while( iNextPlayer < iPlayer ) :
if( RevData.revObjectExists(gc.getPlayer(iNextPlayer)) ) :
# RevolutionMP start - general fix thanks Init
spawnList = RevData.revObjectGetVal(gc.getPlayer(iNextPlayer), 'SpawnList' )
if( spawnList != None and len(spawnList) > 0 ) :
# RevolutionMP end - general fix thanks Init
bDoLaunchRev = True
break
if( not gc.getPlayer(iNextPlayer).isAlive() ) :
iNextPlayer += 1
else :
break
# Stuff at beginning of this players turn
if( gc.getPlayer(iNextPlayer).isAlive() ) :
#if( self.LOG_DEBUG ) : CvUtil.pyPrint(" Beginning turn %d for player %d, %s"%(iGameTurn, iNextPlayer, gc.getPlayer(iNextPlayer).getCivilizationDescription(0)))
self.updatePlayerRevolution( [iGameTurn,iNextPlayer] )
if( bDoLaunchRev ) :
self.launchRevolution( iNextPlayer )
Which should only run once (because the barbs are the last players), I think may be running several times and therefore giving me, player 0, a check for Revolution for each player after Barbarian. (Hence why I don't always get the same content in the 'duplicate' popups.)
...Assuming that player 40 "Barbarian" is considered to be BARBARIAN_PLAYER.