def onTechAcquired(self, argsList): iTech, iTeam, iPlayer, bAnnounce = argsList iHuman = utils.getHumanID() iEra = gc.getTechInfo(iTech).getEra() iGameTurn = gc.getGame().getGameTurn() if iGameTurn == utils.getScenarioStartTurn(): return sta.onTechAcquired(iPlayer, iTech) AIParameters.onTechAcquired(iPlayer, iTech) if iGameTurn > getTurnForYear(tBirth[iPlayer]): vic.onTechAcquired(iPlayer, iTech) cnm.onTechAcquired(iPlayer) dc.onTechAcquired(iPlayer, iTech) if gc.getPlayer(iPlayer).isAlive() and iGameTurn >= getTurnForYear( tBirth[iPlayer]) and iPlayer < iNumPlayers: rel.onTechAcquired(iTech, iPlayer) if iGameTurn > getTurnForYear(1700): self.aiw.forgetMemory(iTech, iPlayer) if iTech == iExploration: if iPlayer in [ iSpain, iFrance, iEngland, iGermany, iVikings, iNetherlands, iPortugal ]: data.players[iPlayer].iExplorationTurn = iGameTurn elif iTech == iMicrobiology: self.pla.onTechAcquired(iTech, iPlayer) elif iTech == iRailroad: self.rnf.onRailroadDiscovered(iPlayer) if iTech in [iExploration, iFirearms]: teamPlayer = gc.getTeam(iPlayer) if teamPlayer.isHasTech(iExploration) and teamPlayer.isHasTech( iFirearms): self.rnf.earlyTradingCompany(iPlayer) if iTech in [iEconomics, iReplaceableParts]: teamPlayer = gc.getTeam(iPlayer) if teamPlayer.isHasTech(iEconomics) and teamPlayer.isHasTech( iReplaceableParts): self.rnf.lateTradingCompany(iPlayer) if utils.getHumanID() != iPlayer: if iPlayer == iJapan and iEra == iIndustrial: utils.moveCapital(iPlayer, (116, 47)) # Toukyou elif iPlayer == iItaly and iEra == iIndustrial: utils.moveCapital(iPlayer, (60, 44)) # Roma elif iPlayer == iVikings and iEra == iRenaissance: utils.moveCapital(iPlayer, (63, 59)) # Stockholm elif iPlayer == iHolyRome and iEra == iRenaissance: utils.moveCapital(iPlayer, (62, 49)) # Wien # Maya UP: +20 food when a tech is discovered before the medieval era if iPlayer == iMaya and not pMaya.isReborn() and iEra < iMedieval: if pMaya.getNumCities() > 0: iFood = 20 / pMaya.getNumCities() for city in utils.getCityList(iMaya): city.changeFood(iFood) CyInterface().addMessage( iPlayer, False, iDuration, CyTranslator().getText( "TXT_KEY_MAYA_UP_EFFECT", (gc.getTechInfo(iTech).getText(), iFood)), "", 0, "", ColorTypes(iWhite), -1, -1, True, True) # Spain's core extends when reaching the Renaissance and there are no Moors in Iberia # at the same time, the Moorish core relocates to Africa if iPlayer == iSpain and iEra == iRenaissance and not utils.isReborn( iSpain): bNoMoors = True if gc.getPlayer(iMoors).isAlive(): for city in utils.getCityList(iMoors): if city.plot().getRegionID() == rIberia: bNoMoors = False if bNoMoors: utils.setReborn(iSpain, True) utils.setReborn(iMoors, True) # Italy's core extends when reaching the Industrial era if iPlayer == iItaly and iEra == iIndustrial: utils.setReborn(iItaly, True) # Japan's core extends when reaching the Industrial era if iPlayer == iJapan and iEra == iIndustrial: utils.setReborn(iJapan, True) # Germany's core shrinks when reaching the Digital era if iPlayer == iGermany and iEra == iDigital: utils.setReborn(iGermany, True)
def initTech(iPlayer, iTech): gc.getTeam(gc.getPlayer(iPlayer).getTeam()).setHasTech( iTech, True, iPlayer, False, False) vic.onTechAcquired(iPlayer, iTech) rel.onTechAcquired(iPlayer, iTech)