summaryrefslogtreecommitdiff
path: root/src/script/api/script_station.cpp
diff options
context:
space:
mode:
authorrubidium <rubidium@openttd.org>2013-04-06 12:36:33 +0000
committerrubidium <rubidium@openttd.org>2013-04-06 12:36:33 +0000
commit7a3d549f2f2b372fd97fce6795a49b7c49823548 (patch)
tree4201a25b4a42fa803bda5b12a94d8b64dce6ce77 /src/script/api/script_station.cpp
parentb2292122b660372f253a8e0813e24366cbd049dc (diff)
downloadopenttd-7a3d549f2f2b372fd97fce6795a49b7c49823548.tar.xz
(svn r25150) -Fix [FS#5514]: [Script] The was no way to differentiate between a cargo-station combination with or without rating, so introduce [AI|GS]Station::HasRating and let GetRating return -1 when there is no rating
Diffstat (limited to 'src/script/api/script_station.cpp')
-rw-r--r--src/script/api/script_station.cpp11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/script/api/script_station.cpp b/src/script/api/script_station.cpp
index 423c5545a..a7b8459fc 100644
--- a/src/script/api/script_station.cpp
+++ b/src/script/api/script_station.cpp
@@ -44,10 +44,17 @@
return ::Station::Get(station_id)->goods[cargo_id].cargo.Count();
}
+/* static */ bool ScriptStation::HasCargoRating(StationID station_id, CargoID cargo_id)
+{
+ if (!IsValidStation(station_id)) return false;
+ if (!ScriptCargo::IsValidCargo(cargo_id)) return false;
+
+ return ::Station::Get(station_id)->goods[cargo_id].HasRating();
+}
+
/* static */ int32 ScriptStation::GetCargoRating(StationID station_id, CargoID cargo_id)
{
- if (!IsValidStation(station_id)) return -1;
- if (!ScriptCargo::IsValidCargo(cargo_id)) return -1;
+ if (!ScriptStation::HasCargoRating(station_id, cargo_id)) return -1;
return ::ToPercent8(::Station::Get(station_id)->goods[cargo_id].rating);
}