EmperorFool
Deity
Forts in neutral land can't be used as channels either.
Yeah, this I actually can recall seeing for my own eyes, and I assume the same is true of forts as airbases.
Forts in neutral land can't be used as channels either.
.def("isNoBadGoodies", &CvUnitInfo::isNoBadGoodies, "bool ()")
.def("isNoCapture", &CvUnitInfo::isNoCapture, "bool ()")
.def("isNoBadGoodies", &CvUnitInfo::isNoBadGoodies, "bool ()")
.def("isOnlyDefensive", &CvUnitInfo::isOnlyDefensive, "bool ()")
.def("isNoCapture", &CvUnitInfo::isNoCapture, "bool ()")
if ((iTempValue > 80) && (pLoopPlot->getOwnerINLINE() == [COLOR="Red"]getID()[/COLOR]))
if ((iTempValue > 80) && (pLoopPlot->getOwnerINLINE() == [COLOR="Blue"]getOwnerINLINE()[/COLOR]))
int CvCityAI::AI_playerCloseness(PlayerTypes eIndex, int iMaxDistance)
{
FAssert(GET_PLAYER(eIndex).isAlive());
FAssert(eIndex != [COLOR="Red"]getID()[/COLOR]);
int CvCityAI::AI_playerCloseness(PlayerTypes eIndex, int iMaxDistance)
{
FAssert(GET_PLAYER(eIndex).isAlive());
FAssert(eIndex != [COLOR="Blue"]getOwnerINLINE()[/COLOR]);
//iClaimThreshold is the culture required to pop the 2nd borders.
int iClaimThreshold = GC.getGameINLINE().getCultureThreshold((CultureLevelTypes)(std::min(2, (GC.getNumCultureLevelInfos() - 1))));
iClaimThreshold = std::max(1, iClaimThreshold);
iClaimThreshold *= (std::max(100, iGreed));
[COLOR="Red"]iClaimThreshold /= 100;[/COLOR]
It might be confusing at first but seems to be intentional. river does not equal riverside .. or something like that.
Using jdog words in a older thread in this forum:Since you can't build watermills on corners, seems likely it's using the same check as that to add the extra commerce.
This looks intentional indeed, but the engrish Firaxis used in here is definitely prone to cause confusion...jdog5000 said:Lumbermills and preserves set the XML tag RiverSideYieldChange, where the "RiverSide" phrasing is also what Firaxis used to limit where watermills can be placed. So, it appears Firaxis did this intentionally ... there is no RiverYieldChange tag for improvements like there is for terrain.
The Civilopedia phrasing (English at least) is that these improvements give an extra commerce when "next to a river" while grassland/plains/etc give +1C when "adjacent to a river". They're clearly trying to differentiate between the two cases, but it is quite ambiguous. It's better than the watermill phrasing though, which simply says it "Requires river"!
As for the rationale for why lumbermills and preserves would generate extra commerce "next to" a river, it seems to me to be the same as why unforested grasslands would - proximity to the river increases traffic. I agree coherency there would fit better logically, but it's been this way since the beginning and changing it would be kind of a pain.
Civ IV BtS - Italian
Official patch 3.19
Unofficial patch 1.40
-------------
buglist & fix
-------------
Dir Beyond the Sword\Assets\XML\Text
File CIV4GameText_Events_BTS.xml
<Tag>TXT_KEY_EVENTTRIGGER_MOTOR_OIL</Tag>
2637 <Italian> remove 'chemists'
<Tag>TXT_KEY_EVENTTRIGGER_DISSIDENT_PRIEST</Tag>
6544 <Italian> change 'Amun-Re' to 'Amon-Ra'
<Tag>TXT_KEY_EVENT_DISSIDENT_PRIEST</Tag>
6552 <Italian> change 'Amun-Re' to 'Amon-Ra'
<Tag>TXT_KEY_EVENT_DISSIDENT_PRIEST_1</Tag>
6560 <Italian> change 'Amun-Re' to 'Amon-Ra'
<!-- Copyright jsbrigo 2010 -->
That argument would only holds if you either started in a almost fully forested world ( say, Arboria ) or if you can plant forests . Otherwise the choice is never that one, but if I should cut those trees or notThe current code forces players to make a choice between riverside lumbermills/preserves and riverside watermills.
If you could get full benefit from forests on the corners, it would lead to the boring strategy of "always forest the river corners, always watermill the riverside".
void CvPlayer::createGreatPeople(UnitTypes eGreatPersonUnit, bool bIncrementThreshold, bool bIncrementExperience, int iX, int iY)
{
CvUnit* pGreatPeopleUnit = initUnit(eGreatPersonUnit, iX, iY);
if (NULL == pGreatPeopleUnit)
{
FAssert(false);
return;
}
if (bIncrementThreshold)
{
incrementGreatPeopleCreated();
changeGreatPeopleThresholdModifier(GC.getDefineINT("GREAT_PEOPLE_THRESHOLD_INCREASE") * ((getGreatPeopleCreated() / 10) + 1));
for (int iI = 0; iI < MAX_PLAYERS; iI++)
{
if (GET_PLAYER((PlayerTypes)iI).getTeam() == getTeam())
{
GET_PLAYER((PlayerTypes)iI).changeGreatPeopleThresholdModifier(GC.getDefineINT("GREAT_PEOPLE_THRESHOLD_INCREASE_TEAM") * ((getGreatPeopleCreated() / 10) + 1));
}
}
}
if (bIncrementExperience)
{
incrementGreatGeneralsCreated();
changeGreatGeneralsThresholdModifier(GC.getDefineINT("GREAT_GENERALS_THRESHOLD_INCREASE") * ((getGreatGeneralsCreated() / 10) + 1));
for (int iI = 0; iI < MAX_PLAYERS; iI++)
{
if (GET_PLAYER((PlayerTypes)iI).getTeam() == getTeam())
{
GET_PLAYER((PlayerTypes)iI).changeGreatGeneralsThresholdModifier(GC.getDefineINT("GREAT_GENERALS_THRESHOLD_INCREASE_TEAM") * ((getGreatGeneralsCreated() / 10) + 1));
}
}
}
changeGreatPeopleThresholdModifier(GC.getDefineINT("GREAT_PEOPLE_THRESHOLD_INCREASE") * ([B](getGreatPeopleCreated() / 10) [/B]+ 1));