diff options
author | Peter Nelson <peter1138@openttd.org> | 2019-02-13 22:48:46 +0000 |
---|---|---|
committer | Niels Martin Hansen <nielsm@indvikleren.dk> | 2019-03-03 09:15:39 +0100 |
commit | 5d3ccae6c5bd3f328ad0d8e68ae7c69451b9ca48 (patch) | |
tree | d2b9f27857cd3fe841607b9ad444e04d89c205e0 /src/script/api/script_group.cpp | |
parent | e0c2ad1b6591859a1a30216e396cdab6e6bb028f (diff) | |
download | openttd-5d3ccae6c5bd3f328ad0d8e68ae7c69451b9ca48.tar.xz |
Add: AI function to get current usage of a group.
Diffstat (limited to 'src/script/api/script_group.cpp')
-rw-r--r-- | src/script/api/script_group.cpp | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/src/script/api/script_group.cpp b/src/script/api/script_group.cpp index 023f5534c..0e89c3c60 100644 --- a/src/script/api/script_group.cpp +++ b/src/script/api/script_group.cpp @@ -173,3 +173,24 @@ return ::Group::Get(group_id)->statistics.profit_last_year; } + +/* static */ uint32 ScriptGroup::GetCurrentUsage(GroupID group_id) +{ + if (!IsValidGroup(group_id)) return -1; + + uint32 occupancy = 0; + uint32 vehicle_count = 0; + + const Vehicle *v; + FOR_ALL_VEHICLES(v) { + if (v->group_id != group_id) continue; + if (!v->IsPrimaryVehicle()) continue; + + occupancy += v->trip_occupancy; + vehicle_count++; + } + + if (vehicle_count == 0) return -1; + + return occupancy / vehicle_count; +} |