View Full Version : Third times a charm


vampy420
May 28, 2006, 10:40 PM
Re-started my first prince level game from 1600BC save (third time - hence title). This time I took all suggestions given me (almost - I still like to build wonders :D ) - Thanks for all the input, it has helped alot!
This time I waited till COL was researched before starting Oracle - every time before the holy city was founded in the city NOT building Oracle (so that post I read stating that religion founded in last built city is not true), having holy city with Oracle - even without it being a GP farm will make generating GP easier (shrine does add to GP doesnt it?) - I also built Chitzen Itza there to add more prophet power.

I did not beeline for Machinery after getting CS, instead I went for poly / mono and researched theology first (I didnt crack whip as much this time and the added worked cottages helped alot!), Also went for math / currency too - so far only built market in HQ (cottage farm, well .. now villages - maybe even a town or three). All this AND I still have half dozen macemen + a few cats on the way.

Now my dilema is one of should I invade ? Go for culture win ?
I'm still leaning towards killing Ceasar - even tho he is my best friend right now .

VoiceOfUnreason
May 28, 2006, 11:01 PM
This time I waited till COL was researched before starting Oracle - every time before the holy city was founded in the city NOT building Oracle (so that post I read stating that religion founded in last built city is not true)

If you are refering to Desert-Fox's comment, look again... he did say usually (I made the same reading error). Which city becomes the holy city is a diceroll biased by number of religions, population, and the palace.

Lord Olleus
May 29, 2006, 05:15 AM
here is the SDK code about founding religions

void CvPlayer::foundReligion(ReligionTypes eReligion)
{
CvCity* pLoopCity;
CvCity* pBestCity;
UnitTypes eFreeUnit;
bool bStarting;
int iValue;
int iBestValue;
int iLoop;

if (GC.getGameINLINE().isReligionFounded(eReligion))
{
return;
}

bStarting = ((GC.getReligionInfo(eReligion).getTechPrereq() == NO_TECH) || (GC.getTechInfo((TechTypes) GC.getReligionInfo(eReligion).getTechPrereq()).get Era() < GC.getGameINLINE().getStartEra()));

iBestValue = 0;
pBestCity = NULL;

for (pLoopCity = firstCity(&iLoop); pLoopCity != NULL; pLoopCity = nextCity(&iLoop))
{
if (!bStarting || !(pLoopCity->isHolyCity()))
{
iValue = 10;
iValue += pLoopCity->getPopulation();
iValue += GC.getGameINLINE().getSorenRandNum(GC.getDefineINT ("FOUND_RELIGION_CITY_RAND"), "Found Religion");

iValue /= (pLoopCity->getReligionCount() + 1);

if (pLoopCity->isCapital())
{
iValue /= 8;
}

iValue = max(1, iValue);

if (iValue > iBestValue)
{
iBestValue = iValue;
pBestCity = pLoopCity;
}
}
}

if (pBestCity != NULL)
{
GC.getGameINLINE().setHolyCity(eReligion, pBestCity, true);

if (GC.getReligionInfo(eReligion).getFreeUnitClass() != NO_UNITCLASS)
{
eFreeUnit = ((UnitTypes)(GC.getCivilizationInfo(getCivilizatio nType()).getCivilizationUnits(GC.getReligionInfo(e Religion).getFreeUnitClass())));

if (eFreeUnit != NO_UNIT)
{
initUnit(eFreeUnit, pBestCity->getX_INLINE(), pBestCity->getY_INLINE());
}
}
}
}