From ac4f823b547f77781dc6738882a3da601a17dc9b Mon Sep 17 00:00:00 2001 From: ludde Date: Fri, 15 Jul 2005 19:51:54 +0000 Subject: [PATCH] (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. --- industry_cmd.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/industry_cmd.c b/industry_cmd.c index e2860a4779..410d35cf01 100644 --- a/industry_cmd.c +++ b/industry_cmd.c @@ -1647,8 +1647,14 @@ static const byte _numof_industry_table[4][12] = { static void PlaceInitialIndustry(byte type, int amount) { - int num = - ScaleByMapSize(_numof_industry_table[_opt.diff.number_industries][amount]); + int num = _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) {