grumbler
Prince
Looks like that automated installer update was TOO quick.![]()
Apparently.

(^ click link for once again updated installer)
Looks like that automated installer update was TOO quick.![]()
I think the river gets added for the river benefits (fresh water, trade routes), not to improve the overall terrain by creating flood plains, so this might not have been unintentional. Still, I like this change, it's just annoying and irritating to find those desert tiles.
Great to see you continue your work Bhruic, though it's sad you have to, i.e. that the official patch is taking so long.
I think the river gets added for the river benefits (fresh water, trade routes), not to improve the overall terrain by creating flood plains, so this might not have been unintentional. Still, I like this change, it's just annoying and irritating to find those desert tiles.
Yeah, I know they are added for fresh water... But the point is, Flood Plains have a 100% chance of appearing on desert squares next to rivers. To my mind, that means any desert tile adjacent to a river should be Flood Plains. Adding the extra river to give fresh water was breaking this rule, so I consider it a "bug" to be fixed - which I did.
Bh
I believe I was one of the people who requested this change, so thank you.My reasoning was similar to yours.
If I recall correctly, you can't have deserts in the BFC anyway, so it won't improve the starting position directly. It improves the immediate surroundings of the starting position and I guess it will rarely make these surroundings overpowering.
Well that is interesting. Because ever since the first Vanilla release, I have NEVER seen an AI vote 'NO' for banning nukes. Somehow, your patch has altered something.
Most things seemed to be hard-coded for just one answere with the UN resolutions. Just like emancipation, it doesn't matter how stupid it is in that point of time for an AI to vote yes, they will ALL vote yes no matter what for universal emancipation. This was actually a very good exploit and why I never went after democracy in Vanilla.
I've read a report about the AI voting 'no' to the banning nukes UN vote and that poster was also surprised. Maybe it's a rare occurrence but apparently it can happen. Maybe it has to do with the technological situation in the world. When you're ahead in research and most of the AI civilization don't have uranium or haven't researched the technology to see uranium, then it's quite logical to vote in favour of the ban. When you have build some nukes and an AI who also just discovered uranium hasn't constructed any yet, then it is logical that it doesn't want to ban nukes.
Very often the human player will be ahead at this stage of the game because most players will quit when they're not ahead at this stage or earlier. Thus the situation where it is beneficial for the AI to NOT ban nukes doesn't occur very often.
Of course I tend to play my games to the end regardless of how well I'm doing.![]()
if ((GC.getGame().getGameTurn() - getGameTurnAcquired()) < 10)
{
if (bOffenseWar)
{
if (!hasActiveWorldWonder() [B]|| isHolyCity()[/B])
{
iDefenders /= 2;
iDefenders = std::max([B]1[/B], iDefenders);
}
}
}
if (GC.getGame().getGameTurn() - getGameTurnAcquired() < 10)
{
iDefenders = std::max([B]2[/B], iDefenders);
if (AI_isDanger())
{
iDefenders ++;
}
if (bDefenseWar)
{
iDefenders ++;
}
}
if ((GC.getGame().getGameTurn() - getGameTurnAcquired()) < 10)
{
if (bOffenseWar)
{
if (!hasActiveWorldWonder() [B]&& !isHolyCity()[/B])
{
iDefenders /= 2;
iDefenders = std::max(1, iDefenders);
}
}
else
{
iDefenders = std::max(2, iDefenders);
}
if (AI_isDanger())
{
iDefenders ++;
}
if (bDefenseWar)
{
iDefenders ++;
}
}
Poking through the CityAI code today, I found the following strange section in CvCityAI::AI_neededDefenders
How does that sound?
if ((GC.getGame().getGameTurn() - getGameTurnAcquired()) < 10)
{
iDefenders = std::max(2, iDefenders);
if (bOffenseWar)
{
if (!hasActiveWorldWonder() && !isHolyCity())
{
iDefenders /= 2;
}
}
if (AI_isDanger())
{
iDefenders++;
}
if (bDefenseWar)
{
iDefenders++;
}
}
Code:
if ((GC.getGame().getGameTurn() - getGameTurnAcquired()) < 10)
{
iDefenders = std::max(2, iDefenders);
if (bOffenseWar)
{
if (!(hasActiveWorldWonder() || isHolyCity()))
{
iDefenders /= 2;
}
}
if (AI_isDanger() || bDefenseWar)
{
iDefenders++;
}
}
iDefenders += bDefenseWar + AI_IsDanger();
if ((GC.getGame().getGameTurn() - getGameTurnAcquired()) < 10)
iDefenders = std::max(2, iDefenders) / ( 1 + (bOffenceWar && !hasActiveWorldWonder() && !isHolyCity()))
+ bDefenceWar
+ AI_IsDanger();