iTeam = pPlayer.getTeam()
pTeam = gc.getTeam(iTeam)
l_rivalUU = []
for iPlayer in range(gc.getMAX_PLAYERS()):
ppPlayer = gc.getPlayer(iPlayer)
if ( (ppPlayer.isAlive()==true) and (ppPlayer.isBarbarian()==false) ):
if (ppPlayer.getTeam() != pPlayer.getTeam()):
if ( gc.getTeam(ppPlayer.getTeam()).isVassal(iTeam) == false ):
civ_type = gc.getPlayer(iPlayer).getCivilizationType()
for iUnit in range(gc.getNumUnitClassInfos()):
iUniqueUnit = gc.getCivilizationInfo(civ_type).getCivilizationUnits(iUnit);
iDefaultUnit = gc.getUnitClassInfo(iUnit).getDefaultUnitIndex();
if (iDefaultUnit > -1 and iUniqueUnit > -1 and iDefaultUnit != iUniqueUnit):
if ( iUnitType == iDefaultUnit ):
l_rivalUU.append(iUniqueUnit)
if ( len(l_rivalUU) >= 1 ):
self.iRivalUUChance = self.getRandomNumber( 3 )
if self.iRivalUUChance == 0:
chance = CyGame().getSorenRandNum(len(l_rivalUU), "Random for UU")
iX = pUnit.getX()
iY = pUnit.getY()
pNewUnit = pPlayer.initUnit( l_rivalUU[chance], iX, iY, UnitAITypes.NO_UNITAI, DirectionTypes.NO_DIRECTION )
pNewUnit.convert(pUnit)