Dawn of Civilization General Discussion

(I only play Heir lol)

Welcome to the club; I almost always play on Heir, and still lose most of the time. But it's still a very fun game, either historical roleplaying or playing ethically (no slavery etc.).

Thank you, Soren, Rhye, and Leoreth, for making such a varied game.
 
Small question: is the RFC science penalty for large empires still in place? Or is it removed / modified with a different lower limit / weakened / replaced by a different kind of penalty?
 
There is no empire size penalty in the mod anymore (neither for number of cities nor for population). Most of the balancing there has been replaced by a somewhat stronger rubberbanding effect that increases costs for more advanced civs (depending on how advanced they are) and reduces costs for less advanced civs (depending on how behind they are).

I didn't like that players planned their expansion around optimizing tech modifiers and it turned out that the game works without that sort of thing.
 
Cool, I was indeed one of these players who optimised empire size according to this penalty, for example by liberating unprofitable colonies. This limit being removed indeed feels more natural and less restrictive to me, thanks for that. I'll expand more aggressively from now on. :)
 
Willingness to trade techs only depends on how far ahead you are and how widely known the tech already is. The thresholds are different depending on AI personality of course.
 
The summary in the changelog for religions disappearing from a city cites "too many" religions as a possible cause for a religion disappearing. How many, exactly, constitutes "too many"?
 
The maximum number of religions in a city is determined by its population. It's at least 2, but otherwise (1 + population / 5). That is, a size 10 city can have three religions, a size 15 city can have four religions and so on.

Exceeding the maximum number only means that there is a chance a religion can disappear, this doesn't need to happen automatically.
 
The maximum number of religions in a city is determined by its population. It's at least 2, but otherwise (1 + population / 5). That is, a size 10 city can have three religions, a size 15 city can have four religions and so on.

Exceeding the maximum number only means that there is a chance a religion can disappear, this doesn't need to happen automatically.

Okay, got it.

Is which order the religions disappear random, or is there some kind of priority (such as minority religions for the region disappearing before historical, or non-state religions before state religion)?
 
Yeah, if a religion disappears it will always be the one with the lowest spread factor. Edit: I forgot to mention that religions that cannot spread to the city at all can disappear even without exceeding the limit. Situations like that can occur after a city changes owner or the owner changes their state religion.

Here's the complete code if you're interested:
Code:
ReligionTypes CvCity::disappearingReligion(ReligionTypes eNewReligion) const
{
	int iI;
	ReligionTypes eReligion;
	std::vector<ReligionTypes> religions;

	for (iI = 0; iI < NUM_RELIGIONS; iI++)
	{
		eReligion = (ReligionTypes)iI;
		if (eReligion != eNewReligion)
		{
			if (isHasReligion(eReligion) && GET_PLAYER(getOwnerINLINE()).getSpreadType(plot(), eReligion) == RELIGION_SPREAD_NONE)
			{
				religions.push_back(eReligion);
			}
		}
	}

	if (religions.size() > 0)
	{
		return religions[GC.getGame().getSorenRandNum(religions.size(), "Disappearing religion")];
	}

	int iMaxReligions = std::max(2, 1 + getPopulation() / 5);

	ReligionSpreadTypes eCurrentSpread;
	ReligionSpreadTypes eNewReligionSpread = GET_PLAYER(getOwnerINLINE()).getSpreadType(plot(), eReligion);
	ReligionSpreadTypes eWorstSpread = RELIGION_SPREAD_FAST;
	religions.clear();

	if (getReligionCount() > iMaxReligions)
	{
		for (iI = 0; iI < NUM_RELIGIONS; iI++)
		{
			eReligion = (ReligionTypes)iI;
			if (eReligion != eNewReligion && isHasReligion(eReligion))
			{
				eCurrentSpread = GET_PLAYER(getOwnerINLINE()).getSpreadType(plot(), eReligion);
				if (eCurrentSpread <= eNewReligionSpread)
				{
					if (eCurrentSpread < eWorstSpread)
					{
						eWorstSpread = eCurrentSpread;
						religions.clear();
						religions.push_back(eReligion);
					} 
					else if (eCurrentSpread == eWorstSpread)
					{
						religions.push_back(eReligion);
					}
				}
			}
		}

		if (religions.size() > 0)
		{
			return religions[GC.getGame().getSorenRandNum(religions.size(), "Disappearing religion")];
		}
	}

	return NO_RELIGION;
}

Got it. Thanks.
 
Zinedine is making a modmod that is taking she as an alternative UHV-mod.

When I proposed as an alternative victorycondition for the dutch The Glorious Revolution (dutch conquest of England in 1688) he told me that to do the Anlo-Dutch (sea)wars justice some additional pythoncoding should be done. I kind of recall Leoreth making an attempt to clean up the python code (I could be mistaking though) and was wondering on the status of that herculean labour.
 
The victory Python code is very clean already actually (I rewrote everything there over a year ago), I think zinedine even remarked on how easy it is to change things there now which I was really happy to hear.

Copying existing conditions should be trivial now if you know rudimentary Python. Of course new effects still have to be coded from ground up but that cannot be avoided even with the best framework.
 
The code looks fine, can other people share their experience?
 
Does anyone know art or mods with art for workshops in different eras? I know that in VD they look like factories in the later eras but it would be cool to also have intermediary graphics that suit the medieval or renaissance eras.
 
Does the AI get stability bonuses on higher difficulty levels? Played a lower-difficulty game to test something out and was shocked at how easily the AIs are getting upended.
 
Does the AI get stability bonuses on higher difficulty levels? Played a lower-difficulty game to test something out and was shocked at how easily the AIs are getting upended.
The stability calculation is the same regardless of difficulty level.
 
I don't think ... maybe the actual reason is some inherent inconsistency in the affected file (600 AD scenario map). Cleaning out whitespaces may help. I haven't tried anything there yet.
 
Yeah, I ran into the same confusion. The files are the same, just differently encoded, which is why Winmerge cannot compare them unless you tell it to enforce one type of encoding.
 
1.14 is excellent Leoreth. Thanks.
 
Back
Top Bottom