diff options
author | PeterN <peter@fuzzle.org> | 2019-03-08 18:30:44 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-03-08 18:30:44 +0000 |
commit | dd20ccee88a55ed08abb2a47b88cafc7c92a5e81 (patch) | |
tree | 98b6230bacf879cab4abd26d4049e4abc237a310 /src/station.cpp | |
parent | 41563a871b175f3469254d57dc019fda5210f8a9 (diff) | |
download | openttd-dd20ccee88a55ed08abb2a47b88cafc7c92a5e81.tar.xz |
Feature: Industries with neutral stations (e.g. Oil Rig) only supply/accept cargo to/from their neutral station. (#7234)
This change is a controlled by a game setting, located under Environment ->
Industries which allows toggling the behaviour. It defaults to enabled.
"Company stations can serve industries with attached neutral stations"
When enabled, industries with attached neutral station (such as Oil Rigs) may
also be served by company-owned stations built nearby. This is the traditional
behaviour.
When disabled, these industries may only be served by their neutral station.
Any nearby company-owned stations won't be able to serve them, nor will the
neutral station serve anything else other than the industry.
Diffstat (limited to 'src/station.cpp')
-rw-r--r-- | src/station.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/station.cpp b/src/station.cpp index f86286f3d..dc50b4f10 100644 --- a/src/station.cpp +++ b/src/station.cpp @@ -356,6 +356,12 @@ void Station::RecomputeIndustriesNear() this->industries_near.Clear(); if (this->rect.IsEmpty()) return; + if (!_settings_game.station.serve_neutral_industries && this->industry != NULL) { + /* Station is associated with an industry, so we only need to deliver to that industry. */ + *this->industries_near.Append() = this->industry; + return; + } + RectAndIndustryVector riv = { this->GetCatchmentRect(), &this->industries_near |