UnforcedError
Settler
A monastery built 1t before SM is teched will retain its culture bonus and will even double up after 1000 years. (Will lose all other bonuses even though they will still be shown if you mouse over the monastery.)
A monastery built 1t before SM is teched will retain its culture bonus and will even double up after 1000 years. (Will lose all other bonuses even though they will still be shown if you mouse over the monastery.)
It would probably be more intuitive if an obsoleted building lost all of its effects on a city. I think this feature is meant to help with a cultural victory. (Or maybe it symbolizes the fact that obsoleted buildings might still attract visitors?)I didn't do one turn, but instead 6, but yeah, this is totally true. I don't know why I thought it was the case. I'm going to strike out my blatantly false post. I hate being a fountain of ignorance...
Based only upon your descriptions, a couple of factors are probably accounting for the differences between your two games. By attacking Roosevelt you may in fact be significantly slowing down a significant tech rival (with decent land I often find Roosevelt techs quite well). By slowing down a tech leader, you slow down everyone else who may have traded techs with him (or even just benefited from the techs-already-known research bonus). In addition, early wars can wind up enhancing your research from war booty, since it allows you to run a deficit for several turns. Also remember in the 1st game that cottages can take a long time to start paying dividends, and in the meantime you may lag in tech. And a shrine does make a big difference to the AI, I've noticed, yet in some games the AI either fails to generate GPs or misuses them (settling them/starting a GA instead of founding a shrine).So my last game was my first one on Monarch after a long break and two or three noble and prince games. I drew Mao, first thought I was isolated but actually was on a mostly jungled peninsula, settled 13 or so cities (apparently the map had low sea levels), cottaged everything because despite lacking rivers it was the only thing I could do with most of my land before... Communism workshops?, never crashed my economy, really enjoyed my hordes of cheap workers but was doing horribly in tech, even with running scientists in those 2-3 good food and otherwise plains cities. BK was bigger and far ahead, maybe because of big shrine, Isabella's land looked like Mesopotamia and her tech showed it, Zara had a 3 gold capital but other than that completely sat in the desert but still beat me to Lib. Haven't played further. I was doing MM, I completely neglected my military (nothing to fear, both my neighbors were Hindu) for the economy, I tried to get monopolies and trade, it somehow didn't help.
So I'm playing the next game, this time I'm Hammurabi. Founded 6 or 7 cities, built axes and catapults (no horses to be found anywhere) and attacked my distant neighborRooseRushvelt. I did not play the war ideally and had two major setbacks from accidentally moving my defenders in the newly conquered cities somewhere else, but now I have his capital, most of my army (20-25 units, first I ran into trouble, then built more and suddenly I had that many) is alive and healing up, he is on the ropes. I have just Granary and Barracks in most of my cities,monuments in the oldest ones from before I founded Confusion, only 1 or 2 libraries, forges and courthouses. However, I'm still far ahead in tech (4-5 techs, nonsense like Polytheism and HBR don't count) somehow. I didn't trade a lot, I've been in war mode for quite a while, have almost been ignoring my ORG trait, have maybe 10 cottages, no scientists, no building wealth, big army, generally sloppy and not well-thought economic play... How?
And that's the difference between Commerce and Gold. Hope that makes sense!
I've noticed, yet in some games the AI either fails to generate GPs or misuses them (settling them/starting a GA instead of founding a shrine.
Look i have never experienced barbs with nukes and I do not hell care if it is possible in the game code XML or not ! Golly You seem to be mesmerized by the code argh listen You ! There is no code to play with along ! Thw whole experience of playing the game is actually to experience the unsuspected and adapting Your strategy to it !!! Listen if You know all the secrets behid the game would it be interesting for You or not ?
Originally Posted by Tachywaxon
In term of a turn:
1st) Commerce first (so techs are first priority)
2nd) Food second (Growth goes before and is important to know only in granary considerations)
3rd) Hammers last ( builds are compiled last)
My question:
So it goes commerce, food, growth, then hammers.
But if I grow and get and extra tile with hammers, then because I'm before the hammer step, are those hammers applied?
Does this mean when I whip and I'm going to grow immediately, I should make sure my best hammer tile is unselected, and some commerce tile is selected instead, so the City Governor will automatically pick that tile and I'll get the hammers anyway?
For example, say I have a 6f tile, a 2f4c tile, and a 2f4h (iron/copper) tile, in a 4 pop city 1 turn from 5 pop, then 2 pop whip so I have 2 pop going on 3 in 1 turn.
If I had selected the 6f and 2f4h tile, then I would have commerce applied, food and growth applied, then commerce tile selected, but commerce is past so I get nothing for it.
If I had used the 6f and 2f4c, then commerce applied (using 2f4c tile this time), then food applied and growth applied, the 2f4h selected, then hammers applied (using the 2f4h tile).
Is this correct?
void CvCity::doTurn()
{
PROFILE("CvCity::doTurn()");
CvPlot* pLoopPlot;
int iI;
if (!isBombarded())
{
changeDefenseDamage(-(GC.getDefineINT("CITY_DEFENSE_DAMAGE_HEAL_RATE")));
}
setLastDefenseDamage(getDefenseDamage());
setBombarded(false);
setPlundered(false);
setDrafted(false);
setAirliftTargeted(false);
setCurrAirlift(0);
AI_doTurn();
bool bAllowNoProduction = !doCheckProduction();
doGrowth();
doCulture();
doPlotCulture(false, getOwnerINLINE(), getCommerceRate(COMMERCE_CULTURE));
doProduction(bAllowNoProduction);
doDecay();
doReligion();
doGreatPeople();
doMeltdown();
updateEspionageVisibility(true);
if (!isDisorder())
{
for (iI = 0; iI < NUM_CITY_PLOTS; iI++)
{
pLoopPlot = getCityIndexPlot(iI);
if (pLoopPlot != NULL)
{
if (pLoopPlot->getWorkingCity() == this)
{
if (pLoopPlot->isBeingWorked())
{
pLoopPlot->doImprovement();
}
}
}
}
}
if (getCultureUpdateTimer() > 0)
{
changeCultureUpdateTimer(-1);
}
if (getOccupationTimer() > 0)
{
changeOccupationTimer(-1);
}
if (getHurryAngerTimer() > 0)
{
changeHurryAngerTimer(-1);
}
if (getConscriptAngerTimer() > 0)
{
changeConscriptAngerTimer(-1);
}
if (getDefyResolutionAngerTimer() > 0)
{
changeDefyResolutionAngerTimer(-1);
}
if (getHappinessTimer() > 0)
{
changeHappinessTimer(-1);
}
if (getEspionageHealthCounter() > 0)
{
changeEspionageHealthCounter(-1);
}
if (getEspionageHappinessCounter() > 0)
{
changeEspionageHappinessCounter(-1);
}
if (isOccupation() || (angryPopulation() > 0) || (healthRate() < 0))
{
setWeLoveTheKingDay(false);
}
else if ((getPopulation() >= GC.getDefineINT("WE_LOVE_THE_KING_POPULATION_MIN_POPULATION")) && (GC.getGameINLINE().getSorenRandNum(GC.getDefineINT("WE_LOVE_THE_KING_RAND"), "Do We Love The King?") < getPopulation()))
{
setWeLoveTheKingDay(true);
}
else
{
setWeLoveTheKingDay(false);
}
void CvCityAI::AI_doTurn()
{
PROFILE_FUNC();
int iI;
if (!isHuman())
{
for (iI = 0; iI < GC.getNumSpecialistInfos(); iI++)
{
setForceSpecialistCount(((SpecialistTypes)iI), 0);
}
}
if (!isHuman())
{
AI_stealPlots();
}
AI_updateWorkersNeededHere();
AI_updateBestBuild();
AI_updateRouteToCity();
if (isHuman())
{
if (isProductionAutomated())
{
AI_doHurry();
}
return;
}
AI_doPanic();
AI_doDraft();
AI_doHurry();
AI_doEmphasize();
}
void CvCity::doProduction(bool bAllowNoProduction)
{
CyCity* pyCity = new CyCity(this);
CyArgsList argsList;
argsList.add(gDLL->getPythonIFace()->makePythonObject(pyCity)); // pass in city class
long lResult=0;
gDLL->getPythonIFace()->callFunction(PYGameModule, "doProduction", argsList.makeFunctionArgs(), &lResult);
delete pyCity; // python fxn must not hold on to this pointer
if (lResult == 1)
{
return;
}
if (!isHuman() || isProductionAutomated())
{
if (!isProduction() || isProductionProcess() || AI_isChooseProductionDirty())
{
AI_chooseProduction();
}
}
if (!bAllowNoProduction && !isProduction())
{
return;
}
if (isProductionProcess())
{
return;
}
if (isDisorder())
{
return;
}
if (isProduction())
{
changeProduction(getCurrentProductionDifference(false, true));
setOverflowProduction(0);
setFeatureProduction(0);
if (getProduction() >= getProductionNeeded())
{
popOrder(0, true, true);
}
}
else
{
changeOverflowProduction(getCurrentProductionDifference(false, false), getProductionModifier());
}
}
int iFoodProduction = ((bFoodProduction) ? std::max(0, (getYieldRate(YIELD_FOOD) - foodConsumption(true))) : 0);
int iOverflow = ((bOverflow) ? (getOverflowProduction() + getFeatureProduction()) : 0);
return (((getBaseYieldRate(YIELD_PRODUCTION) + iOverflow) * getBaseYieldRateModifier(YIELD_PRODUCTION, iProductionModifier)) / 100 + iFoodProduction);
int CvCity::foodConsumption(bool bNoAngry, int iExtra) const
{
return ((((getPopulation() + iExtra) - ((bNoAngry) ? angryPopulation(iExtra) : 0)) * GC.getFOOD_CONSUMPTION_PER_POPULATION()) - healthRate(bNoAngry, iExtra));
}
int CvCity::foodConsumption(bool bNoAngry, int iExtra) const
{
return ((((getPopulation() + iExtra) - ((bNoAngry) ? angryPopulation(iExtra) : 0)) * GC.getFOOD_CONSUMPTION_PER_POPULATION()) - healthRate(bNoAngry, iExtra));
}
int foodConsumption(bool bNoAngry = false, int iExtra = 0)
void CvCity::setOverflowProduction(int iNewValue)
{
m_iOverflowProduction = iNewValue;
FAssert(getOverflowProduction() >= 0);
}
Also, we learnt when OF is transferred to a new build, it's not the OF predicted by the previous build with its own modifiers. OF is converted to base hammers by taking out previous modifiers and then new modifiers are attached to base hammers OF.
Does that mean the various cheeses which involve overflowing A into B basically don't work at all? Tee hee.
It's exactly as you say. With the latest patch the overflow will be modified before being applied to the current build if you had any bonuses on the previous one (so extra EXP hammers for whipping a granary will be subtracted from the overflow and then any new modifiers will be applied). With protective you could actually generate a nice chunk of overflow gold by repeatedly whipping and chopping into e.g. a wall with stone. With the latest patch most of it goes to waste and you get neither hammers nor gold.Not at all. It's just important to have lots of bonuses in B and bonuses in A are irrelevant. But if you are organized, and B is a lighthouse, you can gets tons of hammers out of overflow (or let B be a wonder with a Stone/Marble/Copper/Ivory bonus). But whipping an organized lighthouse to get lots of hammers for a non-industrious forge may turn out less well than expected.
EDIT: However, when I remember reading about overflows in the past, I believe that it USED to be that your modifiers on A mattered, which is why protective wall and stone overflows were amazing but aren't good now. I remember reading a TMIT rant about how they essentially just nerfed protective with that change, and I'm fairly certain that is exactly what was modified. But it also had something to do with gold, so I may also be a little confused.
uh? No one is surprised that angry citizens are intentionally not fed while building settlers/workers?
I was drastically surprised that was not a bug after all. And such a good reason to grow up to 6 pop in the capital and then whip without the angry guy being costly.
Or for another city with 4 happy max, grow as fast as possible (2 strong food resources) up to pop 6 and whip those angry guys without them costing except the moment of growth between pop 5 and 6. But if done fast, their consumption will be lower than slowly.
I noticed this behaviour a few years back, always assumed it was a bug. Great whipping advice, thoughuh? No one is surprised that angry citizens are intentionally not fed while building settlers/workers?
I was drastically surprised that was not a bug after all. And such a good reason to grow up to 6 pop in the capital and then whip without the angry guy being costly.
Or for another city with 4 happy max, grow as fast as possible (2 strong food resources) up to pop 6 and whip those angry guys without them costing except the moment of growth between pop 5 and 6. But if done fast, their consumption will be lower than slowly.
traius said:But if I grow and get and extra tile with hammers, then because I'm before the hammer step, are those hammers applied?
VoiceOfUnreason said:I think it is because production yields are recalculated each time the city configuration changes, not during doTurn.
void CvCity::updateYield()
{
CvPlot* pLoopPlot;
int iI;
for (iI = 0; iI < NUM_CITY_PLOTS; iI++)
{
pLoopPlot = getCityIndexPlot(iI);
if (pLoopPlot != NULL)
{
pLoopPlot->updateYield();
}
}
}
Does this mean when I whip and I'm going to grow immediately, I should make sure my best hammer tile is unselected, and some commerce tile is selected instead, so the City Governor will automatically pick that tile and I'll get the hammers anyway?
For example, say I have a 6f tile, a 2f4c tile, and a 2f4h (iron/copper) tile, in a 4 pop city 1 turn from 5 pop, then 2 pop whip so I have 2 pop going on 3 in 1 turn.
If I had selected the 6f and 2f4h tile, then I would have commerce applied, food and growth applied, then commerce tile selected, but commerce is past so I get nothing for it.
If I had used the 6f and 2f4c, then commerce applied (using 2f4c tile this time), then food applied and growth applied, the 2f4h selected, then hammers applied (using the 2f4h tile).
Is this correct?
uh? No one is surprised that angry citizens are intentionally not fed while building settlers/workers?
I was drastically surprised that was not a bug after all. And such a good reason to grow up to 6 pop in the capital and then whip without the angry guy being costly.
Or for another city with 4 happy max, grow as fast as possible (2 strong food resources) up to pop 6 and whip those angry guys without them costing except the moment of growth between pop 5 and 6. But if done fast, their consumption will be lower than slowly.