summaryrefslogtreecommitdiff
path: root/src/station_cmd.cpp
diff options
context:
space:
mode:
authortruelight <truelight@openttd.org>2007-03-08 20:50:27 +0000
committertruelight <truelight@openttd.org>2007-03-08 20:50:27 +0000
commitca375d573acf9ac860edf23c831ae78bd0872dec (patch)
tree3303d93ea0c78b4ea82fdba0810ff0ba310e5d79 /src/station_cmd.cpp
parent900fcaa2fac97e26127f799c4e39ef29ab461c17 (diff)
downloadopenttd-ca375d573acf9ac860edf23c831ae78bd0872dec.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.cpp8
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;
}