I modified CvEventManager to report on player/game turns and saw some interesting results. I loaded the save and hit end turn. Everything looks great for turn 752.
Code:
End player 4 turn 752
End player 5 turn 752
End player 7 turn 752
End player 8 turn 752
End player 9 turn 752
End player 10 turn 752
End player 11 turn 752
End player 12 turn 752
End player 13 turn 752
Player 14 Chinese attacks Player 4 a bunch of times
End player 14 turn 752
End player 15 turn 752
End player 16 turn 752
Player 17 Korean attacks Player 4 a few times
End player 17 turn 752
End player 18 turn 752
End game turn 752
On the next turn, England (0) frees their colony to create player 6, and here's where things go off the rails. Play first jumps from player 0 to player 6, skipping 1-5.
Code:
Player 6's alive status set to: 1
Team 6 becomes a Vassal State of Team 0
End player 0 turn 753
End player [B]6[/B] turn 753
End player 7 turn 753
End player 8 turn 753
End player 9 turn 753
End player 10 turn 753
End player 11 turn 753
But after player 11 goes the game really gets screwy and jumps back to player 1, but it doesn't continue up to 5. No no, take a look.
Code:
End player [B]1[/B] turn 753
End player 2 turn 753
End player [B]12[/B] turn 753
Player [B]13[/B] Civilization Persian Empire Unit Knight was killed by Player 4
End player [B]3[/B] turn 753
End player [B]13[/B] turn 753
Notice that somehow player 13 attacked player 4 during player 3's turn.
Play continues from 13 up through 18 before it is now the human's turn again. Notice that turn 753
has not ended yet and player 5 hasn't had a turn yet either.
Code:
End player 14 turn 753
End player 15 turn 753
Player 16 Mongolian attacks Player 4 a couple of times
End player 16 turn 753
End player 17 turn 753
End player 18 turn 753
Here I simply end the turn for the human to let the madness continue. Players 4 and 5 get their turn 753, but then players 6-18 get another crack at turn 753 for good measure.
At this point we return to the normal universe: turn 753 ends, players 0-3 take their turn 754, and it's now player 4's turn 754.
Code:
End player 4 turn 753
End player 5 turn 753
End player 6 turn 753
End player 7 turn 753
End player 8 turn 753
End player 9 turn 753
End player 10 turn 753
End player 11 turn 753
End player 12 turn 753
End player 13 turn 753
End player 14 turn 753
End player 15 turn 753
End player 16 turn 753
End player 17 turn 753
End player 18 turn 753
End game turn 753
End player 0 turn 754
End player 1 turn 754
End player 2 turn 754
Player 3 Egyptian attacks Player 7 once
End player 3 turn 754
I ended the turn to see what happens, but the next round went exactly as above.
The only part that is messed up is turn 753 from the point where England splits off the colony. Some players get two turns, but everyone eventually gets a turn. Once the game turn ends, however, everything goes back to normal.
Was this game started under 3.17? Can someone that still has 3.17 try it and see what happens? If you can, copy CvEventManager to your CustomAssets/Python folder and add these two bold lines:
Code:
def onEndGameTurn(self, argsList):
'Called at the end of the end of each turn'
iGameTurn = argsList[0]
[B]CvUtil.pyPrint("End game turn %d" % iGameTurn)[/B]
def onEndPlayerTurn(self, argsList):
'Called at the end of a players turn'
iGameTurn, iPlayer = argsList
[B]CvUtil.pyPrint("End player %d turn %d" % (iPlayer, iGameTurn))[/B]