Quick Answers / 'Newbie' Questions

Grr can't find this anywhere. MB because it's too trivial to mention.

How many turns of anarchy per civic change? Is it always 1t/change in civic? Or is there a bulk discount if you do many at once?

Also, if you change civics a lot does each subsequent one cost more anarchy?
 
Grr can't find this anywhere. MB because it's too trivial to mention.

How many turns of anarchy per civic change? Is it always 1t/change in civic? Or is there a bulk discount if you do many at once?

Also, if you change civics a lot does each subsequent one cost more anarchy?

There are no set amounts, since anarchy periods are longer with bigger empires. But yeah, there's a flat minimum added when changing so doing many at a time gives a discount. On normal in early/mid game you usually get 2 for 1t, on epic 2 for 2t and on marathon 2 for 3t (marathon anarchy lengths are only scaled by 2 instead of 3). Subsequent changes don't cost extra - the length might be more though if your empire has grown in the meantime.
 
There are no set amounts, since anarchy periods are longer with bigger empires. But yeah, there's a flat minimum added when changing so doing many at a time gives a discount. On normal in early/mid game you usually get 2 for 1t, on epic 2 for 2t and on marathon 2 for 3t (marathon anarchy lengths are only scaled by 2 instead of 3). Subsequent changes don't cost extra - the length might be more though if your empire has grown in the meantime.

Gotcha, thx. You know of any documentation of the exact formulas?
 
Gotcha, thx. You know of any documentation of the exact formulas?

Haven't seen (very probably somewhere around here though), but let's make one anyway :D

[(1 + CIVICS_CHANGED + [AMOUNT_OF_CITIES * WORLD_MODIFIER]) * SPEED_MODIFIER * START_ERA_MODIFIER]

Where
WORLD_MODIFIER = 0.11 for Duel -> 0.06 for Huge, linear
SPEED_MODIFIER = 0.67 Quick, 1 Normal, 1.5 Epic, 2 Marathon
START_ERA_MODIFIER = 0.5 Ancient, Classical; 0.4 Medieval, Renaissance; 0.34 Industrial, Modern, Future

So, for regular games (Normal, Standard, Ancient), you can have 12 cities and still change 2 civics in 1 turn; with 13 cities you'd spend 2 turns. Hmm, this info might actually be useful. :)
 
So it has nothing to do with individual city sizes then? Hmm, interesting if this is the case.

Also, did you mean to have a multiplication sign after "CIVICS_CHANGED"?

Are you sure there's a "START_ERA_MODIFIER", or is it maybe just a "CURRENT_ERA_MODIFIER"?

When you say you're "making" this, do you mean you're guessing or going from the XML? The latter, I presume. :)
 
Also, did you mean to have a multiplication sign after "CIVICS_CHANGED"?

No, that would not make any sense.

Are you sure there's a "START_ERA_MODIFIER", or is it maybe just a "CURRENT_ERA_MODIFIER"?

Yes. The starting era affects a ton of things.

When you say you're "making" this, do you mean you're guessing or going from the XML? The latter, I presume. :)

You can't do that based on XML alone, the logic is from this (quite straightforward):

Spoiler :
Code:
int CvPlayer::getCivicAnarchyLength(CivicTypes* paeNewCivics) const
{
	bool bChange;
	int iAnarchyLength;
	int iI;

	if (getMaxAnarchyTurns() == 0)
	{
		return 0;
	}

	if (isGoldenAge())
	{
		return 0;
	}

	iAnarchyLength = 0;

	bChange = false;

	for (iI = 0; iI < GC.getNumCivicOptionInfos(); iI++)
	{
		if (paeNewCivics[iI] != getCivics((CivicOptionTypes)iI))
		{
			iAnarchyLength += GC.getCivicInfo(paeNewCivics[iI]).getAnarchyLength();

			bChange = true;
		}
	}

	if (bChange)
	{
		iAnarchyLength += GC.getDefineINT("BASE_CIVIC_ANARCHY_LENGTH");

		iAnarchyLength += ((getNumCities() * GC.getWorldInfo(GC.getMapINLINE().getWorldSize()).getNumCitiesAnarchyPercent()) / 100);
	}

	iAnarchyLength = ((iAnarchyLength * std::max(0, (getAnarchyModifier() + 100))) / 100);

	if (iAnarchyLength == 0)
	{
		return 0;
	}

	iAnarchyLength *= GC.getGameSpeedInfo(GC.getGameINLINE().getGameSpeedType()).getAnarchyPercent();
	iAnarchyLength /= 100;

	iAnarchyLength *= GC.getEraInfo(GC.getGameINLINE().getStartEra()).getAnarchyPercent();
	iAnarchyLength /= 100;

	return range(iAnarchyLength, 1, getMaxAnarchyTurns());
}
 
No, that would not make any sense.
I say this because if you plug in the numbers for your example:

[(1 + CIVICS_CHANGED + [AMOUNT_OF_CITIES * WORLD_MODIFIER]) * SPEED_MODIFIER * START_ERA_MODIFIER]

= [(1 + 2 + [12 * 0.08]) * 1 * 0.5]

= 1.98

...Oh, I suddenly see where I was messing up. I was thinking the number would be rounded up to 2, but I'm guessing it's truncated to 1. Is that correct? If so, that explains it. (That's why I was suggesting the multiplication sign, because I kept going through the maths in my head and it wasn't working out with the rounding. ;) )

You can't do that based on XML alone, the logic is from this (quite straightforward):

Spoiler :
Code:
int CvPlayer::getCivicAnarchyLength(CivicTypes* paeNewCivics) const
{
	bool bChange;
	int iAnarchyLength;
	int iI;

	if (getMaxAnarchyTurns() == 0)
	{
		return 0;
	}

	if (isGoldenAge())
	{
		return 0;
	}

	iAnarchyLength = 0;

	bChange = false;

	for (iI = 0; iI < GC.getNumCivicOptionInfos(); iI++)
	{
		if (paeNewCivics[iI] != getCivics((CivicOptionTypes)iI))
		{
			iAnarchyLength += GC.getCivicInfo(paeNewCivics[iI]).getAnarchyLength();

			bChange = true;
		}
	}

	if (bChange)
	{
		iAnarchyLength += GC.getDefineINT("BASE_CIVIC_ANARCHY_LENGTH");

		iAnarchyLength += ((getNumCities() * GC.getWorldInfo(GC.getMapINLINE().getWorldSize()).getNumCitiesAnarchyPercent()) / 100);
	}

	iAnarchyLength = ((iAnarchyLength * std::max(0, (getAnarchyModifier() + 100))) / 100);

	if (iAnarchyLength == 0)
	{
		return 0;
	}

	iAnarchyLength *= GC.getGameSpeedInfo(GC.getGameINLINE().getGameSpeedType()).getAnarchyPercent();
	iAnarchyLength /= 100;

	iAnarchyLength *= GC.getEraInfo(GC.getGameINLINE().getStartEra()).getAnarchyPercent();
	iAnarchyLength /= 100;

	return range(iAnarchyLength, 1, getMaxAnarchyTurns());
}
Cool. I still don't understand where you got that from though. (Relative newbie to programming here.) :)
 
Yes, all Civ math is integer math, meaning all rounding is actually truncating (and in case someone's wondering about the 0.08, all such stuff is stored and applied as percentages, i.e. 8, and divided by 100 later). The square brackets indicate rounding down - should have mentioned that. :)
 
Haven't seen (very probably somewhere around here though), but let's make one anyway :D

[(1 + CIVICS_CHANGED + [AMOUNT_OF_CITIES * WORLD_MODIFIER]) * SPEED_MODIFIER * START_ERA_MODIFIER]

Where
WORLD_MODIFIER = 0.11 for Duel -> 0.06 for Huge, linear
SPEED_MODIFIER = 0.67 Quick, 1 Normal, 1.5 Epic, 2 Marathon
START_ERA_MODIFIER = 0.5 Ancient, Classical; 0.4 Medieval, Renaissance; 0.34 Industrial, Modern, Future

So, for regular games (Normal, Standard, Ancient), you can have 12 cities and still change 2 civics in 1 turn; with 13 cities you'd spend 2 turns. Hmm, this info might actually be useful. :)

Thanks a ton Silu. This info is extremely useful. I am getting obsessed about little things like optimizing my civic changes and this is obviously what i need to do that.
 
Hi, newbie here. I have laptop without numbered directional keys. How can I quick-move?

Thanks
Welcome to CFC! :D

Generally I find pressing "G" and clicking where I want a unit to go works fairly well. I'm not sure there's any exact alternative to the numbered directional keys if you don't have them on the computer you're using. But pressing "G" and clicking works... in fact, personally I do it all the time instead of using the numbered keys, because I find there's much less chance of accidentally making a unit move in the wrong direction. :)
 
Hi, newbie here. I have laptop without numbered directional keys. How can I quick-move?

Thanks

Like Lord Parkin, I prefer to use the Go command, although I do use the keypad on occasion. As to your dilemma, most laptops can use a cluster of keys on the regular keyboard as a keypad. This is usually activated by a special key or the Fn key. Check out your laptop's manual.
 
Like Lord Parkin, I prefer to use the Go command, although I do use the keypad on occasion. As to your dilemma, most laptops can use a cluster of keys on the regular keyboard as a keypad. This is usually activated by a special key or the Fn key. Check out your laptop's manual.

My MacBook has a [num lock key] for that function.
 
When I go into Custom Game - all the AIs are listed as Noble - is that right?
Yes. It's a slightly confusing way of displaying things. The HUMAN player's difficulty level affects the AI. Really, the difficulty level column should be blank for the AI's... it would lessen the confusion. But anyhow, that's how it works. Just ignore the greyed out "Noble" beside the AI's. ;)
 
re: The Hanging Gardens

Does it add 1 pop to already existing cities? Or will a new city I plop have 2 pop immediately?

Thanks!
 
re: The Hanging Gardens

Does it add 1 pop to already existing cities? Or will a new city I plop have 2 pop immediately?

Thanks!
Only existing cities, not cities founded after the wonder is built. So you have to carefully weigh the added benefit of getting the wonder when you have more cities against the heightened risk that someone else will build it before you if you wait too long. ;)
 
Hello, just a quick question: can vassals trade techs with other civilizations than their masters? Do they often do it? Thanks.
 
Yes they can, and they do it quite a lot.
 
Back
Top Bottom