• Civilization 7 has been announced. For more info please check the forum here .

RFC: BtS Bug Reports

not really, it depends if it wins the war or not.
 
not really, it depends if it wins the war or not.

Exactly. On declaring, a vassal should stop being one and the outcome of the war should decide, will the vassal return back to the fold.
 
I'll post a screen or a save if it's requested when I get a chance, but at the moment neither are available.

From a 600AD start playing as the Germans, while moving in to conquer Greece from the Turks I saw the strangest thing- a small Turkish ensemble of troops were camped in the Aegean sea, on a water tile. I never opened worldbuilder in the game, and I wasn't paying attention to what the turks doing so I've really got no idea how they could have gotten there. The army included a cataphract (?!?) and a great merchant.
 
There is a bug in RiseAndFall.py in hitNeighboursStability.
[/CODE]

Guys, what is the status on this? Do you all play your games with the suggested fix? Rhye never commented on this -- maybe someone could private message him? I kinda hesitate to fix his code myself -- what if this was his original intention? What if deep in his heart he wanted to see no Egypt, no Babylon, no Carthage late in the game? :D No, seriously, I can see how this can be a bug in RFCE, but why do you rule out that ancient civs get hits on purpose?
 
Guys, what is the status on this? Do you all play your games with the suggested fix?

I'm still finishing a game as Germany, so I haven't made the suggested change to the code. I fully intend to do so once my current game is complete though.

As long as Rhye has read this thread, I would have thought it was a given that this fix would be included in the next patch.
 
I put it in all three mods, although I only play RAND. It could be intended yes (I'm interested in Rhye's comment as well), but I play the game, so I make changes when I see fit :D
You can at least test it and decide for yourself.
 
What if deep in his heart he wanted to see no Egypt, no Babylon, no Carthage late in the game? :D No, seriously, I can see how this can be a bug in RFCE, but why do you rule out that ancient civs get hits on purpose?

actually this fix doesn't eliminate the concept at all. It's just that as I understand it, before it was hitting only Egypt if this was alive.
 
actually this fix doesn't eliminate the concept at all. It's just that as I understand it, before it was hitting only Egypt if this was alive.

That's right. Essentially there is a table that describes which civs [in brackets] should take a stability hit when a new civ (# New Civ) rises. It looks like this:

Spoiler :

[], #Egypt
[], #India
[], #China
[], #Babylonia
[iEgypt, iBabylonia], #Greece
[iEgypt, iBabylonia, iGreece], #Persia
[iEgypt], #Carthage
[iEgypt, iGreece, iCarthage], #Rome
[], #Japan
[iEgypt], #Ethiopia
[], #Maya
[], #Vikings
[iEgypt, iPersia], #Arabia
[iIndia], #Khmer
[iCarthage, iRome], #Spain
[iRome], #France
[], #England
[iGreece, iRome, iVikings], #Germany
[iPersia, iGreece], #Russia
[iRome, iGermany], #Netherlands
[iCarthage, iEthiopia], #Mali
[iCarthage, iRome], #Portugal
[], #Inca
[iChina, iJapan, iKhmer, iRussia], #Mongolia
[iMaya], #Aztec
[iBabylonia, iGreece, iPersia], #Turkey
[iSpain, iFrance, iEngland, iNetherlands, iPortugal, iAztecs, iMaya] #America


The code calls this table, but reads it incorrectly, so that instead of applying the stability hit to the civs listed in each row, it applies a stability hit to the first N civs (by initial spawn order) in the game, where N comes from the length of each list. Since the first 4 civs are Egypt, India, China, and Babylon, these 4 civs take a stability hit on almost every rise. Note that prior to the rise of the Arabs, this bug doesn't change things much for Egypt -- they get a stability when their neighbors rise under either system. However, if Egypt can survive past the Arab spawn, it is pretty clear that the code no longer intends to wallop them.
 
even if not, the hits to stability you have taken until then will stay, so it's better to test on a clean start.
 
I count this as a bug:

State Property shouldn't change the Civ name to Socialist Republic if the gov. civic in use is Hereditary Rule, but it currently does.
 
even if not, the hits to stability you have taken until then will stay, so it's better to test on a clean start.
Err... I'd really not like my restart my successful Arab-bashing wonderspamming chief-rabbi-of-the-whole-Mediterranean Egypt game. ;)

Is there a cheat code or a savegame editor to tune erroneously accumulated foreign instability down a bit? BTW, how much would that be by 900 AD?
 
in 900 AD you are still ok if you did that well, maybe you can manage to end the game. The problems start around 1300 or so.
 
Code:
def hitNeighboursStability( self, iCiv ):
                if (len(con.lOlderNeighbours[iCiv])):
                        bHuman = False
                        for iLoop in range(len(con.lOlderNeighbours[iCiv])):[COLOR="Red"]
                        for iLoop in con.lOlderNeighbours[iCiv]:[/COLOR]
                                if (gc.getPlayer(iLoop).isAlive()):
                                        if (iLoop == utils.getHumanID()):
                                                bHuman = True                                        
                                        utils.setStability(iLoop, utils.getStability(iLoop)-2)
I've tried implementing this fix without starting a new game (Egypt, continuing from a savegame around 750 AD) and it broke the scripting completely. New civs stopped spawning, hired mercenaries stopped arriving, combat results stopped logging. And stranger still, even wonder movies played no longer! What a disappointment! :( SOS!
 
The fix broke the game for me until I removed the previous line (for iLoop in range(len(con.lOlderNeighbours[iCiv])):), though I don't follow the code well enough to know whether the fix is properly implemented, nor have I thoroughly tested it.
 
Sorry, I guess I wasn't clear enough -- as Walliard says, you have to remove the

Code:
for iLoop in range(len(con.lOlderNeighbours[iCiv])):

and replace it with

Code:
for iLoop in con.lOlderNeighbours[iCiv]:

It isn't strictly necessary to start a new game with this change, but the hits to stability that have already occurred will still be there -- only civs that have yet to rise will have their stability influenced in the correct way.
 
Great, thanks a lot!

It isn't strictly necessary to start a new game with this change, but the hits to stability that have already occurred will still be there -- only civs that have yet to rise will have their stability influenced in the correct way.
BTW, how much extra negative stability would that be by 750 AD?
 




:crazyeye: America, 600 AD start. One cannot found a capital! There is no spot to found a city on the second turn to get those workers. The only way out was to take over the Chichen Itza and start a game with a capital in Mezoamerica, size one, still in resistance :)


By the way even on Turn 3 the Washington spot still covered by French culture, even though American share is 66%.

 

Attachments

  • Civ4ScreenShot0079.JPG
    Civ4ScreenShot0079.JPG
    118.6 KB · Views: 224
  • Civ4ScreenShot0080.JPG
    Civ4ScreenShot0080.JPG
    126.5 KB · Views: 202
New York is a much better capital, no swamp or mountains and doesn't cramp out Chicago or Jacksonville. You can't do anything in the first 3 moves anyway with civic change and religion. Your workers will automatically appear in your new capital when it flips.
 
Top Bottom