Civilicious
Warlord
This change will cause borders to stop after the coast tiles.
Why you may ask? What is the point?
I like this change in a specific circumstance. For example, lets say you are making a mod of the Roman world. It is ancient times and so there is no need for expanded borders to take in ocean resources. Also I personally can't stand the minimap which looks blobby as borders expand out away from the land. Also, in ancient times, naval power was not as important or possible and its not realistic that a country would dominate the waves completely as is represented by civ4 borders.
Furthermore, I like to play on bigger maps which look more realistic. The problem you run into with big maps is right off the bat you need to devote a large amount of resources to running it, then the map typically has to be filled with a large number of cities which causes more performance issues and in addition detracts from enjoyment as it causes a lot more time spent on management.
I use this change in conjunction with Roger Bacons 3 city radius. Now I can give a city a decent amount of culture which causes it to take up more land space without having ugly and unrealistic borders way out over the water. Note the screenshot of Italy, it is a good size map (150X60) yet only 3 cities take up the peninsula and the minimap still looks good.
There are some drawbacks to using this, specifically issues with culture having to be unrealistic at the start to fill the map, but they can be worked around if you have a specific circumstance where you want to make this modification, the line of code to change is in CvCity.cpp and listed below. I apologize for not giving a line number but for some reason notepad dosent let me jump to lines so I don't know where it is. It is in the very same area of Roger Bacon's Border Over Ocean mod however, I think line 9334 or so. Obviously you can't use this with his Border Over Ocean mod.
the pLoopPlot->isAdjacentToLand line is what I inserted, as well you have to set up the brackets properly.
Thanks to Roger Bacon for giving me some ideas and encouragment via pm and to Kael's SDK installation thread.
Why you may ask? What is the point?
I like this change in a specific circumstance. For example, lets say you are making a mod of the Roman world. It is ancient times and so there is no need for expanded borders to take in ocean resources. Also I personally can't stand the minimap which looks blobby as borders expand out away from the land. Also, in ancient times, naval power was not as important or possible and its not realistic that a country would dominate the waves completely as is represented by civ4 borders.
Furthermore, I like to play on bigger maps which look more realistic. The problem you run into with big maps is right off the bat you need to devote a large amount of resources to running it, then the map typically has to be filled with a large number of cities which causes more performance issues and in addition detracts from enjoyment as it causes a lot more time spent on management.
I use this change in conjunction with Roger Bacons 3 city radius. Now I can give a city a decent amount of culture which causes it to take up more land space without having ugly and unrealistic borders way out over the water. Note the screenshot of Italy, it is a good size map (150X60) yet only 3 cities take up the peninsula and the minimap still looks good.
There are some drawbacks to using this, specifically issues with culture having to be unrealistic at the start to fill the map, but they can be worked around if you have a specific circumstance where you want to make this modification, the line of code to change is in CvCity.cpp and listed below. I apologize for not giving a line number but for some reason notepad dosent let me jump to lines so I don't know where it is. It is in the very same area of Roger Bacon's Border Over Ocean mod however, I think line 9334 or so. Obviously you can't use this with his Border Over Ocean mod.
the pLoopPlot->isAdjacentToLand line is what I inserted, as well you have to set up the brackets properly.
HTML:
getY_INLINE(), iDX, iDY);
if (pLoopPlot != NULL)
{
if (pLoopPlot->isPotentialCityWorkForArea(area())) {
if (pLoopPlot->isAdjacentToLand())
{
pLoopPlot->changeCulture(getOwnerINLINE(), (((getCultureLevel() - iCultureRange) * 20) + getCommerceRate(COMMERCE_CULTURE) + 1), (bUpdate || !(pLoopPlot->isOwned())));
}
}
}
}
Thanks to Roger Bacon for giving me some ideas and encouragment via pm and to Kael's SDK installation thread.