diff options
author | truelight <truelight@openttd.org> | 2007-03-08 20:50:27 +0000 |
---|---|---|
committer | truelight <truelight@openttd.org> | 2007-03-08 20:50:27 +0000 |
commit | 8877d1181515b922e559515ec0bb53d92d43b931 (patch) | |
tree | 3303d93ea0c78b4ea82fdba0810ff0ba310e5d79 /src/station_cmd.cpp | |
parent | 6040e559ce67599626951f5e16f3754cfa393319 (diff) | |
download | openttd-8877d1181515b922e559515ec0bb53d92d43b931.tar.xz |
(svn r9070) -Fix [FS#404]: if bribe failed and you didn't pick up cargo yet, you wouldn't ever be able to do so for a given station
Diffstat (limited to 'src/station_cmd.cpp')
-rw-r--r-- | src/station_cmd.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/station_cmd.cpp b/src/station_cmd.cpp index 77cd046f7..35e362b11 100644 --- a/src/station_cmd.cpp +++ b/src/station_cmd.cpp @@ -2210,6 +2210,12 @@ static void UpdateStationRating(Station *st) GoodsEntry *ge = st->goods; do { + /* Slowly increase the rating back to his original level in the case we + * didn't deliver cargo yet to this station. This happens when a bribe + * failed while you didn't moved that cargo yet to a station. */ + if (ge->enroute_from == INVALID_STATION && ge->rating < INITIAL_STATION_RATING) + ge->rating++; + /* Only change the rating if we are moving this cargo */ if (ge->enroute_from != INVALID_STATION) { byte_inc_sat(&ge->enroute_time); byte_inc_sat(&ge->days_since_pickup); @@ -2546,7 +2552,7 @@ void BuildOilRig(TileIndex tile) st->goods[j].days_since_pickup = 0; st->goods[j].enroute_from = INVALID_STATION; st->goods[j].enroute_from_xy = INVALID_TILE; - st->goods[j].rating = 175; + st->goods[j].rating = INITIAL_STATION_RATING; st->goods[j].last_speed = 0; st->goods[j].last_age = 255; } |