(svn r2582) Fix: Prevent generating unrealistically many Oil refineries on large maps. They are always placed next to the borderline, so the perimeter is used instead of area to scale the number of those industries.

This commit is contained in:
ludde
2005-07-15 19:51:54 +00:00
parent bb82f5e5d4
commit ac4f823b54

View File

@@ -1647,8 +1647,14 @@ static const byte _numof_industry_table[4][12] = {
static void PlaceInitialIndustry(byte type, int amount) static void PlaceInitialIndustry(byte type, int amount)
{ {
int num = int num = _numof_industry_table[_opt.diff.number_industries][amount];
ScaleByMapSize(_numof_industry_table[_opt.diff.number_industries][amount]);
if (type == IT_OIL_REFINERY || type == IT_OIL_RIG) {
// These are always placed next to the coastline, so we scale by the perimeter instead.
num = ScaleByMapSize1D(num);
} else {
num = ScaleByMapSize(num);
}
if (_opt.diff.number_industries != 0) if (_opt.diff.number_industries != 0)
{ {