Vielleicht solltest du keine Spione ausschließen? Siehe unten in Rot.
Code:
# ZE: Financial Trait Start -----------------------------------------------------------------------------------------------
if iImprovement == gc.getInfoTypeForString("IMPROVEMENT_COTTAGE") or iImprovement == gc.getInfoTypeForString("IMPROVEMENT_HAMLET") or iImprovement == gc.getInfoTypeForString("IMPROVEMENT_VILLAGE"):
iTraitFin = gc.getInfoTypeForString("TRAIT_FINANCIAL")
if (iTraitFin != -1 and pPlayer.hasTrait(iTraitFin)):
if not pPlot.isUnit():
if pPlayer.getCurrentEra() == gc.getInfoTypeForString("ERA_RENAISSANCE") and iImprovement == gc.getInfoTypeForString("IMPROVEMENT_COTTAGE"):
pPlot.setImprovementType(gc.getInfoTypeForString("IMPROVEMENT_HAMLET"))
elif pPlayer.getCurrentEra() == gc.getInfoTypeForString("ERA_INDUSTRIAL") and (iImprovement == gc.getInfoTypeForString("IMPROVEMENT_COTTAGE") or iImprovement == gc.getInfoTypeForString("IMPROVEMENT_HAMLET")):
pPlot.setImprovementType(gc.getInfoTypeForString("IMPROVEMENT_VILLAGE"))
elif pPlayer.getCurrentEra() == gc.getInfoTypeForString("ERA_MODERN") and (iImprovement == gc.getInfoTypeForString("IMPROVEMENT_COTTAGE") or iImprovement == gc.getInfoTypeForString("IMPROVEMENT_HAMLET") or iImprovement == gc.getInfoTypeForString("IMPROVEMENT_VILLAGE")):
pPlot.setImprovementType(gc.getInfoTypeForString("IMPROVEMENT_TOWN"))
elif pPlayer.getCurrentEra() == gc.getInfoTypeForString("ERA_FUTURE") and (iImprovement == gc.getInfoTypeForString("IMPROVEMENT_COTTAGE") or iImprovement == gc.getInfoTypeForString("IMPROVEMENT_HAMLET") or iImprovement == gc.getInfoTypeForString("IMPROVEMENT_VILLAGE")):
pPlot.setImprovementType(gc.getInfoTypeForString("IMPROVEMENT_TOWN"))
else:
iTraitPro = gc.getInfoTypeForString("TRAIT_PROTECTIVE")
if (iTraitPro != -1 and not pPlayer.hasTrait(iTraitPro)):
bNoUpgrade = False
for i in xrange(pPlot.getNumUnits()):
pUnit = pPlot.getUnit(i)
iUnitOwner = pUnit.getOwner()
pUnitOwner = gc.getPlayer(iUnitOwner)
iUnitOwnerTeam = pUnitOwner.getTeam()
if iTeam != iUnitOwnerTeam and pTeam.isAtWar(iUnitOwnerTeam):
if pUnit.getUnitCombatType() != -1 and pUnit.getUnitCombatType() != gc.getInfoTypeForString( 'UNITCOMBAT_SPY' ) and pUnit.getUnitCombatType() != gc.getInfoTypeForString( 'UNITCOMBAT_WORKER' ):
bNoUpgrade = True
break
if bNoUpgrade != True:
if pPlayer.getCurrentEra() == gc.getInfoTypeForString("ERA_RENAISSANCE") and iImprovement == gc.getInfoTypeForString("IMPROVEMENT_COTTAGE"):
pPlot.setImprovementType(gc.getInfoTypeForString("IMPROVEMENT_HAMLET"))
elif pPlayer.getCurrentEra() == gc.getInfoTypeForString("ERA_INDUSTRIAL") and (iImprovement == gc.getInfoTypeForString("IMPROVEMENT_COTTAGE") or iImprovement == gc.getInfoTypeForString("IMPROVEMENT_HAMLET")):
pPlot.setImprovementType(gc.getInfoTypeForString("IMPROVEMENT_VILLAGE"))
elif pPlayer.getCurrentEra() == gc.getInfoTypeForString("ERA_MODERN") and (iImprovement == gc.getInfoTypeForString("IMPROVEMENT_COTTAGE") or iImprovement == gc.getInfoTypeForString("IMPROVEMENT_HAMLET") or iImprovement == gc.getInfoTypeForString("IMPROVEMENT_VILLAGE")):
pPlot.setImprovementType(gc.getInfoTypeForString("IMPROVEMENT_TOWN"))
elif pPlayer.getCurrentEra() == gc.getInfoTypeForString("ERA_FUTURE") and (iImprovement == gc.getInfoTypeForString("IMPROVEMENT_COTTAGE") or iImprovement == gc.getInfoTypeForString("IMPROVEMENT_HAMLET") or iImprovement == gc.getInfoTypeForString("IMPROVEMENT_VILLAGE")):
pPlot.setImprovementType(gc.getInfoTypeForString("IMPROVEMENT_TOWN"))
# ZE: Financial Trait End -----------------------------------------------------------------------------------------------