<UnitInfo>
<Class>UNITCLASS_LICH</Class>
<Type>UNIT_LICH</Type>
<UniqueNames>
</UniqueNames>
<Special>NONE</Special>
<Capture>NONE</Capture>
<Combat>UNITCOMBAT_ADEPT</Combat>
<Domain>DOMAIN_LAND</Domain>
<DefaultUnitAI>UNITAI_RESERVE</DefaultUnitAI>
<Invisible>NONE</Invisible>
<SeeInvisible>NONE</SeeInvisible>
<Description>TXT_KEY_UNIT_LICH</Description>
<Civilopedia>TXT_KEY_UNIT_LICH_PEDIA</Civilopedia>
<Strategy></Strategy>
<Advisor>ADVISOR_MILITARY</Advisor>
<bAnimal>0</bAnimal>
<bFood>0</bFood>
<bNoBadGoodies>0</bNoBadGoodies>
<bOnlyDefensive>0</bOnlyDefensive>
<bNoCapture>0</bNoCapture>
<bQuickCombat>0</bQuickCombat>
<bRivalTerritory>0</bRivalTerritory>
<bMilitaryHappiness>1</bMilitaryHappiness>
<bMilitarySupport>1</bMilitarySupport>
<bMilitaryProduction>1</bMilitaryProduction>
<bPillage>1</bPillage>
<bSpy>0</bSpy>
<bSabotage>0</bSabotage>
<bDestroy>0</bDestroy>
<bStealPlans>0</bStealPlans>
<bInvestigate>0</bInvestigate>
<bCounterSpy>0</bCounterSpy>
<bFound>0</bFound>
<bGoldenAge>0</bGoldenAge>
<bInvisible>0</bInvisible>
<bFirstStrikeImmune>0</bFirstStrikeImmune>
<bNoDefensiveBonus>0</bNoDefensiveBonus>
<bIgnoreBuildingDefense>0</bIgnoreBuildingDefense>
<bCanMoveImpassable>0</bCanMoveImpassable>
<bCanMoveAllTerrain>0</bCanMoveAllTerrain>
<bFlatMovementCost>0</bFlatMovementCost>
<bIgnoreTerrainCost>0</bIgnoreTerrainCost>
<bNukeImmune>0</bNukeImmune>
<bPrereqBonuses>0</bPrereqBonuses>
<bPrereqReligion>0</bPrereqReligion>
<bMechanized>0</bMechanized>
<bSuicide>0</bSuicide>
<bHiddenNationality>0</bHiddenNationality>
<bAlwaysHostile>0</bAlwaysHostile>
<UnitClassUpgrades>
</UnitClassUpgrades>
<UnitClassTargets>
</UnitClassTargets>
<UnitCombatTargets>
</UnitCombatTargets>
<UnitClassDefenders>
</UnitClassDefenders>
<UnitCombatDefenders>
</UnitCombatDefenders>
<FlankingStrikes>
</FlankingStrikes>
<UnitAIs>
<UnitAI>
<UnitAIType>UNITAI_RESERVE</UnitAIType>
<bUnitAI>1</bUnitAI>
</UnitAI>
</UnitAIs>
<NotUnitAIs>
<UnitAI>
<UnitAIType>UNITAI_WORKER</UnitAIType>
<bUnitAI>1</bUnitAI>
</UnitAI>
</NotUnitAIs>
<Builds>
<Build>
<BuildType>BUILD_MANA_AIR</BuildType>
<bBuild>1</bBuild>
</Build>
<Build>
<BuildType>BUILD_MANA_BODY</BuildType>
<bBuild>1</bBuild>
</Build>
<Build>
<BuildType>BUILD_MANA_CHAOS</BuildType>
<bBuild>1</bBuild>
</Build>
<Build>
<BuildType>BUILD_MANA_DEATH</BuildType>
<bBuild>1</bBuild>
</Build>
<Build>
<BuildType>BUILD_MANA_EARTH</BuildType>
<bBuild>1</bBuild>
</Build>
<Build>
<BuildType>BUILD_MANA_ENCHANTMENT</BuildType>
<bBuild>1</bBuild>
</Build>
<Build>
<BuildType>BUILD_MANA_ENTROPY</BuildType>
<bBuild>1</bBuild>
</Build>
<Build>
<BuildType>BUILD_MANA_FIRE</BuildType>
<bBuild>1</bBuild>
</Build>
<Build>
<BuildType>BUILD_MANA_LAW</BuildType>
<bBuild>1</bBuild>
</Build>
<Build>
<BuildType>BUILD_MANA_LIFE</BuildType>
<bBuild>1</bBuild>
</Build>
<Build>
<BuildType>BUILD_MANA_METAMAGIC</BuildType>
<bBuild>1</bBuild>
</Build>
<Build>
<BuildType>BUILD_MANA_MIND</BuildType>
<bBuild>1</bBuild>
</Build>
<Build>
<BuildType>BUILD_MANA_NATURE</BuildType>
<bBuild>1</bBuild>
</Build>
<Build>
<BuildType>BUILD_MANA_SPIRIT</BuildType>
<bBuild>1</bBuild>
</Build>
<Build>
<BuildType>BUILD_MANA_WATER</BuildType>
<bBuild>1</bBuild>
</Build>
<Build>
<BuildType>BUILD_MANA_SHADOW</BuildType>
<bBuild>1</bBuild>
</Build>
<Build>
<BuildType>BUILD_MANA_SUN</BuildType>
<bBuild>1</bBuild>
</Build>
</Builds>
<ReligionSpreads>
</ReligionSpreads>
<CorporationSpreads>
</CorporationSpreads>
<GreatPeoples>
</GreatPeoples>
<Buildings>
</Buildings>
<ForceBuildings>
</ForceBuildings>
<HolyCity>NONE</HolyCity>
<ReligionType>NONE</ReligionType>
<StateReligion>NONE</StateReligion>
<PrereqReligion>NONE</PrereqReligion>
<PrereqCorporation>NONE</PrereqCorporation>
<PrereqBuilding>NONE</PrereqBuilding>
<PrereqTech>NONE</PrereqTech>
<TechTypes>
</TechTypes>
<BonusType>NONE</BonusType>
<PrereqBonuses>
</PrereqBonuses>
<ProductionTraits>
</ProductionTraits>
<Flavors>
</Flavors>
<iAIWeight>0</iAIWeight>
<iCost>-1</iCost>
<iHurryCostModifier>0</iHurryCostModifier>
<iAdvancedStartCost>-1</iAdvancedStartCost>
<iAdvancedStartCostIncrease>0</iAdvancedStartCostIncrease>
<iMinAreaSize>-1</iMinAreaSize>
<iMoves>1</iMoves>
<bNoRevealMap>0</bNoRevealMap>
<iAirRange>0</iAirRange>
<iAirUnitCap>0</iAirUnitCap>
<iDropRange>0</iDropRange>
<iNukeRange>-1</iNukeRange>
<iWorkRate>400</iWorkRate>
<iBaseDiscover>0</iBaseDiscover>
<iDiscoverMultiplier>0</iDiscoverMultiplier>
<iBaseHurry>0</iBaseHurry>
<iHurryMultiplier>0</iHurryMultiplier>
<iBaseTrade>0</iBaseTrade>
<iTradeMultiplier>0</iTradeMultiplier>
<iGreatWorkCulture>0</iGreatWorkCulture>
<iEspionagePoints>0</iEspionagePoints>
<TerrainImpassables>
</TerrainImpassables>
<FeatureImpassables>
</FeatureImpassables>
<TerrainPassableTechs>
</TerrainPassableTechs>
<FeaturePassableTechs>
</FeaturePassableTechs>
<iCombat>5</iCombat>
<iCombatLimit>100</iCombatLimit>
<iAirCombat>0</iAirCombat>
<iAirCombatLimit>0</iAirCombatLimit>
<iXPValueAttack>8</iXPValueAttack>
<iXPValueDefense>4</iXPValueDefense>
<iFirstStrikes>0</iFirstStrikes>
<iChanceFirstStrikes>0</iChanceFirstStrikes>
<iInterceptionProbability>0</iInterceptionProbability>
<iEvasionProbability>0</iEvasionProbability>
<iWithdrawalProb>0</iWithdrawalProb>
<iCollateralDamage>0</iCollateralDamage>
<iCollateralDamageLimit>0</iCollateralDamageLimit>
<iCollateralDamageMaxUnits>0</iCollateralDamageMaxUnits>
<iCityAttack>0</iCityAttack>
<iCityDefense>0</iCityDefense>
<iAnimalCombat>0</iAnimalCombat>
<iHillsAttack>0</iHillsAttack>
<iHillsDefense>0</iHillsDefense>
<TerrainNatives>
</TerrainNatives>
<FeatureNatives>
</FeatureNatives>
<TerrainAttacks>
</TerrainAttacks>
<TerrainDefenses>
</TerrainDefenses>
<FeatureAttacks>
</FeatureAttacks>
<FeatureDefenses>
</FeatureDefenses>
<UnitClassAttackMods>
</UnitClassAttackMods>
<UnitClassDefenseMods>
</UnitClassDefenseMods>
<UnitCombatMods>
</UnitCombatMods>
<UnitCombatCollateralImmunes>
</UnitCombatCollateralImmunes>
<DomainMods>
</DomainMods>
<BonusProductionModifiers>
</BonusProductionModifiers>
<iBombRate>0</iBombRate>
<iBombardRate>0</iBombardRate>
<SpecialCargo>NONE</SpecialCargo>
<DomainCargo>NONE</DomainCargo>
<iCargo>0</iCargo>
<iConscription>0</iConscription>
<iCultureGarrison>3</iCultureGarrison>
<iExtraCost>0</iExtraCost>
<iAsset>10</iAsset>
<iPower>20</iPower>
<UnitMeshGroups>
<iGroupSize>1</iGroupSize>
<fMaxSpeed>1.75</fMaxSpeed>
<fPadTime>1</fPadTime>
<iMeleeWaveSize>1</iMeleeWaveSize>
<iRangedWaveSize>0</iRangedWaveSize>
<UnitMeshGroup>
<iRequired>1</iRequired>
<EarlyArtDefineTag>ART_DEF_UNIT_LICH</EarlyArtDefineTag>
</UnitMeshGroup>
</UnitMeshGroups>
<FormationType>FORMATION_TYPE_DEFAULT</FormationType>
<HotKey></HotKey>
<bAltDown>0</bAltDown>
<bShiftDown>0</bShiftDown>
<bCtrlDown>0</bCtrlDown>
<bGraphicalOnly>0</bGraphicalOnly>
<iHotKeyPriority>0</iHotKeyPriority>
[B] <FreePromotions>
<FreePromotion>
<PromotionType>PROMOTION_UNDEAD</PromotionType>
<bFreePromotion>1</bFreePromotion>
</FreePromotion>
[COLOR="Cyan"]<FreePromotion>
<PromotionType>PROMOTION_CHANNELING1</PromotionType>
<bFreePromotion>1</bFreePromotion>
</FreePromotion>
<FreePromotion>
<PromotionType>PROMOTION_CHANNELING2</PromotionType>
<bFreePromotion>1</bFreePromotion>
</FreePromotion>
<FreePromotion>
<PromotionType>PROMOTION_CHANNELING3</PromotionType>
<bFreePromotion>1</bFreePromotion>
</FreePromotion>[/COLOR]
</FreePromotions>[/B]
<LeaderPromotion>NONE</LeaderPromotion>
<iLeaderExperience>0</iLeaderExperience>
<bAbandon>0</bAbandon>
<bAutoRaze>0</bAutoRaze>
<bDisableUpgradeTo>0</bDisableUpgradeTo>
<bExplodeInCombat>0</bExplodeInCombat>
<bFreeXP>1</bFreeXP>
<bImmortal>0</bImmortal>
<bNeverObsolete>1</bNeverObsolete>
<bNoWarWeariness>0</bNoWarWeariness>
<iCombatDefense>5</iCombatDefense>
<iDurationFromCombat>0</iDurationFromCombat>
<iEnslavementChance>0</iEnslavementChance>
<iExtraGoldSupport>0</iExtraGoldSupport>
<iFreePromotionPick>0</iFreePromotionPick>
<iGoldFromCombat>0</iGoldFromCombat>
<iMinLevel>0</iMinLevel>
<iMiscastChance>0</iMiscastChance>
<iModifyGlobalCounter>0</iModifyGlobalCounter>
<iPrereqGlobalCounter>0</iPrereqGlobalCounter>
<iTier>4</iTier>
<iWeaponTier>0</iWeaponTier>
<iWithdrawlProbDefensive>0</iWithdrawlProbDefensive>
<DiploVoteType>NONE</DiploVoteType>
<EquipmentPromotion>NONE</EquipmentPromotion>
<PrereqAlignment>NONE</PrereqAlignment>
<PrereqBuildingClass>NONE</PrereqBuildingClass>
<PrereqCivic>NONE</PrereqCivic>
<PromotionFromCombat>NONE</PromotionFromCombat>
<Image>NONE</Image>
<UnitConvertFromCombat>NONE</UnitConvertFromCombat>
<iUnitConvertFromCombatChance>0</iUnitConvertFromCombatChance>
<UnitCreateFromCombat>NONE</UnitCreateFromCombat>
<iUnitCreateFromCombatChance>0</iUnitCreateFromCombatChance>
<UpgradeCiv>NONE</UpgradeCiv>
<PythonPostCombatLost></PythonPostCombatLost>
<PythonPostCombatWon></PythonPostCombatWon>
<DamageTypeCombats>
<DamageTypeCombat>
<DamageType>DAMAGE_DEATH</DamageType>
<iCombat>2</iCombat>
</DamageTypeCombat>
</DamageTypeCombats>
<BonusAffinities>
</BonusAffinities>
</UnitInfo>
--------------------------------
def onUnitCreated(self, argsList):
'Unit Completed'
unit = argsList[0]
player = PyPlayer(unit.getOwner())
pPlayer = gc.getPlayer(unit.getOwner())
[B]iChanneling2 = gc.getInfoTypeForString('PROMOTION_CHANNELING2')
iChanneling3 = gc.getInfoTypeForString('PROMOTION_CHANNELING3')
if unit.getUnitCombatType() == gc.getInfoTypeForString('UNITCOMBAT_ADEPT'):[/B]
iNum = pPlayer.getNumAvailableBonuses(gc.getInfoTypeForString('BONUS_MANA_AIR'))
if iNum > 1:
unit.setHasPromotion(gc.getInfoTypeForString('PROMOTION_AIR1'), True)
if (iNum > 2 and unit.isHasPromotion(iChanneling2)):
unit.setHasPromotion(gc.getInfoTypeForString('PROMOTION_AIR2'), True)
if (iNum > 3 and unit.isHasPromotion(iChanneling3)):
unit.setHasPromotion(gc.getInfoTypeForString('PROMOTION_AIR3'), True)
iNum = pPlayer.getNumAvailableBonuses(gc.getInfoTypeForString('BONUS_MANA_BODY'))
if iNum > 1:
unit.setHasPromotion(gc.getInfoTypeForString('PROMOTION_BODY1'), True)
if (iNum > 2 and unit.isHasPromotion(iChanneling2)):
unit.setHasPromotion(gc.getInfoTypeForString('PROMOTION_BODY2'), True)
if (iNum > 3 and unit.isHasPromotion(iChanneling3)):
unit.setHasPromotion(gc.getInfoTypeForString('PROMOTION_BODY3'), True)
iNum = pPlayer.getNumAvailableBonuses(gc.getInfoTypeForString('BONUS_MANA_CHAOS'))
if iNum > 1:
unit.setHasPromotion(gc.getInfoTypeForString('PROMOTION_CHAOS1'), True)
if (iNum > 2 and unit.isHasPromotion(iChanneling2)):
unit.setHasPromotion(gc.getInfoTypeForString('PROMOTION_CHAOS2'), True)
if (iNum > 3 and unit.isHasPromotion(iChanneling3)):
unit.setHasPromotion(gc.getInfoTypeForString('PROMOTION_CHAOS3'), True)
iNum = pPlayer.getNumAvailableBonuses(gc.getInfoTypeForString('BONUS_MANA_DEATH'))
if iNum > 1:
unit.setHasPromotion(gc.getInfoTypeForString('PROMOTION_DEATH1'), True)
if (iNum > 2 and unit.isHasPromotion(iChanneling2)):
unit.setHasPromotion(gc.getInfoTypeForString('PROMOTION_DEATH2'), True)
if (iNum > 3 and unit.isHasPromotion(iChanneling3)):
unit.setHasPromotion(gc.getInfoTypeForString('PROMOTION_DEATH3'), True)
iNum = pPlayer.getNumAvailableBonuses(gc.getInfoTypeForString('BONUS_MANA_EARTH'))
if iNum > 1:
unit.setHasPromotion(gc.getInfoTypeForString('PROMOTION_EARTH1'), True)
if (iNum > 2 and unit.isHasPromotion(iChanneling2)):
unit.setHasPromotion(gc.getInfoTypeForString('PROMOTION_EARTH2'), True)
if (iNum > 3 and unit.isHasPromotion(iChanneling3)):
unit.setHasPromotion(gc.getInfoTypeForString('PROMOTION_EARTH3'), True)
iNum = pPlayer.getNumAvailableBonuses(gc.getInfoTypeForString('BONUS_MANA_ENCHANTMENT'))
if iNum > 1:
unit.setHasPromotion(gc.getInfoTypeForString('PROMOTION_ENCHANTMENT1'), True)
if (iNum > 2 and unit.isHasPromotion(iChanneling2)):
unit.setHasPromotion(gc.getInfoTypeForString('PROMOTION_ENCHANTMENT2'), True)
if (iNum > 3 and unit.isHasPromotion(iChanneling3)):
unit.setHasPromotion(gc.getInfoTypeForString('PROMOTION_ENCHANTMENT3'), True)
iNum = pPlayer.getNumAvailableBonuses(gc.getInfoTypeForString('BONUS_MANA_ENTROPY'))
if iNum > 1:
unit.setHasPromotion(gc.getInfoTypeForString('PROMOTION_ENTROPY1'), True)
if (iNum > 2 and unit.isHasPromotion(iChanneling2)):
unit.setHasPromotion(gc.getInfoTypeForString('PROMOTION_ENTROPY2'), True)
if (iNum > 3 and unit.isHasPromotion(iChanneling3)):
unit.setHasPromotion(gc.getInfoTypeForString('PROMOTION_ENTROPY3'), True)
iNum = pPlayer.getNumAvailableBonuses(gc.getInfoTypeForString('BONUS_MANA_FIRE'))
if iNum > 1:
unit.setHasPromotion(gc.getInfoTypeForString('PROMOTION_FIRE1'), True)
if (iNum > 2 and unit.isHasPromotion(iChanneling2)):
unit.setHasPromotion(gc.getInfoTypeForString('PROMOTION_FIRE2'), True)
if (iNum > 3 and unit.isHasPromotion(iChanneling3)):
unit.setHasPromotion(gc.getInfoTypeForString('PROMOTION_FIRE3'), True)
iNum = pPlayer.getNumAvailableBonuses(gc.getInfoTypeForString('BONUS_MANA_ICE'))
if iNum > 1:
unit.setHasPromotion(gc.getInfoTypeForString('PROMOTION_ICE1'), True)
if (iNum > 2 and unit.isHasPromotion(iChanneling2)):
unit.setHasPromotion(gc.getInfoTypeForString('PROMOTION_ICE2'), True)
if (iNum > 3 and unit.isHasPromotion(iChanneling3)):
unit.setHasPromotion(gc.getInfoTypeForString('PROMOTION_ICE3'), True)
iNum = pPlayer.getNumAvailableBonuses(gc.getInfoTypeForString('BONUS_MANA_LAW'))
if iNum > 1:
unit.setHasPromotion(gc.getInfoTypeForString('PROMOTION_LAW1'), True)
[B]if (iNum > 2 and unit.isHasPromotion(iChanneling2)):[/B]
unit.setHasPromotion(gc.getInfoTypeForString('PROMOTION_LAW2'), True)
[B]if (iNum > 3 and unit.isHasPromotion(iChanneling3)):[/B]
unit.setHasPromotion(gc.getInfoTypeForString('PROMOTION_LAW3'), True)
iNum = pPlayer.getNumAvailableBonuses(gc.getInfoTypeForString('BONUS_MANA_LIFE'))
if iNum > 1:
unit.setHasPromotion(gc.getInfoTypeForString('PROMOTION_LIFE1'), True)
if (iNum > 2 and unit.isHasPromotion(iChanneling2)):
unit.setHasPromotion(gc.getInfoTypeForString('PROMOTION_LIFE2'), True)
if (iNum > 3 and unit.isHasPromotion(iChanneling3)):
unit.setHasPromotion(gc.getInfoTypeForString('PROMOTION_LIFE3'), True)
iNum = pPlayer.getNumAvailableBonuses(gc.getInfoTypeForString('BONUS_MANA_METAMAGIC'))
if iNum > 1:
unit.setHasPromotion(gc.getInfoTypeForString('PROMOTION_METAMAGIC1'), True)
if (iNum > 2 and unit.isHasPromotion(iChanneling2)):
unit.setHasPromotion(gc.getInfoTypeForString('PROMOTION_METAMAGIC2'), True)
if (iNum > 3 and unit.isHasPromotion(iChanneling3)):
unit.setHasPromotion(gc.getInfoTypeForString('PROMOTION_METAMAGIC3'), True)
iNum = pPlayer.getNumAvailableBonuses(gc.getInfoTypeForString('BONUS_MANA_MIND'))
if iNum > 1:
unit.setHasPromotion(gc.getInfoTypeForString('PROMOTION_MIND1'), True)
if (iNum > 2 and unit.isHasPromotion(iChanneling2)):
unit.setHasPromotion(gc.getInfoTypeForString('PROMOTION_MIND2'), True)
if (iNum > 3 and unit.isHasPromotion(iChanneling3)):
unit.setHasPromotion(gc.getInfoTypeForString('PROMOTION_MIND3'), True)
iNum = pPlayer.getNumAvailableBonuses(gc.getInfoTypeForString('BONUS_MANA_NATURE'))
if iNum > 1:
unit.setHasPromotion(gc.getInfoTypeForString('PROMOTION_NATURE1'), True)
if (iNum > 2 and unit.isHasPromotion(iChanneling2)):
unit.setHasPromotion(gc.getInfoTypeForString('PROMOTION_NATURE2'), True)
if (iNum > 3 and unit.isHasPromotion(iChanneling3)):
unit.setHasPromotion(gc.getInfoTypeForString('PROMOTION_NATURE3'), True)
iNum = pPlayer.getNumAvailableBonuses(gc.getInfoTypeForString('BONUS_MANA_SHADOW'))
if iNum > 1:
unit.setHasPromotion(gc.getInfoTypeForString('PROMOTION_SHADOW1'), True)
if (iNum > 2 and unit.isHasPromotion(iChanneling2)):
unit.setHasPromotion(gc.getInfoTypeForString('PROMOTION_SHADOW2'), True)
if (iNum > 3 and unit.isHasPromotion(iChanneling3)):
unit.setHasPromotion(gc.getInfoTypeForString('PROMOTION_SHADOW3'), True)
iNum = pPlayer.getNumAvailableBonuses(gc.getInfoTypeForString('BONUS_MANA_SPIRIT'))
if iNum > 1:
unit.setHasPromotion(gc.getInfoTypeForString('PROMOTION_SPIRIT1'), True)
if (iNum > 2 and unit.isHasPromotion(iChanneling2)):
unit.setHasPromotion(gc.getInfoTypeForString('PROMOTION_SPIRIT2'), True)
if (iNum > 3 and unit.isHasPromotion(iChanneling3)):
unit.setHasPromotion(gc.getInfoTypeForString('PROMOTION_SPIRIT3'), True)
iNum = pPlayer.getNumAvailableBonuses(gc.getInfoTypeForString('BONUS_MANA_SUN'))
if iNum > 1:
unit.setHasPromotion(gc.getInfoTypeForString('PROMOTION_SUN1'), True)
if (iNum > 2 and unit.isHasPromotion(iChanneling2)):
unit.setHasPromotion(gc.getInfoTypeForString('PROMOTION_SUN2'), True)
if (iNum > 3 and unit.isHasPromotion(iChanneling3)):
unit.setHasPromotion(gc.getInfoTypeForString('PROMOTION_SUN3'), True)
iNum = pPlayer.getNumAvailableBonuses(gc.getInfoTypeForString('BONUS_MANA_WATER'))
if iNum > 1:
unit.setHasPromotion(gc.getInfoTypeForString('PROMOTION_WATER1'), True)
if (iNum > 2 and unit.isHasPromotion(iChanneling2)):
unit.setHasPromotion(gc.getInfoTypeForString('PROMOTION_WATER2'), True)
if (iNum > 3 and unit.isHasPromotion(iChanneling3)):
unit.setHasPromotion(gc.getInfoTypeForString('PROMOTION_WATER3'), True)
if unit.isHasPromotion(gc.getInfoTypeForString('PROMOTION_ELEMENTAL')):
if pPlayer.getNumBuilding(gc.getInfoTypeForString('BUILDING_TOWER_OF_THE_ELEMENTS')) > 0:
unit.setHasPromotion(gc.getInfoTypeForString('PROMOTION_STRONG'), True)
if unit.isHasPromotion(gc.getInfoTypeForString('PROMOTION_UNDEAD')):
if pPlayer.getNumBuilding(gc.getInfoTypeForString('BUILDING_TOWER_OF_NECROMANCY')) > 0:
unit.setHasPromotion(gc.getInfoTypeForString('PROMOTION_STRONG'), True)
if (not self.__LOG_UNITBUILD):
return
------------
The I added the cyan part, to show way to fix the problem