Valkrionn
The Hamster King
Yes, that would be a bug... Improvement yield changes are brand new, so I guess it hasn't been completely worked in yet.

def onGameStart(self, argsList):
'Called at the start of the game'
for iPlayer in range(gc.getMAX_PLAYERS()):
player = gc.getPlayer(iPlayer)
if player.getCivilizationType() == gc.getInfoTypeForString('CIVILIZATION_DOVIELLO'): #Doviello start
iAnimalTeam = gc.getANIMAL_TEAM()
eTeam = gc.getTeam(player.getTeam())
eTeam.makePeace(iAnimalTeam) #Doviello end
if (player.isAlive() and player.isHuman()):
if player.getCivilizationType() == gc.getInfoTypeForString('CIVILIZATION_ELOHIM'):
cf.showUniqueImprovements(iPlayer)

Couldn't figure out what you were talking about till I checked the first page and didn't find it, then remembered that Jean has added a bit and I forgot to document it here. Now I have to figure out precisely which tags are missing from the first posts
As I recall the approach used by Jean for these fields though, it should automatically be considered, as it changes what the plot itself is worth, instead of what the improvement is worth. But I haven't specifically checked out how the improvement changes were written, so I could be mistaken, in which case you are correct that the AI knows nothing about them.
Just add another improvement which DOES give good results at the end of the chain, but make the time to upgrade to it REALLY long. AI won't be smart enough to self-pillage and rebuild anyway, so it would work well for them to have a permanent-first level improvement after about 500 turns (unless you script for them to self-pillage in AI lands upon reaching your current last level of course)

(1 => 2 => 3 => 1)

Now I have to figure out precisely which tags are missing from the first posts![]()

So simple and yet so fullfilling my needs
I'll just do that and have a nice attractive name for the 10000 turns final improvement.
I was wondering if improvements could be made to cycle though, hence never having a final improvement(1 => 2 => 3 => 1)
I'll try it also for curiosity.
Thank you for your help.
Now at last back to auto growing improvement.
Just checked up on how to let something upgrade automatically: It isn't tied to the CURRENT improvement being marked bOutsideBorders at all. It is tied to the UPGRADE being bOutsideBorders only (absolutely nothing else is required, other than actually being upgradeable)

Just checked up on how to let something upgrade automatically: It isn't tied to the CURRENT improvement being marked bOutsideBorders at all. It is tied to the UPGRADE being bOutsideBorders only (absolutely nothing else is required, other than actually being upgradeable)

Just checked up on how to let something upgrade automatically: It isn't tied to the CURRENT improvement being marked bOutsideBorders at all. It is tied to the UPGRADE being bOutsideBorders only (absolutely nothing else is required, other than actually being upgradeable)

def onCombatResult(self, argsList):
'Combat Result'
pWinner,pLoser = argsList
playerX = PyPlayer(pWinner.getOwner())
unitX = PyInfo.UnitInfo(pWinner.getUnitType())
playerY = PyPlayer(pLoser.getOwner())
unitY = PyInfo.UnitInfo(pLoser.getUnitType())
pUnit = pWinner
if playerX.getCivilizationType() == gc.getInfoTypeForString('CIVILIZATION_DOVIELLO'):
if pLoser.isAlive():
pWinner.setHasPromotion(gc.getInfoTypeForString('PROMOTION_SCAVENGER'))
Hmm... Can't figure out why this isn't working.
Code:def onCombatResult(self, argsList): 'Combat Result' pWinner,pLoser = argsList playerX = PyPlayer(pWinner.getOwner()) unitX = PyInfo.UnitInfo(pWinner.getUnitType()) playerY = PyPlayer(pLoser.getOwner()) unitY = PyInfo.UnitInfo(pLoser.getUnitType()) pUnit = pWinner if playerX.getCivilizationType() == gc.getInfoTypeForString('CIVILIZATION_DOVIELLO'): if pLoser.isAlive(): pWinner.setHasPromotion(gc.getInfoTypeForString('PROMOTION_SCAVENGER'))
void setHasPromotion (PromotionType eIndex, bool bNewValue)
You're missing a "true" from setHasPromotion...
Code:void setHasPromotion (PromotionType eIndex, bool bNewValue)
Also - why not use <PromotionFromCombat>? Most of the Doviello Melee line is unique, so it could be added to them trivially (it's a UnitInfo field, so not sure it'd work well for non-unique units, but does it need to be for *every* Doviello unit?).
