Suggestions and Requests

Nope, you freed your slaves.
 
Idea: Resources that supply a limited number of cities are able to supply one additional city whenever their improvement gets its yield upgraded by a technology.

For example, wheat currently supplies one city. When you research Chemistry, the farm gets +1 :food:, so now each wheat would supply two cities. And when you research genetics, the farm gets another +1 :food:, and the wheat would supply three cities.
 
Minor map changes:
1 - Adding the Shannon River in Ireland
2 - Move the tile from the city of Plymouth 1N, to have a greater distance from Brest and thus allow the settle of the two cities (IMO the map of the British islands is visually better this way).
3 - Change the banana resource to Citrus in são paulo and move it 1E / 1N (the region is one of the largest exporters of orange juice in the world).
4 - Add resource Stone 2N1E of Rio de Janeiro, to represent the quarries of Espirito Santo state, (Brazil is one of the largest exporters of Dimensional stone in world https://en.wikipedia.org/wiki/Dimension_stone#cite_note-dsan- 14 https://pubs.usgs.gov/periodicals/mcs2020/mcs2020-stone-dimension.pdf)
5 - For reasons of game balance, shouldn't the area of Gran Colombia civ have at least one Horse / Iron resource, to allow the construction of military units?
6 - there is a river in France whose mouth is flowing near the Alps, I think this is a mistake.
 

Attachments

  • Civ4ScreenShot0000.JPG
    Civ4ScreenShot0000.JPG
    161.1 KB · Views: 216
  • Civ4ScreenShot0001.JPG
    Civ4ScreenShot0001.JPG
    210.5 KB · Views: 185
  • Civ4ScreenShot0002.JPG
    Civ4ScreenShot0002.JPG
    242.6 KB · Views: 213
  • Civ4ScreenShot0003.JPG
    Civ4ScreenShot0003.JPG
    220.3 KB · Views: 184
Minor map changes:
5 - For reasons of game balance, shouldn't the area of Gran Colombia civ have at least one Horse / Iron resource, to allow the construction of military units?

There's a historical basis for that. The llanos region along the interior Colombia-Venezuela frontier area are a savanna and major ranching area, and thus horses would be very much justified in here. One of the most famous novels of Latin American literature, Doña Bárbara, is set in this context.
 
5 - For reasons of game balance, shouldn't the area of Gran Colombia civ have at least one Horse / Iron resource, to allow the construction of military units?

The map only shows the resources present at the start of the scenario. Horses would spawn later and aren't placed on the map yet. But I'm sure they will spawn at some point.

There's a historical basis for that. The llanos region along the interior Colombia-Venezuela frontier area are a savanna and major ranching area, and thus horses would be very much justified in here. One of the most famous novels of Latin American literature, Doña Bárbara, is set in this context.

Even more, the Llanero is one of their UU. It would be bad if you can't build your UU because you don't have the required resources in you own territory.
 
The map only shows the resources present at the start of the scenario. Horses would spawn later and aren't placed on the map yet. But I'm sure they will spawn at some point.

it's true, i forgot the spawn of future resourses
 
Can someone give me a file of Frederick_The_Great leaderhead? I want to remaking the leaderhead, but couldn't due to i unable to open a CIV IV Aessets fpk.file. (I'm using Windows 10 btw so don't ask about use pakbuild or anything)
I'm on Windows 10 and can use Pakbuild just fine
 
What does any of that have to do with this mod?
 
5 - For reasons of game balance, shouldn't the area of Gran Colombia civ have at least one Horse / Iron resource, to allow the construction of military units?
I have no clue if the Gran Colombia area needs iron, but it could make sense to add one in Venezuela: https://www.britannica.com/place/Cerro-Bolivar

Screenshot showing its placement on the map:
Spoiler Venezuela iron :
iron.jpg
 
Looking at the code to calculate the religious population of a city, noticed something strange. If you have a state religion, all other religions combined will sum up to 50% of the total population. If your state religion is present, it will fill up those remaining 50%, otherwise those 50% is unreligious.

But there seems to be an exception to this rule. If there is only 1 non-state religion present, all of the population is condidered to follow that religion. I would say that in the (getReligionCount() == 1) situation, it should return getPopulation() when that religion is your state religion and only half of it when that religion is not your state religion.

Code:
int CvCity::getReligionPopulation(ReligionTypes eReligion) const
{
    if (!isHasReligion(eReligion)) return 0;

    if (getReligionCount() == 1) return getPopulation();

    ReligionTypes eStateReligion = GET_PLAYER(getOwner()).getStateReligion();

    if (eStateReligion == eReligion) return getPopulation() / 2 + getPopulation() / (2 * getReligionCount());

    if (eStateReligion == NO_RELIGION) return getPopulation() / getReligionCount();

    return getPopulation() / (2 * getReligionCount());
}
Yeah, so I thought this through and I don't think I properly considered all cases when implementing this. No idea what the motivation was for that special case of one religion being present. And making 50% unreligious if the state religion is not present is also not intentional.

Here's the replacement implementation with commentary to make it a bit more clear what the intended rules are:
Code:
int CvCity::getReligionPopulation(ReligionTypes eReligion) const
{
   if (!isHasReligion(eReligion)) return 0;

   ReligionTypes eStateReligion = GET_PLAYER(getOwner()).getStateReligion();

   // if there is no state religion (pagan or secular), we assign an equal part to either pagan or nonreligious
   if (eStateReligion == eReligion)
   {
       return getPopulation() / (getReligionCount() + 1);
   }
   else
   {
       // if the state religion is present in the city, assign at least 50% to the state religion and split the rest evenly between all religions
       if (isHasReligion(eStateReligion))
       {
           return (eStateReligion == eReligion ? getPopulation() / 2 : 0) + getPopulation() / (2 * getReligionCount());
       }
       // otherwise we simply split evenly between all religions
       else
       {
           return getPopulation() / getReligionCount();
       }
   }
}
The first case is a new addition but I think it makes sense to represent the pagan/nonreligious population in this.
 
Yeah, so I thought this through and I don't think I properly considered all cases when implementing this. No idea what the motivation was for that special case of one religion being present. And making 50% unreligious if the state religion is not present is also not intentional.

Here's the replacement implementation with commentary to make it a bit more clear what the intended rules are:
Code:
int CvCity::getReligionPopulation(ReligionTypes eReligion) const
{
   if (!isHasReligion(eReligion)) return 0;

   ReligionTypes eStateReligion = GET_PLAYER(getOwner()).getStateReligion();

   // if there is no state religion (pagan or secular), we assign an equal part to either pagan or nonreligious
   if (eStateReligion == eReligion)    THIS LINE
   {
       return getPopulation() / (getReligionCount() + 1);
   }
   else
   {
       // if the state religion is present in the city, assign at least 50% to the state religion and split the rest evenly between all religions
       if (isHasReligion(eStateReligion))
       {
           return (eStateReligion == eReligion ? getPopulation() / 2 : 0) + getPopulation() / (2 * getReligionCount());
       }
       // otherwise we simply split evenly between all religions
       else
       {
           return getPopulation() / getReligionCount();
       }
   }
}
The first case is a new addition but I think it makes sense to represent the pagan/nonreligious population in this.

Shouldn't
Code:
if (eStateReligion == eReligion)
be
Code:
if (eStateReligion == NO_RELIGION)
if there is no state religion?
 
Yep. Mixed the conditions. Sometimes I am surprised this mod works at all.
 
Back
Top Bottom