<Nexus>
Traveler of the Multiverse
Okay, so do I just insert your code like this:No, you're right. Could only do something in the DLL, e.g.in CvCityAI::AI_projectValue. Not sure how that value gets used; seems to be on a pretty small scale:Code:if (eProject == GC.getInfoTypeForString("PROJECT_THEORY_OF_EVOLUTION")) iValue += 5;
Spoiler :Edit: Oh, AND has tweaked this:Code:if (GC.getProjectInfo(eProject).getNukeInterception() > 0) { if (GC.getGameINLINE().canTrainNukes()) iValue += (GC.getProjectInfo(eProject).getNukeInterception() / 10); // (Only 7 gets added here it seems) }
Code:iValue += (GC.getProjectInfo(eProject).getNukeInterception() *2);
Code:
int CvCityAI::AI_projectValue(ProjectTypes eProject)
{
int iValue;
int iI;
iValue = 0;
if (GC.getProjectInfo(eProject).getEveryoneSpecialBuilding() != NO_SPECIALBUILDING)
{
iValue += 10;
}
for (int iL = 0; iL < GC.getNumVictoryInfos(); iL++)
{
if (GC.getGameINLINE().isVictoryValid((VictoryTypes)iL))
{
if (GC.getVictoryInfo((VictoryTypes)iL).isTotalVictory()) //45deg: boost for SS production when playing with Mastery
{
if (GC.getProjectInfo(eProject).isSpaceprogram())
{
iValue += 1000;
}
if (GC.getProjectInfo(eProject).isSpaceship())
{
iValue += 1000;
}
}
}
}
if (GC.getProjectInfo(eProject).getNukeInterception() > 0)
{
if (GC.getGameINLINE().canTrainNukes())
{
iValue += (GC.getProjectInfo(eProject).getNukeInterception() *2);
if ((GC.getGameINLINE().countTotalNukeUnits()) > (GET_PLAYER(getOwnerINLINE()).getNumCities() *4))
{
iValue *= 3;
}
}
}
if (GC.getProjectInfo(eProject).getTechShare() > 0)
{
if (GC.getProjectInfo(eProject).getTechShare() < GET_TEAM(getTeam()).getHasMetCivCount(true))
{
iValue += (20 / GC.getProjectInfo(eProject).getTechShare());
}
}
for (iI = 0; iI < GC.getNumVictoryInfos(); iI++)
{
if (GC.getGameINLINE().isVictoryValid((VictoryTypes)iI))
{
iValue += (std::max(0, (GC.getProjectInfo(eProject).getVictoryThreshold(iI) - GET_TEAM(getTeam()).getProjectCount(eProject))) * 200);
}
}
for (iI = 0; iI < GC.getNumProjectInfos(); iI++)
{
iValue += (std::max(0, (GC.getProjectInfo((ProjectTypes)iI).getProjectsNeeded(eProject) - GET_TEAM(getTeam()).getProjectCount(eProject))) * 10);
}
if (eProject == GC.getInfoTypeForString("PROJECT_THEORY_OF_EVOLUTION"))
iValue += 5;
Does this look good?