mirror of https://github.com/OpenTTD/OpenTTD.git
(svn r25882) -Change [FS#5766]: Don't offer subsidies for auto-distributed cargo.
This commit is contained in:
parent
79f4cd2b7a
commit
8fff781ca0
|
@ -348,7 +348,10 @@ bool FindSubsidyTownCargoRoute()
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Avoid using invalid NewGRF cargoes. */
|
/* Avoid using invalid NewGRF cargoes. */
|
||||||
if (!CargoSpec::Get(cid)->IsValid()) return false;
|
if (!CargoSpec::Get(cid)->IsValid() ||
|
||||||
|
_settings_game.linkgraph.GetDistributionType(cid) != DT_MANUAL) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
/* Quit if the percentage transported is large enough. */
|
/* Quit if the percentage transported is large enough. */
|
||||||
if (src_town->GetPercentTransported(cid) > SUBSIDY_MAX_PCT_TRANSPORTED) return false;
|
if (src_town->GetPercentTransported(cid) > SUBSIDY_MAX_PCT_TRANSPORTED) return false;
|
||||||
|
@ -388,8 +391,13 @@ bool FindSubsidyIndustryCargoRoute()
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Quit if no production in this industry
|
/* Quit if no production in this industry
|
||||||
* or if the pct transported is already large enough */
|
* or if the pct transported is already large enough
|
||||||
if (total == 0 || trans > SUBSIDY_MAX_PCT_TRANSPORTED || cid == CT_INVALID) return false;
|
* or if the cargo is automatically distributed */
|
||||||
|
if (total == 0 || trans > SUBSIDY_MAX_PCT_TRANSPORTED ||
|
||||||
|
cid == CT_INVALID ||
|
||||||
|
_settings_game.linkgraph.GetDistributionType(cid) != DT_MANUAL) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
SourceID src = src_ind->index;
|
SourceID src = src_ind->index;
|
||||||
|
|
||||||
|
@ -480,7 +488,16 @@ void SubsidyMonthlyLoop()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (modified) RebuildSubsidisedSourceAndDestinationCache();
|
if (modified) {
|
||||||
|
RebuildSubsidisedSourceAndDestinationCache();
|
||||||
|
} else if (_settings_game.linkgraph.distribution_pax != DT_MANUAL &&
|
||||||
|
_settings_game.linkgraph.distribution_mail != DT_MANUAL &&
|
||||||
|
_settings_game.linkgraph.distribution_armoured != DT_MANUAL &&
|
||||||
|
_settings_game.linkgraph.distribution_default != DT_MANUAL) {
|
||||||
|
/* Return early if there are no manually distributed cargoes and if we
|
||||||
|
* don't need to invalidate the subsidies window. */
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
bool passenger_subsidy = false;
|
bool passenger_subsidy = false;
|
||||||
bool town_subsidy = false;
|
bool town_subsidy = false;
|
||||||
|
@ -488,7 +505,7 @@ void SubsidyMonthlyLoop()
|
||||||
|
|
||||||
int random_chance = RandomRange(16);
|
int random_chance = RandomRange(16);
|
||||||
|
|
||||||
if (random_chance < 2) {
|
if (random_chance < 2 && _settings_game.linkgraph.distribution_pax == DT_MANUAL) {
|
||||||
/* There is a 1/8 chance each month of generating a passenger subsidy. */
|
/* There is a 1/8 chance each month of generating a passenger subsidy. */
|
||||||
int n = 1000;
|
int n = 1000;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue