Blitzconfusion
Chieftain
- Joined
- Jul 30, 2014
- Messages
- 70
I ran into a problem when I tried to edit Classic literature quest reward option 2: gain an ancient era tech.
I have never seen anyone actually accomplish this quest (11 libraries on huge) while still having unresearched ancient techs, so I tried to make it give a classical tech instead. I edited the text files to say classical and so on, but:
I made (in entrypoints/CvRandomEventInterface) the following changes, above=original, below modified:
==========================
======================================
=====
So basically each ancient became classical, but no free tech screen shows up in my games when I choose reward 2, nor do I actually get anything. What is missing?
I have never seen anyone actually accomplish this quest (11 libraries on huge) while still having unresearched ancient techs, so I tried to make it give a classical tech instead. I edited the text files to say classical and so on, but:
I made (in entrypoints/CvRandomEventInterface) the following changes, above=original, below modified:
==========================
Spoiler :
def canApplyClassicLiteratureDone2(argsList):
iEvent = argsList[0]
kTriggeredData = argsList[1]
player = gc.getPlayer(kTriggeredData.ePlayer)
iEraAncient = CvUtil.findInfoTypeNum(gc.getEraInfo, gc.getNumEraInfos(), 'ERA_ANCIENT')
for iTech in range(gc.getNumTechInfos()):
if gc.getTechInfo(iTech).getEra() == iEraAncient and player.canResearch(iTech, false):
return true
return false
def applyClassicLiteratureDone2(argsList):
iEvent = argsList[0]
kTriggeredData = argsList[1]
player = gc.getPlayer(kTriggeredData.ePlayer)
iEraAncient = CvUtil.findInfoTypeNum(gc.getEraInfo, gc.getNumEraInfos(), 'ERA_ANCIENT')
listTechs = []
for iTech in range(gc.getNumTechInfos()):
if gc.getTechInfo(iTech).getEra() == iEraAncient and player.canResearch(iTech, false):
listTechs.append(iTech)
if len(listTechs) > 0:
iTech = listTechs[gc.getGame().getSorenRandNum(len(listTechs), "Classic Literature Event Tech selection")]
gc.getTeam(player.getTeam()).setHasTech(iTech, true, kTriggeredData.ePlayer, true, true)
iEvent = argsList[0]
kTriggeredData = argsList[1]
player = gc.getPlayer(kTriggeredData.ePlayer)
iEraAncient = CvUtil.findInfoTypeNum(gc.getEraInfo, gc.getNumEraInfos(), 'ERA_ANCIENT')
for iTech in range(gc.getNumTechInfos()):
if gc.getTechInfo(iTech).getEra() == iEraAncient and player.canResearch(iTech, false):
return true
return false
def applyClassicLiteratureDone2(argsList):
iEvent = argsList[0]
kTriggeredData = argsList[1]
player = gc.getPlayer(kTriggeredData.ePlayer)
iEraAncient = CvUtil.findInfoTypeNum(gc.getEraInfo, gc.getNumEraInfos(), 'ERA_ANCIENT')
listTechs = []
for iTech in range(gc.getNumTechInfos()):
if gc.getTechInfo(iTech).getEra() == iEraAncient and player.canResearch(iTech, false):
listTechs.append(iTech)
if len(listTechs) > 0:
iTech = listTechs[gc.getGame().getSorenRandNum(len(listTechs), "Classic Literature Event Tech selection")]
gc.getTeam(player.getTeam()).setHasTech(iTech, true, kTriggeredData.ePlayer, true, true)
======================================
Spoiler :
def canApplyClassicLiteratureDone2(argsList):
iEvent = argsList[0]
kTriggeredData = argsList[1]
player = gc.getPlayer(kTriggeredData.ePlayer)
iEraClassical = CvUtil.findInfoTypeNum(gc.getEraInfo, gc.getNumEraInfos(), 'ERA_CLASSICAL')
for iTech in range(gc.getNumTechInfos()):
if gc.getTechInfo(iTech).getEra() == iEraClassical and player.canResearch(iTech, false):
return true
return false
def applyClassicLiteratureDone2(argsList):
iEvent = argsList[0]
kTriggeredData = argsList[1]
player = gc.getPlayer(kTriggeredData.ePlayer)
iEraAncient = CvUtil.findInfoTypeNum(gc.getEraInfo, gc.getNumEraInfos(), 'ERA_CLASSICAL')
listTechs = []
for iTech in range(gc.getNumTechInfos()):
if gc.getTechInfo(iTech).getEra() == iEraClassical and player.canResearch(iTech, false):
listTechs.append(iTech)
if len(listTechs) > 0:
iTech = listTechs[gc.getGame().getSorenRandNum(len(listTechs), "Classic Literature Event Tech selection")]
gc.getTeam(player.getTeam()).setHasTech(iTech, true, kTriggeredData.ePlayer, true, true)
iEvent = argsList[0]
kTriggeredData = argsList[1]
player = gc.getPlayer(kTriggeredData.ePlayer)
iEraClassical = CvUtil.findInfoTypeNum(gc.getEraInfo, gc.getNumEraInfos(), 'ERA_CLASSICAL')
for iTech in range(gc.getNumTechInfos()):
if gc.getTechInfo(iTech).getEra() == iEraClassical and player.canResearch(iTech, false):
return true
return false
def applyClassicLiteratureDone2(argsList):
iEvent = argsList[0]
kTriggeredData = argsList[1]
player = gc.getPlayer(kTriggeredData.ePlayer)
iEraAncient = CvUtil.findInfoTypeNum(gc.getEraInfo, gc.getNumEraInfos(), 'ERA_CLASSICAL')
listTechs = []
for iTech in range(gc.getNumTechInfos()):
if gc.getTechInfo(iTech).getEra() == iEraClassical and player.canResearch(iTech, false):
listTechs.append(iTech)
if len(listTechs) > 0:
iTech = listTechs[gc.getGame().getSorenRandNum(len(listTechs), "Classic Literature Event Tech selection")]
gc.getTeam(player.getTeam()).setHasTech(iTech, true, kTriggeredData.ePlayer, true, true)
=====
So basically each ancient became classical, but no free tech screen shows up in my games when I choose reward 2, nor do I actually get anything. What is missing?