Bug reports and technical issues

On current SVN?
 
Bug with Italian influential culture UHV:
On the victory screen it shows:
Code:
[B][I][U]Three[/U][/I][/B] cities with influential culture by x AD
0/[B][I][U]5[/U][/I][/B] Cities.
(Sorry I couldn't get a screenshot, all my recent screenshots are coming black. Anybody know why?)

I had that same problem with 1.9, although the game still recognised I had won the condition when I got three cities influential. It's been fixed in the latest SVN version, so either get SVN or ignore the issue and wait for 1.10 to be released. You can still get the UHV with three influential cities.

On current SVN?

My two CTDs are on current SVN, yes.
 
In the attached saved, i was playing the persian.
I managed to get 8.05% of the world in by 146 AD, just one turn before the UHV.
In the "UHV checker" i have the green check.
But at the turn "150 AD" the game tell me that i failed my first UHV.
 

Attachments

Hi Leoreth! Good to see that this project is still alive - I can remember two years ago when it first took off.

Well, I decided to give 1.9 a go and fired up my favourite civ the Azetcs. Marathon speed, ethnic cities and blue marbles included. No SVN.

And guess what? The Antartic catapult bug is back! Except this time its a trebuchet. I have to hit esc to get rid of the Dawn window, but then no other units spawn. Deleting the trebuchet leads to game over.

This happens to me on both 600AD and 3000BC starts.
 

Attachments

  • catapult1.jpg
    catapult1.jpg
    189.4 KB · Views: 56
rev430, RiseAndFall.py
Line 2097
Code:
				lTechPeers = []
				for lRegionList in con.lTechGroups:
					if iDeadCiv in lRegionList:
[COLOR="Red"]						lTechPeers = lRegionList[/COLOR]
						
				for iPeerCiv in lTechPeers:
					if not gc.getPlayer(iPeerCiv).isAlive():
						lTechPeers.remove(iPeerCiv)
						
				lTechPeers.append(iBarbarian)
				lTechPeers.append(iIndependent)
				lTechPeers.append(iIndependent2)

I guess lTechPeers should be a copy of lRegionList, not just a referece to it.
Namely, what we need is
Code:
						lTechPeers = list(lRegionList)

Otherwise, when a civ is resurrected, con.lTechGroups will be modified which would yield some unexpected results.
For example, if two civs in the same TechGroup had been resurrected, the second civ would use a modified and wrong list, as lTechPeers.
 
I thought Python always passes values instead of references?
 
I thought Python always passes values instead of references?

Indeed, Python always passes values instead of references.
But all variables in Python are references of objects, more precisely, some kind of name bindings. You can regard them as pointers in C/C++.

The following test illustrates the difference
Spoiler :

Code:
>>> l = [[1, 2], ['a', 'b']]
>>> a = l[0]
>>> b = a
>>> print a,b
[1, 2] [1, 2]
>>> a.append(3)
>>> print a,b
[1, 2, 3] [1, 2, 3]
>>> print l
[[1, 2, 3], ['a', 'b']]

>>> l = [[1, 2], ['a', 'b']]
>>> d = l[0]
>>> e = list(d)
>>> print d,e
[1, 2] [1, 2]
>>> e.append(3)
>>> print d,e
[1, 2] [1, 2, 3]
>>> print l
[[1, 2], ['a', 'b']]
 
And here I thought lists are treated like primitive variables in Python. I guess that happens if you never properly learn a language. I'll fix it soon, thanks.
 
Yes! The current source of crashes seems to be only the conqueror mechanic, and it's very hard to debug that due to the very specific circumstances of every crash.
 
I believe it happens if you gift/trade economics (or astronomy for that matters) that would result in the civilization declaring war on you from conquerors. I had the same thing happen to me as England while controlling most of india and trading economics to France.
 
Yes, looks like Replaceable Parts is the culprit. Don't know how that could cause a crash since there's no change I've made regarding RP. Edit: I could safely acquire RP a few turns later from the Netherlands. Seems like the crash depended on a very specific set of circumstances which makes it hard to track down.
 
I think that it is due to the Economics trade. It also crashes if I trade Economics for just cash & world map. RP is not the cause. Basically it comes down to what is different in just giving Economics and trading Economics.
 
Could it be because trade gives some kind of peace treaty and then they both declare war and sign a treaty at the same time? It seems like this may be as I will sometimes have random (non-AP) peace treaties part way through games.
 
Could it be because trade gives some kind of peace treaty and then they both declare war and sign a treaty at the same time? It seems like this may be as I will sometimes have random (non-AP) peace treaties part way through games.
That's a very likely possibility. I'll test that tomorrow.
 
Latest SVN with slave update.

Spoiler :
ZAo1E.jpg


I'm pretty sure there was one per city change in Autoplay.
 
Back
Top Bottom