Add: Option for population-linear town cargo generation

Introduce a new default algorithm for town cargo generation (passengers and mail), and a game setting to choose between the new and original algorithm.

The original town cargo generation algorithm has the property of the generated amount relating to the square of each building's population, meaning large towns easily produce more cargo than can realistically be transported. The problem is excessive cargo is amplified if playing with cargodist.

The new algorithm introduced instead has a linear relation to the population. The result is that smaller towns will produce slightly more cargo, while the largest towns will produce about a fourth of what they would with the original algorithm.

Existing savegames will use the original algorithm, while new games will default to the new algorithm.
This commit is contained in:
Niels Martin Hansen
2018-11-07 19:06:39 +01:00
parent 7f00a420cb
commit 52572cafa6
8 changed files with 80 additions and 11 deletions

View File

@@ -618,6 +618,21 @@ def = true
str = STR_CONFIG_SETTING_ALLOW_TOWN_LEVEL_CROSSINGS
strhelp = STR_CONFIG_SETTING_ALLOW_TOWN_LEVEL_CROSSINGS_HELPTEXT
[SDT_VAR]
base = GameSettings
var = economy.town_cargogen_mode
type = SLE_UINT8
from = SLV_TOWN_CARGOGEN
guiflags = SGF_MULTISTRING
def = TCGM_BITCOUNT
min = TCGM_BEGIN
max = TCGM_END - 1
interval = 1
str = STR_CONFIG_SETTING_TOWN_CARGOGENMODE
strhelp = STR_CONFIG_SETTING_TOWN_CARGOGENMODE_HELPTEXT
strval = STR_CONFIG_SETTING_TOWN_CARGOGENMODE_ORIGINAL
cat = SC_ADVANCED
; link graph
[SDT_VAR]