Quick Answers / 'Newbie' Questions

Question!

How does WFYABTA work? I played a game where the AI had 5 techs in the trade table and I had none. What's up with that?

Spoiler :
Every AI has a tech limit towards all other players, meaning they would track the number of techs you get from anyone else and refuse to trade with you as soon as it is equal or more than their limit. You can find the default values in the CIV4LeaderHeadInfos.xml file (iNoTechTradeThreshold). Over time, the AI will randomly "forget" and might trade again. (They would also track the tech trades of other AIs so they might refuse them for the same reason as well.) Also, if you enter a new era they will "forget" one of the techs you traded.
 
Every AI has a tech limit towards all other players, meaning they would track the number of techs you get from anyone else and refuse to trade with you as soon as it is equal or more than their limit. You can find the default values in the CIV4LeaderHeadInfos.xml file (iNoTechTradeThreshold). Over time, the AI will randomly "forget" and might trade again. (They would also track the tech trades of other AIs so they might refuse them for the same reason as well.) Also, if you enter a new era they will "forget" one of the techs you traded.

Really nice replying.

Lemme add the reason of WFYABTA was a anti-human implementation from the devs who saw the great abuses done in CivIII.
Second point, the rate of forgetting is 5% a turn IIRC.
Third point, the tech count (that is the measure of WFYABTA) for a certain AI is done once you meet him/her. Thus, tech trades done on a continent pre-caravel won't affect AI's on the other continent.
Lastly, those numbers <iNoTechTradeThreshold> are references/weighs for differentiating leaders in taste, but not the real tech count. The real tech count is calculated along the difficulty level you are playing on. And it is in the SDK, that is inside CvGameCore.dll (uncompiled version has a folder with the same name, courtesy of Firaxis who helped out modders to create CIV offsprings).
 
It's the default value for Deity.
 
Question about Permanent Alliances.. If I make PA with civilization that got +1 ships movement bonus, do I get that too or not?
 
I don't think so. If you don't share effects from wonders, you probably wouldn't share that either.
 
I don't think so. If you don't share effects from wonders, you probably wouldn't share that either.

Woah woah woah let's not assume the beast being a beast without really knowing beast's privates.
I don't either pretend to know all the secrets of PA, but I vaguely remember wonders are shared in terms of external bonuses like Mids, Bach's cathedral, etc.

The thing with PA is about many aspects that are shared between the members of that PA like wars, techs, bedrooms, OB, rewards like a free GPeople but for this one we can't halve it without killing it.

Most aspects of team play are treated in a special C++ file called CvTeam.cpp because the way the game treats players in the game is as teams. A forever alone player is still viewed as a team, but a solo one. In a nutshell, how the game classify things makes teams a global view of players, which is a particular case on how players are distributed in the game.

Anyways, let's see. I'll return in a few minutes if I can see something interesting there.
 
Ok,
I list here an abstruse list of things I see in that 6000 lines file.

  1. Share techs.
  2. Espionage complicity.
  3. Shared war weariness
  4. Something called "StolenVisibilityTimer"
  5. Wars
  6. Peaces and enforced peace treaties.
  7. Open Borders
  8. Defensive pacts
  9. Share wars bonuses
  10. War success...wow I didn't know that.
  11. One contact another, your partner knows it with telepathy.
  12. Religion founded, one city in all cities of BOTH partners is chosen as holy city.
  13. 50% extra cost in techs for each additional member in the team.
  14. Maps knowledge are shared.
  15. Finally, I got my hand on circumnavigation bonus is shared between members of a team.
  16. I don't know about wonders, but I am getting annoyed looking at this big file.

Here is the code part about circumnavigation bonus and teams. No need to see it btw, otherwise eyes might might suffer from irrecoverable wounds.

Spoiler :

I said don't look at it. Think healthy.
Spoiler :
Code:
void CvTeam::testCircumnavigated()
{
	CvPlot* pPlot;
	CvWString szBuffer;
	bool bFoundVisible;
	int iX, iY;

	if (isBarbarian())
	{
		return;
	}

	if (!GC.getGameINLINE().circumnavigationAvailable())
	{
		return;
	}

	if (GC.getMapINLINE().isWrapXINLINE())
	{
		for (iX = 0; iX < GC.getMapINLINE().getGridWidthINLINE(); iX++)
		{
			bFoundVisible = false;

			for (iY = 0; iY < GC.getMapINLINE().getGridHeightINLINE(); iY++)
			{
				pPlot = GC.getMapINLINE().plotSorenINLINE(iX, iY);

				if (pPlot->isRevealed(getID(), false))
				{
					bFoundVisible = true;
					break;
				}
			}

			if (!bFoundVisible)
			{
				return;
			}
		}
	}

	if (GC.getMapINLINE().isWrapYINLINE())
	{
		for (iY = 0; iY < GC.getMapINLINE().getGridHeightINLINE(); iY++)
		{
			bFoundVisible = false;

			for (iX = 0; iX < GC.getMapINLINE().getGridWidthINLINE(); iX++)
			{
				pPlot = GC.getMapINLINE().plotSorenINLINE(iX, iY);

				if (pPlot->isRevealed(getID(), false))
				{
					bFoundVisible = true;
					break;
				}
			}

			if (!bFoundVisible)
			{
				return;
			}
		}
	}

	GC.getGameINLINE().makeCircumnavigated();

	if (GC.getGameINLINE().getElapsedGameTurns() > 0)
	{
		if (GC.getDefineINT("CIRCUMNAVIGATE_FREE_MOVES") != 0)
		{
			changeExtraMoves(DOMAIN_SEA, GC.getDefineINT("CIRCUMNAVIGATE_FREE_MOVES"));

			for (int iI = 0; iI < MAX_PLAYERS; iI++)
			{
				if (GET_PLAYER((PlayerTypes)iI).isAlive())
				{
					if (getID() == GET_PLAYER((PlayerTypes)iI).getTeam())
					{
						szBuffer = gDLL->getText("TXT_KEY_MISC_YOU_CIRC_GLOBE", GC.getDefineINT("CIRCUMNAVIGATE_FREE_MOVES"));
					}
					else if (isHasMet(GET_PLAYER((PlayerTypes)iI).getTeam()))
					{
						szBuffer = gDLL->getText("TXT_KEY_MISC_SOMEONE_CIRC_GLOBE", getName().GetCString());
					}
					else
					{
						szBuffer = gDLL->getText("TXT_KEY_MISC_UNKNOWN_CIRC_GLOBE");
					}
					gDLL->getInterfaceIFace()->addMessage(((PlayerTypes)iI), false, GC.getEVENT_MESSAGE_TIME(), szBuffer, "AS2D_GLOBECIRCUMNAVIGATED", MESSAGE_TYPE_MAJOR_EVENT, NULL, (ColorTypes)GC.getInfoTypeForString("COLOR_HIGHLIGHT_TEXT"));
				}
			}

			szBuffer = gDLL->getText("TXT_KEY_MISC_SOMEONE_CIRC_GLOBE", getName().GetCString());
			GC.getGameINLINE().addReplayMessage(REPLAY_MESSAGE_MAJOR_EVENT, getLeaderID(), szBuffer, -1, -1, (ColorTypes)GC.getInfoTypeForString("COLOR_HIGHLIGHT_TEXT"));
		}
	}
}
 
Wow. Thank you. I was really surprised at the bit about founding religions. Would there be a way to choose if it is your's or your ally's? Though wouldn't all the religions be founded by the time you can make permanent alliances?
 
Wow. Thank you. I was really surprised at the bit about founding religions. Though wouldn't all the religions be founded by the time you can make permanent alliances?
Teams can exist from the start of the game. Same rules apply. Surely in the case of a permanent alliance the religion part isn't that important anymore.
 
What would happen if it is only you and one opponent left, and you make a permanent alliance. Would you win a conquest victory or not? Because there are no other civs left.
 
What would happen if it is only you and one opponent left, and you make a permanent alliance. Would you win a conquest victory or not? Because there are no other civs left.
You would win of course. Either conquest or dom (both would apply).
 
You would win of course. Either conquest or dom (both would apply).

But actually it is possible to make PA with last independent AI in the game? Wouldn't be there some.. "reasons" from him (her) side to not do that.. Or AI will do that to win game too? (little funny.. I want to win, (s)he wants to win.. lets win together :D )
 
But actually it is possible to make PA with last independent AI in the game? Wouldn't be there some.. "reasons" from him (her) side to not do that.. Or AI will do that to win game too? (little funny.. I want to win, (s)he wants to win.. lets win together :D )
They will enter a PA with you if their disposition towards you is high enough (this varies from AI to AI, again found in CIV4LeaderHeadInfos.xml). A win as a team still counts as a win :) (They might have their reasons not to vassal to you, but that's a different matter altogether.)
 
May I open up another noob question?:)

How do food and hammer differ in case of production?

My city has population of 2 and I'm working to pump out a worker.
Let's say, only 7turns needed to finish the production of the worker. My border expands, I moved the working tile from flood plains(+3:food:+1:commerce:) to a forested plains hill(+3:hammers:). My production accelerated from 7turns to 5. How and why?

I thought they add up when I build a settler/worker. How come +3:food: has lesser value than +3:hammers:?:confused:

I came to a conclusion that a forested plains(+1:food:+2:hammers:) is much better than a grassland hill(+2:food:+1:hammers:) when building workers.
 
May I open up another noob question?:)

How do food and hammer differ in case of production?

My city has population of 2 and I'm working to pump out a worker.
Let's say, only 7turns needed to finish the production of the worker. My border expands, I moved the working tile from flood plains(+3:food:+1:commerce:) to a forested plains hill(+3:hammers:). My production accelerated from 7turns to 5. How and why?

I thought they add up when I build a settler/worker. How come +3:food: has lesser value than +3:hammers:?:confused:

I came to a conclusion that a forested plains(+1:food:+2:hammers:) is much better than a grassland hill(+2:food:+1:hammers:) when building workers.

Only if your leader is Expansive. Otherwise 3F1C > 3H when building a worker.
 
Top Bottom