Timur's missing some diplomacy text.
Ah so he is. Fixed. Probably still a fair few missing diplomacy texts out there, they're all too easy to link up incorrectly. Poor old Dharmasetu hasn't got at all yet, still ><
Timur's missing some diplomacy text.
The Financial trait appears to not be giving the +1/city it is supposed to.
Two more leaders with missing diplomacy text: Joshua and Mangammal (though the screenshot for the latter didn't come out right for some reason). I believe both were for POWER_EQUAL.
Edit: Also Ataturk. As far as I can tell, all of the ones I've encountered in my current game were for DEMAND_TRIBUTE_POWER_EQUAL. Pattern or coincidence?
I'm pretty sure this is a Colosseum bug, as it hit right after I built my first Horseman (which stayed a Horseman instead of becoming the expected Asvaka) in that city.
From the error messages, I'm guessing the offender is this line:Yes. Misnamed variable in the Colosseum code, which will prevent it from working.
From the error messages, I'm guessing the offender is this line:
iUnitType = unit.getUnitType()
Looking at the context, I'm thinking it should be this instead:
iUnitType = pUnit.getUnitType()
Traceback (most recent call last):
File "BugEventManager", line 361, in _handleDefaultEvent
File "CvEventManager", line 1097, in onUnitBuilt
TypeError: initUnit() takes at most 5 arguments (6 given)
pNewUnit = pPlayer.initUnit(iNewUnit, iX, iY, UnitAITypes.NO_UNITAI, DirectionTypes.NO_DIRECTION)
I've attached the corrected file...
This file breaks the events overlay.
I now get the following Python Exceptions when loading:
File "<string>", line 1, in ?
File "<string>", line 52, in load_module
File "CvEventInterface", line 17, in ?
File "<string>", line 52, in load_module
File "BugEventManager", line 102, in ?
File "<string>", line 52, in load_module
File "CvEventInterface", line 20, in ?
ImportError
:
No module named NaturalWonders
Failed to load python module CvEventInterface.
Edit: Reverted to the older file, then overwrote the Colosseum code (and *only* that) with the relevant lines from the new file. No problems when loading this time, but got the errors shown in the screenshots upon advancing the turn. And, as before, the Horseman stayed a Horseman.
def onUnitBuilt(self, argsList):
'Unit Completed'
pCity = argsList[0]
pUnit = argsList[1]
player = PyPlayer(pCity.getOwner())
### Colosseum - Build Rival UUs
if pCity.getNumActiveBuilding(gc.getInfoTypeForString("BUILDING_COLOSSEUM")) > 0:
iPlayer = pCity.getOwner()
pPlayer = gc.getPlayer(iPlayer)
# Is the unit built of a compatible type?
if pUnit.getUnitCombatType() == gc.getInfoTypeForString("UNITCOMBAT_MELEE") or pUnit.getUnitCombatType() == gc.getInfoTypeForString("UNITCOMBAT_ARCHER") or pUnit.getUnitCombatType() == gc.getInfoTypeForString("UNITCOMBAT_MOUNTED"):
iUnitType = pUnit.getUnitType()
iUnitClass = pUnit.getUnitClassType()
iDefaultUnit = gc.getUnitClassInfo(iUnitClass).getDefaultUnitIndex()
if iUnitType == iDefaultUnit:
lUniqueUnits = []
# Loop through players
for iPlayerX in xrange(gc.getMAX_CIV_PLAYERS()):
pPlayerX = gc.getPlayer(iPlayerX)
# Is the rival civilization a valid player?
if pPlayerX.isAlive():
# Is the rival civilization part of the city's trade network?
if pPlayerX.canTradeNetworkWith(iPlayer):
iUniqueUnit = gc.getCivilizationInfo(pPlayerX.getCivilizationType()).getCivilizationUnits(iUnitClass)
# Does this civilization have a unique version of this unit?
if (iDefaultUnit > -1 and iUniqueUnit > -1 and iDefaultUnit != iUniqueUnit):
# Allow the UU only if its civilization can also build it
if pPlayerX.canTrain(iUniqueUnit, False, False):
# Add the UU to the list of candidates
lUniqueUnits.append(iUniqueUnit)
# Continue if the list is not empty
if len(lUniqueUnits) >= 1:
# Randomly choose and setup one of the UUs in the list
chance = CyGame().getSorenRandNum(len(lUniqueUnits), "Colosseum UU")
iNewUnit = lUniqueUnits[chance]
iX = pUnit.getX()
iY = pUnit.getY()
pNewUnit = pPlayer.initUnit(iNewUnit, iX, iY, UnitAITypes.NO_UNITAI, DirectionTypes.NO_DIRECTION)
# Convert the built unit to the chosen rival UU
pNewUnit.convert(pUnit)
Glad to see a new version! Do we have civil wars or revolutions or anything that splits an empire too huge or illy ruled?