def spellSpiralGate(caster):
pPlayer = gc.getPlayer(caster.getOwner())
eTeam = gc.getTeam(pPlayer.getTeam())
pCapital = pPlayer.getCapitalCity()
pBestPlot = -1
iBestPlot = -1
for i in range (CyMap().numPlots()):
pPlot = CyMap().plotByIndex(i)
iPlot = -1
iPlotOwner = pPlot.getOwner()
if not iPlotOwner == pPlayer:
if pPlot.isWater() == False:
if pPlot.getNumUnits() == 0:
if pPlot.isCity() == False:
if pPlot.isImpassable() == False:
iPlot = CyGame().getSorenRandNum(500, "Place Spiral Gate")
iPlot = iPlot + (pPlot.area().getNumTiles() * 2)
iPlot = iPlot + (pPlot.area().getNumUnownedTiles() * 10)
iPlot = iPlot + (plotDistance(pPlot.getX(), pPlot.getY(), pCapital.getX(), pCapital.getY()) * 5)
if pPlot.isOwned() == False:
iPlot = iPlot + 200
if iPlot > iBestPlot:
iBestPlot = iPlot
pBestPlot = pPlot
if pBestPlot != -1:
newUnit1 = pPlayer.initUnit(gc.getInfoTypeForString('UNIT_NECROMANCER'), pBestPlot.getX(), pBestPlot.getY(), UnitAITypes.NO_UNITAI, DirectionTypes.DIRECTION_NORTH)
newUnit1.setHasPromotion(gc.getInfoTypeForString('PROMOTION_DEATH1'), true)
newUnit1.setHasPromotion(gc.getInfoTypeForString('PROMOTION_DEATH2'), true)
newUnit1.setHasPromotion(gc.getInfoTypeForString('PROMOTION_SPIRIT1'), true)
newUnit1.setHasPromotion(gc.getInfoTypeForString('PROMOTION_SPIRIT2'), true)
newUnit1.setHasPromotion(gc.getInfoTypeForString('PROMOTION_SHADOW1'), true)
newUnit1.setHasPromotion(gc.getInfoTypeForString('PROMOTION_SHADOW2'), true)
newUnit1.setHasPromotion(gc.getInfoTypeForString('PROMOTION_COMBAT1'), true)
newUnit1.setExperienceTimes100(1000, -1)
newUnit1.setName(CyTranslator().getText('TXT_KEY_UNIT_FALSE_LAROTH',()))
if eTeam.isHasTech(gc.getInfoTypeForString('TECH_ARCHERY')) == True:
newUnit2 = pPlayer.initUnit(gc.getInfoTypeForString('UNIT_ARCHER'), pBestPlot.getX(), pBestPlot.getY(), UnitAITypes.NO_UNITAI, DirectionTypes.DIRECTION_NORTH)
newUnit3 = pPlayer.initUnit(gc.getInfoTypeForString('UNIT_ARCHER'), pBestPlot.getX(), pBestPlot.getY(), UnitAITypes.NO_UNITAI, DirectionTypes.DIRECTION_NORTH)
if eTeam.isHasTech(gc.getInfoTypeForString('TECH_BRONZE_WORKING')) == True:
newUnit4 = pPlayer.initUnit(gc.getInfoTypeForString('UNIT_HONORED_BAND'), pBestPlot.getX(), pBestPlot.getY(), UnitAITypes.NO_UNITAI, DirectionTypes.DIRECTION_NORTH)
newUnit5 = pPlayer.initUnit(gc.getInfoTypeForString('UNIT_HONORED_BAND'), pBestPlot.getX(), pBestPlot.getY(), UnitAITypes.NO_UNITAI, DirectionTypes.DIRECTION_NORTH)
newUnit4.setHasPromotion(gc.getInfoTypeForString('PROMOTION_BRONZE_WEAPONS'), true)
newUnit5.setHasPromotion(gc.getInfoTypeForString('PROMOTION_BRONZE_WEAPONS'), true)
if eTeam.isHasTech(gc.getInfoTypeForString('TECH_IRON_WORKING')) == True:
newUnit6 = pPlayer.initUnit(gc.getInfoTypeForString('UNIT_PRINCIPES'), pBestPlot.getX(), pBestPlot.getY(), UnitAITypes.NO_UNITAI, DirectionTypes.DIRECTION_NORTH)
newUnit6.setHasPromotion(gc.getInfoTypeForString('PROMOTION_IRON_WEAPONS'), true)
newUnit7 = pPlayer.initUnit(gc.getInfoTypeForString('UNIT_PRINCIPES'), pBestPlot.getX(), pBestPlot.getY(), UnitAITypes.NO_UNITAI, DirectionTypes.DIRECTION_NORTH)
newUnit7.setHasPromotion(gc.getInfoTypeForString('PROMOTION_IRON_WEAPONS'), true)
if eTeam.isHasTech(gc.getInfoTypeForString('TECH_TRADE')) == True:
newUnit8 = pPlayer.initUnit(gc.getInfoTypeForString('UNIT_SPIRAL_SUPPLIES'), pBestPlot.getX(), pBestPlot.getY(), UnitAITypes.NO_UNITAI, DirectionTypes.DIRECTION_NORTH)
if eTeam.isHasTech(gc.getInfoTypeForString('TECH_STIRRUPS')) == True:
newUnit9 = pPlayer.initUnit(gc.getInfoTypeForString('UNIT_HORSE_ARCHER'), pBestPlot.getX(), pBestPlot.getY(), UnitAITypes.NO_UNITAI, DirectionTypes.DIRECTION_NORTH)
newUnit10 = pPlayer.initUnit(gc.getInfoTypeForString('UNIT_HORSE_ARCHER'), pBestPlot.getX(), pBestPlot.getY(), UnitAITypes.NO_UNITAI, DirectionTypes.DIRECTION_NORTH)
if eTeam.isHasTech(gc.getInfoTypeForString('TECH_WARHORSES')) == True:
newUnit11 = pPlayer.initUnit(gc.getInfoTypeForString('UNIT_HORSE_ARCHER'), pBestPlot.getX(), pBestPlot.getY(), UnitAITypes.NO_UNITAI, DirectionTypes.DIRECTION_NORTH)
newUnit12 = pPlayer.initUnit(gc.getInfoTypeForString('UNIT_HORSE_ARCHER'), pBestPlot.getX(), pBestPlot.getY(), UnitAITypes.NO_UNITAI, DirectionTypes.DIRECTION_NORTH)
newUnit35 = pPlayer.initUnit(gc.getInfoTypeForString('UNIT_AWAKENED'), pBestPlot.getX(), pBestPlot.getY(), UnitAITypes.NO_UNITAI, DirectionTypes.DIRECTION_NORTH)
if eTeam.isHasTech(gc.getInfoTypeForString('TECH_ARMORED_CAVALRY')) == True:
newUnit13 = pPlayer.initUnit(gc.getInfoTypeForString('UNIT_SPIRAL_SUPPLIES'), pBestPlot.getX(), pBestPlot.getY(), UnitAITypes.NO_UNITAI, DirectionTypes.DIRECTION_NORTH)
newUnit14 = pPlayer.initUnit(gc.getInfoTypeForString('UNIT_SPIRAL_SUPPLIES'), pBestPlot.getX(), pBestPlot.getY(), UnitAITypes.NO_UNITAI, DirectionTypes.DIRECTION_NORTH)
newUnit9.setExperienceTimes100(1000, -1)
newUnit10.setExperienceTimes100(1000, -1)
newUnit11.setExperienceTimes100(1000, -1)
newUnit12.setExperienceTimes100(1000, -1)
if eTeam.isHasTech(gc.getInfoTypeForString('TECH_ANIMAL_HANDLING')) == True:
newUnit15 = pPlayer.initUnit(gc.getInfoTypeForString('UNIT_GHOSTWALKER'), pBestPlot.getX(), pBestPlot.getY(), UnitAITypes.NO_UNITAI, DirectionTypes.DIRECTION_NORTH)
newUnit36 = pPlayer.initUnit(gc.getInfoTypeForString('UNIT_AWAKENED'), pBestPlot.getX(), pBestPlot.getY(), UnitAITypes.NO_UNITAI, DirectionTypes.DIRECTION_NORTH)
if eTeam.isHasTech(gc.getInfoTypeForString('TECH_FERAL_BOND')) == True:
newUnit17 = pPlayer.initUnit(gc.getInfoTypeForString('UNIT_GHOSTWALKER'), pBestPlot.getX(), pBestPlot.getY(), UnitAITypes.NO_UNITAI, DirectionTypes.DIRECTION_NORTH)
newUnit18 = pPlayer.initUnit(gc.getInfoTypeForString('UNIT_AWAKENED'), pBestPlot.getX(), pBestPlot.getY(), UnitAITypes.NO_UNITAI, DirectionTypes.DIRECTION_NORTH)
if eTeam.isHasTech(gc.getInfoTypeForString('TECH_ANIMAL_MASTERY')) == True:
newUnit19 = pPlayer.initUnit(gc.getInfoTypeForString('UNIT_GHOSTWALKER'), pBestPlot.getX(), pBestPlot.getY(), UnitAITypes.NO_UNITAI, DirectionTypes.DIRECTION_NORTH)
newUnit20 = pPlayer.initUnit(gc.getInfoTypeForString('UNIT_AWAKENED'), pBestPlot.getX(), pBestPlot.getY(), UnitAITypes.NO_UNITAI, DirectionTypes.DIRECTION_NORTH)
newUnit21 = pPlayer.initUnit(gc.getInfoTypeForString('UNIT_AWAKENED'), pBestPlot.getX(), pBestPlot.getY(), UnitAITypes.NO_UNITAI, DirectionTypes.DIRECTION_NORTH)
if eTeam.isHasTech(gc.getInfoTypeForString('TECH_SMELTING')) == True:
newUnit22 = pPlayer.initUnit(gc.getInfoTypeForString('UNIT_SPIRAL_SUPPLIES'), pBestPlot.getX(), pBestPlot.getY(), UnitAITypes.NO_UNITAI, DirectionTypes.DIRECTION_NORTH)
newUnit23 = pPlayer.initUnit(gc.getInfoTypeForString('UNIT_AWAKENED'), pBestPlot.getX(), pBestPlot.getY(), UnitAITypes.NO_UNITAI, DirectionTypes.DIRECTION_NORTH)
if eTeam.isHasTech(gc.getInfoTypeForString('TECH_SANITATION')) == True:
newUnit24 = pPlayer.initUnit(gc.getInfoTypeForString('UNIT_AWAKENED'), pBestPlot.getX(), pBestPlot.getY(), UnitAITypes.NO_UNITAI, DirectionTypes.DIRECTION_NORTH)
newUnit25 = pPlayer.initUnit(gc.getInfoTypeForString('UNIT_AWAKENED'), pBestPlot.getX(), pBestPlot.getY(), UnitAITypes.NO_UNITAI, DirectionTypes.DIRECTION_NORTH)
if eTeam.isHasTech(gc.getInfoTypeForString('TECH_MEDICINE')) == True:
newUnit26 = pPlayer.initUnit(gc.getInfoTypeForString('UNIT_AWAKENED'), pBestPlot.getX(), pBestPlot.getY(), UnitAITypes.NO_UNITAI, DirectionTypes.DIRECTION_NORTH)
newUnit27 = pPlayer.initUnit(gc.getInfoTypeForString('UNIT_AWAKENED'), pBestPlot.getX(), pBestPlot.getY(), UnitAITypes.NO_UNITAI, DirectionTypes.DIRECTION_NORTH)
if eTeam.isHasTech(gc.getInfoTypeForString('TECH_MITHRIL_WORKING')) == True:
newUnit28 = pPlayer.initUnit(gc.getInfoTypeForString('UNIT_SPIRAL_SUPPLIES'), pBestPlot.getX(), pBestPlot.getY(), UnitAITypes.NO_UNITAI, DirectionTypes.DIRECTION_NORTH)
newUnit29 = pPlayer.initUnit(gc.getInfoTypeForString('UNIT_PHALANX'), pBestPlot.getX(), pBestPlot.getY(), UnitAITypes.NO_UNITAI, DirectionTypes.DIRECTION_NORTH)
newUnit29.setHasPromotion(gc.getInfoTypeForString('PROMOTION_IRON_WEAPONS'), true)
newUnit30 = pPlayer.initUnit(gc.getInfoTypeForString('UNIT_AWAKENED'), pBestPlot.getX(), pBestPlot.getY(), UnitAITypes.NO_UNITAI, DirectionTypes.DIRECTION_NORTH)
if eTeam.isHasTech(gc.getInfoTypeForString('TECH_ASTRONOMY')) == True:
newUnit28 = pPlayer.initUnit(gc.getInfoTypeForString('UNIT_SPIRAL_SUPPLIES'), pBestPlot.getX(), pBestPlot.getY(), UnitAITypes.NO_UNITAI, DirectionTypes.DIRECTION_NORTH)
if eTeam.isHasTech(gc.getInfoTypeForString('TECH_BOWYERS')) == True:
newUnit29 = pPlayer.initUnit(gc.getInfoTypeForString('UNIT_LONGBOWMAN'), pBestPlot.getX(), pBestPlot.getY(), UnitAITypes.NO_UNITAI, DirectionTypes.DIRECTION_NORTH)
newUnit30 = pPlayer.initUnit(gc.getInfoTypeForString('UNIT_LONGBOWMAN'), pBestPlot.getX(), pBestPlot.getY(), UnitAITypes.NO_UNITAI, DirectionTypes.DIRECTION_NORTH)
newUnit31 = pPlayer.initUnit(gc.getInfoTypeForString('UNIT_LONGBOWMAN'), pBestPlot.getX(), pBestPlot.getY(), UnitAITypes.NO_UNITAI, DirectionTypes.DIRECTION_NORTH)
if eTeam.isHasTech(gc.getInfoTypeForString('TECH_PRECISION')) == True:
newUnit32 = pPlayer.initUnit(gc.getInfoTypeForString('UNIT_MARKSMAN'), pBestPlot.getX(), pBestPlot.getY(), UnitAITypes.NO_UNITAI, DirectionTypes.DIRECTION_NORTH)
newUnit33 = pPlayer.initUnit(gc.getInfoTypeForString('UNIT_AWAKENED'), pBestPlot.getX(), pBestPlot.getY(), UnitAITypes.NO_UNITAI, DirectionTypes.DIRECTION_NORTH)
if eTeam.isHasTech(gc.getInfoTypeForString('TECH_TAXATION')) == True:
newUnit29 = pPlayer.initUnit(gc.getInfoTypeForString('UNIT_AWAKENED'), pBestPlot.getX(), pBestPlot.getY(), UnitAITypes.NO_UNITAI, DirectionTypes.DIRECTION_NORTH)
if eTeam.isHasTech(gc.getInfoTypeForString('TECH_GUILDS')) == True:
newUnit37 = pPlayer.initUnit(gc.getInfoTypeForString('UNIT_SPIRAL_SUPPLIES'), pBestPlot.getX(), pBestPlot.getY(), UnitAITypes.NO_UNITAI, DirectionTypes.DIRECTION_NORTH)
newUnit38 = pPlayer.initUnit(gc.getInfoTypeForString('UNIT_AWAKENED'), pBestPlot.getX(), pBestPlot.getY(), UnitAITypes.NO_UNITAI, DirectionTypes.DIRECTION_NORTH)
if eTeam.isHasTech(gc.getInfoTypeForString('TECH_MERCANTILISM')) == True:
newUnit39= pPlayer.initUnit(gc.getInfoTypeForString('UNIT_SPIRAL_SUPPLIES'), pBestPlot.getX(), pBestPlot.getY(), UnitAITypes.NO_UNITAI, DirectionTypes.DIRECTION_NORTH)
newUnit41= pPlayer.initUnit(gc.getInfoTypeForString('UNIT_AWAKENED'), pBestPlot.getX(), pBestPlot.getY(), UnitAITypes.NO_UNITAI, DirectionTypes.DIRECTION_NORTH)
newUnit42 = pPlayer.initUnit(gc.getInfoTypeForString('UNIT_AWAKENED'), pBestPlot.getX(), pBestPlot.getY(), UnitAITypes.NO_UNITAI, DirectionTypes.DIRECTION_NORTH)
if eTeam.isHasTech(gc.getInfoTypeForString('TECH_MILITARY_STRATEGY')) == True:
newUnit43 = pPlayer.initUnit(gc.getInfoTypeForString('UNIT_AWAKENED'), pBestPlot.getX(), pBestPlot.getY(), UnitAITypes.NO_UNITAI, DirectionTypes.DIRECTION_NORTH)
newUnit2.setExperienceTimes100(600, -1)
newUnit3.setExperienceTimes100(600, -1)
newUnit4.setExperienceTimes100(600, -1)
newUnit5.setExperienceTimes100(600, -1)
newUnit6.setExperienceTimes100(600, -1)
newUnit7.setExperienceTimes100(600, -1)
newUnit15.setExperienceTimes100(600, -1)
newUnit17.setExperienceTimes100(600, -1)
newUnit19.setExperienceTimes100(600, -1)
newUnit29.setExperienceTimes100(600, -1)
newUnit30.setExperienceTimes100(600, -1)
newUnit31.setExperienceTimes100(600, -1)
newUnit32.setExperienceTimes100(600, -1)
if eTeam.isHasTech(gc.getInfoTypeForString('TECH_ENGINEERING')) == True:
newUnit56 = pPlayer.initUnit(gc.getInfoTypeForString('UNIT_SPIRAL_SUPPLIES'), pBestPlot.getX(), pBestPlot.getY(), UnitAITypes.NO_UNITAI, DirectionTypes.DIRECTION_NORTH)
if eTeam.isHasTech(gc.getInfoTypeForString('TECH_BLASTING_POWDER')) == True:
newUnit44 = pPlayer.initUnit(gc.getInfoTypeForString('UNIT_BONE_HORDE'), pBestPlot.getX(), pBestPlot.getY(), UnitAITypes.NO_UNITAI, DirectionTypes.DIRECTION_NORTH)
newUnit45 = pPlayer.initUnit(gc.getInfoTypeForString('UNIT_BONE_HORDE'), pBestPlot.getX(), pBestPlot.getY(), UnitAITypes.NO_UNITAI, DirectionTypes.DIRECTION_NORTH)
newUnit46 = pPlayer.initUnit(gc.getInfoTypeForString('UNIT_BONE_HORDE'), pBestPlot.getX(), pBestPlot.getY(), UnitAITypes.NO_UNITAI, DirectionTypes.DIRECTION_NORTH)
if eTeam.isHasTech(gc.getInfoTypeForString('TECH_ARCANE_LORE')) == True:
newUnit47 = pPlayer.initUnit(gc.getInfoTypeForString('UNIT_NECROMANCER'), pBestPlot.getX(), pBestPlot.getY(), UnitAITypes.NO_UNITAI, DirectionTypes.DIRECTION_NORTH)
newUnit47.setHasPromotion(gc.getInfoTypeForString('PROMOTION_DEATH1'), true)
newUnit47.setHasPromotion(gc.getInfoTypeForString('PROMOTION_DEATH2'), true)
newUnit48 = pPlayer.initUnit(gc.getInfoTypeForString('UNIT_AWAKENED'), pBestPlot.getX(), pBestPlot.getY(), UnitAITypes.NO_UNITAI, DirectionTypes.DIRECTION_NORTH)
if eTeam.isHasTech(gc.getInfoTypeForString('TECH_STRENGTH_OF_WILL')) == True:
newUnit49 = pPlayer.initUnit(gc.getInfoTypeForString('UNIT_NECROMANCER'), pBestPlot.getX(), pBestPlot.getY(), UnitAITypes.NO_UNITAI, DirectionTypes.DIRECTION_NORTH)
newUnit49.setHasPromotion(gc.getInfoTypeForString('PROMOTION_DEATH1'), true)
newUnit49.setHasPromotion(gc.getInfoTypeForString('PROMOTION_DEATH2'), true)
newUnit49.setHasPromotion(gc.getInfoTypeForString('PROMOTION_COMBAT1'), true)
newUnit50 = pPlayer.initUnit(gc.getInfoTypeForString('UNIT_AWAKENED'), pBestPlot.getX(), pBestPlot.getY(), UnitAITypes.NO_UNITAI, DirectionTypes.DIRECTION_NORTH)
newUnit51 = pPlayer.initUnit(gc.getInfoTypeForString('UNIT_AWAKENED'), pBestPlot.getX(), pBestPlot.getY(), UnitAITypes.NO_UNITAI, DirectionTypes.DIRECTION_NORTH)
if eTeam.isHasTech(gc.getInfoTypeForString('TECH_PASS_THROUGH_THE_ETHER')) == True:
newUnit52 = pPlayer.initUnit(gc.getInfoTypeForString('UNIT_NECROMANCER'), pBestPlot.getX(), pBestPlot.getY(), UnitAITypes.NO_UNITAI, DirectionTypes.DIRECTION_NORTH)
newUnit52.setHasPromotion(gc.getInfoTypeForString('PROMOTION_DEATH1'), true)
newUnit52.setHasPromotion(gc.getInfoTypeForString('PROMOTION_COMBAT1'), true)
newUnit52.setHasPromotion(gc.getInfoTypeForString('PROMOTION_COMBAT2'), true)
newUnit53 = pPlayer.initUnit(gc.getInfoTypeForString('UNIT_AWAKENED'), pBestPlot.getX(), pBestPlot.getY(), UnitAITypes.NO_UNITAI, DirectionTypes.DIRECTION_NORTH)
newUnit54 = pPlayer.initUnit(gc.getInfoTypeForString('UNIT_AWAKENED'), pBestPlot.getX(), pBestPlot.getY(), UnitAITypes.NO_UNITAI, DirectionTypes.DIRECTION_NORTH)
newUnit55 = pPlayer.initUnit(gc.getInfoTypeForString('UNIT_SPIRAL_SUPPLIES'), pBestPlot.getX(), pBestPlot.getY(), UnitAITypes.NO_UNITAI, DirectionTypes.DIRECTION_NORTH)
if eTeam.isHasTech(gc.getInfoTypeForString('TECH_MACHINERY')) == True:
newUnit57 = pPlayer.initUnit(gc.getInfoTypeForString('UNIT_AWAKENED'), pBestPlot.getX(), pBestPlot.getY(), UnitAITypes.NO_UNITAI, DirectionTypes.DIRECTION_NORTH)
newUnit58 = pPlayer.initUnit(gc.getInfoTypeForString('UNIT_SPIRAL_SUPPLIES'), pBestPlot.getX(), pBestPlot.getY(), UnitAITypes.NO_UNITAI, DirectionTypes.DIRECTION_NORTH)
if eTeam.isHasTech(gc.getInfoTypeForString('TECH_OMNISCIENCE')) == True:
newUnit59 = pPlayer.initUnit(gc.getInfoTypeForString('UNIT_AWAKENED'), pBestPlot.getX(), pBestPlot.getY(), UnitAITypes.NO_UNITAI, DirectionTypes.DIRECTION_NORTH)
newUnit60 = pPlayer.initUnit(gc.getInfoTypeForString('UNIT_AWAKENED'), pBestPlot.getX(), pBestPlot.getY(), UnitAITypes.NO_UNITAI, DirectionTypes.DIRECTION_NORTH)
newUnit61 = pPlayer.initUnit(gc.getInfoTypeForString('UNIT_NECROMANCER'), pBestPlot.getX(), pBestPlot.getY(), UnitAITypes.NO_UNITAI, DirectionTypes.DIRECTION_NORTH)
newUnit61.setHasPromotion(gc.getInfoTypeForString('PROMOTION_DEATH1'), true)
newUnit61.setHasPromotion(gc.getInfoTypeForString('PROMOTION_DEATH2'), true)
newUnit61.setHasPromotion(gc.getInfoTypeForString('PROMOTION_COMBAT1'), true)
newUnit61.setHasPromotion(gc.getInfoTypeForString('PROMOTION_COMBAT2'), true)
newUnit61.setHasPromotion(gc.getInfoTypeForString('PROMOTION_COMBAT3'), true)
if eTeam.isHasTech(gc.getInfoTypeForString('TECH_RELIGIOUS_LAW')) == True:
newUnit62 = pPlayer.initUnit(gc.getInfoTypeForString('UNIT_AWAKENED'), pBestPlot.getX(), pBestPlot.getY(), UnitAITypes.NO_UNITAI, DirectionTypes.DIRECTION_NORTH)
newUnit63 = pPlayer.initUnit(gc.getInfoTypeForString('UNIT_AWAKENED'), pBestPlot.getX(), pBestPlot.getY(), UnitAITypes.NO_UNITAI, DirectionTypes.DIRECTION_NORTH)
if eTeam.isHasTech(gc.getInfoTypeForString('TECH_THEOLOGY')) == True:
newUnit64 = pPlayer.initUnit(gc.getInfoTypeForString('UNIT_AWAKENED'), pBestPlot.getX(), pBestPlot.getY(), UnitAITypes.NO_UNITAI, DirectionTypes.DIRECTION_NORTH)
newUnit65 = pPlayer.initUnit(gc.getInfoTypeForString('UNIT_AWAKENED'), pBestPlot.getX(), pBestPlot.getY(), UnitAITypes.NO_UNITAI, DirectionTypes.DIRECTION_NORTH)
newUnit66 = pPlayer.initUnit(gc.getInfoTypeForString('UNIT_AWAKENED'), pBestPlot.getX(), pBestPlot.getY(), UnitAITypes.NO_UNITAI, DirectionTypes.DIRECTION_NORTH)
if eTeam.isHasTech(gc.getInfoTypeForString('TECH_COMMUNE_WITH_NATURE')) == True:
newUnit67 = pPlayer.initUnit(gc.getInfoTypeForString('UNIT_AWAKENED'), pBestPlot.getX(), pBestPlot.getY(), UnitAITypes.NO_UNITAI, DirectionTypes.DIRECTION_NORTH)
newUnit68 = pPlayer.initUnit(gc.getInfoTypeForString('UNIT_AWAKENED'), pBestPlot.getX(), pBestPlot.getY(), UnitAITypes.NO_UNITAI, DirectionTypes.DIRECTION_NORTH)
if eTeam.isHasTech(gc.getInfoTypeForString('TECH_FANATICISM')) == True:
newUnit69 = pPlayer.initUnit(gc.getInfoTypeForString('UNIT_AWAKENED'), pBestPlot.getX(), pBestPlot.getY(), UnitAITypes.NO_UNITAI, DirectionTypes.DIRECTION_NORTH)
newUnit70 = pPlayer.initUnit(gc.getInfoTypeForString('UNIT_AWAKENED'), pBestPlot.getX(), pBestPlot.getY(), UnitAITypes.NO_UNITAI, DirectionTypes.DIRECTION_NORTH)
newUnit71 = pPlayer.initUnit(gc.getInfoTypeForString('UNIT_REVENANT'), pBestPlot.getX(), pBestPlot.getY(), UnitAITypes.NO_UNITAI, DirectionTypes.DIRECTION_NORTH)
if eTeam.isHasTech(gc.getInfoTypeForString('TECH_MALEVOLANT_DESIGN')) == True:
newUnit72 = pPlayer.initUnit(gc.getInfoTypeForString('UNIT_AWAKENED'), pBestPlot.getX(), pBestPlot.getY(), UnitAITypes.NO_UNITAI, DirectionTypes.DIRECTION_NORTH)
newUnit73 = pPlayer.initUnit(gc.getInfoTypeForString('UNIT_AWAKENED'), pBestPlot.getX(), pBestPlot.getY(), UnitAITypes.NO_UNITAI, DirectionTypes.DIRECTION_NORTH)
newUnit74 = pPlayer.initUnit(gc.getInfoTypeForString('UNIT_AWAKENED'), pBestPlot.getX(), pBestPlot.getY(), UnitAITypes.NO_UNITAI, DirectionTypes.DIRECTION_NORTH)
if eTeam.isHasTech(gc.getInfoTypeForString('TECH_RIGHTEOUSNESS')) == True:
newUnit75 = pPlayer.initUnit(gc.getInfoTypeForString('UNIT_AWAKENED'), pBestPlot.getX(), pBestPlot.getY(), UnitAITypes.NO_UNITAI, DirectionTypes.DIRECTION_NORTH)
newUnit76 = pPlayer.initUnit(gc.getInfoTypeForString('UNIT_AWAKENED'), pBestPlot.getX(), pBestPlot.getY(), UnitAITypes.NO_UNITAI, DirectionTypes.DIRECTION_NORTH)
newUnit77 = pPlayer.initUnit(gc.getInfoTypeForString('UNIT_AWAKENED'), pBestPlot.getX(), pBestPlot.getY(), UnitAITypes.NO_UNITAI, DirectionTypes.DIRECTION_NORTH)
if eTeam.isHasTech(gc.getInfoTypeForString('TECH_DIVINE_ESSENCE')) == True:
newUnit81 = pPlayer.initUnit(gc.getInfoTypeForString('UNIT_AWAKENED'), pBestPlot.getX(), pBestPlot.getY(), UnitAITypes.NO_UNITAI, DirectionTypes.DIRECTION_NORTH)
newUnit82 = pPlayer.initUnit(gc.getInfoTypeForString('UNIT_AWAKENED'), pBestPlot.getX(), pBestPlot.getY(), UnitAITypes.NO_UNITAI, DirectionTypes.DIRECTION_NORTH)
newUnit83 = pPlayer.initUnit(gc.getInfoTypeForString('UNIT_AWAKENED'), pBestPlot.getX(), pBestPlot.getY(), UnitAITypes.NO_UNITAI, DirectionTypes.DIRECTION_NORTH)
newUnit84 = pPlayer.initUnit(gc.getInfoTypeForString('UNIT_ABOMINATION'), pBestPlot.getX(), pBestPlot.getY(), UnitAITypes.NO_UNITAI, DirectionTypes.DIRECTION_NORTH)
if eTeam.isHasTech(gc.getInfoTypeForString('TECH_BRONZE_WORKING')) == True:
newUnit29.setHasPromotion(gc.getInfoTypeForString('PROMOTION_BRONZE_WEAPONS'), true)
newUnit30.setHasPromotion(gc.getInfoTypeForString('PROMOTION_BRONZE_WEAPONS'), true)
newUnit31.setHasPromotion(gc.getInfoTypeForString('PROMOTION_BRONZE_WEAPONS'), true)
newUnit32.setHasPromotion(gc.getInfoTypeForString('PROMOTION_BRONZE_WEAPONS'), true)
if eTeam.isHasTech(gc.getInfoTypeForString('TECH_IRON_WORKING')) == True:
newUnit29.setHasPromotion(gc.getInfoTypeForString('PROMOTION_IRON_WEAPONS'), true)
newUnit30.setHasPromotion(gc.getInfoTypeForString('PROMOTION_IRON_WEAPONS'), true)
newUnit31.setHasPromotion(gc.getInfoTypeForString('PROMOTION_IRON_WEAPONS'), true)
newUnit4.setHasPromotion(gc.getInfoTypeForString('PROMOTION_IRON_WEAPONS'), true)
newUnit5.setHasPromotion(gc.getInfoTypeForString('PROMOTION_IRON_WEAPONS'), true)
newUnit32.setHasPromotion(gc.getInfoTypeForString('PROMOTION_IRON_WEAPONS'), true)
return